Disk drive using defect list to perform uninterrupted writing of non-relocated data blocks and caching of relocated data blocks for deferred writing
First Claim
1. A disk drive for receiving a write command from a host computer, the write command comprising a plurality of logical block addresses (LBAs) and a plurality of data blocks, wherein:
- the plurality of data blocks comprises at least one non-relocated data block (NRDB) and at least one relocated data block (RDB), and at least one of the LBAs corresponds to the at least one NRDB and at least one of the LBAs corresponds to the at least one RDB, the disk drive comprising;
a disk comprising;
a plurality of first disk locations each having a defect;
a plurality of second disk locations for storing NRDBs; and
a plurality of spare disk locations for storing RDBs;
a defect list for mapping LBAs from the plurality of first disk locations to the plurality of spare disk locations;
a cache logically partitioned into a first set of memory locations managed using a first cache data structure, and a second set of memory locations managed using a second cache data structure; and
a disk control system for;
using the first cache data structure to store the NRDB in a first memory location selected from the first set of memory locations;
evaluating the defect list using the LBAs to identify the RDB and using the second cache data structure to store the RDB in a second memory location selected from the second set of memory locations;
during a first time interval established for writing NRDBs, using the first cache data structure to write the NRDB to one of the second disk locations; and
during a second time interval established for writing RDBs, using the second cache data structure to write the RDB to one of the spare disk locations.
4 Assignments
0 Petitions
Accused Products
Abstract
A disk drive is disclosed for receiving a write command from a host computer, the write command comprising a plurality of logical block addresses (LBAs) and a plurality of data blocks. The plurality of data blocks comprises at least one non-relocated data block (NRDB) and at least one relocated data block (RDB), and at least one of the LBAs corresponds to the NRDB and at least one of the LBAs corresponds to the RDB. The disk drive comprises a disk comprising a plurality of first disk locations each having a defect, a plurality of second disk locations for storing NRDBs, and a plurality of spare disk locations for storing RDBs. A defect list is used to map LBAs from the plurality of first disk locations to the plurality of spare disk locations. A cache is logically partitioned into a first set of memory locations managed using a first cache data structure, and a second set of memory locations managed using a second cache data structure. A disk control system uses the first cache data structure to store the NRDB in a first memory location selected from the first set of memory locations. The disk control system evaluates the defect list using the LBAs to identify the RDB and using the second cache data structure stores the RDB in a second memory location selected from the second set of memory locations. During a first time interval established for writing NRDBs, the disk control system uses the first cache data structure to write the NRDB to one of the second disk locations. During a second time interval established for writing RDBs, the disk control system uses the second cache data structure to write the RDB to one of the spare disk locations.
155 Citations
8 Claims
-
1. A disk drive for receiving a write command from a host computer, the write command comprising a plurality of logical block addresses (LBAs) and a plurality of data blocks, wherein:
-
the plurality of data blocks comprises at least one non-relocated data block (NRDB) and at least one relocated data block (RDB), and at least one of the LBAs corresponds to the at least one NRDB and at least one of the LBAs corresponds to the at least one RDB, the disk drive comprising;
a disk comprising;
a plurality of first disk locations each having a defect;
a plurality of second disk locations for storing NRDBs; and
a plurality of spare disk locations for storing RDBs;
a defect list for mapping LBAs from the plurality of first disk locations to the plurality of spare disk locations;
a cache logically partitioned into a first set of memory locations managed using a first cache data structure, and a second set of memory locations managed using a second cache data structure; and
a disk control system for;
using the first cache data structure to store the NRDB in a first memory location selected from the first set of memory locations;
evaluating the defect list using the LBAs to identify the RDB and using the second cache data structure to store the RDB in a second memory location selected from the second set of memory locations;
during a first time interval established for writing NRDBs, using the first cache data structure to write the NRDB to one of the second disk locations; and
during a second time interval established for writing RDBs, using the second cache data structure to write the RDB to one of the spare disk locations. - View Dependent Claims (2, 3, 4)
the RDB is stored in a third memory location selected from the first set of memory locations using the first cache data structure; and
the RDB is copied from the third memory location to the second memory location using the first and second cache data structures.
-
-
3. The disk drive as recited in claim 1, wherein the first and second cache data structures are used to reassign the second memory location from the first cache data structure to the second cache data structure.
-
4. The disk drive as recited in claim 1, wherein the number of second set memory locations changes over time to compensate for changes to the number of LBAs mapped from the plurality of first disk locations to the plurality of spare disk locations.
-
5. A method of performing a write operation in a disk drive in response to a write command received from a host computer, the write command comprising a plurality of logical block addresses and a plurality of data blocks, wherein:
-
the plurality of data blocks comprises at least one non-relocated data block (NRDB) and at least one relocated data block (RDB), and at least one of the LBAs corresponds to the at least one NRDB and at least one of the LBAs corresponds to the at least one RDB, the disk drive comprising;
a disk comprising;
a plurality of first disk locations each having a defect;
a plurality of second disk locations for storing NRDBs; and
a plurality of spare disk locations for storing RDBs;
a defect list for mapping a LBAs from the plurality of first disk locations to the plurality of spare disk locations; and
a cache logically partitioned into a first set of memory locations managed using a first cache data structure, and a second set of memory locations managed using a second cache data structure, the method of performing the write operation comprising the steps of;
using the first cache data structure to store the NRDB in a first memory location selected from the first set of memory locations;
evaluating the defect list using the LBAs to identify the RDB and using the second cache data structure to store the RDB in a second memory location selected from the second set of memory locations;
during a first time interval established for writing NRDBs, using the first cache data structure to write the NRDB to one of the second disk locations; and
during a second time interval established for writing RDBs, using the second cache data structure to write the RDB to one of the spare disk locations. - View Dependent Claims (6, 7, 8)
storing the RDB in a third memory location selected from the first set of memory locations using the first cache data structure; and
copying the RDB from the third memory location to the second memory location using the first and second cache data structures.
-
-
7. The method as recited in claim 5, further comprising the step of using the first and second cache data structures to reassign the second memory location from the first set cache data structure to the second cache data structure.
-
8. The method as recited in claim 5, further comprising the step of changing the number of second set memory locations over time to compensate for changes to the number of LBAs mapped from the plurality of first disk locations to the plurality of spare disk locations.
Specification