Non-Volatile Storage Cache Management for Write Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Solid state storage systems face limitations due to the high write latency and limited write cycles of non-volatile memory devices, which necessitate the use of additional components like DRAM and power sources for write buffering, increasing costs and reducing reliability.

Innovation Solution

A method and system where a storage device controller manages data storage by initially writing data as temporary data with different parameters, allowing for a higher number of errors and write cycles, and subsequently converting it to persistent data after a pre-established time or error threshold is met, utilizing the same non-volatile storage device for both temporary and permanent data storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If non-volatile memory devices are used for data storage, then data can be stored permanently without periodic power refreshes, but write latency becomes much longer (300 micro-seconds) and the number of write cycles is limited

Engineering Contradiction:
Improvedata persistenceVSAvoidwrite latency
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The patent implements a cache layer that performs preliminary data buffering before writing to non-volatile memory. The cache temporarily holds write data and manages the actual write operations to the non-volatile memory device, allowing the system to accept write requests with lower apparent latency while batching and scheduling the actual high-latency writes to permanent storage.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If write buffering with volatile memory is used to reduce write latency, then overall write performance improves, but additional components (DRAM, battery, capacitors) are required which increases cost and reduces reliability

Engineering Contradiction:
Improvewrite performanceVSAvoidnumber of components
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent makes the non-volatile memory device perform multiple functions: it serves as both the permanent storage medium and the cache memory for write buffering. By implementing a software/firmware-based cache management system that utilizes portions of the non-volatile memory as cache, the system eliminates the need for separate DRAM cache components while maintaining write performance improvements.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent extracts the cache function from separate physical components (DRAM, battery, capacitors) and integrates it into the non-volatile memory device itself through logical partitioning and management software. This separation of the cache function from permanent storage requirements allows the system to use only the non-volatile memory device, removing dependencies on volatile memory and power backup components.

Inventive Principle:
Principle #2Taking out (Extraction)

3Loss of time

If write buffering with volatile memory is used, then write latency is reduced, but reliability decreases due to potential data loss during power failure

Engineering Contradiction:
Improvewrite latencyVSAvoiddata safety during power failure
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent treats the cache portion of the non-volatile memory as disposable or temporary storage that can be safely overwritten or lost without impacting permanent data integrity. The cache is designed to be periodically flushed or overwritten, and any data remaining in the cache at power failure is acceptable to lose since it is not yet permanently committed. This approach allows the system to use non-volatile memory for caching without requiring expensive power backup mechanisms.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS9081712B2System and method for using solid state storage systems as a cache for the storage of temporary data
Publication Date: 2015.07.14 DELL PROD LP
  • US9081712B2 patent drawing
  • US9081712B2 patent drawing
  • US9081712B2 patent drawing

AI summary

A method of storing data includes a storage device controller that receives a storage access operation to store data on at least one non-volatile storage device having a plurality of individually accessible blocks. In response to receiving the storage access operation to store data, the controller initiates a first program cycle to store the data as temporary data within one or more of the blocks. The program cycle has an associated first set of parameters for storage of temporary data. In response to a pre-determined period of time for the storage of temporary data being exceeded or a pre-determined capacity for temporary data has been exceeded, the controller initiates a second program cycle to store the temporary data as persistent data within one or more of the blocks. The second program cycle has an associated second set of parameters for storage of persistent data.