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.
-
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