IP Library Granted Patent US 11,288,204
Granted Patent B2
US 11,288,204 · App. 16/932,539 · Granted Mar 29, 2022

Logical and physical address field size reduction by alignment-constrained writing technique

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 11,288,204
App. No.
16/932,539
Filed
Jul 17, 2020
Granted
Mar 29, 2022
Kind
B2
Examiner
DOAN, KHOA D
Art Unit
2133
USPC
711/103
Abstract

A method and arrangement are disclosed involving receiving a read-type command at a data storage arrangement, calculating a command span of the received read-type command and performing a look-up command, through use of a processor, for data located in each extent at a condensed logical block address state table for the read-type command, wherein the condensed logical block address state table describes a logical to physical table and at least one of transmitting data and displaying data related to the read-type command found in the condensed logical block address state table.

Claims (56)

1. A data storage arrangement, comprising:

a memory device; and

a controller coupled to the memory device, wherein the controller is configured to:

calculate a command span of a received command;

perform a look-up command for data located in each extent at a condensed logical block address state table for the command, wherein the condensed logical block address state table describes a logical to physical table, wherein the condensed logical block address state table tracks logical block address state information ahead of the logical to physical table, and wherein the logical block address state information is mapped or unmapped;

at least one of transmitting data and displaying data related to the command found in the condensed logical block address state table;

determine if the command span overlaps a next extent of the condensed logical block address state table; and

perform another lookup for the condensed logical block address state table when the command span overlaps the next extent.

2. The data storage arrangement of claim 1 , wherein the controller is further configured to determine if during the look-up command and extent value is unmapped.

3. The data storage arrangement of claim 2 , wherein the controller is further configured to dispatch the command to a flash translation layer when the extent value is mapped.

4. The data storage arrangement claim 2 , wherein the controller is further configured to dispatch the command to a flash translation layer when the extent value is partially mapped.

5. The data storage arrangement of claim 2 , wherein the controller is further configured to advance a command logical block address to a boundary of a next extent.

6. The data storage arrangement of claim 1 , wherein the calculating the command span is performed through a formula of:

Command Span=Start LBA+Length−1.

7. The data storage arrangement of claim 1 , wherein the data storage arrangement is a solid state drive.

8. The data storage arrangement of claim 1 , wherein the command received is a read command.

9. A data storage arrangement, comprising:

a memory device; and

a controller coupled to the memory device, wherein the controller is configured to:

calculate a command span length for a command received;

perform a look-up command for data located in a first extent of a condensed logical block address state table for the command, wherein the condensed logical block address state table describes a logical to physical table, wherein the condensed logical block address state table tracks logical block address state information ahead of the logical to physical table, and wherein the logical block address state information is mapped or unmapped;

determine if the calculated command span length overlaps the first extent; and

set a new extent value equal to fully mapped.

10. The data storage arrangement of claim 9 , wherein the calculating the command span length is performed through a formula of:

Command Span=Start LBA+Length−1.

11. The data storage arrangement of claim 9 , wherein the controller is further configured to determine if the command span is greater than an extent threshold.

12. The data storage arrangement of claim 11 , wherein the controller is further configured to set a new extent value when the span is greater than the extent threshold and setting a different extent value when the command span is not greater than the extent threshold.

13. The data storage arrangement of claim 12 , wherein the controller is further configured to:

determine if the new extent value is greater than a current extent value; and

set the current extent value to the new extent value when the new extent value is greater than the current extent value.

14. The data storage arrangement of claim 9 , wherein the data storage arrangement is a solid state drive.

15. The data storage arrangement of claim 9 , wherein the controller is further configured to:

determine if the first extent value is equal to 0; and

perform a look-up command for data located in a next extent of a condensed logical block address state table for the command.

16. The data storage arrangement of claim 9 , wherein the command received is a write command.

17. A data storage arrangement, comprising:

a memory device; and

a controller coupled to the memory device, wherein the controller includes:

a condensed logical block address state table that describes a logical to physical table, wherein the condensed logical block address state table tracks logical block address state information ahead of the logical to physical table, and wherein the logical block address state information is mapped or unmapped, wherein the controller is configured to:

determine if a command span or a received command overlaps a next extent of the condensed logical block address state table; and

perform another lookup for the condensed logical block address state table when the command span overlaps the next extent.

18. The data storage arrangement of claim 17 , wherein the memory device is a NAND device.

19. The data storage arrangement of claim 17 , wherein the data storage arrangement is a solid state drive.

20. The data storage arrangement of claim 17 , wherein the logical to physical table is distinct from the condensed logical block address state table.

21. A data storage arrangement, comprising:

a memory device; and

a controller coupled to the memory device, wherein the controller includes a condensed logical block address state table that describes a logical to physical table, wherein the condensed logical block address state table tracks logical block address state information ahead of the logical to physical table, and wherein the logical block address state information is mapped or unmapped, wherein the controller is configured to:

receive a command to query logical block address mapping status;

perform extent value lookup in the condensed logical block address table for requested logical block address ranges in the received command;

determine which extent values are mapped and unmapped; and

return results to a host device.

22. A data storage arrangement, comprising:

a memory device; and

a controller coupled to the memory device, wherein the controller includes a condensed logical block address state table that describes a logical to physical table, wherein the condensed logical block address state table tracks logical block address state information ahead of the logical to physical table, and wherein the logical block address state information is mapped or unmapped, wherein the controller is configured to:

update an extent value; and

update percent mapped statistics based upon the update of the extent value.