Storage Device Data Reordering via Remapping for Tiled Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage devices do not efficiently reorder data based on access patterns, leading to increased processing time and inefficiencies, particularly for applications with tiling or swizzling access patterns, as they store data in linear formats that are not optimized for GPU workloads, resulting in scattered data access and performance issues.
Innovation Solution
A method and system that detect data access patterns, generate a remapping function, and reorder data within storage devices to align with tiling or swizzling access patterns, using mapping tables to optimize data layout and prefetching for efficient access, allowing data to be stored and retrieved in a format that matches the access patterns of applications, thereby improving storage efficiency and performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data is stored in linear format in storage devices, then storage device simplicity is maintained, but data access efficiency deteriorates for applications with tiling or swizzling access patterns
Solution Approach 1:
The patent introduces a remapping layer as an intermediary between the linear storage format and the application's tiling/swizzling access patterns. This remapping function translates logical tile-based addresses to physical linear addresses, allowing the storage device to maintain simple linear storage while providing efficient tile-based access to applications.
Solution Approach 2:
The patent segments the data access process into two distinct layers: linear storage segmentation and tile-based logical segmentation. By separating the storage format from the access pattern through mapping tables, the system achieves both storage simplicity and access efficiency for tiled data structures.
2Loss of time
If data is reordered to match access patterns, then data access time is reduced, but data reordering complexity increases
Solution Approach 1:
The patent performs preliminary organization of data into tile-based structures during the data writing phase. By pre-organizing data according to the expected access patterns and creating mapping tables in advance, the system eliminates the need for complex real-time reordering operations during data access.
Solution Approach 2:
The patent creates virtual copies of data through mapping tables that represent different layout sequences. Instead of physically reordering data multiple times, the system uses mapping tables to create virtual views of data in different layouts, allowing fast access without physical data movement.
3Adaptability or versatility
If mapping tables are used for data remapping, then data layout flexibility is improved, but memory usage increases
Solution Approach 1:
The patent designs the mapping tables to serve multiple functions: they store layout sequence information, enable data remapping, support different tile dimensions, and facilitate various access patterns. This multi-functionality reduces the need for separate data structures for each function, optimizing memory utilization.
Solution Approach 2:
The patent uses compact encoding schemes for mapping tables that dynamically adjust to different tile dimensions and layouts. By changing parameters like tile size and layout sequence in the mapping tables without restructuring the entire data system, the patent achieves high flexibility with minimal memory overhead.
Data Source
AI summary
A method for reordering data for storage includes detecting a data access pattern, associated with an application, for accessing a data, generating a remapping function based on a data access pattern information, the remapping function including operations to determine a reordering of the data based on address information for the data, receiving the data at a storage device, the data being ordered according to a first layout sequence, reordering the data, by the storage device, based on the remapping function, and storing the data, at the storage device, according to a second layout sequence corresponding to the data access pattern, the second layout sequence being different than the first layout sequence.


