IP Library Granted Patent US 9,389,673
Granted Patent B2
US 9,389,673 · App. 13/335,246 · Granted Jul 12, 2016

Systems and methods of performing a data save operation

Inventors: Daniel Zvi Yerushalmi (Ra'anana, IL); Yaniv Iarovici (Kfar Saba, IL)
Assignee: SANDISK TECHNOLOGIES INC.
G06F1/3275G06F1/3203G06F1/325G06F1/3225G06F1/3268G06F1/3287G06F3/0625G06F3/0634G06F3/0673G06F2212/1028Y02B60/1228Y02B60/32
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,389,673
App. No.
13/335,246
Granted
Jul 12, 2016
Kind
B2
Abstract

A method includes entering a hibernation mode in a data storage device with a controller, a non-volatile memory, and a volatile memory having a first portion and a second portion. The hibernation mode is entered by copying, to the second portion, data that is in the first portion and that is flagged to remain available at the volatile memory during the hibernation mode, and powering off the first portion while maintaining power to the second portion.

Claims (50)

1. A method comprising:

in a data storage device with a controller, a non-volatile memory, and a volatile memory having a first portion and a second portion, wherein the first portion contains data a part of which is flagged to remain available at the volatile memory while the data storage device is in a hibernation mode, performing:

detecting an indication that the data storage device is to enter the hibernation mode;

responsive to the indication, performing:

copying the flagged data from the first portion to the second portion;

copying non-flagged data from the first portion to the non-volatile memory;

powering off the first portion, wherein the second portion maintains power during the hibernation mode; and

while the data storage device is in the hibernation mode:

receiving, via a host interface a request from a host device for data located in the second portion; and

responsive to the re nest sending there requested data to the host device via the host interface.

2. The method of claim 1 , wherein the data storage device receives the indication while the data storage device is removably coupled to the host device.

3. The method of claim 1 , wherein the flagged data includes data indicated by the controller of the data storage device as having a higher priority than the non-flagged data.

4. The method of claim 1 , wherein the flagged data includes data that is indicated by the controller as being most active data.

5. The method of claim 1 , wherein the flagged data includes data that is indicated by the controller as being most recently used data.

6. The method of claim 1 , wherein the flagged data includes data that is indicated for flagging by an operating system of the host device, wherein the indication is communicated to the controller of the data storage device via the host interface, and wherein the controller of the data storage device flags the indicated data.

7. The method of claim 1 , further comprising:

receiving one or more indicators from the host device; and

flagging data in the first portion of the volatile memory according to the one or more indicators.

8. The method of claim 1 , wherein the controller is configured to:

instruct the volatile memory to copy the flagged data from the first portion to the second portion, wherein the second portion includes a first plurality of memory banks, and wherein the first plurality of memory banks is controllable by the controller to maintain power while the data storage device is in the hibernation mode; and

turn off, while the data storage device is in the hibernation mode, memory banks that are in the volatile memory and are not in the first plurality of memory banks during the hibernation mode.

9. The method of claim 3 , wherein the flagged data is flagged, at least in part, based on one of a most active indicator or as indicated by an operating system of the data storage device, and wherein the most active indicator is generated at the controller of the data storage device.

10. The method of claim 1 , wherein the volatile memory comprises a plurality of banks, and wherein each of the plurality of banks is associated with one of the first portion and the second portion.

11. The method of claim 10 , wherein the flagged data includes one or more pages that are indicated by the controller as having a higher priority than pages of the non-flagged data, wherein the flagged data is copied into one or more of the banks associated with the second portion, and wherein the pages of the non-flagged data are copied to the non-volatile memory.

12. A data storage device comprising:

a non-volatile memory;

a host interface;

a bus distinct from the host interface;

a volatile memory having a first portion and a second portion, wherein the first portion contains data a part of which is flagged to remain available at the volatile memory while the data storage device is in a hibernation mode; and

a controller configured to:

cause the volatile memory to enter the hibernation mode, wherein entry into the hibernation mode includes copying the flagged data from the first portion to the second portion, and wherein entry into the hibernation mode further includes copying non-flagged data in the first portion to the non-volatile memory via the bus and powering off the first portion;

receive, via the host interface while the data storage device is in the hibernation mode, a request from a host device for data located in the second portion; and

responsive to the request and while the data storage device is in the hibernation mode, sending the requested data to the host device via the host interface.

13. The data storage device of claim 12 , wherein copying the flagged data from the first portion to the second portion prevents loss of the flagged data due to the first portion being powered off.

14. The data storage device of claim 12 , wherein the second portion maintains power while the volatile memory is in the hibernation mode.

15. The data storage device of claim 14 , wherein while the volatile memory is in the hibernation mode, the flagged data in the second portion remains accessible to the controller and to the host device.

16. The data storage device of claim 12 , wherein the flagged data includes one or more pages that are indicated by the controller as having a higher priority than pages of the non-flagged data.

17. The data storage device of claim 12 , wherein the flagged data includes data that is indicated by the controller as being most active data.

18. The data storage device of claim 12 , wherein the flagged data includes data that is indicated by the controller as being most recently used data.

19. The data storage device of claim 12 , wherein the flagged data includes data that is indicated by the controller as being provided by an operating system of the data storage device or of the host device.

20. The data storage device of claim 12 , wherein the controller is configured to receive one or more indicators from the host device and to flag data in the first portion of the volatile memory according to the one or more indicators.

21. The data storage device of claim 12 , wherein the controller is configured to instruct the volatile memory to copy the flagged data from the first portion to the second portion.

22. The data storage device of claim 12 , wherein the controller is configured to copy the non-flagged data from the non-volatile memory to the volatile memory to restore the non-flagged data to the volatile memory via the bus.

23. The data storage device of claim 12 , wherein the volatile memory comprises a plurality of banks, and wherein each of the plurality of banks is associated with one of the first portion and the second portion.

24. The data storage device of claim 23 , wherein the flagged data includes one or more pages that are indicated by the controller as having a higher priority than pages of the non-flagged data, wherein the flagged data is copied into one or more banks of the banks associated with the second portion, and wherein the non-flagged data is copied from one or more banks associated with the second portion to the non-volatile memory.

25. The data storage device of claim 12 , further comprising:

a volatile memory interface configured to be coupled via a random access memory bus to the host device;

a non-volatile memory interface configured to be coupled via a non-volatile memory bus to the host device; and

wherein copying non-flagged data via the bus includes copying of the non-flagged data from the volatile memory to the non-volatile memory while bypassing the volatile memory interface and bypassing the non-volatile memory interface.

26. The data storage device of claim 25 , wherein the bus is coupled to the non-volatile memory, the volatile memory, and the controller.

Assignments (2)
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038807/0807 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2011
From: YERUSHALMI, DANIEL ZVI; IAROVICI, YANIV
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 027435/0563 →
Continuity (1)
Related Publication 20130166866A1 · Jun 27, 2013