Dynamic SSD Cache Partitioning for Deep Sleep Data Preservation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecaching performanceVSAvoiddata loss
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the SSD is used for caching in iFFS environment, then caching performance is improved, but SSD storage is wasted

Engineering Contradiction:
Improvecaching performanceVSAvoidSSD storage utilization
Core Design Contradiction:
ProductivityVSQuantity of substance

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.

Inventive Principle:
Principle #15Dynamics

3Use of energy by moving object

If the system enters hibernation state, then power consumption is reduced, but resume time is prolonged

Engineering Contradiction:
Improvepower consumptionVSAvoidresume time
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9268699B2Dynamic cache allocation in a solid state drive environment
Publication Date: 2016.02.23 SAMSUNG ELECTRONICS CO LTD
  • US9268699B2 patent drawing
  • US9268699B2 patent drawing
  • US9268699B2 patent drawing

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.