Storage Partition Rediscovery Using Kernel Cache Comparison
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing operating systems like Linux face scalability issues with storage partition rediscovery, leading to discrepancies between user-space device files and actual devices due to dropped events during large-scale system scans, causing performance degradation and inefficiency.
Innovation Solution
An enhanced storage partition rediscovery mechanism that compares kernel cache partition data with actual device data to identify changes, reducing unnecessary events by skipping discovery operations where data is identical, and only performing rediscovery where changes are detected.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a discovery operation is performed on all block devices in a large storage sub-system, then the system can reflect changes in user-space device files, but the number of events generated increases significantly causing events to be dropped and creating discrepancies between user-space device files and actual devices
Solution Approach 1:
The patent applies partial action by performing discovery operations selectively rather than on all block devices. It compares partition data from the partition table against cached data and only triggers discovery operations when changes are detected, thus avoiding unnecessary events while maintaining accurate device reflection.
Solution Approach 2:
The patent implements feedback by comparing current partition data with cached partition data and using this comparison result to determine whether a discovery operation is necessary. This feedback mechanism prevents redundant events and ensures events are only generated when actual changes occur.
2Reliability
If a discovery operation is performed on all block devices to ensure accurate device reflection, then device accuracy is improved, but system performance degrades due to the overhead of processing thousands of events
Solution Approach 1:
The patent performs discovery operations only when necessary, based on comparison results between current and cached partition data. This selective approach maintains device file accuracy while avoiding the performance degradation associated with processing thousands of unnecessary events.
Solution Approach 2:
The patent extracts and compares only the relevant partition data from the partition table against cached data, rather than processing all device information. This extraction approach reduces the amount of data that needs to be processed and events that need to be handled, improving system efficiency.
3Reliability
If the system performs a comprehensive discovery operation on all partitions, then complete device information is updated, but the time required for the operation increases significantly
Solution Approach 1:
The patent performs partial discovery operations only on partitions that have changed, as determined by comparing partition table data with cached data. This approach maintains complete and accurate device information while significantly reducing the time required compared to comprehensive discovery operations on all partitions.
Solution Approach 2:
The patent maintains cached partition data as a preliminary reference, allowing it to quickly determine whether changes have occurred without performing a full discovery operation. This preliminary comparison mechanism reduces discovery operation duration while ensuring device information completeness.
Data Source
AI summary
Disclosed is a storage management system comprising: sending, by a user device manager running at a user space of an operating system, a first request for partition table data to a block device; receiving, by the user device manager, first partition data of the block device; sending, by the user device manager, a second request for partition data of the block device to a kernel of the operating system; receiving, by the user device manager, second partition data from the kernel, wherein the second partition data is associated with the block device and cached by the kernel; determining whether the first partition data and the second partition data are identical; and in response to determining that the first partition data is different from the second partition data, performing a device discovery operation on the block device.


