IP Library Granted Patent US 11,513,890
Granted Patent B1
US 11,513,890 · App. 17/332,727 · Granted Nov 29, 2022

Adaptive read scrub

Inventors: Evgeny Mekhanik (Rehovot, IL); Dudy David Avraham (Even Yehuda, IL); Alexander Bazarsky (Holon, IL)
Assignee: Western Digital Technologies, Inc.
G06F11/106G06F11/076G06F11/1068G06F11/3058
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,513,890
App. No.
17/332,727
Granted
Nov 29, 2022
Kind
B1
Abstract

A data storage device includes a memory device and a controller coupled to the memory device. The controller is configured to receive a read command form a host device, collect environment data of the memory device, decode data associated with the read command, determine a bit error rate (BER) of the decoded data, compare the BER to a threshold, and determine whether the data associated with the read command is to be relocated. The environment data includes temperature, number of program/erase cycles, amount of grown defects, number of past relocations and time since last data relocation. The controller is further configured to dynamically adjust the threshold based on the collected environment data and an amount of time that has passed since a last relocation of the read command data.

Claims (57)

1. A data storage device, comprising:

a memory device; and

a controller coupled to the memory device, wherein the controller is configured to:

receive a read command from a host device;

collect environment data of the memory device, wherein the environment data comprises temperature, number of program/erase cycles, amount of grown defects, number of past relocations, and time since last data relocation;

adjust one or more bit error rate (BER) thresholds of a plurality of BER thresholds based on the collected environment data;

read data from the memory device in accordance with the read command;

decode the data associated with the read command;

determine a BER of the decoded data;

compare the BER to each BER threshold of the plurality of BER thresholds; and

perform an action based on the comparing, wherein the action is selected from a group consisting of:

periodic monitoring, re-collecting of the environment data, and adjustment of periodic activities;

priority updating of one or more read levels corresponding to the data read from the memory device, re-collecting of the environment data, and preparing to move the data read from the memory device to a different location of the memory device;

periodic re-acquiring of the BER corresponding to the data read from the memory device in a background operation; and

data eviction or data recovery of the data read from the memory device.

2. The device of claim 1 , wherein collecting the environment data is in response to determining the BER is above the threshold.

3. The device of claim 1 , wherein collecting the environment data occurs prior to or during decoding of the data.

4. The device of claim 1 , wherein the threshold is dynamic.

5. The device of claim 1 , wherein the controller is further configured to adjust the threshold based upon an amount of time that has passed since a previous data relocation.

6. The device of claim 1 , wherein the controller comprises a BER notification handling unit that is configured to trigger collection of the environment data.

7. The device of claim 1 , wherein the controller further comprises a BER notification adjustment unit that is configured to adjust the one or more BER thresholds based upon the environment data.

8. The device of claim 7 , wherein the BER notification adjustment unit is firmware.

9. The device of claim 1 , wherein the controller further comprises an environment data collection unit for collecting environment data, wherein the environment data collection unit is firmware.

10. A data storage device, comprising:

a memory device; and

a controller coupled to the memory device, wherein the controller is configured to:

receive a read command from a host device;

read data from the memory device based on the read command;

collect environment data for the memory device;

dynamically adjust one or more bit error rate (BER) thresholds of a plurality of BER thresholds based upon the collected environment data and an amount of time that has passed since a last relocation of the data read from the memory device;

determine a BER of the data read from the memory device;

compare the BER to each BER threshold of the plurality of BER thresholds; and

perform an action based on the comparing, wherein the action is selected from a group consisting of:

periodic monitoring, re-collecting of the environment data, and adjustment of periodic activities;

priority updating of one or more read levels corresponding to the data read from the memory device, re-collecting of the environment data, and preparing to move the data read from the memory device to a different location of the memory device;

periodic re-acquiring of the BER corresponding to the data read from the memory device in a background operation; and

data eviction or data recovery of the data read from the memory device.

11. The device of claim 10 , wherein the controller is further configured to update statistical counters of high BER/data reclaim reports at particular environment conditions.

12. The device of claim 10 , wherein the controller is configured to collect the environment data in response to determining that decoded data has a BER above a first BER threshold of the plurality of BER thresholds.

13. The device of claim 10 , wherein the controller is further configured to analyze the environment data for data retention indications, temperature conditions, amount of data written and read in different conditions, amount of data reclaims, or combinations thereof.

14. The device of claim 10 , wherein the controller is further configured to analyze collected data regarding an amount of BER thresholds exceeded and corresponding environment conditions.

15. The device of claim 10 , wherein the controller is further configured to analyze collected data regarding an amount of data evictions in specific thermal and/or environment conditions.

16. The device of claim 10 , wherein the controller is further configured to analyze collected data regarding a rate of successful or failed data eviction per specific thermal and/or environment conditions.

17. A data storage device, comprising:

memory means; and

a controller coupled to the memory means, wherein the controller is configured to:

receive a read command from a host device;

calculate a bit error rate (BER) for data associated with the read command;

compare the BER to each BER threshold of a plurality of BER thresholds, wherein each BER threshold is a function of environment conditions of the memory means, wherein the environment conditions comprises a temperature of the memory means, a number of program/erase cycles of the memory means, an amount of grown defects of the memory means, a number of past relocations of the memory means, and a time since last data relocation of the memory means; and

perform an action based on the comparing, wherein the action is selected from a group consisting of:

periodic monitoring, re-collecting of the environment conditions, and adjustment of periodic activities;

priority updating of one or more read levels corresponding to the data read from the memory device, re-collecting of the environment conditions, and preparing to move the data read from the memory device to a different location of the memory device;

periodic re-acquiring of the BER corresponding to the data read from the memory device in a background operation; and

data eviction or data recovery of the data read from the memory device.

18. The device of claim 17 , wherein the controller is further configured to adjust one or more BER thresholds of the plurality of BER thresholds based on collected environment conditions of the data storage device.

19. The device of claim 17 , wherein the controller is further configured to increase one or more BER thresholds of the plurality of BER thresholds upon determining the environment conditions are not sufficient to justify relocating data.

20. The device of claim 17 , wherein the controller is further configured to relocate the data upon determining a BER threshold of the plurality of BER thresholds is exceeded.

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 057651 FRAME 0296 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058981/0958 →
SECURITY INTEREST Recorded Sep 17, 2021
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 057651/0296 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2021
From: MEKHANIK, EVGENY; AVRAHAM, DUDY DAVID; BAZARSKY, ALEXANDER
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 056723/0667 →
Cited By (1)
US 12,306,712