IP Library Granted Patent US 9,348,760
Granted Patent B2
US 9,348,760 · App. 14/481,573 · Granted May 24, 2016

System and method for efficient flash translation layer

Inventors: Nader Salessi (Laguna Niguel, CA); Joao Alcantara (Irvine, CA)
Assignee: NXGN Data, Inc.
G06F12/1009G06F12/0246G06F2212/65G06F2212/7201
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,348,760
App. No.
14/481,573
Granted
May 24, 2016
Kind
B2
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 (27)

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.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF CONVEYING PARTY PREVIOUSLY RECORDED AT REEL: 69518 FRAME: 243. ASSIGNOR(S) HEREBY CONFIRMS THE ASSET PURCHASE AGREEMENT. Recorded Jan 29, 2025
From: NGD SYSTEMS, INC.
To: NETLIST, INC.
Reel/Frame 070163/0719 →
ASSET PURCHASE AGREEMENT Recorded Dec 5, 2024
From: CMBG-FBC NGD SYSTEMS, LLC
To: NETLIST, INC.
Reel/Frame 069518/0243 →
SECURITY INTEREST Recorded Nov 3, 2021
From: NGD SYSTEMS, INC.
To: SILICON VALLEY BANK
Reel/Frame 058012/0289 →
MERGER AND CHANGE OF NAME Recorded Oct 20, 2016
From: NXGN DATA, INC.; NGD SYSTEMS, INC.
To: NGD SYSTEMS, INC.
Reel/Frame 040448/0657 →
Continuity (2)
Continuation 14092817 · Nov 27, 2013
Related Publication 20150149706A1 · May 28, 2015