Stream ID Memory Error Isolation in Multiprocessor Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-processor computer systems, memory errors can lead to data corruption and integrity issues due to uncorrectable errors, especially in systems like System z servers where errors may not be marked, resulting in stale data and disrupted operations.

Innovation Solution

The system isolates memory errors by associating DMA commands, read responses, or interrupts with a stream ID, allowing for the identification and isolation of errors within specific memory streams, preventing further operations from affected adapters and maintaining data integrity by using 'lock enable' and 'locked' bits to manage stream access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Duration of action of stationary object

If memory errors are not marked or updated in systems like System z servers, then system operation continuity is maintained, but data integrity is compromised due to stale data remaining in memory

Engineering Contradiction:
Improvesystem operation continuityVSAvoiddata integrity
Core Design Contradiction:
Duration of action of stationary objectVSReliability

Solution Approach 1:

The patent segments memory access operations into distinct streams identified by stream IDs. Each stream is independently tracked and managed, allowing errors to be isolated to specific streams rather than affecting the entire memory subsystem. This segmentation enables continuous operation while maintaining data integrity through targeted error recovery.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism using stream IDs and associated metadata (lock enable bit, locked bit) that mediates between memory write operations and data validity. This intermediary layer tracks the state of each stream and enables selective isolation of erroneous data without disrupting overall system operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If strict ordering rules are applied to all memory write requests, then data consistency is ensured, but memory bandwidth and processing efficiency are reduced

Engineering Contradiction:
Improvedata consistencyVSAvoidmemory bandwidth
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides memory write requests into multiple independent streams based on stream IDs. Ordering rules are applied only within each stream rather than across all requests globally. This allows parallel processing of different streams, maintaining data consistency within each stream while improving overall memory bandwidth and processing efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by enforcing strict ordering only where necessary (within each stream) while allowing more flexible ordering across different streams. Each stream maintains its own ordering guarantees, enabling optimized performance characteristics for each data flow while preserving consistency where required.

Inventive Principle:
Principle #3Local quality

3Device complexity

If memory errors affect multiple streams, then error isolation is simplified, but data integrity and system reliability are compromised

Engineering Contradiction:
Improveerror isolation mechanismVSAvoiddata integrity
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent uses stream IDs to segment memory operations into distinct, independently trackable streams. This segmentation simplifies error isolation by providing clear boundaries between streams, making it easier to identify and contain errors within specific streams without affecting others, thereby maintaining data integrity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements feedback mechanisms through metadata associated with each stream (lock enable bit, locked bit) that provides information about the state of memory operations. This feedback enables the system to detect errors, isolate affected streams, and prevent propagation of corrupted data while maintaining simplicity in the isolation mechanism.

Inventive Principle:
Principle #23Feedback

4Speed

If DMA commands are processed without stream association, then processing speed is maintained, but error detection and isolation become difficult

Engineering Contradiction:
ImproveDMA command processing speedVSAvoiderror detection and isolation
Core Design Contradiction:
SpeedVSDifficulty of detecting and measuring

Solution Approach 1:

The patent associates DMA commands with stream IDs, segmenting the processing workload into manageable streams. This segmentation enables efficient parallel processing while providing clear identifiers for error detection and isolation. The stream association adds minimal overhead while significantly improving error management capabilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by establishing stream associations and metadata structures before DMA commands are processed. This preliminary organization enables rapid error detection and isolation when errors occur, as the stream framework is already in place and ready to contain and manage errors without significant processing delays.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8656228B2Memory error isolation and recovery in a multiprocessor computer system
Publication Date: 2014.02.18 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8656228B2 patent drawing
  • US8656228B2 patent drawing
  • US8656228B2 patent drawing

AI summary

A system and computer implemented method for isolating errors in a computer system is provided. The method includes receiving a direct memory access (DMA) command to access a computer memory, a read response, or an interrupt; associating the DMA command to access the computer memory, the read response, or the interrupt with a stream identified by a stream identification (ID); detecting a memory error caused by the DMA command in the stream, the memory error resulting in stale data in the computer memory; and isolating the memory error in the stream associated with the stream ID from other streams associated with other stream IDs upon detecting the memory error.