IP Library Granted Patent US 8,880,977
Granted Patent B2
US 8,880,977 · App. 13/329,684 · Granted Nov 4, 2014

Systems and methods of storing data

Inventors: Eran Sharon (Rishon Lezion, IL); Idan Alrod (Herzliya, IL); Simon Litsyn (Givat Shmuel, IL)
Assignee: SanDisk Technologies Inc.
G11C7/1006G11C11/5628G06F11/1044G06F11/1068G06F11/1072G11C2211/5641G11C11/5642
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 8,880,977
App. No.
13/329,684
Granted
Nov 4, 2014
Kind
B2
Abstract

A method of writing data includes receiving a data page to be stored in a data storage device and initiating an encode operation to encode the data page. The encode operation generates first encoded data and a first portion of the first encoded data is stored to the first physical page of the data storage device. The method includes initiating storage of a second portion of the first encoded data to a second physical page of the data storage device. The method also includes initiating a decode operation to recover the data page. The decode operation uses a representation of the first portion of the first encoded data that is read from the first physical page without using any data from the second physical page.

Claims (40)

1. A method of writing data, the method comprising:

in a data storage device with multiple physical pages including a first physical page and a second physical page, performing:

receiving a data page to be stored in the data storage device;

initiating an encode operation to encode the data page, wherein the encode operation generates first encoded data;

storing a first portion of the first encoded data to the first physical page;

initiating storage of a second portion of the first encoded data to the second physical page, wherein the first portion of the first encoded data includes sufficient redundancy such that the data page can be recovered by using the first portion of the first encoded data without using the second portion of the first encoded data; and

initiating a decode operation to recover the data page, wherein the decode operation uses a representation of the first portion of the first encoded data that is read from the first physical page without using any data from the second physical page.

2. The method of claim 1 , wherein the data page is received from a host device while the data storage device is operatively coupled to the host device.

3. The method of claim 2 , further comprising sending a message to the host device in response to storing the first portion of the first encoded data, the message indicating that the data page has been successfully stored at the data storage device, and wherein the message is sent prior to completing storage of the second portion of the first encoded data.

4. The method of claim 1 , wherein the decode operation is initiated in response to resumption of power after a power-off event prior to completion of writing the second portion of the first encoded data.

5. The method of claim 4 , further comprising, after recovering the data page via the decode operation:

initiating a second encode operation to encode the data page, wherein the second encode operation generates second encoded data; and

storing a first portion of the second encoded data to a third physical page.

6. The method of claim 5 , wherein the first portion of the second encoded data is stored to a first logical page within the third physical page, and further comprising storing a second portion of the second encoded data to a second logical page within the third physical page.

7. The method of claim 6 , wherein the first encoded data has a length exceeding a size of the first physical page and wherein the second encoded data has a length exceeding a size of the first logical page.

8. The method of claim 5 , wherein the data storage device includes a flash memory having a single-level cell (SLC) portion and a multi-level cell (MLC) portion, wherein the first physical page and the second physical page are in the SLC portion of the flash memory.

9. The method of claim 8 , wherein the third physical page is in the multi-level cell (MLC) portion of the flash memory.

10. The method of claim 1 , wherein the encoding operation is a single encoding operation.

11. The method of claim 10 , wherein the single encoding operation generates a single error correcting code (ECC) codeword that includes the first portion and the second portion.

12. A method of writing data, the method comprising:

in a data storage device with multiple physical pages including a first physical page and a second physical page, performing:

receiving from a host device a data page to be stored in the data storage device;

initiating an encode operation to encode the data page, wherein the encode operation generates first encoded data;

storing a first portion of the first encoded data to the first physical page;

initiating storage of a second portion of the first encoded data to the second physical page, wherein the first portion of the first encoded data includes sufficient redundancy such that the data page can be recovered by using the first portion of the first encoded data without using the second portion of the first encoded data; and

sending a message to the host device in response to storing the first portion of the first encoded data, the message indicating that the data page has been successfully stored at the data storage device, and wherein the message is sent prior to completing storage of the second portion of the first encoded data.

13. A data storage device comprising:

a controller; and

a memory including a first physical page and a second physical page,

wherein the controller is configured to initiate an encode operation to encode a received data page and to initiate storage of first encoded data generated by the encode operation, wherein a first portion of first encoded data generated by the encode operation is to be stored to the first physical page and wherein a second portion of the first encoded data is to be stored to the second physical page,

wherein the first portion of the first encoded data includes sufficient redundancy such that the data page can be recovered by using the first portion of the first encoded data without using the second portion of the first encoded data, and

wherein the controller is operable to initiate a decode operation to recover the data page, wherein the decode operation uses a representation of the first portion of the first encoded data that is read from the first physical page without using any data from the second physical page.

14. The data storage device of claim 13 , wherein the data page is received from a host device while the data storage device is operatively coupled to the host device.

15. The data storage device of claim 14 , wherein the controller is further configured to send a message to the host device in response to storing the first portion of the first encoded data, the message indicating that the data page has been successfully stored at the data storage device, and wherein the controller is configured to send the message prior to completing storage of the second portion of the first encoded data.

16. The data storage device of claim 13 , wherein the controller is configured to initiate the decode operation in response to resumption of power after a power-off event prior to completion of writing the second portion of the first encoded data.

17. The data storage device of claim 16 , wherein after recovering the data page via the decode operation, the controller is operative to initiate a second encode operation to encode the data page, wherein the second encode operation generates second encoded data, and to store a first portion of the second encoded data to a third physical page.

18. The data storage device of claim 17 , wherein the first portion of the second encoded data is stored to a first logical page within the third physical page, and wherein a second portion of the second encoded data is stored to a second logical page within the third physical page.

19. The data storage device of claim 18 , wherein the first encoded data has a length exceeding a size of the first physical page and wherein the second encoded data has a length exceeding a size of the first logical page.

20. The data storage device of claim 17 , wherein the memory includes a flash memory having a single-level cell (SLC) portion and a multi-level cell (MLC) portion, and wherein the first physical page and the second physical page are in the SLC portion of the flash memory.

21. The data storage device of claim 20 , wherein the third physical page is in the multi-level cell (MLC) portion of the flash memory.

Assignments (5)
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038807/0898 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2011
From: SHARON, ERAN; ALROD, IDAN; LITSYN, SIMON
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 027408/0945 →
Continuity (2)
Provisional Application 61510892 · Jul 22, 2011
Related Publication 20130024747A1 · Jan 24, 2013