Controller Map Cache for Semiconductor Memory Read Speed

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Semiconductor memory devices face inefficiencies in managing data operations due to limitations in cache management, particularly in distinguishing between random and sequential data, which affects read speeds and storage capacity utilization.

Innovation Solution

A controller is designed with a map cache that separates random and sequential data using a flag bit to optimize cache storage, generating and programming mapping segments based on data characteristics, and efficiently storing and retrieving data from a semiconductor memory device.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a single unified cache is used to store all mapping entries, then the cache capacity is maximized for general use, but the read speed decreases due to inability to optimize for sequential data access patterns

Engineering Contradiction:
Improveread speedVSAvoidcache structure
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The cache is divided into two separate caches: a first cache for storing mapping entries of random data and a second cache for storing mapping entries of sequential data. This segmentation allows each cache to be optimized for its specific data type, improving read speed for sequential data while maintaining effective management of random data, thereby resolving the contradiction between read speed and cache structure complexity.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If all mapping entries are stored in detail, then the mapping precision is maintained, but the storage capacity utilization decreases due to redundant information for sequential data

Engineering Contradiction:
Improvestorage capacity utilizationVSAvoidmapping precision
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

For sequential data, only essential mapping information (start address and length) is extracted and stored in the second cache, rather than storing all detailed mapping entries. This extraction approach maintains sufficient mapping precision for sequential access while significantly improving storage capacity utilization by eliminating redundant information.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Different storage strategies are applied to different data types: random data mapping entries are stored in full detail in the first cache, while sequential data uses a compressed representation (start address and length) in the second cache. This local quality differentiation optimizes both storage capacity utilization and mapping precision according to the specific requirements of each data type.

Inventive Principle:
Principle #3Local quality

3Reliability

If the cache stores complete mapping entries for all data, then the mapping accuracy is maintained, but the cache hit ratio decreases due to faster eviction of useful entries

Engineering Contradiction:
Improvemapping accuracyVSAvoidcache hit ratio
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

By segmenting the cache into two separate caches for random and sequential data, the invention ensures that sequential data mappings remain in the cache longer with less eviction, thereby improving the cache hit ratio while maintaining mapping accuracy through appropriate storage strategies for each data type.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11113203B2Controller and method of operating the same
Publication Date: 2021.09.07 SK HYNIX INC
  • US11113203B2 patent drawing
  • US11113203B2 patent drawing
  • US11113203B2 patent drawing

AI summary

Provided herein may be a controller and a method of operating the same. The controller for controlling an operation of a semiconductor memory device may include a request analyzer, a map cache controller, and a command generator. The request analyzer receives a first request from a host. The map cache controller generates a first mapping segment including a plurality of mapping entries and a flag bit based on the first request, and sets a value of the flag bit depending on whether data corresponding to the first mapping segment is random data or sequential data. The command generator generates a program command for programming the mapping segment.