IP Library Granted Patent US 10,545,810
Granted Patent B2
US 10,545,810 · App. 15/388,603 · Granted Jan 28, 2020

Method and apparatus for monitoring non-volatile memory read errors using background media scan

Inventors: Richard David Barndt (San Diego, CA); Hung-min Chang (Irvine, CA); Aldo Giovanni Cometti (San Diego, CA); Jerry Lo (Hacienda Heights, CA); Hung-Cheng Yeh (Irvine, CA)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
G06F11/079G11C16/3436G11C29/52G06F3/0619G06F2212/7205G06F2212/7209G11C16/3422
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,545,810
App. No.
15/388,603
Granted
Jan 28, 2020
Kind
B2
Abstract

Aspects of the disclosure provide a method and an apparatus that perform a background media scan (BGMS) with improved efficiency. In particular, the disclosed BGMS processes can monitor data retention performance of a large capacity solid state drive (SSD) without significantly increasing scanning overhead by scanning only some sample pages of a memory block.

Claims (52)

1. A method of monitoring a non-volatile memory (NVM) using a background media scan (BGMS), comprising:

performing the BGMS on a plurality of blocks of the NVM during a predetermined BGMS scan period, the BGMS comprising scanning a sample of pages included in each block of the plurality of blocks, wherein the scanning the sample of pages comprises scanning a first predetermined page, a second predetermined page, and a randomly selected page of a block of the plurality of blocks;

determining a read error among the sample of pages of a block of the plurality of blocks; and

scanning all pages of the block containing the read error.

2. The method of claim 1 , wherein the scanning the randomly selected page of the block comprises:

randomly selecting a first page of the block;

scanning the first page of the block;

randomly selecting a second page of the block different from the first page; and

scanning the second page of the block.

3. The method of claim 1 , wherein the scanning the randomly selected page of the block comprises:

randomly selecting a first page in a first portion of the block; and

randomly selecting a second page in a second portion of the block different from the first portion.

4. The method of claim 1 , wherein the scanning the sample of pages comprises:

scanning a page associated with a beginning wordline of a block of the blocks;

scanning a page associated with an ending wordline of the block; and

scanning a page associated with a wordline of the block arranged between the beginning wordline and the ending wordline.

5. The method of claim 1 , wherein the scanning a sample of pages comprises:

scanning only one page among a plurality of pages associated with a same wordline of each block of the plurality of blocks.

6. The method of claim 1 , further comprising:

determining a first time when data is written to a block of the plurality of blocks; and

prohibiting writing of data to the block at a second time later than the first time by a predetermined time interval.

7. The method of claim 1 , further comprising:

increasing the number of times of performing the BGMS on the plurality of blocks in the BGMS scan period in response to determining the read error.

8. The method of claim 1 , wherein the NVM comprises NAND-type flash memory.

9. The method of claim 1 , wherein the NVM is included in solid state drive (SSD).

10. A solid state drive (SSD) comprising:

a non-volatile memory (NVM); and

a processor coupled to the NVM,

wherein the processor is configured to:

perform a background media scan (BGMS) on a plurality of blocks of the NVM during a predetermined BGMS scan period, the BGMS comprising scanning a sample of pages included in each block of the plurality of blocks, wherein the scanning the sample of pages comprises scanning a first predetermined page, a second predetermined page, and a randomly selected page of a block of the plurality of blocks;

determine a read error among the sample of pages in a block of the plurality of blocks; and

scan all pages of the block containing the read error.

11. The SSD of claim 10 , wherein, in connection with scanning the randomly selected page of the block, the processor is further configured to:

randomly select a first page of the block;

scan the first page of the block;

randomly select a second page of the block different from the first page; and

scan the second page of the block.

12. The SSD of claim 10 , wherein, in connection with scanning the randomly selected page of the block, the processor is further configured to:

randomly select a first page in a first portion of the block; and

randomly select a second page in a second portion of the block different from the first portion.

13. The SSD of claim 10 , wherein, in connection with scanning a sample of pages, the processor is further configured to:

scan a page associated with a beginning wordline of a block of the blocks;

scan a page associated with an ending wordline of the block; and

scan a page associated with a wordline of the block arranged between the beginning wordline and the ending wordline.

14. The SSD of claim 10 , wherein, in connection with scanning a sample of pages, the processor is further configured to:

scan only one page among a plurality of pages associated with a same wordline of each block of the plurality of blocks.

15. The SSD of claim 10 , wherein the processor is further configured to:

determine a first time when data is written to a block of the plurality of blocks; and

prohibit writing of data to the block at a second time later than the first time by a predetermined time interval.

16. The SSD of claim 10 , wherein the processor is further configured to:

increase the number of times of performing the BGMS on the plurality of blocks in the BGMS scan period in response to determining the read error.

17. The SSD of claim 10 , wherein the NVM comprises NAND-type flash memory.

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 Dec 22, 2016
From: BARNDT, RICHARD DAVID; CHANG, HUNG-MIN; COMETTI, ALDO GIOVANNI; LO, JERRY; YEH, HUNG-CHENG
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 040753/0991 →
Continuity (1)
Related Publication 20180181300A1 · Jun 28, 2018