Method and Apparatus for Caching Flash Translation Layer (FTL) Table
First Claim
1. A digital processing system operable to store information, comprising:
- a non-volatile memory (“
NVM”
) organized its memory space into memory blocks for storing data persistently, each of the memory blocks divided into a plurality of physical pages addressable by corresponding physical page addresses (“
PPAs”
);
an address mapping table situated in the NVM and organized to include a plurality of entries for memory accessing to the NVM, each entry of the address mapping table addressed to a physical page of NVM; and
a random access memory (“
RAM”
) cache coupled to the NVM and configured to cache at least a portion of the address mapping table based on a table caching mechanism.
2 Assignments
0 Petitions
Accused Products
Abstract
A solid-state drive (“SSD”) containing a non-volatile memory (“NVM”), flash translation layer (“FTL”) table, cache node index table, and random access memory (“RAM”) configured to cache at least a portion of the FTL table is disclosed. The NVM is organized its memory space into memory blocks for data storage wherein each of the memory blocks is further divided into a set of physical pages addressable by corresponding physical page addresses (“PPAs”). The FTL table, also known as address mapping table, includes multiple entries used for NVM memory accessing. Each entry of the FTL table stores a PPA addressing a physical page in the NVM. The RAM caches or stores a portion of the FTL table based on a table caching mechanism. The cache node index table resided in the RAM or RAM cache contains indexing information associated with the FTL table.
-
Citations
20 Claims
-
1. A digital processing system operable to store information, comprising:
-
a non-volatile memory (“
NVM”
) organized its memory space into memory blocks for storing data persistently, each of the memory blocks divided into a plurality of physical pages addressable by corresponding physical page addresses (“
PPAs”
);an address mapping table situated in the NVM and organized to include a plurality of entries for memory accessing to the NVM, each entry of the address mapping table addressed to a physical page of NVM; and a random access memory (“
RAM”
) cache coupled to the NVM and configured to cache at least a portion of the address mapping table based on a table caching mechanism. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A solid state drive (“
- SSD”
) operable to store information persistently, comprising;a non-volatile memory (“
NVM”
) organized its memory space into memory blocks for storing data persistently, each of the memory blocks divided into a plurality of physical pages addressable by corresponding physical page addresses (“
PPAs”
), wherein the NVM includes a flash translation layer (“
FTL”
) table containing a set of PPAs; anda random access memory (“
RAM”
) coupled to the NVM and configured to cache at least a portion of the FTL table, wherein the RAM includes a cache node index table containing index information relating to the FTL table. - View Dependent Claims (16, 17, 18)
- SSD”
-
19. A method for persistently data storage, comprising:
-
receiving a read command with a logical block address (“
LBA”
) for accessing information stored in a non-volatile memory (“
NVM”
);searching a flash translation layer (“
FTL”
) index table in a random access memory (“
RAM”
) cache to identify a valid entry associated to a FTL table in response to the LBA;identifying whether cached FTL table located in FTL cache RAM in the RAM containing the valid entry in accordance with the LBA; and reading a portion of FTL table containing the valid entry from the NVM to the FTL cache RAM in the RAM. - View Dependent Claims (20)
-
Specification