Dynamic Input Output Size Control for Memory Subsystems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional host system memory sub-system interactions often result in fixed input/output sizes, leading to performance losses, increased data buffering, and inefficient data programming due to the inability to predict optimal write command sizes based on varying memory modes and media layouts.
Innovation Solution
Implementing an input/output size manager that determines the preferred size for write operations based on the current media layout, allowing for dynamic data placement and size adjustments to avoid collisions and optimize data storage in memory sub-systems like NAND flash devices, which can program data in single, dual, quad, or multi-plane pages across different cell modes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If fixed input/output sizes are used for write operations, then the memory sub-system structure remains simple, but performance is lost and data buffering increases
Solution Approach 1:
The patent implements dynamic input/output size management where the memory sub-system determines the optimal write size based on current media layout and programming mode, rather than using fixed sizes. The controller adjusts page sizes dynamically (e.g., 64KB for SLC mode, 128KB for TLC mode) to match actual hardware capabilities, resolving the contradiction between simple structure and performance.
Solution Approach 2:
The memory sub-system provides feedback about its current programming mode and media layout to the host system, enabling the host to adjust write command sizes accordingly. This feedback mechanism allows the system to optimize performance while managing complexity through informed decision-making at the host level.
2Productivity
If fixed write command sizes are used, then the host system structure remains simple, but data programming efficiency decreases due to inability to predict optimal sizes
Solution Approach 1:
The memory sub-system feeds back information about its current programming mode (SLC, MLC, TLC, QLC) and media layout to the host system. This enables the host to predict optimal write sizes without adding complex prediction algorithms, improving programming efficiency while keeping host structure relatively simple.
Solution Approach 2:
The system changes the parameter of write command size based on the current programming mode. Instead of using a fixed size, the system adapts the write size parameter to match the memory cell type and media layout, thereby optimizing data programming efficiency.
3Productivity
If dynamic input/output size adjustments are implemented, then write operation performance is optimized, but the risk of data collisions increases
Solution Approach 1:
The memory sub-system performs preliminary determination of the optimal write size based on the current media layout before executing the write operation. This advance planning ensures that the selected size will not cause collisions with other ongoing operations, thereby optimizing performance while maintaining reliability.
Solution Approach 2:
The controller acts as an intermediary between the host system and the memory media, mediating the write operations by determining appropriate sizes that avoid collisions. This intermediary function resolves the contradiction by absorbing the complexity of collision avoidance within the controller logic.
4Loss of time
If dynamic size management is implemented, then data buffering time is reduced, but control complexity increases
Solution Approach 1:
The memory sub-system autonomously determines its own optimal write size based on its internal state (media layout and programming mode), without requiring complex external control. This self-service approach reduces buffering time while keeping the control logic contained within the memory sub-system itself.
Data Source
AI summary
A memory sub-system configured to dynamically determine input/output sizes of write commands based on a media physical layout of a memory sub-system. The memory sub-system can identify, dynamically in response to write commands being selected for execution in media units of the memory sub-system, a portion of a media layout that maps from logical addresses identified by the write commands in the logical address space to physical addresses of memory units in the media units. Based on the media layout, an input/output size for a next write command is identified and transmitted to the host system in a response. The host system generates the next write command and configures the amount of data to be written through the next write command based on based on the input/output size identified in the response.


