IP Library Granted Patent US 10,467,074
Granted Patent B2
US 10,467,074 · App. 15/395,144 · Granted Nov 5, 2019

Conditional journal for storage class memory devices

Inventors: Kiran Kumar Gunnam (Milpitas, CA); Viacheslav Anatolyevich Dubeyko (San Jose, CA)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
G06F11/073G06F3/0619G06F3/0658G06F3/0673G06F11/0787G06F11/141G06F12/0897G06F2212/1016G06F2212/1032G06F2212/222G06F2212/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,467,074
App. No.
15/395,144
Granted
Nov 5, 2019
Kind
B2
Abstract

Systems and methods are disclosed for a journal for a storage class memory device. The storage class memory device may execute an access command for a first page in the storage class memory device. The storage class memory device may also determine whether a failure occurred while executing the access command. The storage class memory device may create an entry in a journal for the storage class memory device if a failure occurred while executing the access command. The storage class memory device may refrain from creating the entry if a failure does not occur while executing the access command.

Claims (64)

1. A storage class memory device, comprising:

a storage class memory array;

a controller coupled to the storage class memory array, the controller configured to:

execute an access command associated with a first data for a first page in the storage class memory array;

determine whether a failure occurred while executing the access command;

attempt to recover the first data based on a recovery data generated using an erasure coding scheme when the failure comprises a read failure and the access command comprises a read command to read the first data from the first page in the storage class memory array;

transmit an error message to a sender of the access command when the first data is not recoverable based on the recovery data;

create an entry in a journal for the storage class memory device when the failure occurred while executing the access command, the entry comprising information indicating that the failure occurred while executing the access command; and

refrain from creating the entry when the failure did not occur while executing the access command.

2. The storage class memory device of claim 1 , wherein the controller is further configured to:

erase the first page when the first data is not recoverable based on the recovery data.

3. The storage class memory device of claim 1 , wherein the controller is configured to execute the access command by:

determining a physical address for the first page based on a logical address indicated in the access command.

4. The storage class memory device of claim 3 , wherein the controller is further configured to:

store the first data in the journal when the first data is recoverable based on the recovery data; and

remap a logical address indicated in the access command to one or more physical addresses of one or more other pages.

5. The storage class memory device of claim 4 , wherein the controller is further configured to:

transmit the first data to a sender of the access command.

6. The storage class memory device of claim 1 , wherein the failure comprises a write failure and the access command comprises a write command to write the first data to a first page in the storage class memory array.

7. The storage class memory device of claim 6 , wherein the controller is further configured to:

store the first data in the journal; and

remap a logical address indicated in the access command to one or more physical addresses of one or more other pages.

8. The storage class memory device of claim 7 , wherein the controller is further configured to:

transmit an error message to a sender of the access command when the first data cannot be written to another page after a threshold number of attempts.

9. The storage class memory device of claim 1 , wherein the journal is stored in the storage class memory array.

10. The storage class memory device of claim 1 , wherein the entries in the journal are associated with access commands which had failures during execution.

11. The storage class memory device of claim 1 , wherein the recovery data is stored in the journal.

12. The storage class memory device of claim 1 , wherein the recovery data is distributed among a plurality of pages of the storage class memory array.

13. A method, comprising:

executing an access command associated with a first data for a first page in a storage class memory device;

determining whether a failure occurred while executing the access command;

attempting to recover the first data based on a recovery data generated using an erasure coding scheme when the failure comprises a read failure and the access command comprises a read command to read the first data from the first page in the storage class memory device;

transmitting an error message to a sender of the access command when the first data is not recoverable based on the recovery data;

creating an entry in a journal for the storage class memory device when the failure occurred while executing the access command, the entry comprising information indicating that the failure occurred while executing the access command; and

refraining from creating the entry when the failure did not occur while executing the access command.

14. The method of claim 13 , further comprising:

erasing the first page when the first data is not recoverable based on the recovery data.

15. The method of claim 13 , wherein executing the access command comprises:

determining a physical address for the first page based on a logical address indicated in the access command.

16. The method of claim 15 , further comprising:

storing the first data in the journal when the first data is recoverable based on the recovery data; and

remap a logical address indicated in the access command to one or more physical addresses of one or more other pages.

17. The method of claim 16 , further comprising:

transmitting the first data to a sender of the access command.

18. The method of claim 13 , wherein the failure comprises a write failure and the access command comprises a write command to write the first data to a first page in the storage class memory device.

19. The method of claim 18 , further comprising:

storing the first data in the journal; and

remap a logical address indicated in the access command to one or more physical addresses of one or more other pages.

20. The method of claim 19 , further comprising:

transmitting an error message to a sender of the access command when the first data cannot be written to another page after a threshold number of attempts.

21. A storage class memory device, comprising:

a storage class memory array;

means for determining whether a failure occurred while executing an access command associated with a first data for a first page in the storage class memory array;

means for attempting to recover the first data based on a recovery data generated using an erasure coding scheme when the failure comprises a read failure and the access command comprises a read command to read the first data from the first page in the storage class memory array;

means for transmitting an error message to a sender of the access command when the first data is not recoverable based on the recovery data;

means for creating an entry in a journal for the storage class memory device when the failure occurred while executing the access command, the entry comprising information indicating that the failure occurred while executing the access command; and

means for refraining from creating the entry when the failure did not occur while executing the access command.

22. The storage class memory device of claim 21 , further comprising:

means for storing the first data in the journal when the first data is recoverable based on the recovery data; and

means for remapping a logical address indicated in the access command to one or more physical addresses of one or more other pages.

23. The storage class memory device of claim 21 , wherein the failure comprises a write failure and the access command comprises a write command to write the first data to a first page in the storage class memory device.

24. The storage class memory device of claim 23 , further comprising:

means for storing the first data in the journal; and

means for remapping a logical address indicated in the access command to one or more physical addresses of one or more other pages.

Assignments (10)
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 →
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 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2017
From: KUMAR GUNNAM, KIRAN; ANATOLYEVICH DUBEYKO, VIACHESLAV
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 043731/0373 →
Continuity (1)
Related Publication 20180189155A1 · Jul 5, 2018