Index cache tree
First Claim
Patent Images
1. A method comprising:
- receiving a request for data associated with a logical address, where the logical address corresponds to a physical address of the requested data in non-volatile memory;
accessing an index cache tree that contains compressed data comprising a predefined number of most recently accessed mappings between logical addresses to physical addresses of data in the non-volatile memory, wherein the predefined number of mappings comprises a subset of all logical address to physical address mappings for the non-volatile memory;
translating the associated logical address into the corresponding physical address by traversing the accessed index cache tree and aggregating at least a portion of the compressed data to represent the associated logical address; and
returning the corresponding physical address of the requested data in non-volatile memory.
1 Assignment
0 Petitions
Accused Products
Abstract
Memory mapping techniques for non-volatile memory are disclosed where logical sectors are mapped into physical pages using data structures in volatile and non-volatile memory. In some implementations, a first lookup table in non-volatile memory maps logical sectors directly into physical pages. A second lookup table in volatile memory holds the location of the first lookup table in non-volatile memory. An index cache tree in volatile memory holds the physical addresses of the most recently written or accessed logical sectors in a compressed format.
45 Citations
21 Claims
-
1. A method comprising:
-
receiving a request for data associated with a logical address, where the logical address corresponds to a physical address of the requested data in non-volatile memory; accessing an index cache tree that contains compressed data comprising a predefined number of most recently accessed mappings between logical addresses to physical addresses of data in the non-volatile memory, wherein the predefined number of mappings comprises a subset of all logical address to physical address mappings for the non-volatile memory; translating the associated logical address into the corresponding physical address by traversing the accessed index cache tree and aggregating at least a portion of the compressed data to represent the associated logical address; and returning the corresponding physical address of the requested data in non-volatile memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system comprising:
-
non-volatile memory storing data that is associated with physical addresses; and a controller coupled to the non-volatile memory, wherein the controller is configured to receive a request for data associated with a logical address, where the logical address corresponds to a physical address of the requested data in the non-volatile memory, and wherein the controller is further configured to determine the corresponding physical address by; accessing an index cache tree that contains compressed data comprising a predefined number of most recently accessed mappings between logical addresses to physical addresses of data in stored in the non-volatile memory, wherein the predefined number of mappings comprises a subset of all logical address to physical address mappings for the non-volatile memory; and by translating the associated logical address into the corresponding physical address using the accessed index cache tree, where the associated logical address is translated into the corresponding physical address by traversing the accessed index cache tree and aggregating at least a portion of the compressed data to represent the associated logical address. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A method comprising:
-
receiving a request for data associated with a logical address, where the logical address corresponds to a physical address of the requested data in non-volatile memory; accessing an index cache tree that contains compressed data comprising a predefined number of most recently accessed mappings between logical addresses to physical addresses of data in the non-volatile memory, wherein the predefined number of mappings comprising a subset of all logical address to physical address mappings for the non-volatile memory, the index cache tree comprises a plurality of nodes organized into a hierarchical structure, where each of the plurality of nodes comprises a plurality of entries and each entry includes a logical address span and either a pointer to a node or a physical address corresponding to the logical address span; translating the associated logical address into the corresponding physical address of the requested data in the non-volatile memory based upon a physical address stored in an entry of the index cache tree identified as corresponding to the associated logical address; and returning the identified physical address for the memory segment. - View Dependent Claims (19, 20, 21)
-
Specification