Memory Controller Write Request Scheduling for Variable Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional memory controllers struggle to efficiently manage write operations in storage devices that utilize nonvolatile memories with variable write times, as they cannot appropriately change the command issuance order to shorten writing time.

Innovation Solution

A memory controller with a selection unit that identifies the state of each memory module and prioritizes write requests based on memory state information, using write request holding units and data processing units to preprocess and manage write requests and data for parallel access across multiple memory modules.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional memory controllers issue commands in fixed order to memory modules, then command issuance is simple, but write time cannot be shortened due to variable write times in nonvolatile memories

Engineering Contradiction:
Improvewrite speedVSAvoidcontroller structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-processing write data and pre-issuing write requests to memory modules before the actual write operation completes. The controller pre-issues commands to multiple memory modules in parallel, and when verification fails, it can immediately re-issue commands without waiting for previous operations to complete, thereby shortening overall write time while managing complexity through structured data holding units and selection logic

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamics by making the command issuance order adaptive rather than fixed. The selection unit dynamically determines which memory module receives the next write request based on real-time verification results and busy states of各memory modules. This dynamic adjustment allows the controller to optimize write operations for nonvolatile memories with variable write times, improving productivity while the modular architecture manages the added complexity

Inventive Principle:
Principle #15Dynamics

2Reliability

If memory controllers wait for write verification to complete before issuing next command, then write accuracy is ensured, but write time increases due to variable verification times in nonvolatile memories

Engineering Contradiction:
Improvewrite verification accuracyVSAvoidwrite time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies continuity of useful action by maintaining continuous command issuance to memory modules even when some modules are undergoing verification. The controller issues write requests to multiple memory modules in parallel, and when a verification fails, it immediately re-issues the command to that module without waiting for other modules to complete their operations. This continuous operation ensures reliability through verification while minimizing idle time, thereby reducing overall write time

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent implements feedback by using verification results to dynamically control command issuance. The selection unit receives feedback about which memory modules have failed verification and which are currently busy, then uses this feedback to determine the optimal next command to issue. This feedback mechanism ensures write accuracy by re-issuing commands to modules that failed verification while maintaining system efficiency through intelligent command scheduling

Inventive Principle:
Principle #23Feedback

3Productivity

If multiple write requests are issued in parallel to multiple memory modules, then processing capacity increases, but managing variable write times across modules becomes complex

Engineering Contradiction:
Improveprocessing capacityVSAvoidcommand management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the command management function into distinct components: write request holding units for each memory module, a selection unit for determining next commands, and verification result processing logic. This segmentation allows parallel processing of multiple write requests while managing complexity through modular, specialized components. Each segment handles specific aspects of parallel write management, making the overall system more manageable despite handling multiple concurrent operations

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements universality through the selection unit, which serves multiple functions: determining which memory module receives the next write request, checking verification results, identifying busy states of modules, and deciding when to re-issue commands. This multi-functional component manages the complexity of parallel write operations with a single intelligent unit, maintaining processing capacity while reducing overall system complexity through functional consolidation

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

Data Source

PatentUS11262936B2Memory controller, storage device, information processing system, and memory control method
Publication Date: 2022.03.01 SONY GROUP CORP
  • US11262936B2 patent drawing
  • US11262936B2 patent drawing
  • US11262936B2 patent drawing

AI summary

The write time is to be shortened in a storage device using memories that require different write times from each other, such as nonvolatile memories.In a memory controller including a plurality of write request holding units and a selection unit, the write request holding units holds a write request with respect to each of a plurality of memory modules that require different write times from one another. The selection unit selects one of the plurality of write request holding units in accordance with memory state information indicating whether each of the plurality of memory modules is in a busy state, and causes outputting of the write request.