Storage Controller Partial Write Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

NAND flash memory devices face inefficiencies in performing in-place writes when changing stored data, particularly when the data size is smaller than the mapping size, leading to increased execution time due to the need for read-modify-write operations.

Innovation Solution

A storage device and method that includes a storage controller capable of transmitting read commands to the nonvolatile memory before receiving new data, allowing for a partial write operation that merges data with existing data and writes it to another page, thereby reducing execution time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a write command is received for data smaller than mapping size, then the storage device performs read-modify-write operation to merge new data with existing data, but the execution time increases due to the additional read and write operations

Engineering Contradiction:
Improveability to handle partial write operationsVSAvoidexecution time for partial write operations
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The storage controller performs preliminary actions by reading existing data from the nonvolatile memory before receiving the new data from the host device. The read command is transmitted to the nonvolatile memory in advance, so that when the new data arrives, the existing data is already loaded into the buffer, enabling immediate merge operation without waiting for sequential read operations.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If the storage device waits for new data to arrive before reading existing data, then the read operation can be performed after data reception, but the overall write operation time increases due to sequential processing

Engineering Contradiction:
Improvesimpler data processing sequenceVSAvoidwrite operation speed
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The storage controller transmits the read command to the nonvolatile memory before the new data is received from the host device. This preliminary read operation allows the existing data to be fetched in advance, and the buffer is prepared ahead of time, enabling the merge operation to execute faster once the new data arrives, thus improving overall write operation speed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The storage controller maintains continuous useful action by overlapping the read operation for existing data with the waiting period for new data reception. Instead of sequential processing where the controller waits for one operation to complete before starting the next, the system initiates the read command in advance and continues preparing the buffer, keeping the processing pipeline active and reducing idle waiting time.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11842075B2Storage devices and methods for operating the devices
Publication Date: 2023.12.12 SAMSUNG ELECTRONICS CO LTD
  • US11842075B2 patent drawing
  • US11842075B2 patent drawing
  • US11842075B2 patent drawing

AI summary

A storage device comprises a nonvolatile memory configured to store data that is written in size units of a mapping size, and a storage controller configured to transmit a command to the nonvolatile memory. The storage controller includes a host interface configured to receive a write command from a host device, the write command including a command to write first data to a first address, the first data having a first size smaller than the mapping size. The storage controller includes processing circuitry configured to transmit a read command to the nonvolatile memory, to cause the nonvolatile memory to read second data stored in the nonvolatile memory addressed based on the first address, in response to a determination that the first size is smaller than the mapping size and before the first data is received at the storage controller through the host interface.