IP Library Granted Patent US 6,898,668
Granted Patent B2
US 6,898,668 · App. 10/179,727 · Granted May 24, 2005

System and method for reorganizing data in a raid storage system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,898,668
App. No.
10/179,727
Granted
May 24, 2005
Kind
B2
Abstract

A method of operating a storage controller that receives data access requests containing a logical block address and a count of blocks involved in the access request. A record is generated and persistently stored indicating whether particular logical block addresses have been accessed since creation. The persistent record is subsequently accessed to enable selected operations to be skipped or aborted when they selected operations involve logical block addresses that have never been accessed.

Claims (38)

1. A method of operating a storage controller comprising:

receiving data access requests containing a logical block address and a count of blocks involved in the access request;

persistently storing a record indicating whether particular logical block addresses have been accessed since creation;

in response to detecting a condition that requires an operation that writes to a logical block address using data previously placed at that logical block address, consulting the persistently stored record as to whether the logical block address has been previously accessed; and

skipping the operation when the logical block address has been previously accessed.

2. The method of claim 1 , wherein the persistent record is stored in one or more reserved sectors of at least one disk drive in an array.

3. The method of claim 1 , wherein the persistent record is stored in non-volatile memory of the controller.

4. The method of claim 1 , wherein the operation comprises a rebuild operation.

5. The method of claim 1 , wherein the operation comprise a capacity expansion operation.

6. The method of claim 1 , wherein the operation comprises a data migration operation.

7. The method of claim 1 , wherein the act of skipping can be selectively disabled.

8. The method of claim 1 , wherein the record indicates whether any of a particular range of block addresses has been previously written.

9. The method of claim 1 , wherein the record indicates whether any of a particular range of block addresses has been previously read.

10. The method of claim 1 , further comprising:

defining a plurality of zones, wherein each zone comprises a range of logical block addresses;

determining from the logical block address and count information associated with a storage access request, the identity of zones affected by the storage access request; and

setting a bit in the persistent record corresponding to the identified zone before completing the storage access request.

11. A storage controller comprising:

mechanisms for handling storage access operations that specify one or more logical block addresses;

mechanisms for accessing metadata indicating groups of logical block addresses that have been previously accessed and comprising;

a shift register operable to shift the at least one logical block address by a predetermined number of bits based on the size of a logical volume to which the storage access operations apply; and

a decoder operable on a predetermined number of the most significant bits of the shifted logical block address to generate a bit map indicating a range of logical block addresses including the at least one logical block address specified by the storage access operation; and,

mechanisms for skipping selected storage access operations when the selected storage access operations operate on a logical block address that has been previously accessed.

12. The storage controller of claim 11 , wherein the storage access operation comprises a write operation and the mechanism for accessing metadata further comprise:

processes for updating the metadata to indicate that the write operation has accessed a range of logical block addresses including the logical block address specified in the write operation.

13. The storage controller of claim 11 , wherein the storage access operation comprises a read operation and the mechanism for accessing metadata further comprise:

processes for updating the metadata to indicate that the read operation has accessed a range of logical block addresses including the logical block address specified in the read operation.

14. The storage controller of claim 11 , wherein the mechanisms for accessing metadata further comprise:

mechanisms for reading metadata stored persistently in reserved sectors of a physical disk drive.

15. The storage controller of claim 11 , wherein the storage controller further comprises non-volatile memory and the mechanisms for accessing metadata further comprise:

mechanisms for reading metadata stored persistently in the non-volatile memory.

16. The storage controller of claim 11 , further comprising processes for selectively disabling the mechanisms for skipping.

17. The storage controller of claim 11 , further comprising a mechanism for logically combining the map with the metadata to produce updated metadata.

18. A method of operating a storage controller comprising:

defining a plurality of zones, wherein each zone comprises a range of logical block addresses;

receiving data access requests containing a logical block address and a count of blocks involved in the access request;

determining from the logical block address and count information associated with a storage access request, the identity of zones affected by the storage access request; and,

setting a bit in the persistent record corresponding to the identified zone before completing the storage access request.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
CHANGE OF NAME Recorded May 12, 2004
From: COMPAQ INFORMATION TECHNOLOGIES GROUP LP
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 014628/0103 →