Digital Locked Loop Memory Scheduling for Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

NAND flash memory systems face inefficiencies in garbage collection and translation cache management due to unpredictable performance deviations and lack of context for optimizing operations, particularly in multithreaded environments with varying real-time requirements.

Innovation Solution

Implementing a digital locked loop on channel-tagged memory requests to create a real-time schedule for opportunistic functions like garbage collection and translation cache pre-fetch, allowing the memory system to anticipate idle periods and perform optimizations proactively, thereby balancing garbage collection with real-time media stream needs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If garbage collection is performed frequently to maintain storage performance, then storage efficiency is improved, but latency increases and real-time application performance deteriorates

Engineering Contradiction:
Improvestorage efficiencyVSAvoidlatency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs garbage collection and translation cache pre-fetch operations in advance during predicted idle periods before they are actually needed. By using the digital locked loop to predict when idle periods will occur, the system proactively prepares the storage system by completing garbage collection and cache optimization before real-time applications require performance, thus eliminating latency while maintaining storage efficiency.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the memory system performs opportunistic functions like garbage collection during idle periods, then storage performance is improved, but the system complexity increases

Engineering Contradiction:
Improvestorage performanceVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The digital locked loop creates a feedback mechanism that continuously monitors the timing patterns of real-time applications and adjusts the scheduling of opportunistic functions accordingly. The system measures the performance and timing characteristics of applications, uses this feedback to predict future idle periods, and dynamically adjusts when to perform garbage collection and cache pre-fetch operations, optimizing storage performance without requiring complex manual configuration.

Inventive Principle:
Principle #23Feedback

3Reliability

If large buffers are used to handle asynchronous operations, then performance consistency is improved, but memory usage increases

Engineering Contradiction:
Improveperformance consistencyVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Instead of using large buffers to preemptively handle asynchronous operations, the system performs the necessary preparation work (garbage collection and translation cache pre-fetch) in advance during predicted idle periods. This preliminary action ensures that when real-time applications need data, the storage system is already optimized and ready, achieving performance consistency without requiring additional buffer memory.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8335896B1Digital locked loop on channel tagged memory requests for memory optimization
Publication Date: 2012.12.18 MARVELL ASIA PTE LTD
  • US8335896B1 patent drawing
  • US8335896B1 patent drawing
  • US8335896B1 patent drawing

AI summary

A method and system for performing memory optimization is described. In one embodiment, the method comprises receiving from a processor a plurality of read/write requests, wherein at least a portion of the read/write requests are related. Arrival times of the read/write requests that are related are measured and predicted arrival times are determined of future read/write requests that are related. The method creates a real-time schedule of memory requests using the arrival times of the read/write requests and the predicted arrival times of the future read/write requests. The real-time schedule is then used to pre-determine time periods. The method performs opportunistic functions in the memory during the pre-determined time periods, including performing at least one of garbage collection or translation cache pre-fetch.