Storage Allocation via Physical Location Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional data storage systems face performance limitations due to excessive disk arm movement and uneven distribution of I/O load across disks, as they do not consider the physical location of logical units when selecting storage for data allocation, leading to increased seek times and suboptimal I/O performance.
Innovation Solution
A method is introduced to select slices from logical units based on their physical location within the data storage system, optimizing data placement by relocating hot and cold data to appropriate tiers and reducing the distance traveled by the disk head, thereby improving I/O performance and efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If slices are allocated from logical units without considering physical location, then storage allocation is simple, but disk arm movement increases and seek time increases
Solution Approach 1:
The system pre-calculates and stores optimal logical unit selections based on physical disk locations before actual data allocation occurs. When a slice allocation request comes in, the pre-computed optimal LU is immediately selected, eliminating the need for complex real-time physical location analysis and reducing seek time without increasing allocation complexity.
Solution Approach 2:
An intermediary layer is introduced between the storage allocation request and the physical disks. This intermediary maintains mapping information that translates logical unit selections into optimal physical disk locations, allowing the system to make simple logical decisions while achieving optimal physical performance without direct complexity at the allocation point.
2Productivity
If slices are allocated without considering physical location, then allocation process is fast, but I/O load distribution becomes uneven
Solution Approach 1:
An intermediary mapping structure is introduced that pre-processes physical location information into logical unit recommendations. This allows fast allocation decisions to be made based on pre-computed mappings, while the intermediary ensures that I/O load is evenly distributed across physical disks by selecting LUs that correspond to balanced disk utilization.
Solution Approach 2:
The system performs preliminary analysis of physical disk locations and I/O patterns to pre-determine optimal logical unit assignments. This preliminary action creates a lookup table or mapping structure that enables fast allocation decisions while ensuring balanced I/O distribution, separating the complex analysis phase from the fast execution phase.
3Loss of time
If logical units are selected based on optimal physical location, then seek time is reduced, but the selection process becomes more complex
Solution Approach 1:
The system performs the complex physical location analysis and optimal LU selection in advance, storing the results in a pre-computed mapping structure. During actual slice allocation, the system simply queries this pre-computed structure, reducing the selection process to a simple lookup operation that achieves optimal seek time without complex real-time decision-making.
4Productivity
If disk arm movement is reduced through optimized LU selection, then I/O performance improves, but the system requires more complex management of logical units
Solution Approach 1:
An intermediary management layer is introduced that handles the complexity of logical unit tracking and physical location mapping. This intermediary abstracts the complex LU management from the slice allocation process, allowing I/O performance to be optimized through intelligent LU selection while the intermediary manages the underlying complexity of LU states, mappings, and physical locations.
Data Source
AI summary
A method is used in selecting physical storage in data storage systems. A request for allocation of a portion of storage area of a data storage system is received from a requesting entity. The data storage system is comprised of a set of storage entities and a set of data buses for transferring data to and from the set of storage entities. The set of storage entities are organized into a set of logical units. Each logical unit of the set of logical units is subdivided into a set of slices. A slice is selected from a logical unit of the set of logical units for allocation for use by the requesting entity in response to receiving the request for allocation. The selection is based on an optimum value indicating physical location of the logical unit within the set of storage entities during access to data to be stored in the data storage system.


