Memory System Global Sequence Number Coordination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Contemporary memory systems face challenges in balancing cost, performance, and upgradeability, particularly in achieving high throughput and efficient data management across multiple memory modules, which is crucial for bandwidth-intensive applications like graphics and data centers.

Innovation Solution

A memory system architecture that employs a plurality of system controllers communicating with memory controllers, assigning a unique global sequence number (GSN) to commands to ensure consistent and coordinated execution across memory modules, maintaining data integrity and sequence order, even across multiple RAID groups and electronic chassis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple memory controllers are used to increase memory capacity and throughput, then system performance and upgradeability are improved, but command sequencing consistency and data integrity become harder to maintain

Engineering Contradiction:
Improvememory throughputVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

A global sequence number (GSN) assignment mechanism is introduced as an intermediary to coordinate commands across multiple memory controllers. The GSN provides a unified sequencing framework that ensures consistent command execution order and maintains data integrity throughout the distributed memory system, resolving the coordination challenges introduced by multiple controllers.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The memory system is segmented into multiple independent memory controllers, each capable of handling commands autonomously. This segmentation enables parallel command processing and improves throughput while the GSN mechanism ensures that segmented operations maintain global consistency.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If memory capacity is upgraded via memory modules with connector interfaces, then system upgradeability is improved, but system complexity and resource management difficulty increase

Engineering Contradiction:
Improvememory upgradeabilityVSAvoidsystem resource management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The GSN assignment mechanism serves multiple functions simultaneously: it sequences commands, tracks command status, coordinates across controllers, and ensures data integrity. This universal mechanism simplifies resource management in upgraded systems by providing a single framework that handles diverse memory module configurations.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Speed

If commands are dispatched to multiple memory controllers simultaneously, then processing speed is improved, but command ordering consistency deteriorates

Engineering Contradiction:
Improvecommand processing speedVSAvoidcommand sequence consistency
Core Design Contradiction:
SpeedVSStability of the object's composition

Solution Approach 1:

Global sequence numbers are assigned to commands in advance before dispatch to memory controllers. This preliminary numbering establishes the execution order beforehand, allowing parallel processing while maintaining consistent sequencing. The GSN acts as a pre-planned coordination framework that ensures stability despite simultaneous operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9417823B2Memory system management
Publication Date: 2016.08.16 INNOVATIONS IN MEMORY LLC
  • US9417823B2 patent drawing
  • US9417823B2 patent drawing
  • US9417823B2 patent drawing

AI summary

A memory system and a method for managing the system is described. The system is configured such a plurality of system controllers, which may be RAID controllers, receive requests from the external environment and distribute the requests to a plurality of memory modules such that data may be stored in the memory modules. A global sequence number is assigned to the data of a data stripe so that the operations related to the data stripe are performed in an ordered manner so that the data remains consistent. A plurality of system controllers may comprise a domain and access a plurality of memory controllers and a plurality of domains may include at least one common memory module. A plurality of groups of controllers may communicate with a switch or with a representative controller so as to coordinate the assignment of global sequence numbers.