Memory Controller Reset via Programmable Initialization Code
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for resetting memory in computer systems often fail to ensure correct initialization after reset, especially when the number of channels used by the memory does not match the fixed reset instructions, leading to incomplete memory reset and operational failures.
Innovation Solution
A method where the memory controller executes boot code to initialize memory, generates and updates a programmable initialization code to adapt to changing channel configurations, and uses this code to restore memory to a default state before re-initializing it, ensuring correct operation without additional hardware pins.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If hardware reset pin is used to reset memory, then memory reset function is achieved, but chip area and circuit board routing complexity increase
Solution Approach 1:
The patent replaces the hardware mechanical reset pin with a software-based reset mechanism. The memory controller executes specific reset instructions (e.g., NOP instructions followed by write operations) to achieve memory reset functionality, eliminating the need for physical reset pins and reducing both chip area and circuit board routing complexity while maintaining reliable memory reset capability
2Ease of operation
If fixed reset instructions are used to reset memory, then reset process is simplified, but memory may not be reset correctly when channel configuration mismatches
Solution Approach 1:
The patent makes the reset process dynamic by detecting the actual channel configuration of the memory device at runtime. The memory controller adapts the reset instructions based on the detected configuration (1-channel, 2-channel, or 4-channel mode), ensuring correct memory reset regardless of the specific channel configuration while maintaining ease of operation through automated detection and adaptation
Solution Approach 2:
The patent changes the parameters of the reset process based on detected memory configuration. By detecting the channel configuration and dynamically adjusting the reset instructions (such as modifying the number and type of write operations), the system ensures reliable memory reset across different configurations without requiring complex manual setup or fixed instructions
Data Source
AI summary
A method for resetting a memory in the computer system includes turning on the computer system, and a memory controller of the computer system executing a boot code to initialize the memory. After the memory controller executes the boot code, the memory controller updates a programmable initialization code according to the boot code to generate an updated programmable initialization code. After resetting the computer system, the memory controller executes the updated programmable initialization code to restore the memory back to a default state. After the memory is restored to the default state, the memory controller executes the boot code to initialize the memory again. After the memory is initialized, the memory controller controls the memory to perform a normal operation.


