Recovering Validity Data in SSDs via Parallel Core Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data storage systems, such as solid state drives, face challenges in recovering validity data during unplanned shutdowns, as they may not have enough energy to transfer validity tables from volatile to non-volatile memory, resulting in data loss.
Innovation Solution
The method involves partitioning logical addresses in a mapping table into subsets and assigning them to processor cores, which check for valid physical addresses, increment local validity counts, and update global validity tables using multiple processor cores to recover validity data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If validity tables are stored only in volatile memory, then data storage system operation is fast and efficient, but data is lost during unplanned shutdowns
Solution Approach 1:
The validity table recovery process is segmented into multiple subsets of logical addresses, with each subset assigned to a different processor core. This allows parallel processing of validity data recovery while managing energy consumption during unplanned shutdowns.
Solution Approach 2:
The system performs preliminary actions by maintaining validity tables in volatile memory during normal operation for fast access, and only initiates recovery to non-volatile memory when unplanned shutdown is detected, thus minimizing energy consumption while ensuring data integrity.
2Reliability
If validity tables are transferred to non-volatile memory, then data integrity is maintained during shutdowns, but system performance decreases due to slower access times
Solution Approach 1:
The system keeps validity tables in volatile memory during normal operation for fast access, and only transfers to non-volatile memory when unplanned shutdown is detected, thus maintaining high speed during normal operation while ensuring data integrity when needed.
Solution Approach 2:
Different storage locations (volatile vs. non-volatile memory) are used with different quality characteristics - volatile memory for fast access during normal operation, and non-volatile memory for data preservation during shutdowns.
3Loss of time
If single processor core recovers validity data, then system complexity is low, but recovery time is excessive
Solution Approach 1:
The recovery process is divided into segments (subsets of logical addresses) that can be processed in parallel by multiple processor cores, significantly reducing total recovery time while managing complexity through systematic partitioning.
Solution Approach 2:
The system transitions from sequential single-core processing to parallel multi-core processing, adding a dimensional aspect of concurrency to the recovery process, thereby dramatically reducing recovery time.
Data Source
AI summary
The subject technology provides for recovering a validity table for a data storage system. A set of logical addresses in a mapping table is partitioned into subsets of logical addresses. Each of the subsets of logical addresses is assigned to respective processor cores in the data storage system. Each of the processor cores is configured to check each logical address of the assigned subset of logical addresses in the mapping table for a valid physical address mapped to the logical address, for each valid physical address mapped to a logical address of the assigned subset of logical addresses, increment a validity count in a local validity table associated with a blockset of the non-volatile memory corresponding to the valid physical address, and update validity counts in a global validity table associated with respective blocksets of the non-volatile memory with the validity counts in the local validity table.


