Unified Cache Dynamic Allocation for SCSI Logical Units

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems in SCSI devices face inefficiencies due to static cache allocation policies, which lead to underutilization of cache resources and increased hardware complexity, and fail to dynamically allocate cache based on Quality of Service (QoS) traffic classes and LU requirements, resulting in degraded I/O performance and frequent cache flushing.

Innovation Solution

A system and method for dynamically allocating a unified cache to Logical Units (LUs) in SCSI devices, utilizing a cache balancer module, a unified cache module, and a cache allocation table to allocate cache slots based on I/O requests, classify cache entries by QoS traffic classes, and selectively flush stale entries, thereby optimizing cache usage and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If static cache allocation is implemented for each LU, then cache allocation is simple and hardware complexity is reduced, but cache utilization efficiency deteriorates and I/O performance is degraded

Engineering Contradiction:
Improvehardware complexityVSAvoidcache utilization efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements dynamic cache allocation where the cache allocation table maintains cache allocation status for all LUs and the system dynamically adjusts cache slot allocation based on I/O requests and QoS traffic classes. This allows cache resources to be flexibly reallocated according to actual demand rather than fixed static partitions, resolving the contradiction between simple allocation and efficient utilization.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a unified cache that serves multiple LUs simultaneously through a single cache allocation table, rather than dedicating separate static cache segments to each LU. This universal cache structure improves overall utilization while maintaining manageable complexity through centralized control.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If scalable cache is added to switch between fixed and scalable cache, then cache flexibility is improved, but hardware complexity increases

Engineering Contradiction:
Improvecache flexibilityVSAvoidhardware complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic cache allocation where the cache allocation table maintains cache allocation status for all LUs and the system dynamically adjusts cache slot allocation based on I/O requests and QoS traffic classes. This allows cache resources to be flexibly reallocated according to actual demand rather than fixed static partitions, resolving the contradiction between simple allocation and efficient utilization.

Inventive Principle:
Principle #15Dynamics

3Reliability

If all cache entries are flushed using cache flush operation, then cache consistency is maintained, but system performance deteriorates due to frequent flushing

Engineering Contradiction:
Improvecache consistencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the flushing operation from a blanket all-or-nothing approach to a selective targeted operation. The cache balancer module identifies and flushes only specific cache entries that need invalidation based on LU requirements and cache allocation status, rather than flushing entire cache segments. This selective extraction maintains consistency while minimizing performance impact.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The cache allocation table provides feedback about cache entry status and allocation to the cache balancer module, enabling intelligent decisions about which entries to flush. This feedback mechanism allows the system to maintain consistency only where necessary rather than performing unnecessary widespread flushing operations.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9396128B2System and method for dynamic allocation of unified cache to one or more logical units
Publication Date: 2016.07.19 SAMSUNG ELECTRONICS CO LTD
  • US9396128B2 patent drawing
  • US9396128B2 patent drawing
  • US9396128B2 patent drawing

AI summary

A system and method provide a unified cache in a Small Computer System Interface (SCSI) device which can be dynamically allocated to one or more Logical Units (LUs). A cache balancer module of the SCSI device can allocate the entire unified cache to a single LU, or divide the unified cache among multiple LUs. The cache entries for each LU can be further classified based on Quality of Service (QoS) traffic classes within each LU thereby improving the QoS performance. The system provides a cache allocation table that maintains a unified cache allocation status for each LU.