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 tree that contains compressed data mapping logical addresses to physical addresses of data in the non-volatile memory;
translating the associated logical address into the corresponding physical address by traversing the accessed index 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.
165 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 tree that contains compressed data mapping logical addresses to physical addresses of data in the non-volatile memory; translating the associated logical address into the corresponding physical address by traversing the accessed index 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 that receives 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, wherein the controller is operable for determining the corresponding physical address by accessing an index tree that contains compressed data mapping logical addresses to physical addresses of data in stored in the non-volatile memory and by translating the associated logical address into the corresponding physical address using the accessed index tree, where the associated logical address is translated into the corresponding physical address by traversing the accessed index 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 tree that maps logical addresses to physical addresses of data in the non-volatile memory, the index tree comprising a plurality of nodes organized into a hierarchical structure, wherein each of the plurality of nodes comprises a plurality of entries, wherein 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 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