Memory Tier Data Migration via Disposition Instructions

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecost-effectivenessVSAvoidI/O performance
Core Design Contradiction:
Ease of manufactureVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If SSD is used to improve I/O performance, then I/O performance is improved, but cost increases significantly

Engineering Contradiction:
ImproveI/O performanceVSAvoidcost
Core Design Contradiction:
ProductivityVSEase of manufacture

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #15Dynamics

3Productivity

If flash memory is used in SSD, then I/O performance is improved, but the number of available programmable cycles is limited

Engineering Contradiction:
ImproveI/O performanceVSAvoidprogrammerable cycles
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #26Copying

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvepower consumptionVSAvoidI/O performance
Core Design Contradiction:
Use of energy by stationary objectVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8583890B2Disposition instructions for extended access commands
Publication Date: 2013.11.12 APPLE INC
  • US8583890B2 patent drawing
  • US8583890B2 patent drawing
  • US8583890B2 patent drawing

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.