Flash Database Node Translation Table Semantic Compression

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database products are not optimized for flash devices, leading to inefficiencies in data storage and access, particularly in write-intensive workloads and flexible systems, due to their design for hard disks rather than flash storage characteristics.

Innovation Solution

The implementation of a node translation table with semantic compression and checkpointing mechanisms to improve the efficiency of accessing and storing data in flash databases, including discarding obsolete log entries and incrementing version numbers, and replacing sector addresses with physical addresses for faster and more energy-efficient access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If existing database products designed for hard disks are used with flash devices, then compatibility is maintained, but data storage and access efficiency deteriorates

Engineering Contradiction:
ImprovecompatibilityVSAvoiddata storage and access efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent changes the fundamental parameters of database operation by implementing write-ahead logging and checkpointing mechanisms specifically optimized for flash storage characteristics. This involves altering how transactions are logged, how data is committed, and how the system recovers from crashes, thereby adapting the database system to flash device parameters while maintaining compatibility with standard database interfaces.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If traditional indexing schemes are used in flash databases, then implementation simplicity is maintained, but performance in write-intensive workloads deteriorates

Engineering Contradiction:
Improveimplementation simplicityVSAvoidperformance in write-intensive workloads
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the database operations into distinct phases: write-ahead logging phase where transactions are recorded in a log structure, and checkpointing phase where committed transactions are flushed to flash storage. This segmentation allows each phase to be optimized independently for flash characteristics, improving write-intensive performance while keeping the overall implementation manageable through clear separation of concerns.

Inventive Principle:
Principle #1Segmentation

3Reliability

If complete node translation tables are maintained for crash recovery, then recovery reliability is improved, but memory usage and access overhead increases

Engineering Contradiction:
Improvecrash recovery capabilityVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements preliminary action by writing transaction logs to storage before the actual data modifications are committed. This write-ahead logging ensures that in case of a crash, the system can recover by replaying or rolling back logged transactions, providing crash recovery reliability without needing to maintain complete in-memory copies of all data structures. The checkpointing mechanism further reduces memory usage by periodically flushing committed transactions to storage.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8037112B2Efficient access of flash databases
Publication Date: 2011.10.11 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8037112B2 patent drawing
  • US8037112B2 patent drawing
  • US8037112B2 patent drawing

AI summary

Techniques for efficient access to flash databases are described. In one implementation, a method includes performing an operation on a flash database, supplementing at least one portion of a node translation table corresponding to at least one node involved in the operation, and semantically compressing at least one portion of the node translation table. The semantic compression includes discarding at least one log entry that is rendered obsolete by at least one subsequent log entry, and incrementing a version number of the log entries corresponding to the at least one portion of the node translation table. In further embodiments, discarding at least one log entry includes discarding at least one log entry that is at least one of opposed by or overruled by at least one subsequent log entry.