Memory Bus Direction Switching via Page Movement Commands

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory systems, such as DDR3, face performance degradation due to the time required to switch data bus direction and serialize page opening and closing processes, leading to slower memory command execution.

Innovation Solution

Implementing a method and system that sorts read/write commands based on destination pages, categorizes them as page movement or data movement commands, and uses a direction arbiter to switch the data bus direction efficiently, ensuring that page movement commands are executed before switching to prepare the memory module, thereby optimizing bus usage and reducing execution time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the data bus direction is switched to enable bidirectional communication, then communication flexibility is improved, but the time required for direction switching increases command execution time

Engineering Contradiction:
Improvecommunication flexibilityVSAvoidcommand execution time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by asserting the bus_turn signal before the actual data bus direction switching occurs. This allows the memory controller to prepare and issue page movement commands (such as precharge and activate commands) in advance, so that when the direction switching completes, the memory is already ready to receive data movement commands without delay.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If page opening and closing operations are performed serially, then memory access control is simplified, but overall memory operation speed decreases

Engineering Contradiction:
Improvecontrol complexityVSAvoidmemory operation speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent enables parallel operation of page closing (precharge) and page opening (activate) commands by utilizing the bus_turn signal assertion period. These page movement commands are issued during the direction switching preparation phase, allowing them to execute concurrently with the bus direction change, thereby eliminating the need for strict serialization while maintaining control simplicity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces dynamic command scheduling based on the bus_turn signal state. The final arbiter dynamically selects between page movement commands and data movement commands depending on whether the bus direction is switching or stable, allowing the system to adapt its operation mode to current conditions and maximize throughput.

Inventive Principle:
Principle #15Dynamics

3Productivity

If commands are transmitted during data bus direction switching, then bus utilization is maximized, but command transmission errors may occur

Engineering Contradiction:
Improvebus utilizationVSAvoidcommand transmission reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent avoids transmitting commands during the actual direction switching by using the bus_turn signal assertion period to issue page movement commands instead. This timing strategy ensures that data movement commands are only transmitted when the bus direction is stable, preventing transmission errors while still achieving high bus utilization through overlapping page preparation operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9378169B2Method and system for changing bus direction in memory systems
Publication Date: 2016.06.28 NVIDIA CORP
  • US9378169B2 patent drawing
  • US9378169B2 patent drawing
  • US9378169B2 patent drawing

AI summary

A method including sorting read/write commands initiated by a memory controller based upon a destination page within a memory device. The read/write commands having a highest priority level are determined. The commands are then categorized as either page movement commands or data movement commands. The page movement commands or data movement commands are sent to the memory device based upon a signal indicating a current direction of a data bus providing communication between the memory controller and the memory device and further based upon a priority level.