Digital Locked Loop Memory Scheduling for Latency Reduction
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Productivity
If the memory system performs opportunistic functions like garbage collection during idle periods, then storage performance is improved, but the system complexity increases
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.
3Reliability
If large buffers are used to handle asynchronous operations, then performance consistency is improved, but memory usage increases
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.
Data Source
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.


