Multi-Tiered Cache System for I/O Bottleneck Resolution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional data storage systems using RAM face inefficiencies due to limitations in NAND memory technology, such as high write amplification, limited storage capacity, and performance bottlenecks, especially when handling large data operations, leading to reduced system performance and increased wear on memory cells.
Innovation Solution
Implementing a multi-tiered cache system with different performance levels, where a high-performance tier (like DRAM) is used as a default for standard operations and a lower-performance tier (like SCM) is utilized during high workload situations or for specific data operations, effectively managing I/O requests and extending memory longevity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If RAM is used as the primary cache to satisfy I/O requests, then I/O performance is improved, but storage capacity is limited and cost increases
Solution Approach 1:
The cache system is segmented into multiple tiers: a first portion (higher performance, smaller capacity) and a second portion (lower performance, larger capacity). This segmentation allows the system to optimize for both speed and capacity by directing different types of I/O requests to appropriate cache portions.
Solution Approach 2:
The patent introduces a hierarchical dimension to the cache structure, organizing storage resources across multiple performance levels rather than using a single uniform cache. This dimensional approach enables the system to balance performance and capacity requirements.
2Speed
If data is recalled to RAM to perform operations, then operation speed is improved, but valuable storage capacity is polluted and restricted until data is reused
Solution Approach 1:
Different portions of the cache are assigned different qualities or performance characteristics. The first portion provides faster access for active operations, while the second portion handles less time-sensitive data, allowing storage capacity to be effectively utilized without polluting high-performance cache space.
3Reliability
If conventional SSD garbage collection is performed by relocating valid data to new blocks, then invalidated data can be erased and reused, but additional write operations increase write amplification
Solution Approach 1:
The cache is segmented into portions with different performance characteristics, allowing the system to perform garbage collection more efficiently by utilizing the higher-performance first portion for relocating valid data, thereby reducing the impact on overall write amplification.
Data Source
AI summary
A computer-implemented method, according to one embodiment, includes: in response to a determination that an available capacity of one or more buffers in a primary cache is not outside a predetermined range, using the one or more buffers in the primary cache to satisfy all incoming I/O requests. In response to a determination that the available capacity of the one or more buffers in the primary cache is outside the predetermined range, one or more buffers in a secondary cache are allocated, and the one or more buffers in the secondary cache are used to satisfy at least some of the incoming I/O requests.


