SSD Cache Management via Status-Based Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The use of a single cache link list in solid state drives (SSDs) impairs the performance of the controlling unit during data management, as it requires sequential searching of cache units, leading to inefficiencies in write-back and data retrieval operations.

Innovation Solution

Divide cache units into multiple groups based on operating statuses and manage them using separate cache link lists, allowing the controlling unit to efficiently process and allocate data without sequential searching across all units.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single cache link list is used to manage all cache units, then the device complexity is reduced, but the productivity of the controlling unit deteriorates due to sequential searching requirements

Engineering Contradiction:
Improvecache management structureVSAvoidcontrolling unit efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent divides the cache units into multiple groups based on their operating statuses (e.g., write status, read status, free status), with each group having its own dedicated cache link list. This segmentation allows the controlling unit to directly access specific status groups without sequentially searching through all cache units, thereby resolving the contradiction between simplified structure and processing efficiency.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If cache units are managed through sequential searching of a single link list, then the device complexity is minimized, but the loss of time increases during write-back and data retrieval operations

Engineering Contradiction:
Improvecache link list structureVSAvoiddata management time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

By segmenting cache units into status-based groups with separate link lists, the patent enables direct access to specific cache units regardless of their position in the overall cache memory. This eliminates the sequential searching time penalty while maintaining manageable structural complexity through organized groupings.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces status-based grouping as an intermediary layer between the controlling unit and the physical cache units. This intermediary organization allows the controlling unit to quickly locate and access cache units with specific statuses without traversing the entire cache memory space, thereby reducing access time.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If all cache units are managed in a single group, then the ease of operation is maintained, but the productivity of data management operations deteriorates

Engineering Contradiction:
Improvecache unit managementVSAvoidwrite-back and retrieval efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments cache units into multiple status-based groups, each managed by its own link list. This segmentation improves productivity by enabling parallel processing and direct access to specific status groups, while ease of operation is maintained through systematic organization and clear status categorization that simplifies cache management logic.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9092344B2Solid state drive
Publication Date: 2015.07.28 SOLID STATE STORAGE TECH CORP
  • US9092344B2 patent drawing
  • US9092344B2 patent drawing
  • US9092344B2 patent drawing

AI summary

A solid state drive includes a flash memory, a cache memory, and a controlling unit. The solid state drive is in communication with a host. The flash memory includes a plurality of blocks, wherein each of the blocks has a plurality of pages. The cache memory includes a plurality of cache units. The cache units are allocated into a plurality of groups according to operating statuses of respective cache units. The controlling unit is in communication with the host, the flash memory and the cache memory. Under control of the controlling unit, a write data from the host is temporarily stored in the cache memory so as to be written into the flash memory, or a read data from the flash memory is temporarily stored in the cache memory so as to be provided to the host.