Storage Controller Random Write Unalignment Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-volatile memory systems, such as flash memory, face inefficiencies when handling random length data that is not aligned with physical page boundaries, leading to suboptimal parallel writing capabilities.

Innovation Solution

A method and system where a controller in a storage device identifies unaligned and aligned data portions of a write command and stores them in separate queues, allowing for parallel writing to non-volatile memory areas when a threshold is reached or a timeout condition is detected, optimizing write performance by managing data alignment and queue fullness.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the memory system writes data in parallel to different portions of the memory, then write efficiency is improved, but data must be aligned with physical page boundaries which limits flexibility in handling random length data

Engineering Contradiction:
Improvewrite efficiencyVSAvoidflexibility in handling random length data
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The controller segments incoming data into aligned portions (that fit physical page boundaries) and unaligned portions (that do not fit boundaries). Aligned portions are placed in aligned queues for parallel writing, while unaligned portions are placed in unaligned queues for sequential writing. This segmentation allows the system to maximize parallel write operations for aligned data while properly handling unaligned data without sacrificing overall write efficiency.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the system handles unaligned data by sequential writing, then data integrity is maintained, but write performance deteriorates due to inability to write in parallel

Engineering Contradiction:
Improvedata integrityVSAvoidwrite performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The controller merges aligned and unaligned write operations into a unified queue management system. Aligned queues and unaligned queues operate concurrently, with the controller intelligently selecting which queue to service based on current conditions. This merging allows the system to maintain data integrity for unaligned data through sequential writing while preserving write performance by continuing to process aligned data in parallel through the aligned queues.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If the system uses separate queues for aligned and unaligned data, then write operations are optimized, but device complexity increases

Engineering Contradiction:
Improvewrite operation optimizationVSAvoidqueue management structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The controller implements local quality by creating specialized queue structures tailored to specific data types: aligned queues optimized for parallel write operations and unaligned queues optimized for sequential write operations. Each queue type has its own management logic and write strategy, allowing the system to optimize write operations for each data type independently while maintaining overall system manageability through localized handling of each queue type.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8924631B2Method and system for random write unalignment handling
Publication Date: 2014.12.30 SANDISK TECHNOLOGIES LLC
  • US8924631B2 patent drawing
  • US8924631B2 patent drawing
  • US8924631B2 patent drawing

AI summary

A method and system are disclosed for handling host write commands associated with both data aligned with physical page boundaries of parallel write increments in non-volatile storage areas in a non-volatile storage device and data unaligned with the physical page boundaries. The method may include a controller of a storage device identifying the aligned and unaligned portions of received data, temporarily storing the aligned and unaligned portions in different queues, and then writing portions from the unaligned data queue or the aligned data queue in parallel to the non-volatile memory areas when one of the queues has been filled with a threshold amount of data or when the controller detects a timeout condition. The system may include a storage device with a controller configured to perform the method noted above, where the non-volatile memory areas may be separate banks and the queues are random access memory.