Controller Unaligned Write Handling via Parallel Pre-Pad Fetching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-volatile memory systems face challenges in efficiently handling unaligned write commands, leading to reduced write performance due to the need for pre-pad and post-pad data handling, which increases latency and reduces die utilization.

Innovation Solution

A storage device with a controller that converts unaligned host write commands into aligned commands, accumulates them to a threshold size, and performs parallel fetching of pre-pad and post-pad data to generate aligned data for programming, thereby improving write performance and die utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If unaligned write commands are handled directly, then write operations can be performed immediately, but write performance decreases due to increased latency and reduced die utilization

Engineering Contradiction:
Improvewrite performanceVSAvoidlatency
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The controller performs preliminary actions by converting unaligned write commands into aligned write commands before execution, and by pre-fetching pre-pad and post-pad data in parallel. This preparation work is done in advance to eliminate delays during the actual write operation, thereby reducing latency and improving write performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The controller segments the handling of unaligned write commands by separating the data transfer into multiple aligned write operations. Each segmented operation is processed independently with proper padding, allowing for more efficient utilization of memory die resources while maintaining correct data integrity.

Inventive Principle:
Principle #1Segmentation

2Productivity

If unaligned write commands are processed individually, then command handling is simple, but die utilization is reduced

Engineering Contradiction:
Improvedie utilizationVSAvoidcommand processing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The controller merges multiple unaligned write commands into aligned write operations by accumulating data until a threshold size is reached. This combining approach increases die utilization by ensuring that memory dies are fully utilized during programming operations, while the complexity is managed through systematic aggregation logic.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The controller changes the parameters of write commands by adjusting data alignment and aggregation thresholds. By dynamically modifying command parameters such as transfer size and alignment requirements, the system optimizes die utilization without requiring fundamentally complex processing architecture.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11934695B2Aligned command based firmware architecture for unaligned write handling
Publication Date: 2024.03.19 SANDISK TECHNOLOGIES LLC
  • US11934695B2 patent drawing
  • US11934695B2 patent drawing
  • US11934695B2 patent drawing

AI summary

Aspects of a storage device including a memory and a controller are provided. The controller may convert unaligned write commands into aligned write commands and generate unaligned information associated with the unaligned write commands. In some aspects, the unaligned information indicates offset information for each unaligned write command. The controller may accumulate a threshold size of aligned write command transfer sizes in an aggregation command queue and fetch pre-pad or post-pad data for each unaligned write command in parallel based on the aggregation command queue having accumulated the threshold size of aligned write command transfer sizes. The controller may transfer host data for each unaligned write command to a data buffer at a corresponding offset within the data buffer based on the unaligned information. The controller may generate aligned data using the pre-pad or post-pad data combined with the host data and program the aligned data into a memory die.