IP Library Granted Patent US 10,255,178
Granted Patent B2
US 10,255,178 · App. 15/438,687 · Granted Apr 9, 2019

Storage device that maintains a plurality of layers of address mapping

Inventor: Shinichi Kanno (Ota Tokyo, JP)
Assignee: Toshiba Memory Corporation
G06F12/0246G06F12/0292G06F2212/1024G06F2212/214G06F2212/7201G06F2212/7202G06F2212/7207
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 10,255,178
App. No.
15/438,687
Granted
Apr 9, 2019
Kind
B2
Abstract

A storage device includes a nonvolatile memory, a cache memory, and a processor configured to load, from the nonvolatile memory into the cache memory, a fragment of each layer of an address mapping corresponding to a target logical address, and access the nonvolatile memory at a physical address mapped from the target logical address, by referring to the fragments of the layers of the address mapping loaded into the cache memory. The layers are arranged in a hierarchy and each layer of the address mapping except for the lowermost layer indicates correspondence between each of segmented logical address ranges mapped in the layer and a physical location of an immediately-lower layer in which said each segmented logical address range is further mapped in a narrower range. The lowermost layer indicates correspondence between each logical address mapped therein and a physical location of the nonvolatile memory associated therewith.

Claims (37)

1. A storage device comprising:

a nonvolatile memory;

a cache memory; and

a processor configured to

load, from the nonvolatile memory into the cache memory, a fragment of each of a plurality of layers of an address mapping corresponding to a target logical address to be accessed and a fragment of a data mapping corresponding to the target logical address, each bit of the data mapping indicating whether or not data stored at a physical address of the nonvolatile memory is valid, wherein the layers are arranged in a hierarchy and each layer of the address mapping except for the lowermost layer indicates correspondence between each of segmented logical address ranges mapped in the layer and a physical location of an immediately-lower layer in which said each segmented logical address range is further mapped in a narrower range, and the lowermost layer indicates correspondence between each logical address mapped in the lowermost layer and a physical location of the nonvolatile memory associated with said each logical address in the lowermost layer, and wherein the fragment of the data mapping has a same size as each of the loaded fragments of the layers of the address mapping, and

access the nonvolatile memory at a physical address mapped from the target logical address, by referring to the fragments of the layers of the address mapping loaded into the cache memory.

2. The storage device according to claim 1 , wherein the processor is further configured to update the loaded fragments of the layers of the address mapping upon writing data associated with the target logical address into the physical address mapped from the target logical address, and overwrite the address mapping stored in the nonvolatile memory with the updated fragments.

3. The storage device according to claim 2 , wherein the processor is further configured to erase the updated fragments from the cache memory when a capacity of the cache memory decreases to a threshold level.

4. The storage device according to claim 1 , wherein the processor is further configured to maintain the loaded fragments in the cache memory after reading data associated with the target logical address from the physical address mapped from the target logical address, and erase the loaded fragments from the cache memory when a capacity of the cache memory decreases to a threshold level.

5. The storage device according to claim 1 , wherein said each layer of the address mapping includes a plurality of fragments, each of which corresponds to a different logical address range, and fragments in different layers of the address mapping have a same size.

6. The storage device according to claim 5 , wherein each fragment of an uppermost layer of the address mapping corresponds to a different one of a plurality of namespaces that is established for address mapping of the nonvolatile memory.

7. The storage device according to claim 6 , wherein

the namespaces include a first namespace and a second namespace that has a different length of an address range than the first namespace, and

a number of layers of the address mapping corresponding to the first namespace is different from a number of layers of the address mapping corresponding to the second namespace.

8. The storage device according to claim 1 , wherein the processor is further configured to attach, to each of the loaded fragments, a first pointer to indicate a position in the cache memory at which a fragment of an immediately-upper layer, if any, is loaded and a second pointer to indicate a position in the cache memory at which a fragment of an immediately-lower layer, if any, is loaded.

9. The storage device according to claim 1 , wherein the processor is further configured to update the loaded fragments of the layers of the address mapping and the loaded fragment of the data mapping upon writing data associated with the target logical address into the physical address mapped from the target logical address, and collectively overwrite the updated fragments of the address mapping and the updated fragment of the data mapping on the address mapping and the data mapping stored in the nonvolatile memory, respectively.

10. A method of controlling a storage device including a nonvolatile memory and a cache memory, comprising:

loading, from the nonvolatile memory into the cache memory, a fragment of each of a plurality of layers of an address mapping corresponding to a target logical address to be accessed and a fragment of a data mapping corresponding to the target logical address, each bit of the data mapping indicating whether or not data stored at a physical address of the nonvolatile memory is valid, wherein the layers are arranged in a hierarchy and each layer of the address mapping except for the lowermost layer indicates correspondence between each of segmented logical address ranges mapped in the layer and a physical location of an immediately-lower layer in which said each segmented logical address range is further mapped in a narrower range, and the lowermost layer indicates correspondence between each logical address mapped in the lowermost layer and a physical location of the nonvolatile memory associated with said each logical address, and wherein the fragment of the data mapping has a same size as each of the loaded fragments of the layers of the address mapping; and

accessing the nonvolatile memory at a physical address mapped from the target logical address, referring to the fragments of the layers of the address mapping loaded into the cache memory.

11. The method according to claim 10 , further comprising:

updating the loaded fragments of the layers of the address mapping upon writing data associated with the target logical address into the physical address mapped from the target logical address; and

overwriting the address mapping stored in the nonvolatile memory with the updated fragments.

12. The method according to claim 11 , further comprising:

erasing the updated fragments from the cache memory when a capacity of the cache memory decreases to a threshold level.

13. The method according to claim 10 , further comprising:

maintaining the loaded fragments in the cache memory after reading data associated with the target logical address from the physical address mapped from the target logical address in the lowermost layer; and

erasing the loaded fragments from the cache memory when a capacity of the cache memory decreases to a threshold level.

14. The method according to claim 10 , wherein said each layer of the address mapping includes a plurality of fragments, each of which corresponds to a different logical address range, and fragments in different layers of the address mapping have a same size.

15. The method according to claim 14 , wherein each fragment of an uppermost layer of the address mapping corresponds to a different one of a plurality of namespaces that is established for address mapping of the nonvolatile memory.

16. The method according to claim 15 , wherein

the namespaces include a first namespace and a second namespace that has a different length of an address range than the first namespace, and

a number of layers of the address mapping corresponding to the first namespace is different from a number of layers of the address mapping corresponding to the second namespace.

17. The method according to claim 10 , further comprising:

attaching, to each of the loaded fragments, a first pointer to indicate a position in the cache memory at which a fragment of an immediately-upper layer, if any, is loaded and a second pointer to indicate a position in the cache memory at which a fragment of an immediately-lower layer, if any, is loaded.

18. The method according to claim 10 , further comprising:

updating the loaded fragments of the layers of the address mapping and the loaded fragment of the data mapping upon writing data associated with the target logical address into the physical address mapped from the target logical address; and

collectively overwriting the address mapping and the data mapping stored in the nonvolatile memory with the updated fragments of the address mapping and the updated fragment of the data mapping, respectively.

Assignments (5)
MERGER Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: K.K. PANGEA
Reel/Frame 055659/0471 →
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 055669/0001 →
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: K.K. PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 055669/0401 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2017
From: KABUSHIKI KAISHA TOSHIBA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 043194/0647 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2017
From: KANNO, SHINICHI
To: KABUSHIKI KAISHA TOSHIBA
Reel/Frame 041755/0307 →
Priority Claims (1)
JP 2016-173680 · Sep 6, 2016 · national
Continuity (1)
Related Publication 20180067849A1 · Mar 8, 2018