IP Library Granted Patent US 10,101,930
Granted Patent B2
US 10,101,930 · App. 15/281,902 · Granted Oct 16, 2018

System and method for supporting atomic writes in a flash translation layer

Inventors: Nader Salessi (Laguna Niguel, CA); Joao Alcantara (Irvine, CA)
Assignee: NGD Systems, Inc.
G06F3/0619G06F3/065G06F3/0644G06F3/0679G06F12/0246G06F12/0292G06F12/1009G06F2212/2022G06F2212/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 10,101,930
App. No.
15/281,902
Granted
Oct 16, 2018
Kind
B2
Abstract

A method for memory-efficient backup of a logical-to-physical (LtoP) table in a storage device having a processor, a volatile memory, and a non-volatile memory, includes retrieving and subsequently processing, by the processor, a plurality of flushed zone segments stored in a first block stripe of the non-volatile memory in an order opposite to an order of storage of the plurality of flushed zone segments in the first block stripe in the non-volatile memory, wherein the processing of the plurality of flushed zone segments includes identifying a retrieved flushed zone segment of the plurality of flushed zone segments differing from all previously retrieved plurality of flushed zone segments, and writing the identified retrieved flushed zone segment of the plurality of flushed zone segments to a second block stripe of the non-volatile memory.

Claims (24)

1. A method for memory-efficient backup of 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:

for each flushed zone segment of a plurality of flushed zone segments stored in a first block stripe of the non-volatile memory, retrieving and subsequently processing, by the processor, the flushed zone segment in an order opposite to an order of storage of the plurality of flushed zone segments in the first block stripe in the non-volatile memory, the retrieving and the subsequently processing being performed one flushed zone segment at a time,

wherein each of the plurality of flushed zone segments comprises a header storing a zone number, and two or more of the plurality of flushed zone segments stored in the first block stripe have a same zone number, and

wherein the processing of the plurality of flushed zone segments comprises:

identifying a retrieved flushed zone segment of the plurality of flushed zone segments differing from all previously retrieved plurality of flushed zone segments; and

writing the identified retrieved flushed zone segment of the plurality of flushed zone segments to a second block stripe of the non-volatile memory, and

wherein each flushed zone segment of the plurality of flushed zone segments corresponds to a plurality of logical addresses of the host.

2. The method of claim 1 , wherein each of the plurality of flushed zone segments further comprises zone information.

3. The method of claim 1 , wherein identifying a retrieved flushed zone segment of the plurality of flushed zone segments comprises:

identifying a retrieved flushed zone segment of the plurality of flushed zone segments having a retrieved zone number differing from zone numbers of all previously retrieved plurality of flushed zone segments.

4. The method of claim 2 , wherein zone information comprises a plurality of physical addresses of the LtoP table and an associated plurality of logical addresses of host data previously stored at the non-volatile memory.

5. A storage device configured to efficiently backup a logical-to-physical (LtoP) table in a non-volatile memory, the storage device being in communication with a host, the storage device comprising:

a processor; and

a memory comprising a volatile memory and the non-volatile memory, wherein the memory has stored thereon instructions that, when executed by the processor, cause the processor to perform:

for each flushed zone segment of a plurality of flushed zone segments stored in a first block stripe of the non-volatile memory, retrieving and subsequently processing the flushed zone segment n an order opposite to an order of storage of the plurality of flushed zone segments in the first block stripe in the non-volatile memory, the retrieving and the subsequently processing being performed one flushed zone segment at a time,

wherein each of the plurality of flushed zone segments comprises a header storing a zone number, and two or more of the plurality of flushed zone segments stored in the first block stripe have a same zone number, and

wherein the processing of the plurality of flushed zone segments comprises:

identifying a retrieved flushed zone segment of the plurality of flushed zone segments differing from all previously retrieved plurality of flushed zone segments; and

writing the identified retrieved flushed zone segment of the plurality of flushed zone segments to a second block stripe of the non-volatile memory, and

wherein each flushed zone segment of the plurality of flushed zone segments corresponds to a plurality of logical addresses of the host.

6. The storage device of claim 5 , wherein each of the plurality of flushed zone segments further comprises zone information.

7. The storage device of claim 6 , wherein zone information comprises a plurality of physical addresses of the LtoP table and an associated plurality of logical addresses of host data previously stored at the non-volatile memory.

8. The storage device of claim 5 , wherein identifying a retrieved flushed zone segment of the plurality of flushed zone segments comprises:

identifying a retrieved flushed zone segment of the plurality of flushed zone segments having a retrieved zone number differing from zone numbers of all previously retrieved plurality of flushed zone segments.

Assignments (5)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2017
From: SALESSI, NADER; ALCANTARA, JOAO
To: NXGN DATA, INC.
Reel/Frame 041172/0213 →
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)
Division 14092821 · Nov 27, 2013
Related Publication 20170017428A1 · Jan 19, 2017