Data storage array employing block verification information to invoke initialization procedures
First Claim
1. A data storage subsystem comprising:
- a plurality of storage devices;
a storage controller coupled to said plurality of storage devices, wherein said storage controller is configured to store data in the form of stripes where each stripe includes a plurality of data blocks stored across said plurality of storage devices, and wherein block verification information is associated with each of said plurality of data blocks;
wherein said storage controller is further configured to initialize a given stripe in response to detecting a mismatch in said block verification information associated with at least one data block of said given stripe.
2 Assignments
0 Petitions
Accused Products
Abstract
A data storage array employing block verification information to invoke initialization procedures. In one embodiment, a data storage subsystem includes a plurality of storage devices configured in an array and a storage controller coupled to the storage devices. The storage controller is configured to store data in the form of stripes where each stripe includes a plurality of data blocks stored across the plurality of storage devices. Each of the data blocks is associated with block verification information. Upon certain write operations, the storage controller is configured to initialize a given stripe in response to detecting a mismatch in the block verification information in at least one data block of the given stripe. In one particular implementation, the block verification contained in each of the data blocks includes a logical block address and/or a cyclic redundancy code.
-
Citations
39 Claims
-
1. A data storage subsystem comprising:
-
a plurality of storage devices;
a storage controller coupled to said plurality of storage devices, wherein said storage controller is configured to store data in the form of stripes where each stripe includes a plurality of data blocks stored across said plurality of storage devices, and wherein block verification information is associated with each of said plurality of data blocks;
wherein said storage controller is further configured to initialize a given stripe in response to detecting a mismatch in said block verification information associated with at least one data block of said given stripe. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31)
-
-
17. A data storage subsystem comprising:
-
a plurality of storage devices;
a storage controller coupled to said plurality of storage devices, wherein said storage controller is configured to store data in the form of stripes where each stripe includes a plurality of data blocks stored across said plurality of storage devices, and wherein each data block includes block verification information;
wherein said storage controller is further configured to initialize a given stripe in response to detecting a mismatch in said block verification information in at least two data blocks of said given stripe.
-
-
27. A computer system comprising:
-
a host; and
a data storage subsystem coupled to said host, said data storage subsystem including;
a plurality of storage devices;
a storage controller coupled to said plurality of storage devices, wherein said storage controller is configured to store data in the form of stripes where each stripe includes a plurality of data blocks stored across said plurality of storage devices, and wherein block verification information is associated with each of said plurality of data blocks;
wherein said storage controller is further configured to initialize a given stripe in response to detecting a mismatch in said block verification information associated with at least one data block of said given stripe.
-
-
32. A method of operating a data storage subsystem comprising:
-
storing data in the form of stripes within a plurality of storage devices, where each stripe includes a plurality of data blocks stored across said plurality of storage devices, and wherein block verification information is associated with each of said plurality of data blocks; and
initializing a given stripe in response to detecting a mismatch in said block verification information associated with at least one data block of said given stripe. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39)
-
Specification