Cache Tracking for Zero-Filled Pages in Virtual Disks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In software-defined networking (SDN) environments, improving input/output (IO) performance for virtual disks is challenging, particularly for applications that perform extensive zero writing and zero reading, as these operations consume significant device bandwidth and hinder IO throughput.
Innovation Solution
Implementing a system where a zero-filled logical memory page is configured in the cache and tracked for multiple logical block addresses, allowing subsequent zero read requests to be serviced from the cache instead of the virtual disk, thereby enhancing IO throughput and efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If zero writing and zero reading operations are performed on virtual disks, then applications can perform disk initialization and formatting, but device bandwidth is consumed and IO throughput is hindered
Solution Approach 1:
The system performs preliminary action by detecting zero write requests and proactively caching zero-filled data blocks in the cache memory before read requests arrive. This allows subsequent zero read requests to be served from cache rather than requiring actual disk operations, thus maintaining disk initialization capability while preventing bandwidth consumption and preserving IO throughput.
2Reliability
If actual disk operations are performed for zero read requests, then data accuracy is ensured, but device bandwidth is consumed and performance deteriorates
Solution Approach 1:
The system creates a copy of zero-filled data blocks and stores them in cache memory. When zero read requests are detected, the system serves these requests from the cached copies rather than performing actual disk operations. This copying approach maintains data accuracy for zero-filled regions while dramatically improving IO performance by eliminating repeated disk accesses.
3Productivity
If zero-filled data blocks are cached, then subsequent zero read requests can be serviced from cache improving throughput, but cache memory is used
Solution Approach 1:
The system applies local quality by selectively caching only zero-filled data blocks in the cache memory, rather than caching all data blocks indiscriminately. The cache management system identifies and caches specifically those blocks that contain zero-filled patterns, which are the most likely to generate repeated read requests. This targeted approach improves IO throughput for zero-read workloads while minimizing unnecessary cache memory consumption.
Data Source
AI summary
Example methods and systems for input output (IO) request handling based on tracking information are described. One example may involve a computer system configuring, in a cache, a zero-filled logical memory page that is mappable to multiple logical block addresses of a virtual disk. In response to detecting a first IO request to perform zero writing at a logical block address, the computer system may store tracking information indicating that zero writing has been issued. In response to detecting a second IO request to perform a read at the logical block address, the computer system may determine that that zero writing has been issued for the logical block address based on the tracking information. The zero-filled logical memory page may be fetched from the cache to respond to the second IO request, thereby servicing the second IO request from the cache instead of the virtual disk.


