Method and system for managing a NAND flash memory by paging segments of a logical to physical address map to a non-volatile memory
First Claim
1. An apparatus coupled with a processor, comprising:
- a NAND flash memory comprising a first memory;
a logical-to-physical (LTP) address mapping structure associated with the NAND flash memory, wherein the LTP address mapping structure includes a plurality of LTP entries each providing a logical address to a physical address mapping, wherein the LTP address mapping structure is divided into a plurality of segments;
a second memory storing information and instructions to be executed by the processor, wherein the second memory is operable to cache less than all the segments of the LTP address mapping structure;
a lookup table having a pointer for each segment of the LTP address mapping structure cached in the second memory and a physical address of each segment of the LTP address mapping structure in the first memory not cached in the second memory; and
logic coupled with the NAND flash memory to;
use the lookup table to control read and write to segments of the LTP address mapping structure in the NAND flash memory and to add and remove segments of the LTP address mapping structure in the second memory;
determine that one of the segments of the LTP address mapping structure not cached in the second memory comprises contiguous physical addresses for all entries in the determined segment not cached in the second memory, andstore in the lookup table a physical address corresponding to a first entry of a logical address of the determined one of the segments.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system to facilitate paging of one or more segments of a logical-to-physical (LTP) address mapping structure, such as a table, to a non-volatile memory, such as a NAND flash memory. The LTP address mapping structure is part of an indirection system map associated with the non-volatile memory. By allowing one or more segments of the LTP address mapping structure to be paged to the non-volatile memory, the amount of volatile memory required to store the LTP address mapping structure is reduced while maintaining the benefits of the LTP address mapping structure. One or more segments of the logical to physical address mapping structure may be cached in volatile memory, and a size of each segment may be the same as or a multiple of a page size of the NAND flash memory. A lookup or segment table may be provided to indicate a location of each segment and may be optimized for sequential physical addresses.
28 Citations
21 Claims
-
1. An apparatus coupled with a processor, comprising:
-
a NAND flash memory comprising a first memory; a logical-to-physical (LTP) address mapping structure associated with the NAND flash memory, wherein the LTP address mapping structure includes a plurality of LTP entries each providing a logical address to a physical address mapping, wherein the LTP address mapping structure is divided into a plurality of segments; a second memory storing information and instructions to be executed by the processor, wherein the second memory is operable to cache less than all the segments of the LTP address mapping structure; a lookup table having a pointer for each segment of the LTP address mapping structure cached in the second memory and a physical address of each segment of the LTP address mapping structure in the first memory not cached in the second memory; and logic coupled with the NAND flash memory to; use the lookup table to control read and write to segments of the LTP address mapping structure in the NAND flash memory and to add and remove segments of the LTP address mapping structure in the second memory; determine that one of the segments of the LTP address mapping structure not cached in the second memory comprises contiguous physical addresses for all entries in the determined segment not cached in the second memory, and store in the lookup table a physical address corresponding to a first entry of a logical address of the determined one of the segments. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system including a processor comprising:
-
a NAND flash memory, comprising a first memory, to store a plurality of sections of an indirection system map of the NAND flash memory; a second memory storing information and instructions executed by the processor, wherein the second memory is operable to cache less than all the sections of the indirection system map; a lookup table indicating whether sections of the indirection system map are cached in the second memory or are stored in the NAND flash memory and indicating locations of the sections of the indirection system map in the second memory and the sections of the indirection system map in the NAND flash memory that are not cached in the second memory; and logic to; control caching of one or more of the plurality of sections of the indirection system map in the second memory; determine that one of the sections of the indirection system map not cached in the second memory comprises contiguous physical addresses for all entries in the determined one of the sections not cached in the second memory, and store in the lookup table a physical address corresponding to a first entry of a logical address of the determined one of the sections. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method comprising:
-
partitioning a logical-to-physical (LTP) indirection map of a non-volatile memory into a plurality of segments, wherein the LTP indirection map includes a plurality of LTP entries each providing a logical address to a physical address mapping, wherein each of the segments includes a plurality of LTP entries; storing a lookup table having a pointer for each segment of the LTP indirection map cached in a volatile memory and a physical address of each segment of the LTP indirection map in the non-volatile memory not cached in the volatile memory; and paging the segments of the LTP indirection map to the non-volatile memory, wherein the segments of the LTP indirection map are capable of being stored in non-contiguous locations in the non-volatile memory; determining that one of the segments of the LTP indirection map not cached in the volatile memory comprises contiguous physical addresses for all entries in the determined segment not cached in the volatile memory, and storing in the lookup table a physical address corresponding to a first entry of a logical address of the determined one of the segments. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification