SSD Background Data Refresh Using Host Timestamps
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques for refreshing data in solid state drives (SSDs) are ineffective for mobile and consumer devices that frequently power down or enter low power states, as they rely on internal clocks that are not maintained during these states, leading to insufficient or inaccurate data refresh and potential data loss.
Innovation Solution
Implementing a background data refresh method using system timestamps, where the SSD maintains timestamp information for each superblock and receives a current timestamp from the host upon powering on or exiting a low power state, allowing accurate determination of data retention times and timely refresh of 'cold' data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If internal clocks are used for data refresh in SSDs, then data refresh can be performed continuously, but the clocks are not maintained during power down or low power states leading to inaccurate refresh timing
Solution Approach 1:
The patent extracts the time-keeping function from the SSD's internal clock to the host system's clock. The SSD no longer maintains its own continuous clock, but instead receives timestamp information from the host, which maintains the system clock even when the SSD is powered down or in low power state. This resolves the contradiction by removing the requirement for continuous internal clock operation while maintaining accurate time tracking for data refresh.
Solution Approach 2:
The patent introduces a timestamp mechanism as an intermediary between the host system clock and the SSD's data refresh operation. The host provides timestamps to the SSD, which then uses these timestamps to determine when data refresh is needed. This intermediary allows the SSD to accurately track time for refresh purposes without needing to maintain its own continuous clock operation during power down or low power states.
2Use of energy by moving object
If SSD enters low power state to save energy, then power consumption is reduced, but internal clocks are not maintained leading to insufficient data refresh
Solution Approach 1:
The patent extracts the time-keeping responsibility from the SSD to the host system. During low power states, the SSD does not maintain its internal clock, thereby saving energy. Instead, it relies on timestamps provided by the host, which maintains the system clock. This allows the SSD to enter low power state while maintaining data refresh accuracy through the host-provided timestamps.
Solution Approach 2:
The host system serves the SSD by providing timestamp information needed for data refresh operations. The SSD uses these timestamps to determine when refresh is needed without requiring continuous operation of its own clock or other power-consuming time-keeping mechanisms. This self-service approach allows the SSD to minimize power consumption while maintaining data integrity.
3Reliability
If data refresh is performed frequently to prevent data loss, then data integrity is maintained, but host traffic performance is degraded
Solution Approach 1:
The patent implements selective data refresh based on timestamps and retention periods. Instead of refreshing all data uniformly, the SSD identifies specific data blocks that require refresh by comparing current timestamps with write timestamps and evaluating retention periods. This partial action approach refreshes only the necessary data blocks, maintaining data integrity while minimizing the impact on host traffic performance.
Solution Approach 2:
The patent applies different refresh strategies to different data blocks based on their individual characteristics. Each data block is evaluated based on its timestamp and retention period, and refresh is performed locally on a per-block basis rather than globally. This allows critical data to be refreshed while less critical data can wait, optimizing both data integrity and host traffic performance.
Data Source
AI summary
Techniques for performing background refresh for storage devices using a timestamp from the host are described. In one example, a method involves receiving a timestamp from a host, storing the timestamp in a storage device, and determining a retention time for data stored in one or more blocks of the storage device based on the timestamp relative to a second timestamp indicating when the data was written to the one or more blocks. In response to determining the retention time exceeds a threshold, the storage device moves the data to one or more other blocks of the storage device, which can include interleaving the refresh writes with activity from the host.


