Multi-tier Cache with Read Destructive Ferroelectric Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage systems face challenges with volatile memories due to power loss and degradation issues, while non-volatile memories like flash memory suffer from slow data access times and physical limitations, and ferroelectric memory cells lose their charge upon reading, requiring time-consuming and power-intensive refresh operations.
Innovation Solution
Employing a multi-tier cache structure using read destructive ferroelectric memory cells, where a smaller cache map describes the content of a larger cache repository, allowing for efficient data storage and retrieval by directly accessing and refreshing only the necessary cells, and utilizing speculative filling to optimize cache performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If ferroelectric memory cells are used for caching, then data access speed is improved, but power consumption increases due to required refresh operations
Solution Approach 1:
The cache is divided into two segments: a first cache storing data and a second cache storing metadata describing the first cache. This segmentation allows selective access where only metadata needs to be refreshed in the second cache, while the first cache data remains intact after read operations, reducing overall refresh requirements and power consumption.
Solution Approach 2:
The second cache acts as an intermediary layer between the host and the first cache. It stores metadata that describes the state and location of data in the first cache, allowing the system to determine cache hits without reading and potentially destroying data in the first cache, thereby eliminating the need for refresh operations on the data cache.
2Quantity of substance
If read destructive memory cells are used, then data storage capacity is improved, but data integrity deteriorates due to charge loss upon reading
Solution Approach 1:
The cache system is segmented into two distinct caches with different functions: the first cache (read-destructive) stores actual data maximizing storage capacity, while the second cache (non-read destructive) stores metadata preserving data integrity information. This allows the system to exploit the high density of read-destructive cells while maintaining reliability through the metadata cache.
Solution Approach 2:
Instead of directly reading data from the first read-destructive cache, the system reads metadata from the second cache that describes the first cache contents. This copying approach allows determination of data presence and location without destroying the actual data, maintaining data integrity while utilizing read-destructive cells for storage.
3Productivity
If a multi-tier cache structure is implemented, then data access efficiency is improved, but device complexity increases
Solution Approach 1:
The cache is segmented into two functional tiers: data storage (first cache) and metadata management (second cache). This segmentation improves data access efficiency by enabling quick metadata lookups to determine cache hits before accessing data, while the added complexity is managed through clear functional separation and standardized access protocols.
Solution Approach 2:
Both caches use the same ferroelectric memory cell technology, providing universality in the underlying storage mechanism. The multi-tier structure achieves multi-functionality by combining the high-density storage capability of read-destructive cells with the data integrity and quick lookup capability of a metadata-describing cache, all built on the same hardware foundation.
Data Source
AI summary
A data storage system can employ a read destructive memory configured to fill a first cache with a first data set from a data repository prior to populating a second cache with a second data set describing the first data set with the first and second cache each having non-volatile ferroelectric memory cells. An entirety of the first cache may be read in response to a cache hit in the second cache with the cache hit responsive to a data read command from a host and with the first cache being read without a refresh operation restoring the data of the first cache.


