Compressed Forward Map for SSD Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage devices face challenges in managing large forward maps due to memory constraints, as existing data structures like trees or hash tables require significant memory space, especially in devices with limited memory and dynamic storage tiers that experience frequent updates.

Innovation Solution

Implementing a compressed forward map with a sifting module that decompresses and recompresses the map as needed, using a superseding data structure to store updates, and employing compression techniques like Huffman codes to reduce memory footprint while maintaining logarithmic search times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a forward map is stored in memory to enable logarithmic search time, then search speed is improved, but memory space is consumed

Engineering Contradiction:
Improvesearch timeVSAvoidmemory space
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent applies compression techniques to change the parameter of memory footprint by compressing the forward map data structure. This reduces the space required to store the forward map while maintaining the ability to perform logarithmic searches, directly resolving the contradiction between search speed and memory consumption

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent creates a compressed copy of the forward map that occupies less memory space. By maintaining a compressed representation of the mapping data, the system preserves search functionality while reducing the quantity of memory resources required

Inventive Principle:
Principle #26Copying

2Quantity of substance

If the forward map is compressed to reduce memory footprint, then memory space is saved, but update operations become more complex

Engineering Contradiction:
Improvememory footprintVSAvoidupdate complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent performs preliminary compression of the forward map before updates are needed. By pre-compressing the data structure and maintaining it in a compressed state, the system reduces memory footprint while preparing for efficient update operations through the superseding data structure mechanism

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a superseding data structure as an intermediary to handle updates. This intermediary structure allows update operations to be performed without fully decompressing the forward map, thereby reducing update complexity while maintaining the space-efficient compressed representation

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If a superseding data structure is used to store updates, then update efficiency is improved, but memory space is consumed

Engineering Contradiction:
Improveupdate efficiencyVSAvoidmemory space
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies local quality by using a superseding data structure only for storing updates rather than maintaining the entire forward map in an uncompressed state. This localized use of additional memory space for updates improves update efficiency while minimizing the overall memory consumption impact

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10747678B2Storage tier with compressed forward map
Publication Date: 2020.08.18 SEAGATE TECH LLC
  • US10747678B2 patent drawing
  • US10747678B2 patent drawing
  • US10747678B2 patent drawing

AI summary

A data storage device includes a storage tier and a storage controller operably coupled to the storage tier and configured to be communicatively coupled to a host device. The storage controller includes a first memory operably coupled to the storage controller and configured to store a superseding data structure. The storage controller further includes a second memory operably coupled to the storage controller and configured to store a forward map configured to map a plurality of logical block addresses to physical locations on the storage tier. The storage controller further includes a sifting module configured to sift the forward map based on data contained in the superseding data structure. The storage controller further includes a compression module configured to compress the forward map to generate a compressed forward map.