System and method for reading mirrored data
First Claim
1. A system comprising:
- a node including a processor, the node configured to receive a read request for data; and
a read generator coupled to the node, whereinthe read generator is configured to apportion the read request to a first read operation for a first portion of the data stored on a first data storage device and a second read operation for a second portion of the data stored on a second data storage device,each of the first and second data storage devices include substantially identical copies of the data, andthe first portion of the data and second portion of the data partially overlap one another by at least one block.
9 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is a method and apparatus for reading mirrored data. In one embodiment, a node receives a read request for data, identical copies of which are maintained on a primary storage device and any number of corresponding mirrors. A read generator coupled to the node generates a number of read operations for smaller portions of the data. Preferably, the read generator then transmits the read operations in parallel to at least two storage devices on which identical copies of the data are maintained (e.g., a primary storage device and a corresponding mirror, two mirrors of a primary storage device, etc.). The read operations may then be processed in parallel by the storage devices to which the read operations were transmitted.
-
Citations
26 Claims
-
1. A system comprising:
-
a node including a processor, the node configured to receive a read request for data; and a read generator coupled to the node, wherein the read generator is configured to apportion the read request to a first read operation for a first portion of the data stored on a first data storage device and a second read operation for a second portion of the data stored on a second data storage device, each of the first and second data storage devices include substantially identical copies of the data, and the first portion of the data and second portion of the data partially overlap one another by at least one block. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system comprising:
-
means for determining a first size for a first portion of data and a second size for a second portion of the data in response to receiving a read request for the data, wherein the data is stored on a first data storage device and a substantially identical copy of the data is stored on a second data storage device; and means for creating a first read operation for the first portion of the data and a second read operation for the second portion of the data, wherein the first portion of the data and second portion of the data partially overlap one another by at least one block. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A method comprising:
-
receiving a read request for data; and apportioning the read request to a first and a second data storage device, wherein the data is stored on the first data storage device, a substantially identical copy of the data is stored on the second data storage device, the apportioning comprises generating a first read operation for a first portion of the data, generating a second read operation for a second portion of the data, transmitting the first read operation to the first data storage device, and transmitting the second read operation to the second data storage device, and the first portion of the data and second portion of the data partially overlap one another by at least one block. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A method comprising:
-
receiving a read request for data; apportioning the read request to a first and a second data storage device, wherein the data is stored on the first data storage device, a substantially identical copy of the data is stored on the second data storage device, the apportioning comprises generating a first read operation for a first portion of the data, and generating a second read operation for a second portion of the data, and the first portion of the data and second portion of the data partially overlap one another by at least one block; and determining a first characteristic of the first data storage device and a second characteristic of the second data storage device. - View Dependent Claims (18, 19, 20, 21)
-
-
22. A computer program product comprising:
-
a first set of instructions, executable on a computer system, configured to apportion a read request for data to a first and a second data storage device, wherein each of the first and second data storage devices include substantially identical copies of the data, and the first set of instructions comprises a first subset of instructions, executable on the computer system, configured to generate a first and a second read operation for a first portion of the data and a second portion of the data, respectively, wherein the first portion of the data and second portion of the data partially overlap one another by at least one block, and a second subset of instructions, executable on the computer system, configured to transmit the first and second read operations to the first and second data storage devices, respectively; and computer readable media, wherein the computer program product is encoded in the computer readable media. - View Dependent Claims (23, 24, 25, 26)
-
Specification