Address Translation Table Management in SSD Controllers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing data backup technologies for NAND-type flash memory systems are inefficient due to the slow writing speed and increased log updates, which degrade the performance of Solid State Drives (SSDs) by requiring frequent updates to address translation tables, leading to increased wear and reduced reliability.
Innovation Solution
A memory system with a volatile DRAM unit and a nonvolatile NAND-type flash memory unit, utilizing a controller that manages address translation tables, logs, and data transfer, where the controller stores difference information as a log and reflects it in the master table, optimizing data management and reducing the need for frequent updates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If frequent updates are made to address translation tables to maintain data integrity, then data reliability is improved, but writing speed decreases and wear on NAND-type flash memory increases
Solution Approach 1:
The address translation table is divided into a master table stored in volatile memory and a slave table stored in nonvolatile memory. The master table is updated frequently for data integrity, while the slave table is updated less frequently, segmenting the update operations to reduce wear and improve writing speed.
Solution Approach 2:
The volatile memory acts as an intermediary between the host apparatus and the nonvolatile memory. It temporarily stores the master table and logs, allowing frequent updates without directly writing to the nonvolatile memory, thus reducing wear and improving writing speed while maintaining data integrity.
2Reliability
If address translation tables are updated frequently to reflect changes, then data reliability is improved, but the number of log updates increases degrading SSD performance
Solution Approach 1:
The master table is updated in volatile memory before the slave table is updated in nonvolatile memory. This preliminary action allows the system to maintain data integrity through frequent master table updates while deferring the slower slave table updates, reducing overall update time and degrading performance less severely.
Solution Approach 2:
The system dynamically updates the master table in volatile memory for immediate data integrity, while the slave table in nonvolatile memory is updated asynchronously when conditions permit. This dynamic approach allows frequent updates for reliability while reducing the impact of update time through asynchronous operations.
3Reliability
If logs are stored frequently to track changes, then data reliability is improved, but wear on NAND-type flash memory increases
Solution Approach 1:
Logs are segmented into volatile memory for immediate storage and nonvolatile memory for persistent storage. The volatile memory handles frequent log entries for data integrity, while the nonvolatile memory receives logs asynchronously, reducing the frequency of writes to the NAND-type flash memory and thus extending its lifespan.
Solution Approach 2:
Volatile memory serves as an intermediary buffer for log storage. It temporarily holds log entries before they are written to nonvolatile memory, reducing the number of direct writes to the NAND-type flash memory and thereby extending its operational lifespan while maintaining data integrity through frequent log tracking.
Data Source
AI summary
A forward lookup address translation table and a reverse lookup address translation table stored in a nonvolatile second storing unit are transferred as a master table to a volatile first storing unit at a time of start-up. When an event occurs so that the master table needs to be updated, difference information before and after update of any one of the forward lookup address translation table and the reverse lookup address translation table is recorded in the first storing unit as a log, thereby reducing an amount of the log.


