Dynamic Write Shaping for NVMe SSD Data Alignment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In NVMe SSDs, the automated write command flow often results in inefficient data storage due to non-stream write commands being split across multiple memory device dies, leading to misalignment and increased latency, especially when data does not fit the storage size, which negatively impacts read operations and bandwidth.

Innovation Solution

Implementing a controller that toggles between 'fetch before' and 'fetch after' modes based on the relationship between fetch depth and flash memory unit count, allowing data to be fetched before or after classification, ensuring proper alignment and aggregation of write commands without significantly increasing write buffer memory size, thereby optimizing write operations without impacting latency or bandwidth.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If data is fetched before classification (fetch before mode), then data alignment is improved and read operations are optimized, but write buffer memory size must be increased to hold sufficient pages for FW address selection and data transfer

Engineering Contradiction:
Improvedata alignmentVSAvoidwrite buffer memory size
Core Design Contradiction:
Manufacturing precisionVSQuantity of substance

Solution Approach 1:

The system dynamically switches between fetch before mode and fetch after mode based on workload characteristics. Fetch before mode is used when data alignment is critical for read operations, while fetch after mode is used when buffer memory size is constrained. This dynamic adaptation resolves the contradiction by allowing the system to optimize for alignment when possible and for memory efficiency when necessary.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the fetch timing parameter based on system state and workload type. By controlling when data is fetched relative to classification, the system can adjust between two operational modes that prioritize different objectives: alignment quality versus memory resource consumption.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If non-stream write commands are processed individually, then command processing flexibility is maintained, but data is split between multiple memory device dies leading to increased latency and reduced read efficiency

Engineering Contradiction:
Improvecommand processing flexibilityVSAvoidlatency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The invention merges multiple non-stream write commands into aggregated write operations. By combining commands that would otherwise be processed individually and split across dies, the system achieves better data alignment and reduces the number of die accesses required, thereby reducing latency while maintaining processing flexibility through intelligent command aggregation.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system performs preliminary classification and aggregation of write commands before data fetching and writing. This preliminary action allows the system to identify opportunities to combine commands that would otherwise be split across dies, enabling optimized data placement before the actual write operation occurs.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If fetch after mode is used to avoid increasing buffer memory size, then write command aggregation is improved, but data alignment may be compromised and read operations less efficient

Engineering Contradiction:
Improvewrite buffer memory sizeVSAvoiddata alignment
Core Design Contradiction:
Quantity of substanceVSManufacturing precision

Solution Approach 1:

The system dynamically selects between fetch before and fetch after modes based on workload characteristics and system state. When buffer memory is sufficient and alignment is critical, fetch before mode is used. When memory resources are constrained, fetch after mode is used with command aggregation to mitigate alignment issues. This dynamic selection resolves the contradiction by adapting to available resources.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention implements feedback mechanisms that monitor system state, workload patterns, and performance metrics to determine the optimal fetch mode. This feedback allows the system to adjust its operation to maintain data alignment quality while respecting memory resource constraints, resolving the contradiction through adaptive control.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12039198B2Dynamic write shaping
Publication Date: 2024.07.16 SANDISK TECHNOLOGIES LLC
  • US12039198B2 patent drawing
  • US12039198B2 patent drawing
  • US12039198B2 patent drawing

AI summary

The present disclosure generally relates to an efficient manner of fetching data for write commands. The data can be fetched prior to classification, which is a fetch before mode. The data can alternatively be fetched after classification, which is a fetch after mode. When the data is fetched after classification, the write commands are aggregated until sufficient data associated with any command is split between memory devices. When in fetch before mode, the data should properly align such that data associated with any command is not split between memory devices. Efficiently toggling between the fetch before and fetch after modes will shape how writes are performed without impacting latency and bandwidth without significantly increasing write buffer memory size.