Memory Tier Data Migration via Disposition Instructions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computer systems face performance and power consumption issues due to the varying characteristics of different memory types, particularly with HDDs being a weak link in I/O performance and power consumption, while SSDs are costly and have limited programmable cycles.
Innovation Solution
A system generates a disposition instruction based on the performance characteristics of different memory types to move data between them, optimizing access times and power consumption by selecting appropriate memory types for data storage and retrieval.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If data is stored in HDD, then cost-effective storage solution is provided, but I/O performance is adversely affected
Solution Approach 1:
The storage system is segmented into multiple memory types (HDD, SSD, flash memory, DRAM) with different performance characteristics. Data is divided and stored across these segments based on access patterns and performance requirements, allowing the system to achieve both cost-effectiveness for cold data and high performance for hot data.
Solution Approach 2:
A memory controller acts as an intermediary between the CPU and multiple memory types. It manages data migration between memory tiers and handles access commands, enabling the system to transparently optimize I/O performance while maintaining cost-effectiveness by placing data in appropriate memory tiers.
2Productivity
If SSD is used to improve I/O performance, then I/O performance is improved, but cost increases significantly
Solution Approach 1:
Different memory types are assigned to different data based on local quality requirements. Frequently accessed data (hot data) is placed in high-performance SSDs or flash memory, while less frequently accessed data (cold data) is stored in cost-effective HDDs. This ensures high I/O performance where needed while minimizing overall system cost.
Solution Approach 2:
The system dynamically migrates data between different memory tiers based on changing access patterns and system conditions. Data that becomes frequently accessed is automatically moved from HDDs to SSDs or flash memory, while data that becomes less accessed is moved back to HDDs, optimizing the balance between performance and cost in real-time.
3Productivity
If flash memory is used in SSD, then I/O performance is improved, but the number of available programmable cycles is limited
Solution Approach 1:
The system maintains copies of frequently accessed data in flash memory while keeping the original or backup copies in HDDs. This allows the system to exploit the high I/O performance of flash memory for active data while preserving the durability advantage of HDDs for data that requires many write cycles, effectively distributing the wear burden.
Solution Approach 2:
The system performs preliminary data migration to flash memory for data that is predicted to be frequently accessed, before the flash memory's programmable cycles are exhausted. This proactive approach ensures that high-performance access is maintained while managing the finite write endurance of flash memory through careful allocation and wear-leveling strategies.
4Use of energy by stationary object
If HDD is kept idle to reduce power consumption, then power consumption is reduced, but I/O performance suffers when data access is needed
Solution Approach 1:
The system performs preliminary data migration from HDDs to SSDs or flash memory for data that is predicted to be accessed soon. This allows the HDD to remain idle and consume less power, while the migrated data is readily available in higher-performance media when access is needed, eliminating the performance penalty that would normally result from keeping the HDD spinning.
Data Source
AI summary
A computer system that generates a disposition instruction and an associated access command directed to a block of data at a logical address is described. The disposition instruction and the access command are communicated to a memory system in the computer system via a communication link. Note that the memory system includes different types of memory having different performance characteristics, and the disposition instruction is generated based on the different performance characteristics. In response to the access command, the memory system accesses the block of data at the logical address in a first type of memory in the different types of memory. Furthermore, based on the disposition instruction, the memory system moves the block of data to a second type of memory in the different types of memory to facilitate subsequent accesses to the block of data.


