Method, system, and program for managing data organization
First Claim
1. A method, comprising:
- transferring from a first non-volatile storage unit of a plurality of non-volatile storage units, to a logic engine of a storage processor having a cache memory, a first unit of data stored in a stripe across said plurality of non-volatile storage units, in a first transfer operation which bypasses said cache memory;
transferring from a second non-volatile storage unit of said plurality of non-volatile storage units, to said logic engine, a second unit of data stored in said stripe, in a second transfer operation which bypasses said cache memory; and
constructing in said logic engine a third unit of data using said first unit of data transferred to said logic engine in said first transfer operation and using said second unit of data transferred to said logic engine in said second transfer operation.
1 Assignment
0 Petitions
Accused Products
Abstract
Provided are a method, system, and program for constructing data including reconstructing data organized in a data organization type, such as a Redundant Array of Independent Disks (RAID) organization, for example, which permits data reconstruction In one embodiment, blocks of data are transferred from a stripe of data stored across storage units, such as disk drives in a RAID array, to a logic engine of a storage processor, bypassing the cache memory of the storage processor. A store queue performs a logic function, such as Exclusive-OR, on each block of data as it is transferred from the disk drives, to reconstruct a block of data from the stripe. The constructed block of data may be subsequently transferred to a disk drive of the RAID array to replace a lost block of data in the stripe of data across the RAID array or to replace an old block of parity data.
-
Citations
50 Claims
-
1. A method, comprising:
-
transferring from a first non-volatile storage unit of a plurality of non-volatile storage units, to a logic engine of a storage processor having a cache memory, a first unit of data stored in a stripe across said plurality of non-volatile storage units, in a first transfer operation which bypasses said cache memory;
transferring from a second non-volatile storage unit of said plurality of non-volatile storage units, to said logic engine, a second unit of data stored in said stripe, in a second transfer operation which bypasses said cache memory; and
constructing in said logic engine a third unit of data using said first unit of data transferred to said logic engine in said first transfer operation and using said second unit of data transferred to said logic engine in said second transfer operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. An article comprising a storage medium, the storage medium comprising machine readable instructions stored thereon to:
-
transfer from a first non-volatile storage unit of a plurality of non-volatile storage units, to a logic engine of a storage processor having a cache memory, a first unit of data stored in a stripe across said plurality of non-volatile storage units, in a first transfer operation which bypasses said cache memory;
transfer from a second non-volatile storage unit of said plurality of non-volatile storage units, to said logic engine, a second unit of data stored in said stripe, in a second transfer operation which bypasses said cache memory; and
construct in said logic engine a third unit of data using said first unit of data transferred to said logic engine in said first transfer operation and using said second unit of data transferred to said logic engine in said second transfer operation. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A system, comprising:
-
at least one memory which includes an operating system and an application;
a processor coupled to the memory;
data storage having a plurality of non-volatile storage units;
a data storage processor adapted to manage Input/Output (I/O) access to the data storage and having a cache memory and a logic engine; and
a device driver executable by the processor in the memory, wherein at least one of the application, operating system, device driver and the storage processor is adapted to;
transfer from a first non-volatile storage unit to said logic engine of said storage processor, a first unit of data stored in a stripe across said plurality of non-volatile storage units, in a first transfer operation which bypasses said cache memory;
transfer from a second non-volatile storage unit of said plurality of non-volatile storage units, to said logic engine, a second unit of data stored in said stripe, in a second transfer operation which bypasses said cache memory; and
construct in said logic engine a third unit of data using said first unit of data transferred to said logic engine in said first transfer operation and using said second unit of data transferred to said logic engine in said second transfer operation. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
-
-
44. A device for use with a data storage having a plurality of non-volatile storage units, comprising:
-
a data storage processor adapted to manage Input/Output (I/O) access to the data storage and having a cache memory and a logic engine, wherein the storage processor is further adapted to;
transfer from a first non-volatile storage unit to said logic engine of said storage processor, a first unit of data stored in a stripe across said plurality of non-volatile storage units, in a first transfer operation which bypasses said cache memory;
transfer from a second non-volatile storage unit of said plurality of non-volatile storage units, to said logic engine, a second unit of data stored in said stripe, in a second transfer operation which bypasses said cache memory; and
construct in said logic engine a third unit of data using said first unit of data transferred to said logic engine in said first transfer operation and using said second unit of data transferred to said logic engine in said second transfer operation. - View Dependent Claims (45, 46, 47, 48, 49, 50)
-
Specification