IP Library › Granted Patent US 9,940,039
Granted Patent B2
US 9,940,039 · App. 14/718,270 · Granted Apr 10, 2018

Method and data storage device with enhanced data retention

Inventors: Yacov Duzly (Raanana, IL); Christopher Scott Moore (Redwood City, CA); Karin Alicia Werder (San Jose, CA); Elad Baram (Sunnyvale, CA)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
G06F3/0619G06F3/064G06F3/065G06F3/0616G06F3/0679G06F12/0238G06F12/0246G06F2212/72G06F2212/7206G06F2212/7207
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 9,940,039
App. No.
14/718,270
Granted
Apr 10, 2018
Kind
B2
Abstract

A data retention operation is performed in a non-volatile memory in response to detection of a triggering event. The data retention operation includes updating a value of a write parameter of the non-volatile memory and storing into the non-volatile memory at least one copy of contents of a boot portion of the non-volatile memory using the updated value of the write parameter. The updated value of the write parameter increases retention of stored data during extended periods of inactivity at the non-volatile memory.

Claims (52)

1. A method comprising:

a data storage device including a controller and a non-volatile memory,

wherein the non-volatile memory includes a data structure that stores data, performing by the controller:

detecting a triggering event that indicates an extended period of inactivity of the data storage device by testing at least one storage element for a change in a programmed voltage occurring over a time of programming to a time of the testing exceeds a change threshold; and

responsive to detecting the triggering event, initiating a data retention operation, wherein the data retention operation includes:

adjusting a write parameter of the non-volatile memory from a first value to a second value; and

storing at least one copy of the data in the non-volatile memory using the second value of the write parameter,

wherein the write parameter includes at least one of a voltage level that indicates a program state of a storage element, a number of program pulses used to set a program state of the storage element, or a program voltage level of each program pulse.

2. The method of claim 1 , wherein storing the at least one copy of the data using the second value of the write parameter enables enhanced data retention of the at least one copy of the data in the non-volatile memory during an extended period of inactivity as compared to data retention of data stored in the non-volatile memory using the first value of the write parameter.

3. The method of claim 1 , wherein the data storage device is coupled to an access device, and wherein the triggering event further includes receiving an instruction from the access device to initiate the data retention operation.

4. The method of claim 1 , wherein the non-volatile memory stores reference data, and wherein the write parameter is updated in response to the controller detecting that a change in the reference data exceeds a change threshold.

5. The method of claim 1 , wherein the data structure includes at least one of an access device boot partition or a controller boot block.

6. The method of claim 1 , wherein the non-volatile memory includes management data, and wherein the data retention operation further includes storing at least one copy of the management data in the non-volatile memory using the second value of the write parameter.

7. The method of claim 6 , wherein the management data includes at least one of logical address to physical address mapping data, physical address to logical address mapping data, a bad block list, a free blocks list, or a partially-filled blocks list.

8. The method of claim 1 , wherein the data retention operation further includes rewriting the data structure by reading data from the at least one copy of the data and storing the data in the data structure using the second value of the write parameter.

9. The method of claim 1 , wherein the data retention operation further includes storing one or more additional copies of the data in response to determining that an amount of unused storage capacity in the non-volatile memory satisfies a threshold.

10. The method of claim 1 , wherein the data structure includes at least a boot portion, and wherein the data includes boot data.

11. A data storage device comprising:

a non-volatile memory having a data structure that is configured to store data of at least one of a controller or an access device; and

the controller operatively coupled to the non-volatile memory, wherein the controller includes a data retention module that is configured to detect a triggering event and initiate a data retention operation in response to detecting the trigger event that indicates an extended period of inactivity of the data storage device by testing at least one storage element for a change in a programmed voltage occurring over a time of programming to a time of the testing exceeds a change threshold, wherein the data retention operation includes updating a write parameter of the non-volatile memory from a first value to a second value and initiating storage of at least one copy of the data in the non-volatile memory using the second value of the write parameter, wherein the write parameter includes at least one of a voltage level that indicates a program state of the at least one storage element, a number of program pulses used to set the program state of the at least one storage element, or a program voltage level of each program pulse.

12. The data storage device of claim 11 , wherein the data retention module is configured with a hibernation circuit.

13. The data storage device of claim 11 , further comprising a status register, wherein the triggering event includes receiving an instruction from the access device to initiate the data retention operation, and wherein the data retention module is further configured to set a status bit of the status register to a particular value subsequent to storage of the at least one copy of the data.

14. The data storage device of claim 11 , wherein, while the controller is operatively coupled to a network, the data retention module is further configured to:

read data from the data structure; and

send the data to a server of the network.

15. The data storage device of claim 11 , wherein the data structure includes at least a boot portion, and wherein the data includes boot data.

16. A method comprising:

in a data storage device including a controller and a non-volatile memory, performing:

receiving an instruction from an access device that indicates an extended period of inactivity of the data storage device based on testing at least one storage element for a change in a programmed voltage occurring over a time of programming to a time of the testing exceeds a change threshold;

initiating a data retention procedure of the non-volatile memory in response to receiving the instruction; and

updating a status register value to indicate completion of the data retention procedure, wherein the data retention procedure includes:

adjusting a write parameter of the non-volatile memory from a first value to a second value; and

storing, using the second value of the write parameter, at least one copy of data read from a data structure in the non-volatile memory, wherein the write parameter includes at least one of a voltage level that indicates a program state of the at least one storage element, a number of program pulses used to set the program state of the at least one storage element, or a program voltage level of each program pulse.

17. The method of claim 16 , wherein the data structure includes at least one of an access device boot partition or a controller boot block.

18. A method comprising:

in an access device that is coupled to a data storage device, performing:

detecting an event corresponding to a period of inactivity at the access device by testing at least one storage element for a change in a programmed voltage occurring over a time of programming to a time of the testing exceeds a change threshold; and

in response to detecting the event, sending an instruction from the access device to the data storage device indicating that a data retention procedure is to be initiated at the data storage device, wherein the data retention procedure includes:

adjusting a write parameter of a non-volatile memory of the data storage device from a first value to a second value; and

storing at least one copy of data in the non-volatile memory using the second value of the write parameter, wherein the write parameter includes at least one of a voltage level that indicates a program state of a the at least one storage element, a number of program pulses used to set the program state of the at least one storage element, or a program voltage level of each program pulse.

19. The method of claim 18 , further comprising accessing an indication from a status register of the data storage device to determine whether the data retention procedure has been completed.

20. The method of claim 18 , further comprising, in response to receiving an indication that the data retention procedure has been completed, transitioning the access device to a low-power mode.

21. The method of claim 18 , further comprising, in response to receiving an indication that the data retention procedure has been completed, providing a message to a display device indicating that the access device is entering a hibernation mode.

22. The method of claim 18 , wherein detecting the event includes receiving a user selection indicating the period of inactivity.

23. The method of claim 18 , wherein the event includes determining that an elapsed time subsequent to detecting user activity satisfies a user inactivity threshold.

24. An access device comprising:

a memory interface; and

a controller including a hibernation circuit, the hibernation circuit configured to detect an event corresponding to a period of inactivity at the access device by testing at least one storage element for a change in a programmed voltage occurring over a time of programming to a time of testing that exceeds a change threshold, and to send an instruction, via the memory interface, to a data storage device in response to detecting the event, wherein the instruction indicates that a data retention procedure is to be initiated at the data storage device, wherein the data retention procedure includes:

adjusting a write parameter of a non-volatile memory of the data storage device from a first value to a second value; and

storing at least one copy of data in the non-volatile memory using the second value of the write parameter, wherein the write parameter includes at least one of a voltage level that indicates a program state of the at least one storage element, a number of program pulses used to set the program state of the at least one storage element, or a program voltage level of each program pulse.

25. The access device of claim 24 , wherein the hibernation circuit is further configured to, in response to receiving an indication that the data retention procedure has been completed, initiate a transition of the access device to a low-power mode.

26. The access device of claim 24 , wherein the hibernation circuit is further configured to access an indication from a status register of the data storage device to determine whether the data retention procedure has been completed.

Assignments (5)
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 Apr 4, 2017
From: SANDISK TECHNOLOGIES LLC
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 041841/0834 →
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038812/0954 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2015
From: DUZLY, YACOV; MOORE, CHRISTOPHER SCOTT; WERDER, KARIN ALICIA; BARAM, ELAD
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 035687/0764 →
Continuity (1)
Related Publication 20160342347A1 · Nov 24, 2016