Memory Controller Unaligned Write Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage devices experience poor write performance due to excessive pre-padding and post-padding of small data chunks, especially when handling unaligned sequential write commands, leading to fragmentation and write amplification issues.

Innovation Solution

A memory controller is configured to store the tail portion of the first data in RAM until the front portion is written to flash memory, then uses this data to pre-pad the second data, allowing for sequential storage of consecutive unaligned write commands, thereby reducing fragmentation and write amplification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If unaligned sequential write commands are handled with traditional pre-padding and post-padding, then data can be stored in flash memory, but write performance deteriorates due to excessive padding operations

Engineering Contradiction:
Improvewrite performanceVSAvoidexcessive pre-padding and post-padding
Core Design Contradiction:
ProductivityVSLoss of substance

Solution Approach 1:

The patent applies preliminary action by storing the tail portion of first data in RAM before receiving the second write command. This pre-positioning of data in volatile memory allows the controller to use it as pre-padding for the second data without requiring traditional dummy padding operations, thereby improving write performance while reducing unnecessary padding.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces RAM as an intermediary between the host and flash memory. The controller uses RAM to temporarily hold tail portions of data, which then serve as pre-padding for subsequent writes. This intermediary buffer eliminates the need for excessive pre-padding and post-padding operations in flash memory, directly addressing the performance issue.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If unaligned sequential writes are stored with traditional padding methods, then data can be written to flash memory, but fragmentation increases

Engineering Contradiction:
Improvewrite efficiencyVSAvoiddata fragmentation
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

By storing tail portions in RAM before the next write command arrives, the controller prepares data in advance in a structured manner. This preliminary organization in volatile memory allows for sequential placement in flash memory without fragmentation, as the data is ready in the correct order for contiguous storage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

RAM serves as an intermediary buffer that maintains data in sequential order before writing to flash memory. This intermediary layer ensures that even unaligned writes are organized sequentially in the buffer, preventing fragmentation when data is eventually written to non-volatile storage.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If unaligned sequential writes are handled with traditional methods, then flash memory can be written, but write amplification increases

Engineering Contradiction:
Improvewrite throughputVSAvoidwrite amplification
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent merges multiple write operations by using the tail portion of one write as the pre-padding for the next write. Instead of treating each write command independently with separate padding operations, the controller combines them by reusing existing data, thereby reducing total write amplification.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

RAM acts as an intermediary that enables merging of write operations. By holding tail portions in RAM, the controller can efficiently reuse this data for subsequent writes without requiring additional padding operations, thus reducing write amplification and energy consumption.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10430330B2Handling of unaligned sequential writes
Publication Date: 2019.10.01 SANDISK TECHNOLOGIES LLC
  • US10430330B2 patent drawing
  • US10430330B2 patent drawing
  • US10430330B2 patent drawing

AI summary

Storage devices, and methods for use therewith, are described herein. Such storage devices can include flash memory, random access memory (RAM), and a memory controller in communication therewith. To improve write performance, the memory controller is configured to store first and second data, corresponding to consecutive unaligned first and second write commands received within a threshold amount of time of one another from a host, sequentially relative to one another within the flash memory. This can involve temporarily storing a tail portion of the first data in the RAM until after a front portion of the first data is stored in the flash memory, and thereafter (after the second write command is received) using the tail portion of the first data to pre-pad a front portion of the second data when the second data is being stored in the flash memory.