Memory Subsystem Command Reordering for Data Accuracy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional memory sub-systems often execute read commands before write commands, leading to access of outdated data, as they do not effectively manage commands addressed to the same logical blocks.

Innovation Solution

The memory sub-system identifies and executes write commands prior to read commands for logical blocks, ensuring that read commands access updated data by utilizing command overlap circuitry to mark and prioritize write commands based on completion status and logical block addresses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If read commands are executed before write commands for the same logical block, then command execution simplicity is maintained, but data accuracy deteriorates because read commands access outdated data

Engineering Contradiction:
Improvecommand execution simplicityVSAvoiddata accuracy
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The system performs preliminary actions by executing write commands before read commands for the same logical block. The controller identifies when a read command and write command target the same logical block and ensures the write command is completed first, so that the read command subsequently accesses the updated data. This preliminary execution of write operations before read operations resolves the data accuracy issue while maintaining operational simplicity.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If commands are executed in arrival order, then processing simplicity is maintained, but data integrity deteriorates when read commands access data before updates are applied

Engineering Contradiction:
Improveprocessing simplicityVSAvoiddata integrity
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The system implements feedback mechanisms where the controller monitors command types and targets. When the controller detects that a read command and a write command both target the same logical block, it uses this feedback information to reorder execution. The controller ensures the write command executes first and updates the command queue state accordingly, so subsequent read commands see the updated data. This feedback-driven reordering maintains data integrity while adding minimal processing complexity.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If write commands are executed before read commands for the same logical block, then data accuracy is improved, but command execution complexity increases due to need for command identification and reordering

Engineering Contradiction:
Improvedata accuracyVSAvoidcommand execution complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system segments commands into distinct types (read and write) and tracks them separately in the command queue. The controller maintains separate identification for each command type and their respective targets. By segmenting the command processing logic to handle read and write commands differently based on their types and targets, the system achieves accurate data access without excessive complexity. The segmentation allows for targeted reordering only when necessary, rather than requiring complete redesign of the execution pipeline.

Inventive Principle:
Principle #1Segmentation

4Reliability

If the memory sub-system tracks and manages command overlap for the same logical block, then data integrity is improved, but device complexity increases due to additional tracking and management mechanisms

Engineering Contradiction:
Improvedata integrityVSAvoidtracking and management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The controller performs multiple functions using a unified approach: it identifies command overlaps, determines execution order, tracks command status, and manages the command queue. By making the controller multi-functional in handling all aspects of command coordination for the same logical block, the system avoids adding separate dedicated hardware modules for each function. This universality reduces overall device complexity while maintaining data integrity through comprehensive command management.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11789663B2Execution of commands addressed to a logical block
Publication Date: 2023.10.17 MICRON TECHNOLOGY INC
  • US11789663B2 patent drawing
  • US11789663B2 patent drawing
  • US11789663B2 patent drawing

AI summary

A controller of a memory sub-system can, responsive to providing a command completion signal to a host, mark a portion of a plurality of commands that are addressed to a same logical block of the memory devices, reorder the marked portion of the plurality of commands, wherein write commands from the marked portion of the plurality of commands are given priority over read commands from the marked portion of the plurality of commands, execute a newest write command from the marked portion of the plurality of commands prior to executing read commands, addressed to the same logical block, from the marked portion of the plurality of commands, and execute read commands from the marked portion of the plurality of commands in on an order in which the read commands were received and after the execution of the newest write command, wherein the read commands are executed responsive to an execution of the newest write command.