Memory Controller Queue Segmentation for Cache Operation Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory systems face challenges in accurately determining the outcome of cache operations, leading to potential data loss and reduced reliability due to failed operations not being properly managed.

Innovation Solution

A memory system with a controller that moves descriptors between command, cache, and response queues based on operation status, ensuring that failed operations are identified and re-attempted, and successful operations are completed efficiently, thereby improving data integrity and system reliability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If the controller uses a simple queue structure for cache operations, then the device complexity is reduced, but the reliability of determining operation results deteriorates

Engineering Contradiction:
Improvequeue structure complexityVSAvoidoperation result determination accuracy
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The queue structure is segmented into three distinct queues: command queue for incoming operations, cache queue for in-progress operations, and response queue for completed operations. This segmentation allows the controller to track the state of each operation through its lifecycle, improving reliability without significantly increasing overall system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache queue serves as an intermediary between the command queue and response queue. Operations are moved from command queue to cache queue when initiated, and from cache queue to response queue when completed. This intermediary structure provides clear state transitions and enables reliable tracking of operation status.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the controller moves all descriptors immediately to the response queue, then the productivity is improved, but the reliability of handling failed operations deteriorates

Engineering Contradiction:
Improveoperation processing speedVSAvoidfailed operation detection accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements feedback through the multi-stage queue structure. Operations remain in the cache queue during processing, allowing the controller to receive feedback about their completion status. Only after confirming successful completion are descriptors moved to the response queue, ensuring failed operations are detected and can be re-attempted.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The controller performs preliminary verification by maintaining descriptors in the cache queue before finalizing them in the response queue. This preliminary holding period allows time to verify operation success, and failed operations can be identified and re-attempted before being permanently committed to the response queue.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the controller implements comprehensive operation tracking, then the reliability of operation management is improved, but the device complexity increases

Engineering Contradiction:
Improveoperation tracking accuracyVSAvoidcontroller logic complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Tracking complexity is segmented by dividing the operation lifecycle into three distinct phases represented by three queues. Each queue handles a specific phase: command queue for submission, cache queue for processing, and response queue for completion. This segmentation simplifies the tracking logic within each queue while maintaining comprehensive overall tracking.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The queue structure itself provides the tracking mechanism without requiring additional complex control logic. Descriptors naturally transition through the queues based on operation state, with the queue positions serving as the tracking state. This self-service approach reduces controller complexity while maintaining reliable tracking.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10698819B2Memory system and operating method thereof
Publication Date: 2020.06.30 SK HYNIX INC
  • US10698819B2 patent drawing
  • US10698819B2 patent drawing
  • US10698819B2 patent drawing

AI summary

A memory system may include: a nonvolatile memory device including a memory cell array and a page buffer coupled to the memory cell array; and a controller configured to interface with the nonvolatile memory device, wherein the controller moves descriptors on a cache command from a command queue to a cache queue, the cache command being transferred to the nonvolatile memory device, and selectively moves the descriptors moved to the cache queue to a response queue.