Segmented System Table Storage for Coherency and Fast Loading

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-volatile storage systems face challenges in efficiently loading and updating system table data, particularly in maintaining data coherency and avoiding delays, especially when dealing with large system tables and partial segment loading.

Innovation Solution

The implementation of progressive flushing of system table data from volatile memory to non-volatile storage, without the need for log data, allows for efficient loading of partial segments while maintaining data coherency, using a controller to manage the storage and reconstruction of table data across superblocks with a predefined ratio of page updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If system table data is loaded from non-volatile memory into volatile memory, then data access speed is improved, but memory access delays increase due to loading and updating operations

Engineering Contradiction:
Improvedata access speedVSAvoidmemory access delays
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The system table is divided into multiple segments that can be independently loaded into volatile memory. Only the segments that are currently needed are loaded, rather than loading the entire system table. This segmentation allows for selective loading that reduces memory access delays while maintaining fast access to the required data portions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system pre-loads system table segments into non-volatile memory before they are needed, and maintains a cache of recently accessed segments in volatile memory. This preliminary action ensures that when data access is required, the segments are already available or can be quickly retrieved, reducing memory access delays while maintaining fast access speed.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If log data is used to track changes to system table, then data coherency is improved, but storage complexity and access time increase

Engineering Contradiction:
Improvedata coherencyVSAvoidstorage complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Instead of using complex log data structures to track changes, the system creates simplified copies of the system table segments directly in non-volatile memory. These copies contain the necessary data coherency information without the overhead of traditional logging mechanisms. The copying approach maintains data reliability while reducing storage complexity and access time.

Inventive Principle:
Principle #26Copying

3Productivity

If complete system table is loaded into volatile memory, then data access efficiency is improved, but power-up time increases

Engineering Contradiction:
Improvedata access efficiencyVSAvoidpower-up time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system table is segmented into multiple smaller units that can be loaded independently. During power-up, only the essential segments required for immediate operation are loaded into volatile memory, significantly reducing power-up time. Additional segments are loaded on-demand or in the background, maintaining data access efficiency without requiring the complete table to be loaded upfront.

Inventive Principle:
Principle #1Segmentation

4Reliability

If system table data is stored in non-volatile memory, then data persistence is improved, but loading efficiency decreases

Engineering Contradiction:
Improvedata persistenceVSAvoidloading efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system loads only the necessary portions of the system table data from non-volatile memory into volatile memory, rather than loading the complete table. This partial action approach maintains data persistence by keeping the full table in non-volatile storage while improving loading efficiency by transferring only the required segments, reducing both power-up time and memory access delays.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11543974B2System data storage mechanism providing coherency and segmented data loading
Publication Date: 2023.01.03 WESTERN DIGITAL TECHNOLOGIES INC
  • US11543974B2 patent drawing
  • US11543974B2 patent drawing
  • US11543974B2 patent drawing

AI summary

A data storage subsystem is disclosed that implements a process for storing and/or reconstructing system data, such as a system mapping table. In certain embodiments, table pages are systematically copied, or flushed, to non-volatile memory in a progressive manner, according to a fixed ratio of flushed table pages per table update trigger, thereby facilitating write and/or load efficiency. Full or partial reconstruction of a table may be performed within a bounded number of operations based on the size of the table, the ratio implemented, and/or other characteristics.