Memory Controller Command Fetching via Remaining Processing Amount
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems that use arbitration methods to fetch commands from multiple hosts and queues based solely on the number of commands fail to consider the types and data amounts, leading to variations in processing amounts among hosts and queues, resulting in uneven processing loads over time.
Innovation Solution
A memory system with a controller that calculates a remaining processing amount for each queue, selects a queue based on these calculations, and fetches new commands to ensure uniform processing across hosts and queues by considering the types and data amounts of commands, using a remaining processing table to manage and adjust processing costs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If arbitration method fetches commands based solely on the number of commands per queue, then the number of fetched commands is uniform among hosts and queues, but the processing amounts vary among hosts and queues due to different command types and data amounts
Solution Approach 1:
The patent changes the arbitration parameter from simple command count to a weighted value that considers command type and data amount. Each command is assigned a weight based on its processing requirements, and the arbitration unit selects queues based on these weighted values rather than raw command counts, thereby achieving more uniform processing amounts across different hosts and queues
Solution Approach 2:
The patent introduces a remaining processing amount table as an intermediary data structure that stores and tracks the processing workload for each queue. This table acts as a mediator between the arbitration unit and the command queues, allowing the system to make informed arbitration decisions based on actual processing requirements rather than just command counts
2Productivity
If arbitration method selects queues based only on command count, then fetching is simple and fast, but processing loads become uneven over time across hosts and queues
Solution Approach 1:
The patent performs preliminary calculation of remaining processing amounts for each queue before arbitration. The system pre-computes weighted values based on command types and data amounts in each queue, so that when arbitration occurs, it can quickly select balanced queues without real-time complex calculations, maintaining high fetching speed while achieving load balance
Solution Approach 2:
The patent implements a feedback mechanism where the remaining processing amount table is continuously updated as commands are processed. The arbitration unit uses this feedback information to make informed decisions, selecting queues with lower remaining processing amounts to maintain balanced load distribution over time
Data Source
AI summary
A memory system includes a non-volatile memory and a controller. The controller controls writing of data to the non-volatile memory or reading of data from the non-volatile memory, in response to a command from at least one host. The controller performs command fetching by calculating for each of a plurality of queues, a remaining processing amount, which is an amount of processing remaining for one or more commands previously fetched therefrom, selecting a queue based on the remaining processing amounts calculated for the plurality of queues, and fetching a new command from the selected queue.


