IP Library › Granted Patent US 9,268,699
Granted Patent B2
US 9,268,699 · App. 13/909,045 · Granted Feb 23, 2016

Dynamic cache allocation in a solid state drive environment

Inventor: Pradeep Bisht (Mountian View, CA)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F12/0848G06F1/3203G06F9/4418G06F2212/222
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,268,699
App. No.
13/909,045
Granted
Feb 23, 2016
Kind
B2
Abstract

An invention is provided for dynamic cache allocation in a solid state drive environment. The invention includes partitioning a cache memory into a reserved partition and a caching partition, wherein the reserved partition begins at a beginning of the cache memory and the caching partition begins after an end of the reserved partition. Data is cached starting at a beginning of the caching partition. Then, when the caching partition is fully utilized, data is cached the reserved partition. After receiving an indication of a power state change, such as when entering a sleep power state, marking data is written to the reserve partition. The marking data is examined after resuming the normal power state to determine whether a deep sleep power state was entered. When returning from a deep sleep power state, the beginning address of valid cache data within the reserve partition is determined after resuming a normal power state.

Claims (34)

1. A method for dynamic allocation of cache in a solid state drive environment, comprising:

partitioning a cache memory into a reserved partition and a caching partition, wherein the reserved partition begins at a beginning of the cache memory and the caching partition begins after an end of the reserved partition;

caching data starting at a beginning of the caching partition;

caching data using the reserved partition when the caching partition is fully utilized;

writing marking data to the reserve partition after receiving an indication of a power state change; and

determining a beginning address within the reserve partition having valid cache data after resuming a normal power state.

2. A method as recited in claim 1 , wherein the caching partition begins immediately after the reserved partition.

3. A method as recited in claim 1 , further comprising examining the marking data after resuming a normal power state to determine whether a deep sleep power state was entered.

4. A method as recited in claim 1 , further comprising examining a page of a data block in the reserve partition sequentially until valid cache data is found.

5. A method as recited in claim 4 , wherein valid cache data is found when the page of data matches a corresponding page of data on a target storage device.

6. A method as recited in claim 1 , wherein the marking data is all zeros.

7. A system for dynamic allocation of cache in a solid state drive environment, comprising:

a central processing unit (CPU);

a system memory in communication with the CPU;

a target storage device in communication with the CPU;

a dynamic caching device having a cache memory partitioned into a reserved partition and a caching partition, wherein the reserved partition begins at a beginning of the cache memory and the caching partition begins after an end of the reserved partition, wherein read data is cached starting at a beginning of the caching partition, and wherein read data is cached using the reserved partition when the caching partition is fully utilized,

wherein marking data is written to the reserve partition after receiving an indication of a power state change, and

wherein a beginning address within the reserve partition having valid cache data is determined after resuming a normal power state.

8. A system as recited in claim 7 , wherein the caching partition begins immediately after the reserved partition.

9. A system as recited in claim 7 , wherein the marking data is examined after resuming a normal power state to determine whether a deep sleep power state was entered.

10. A system as recited in claim 7 , wherein a page of a data block in the reserve partition is examined sequentially until valid cache data is found.

11. A system as recited in claim 10 , wherein valid cache data is found when the page of data matches a corresponding page of data on a target storage device.

12. A method for dynamic allocation of cache in a solid state drive environment, comprising:

partitioning a cache memory into a reserved partition and a caching partition, wherein the reserved partition begins at a beginning of the cache memory and the caching partition begins immediately after an end of the reserved partition;

caching data starting at a beginning of the caching partition;

caching data using the reserved partition when the caching partition is fully utilized;

writing marking data to the reserve partition after receiving an indication of a power state change;

examining the marking data after resuming a normal power state to determine whether a deep sleep power state was entered; and

determining a beginning address within the reserve partition having valid cache data after resuming a normal power state.

13. A method as recited in claim 12 , further comprising examining a page of a data block in the reserve partition sequentially until valid cache data is found.

14. A method as recited in claim 13 , wherein valid cache data is found when the page of data matches a corresponding page of data on a target storage device.

15. A method as recited in claim 13 , wherein the page of data is a first page of data of the data block.

16. A method as recited in claim 13 , wherein invalid cache data within the reserved partition is repopulated after resuming a normal power state based on corresponding data stored on the target storage device.

17. A method as recited in claim 12 , wherein the marking data is all zeros.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2013
From: BISHT, PRADEEP
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 030536/0903 →
Continuity (1)
Related Publication 20140359224A1 · Dec 4, 2014