Dynamic Write-Back Cache Sizing for SSD Data Safety

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In solid state memory storage systems, power losses can result in data loss or corruption due to the inability to write data from the write-back cache to the storage medium, especially in hot-pluggable solutions where storage modules may be spontaneously removed, leading to potential bottlenecks and performance issues.

Innovation Solution

A dynamically sized write-back cache with a backup power source ensures that all data in the cache is written to the storage medium before power failure, by limiting the cache size based on the mix of write operations and resource availability, allowing parallel write operations when possible and preventing data acceptance if resources become a bottleneck.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the write-back cache size is increased to improve write performance, then write throughput is improved, but the risk of data loss during power failure increases and the time required to write all cached data increases

Engineering Contradiction:
Improvewrite throughputVSAvoiddata loss risk
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The cache size is made dynamic rather than fixed. The system adjusts the effective cache size based on the estimated time to write all cached data using available resources. When write operations can be performed in parallel with sufficient resources, the effective cache size increases, allowing more data to be buffered. When resources become bottlenecked, the effective cache size decreases to ensure data can be written within the available time window, thus resolving the contradiction between maximizing write throughput and minimizing data loss risk

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system continuously monitors resource availability and write operation progress to dynamically adjust cache size. By tracking the time required to write cached data and comparing it against the available time window (determined by power failure risk), the system provides feedback control that adjusts the effective cache size to maintain both high performance and data safety

Inventive Principle:
Principle #23Feedback

2Productivity

If the write-back cache size is increased to improve write performance, then write throughput is improved, but the time to write all data increases potentially exceeding backup power duration

Engineering Contradiction:
Improvewrite throughputVSAvoiddata write time
Core Design Contradiction:
ProductivityVSDuration of action of moving object

Solution Approach 1:

The system dynamically adjusts the effective cache size based on the calculated time required to write all cached data. When resources are abundant and can handle parallel writes efficiently, the system allows a larger effective cache size with correspondingly longer write time. When resources are constrained, the system reduces the effective cache size to ensure the write operation completes within the backup power duration, thus resolving the contradiction between write throughput and write completion time

Inventive Principle:
Principle #15Dynamics

3Productivity

If parallel write operations are allowed to improve throughput, then write performance is improved, but resource contention and bottlenecks increase

Engineering Contradiction:
Improvewrite throughputVSAvoidresource management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system changes the parameter of effective cache size based on resource availability and parallel operation capacity. When resources can handle parallel writes without bottlenecking, the system increases the effective cache size to utilize parallel throughput. When resource contention becomes significant, the system adjusts the effective cache size parameter to reduce the write load, thereby maintaining acceptable performance while avoiding excessive resource management complexity

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10289550B1Method and system for dynamic write-back cache sizing in solid state memory storage
Publication Date: 2019.05.14 EMC IP HLDG CO LLC
  • US10289550B1 patent drawing
  • US10289550B1 patent drawing
  • US10289550B1 patent drawing

AI summary

A method for dynamic write-back cache sizing in solid state memory storage. The method includes receiving a request to write a data fragment to a memory location of a storage medium, identifying a resource required for the writing, and obtaining a state of the resource. The state of the resource is governed by a number of data fragments that are stored in the write-back cache which require the resource. The number of data fragments in the write-back cache which require the resource are limited to enable writing of all data fragments in the write-back cache to the storage medium, within a specified amount of time. The method further includes determining that the state of the resource allows the received data fragment to be stored in the write-back cache, and based on the determination: storing the data fragment in the write-back cache and acknowledging the write request.