Hardware Cache Acceleration for Flash Map Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage devices, particularly those using flash memory, face processing bottlenecks in managing map structures due to the need to constantly locate and retrieve user data blocks, leading to inefficiencies in servicing access commands.

Innovation Solution

A data storage device with a non-volatile memory and a multi-cache structure, where a programmable processor offloads cache management tasks to a non-programmable hardware circuit, utilizing a reverse table to identify and write map pages between caches and non-volatile memory, thereby reducing processor workload and enhancing data transfer rates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the programmable processor manages cache operations directly, then processing accuracy is maintained, but processing speed and I/O performance deteriorate due to processor bottlenecks

Engineering Contradiction:
Improvedata transfer rateVSAvoidprocessor workload
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

A dedicated hardware circuit is introduced as an intermediary between the processor and the cache memory system. This circuit handles cache management operations (read/write commands, address translation, cache hit/miss handling) independently, allowing the processor to focus on higher-level data processing tasks while the hardware circuit manages the caching infrastructure, thereby improving overall system throughput without sacrificing accuracy

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the software-based cache management mechanism (processor executing cache management instructions) with a hardware-based circuit that performs the same functions at the electronic circuit level. This substitution eliminates the overhead of instruction fetching, decoding, and execution for cache operations, significantly accelerating data transfer rates while reducing processor workload

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If the processor handles all map page retrieval and cache management tasks, then data accuracy is ensured, but productivity deteriorates due to processing bottlenecks

Engineering Contradiction:
ImproveI/O performanceVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The hardware circuit acts as an intermediary that handles time-consuming cache management operations in parallel with processor operations. By offloading map page retrieval, address translation, and cache replacement decisions to dedicated hardware logic, the system achieves concurrent execution of multiple I/O tasks, thereby improving productivity without sacrificing data accuracy

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The hardware circuit performs preliminary actions by pre-loading map pages into the cache based on access patterns and proactively managing cache contents before the processor needs the data. This includes predicting future access needs and pre-fetching map pages, as well as maintaining the reverse table in advance to enable rapid cache replacement decisions, thereby reducing processing time for actual data operations

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10126964B2Hardware based map acceleration using forward and reverse cache tables
Publication Date: 2018.11.13 SEAGATE TECH LLC
  • US10126964B2 patent drawing
  • US10126964B2 patent drawing
  • US10126964B2 patent drawing

AI summary

Apparatus and method for managing map data in a data storage device. A programmable processor issues a find command to locate and place a requested map page of a map structure into a first cache to service a received host command. A non-programmable hardware circuit searches a forward table to determine whether the requested map page is in a second cache, and if so, loads the map page to the first cache. If not, the hardware circuit requests the requested map page from a back end processor which retrieves the requested map page from a non-volatile memory (NVM), such as a flash memory array. The hardware circuit searches a reverse table and the first cache to select a candidate location in the second cache for the retrieved requested map page from the NVM, and directs the storage of a copy of the requested map page at the candidate location.