Logical sector mapping in a flash storage array
First Claim
Patent Images
1. A computer system comprising:
- a data storage medium;
a data storage controller coupled to the data storage medium; and
a mapping table that includes a plurality of levels, each level comprising one or more mapping table entries, wherein each respective mapping table entry corresponds to a respective mapping from a respective logical address to a respective physical address;
wherein the data storage controller is configured to;
receive a request, wherein the request indicates a logical address;
generate, in dependence upon the logical address, a query key; and
determine, in dependence upon the query key, a youngest level of the plurality of levels that includes a mapping table entry corresponding to a mapping from the logical address to a physical address.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for efficiently performing user storage virtualization for data stored in a storage system including a plurality of solid-state storage devices. A data storage subsystem supports multiple mapping tables. Records within a mapping table are arranged in multiple levels. Each level stores pairs of a key value and a pointer value. The levels are sorted by time. New records are inserted in a created newest (youngest) level. No edits are performed in-place. All levels other than the youngest may be read only. The system may further include an overlay table which identifies those keys within the mapping table that are invalid.
222 Citations
37 Claims
-
1. A computer system comprising:
-
a data storage medium; a data storage controller coupled to the data storage medium; and a mapping table that includes a plurality of levels, each level comprising one or more mapping table entries, wherein each respective mapping table entry corresponds to a respective mapping from a respective logical address to a respective physical address; wherein the data storage controller is configured to; receive a request, wherein the request indicates a logical address; generate, in dependence upon the logical address, a query key; and determine, in dependence upon the query key, a youngest level of the plurality of levels that includes a mapping table entry corresponding to a mapping from the logical address to a physical address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method comprising:
-
storing a mapping table that includes a plurality of levels, each level comprising one or more mapping table entries, wherein each respective mapping table entry corresponds to a respective mapping from a respective logical address to a respective physical address; receiving a request, wherein the request indicates a logical address; generating, in dependence upon the logical address, a query key; and determining, in dependence upon the query key, a youngest level of the plurality of levels that includes a mapping table entry corresponding to a mapping from the logical address to a physical address. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 37)
-
-
34. A non-transitory computer readable storage medium storing program instruction executable by a processor to:
-
store a mapping table that includes a plurality of levels, each level comprising one or more mapping table entries, wherein each respective mapping table entry corresponds to a respective mapping from a respective logical address to a respective physical address; receive a request, wherein the request indicates a logical address; generate, in dependence upon the logical address, a query key; and determine, in dependence upon the query key, a youngest level of the plurality of levels that includes a mapping table entry corresponding to a mapping from the logical address to a physical address. - View Dependent Claims (35, 36)
-
Specification