Host Memory Controller Mixed Volatile Non-Volatile Command Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory controller systems face challenges in efficiently managing and prioritizing commands between volatile and non-volatile memory devices, particularly in coordinating command execution and timing parameters across different memory types within a shared command/address bus.
Innovation Solution
A host memory controller is configured to use separate device select signals for volatile and non-volatile memory devices, allowing for simultaneous command execution by accounting for timing parameters and command support specific to each memory type, utilizing state machines and timers to manage signal transmission and priority assignments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a shared command/address bus is used for both volatile and non-volatile memory devices, then device complexity is reduced, but command execution efficiency deteriorates due to timing parameter conflicts and coordination overhead
Solution Approach 1:
The patent segments the command execution process by introducing separate device select signals for volatile memory (e.g., CAS for SDRAM) and non-volatile memory (e.g., CS for NAND flash). This segmentation allows independent timing control for each memory type, resolving the timing parameter conflicts that would otherwise occur on a fully shared bus, while maintaining the physical bus sharing to avoid excessive complexity.
Solution Approach 2:
The patent implements dynamic device selection where the memory controller dynamically assigns device select signals based on the target memory type for each command. The controller can switch between volatile and non-volatile memory addressing modes dynamically, allowing optimal timing parameters to be applied to each memory type without requiring dedicated physical buses, thus balancing complexity and efficiency.
2Productivity
If separate device select signals are used for volatile and non-volatile memory devices, then command execution efficiency is improved through optimized timing parameters, but device complexity increases due to additional signal lines and control logic
Solution Approach 1:
The patent makes the device select signal lines multi-functional by using the same physical bus infrastructure for both volatile and non-volatile memory access. The controller multiplexes the bus resources, using different signal combinations and timing sequences to address different memory types. This universality reduces the need for completely separate signal lines while still providing optimized timing control for each memory type.
Solution Approach 2:
The memory controller acts as an intermediary that translates high-level memory access requests into device-specific timing sequences and select signals. It mediates between the host processor's uniform memory access model and the different timing requirements of volatile and non-volatile memory, generating the appropriate device select signals and timing parameters without requiring the host to manage the complexity directly.
3Speed
If timing parameters are optimized for each memory type, then command execution speed is improved, but system reliability deteriorates due to increased sensitivity to timing variations and coordination errors
Solution Approach 1:
The patent implements feedback mechanisms where the memory controller monitors the execution status and timing responses from both volatile and non-volatile memory devices. Based on this feedback, the controller can adjust timing parameters dynamically, retune command sequences, and handle timing variations gracefully. This feedback loop maintains optimized speeds while compensating for timing variations to preserve reliability.
Solution Approach 2:
The patent incorporates timing margins and buffer periods in the command sequences sent to different memory types. By anticipating potential timing variations and coordination challenges, the controller designs command sequences with built-in cushioning that prevents timing conflicts and ensures reliable execution even when parameter variations occur, thus maintaining both speed and reliability.
Data Source
AI summary
The present disclosure includes apparatuses and methods related to a memory controller, such as a host memory controller. An example apparatus can include a host memory controller coupled to a first memory device and a second memory device via a channel, wherein the host memory controller is configured to send a first number of commands to the first memory device using a first device select signal, and send a second number of commands to the second memory device using a second device select signal.


