IP Library Granted Patent US 11,327,837
Granted Patent B2
US 11,327,837 · App. 17/127,306 · Granted May 10, 2022

Method and system for identifying erased memory areas

Inventors: Richard David Barndt (San Diego, CA); Seyhan Karakulak (San Diego, CA); Scott Kayser (San Diego, CA); Majid Nemati Anaraki (San Diego, CA); Anthony Dwayne Weathers (San Diego, CA)
Assignee: Western Digital Technologies, Inc.
G06F11/1068G06F11/1004G11C29/52H03M13/2906H03M13/2948H03M13/3707G11C2029/0411H03M13/1102H03M13/1108H03M13/1111H03M13/152
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 11,327,837
App. No.
17/127,306
Granted
May 10, 2022
Kind
B2
Abstract

The subject technology provides for scanning blocks of a flash memory device for erased pages. A first codeword read from a page of a block in a flash memory device is received and provided to a first decoder for decoding. In response to receiving a first success indicator from the first decoder indicating that the first codeword was successfully decoded, first decoded data is provided from the first decoder to a second decoder for verification of the first decoded data. In response to receiving a first failure indicator from the second decoder indicating that the first decoded data was not verified, the page of the block is identified as being in an erased state based on the first success indicator received from the first decoder and the first failure indicator received from the second decoder.

Claims (76)

1. A machine-implemented method, comprising:

receiving a first codeword, from a page of a memory, by a first decoder for decoding;

responsive to the first codeword being decodable by the first decoder, providing first decoded data to a second decoder for verification;

responsive to the first decoded data not being verified, identifying a first state of the page as being in an erased state;

responsive to performing a decoding operation on a second codeword from the page, identifying a second state of the page as being in a state other than the erased state; and

when the first state of the page corresponding to the first codeword is different from the second state of the page corresponding to the second codeword, identifying the page as being in a state other than the erased state.

2. The machine-implemented method of claim 1 , wherein performing the decoding operation on the second codeword comprises:

receiving the second codeword by the first decoder for decoding;

when the second codeword is not decodable, identifying the second state of the page as being in a programmed state; and

when the second codeword is successfully decoded:

providing second decoded data to the second decoder for verification; and

when the second decoded data is verified, identifying the second state of the page as being in the programmed state.

3. The machine-implemented method of claim 1 , wherein:

when the first codeword is not decodable by the first decoder, identifying the first state of the page as being in a programmed state; and

when the first codeword is successfully decoded by the first decoder and the first decoded data is verified, identifying the first state of the page as being in the programmed state.

4. The machine-implemented method of claim 1 , comprising:

configuring the first decoder to operate in a scanning configuration, wherein codewords having all bits at a first logical value are decodable by the first decoder operating in the scanning configuration.

5. The machine-implemented method of claim 4 , comprising:

configuring the second decoder to operate in the scanning configuration, wherein the codewords having all bits at the first logical value are not verifiable by the second decoder operating in the scanning configuration.

6. The machine-implemented method of claim 5 , wherein the scanning configuration of the first decoder and the scanning configuration of the second decoder are different from a writing configuration used to encode data for writing to the memory.

7. The machine-implemented method of claim 1 , comprising:

providing a first success indicator at the first decoder when the first codeword is successfully decoded by the first decoder;

providing a first failure indicator at the second decoder when the first decoded data is not verified by the second decoder;

providing a second success indicator at the first decoder when the second codeword is successfully decoded by the first decoder;

providing second decoded data from the first decoder to the second decoder for verification of the second decoded data in response to receiving the second success indicator; and

providing a second failure indicator at the second decoder when the second decoded data is not verified,

wherein the page is identified as being in the erased state when both the first and second success indicators and both the first and second failure indicators are provided.

8. The machine-implemented method of claim 7 , wherein the page is not identified as being in the erased state when at least one of the following is not provided: the first success indicator, the second success indicator, the first failure indicator, or the second failure indicator.

9. The machine-implemented method of claim 1 , wherein the first decoder is an error-correcting code decoder and the second decoder is an error-detecting decoder.

10. The machine-implemented method of claim 1 , wherein the first decoder is a low-density parity-check decoder.

11. A data storage system, comprising:

a memory; and

one or more controllers configured to cause:

receiving a first codeword, from a page of the memory, by a first decoder for decoding;

responsive to the first codeword being decodable by the first decoder, providing first decoded data to a second decoder for verification;

responsive to the first decoded data not being verified, identifying a first state of the page as being in an erased state;

responsive to performing a decoding operation on a second codeword from the page, identifying a second state of the page as being in a state other than the erased state; and

when the first state of the page corresponding to the first codeword is different from the second state of the page corresponding to the second codeword, identifying the page as being in a state other than the erased state.

12. The data storage system of claim 11 ,

wherein performing the decoding operation on the second codeword comprises:

receiving the second codeword by the first decoder for decoding;

when the second codeword is not decodable, identifying the second state of the page as being in a programmed state; and

when the second codeword is successfully decoded:

providing second decoded data to the second decoder for verification; and

when the second decoded data is verified, identifying the second state of the page as being in the programmed state.

13. The data storage system of claim 11 , wherein the one or more controllers are configured to cause:

when the first codeword is not decodable by the first decoder, identifying the first state of the page as being in a programmed state; and

when the first codeword is successfully decoded by the first decoder and the first decoded data is verified, identifying the first state of the page as being in the programmed state.

14. The data storage system of claim 11 , wherein the one or more controllers are configured to cause:

configuring the first decoder to operate in a scanning configuration, wherein codewords having all bits at a first logical value are decodable by the first decoder operating in the scanning configuration.

15. The data storage system of claim 14 , wherein the one or more controllers are configured to cause:

configuring the second decoder to operate in the scanning configuration, wherein the codewords having all bits at the first logical value are not verifiable by the second decoder operating in the scanning configuration.

16. The data storage system of claim 15 , wherein the scanning configuration of the first decoder and the scanning configuration of the second decoder are different from a writing configuration used to encode data for writing to the memory.

17. An apparatus, comprising:

means for receiving a first codeword, from a page of a memory, by a first decoder for decoding;

means for, responsive to the first codeword being decodable by the first decoder, providing first decoded data to a second decoder for verification;

means for, responsive to the first decoded data not being verified, identifying a first state of the page as being in an erased state;

means for, responsive to performing a decoding operation on a second codeword from the page, identifying a second state of the page as being in a state other than the erased state; and

when the first state of the page corresponding to the first codeword is different from the second state of the page corresponding to the second codeword, means for identifying the page as being in a state other than the erased state.

18. The apparatus of claim 17 ,

wherein performing the decoding operation on the second codeword comprises:

receiving the second codeword by the first decoder for decoding;

when the second codeword is not decodable, identifying the second state of the page as being in a programmed state; and

when the second codeword is successfully decoded:

providing second decoded data to the second decoder for verification; and

when the second decoded data is verified, identifying the second state of the page as being in the programmed state.

19. The apparatus of claim 17 , comprising:

when the first codeword is not decodable by the first decoder, means for identifying the first state of the page as being in a programmed state; and

when the first codeword is successfully decoded by the first decoder and the first decoded data is verified, means for identifying the first state of the page as being in the programmed state.

20. The apparatus of claim 17 , comprising:

means for providing a first success indicator at the first decoder when the first codeword is successfully decoded by the first decoder;

means for providing a first failure indicator at the second decoder when the first decoded data is not verified by the second decoder;

means for providing a second success indicator at the first decoder when the second codeword is successfully decoded by the first decoder;

means for providing second decoded data from the first decoder to the second decoder for verification of the second decoded data in response to receiving the second success indicator;

means for providing a second failure indicator at the second decoder when the second decoded data is not verified; and

means for identifying the page as not being in the erased state when at least one of the following is not provided: the first success indicator, the second success indicator, the first failure indicator, or the second failure indicator.

Assignments (10)
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 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/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 - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
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 →
RELEASE OF SECURITY INTEREST AT REEL 055404 FRAME 0942 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058966/0407 →
SECURITY INTEREST Recorded Feb 24, 2021
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 055404/0942 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2021
From: BARNDT, RICHARD DAVID; KARAKULAK, SEYHAN; KAYSER, SCOTT; ANARAKI, MAJID NEMATI; WEATHERS, ANTHONY DWAYNE
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 054892/0889 →