Dynamic SSD Cache Partitioning for Deep Sleep Data Preservation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In a solid state drive (SSD) environment, existing power conservation methods like Intel Fast Flash Standby (iFFS) lead to data loss and inefficient use of SSD memory due to caching, as they save system state to SSDs, which can result in wasted storage and prolonged resume times from hibernation.
Innovation Solution
Implementing a dynamic cache allocation method that partitions SSD memory into a reserved partition for saving RAM data during deep sleep and a caching partition for frequent data access, allowing efficient caching without data loss by marking data and determining valid cache data upon resume.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the SSD is used for caching in iFFS environment, then caching performance is improved, but data loss occurs and SSD storage is wasted
Solution Approach 1:
The SSD cache is segmented into a reserved partition (first portion) and a caching partition (second portion). The reserved partition is exclusively used for storing hibernation data, while the caching partition is used for caching. This segmentation prevents data loss by ensuring that hibernation data has a dedicated safe space and does not get overwritten by cache operations.
2Productivity
If the SSD is used for caching in iFFS environment, then caching performance is improved, but SSD storage is wasted
Solution Approach 1:
The system dynamically adjusts the allocation between the reserved partition and caching partition based on the actual size of hibernation data. When hibernation data is small, the reserved partition is smaller, allowing more space for caching. This dynamic adjustment ensures optimal SSD storage utilization while maintaining caching performance.
3Use of energy by moving object
If the system enters hibernation state, then power consumption is reduced, but resume time is prolonged
Solution Approach 1:
Before the system enters hibernation state, the SSD cache is prepared by creating a reserved partition and pre-positioning hibernation data in the reserved partition. This preliminary action ensures that when the system resumes from hibernation, the data is already in the optimal location, significantly reducing resume time while maintaining low power consumption during hibernation.
Data Source
AI summary
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.


