SSD Context Management via Data Slicing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing size of context information on solid-state drives (SSDs) leads to performance bottlenecks when writing and restoring data, compromising the responsiveness of computing devices due to the need for resource-intensive operations.

Innovation Solution

Partitioning context information into slices and sub-slices to enhance the granularity of data transfer between volatile and non-volatile memory, allowing for efficient periodic saves and restorations, even in the event of inadvertent shutdowns.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If context information is stored as a single large unit in non-volatile memory, then data integrity is maintained, but writing and restoring operations become resource-intensive and slow

Engineering Contradiction:
Improvedata integrityVSAvoidwrite and restore speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides context information into multiple smaller slices, each independently stored in non-volatile memory. This segmentation allows the system to write and restore smaller units of data rather than handling the entire context information block at once, significantly improving operational speed while maintaining data integrity through systematic reconstruction of the full context from individual slices

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If context information size increases to match growing SSD capacities, then storage capability is improved, but CPU responsiveness deteriorates due to longer write and restore times

Engineering Contradiction:
Improvestorage capacityVSAvoidCPU idle time during context operations
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

By slicing context information into manageable portions, the system can perform write and restore operations on individual slices rather than blocking the CPU for the entire duration of large context information operations. This enables the CPU to interleave context management tasks with other processing activities, reducing idle time and improving overall responsiveness

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements periodic writes of context information slices to non-volatile memory based on time intervals or event triggers. This periodic approach allows the system to maintain updated context information without requiring continuous or synchronous write operations, thereby reducing CPU idle time and improving system responsiveness while still ensuring data persistence

Inventive Principle:
Principle #19Periodic action

3Reliability

If the system performs complete context information restores after inadvertent shutdowns, then data consistency is ensured, but system responsiveness and user experience are degraded

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem responsiveness
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system restores context information by loading individual slices from non-volatile memory rather than performing a complete restore operation. This segmented restore approach significantly reduces the time required to recover from inadvertent shutdowns, improving system responsiveness and user experience while maintaining data consistency through systematic reconstruction of context from the loaded slices

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11544159B2Techniques for managing context information for a storage device while maintaining responsiveness
Publication Date: 2023.01.03 APPLE INC
  • US11544159B2 patent drawing
  • US11544159B2 patent drawing
  • US11544159B2 patent drawing

AI summary

Disclosed are techniques for managing context information for data stored within a computing device. According to some embodiments, the method can include the steps of (1) loading, into a volatile memory of the computing device, the context information from a non-volatile memory of the computing device, where the context information is separated into a plurality of portions, and each portion of the plurality of portions is separated into a plurality of sub-portions, (2) writing transactions into a log stored within the non-volatile memory, and (3) each time a condition is satisfied: identifying a next sub-portion to be processed, where the next sub-portion is included in the plurality of sub-portions of a current portion being processed, identifying a portion of the context information that corresponds to the next sub-portion, converting the portion from a first format to a second format, and writing the portion into the non-volatile memory.