IP Library Granted Patent US 10,984,882
Granted Patent B2
US 10,984,882 · App. 16/586,861 · Granted Apr 20, 2021

Run-time memory device failure detection enhancement

Inventors: Sanghoon Chu (San Jose, CA); Scott Jinn (Diamond Bar, CA); Yuriy Pavlenko (Lake Forest, CA)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
G11C29/44G06F11/0727G06F11/0757G06F11/0772G06F11/1402G06F11/1438G06F11/3034G06F11/3055G11C29/023G11C29/38G11C29/50012G06F2201/805G11C2229/72
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,984,882
App. No.
16/586,861
Granted
Apr 20, 2021
Kind
B2
Abstract

The subject technology provides implementations, which may be included as part of firmware of the flash memory device, that will not solely rely on a flash controller interpreted status but includes additional checks to the returned flash status byte. Each flash read, write, and erase command requires a status read command to determine the state of operation. Depending on the particular command issued, each bit of the returned status has a different meaning. The flash memory device firmware can check whether an illogical or inconsistent status is present. For example, if an overall pass/fail bit indicates a “pass” but a plane pass/fail bit indicates a “fail” then there could be an erroneous detection. Also, for every operation, the firmware can read status twice when the flash memory is ready. If the second status byte fails to match the first status byte then a die may be flagged as failing.

Claims (75)

1. A storage system, comprising:

a plurality of memory devices; and

a controller configured to cause:

responsive to a time interval having elapsed, providing a first check status command, wherein the time interval is associated with an operation for a memory device of the plurality of memory devices;

receiving a first signal;

determining whether the first signal indicates a status of the memory device;

providing a second check status command after the first check status command;

receiving a second signal;

determining whether the second signal is different from the first signal; and

responsive to the second signal being different from the first signal, providing an indication of a failure of the memory device.

2. The storage system of claim 1 , wherein the controller is further configured to cause:

responsive to the second signal matching the first signal, determining whether an illogical status is detected;

responsive to determining that the illogical status is detected, providing the indication of the failure of the memory device; and

responsive to determining that the illogical status is not detected, providing an indication of a success of the memory device.

3. The storage system of claim 1 , wherein the time interval represents a time for completing the operation for writing data on the memory device.

4. The storage system of claim 1 , wherein:

the time interval represents an average time for completing the operation; and

the operation is a program operation.

5. The storage system of claim 1 , wherein the time interval represents an expected time for completing the operation.

6. The storage system of claim 1 , wherein:

the first signal comprises a first number of bits;

the second signal comprises a second number of bits; and

the first number is equal to the second number.

7. The storage system of claim 1 , wherein:

the first signal comprises a first plurality of bits; and

one of the first plurality of bits indicates a ready status.

8. The storage system of claim 7 , wherein:

another bit of the first plurality of bits indicates another status of the memory device; and

the another status is different from the ready status.

9. The storage system of claim 1 , wherein the memory device is one or more memory dies.

10. The storage system of claim 1 , wherein the operation is for one or more storage blocks of the memory device.

11. The storage system of claim 1 , wherein the controller is further configured to cause:

providing, in response to the indication of the failure of the memory device, a reset instruction for the memory device;

providing an initialization instruction for the memory device;

after providing the initialization instruction, receiving an error indication associated with the memory device; and

responsive to receiving the error indication, setting the memory device as offline.

12. A machine-implemented method, comprising:

responsive to a time interval having elapsed, providing a first check status command, wherein the time interval is associated with an operation for a memory device;

receiving a first signal;

determining whether the first signal indicates a status of the memory device;

providing a second check status command after the first check status command;

receiving a second signal;

determining whether the second signal is different from the first signal; and

responsive to the second signal being different from the first signal, providing an indication of a failure of the memory device.

13. The machine-implemented method of claim 12 , further comprising:

responsive to the second signal matching the first signal, determining whether an illogical status is detected;

responsive to determining that the illogical status is detected, providing the indication of the failure of the memory device; and

responsive to determining that the illogical status is not detected, providing an indication of a success of the memory device.

14. The machine-implemented method of claim 12 , wherein the time interval represents a time for completing the operation for writing data on the memory device.

15. The machine-implemented method of claim 12 , wherein:

the first signal comprises a first plurality of bits; and

one of the first plurality of bits indicates a ready status.

16. The machine-implemented method of claim 15 , wherein:

another bit of the first plurality of bits indicates another status of the memory device; and

the another status is different from the ready status.

17. The machine-implemented method of claim 12 , further comprising:

providing, in response to the indication of the failure of the memory device, a reset instruction for the memory device;

providing an initialization instruction for the memory device;

after providing the initialization instruction, receiving an error indication associated with the memory device; and

responsive to receiving the error indication, setting the memory device as offline.

18. An apparatus, comprising:

means for providing, responsive to a time interval having elapsed, a first check status command, wherein the time interval is associated with an operation for a memory device;

means for receiving a first signal;

means for determining whether the first signal indicates a status of the memory device;

means for providing a second check status command after the first check status command;

means for receiving a second signal;

means for determining whether the second signal is different from the first signal; and

means for providing, responsive to the second signal being different from the first signal, an indication of a failure of the memory device.

19. The apparatus of claim 18 , further comprising:

means for determining, responsive to the second signal matching the first signal, whether an illogical status is detected;

means for providing, responsive to determining that the illogical status is detected, the indication of the failure of the memory device; and

means for providing, responsive to determining that the illogical status is not detected, an indication of a success of the memory device.

20. The apparatus of claim 18 , wherein:

the time interval represents an average time for completing the operation; and

the operation is a program operation.

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 051717 FRAME 0716 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058965/0385 →
SECURITY INTEREST Recorded Feb 4, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 051717/0716 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2019
From: CHU, SANGHOON; JINN, SCOTT; PAVLENKO, YURIY
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 051110/0660 →
Continuity (2)
Continuation 15600673 · May 19, 2017
Related Publication 20200027520A1 · Jan 23, 2020