US9348760B2ActiveUtilityA1

System and method for efficient flash translation layer

57
Assignee: NXGN DATA INCPriority: Nov 27, 2013Filed: Sep 9, 2014Granted: May 24, 2016
Est. expiryNov 27, 2033(~7.4 yrs left)· nominal 20-yr term from priority
G06F 12/0246G06F 2212/7201G06F 2212/65G06F 12/1009
57
PatentIndex Score
0
Cited by
8
References
12
Claims

Abstract

A method of maintaining and updating a logical-to-physical (LtoP) table in a storage device including a processor, a volatile memory, and a non-volatile memory, the storage device being in communication with a host, the method including receiving, by the processor, data for storing at a physical address in the non-volatile memory, the data being associated with a logical address of the host, storing, by the processor, the physical address in a first LtoP zone of a plurality of LtoP zones of the LtoP table, the LtoP table being stored in the volatile memory, adding, by the processor, the first LtoP zone to a list of modified zones, and storing, by the processor, a second LtoP zone of the plurality of LtoP zones in the non-volatile memory when a size of the list of modified zones exceeds a threshold.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method of maintaining and updating a logical-to-physical (LtoP) table in a storage device comprising a processor, a volatile memory, and a non-volatile memory, the storage device being in communication with a host, the method comprising:
 receiving, by the processor, data for storing at a physical address in the non-volatile memory, the data being associated with a logical address of the host; 
 storing, by the processor, the physical address in a first LtoP zone of a plurality of LtoP zones of the LtoP table, the LtoP table being stored in the volatile memory; 
 adding, by the processor, the first LtoP zone to a list of modified zones when one or more physical addresses in the first LtoP zone are modified due to a logical block write; and 
 storing, by the processor, a second LtoP zone of the plurality of LtoP zones in the non-volatile memory when a size of the list of modified zones exceeds a threshold. 
 
     
     
       2. The method of  claim 1 , wherein at least one physical address is stored in each LtoP zone of the plurality of LtoP zones. 
     
     
       3. The method of  claim 1 , further comprising:
 after the receiving of the data, storing, by the processor, the data at the physical address in the non-volatile memory. 
 
     
     
       4. The method of  claim 1 , further comprising:
 after the storing of the second LtoP zone, removing the second LtoP zone from the list of modified zones, 
 wherein the second zone was earlier added to the list of modified zones. 
 
     
     
       5. The method of  claim 1 , wherein the storing of the second LtoP zone in the non-volatile memory comprises storing the second LtoP zone in a data structure comprising a zone number and a zone information. 
     
     
       6. The method of  claim 1 , wherein the size of the list of modified zones is equal to a number of LtoP zones of the plurality of LtoP zones added to the list of modified zones. 
     
     
       7. The method of  claim 1 , wherein zones of the plurality of LtoP zones are contiguous and sequential. 
     
     
       8. The method of  claim 1 , wherein each LtoP zone of the plurality of LtoP zones is 4 KB in size. 
     
     
       9. A storage device configured to maintain and update a logical-to-physical (LtoP) table resilient to power cycles, and in communication with a host, the storage device comprising:
 a processor; and 
 a memory comprising a volatile memory and a non-volatile memory, wherein the memory has stored thereon instructions that, when executed by the processor, cause the processor to perform:
 receiving data for storing at a physical address in the non-volatile memory, the data being associated with a logical address of the host; 
 storing the physical address in a first LtoP zone of a plurality of LtoP zones of the LtoP table, the LtoP table being stored in the volatile memory; 
 adding the first LtoP zone to a list of modified zones when one or more physical addresses in the first LtoP zone are modified due to a logical block write; and 
 storing a second LtoP zone of the plurality of LtoP zones in the non-volatile memory when a size of the list of modified zones exceeds a threshold. 
 
 
     
     
       10. The storage device of  claim 9 , wherein at least one physical address is stored in each LtoP zone of the plurality of LtoP zones. 
     
     
       11. The storage device of  claim 9 , wherein the executed instructions further cause the processor to perform:
 after the storing of the second LtoP zone, removing the second LtoP zone from the list of modified zones, 
 wherein the second zone was earlier added to the list of modified zones. 
 
     
     
       12. The storage device of  claim 9 , wherein the storing of the second LtoP zone in the non-volatile memory comprises storing the second LtoP zone in a data structure comprising a zone number and a zone information.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.