Hierarchical Hashed Address Mapping for Storage Controllers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage systems face inefficiencies in mapping logical addresses to physical addresses, particularly in handling I/O requests, as conventional methods often require searching individual addresses rather than ranges, leading to slower data location and increased storage capacity usage.

Innovation Solution

A hierarchical data structure is implemented, comprising multiple levels with hash tables that map ranges of logical addresses to physical addresses, allowing for efficient lookup and storage by using a hashing function based on the relative position of the logical address within the structure.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If individual logical addresses are mapped to physical addresses using conventional methods, then address mapping functionality is provided, but the time to locate logical addresses increases and storage capacity usage increases

Engineering Contradiction:
Improvetime to locate logical addressesVSAvoidstorage capacity usage
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent divides the address mapping structure into a hierarchical format with multiple levels. The root level contains entries for ranges of logical addresses, while child levels contain more specific mappings. This segmentation allows the system to quickly locate mappings at higher levels without searching through all individual address mappings, reducing lookup time while maintaining efficient storage utilization.

Inventive Principle:
Principle #1Segmentation

2Productivity

If continuous data is grouped in the hierarchical structure, then data access efficiency improves, but the complexity of the mapping structure increases

Engineering Contradiction:
Improvedata access efficiencyVSAvoidmapping structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges continuous data ranges into single hierarchical entries. When multiple logical addresses map to the same physical location or range, the system combines them into a single parent entry with child entries representing the individual mappings. This merging reduces the total number of entries that need to be searched, improving data access efficiency while the hierarchical organization keeps the structure manageable.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements a nested hierarchical structure where parent entries contain child entries, which may themselves contain further child entries. This nesting allows the system to organize address mappings at multiple levels of abstraction, grouping continuous data ranges efficiently while maintaining a structured format that balances complexity with access performance.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS10452558B2Address range mapping for storage devices
Publication Date: 2019.10.22 SANDISK TECHNOLOGIES LLC
  • US10452558B2 patent drawing
  • US10452558B2 patent drawing
  • US10452558B2 patent drawing

AI summary

Apparatuses, systems, methods, and computer program products are disclosed for address range mapping for memory devices. A system includes a set of non-volatile memory elements accessible using a set of physical addresses and a controller for the set of non-volatile memory elements. A controller is configured to maintain a hierarchical data structure for mapping logical addresses to a set of physical addresses. A hierarchical data structure comprises a plurality of levels with hashed mappings of ranges of logical addresses at range sizes selected based on a relative position of an associated level within the plurality of levels. A controller is configured to receive an I/O request for data of at least one logical address. A controller is configured to satisfy an I/O request using a hashed mapping having a largest available range size to map at least one logical address of the I/O request to one or more physical addresses.