Flash Memory Cache Coherence via Buffer Mediation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Incorporating flash memory into computer systems' memory hierarchies poses challenges due to cache coherence issues and inefficient data access operations, particularly when flash memory lacks Direct Memory Access (DMA) access to main memory, leading to potential performance bottlenecks and errors in multi-core systems.

Innovation Solution

A computer system architecture that includes a processor coupled to a memory hierarchy with a memory controller, a random access memory region, and an auxiliary flash memory region, utilizing a command sequencer and coherence engine to manage data transfers and maintain cache coherence by swapping pages and invalidating cache lines during page faults, thereby enabling efficient data movement between DRAM and flash memory regions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If flash memory is integrated into the memory hierarchy without DMA access, then cost is reduced and storage capacity is increased, but cache coherence issues arise and data transfer efficiency deteriorates

Engineering Contradiction:
Improvesystem costVSAvoidcache coherence
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent introduces a buffer as an intermediary component between flash memory and main memory. This buffer receives data from flash memory via DMA transfers and makes it available to processing units, thereby mediating the coherence issue. The buffer acts as a staging area that decouples the flash memory subsystem from the main memory hierarchy, allowing flash to be integrated without directly causing coherence problems while maintaining cost benefits.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If flash memory is integrated into the memory hierarchy, then storage capacity is increased, but data transfer efficiency deteriorates due to lack of DMA access

Engineering Contradiction:
Improvestorage capacityVSAvoiddata transfer efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The buffer serves as a mediator that enables efficient data transfer between flash memory and the memory hierarchy. By using DMA to transfer data to the buffer and then making it available to processing units, the system achieves efficient data movement without requiring flash memory to have direct DMA access to main memory, thus preserving storage capacity benefits while improving transfer efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the data transfer process into two distinct phases: first, DMA transfers data from flash memory to the buffer; second, the buffer makes data available to processing units. This segmentation allows each component to operate independently at its optimal speed, with flash memory using DMA for high-speed transfer to the buffer, and the buffer managing delivery to the memory hierarchy, thereby improving overall data transfer efficiency.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If central processing unit is involved in data transfers within the memory hierarchy, then control is improved, but performance deteriorates due to processing unit overhead

Engineering Contradiction:
ImprovecontrolVSAvoidsystem performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The buffer acts as an intermediary that handles data transfer operations independently of the central processing unit. DMA controllers can transfer data to and from the buffer without involving the CPU, and the buffer manages the interface with the memory hierarchy. This maintains system control through the buffer's management logic while eliminating CPU overhead from data transfer operations, thereby improving system performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The buffer provides self-service functionality by autonomously managing data transfers between flash memory and the memory hierarchy. Through its interface with DMA controllers and memory subsystems, the buffer can receive, buffer, and forward data without requiring continuous CPU intervention. This self-service capability maintains operational control while significantly reducing the performance penalty associated with CPU involvement in data transfers.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP2430551B1Cache coherent support for flash in a memory hierarchy
Publication Date: 2020.02.19 ORACLE AMERICAN INC
  • EP2430551B1 patent drawingFigure 1
  • EP2430551B1 patent drawingFigure 2
  • EP2430551B1 patent drawingFigure 3

AI summary

System and method for using flash memory in a memory hierarchy. A computer system includes a processor coupled to a memory hierarchy via a memory controller. The memory hierarchy includes a cache memory, a first memory region of random access memory coupled to the memory controller via a first buffer, and an auxiliary memory region of flash memory coupled to the memory controller via a flash controller. The first buffer and the flash controller are coupled to the memory controller via a single interface. The memory controller receives a request to access a particular page in the first memory region. The processor detects a page fault corresponding to the request and in response, invalidates cache lines in the cache memory that correspond to the particular page, flushes the invalid cache lines, and swaps a page from the auxiliary memory region to the first memory region.