Configurable Flash Memory Controller Interface Adaptation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flash memory controllers face challenges in interfacing with flash memory devices that support different interface specifications, as existing systems are tailored to specific protocols and cannot efficiently manage operations across varying command types, timings, and sequences.
Innovation Solution
A flash memory controller with a programmable module that includes multiple operation phase circuits, such as command, address, and program phase circuits, capable of selecting and executing instructions based on the interface specification supported by the flash memory device, allowing it to handle different operation phases of requested operations across multiple interface specifications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a flash memory controller is tailored to a single interface specification, then it can efficiently execute operations for that specific protocol, but it cannot interface with flash memory devices supporting different interface specifications
Solution Approach 1:
The flash memory controller is designed with a programmable module that can be configured to support multiple interface specifications (ONFi, Toggle NAND, and other unpublished specifications). Instead of creating separate dedicated controllers for each interface type, a single universal controller uses configurable circuits that can be programmed to match different protocol requirements, achieving multi-functionality without proportionally increasing overall system complexity
Solution Approach 2:
The controller employs configurable operation phase circuits and instruction sets that can be dynamically programmed based on the detected interface specification. The system transitions from a static, fixed-function design to a dynamic, adaptable architecture where the controller's behavior changes based on the connected flash memory device's requirements
2Productivity
If dedicated circuits are created for each interface specification, then operation execution is optimized for that protocol, but the controller cannot handle multiple interface specifications
Solution Approach 1:
The controller architecture is segmented into distinct functional components: a programmable module containing configurable operation phase circuits, an instruction set stored in memory, and a detection mechanism. This segmentation allows each component to be optimized independently while working together to support multiple interface specifications efficiently
Solution Approach 2:
The controller changes its operational parameters (timing sequences, command formats, signal levels) based on the detected interface specification. By programmatically adjusting these parameters, the controller maintains high execution efficiency for each specific protocol while being able to adapt to different specifications
3Reliability
If the controller uses a fixed instruction set for a specific interface specification, then it can reliably execute operations, but it cannot adapt to changes in interface specifications
Solution Approach 1:
The controller includes a detection mechanism that identifies the flash memory device's interface specification before operation execution. This preliminary detection allows the system to pre-configure the appropriate instruction set and operational parameters, ensuring reliable execution from the start while maintaining adaptability to different specifications
Solution Approach 2:
The system implements feedback through the detection mechanism that monitors the flash memory device's interface specification and provides information to the programmable module. This feedback loop enables the controller to continuously adapt its instruction set selection based on the connected device, maintaining both reliability for the detected specification and flexibility for future adaptations
Data Source
AI summary
A flash memory controller, a non-transitory computer readable medium and a method for performing operations with a flash memory device, the method may include receiving, by a flash memory controller, a request to perform a requested operation with the flash memory device; selecting multiple selected instructions to be executed by a programmable module of the flash memory controller, based upon (a) an interface specification supported by the flash memory device and (b) the requested operation; wherein the programmable module comprising multiple operation phase circuits; and executing the multiple selected instructions by the programmable module, wherein the executing of the multiple selected instructions comprises executing a plurality of selected instructions by multiple operation phase circuits; wherein different operation phase circuits are arranged to execute different operation phases of the requested operation.


