Storage Controller Buffering for Program Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage device controllers face inefficiencies in programming data into non-volatile memory due to varying data sizes, leading to suboptimal operational efficiency.

Innovation Solution

The proposed solution involves a controller configuration that includes a volatile memory for storing user data and a program control module. If the user data size is less than a preset unit program size, the controller adds meta data to the user data, ensuring that the final data size matches the unit program size for efficient programming into a non-volatile memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the controller performs programming operation whenever data is received regardless of size, then data can be stored promptly, but the operational efficiency of the controller and memory deteriorates

Engineering Contradiction:
Improveprogram operation efficiencyVSAvoidoperational delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The controller accumulates user data in a buffer memory before programming it into the non-volatile memory. This preliminary accumulation allows the controller to reach an optimal programming size threshold, improving program operation efficiency while minimizing operational delays through batch processing

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the controller waits for data to reach unit program size before programming, then programming efficiency improves, but data storage is delayed

Engineering Contradiction:
Improveprogram operation efficiencyVSAvoiddata storage time
Core Design Contradiction:
ProductivityVSDuration of action of moving object

Solution Approach 1:

The controller dynamically adjusts the programming operation based on the accumulated data size in the buffer. When the buffer reaches the unit program size, programming is executed; otherwise, the controller continues accumulating data. This dynamic approach optimizes both programming efficiency and data storage timing

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If the controller programs data in variable sizes, then data storage flexibility is maintained, but the programming operation efficiency decreases

Engineering Contradiction:
Improvedata size flexibilityVSAvoidprogram operation efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The controller changes the data size parameter to match the unit program size by accumulating multiple user data in the buffer until the total size reaches the optimal programming unit. This parameter adjustment maintains data storage flexibility while significantly improving program operation efficiency through standardized size programming

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12216937B2Storage device, controller and controller operation method with improved program operation efficiency
Publication Date: 2025.02.04 SK HYNIX INC
  • US12216937B2 patent drawing
  • US12216937B2 patent drawing
  • US12216937B2 patent drawing

AI summary

When a program operation to a second memory of user data in a first memory is to be performed and the size of user data is smaller than a unit program size of the second memory, final data having a size equal to the unit program size may be produced by concatenating the user data and meta data, and the final data may then programmed into the second memory. The second memory may be non-volatile memory, and the meta data may be meta data for the second memory. In some cases, dummy data may also be concatenated with the user data and meta data to produce the final data. Accordingly, it is possible to perform the program operation according to the unit program size and improve the program operation efficiency by reducing the number of program operations performed to store meta data.