IP Library Granted Patent US 8,443,167
Granted Patent B1
US 8,443,167 · App. 12/639,794 · Granted May 14, 2013

Data storage device employing a run-length mapping table and a single address mapping table

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 8,443,167
App. No.
12/639,794
Granted
May 14, 2013
Kind
B1
Abstract

A data storage device is disclosed comprising a non-volatile memory comprising a plurality of memory segments. When a write command comprising a logical block address (LBA) is received, a number of consecutive memory segments to access in response to the write command is determined. When the number of consecutive memory segments to access is greater than a threshold, a new run-length mapping entry in a run-length mapping table (RLMT) is created. When the number of memory segments to access is not greater than a threshold, at least one new single address mapping entry in a single address mapping table (SAMT) is created.

Claims (66)

1. A data storage device comprising:

a non-volatile memory comprising a plurality of memory segments; and

control circuitry operable to:

receive a write command comprising a logical block address (LBA);

determine a number of consecutive memory segments to access in response to the write command;

when the number of consecutive memory segments to access is greater than a threshold of more than one memory segment, create a new run-length mapping entry in a run-length mapping table (RLMT); and

when the number of consecutive memory segments to access is not greater than the threshold, create at least two new single address mapping entries in a single address mapping table (SAMT).

2. The data storage device as recited in claim 1 , wherein when the number of consecutive memory segments to access is greater than the threshold, the control circuitry is further operable to:

perform the write command;

determine a number of entries in the SAMT that overlap with the new entry in the RLMT; and

delete the overlapping entries from the SAMT.

3. The data storage device as recited in claim 1 , the control circuitry is further operable to:

receive a read command comprising a read LBA

first determine whether the read LBA maps to an entry in the SAMT; and

when the read LBA does not map into the SAMT, use the RLMT to execute the read command.

4. The data storage device as recited in claim 1 , wherein:

the non-volatile memory comprises a semiconductor memory array;

the semiconductor memory array comprises a plurality of blocks;

each block comprises a plurality of pages; and

each memory segment corresponds to one of the pages.

5. The data storage device as recited in claim 4 , wherein each memory segment corresponds to a part of a page.

6. The data storage device as recited in claim 4 , wherein the control circuitry processes the entries in the RLMT to implement page based mapping of the pages in the semiconductor memory array.

7. The data storage device as recited in claim 4 , wherein the single address mapping entry comprises a block number identifying a target block and a page offset within the target block.

8. The data storage device as recited in claim 4 , wherein the run-length mapping entry comprises a block number identifying a target block, a page offset within the target block, and a number of consecutive pages corresponding to the run-length.

9. The data storage device as recited in claim 1 , wherein the control circuitry is further operable to:

coalesce entries in the SAMT into the RLMT; and

delete the coalesced entries from the SAMT.

10. The data storage device as recited in claim 9 , wherein the control circuitry is further operable to coalesce entries in the SAMT into the RLMT in response to a write operation.

11. The data storage device as recited in claim 9 , wherein the control circuitry is further operable to coalesce entries in the SAMT into the RLMT in response to a garbage collection operation.

12. The data storage device as recited in claim 1 , wherein:

the non-volatile memory comprises a disk;

the disk comprises a plurality of tracks;

each track comprises a plurality of data sectors; and

each memory segment corresponds to one of the data sectors.

13. A method of operating a data storage device comprising a non-volatile memory comprising a plurality of memory segments, the method comprising:

receiving a write command comprising a logical block address (LBA);

determining a number of consecutive memory segments to access in response to the write command;

when the number of consecutive memory segments to access is greater than a threshold of more than one memory segment, creating a new run-length mapping entry in a run-length mapping table (RLMT); and

when the number of consecutive memory segments to access is not greater than the threshold, creating at least two new single address mapping entries in a single address mapping table (SAMT).

14. The method as recited in claim 13 , wherein when the number of consecutive memory segments to access is greater than the threshold, further comprising:

performing the write command;

determining a number of entries in the SAMT that overlap with the new entry in the RLMT; and

deleting the overlapping entries from the SAMT.

15. The method as recited in claim 13 , further comprising:

receiving a read command comprising a read LBA;

first determining whether the read LBA maps to an entry in the SAMT; and

when the read LBA does not map into the SAMT, using the RLMT to execute the read command.

16. The method as recited in claim 13 , wherein:

the non-volatile memory comprises a semiconductor memory array;

the semiconductor memory array comprises a plurality of blocks;

each block comprises a plurality of pages; and

each memory segment corresponds to one of the pages.

17. The method as recited in claim 16 , wherein each memory segment corresponds to a part of a page.

18. The method as recited in claim 16 , further comprising processing the entries in the RLMT to implement page based mapping of the pages in the semiconductor memory array.

19. The method as recited in claim 16 , wherein the single address mapping entry comprises a block number identifying a target block and a page offset within the target block.

20. The method as recited in claim 16 , wherein the run-length mapping entry comprises a block number identifying a target block, a page offset within the target block, and a number of consecutive pages corresponding to the run-length.

21. The method as recited in claim 13 , further comprising:

coalescing entries in the SAMT into the RLMT; and

deleting the coalesced entries from the SAMT.

22. The method as recited in claim 21 , further comprising coalescing entries in the SAMT into the RLMT in response to a write operation.

23. The method as recited in claim 21 , further comprising coalescing entries in the SAMT into the RLMT in response to a garbage collection operation.

24. The method as recited in claim 13 , wherein:

the non-volatile memory comprises a disk;

the disk comprises a plurality of tracks;

each track comprises a plurality of data sectors; and

each memory segment corresponds to one of the data sectors.

Assignments (8)
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 038744 FRAME 0481 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0556 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 045501/0714 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038744/0481 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038744/0281 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038722/0229 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2009
From: FALLONE, ROBERT M.; BOYLE, WILLIAM B.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 023664/0712 →