Flash Memory Hash Table Implementation for Reduced Erasure

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional flash memory systems face performance and lifespan penalties due to the need for multiple reads and writes, and large-unit erasures, making it inefficient for processing large datasets and implementing data structures.

Innovation Solution

Implementing data structures in flash memory that allow for overwrites, using logical-OR operations and Compare-and-Swap calls to modify existing data without erasing entire pages, reducing the number of erasures and improving performance by writing only to existing pages when changing bits from 0 to 1.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional data structures are used in flash memory, then data can be stored and accessed, but multiple reads and writes are required causing performance penalty

Engineering Contradiction:
Improvedata processing speedVSAvoidtime for reads and writes
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The flash memory system is segmented into data pages and hash table entries, allowing selective access and modification of individual entries without requiring access to entire pages or blocks, thereby reducing the number of read/write operations needed

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-allocating hash table entries with valid data structures and using invalidation bits to track modifications. This allows updates to be performed by simply changing the invalidation bit state rather than performing full read-modify-write cycles

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If small edits are performed in flash memory, then data can be updated, but the entire page must be copied forward causing performance and lifespan penalty

Engineering Contradiction:
Improvedata update capabilityVSAvoidupdate operation speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The hash table implementation allows local quality by enabling modification of individual hash table entries without affecting other entries or requiring page-level operations. Each entry can be independently updated by modifying only its specific location in the flash memory

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system uses partial action by implementing hash table entries that occupy only a portion of a flash memory page. This allows updates to be performed on individual entries rather than requiring operations on the entire page, reducing the scope of each update operation

Inventive Principle:
Principle #16Partial or excessive action

3Quantity of substance

If pages are erased in flash memory, then space can be reused, but flash memory lifespan is reduced due to limited erase cycles

Engineering Contradiction:
Improveavailable storage spaceVSAvoidflash memory lifespan
Core Design Contradiction:
Quantity of substanceVSDuration of action of stationary object

Solution Approach 1:

The system implements discarding and recovering by using invalidation bits to mark hash table entries as invalid rather than physically erasing them. Invalid entries are logically discarded and can be recovered by clearing their invalidation bits, avoiding physical erase operations and extending flash memory lifespan

Inventive Principle:
Principle #34Discarding and recovering

Solution Approach 2:

The hash table entries are designed as disposable objects that can be easily invalidated and recreated. Instead of performing expensive erase operations on entire pages, the system creates new valid entries when needed, treating individual entries as short-lived objects that can be freely created and discarded

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

4Productivity

If hash tables are implemented in flash memory, then large datasets can be processed efficiently, but the structure complexity increases

Engineering Contradiction:
Improvedataset processing efficiencyVSAvoiddata structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system uses parameter changes by representing hash table entries in a standardized format with fixed fields (key, value, invalidation bit). This parameterized approach simplifies the complex task of managing hash tables in flash memory by providing a uniform structure that can be systematically created, accessed, and updated

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11204880B2Hash tables in flash memory
Publication Date: 2021.12.21 EMC IP HLDG CO LLC
  • US11204880B2 patent drawing
  • US11204880B2 patent drawing
  • US11204880B2 patent drawing

AI summary

Systems and methods for managing content in a flash memory. Systems and methods for implementing hash tables in a flash memory are disclosed. A hash table may include a flat array or an array of buckets that are each associated with a linked list. Adding or removing entries from the hash table or from the linked list are achieved by performing an overwrite operation where possible to pointers affected by the table operation.