Memory Array Search Engine Offloading LBA Lookup

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional memory systems face inefficiencies in searching for logical block addresses (LBAs) within flash memory devices, as they typically require loading entire pages of data, which increases communication time and processor utilization, and do not efficiently handle multiple memory components.

Innovation Solution

The system offloads the LBA search to the memory component, using a search component and controller to focus the search on specific blocks and pages, loading only the necessary metadata for comparison, and allows parallel searches across multiple memory components to reduce communication and processing time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the host processor loads entire pages of data to search for LBA, then the search can be performed, but the communication time and processor utilization increase significantly

Engineering Contradiction:
ImproveLBA search accuracyVSAvoidcommunication time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent extracts only the necessary metadata (LBA information) from the memory pages instead of loading entire pages. The memory controller identifies and retrieves only the minimal required data for LBA search, eliminating unnecessary data transfer and reducing communication time between host and memory device.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the memory search operation into distinct phases: first searching metadata to identify candidate pages, then loading only those specific pages for detailed comparison. This segmentation allows the system to perform initial filtering on minimal data, reducing overall communication requirements.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If the host processor loads entire pages of data to search for LBA, then the search can be performed, but the processor utilization increases

Engineering Contradiction:
ImproveLBA search accuracyVSAvoidprocessor utilization
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent extracts only the essential LBA identification data from memory pages, allowing the host processor to work with minimal data. This extraction approach maintains search accuracy while dramatically reducing the computational burden and processor utilization required for the search operation.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The memory controller acts as an intermediary that performs preliminary data processing and filtering. It retrieves and prepares only the necessary metadata before presenting it to the host processor, thereby reducing the processor's workload and utilization requirements while maintaining search capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If conventional memory systems search for LBA by loading pages sequentially, then the search can be performed, but the search time increases

Engineering Contradiction:
ImproveLBA identification accuracyVSAvoidsearch speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The patent performs preliminary action by having the memory controller pre-identify candidate pages through metadata search before the host processor initiates the detailed LBA comparison. This preliminary filtering step reduces the number of pages that need to be loaded and examined, thereby increasing search speed without compromising accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts LBA identification information from metadata in advance, allowing the system to quickly identify candidate pages before loading their full content. This extraction-based approach enables faster search by eliminating the need to sequentially load and examine entire pages.

Inventive Principle:
Principle #2Taking out (Extraction)

4Adaptability or versatility

If multiple memory components are searched sequentially, then all LBAs can be searched, but the total search time increases

Engineering Contradiction:
Improvemulti-memory search capabilityVSAvoidtotal search time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent merges multiple memory component searches into a unified parallel operation. The host processor simultaneously initiates LBA searches across multiple memory devices, and the memory controllers coordinate to perform metadata filtering in parallel, thereby reducing total search time while maintaining the ability to search all memory components.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent performs preliminary metadata search operations in parallel across multiple memory components before coordinating detailed LBA comparisons. This preliminary action allows the system to identify candidate pages in all memory devices simultaneously, reducing the overall search time while maintaining comprehensive multi-memory search capability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7979667B2Memory array search engine
Publication Date: 2011.07.12 VALLEY DEVICE MANAGEMENT
  • US7979667B2 patent drawing
  • US7979667B2 patent drawing
  • US7979667B2 patent drawing

AI summary

Systems and/or methods that facilitate a search of a memory component(s) to locate a desired logical block address (LBA) associated with a memory location in a memory component are presented. Searches to locate a desired LBA(s) in a memory component(s) associated with a processor component are offloaded and controlled by the memory component(s). A search component searches pages in the memory array to facilitate locating a page of data associated with an LBA stored in the memory component. The search component can retrieve a portion of a page of data in a block in the memory component to facilitate determining whether the page contains an LBA associated with a command based in part on command information. The search component can search pages in the memory component until a desired page is located or a predetermined number of searches is performed without locating the desired page.