IP Library Granted Patent US 9,177,638
Granted Patent B2
US 9,177,638 · App. 13/675,913 · Granted Nov 3, 2015

Methods and devices for avoiding lower page corruption in data storage devices

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,177,638
App. No.
13/675,913
Granted
Nov 3, 2015
Kind
B2
Abstract

A data storage device may comprise a plurality of Multi-Level Cell (MLC) non-volatile memory devices comprising a plurality of lower pages and a corresponding plurality of higher-order pages. A controller may be configured to write data to and read data from the plurality of lower pages and the corresponding plurality of higher-order pages. A buffer may be coupled to the controller, which may be configured to accumulate data to be written to the MLC non-volatile memory devices, allocate space in the buffer and write the accumulated data to the allocated space. At least a portion of the accumulated data may be written in a lower page of the MLC non-volatile memory devices and the space in the buffer that stores data written to the lower page may be de-allocated when all higher-order pages corresponding to the lower page have been written in the MLC non-volatile memory devices.

Claims (60)

1. A data storage device, comprising:

a plurality of Multi-Level Cell (MLC) non-volatile memory devices comprising a plurality of lower pages and a corresponding plurality of higher-order pages;

a controller coupled to the plurality of MLC non-volatile memory devices and configured to write data to and read data from the plurality of lower pages and the corresponding plurality of higher-order pages; and

a buffer comprising non-volatile memory, the buffer being separate from the plurality of MLC non-volatile memory devices and coupled to the controller;

wherein the controller is configured to:

accumulate data to be written to the MLC non-volatile memory devices;

allocate space in the buffer and write the accumulated data to the allocated space in the buffer;

write at least a portion of the accumulated data in a lower page of the MLC non-volatile memory devices;

detect a loss of power;

read data from the buffer and write at least a portion of the read data to the MLC non-volatile memory devices after power is restored to the data storage device subsequent to detecting the loss of power; and

de-allocate space in the buffer that stores data written to the lower page when all higher-order pages corresponding to the lower page have been written in the MLC non-volatile memory devices.

2. The data storage device of claim 1 , wherein the non-volatile memory comprises Magnetic Random Access Memory (MRAM).

3. The data storage device of claim 1 , wherein the buffer is at least sufficiently large to enable recovery from lower page corruption after a power loss to the data storage device.

4. The data storage device of claim 1 , wherein the MLC non-volatile memory devices are configured to operate in lower page only mode or in Single Level Cell (SLC) mode.

5. The data storage device of claim 1 , wherein the controller is further configured to generate and send a write acknowledgement to a host after the accumulated data is written to the allocated space in the buffer.

6. The data storage device of claim 1 , wherein the MLC non-volatile memory devices comprise a plurality of blocks, each of the plurality of blocks comprising a plurality of physical pages, a collection of blocks defining a superblock (S-Block), a collection of physical pages with one physical page per block in an S-Block defining a superpage (S-Page), and wherein the data is accumulated, written and stored in units of S-Pages.

7. The data storage device of claim 1 , further comprising a backup source of power and a non-volatile memory, wherein the buffer comprises volatile memory and wherein the backup source of power is configured to power at least a portion of the data storage device at least as long as necessary for the controller to write the data from the buffer to the non-volatile memory.

8. The data storage device of claim 7 , wherein the non-volatile memory comprises Magnetic Random Access Memory (MRAM).

9. The data storage device of claim 7 , wherein the controller is further configured to write at least a portion of the data in the non-volatile memory to the MLC non-volatile memory devices, after power is restored to the data storage device after a loss of power.

10. The data storage device of claim 1 , further comprising a write store and wherein the controller is further configured to write the accumulated data to the write store as the accumulated data is written to the allocated space in the buffer.

11. The data storage device of claim 1 , wherein controller is further configured to also de-allocate space in the buffer that stores data written to the higher-order pages when all higher-order pages corresponding to the lower page have been written in the MLC non-volatile memory devices.

12. A data storage device controller, comprising:

a processor configured to couple to a buffer comprising non-volatile memory and to a plurality of Multi-Level Cell (MLC) non-volatile memory devices that comprise a plurality of lower pages and a corresponding plurality of higher-order pages, the buffer being separate from the plurality of MLC non-volatile memory devices, the processor being further configured to:

read data from the plurality of lower pages and the corresponding plurality of higher-order pages; and

write data to the plurality of lower pages and the corresponding plurality of higher-order pages by at least:

accumulating data to be written to the MLC non-volatile memory devices;

allocating, space in the buffer and writing the accumulated data to the allocated space in the buffer;

writing at least a portion of the accumulated data in a lower page of the MLC non-volatile memory devices;

detecting a loss of power;

reading data from the buffer and writing at least a portion of the read data to the MLC non volatile memory devices after power is restored to the data storage device subsequent to detecting the loss of power; and

de-allocating space in the buffer that stores data written to the lower page when all higher-order pages corresponding to the tower page have been written in the MLC non-volatile memory devices.

13. The data storage device controller of claim 12 , wherein the non-volatile memory comprises Magnetic Random Access Memory (MRAM).

14. The data storage device controller of claim 12 , wherein the buffer is at least sufficiently large to enable recovery from lower page corruption after a power loss to the data storage device.

15. The data storage device controller of claim 12 , wherein the MLC non-volatile memory devices are configured to operate in lower page only mode or in Single Level Cell (SLC) mode.

16. The data storage device controller of claim 12 , wherein the processor is further configured to generate and send a write acknowledgement to a host after the accumulated data is written to the allocated space in the buffer.

17. The data storage device controller of claim 12 , wherein the MLC non-volatile memory devices comprise a plurality of blocks, each of the plurality of blocks comprising a plurality of physical pages, a collection of blocks defining a superblock (S-Block), a collection of physical pages with one physical page per block in an S-Block defining a superpage (S-Page), and wherein the data is accumulated, written and stored in units of S-Pages.

18. The data storage device controller of claim 12 , further comprising a backup source of power and a non-volatile memory, wherein the buffer comprises volatile memory and wherein the backup source of power is configured to power at least a portion of the data storage device at least as long as necessary for the controller to write the data from the buffer to the non-volatile memory.

19. The data storage device controller of claim 18 , wherein the non-volatile memory comprises Magnetic Random Access Memory (MRAM).

20. The data storage device controller of claim 18 , wherein the processor is further configured to write at least a portion of the data in the non-volatile memory to the MLC non-volatile memory devices, after power is restored to the data storage device after a loss of power.

21. The data storage device controller of claim 12 , further comprising a write store and wherein the processor is further configured to write the accumulated data to the write store as the accumulated data is written to the allocated space in the buffer.

22. The data storage device controller of claim 12 , wherein processor is further configured to also de-allocate space in the buffer that stores data written to the higher-order pages when all higher-order pages corresponding to the lower page have been written in the MLC non-volatile memory devices.

23. A method of controlling a data storage device, the data storage device comprising a buffer comprising non-volatile memory and a plurality of Multi-Level Cell (MLC) non-volatile memory devices that comprise a plurality of lower pages and a corresponding plurality of higher-order pages, the buffer being separate from the plurality of MLC non-volatile memory devices, the method comprising:

reading data from the plurality of lower pages and the corresponding plurality of higher-order pages; and

writing, data to the plurality of lower pages and the corresponding plurality of higher-order pages by at least:

accumulating data to be written to the MLC non-volatile memory devices;

allocating space in the separate buffer and writing the accumulated data to the allocated space in the separate buffer;

writing at least a portion of the accumulated data in a lower page of the MLC non-volatile memory devices;

detecting a loss of power;

reading data from the separate buffer and writing at least a portion of the read data to the MLC non-volatile memory devices after power is restored to the data storage device subsequent to detecting the loss of power; and

de-allocating space in the separate buffer that stores data written to the lower page when all higher-order pages corresponding to the lower page have been written in the MLC non-volatile memory devices.

24. The method of claim 23 , wherein the non-volatile memory comprises Magnetic Random Access Memory (MRAM).

25. The method of claim 23 , wherein the buffer is at least sufficiently large to enable recovery from lower page corruption after a power loss to the data storage device.

26. The method of claim 23 , wherein the MLC non-volatile memory devices are configured to operate in lower page only mode or in Single Level Cell (SLC) mode.

27. The method of claim 23 , further comprising generating and sending a write acknowledgement to a host after the accumulated data is written to the allocated space in the buffer.

28. The method of claim 23 , wherein the MLC non-volatile memory devices comprise a plurality of blocks, each of the plurality of blocks comprising a plurality of physical pages, a collection of blocks defining a superblock (S-Block), a collection of physical pages with one physical page per block in an S-Block defining a superpage (S-Page), and accumulating, writing and storing is carried out in units of S-Pages.

29. The method of claim 23 , further comprising a backup source of power and a non-volatile memory, wherein the buffer comprises volatile memory and wherein the method further comprises the backup source of power powering at least a portion of the data storage device at least as long as necessary for the controller to write the data from the buffer to the non-volatile memory.

30. The method of claim 29 , wherein the non-volatile memory comprises Magnetic Random Access Memory (MRAM).

31. The method of claim 29 , further comprising writing at least a portion of the data in the non-volatile memory to the MLC non-volatile memory devices, after power is restored to the data storage device after a loss of power.

32. The method of claim 23 , wherein the data storage device further comprises a write store and wherein writing data further comprises writing the accumulated data to the write store as the accumulated data is written to the allocated space in the buffer.

33. The method of claim 23 , further comprising de-allocating space in the buffer that stores data written to the higher-order pages when all higher-order pages corresponding to the lower page have been written in the MLC non-volatile memory devices.

Assignments (13)
SECURITY AGREEMENT (SUPPLEMENTAL) Recorded Nov 14, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069411/0208 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2024
From: SANDISK TECHNOLOGIES, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 069168/0273 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
RELEASE OF SECURITY INTEREST AT REEL 038744 FRAME 0481 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0556 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2018
From: SKYERA, LLC
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 046726/0328 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 045501/0714 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038722/0229 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038744/0281 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038744/0481 →