Flash Controller Boot Data Partitioning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Electronic devices face delays in booting due to accidental or abnormal power-offs, which prevent timely loading of boot data necessary for initialization, leading to slow startup times.
Innovation Solution
A data storage device comprising flash memory and a controller with RAM, which differentiates between system and normal data using logical partitions and maintains mapping tables to ensure quick access and confirmation of system data storage, allowing for immediate transmission during power recovery operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the controller waits for power recovery operations to complete before transmitting boot data, then data integrity is ensured, but boot time increases
Solution Approach 1:
The controller performs preliminary actions by maintaining a first mapping table in RAM that records the mapping relationship between physical and logical addresses of each page in the current block. This mapping table is prepared in advance and can be quickly referenced during power recovery operations, eliminating the need to wait for complete power recovery procedures while ensuring data integrity through pre-established address mappings.
Solution Approach 2:
The controller creates and maintains a copy of the mapping relationship in the first mapping table stored in RAM, which is a faster access medium compared to flash memory. This copying mechanism allows the system to quickly access boot data during power recovery without waiting for the slower flash memory operations to complete, thus reducing boot time while maintaining data integrity through the accurate mapping copy.
2Speed
If the controller differentiates between system data and normal data using logical partitions, then boot data access is accelerated, but device complexity increases
Solution Approach 1:
The flash memory is segmented into multiple logical partitions, with at least one designated as a system partition for storing boot data. This segmentation allows the controller to quickly identify and access system data without processing the entire flash memory, significantly accelerating boot data access speed while keeping the partitioning logic straightforward and manageable.
Solution Approach 2:
Different logical partitions are assigned different qualities or purposes: system partitions are optimized for fast boot data access with dedicated mapping table entries, while data partitions handle general storage operations. This local quality differentiation enables the controller to apply optimized access procedures specifically to system data without complicating the handling of normal data, thus improving boot speed without proportionally increasing overall device complexity.
3Reliability
If the controller updates the second mapping table immediately after writing system data, then data consistency is maintained, but writing speed decreases
Solution Approach 1:
The controller performs preliminary action by maintaining the first mapping table in RAM that records the mapping relationship before writing operations. This pre-established mapping allows the controller to quickly determine where system data should be written and to maintain data consistency without performing time-consuming updates of the second mapping table during the writing process, thus preserving writing speed while ensuring data consistency.
Solution Approach 2:
The controller maintains continuous useful action by keeping the first mapping table in RAM accessible during writing operations. This allows the mapping information to be continuously available for determining write locations and maintaining consistency without interrupting the writing flow with repeated updates to the second mapping table, thereby sustaining high writing speed while ensuring data consistency through continuous mapping availability.
Data Source
AI summary
A data storage device utilized for accessing boot data includes a flash memory, a controller and a RAM. The flash memory includes several blocks, and each block includes several pages. The controller is coupled to the flash memory and the RAM. The controller receives a write command from a host and determines whether the data of the write command is system data or normal data. If the data to be written is system data, the controller transmits a confirm message to the host after the system data has been completely stored on the data storage device.


