IP Library Granted Patent US 11,314,655
Granted Patent B2
US 11,314,655 · App. 16/750,594 · Granted Apr 26, 2022

Storage device configurable mapping granularity system where data is written without performing read-modify-write operations

Inventors: Wei Dong (Shanghai, CN); Weilin Liu (Shanghai, CN)
Assignee: Dell Products L.P.
G06F12/1009G06F2212/657G06F2212/7201
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,314,655
App. No.
16/750,594
Granted
Apr 26, 2022
Kind
B2
Abstract

A storage device includes a storage subsystem and a logical/physical storage location mapping database that maps LAAs to PAAs that identify physical locations in the storage subsystem. A storage controller receives a storage device mapping granularity configuration command from a host that identifies a number of LBAs to associate with a plurality of LAAs and, in response, associates each of the plurality of LAAs with the number of LBAs identified in the command. The storage controller then writes data to a PAA that includes a data size that is equal to a combined LBA size of the number of LBAs that were identified in the command and associated with each of the plurality of LAAs and maps, in the logical/physical storage location mapping database, the PAA to one of the plurality of LLAs that is associated the number of LBAs identified in the command.

Claims (67)

1. A storage device, comprising:

a storage subsystem;

a logical/physical storage location mapping database that is configured to map Logical Allocation Addresses (LAAs) to Physical Allocation Addresses (PAAs) that identify physical locations in the storage subsystem;

and a storage controller that is coupled to the storage subsystem and the logical/physical storage location mapping database, wherein the storage controller is configured to:

receive, from a host engine, a first storage device mapping granularity configuration command that identifies a first number of Logical Block Addresses (LBAs) to associate with a first plurality of LAAs;

associate each of the first plurality of LAAs with the first number of LBAs identified in the first storage device mapping granularity configuration command;

identify first data that has been provided for writing to the storage subsystem and that includes a first data size that is equal to a first combined LBA size of the first number of LBAs;

map, in the logical/physical storage location mapping database, a first PAA to a first LAA that is included in the first plurality of LAAs and that is associated with the first number of LBAs identified in the first storage device mapping granularity configuration command;

and write, without performing Read-Modify-Write (RMW) operations, the first data directly to a first physical location, in the storage subsystem, that is identified by the first PAA that was mapped to the first LAA.

2. The system of claim 1 , wherein the storage controller is configured to:

receive, from the host engine, a second storage device mapping granularity configuration command that identifies a second number of LBAs to associate with a second plurality of LAAs, wherein the second number of LBAs is different than the first number of LBAs;

associate each of the second plurality of LAAs with the second number of LBAs identified in the second storage device mapping granularity configuration command;

identify second data that has been provided for writing to the storage subsystem and that includes a second data size that is equal to a second combined LBA size of the second number of LBAs;

map, in the logical/physical storage location mapping database, a second PAA to a second LAA that is included in the second plurality of LAAs and that is associated with the second number of LBAs identified in the second storage device mapping granularity configuration command;

and write, without performing RMW operations, the second data to a second physical location, in the storage subsystem, that is identified by the second PAA that was mapped to the second LAA.

3. The system of claim 2 , wherein the first plurality of LAAs are associated with a first namespace that is provided by the storage subsystem, and the second plurality of LAAs are associated with a second namespace that is provided by the storage subsystem and that is different than the first namespace.

4. The system of claim 1 , wherein the storage controller is configured to:

receive, from the host engine, a storage device mapping granularity reporting command that requests a mapping granularity associated with the first plurality of LAAs; and

identify, to the host engine, the first number of LBAs that were associated with each of the first plurality of LAAs.

5. The system of claim 1 , wherein the storage subsystem includes NAND flash memory devices.

6. The system of claim 1 , wherein the storage controller is configured to:

associate, in a mapping granularity table, the first plurality of LAAs with the first number of LBAs identified in the first storage device mapping granularity configuration command; and

save the mapping granularity table in the storage subsystem.

7. An Information Handling System (IHS), comprising:

a processing system;

and a memory system that is coupled to the processing system and that includes instructions that, when executed by the processing system, cause the processing system to provide a storage controller engine that is configured to:

receive, from a host engine, a first storage device mapping granularity configuration command that identifies a first number of Logical Block Addresses (LBAs) to associate with a first plurality of Logical Allocation Addresses (LAAs);

associate each of the first plurality of LAAs with the first number of LBAs identified in the first storage device mapping granularity configuration command;

identify first data that has been provided for writing to a storage subsystem and that includes a first data size that is equal to a first combined LBA size of the first number of LBAs;

map, in a logical/physical storage location mapping database, a first Physical Allocation Address (PAA), that identifies a first physical location in the storage subsystem, to a first LAA that is included in the first plurality of LAAs and wherein the first LAA is associated with the first number of LBAs identified in the first storage device mapping granularity configuration command;

and write, without performing Read-Modify-Write (RMW) operations, the first data directly to the first physical location, in the storage subsystem, that is identified by the first PAA that was mapped to the first LAA.

8. The IHS of claim 7 , wherein the storage controller engine is configured to:

receive, from the host engine, a second storage device mapping granularity configuration command that identifies a second number of LBAs to associate with a second plurality of LAAs, wherein the second number of LBAs is different than the first number of LBAs;

associate each of the second plurality of LAAs with the second number of LBAs identified in the second storage device mapping granularity configuration command;

identify second data that has been provided for writing to the storage subsystem and that includes a second data size that is equal to a second combined LBA size of the second number of LBAs;

and map, in the logical/physical storage location mapping database, a second PAA, that identifies a second physical location in the storage subsystem, to a second LAA that is included in the second plurality of LAAs and wherein the second LAA is associated with the second number of LBAs identified in the second storage device mapping granularity configuration command;

and write, without performing RMW operations, the second data directly to the second physical locations the storage subsystem, that is identified by the second PAA that was mapped to the second LAA.

9. The IHS of claim 8 , wherein the first plurality of LAAs are associated with a first namespace that is provided by the storage subsystem, and the second plurality of LAAs are associated with a second namespace that is provided by the storage subsystem and that is different than the first namespace.

10. The IHS of claim 7 , wherein the storage controller engine is configured to:

receive, from the host engine, a storage device mapping granularity reporting command that requests a mapping granularity associated with the first plurality of LAAs; and

identify, to the host engine, the first number of LBAs that were associated with each of the first plurality of LAAs.

11. The IHS of claim 7 , wherein the storage subsystem includes NAND flash memory devices.

12. The IHS of claim 7 , wherein the storage controller engine is configured to:

associate, in a mapping granularity table, the first plurality of LAAs with the first number of LBAs identified in the first storage device mapping granularity configuration command; and

save the mapping granularity table in the storage subsystem.

13. The IHS of claim 12 , wherein the mapping granularity table is a namespace table and the first plurality of LAAs are associated with a first namespace identified in the namespace table.

14. A method for configuring a mapping granularity for a storage device, comprising:

receiving, by a storage controller from a host engine, a first storage device mapping granularity configuration command that identifies a first number of Logical Block Addresses (LBAs) to associate with a first plurality of Logical Allocation Addresses (LAAs);

associating, by the storage controller, each of the first plurality of LAAs with the first number of LBAs identified in the first storage device mapping granularity configuration command;

identifying, by the storage controller, first data that has been provided for writing to a storage subsystem and that includes a first data size that is equal to a first combined LBA size of the first number of LBAs;

mapping, by the storage controller in a logical/physical storage location mapping database, a first PAA to a first LAA that is included in the first plurality of LAAs and that is associated with the first number of LBAs identified in the first storage device mapping granularity configuration command;

and writing, by the storage controller without performing Read-Modify-Write (RMW) operations, the first data directly to a first physical location, in the storage subsystem, that is identified by the first PAA that was mapped to the first LAA.

15. The method of claim 14 , further comprising:

receiving, by the storage controller from the host engine, a second storage device mapping granularity configuration command that identifies a second number of LBAs to associate with a second plurality of LAAs, wherein the second number of LBAs is different than the first number of LBAs;

associating, by the storage controller, each of the second plurality of LAAs with the second number of LBAs identified in the second storage device mapping granularity configuration command;

identifying, by the storage controller, second data that has been provided for writing to the storage subsystem and that includes a second data size that is equal to a second combined LBA size of the second number of LBAs;

and mapping, by the storage controller in the logical/physical storage location mapping database, a second PAA to a second LAA that is included in the second plurality of LAAs and that is associated with the second number of LBAs identified in the second storage device mapping granularity configuration command;

and writing, by the storage controller without performing RMW operations, the second data directly to a second physical location, in the storage subsystem, that is identified by the second PAA that was mapped to the second LAA.

16. The method of claim 15 , wherein the first plurality of LAAs are associated with a first namespace that is provided by the storage subsystem, and the second plurality of LAAs are associated with a second namespace that is provided by the storage subsystem and that is different than the first namespace.

17. The method of claim 14 , further comprising:

receiving, by the storage controller from the host engine, a storage device mapping granularity reporting command that requests a mapping granularity associated with the first plurality of LAAs; and

identifying, by the storage controller to the host engine, the first number of LBAs that were associated with each of the first plurality of LAAs.

18. The method of claim 14 , wherein the storage subsystem includes NAND flash memory devices.

19. The method of claim 14 , further comprising:

associating, by the storage controller in a mapping granularity table, the first plurality of LAAs with the first number of LBAs identified in the first storage device mapping granularity configuration command; and

saving, by the storage controller, the mapping granularity table in the storage subsystem.

20. The method of claim 19 , wherein the mapping granularity table is a namespace table and the first plurality of LAAs are associated with a first namespace identified in the namespace table.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2020
From: DONG, WEI; LIU, WEILIN
To: DELL PRODUCTS L.P.
Reel/Frame 051601/0291 →
Priority Claims (1)
CN 201910675677.8 · Jul 25, 2019 · national
Continuity (1)
Related Publication 20210026781A1 · Jan 28, 2021