Cache Controller Write Coalescing Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The synchronization between cache controllers and firmware units is lost due to hardware operations being faster than firmware operations, leading to context exhaustion and stale data issues during write coalescing in I/O messaging.

Innovation Solution

Implementing a local message ID (LMID) system to track timeouts, using a firmware unit with a timer to manage cache flushes, and maintaining a write-pending-list to ensure synchronized data flushing and cleanup, thereby addressing the synchronization and stale data problems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If hardware operations are performed faster than firmware operations, then data flushing efficiency is improved, but synchronization between cache controller and firmware unit is lost

Engineering Contradiction:
Improvedata flushing efficiencyVSAvoidsynchronization between cache controller and firmware unit
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the cache controller sends completion status signals to the firmware unit and receives acknowledgment signals back. This bidirectional communication ensures that the firmware unit is informed of cache flush completions and can update its timeout tracking accordingly, maintaining synchronization even when hardware operations outpace firmware processing.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent employs preliminary action by having the cache controller proactively flush cache segments before the firmware unit's timeout mechanism would trigger a flush. The cache controller monitors its own flush completion status and sends notifications to the firmware unit in advance, allowing the firmware to update its timeout tracking proactively rather than reactively, thus preventing desynchronization.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If proactive flush is performed when CS row becomes fully dirty, then data consistency is improved, but context exhaustion occurs

Engineering Contradiction:
Improvedata consistencyVSAvoidfirmware context memory
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts the timeout tracking functionality from the firmware unit's main context memory and relocates it to the cache controller's local memory. The cache controller maintains its own timeout tracking for each cache segment, eliminating the need for the firmware unit to store extensive timeout context for every possible cache segment. This extraction significantly reduces the firmware context memory requirement while maintaining data consistency through the same proactive flush mechanism.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If firmware unit tracks timeout for each I/O message, then stale data prevention is improved, but device complexity increases

Engineering Contradiction:
Improvestale data preventionVSAvoidfirmware unit complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the timeout tracking function with the existing cache segment dirty bit tracking mechanism in the cache controller. Instead of the firmware unit maintaining separate timeout tracking for each I/O message, the cache controller integrates timeout monitoring into its existing cache segment management structure. The cache controller already tracks which cache segments are dirty and needs flushing; timeout tracking is added to this same tracking infrastructure, eliminating the need for separate firmware-based timeout tracking and reducing overall system complexity.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP4418127B1Synchronous write coalescing
Publication Date: 2025.06.25 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • EP4418127B1 patent drawingFigure 1A~1B
  • EP4418127B1 patent drawingFigure 2
  • EP4418127B1 patent drawingFigure 3A

AI summary

A memory system includes a firmware unit and a cache module that includes a cache controller and a cache memory. The cache controller receives an I/O message that includes a local message ID (LMID) and data to be written to a logical drive (LD), stores the data in a cache segment (CS) row of the cache memory and sends an ID of the CS row to the firmware unit. The firmware unit, in response to receiving the ID of the CS row, acquires a timestamp and stores the timestamp to check against a cache flush timeout for the CS row. The firmware unit periodically checks cache flush timeout and in response to detecting the cache flush timeout, sends a flush command with the ID of the CS row to the cache controller. The cache controller, in response to receiving the flush command, flushes the first data of the CS row.