Scalable Memory Protocol for Bit-Efficient Data Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional memory system protocols face challenges in efficiently transferring data between memory devices while minimizing energy consumption and maintaining data integrity, particularly in handling variable packet sizes and latencies across different memory types.

Innovation Solution

The scalable memory system protocol employs a packet-based approach that optimizes data transfer by packing multiple requests together, using dynamic field sizes, and implementing error control strategies to minimize overhead, allowing for efficient communication across various bus types and memory devices, including Automata processors and emerging memory technologies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional protocols transmit packets between memory devices, then data transfer is achieved with relatively low failure rates, but energy consumption increases and bit efficiency decreases

Engineering Contradiction:
Improvepacket transmission reliabilityVSAvoidenergy consumption for data transfer
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The protocol segments data transfer into fixed-size units (e.g., 256-bit or 512-bit packets) with dedicated error correction codes. Each packet is independently transmitted with built-in redundancy, allowing reliable delivery without requiring excessive energy for retransmissions. The segmentation enables parallel transmission across multiple channels while maintaining individual packet integrity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Error correction codes and redundancy bits are embedded in each packet before transmission. This beforehand cushioning protects against transmission errors without requiring energy-intensive retransmission protocols. The pre-built redundancy acts as a buffer against potential failures, ensuring reliable delivery with minimal energy overhead.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

2Adaptability or versatility

If variable packet sizes are used to optimize data transfer, then flexibility improves, but protocol complexity and overhead increase

Engineering Contradiction:
Improveprotocol flexibilityVSAvoidprotocol complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The protocol employs dynamic packet formatting where the data portion of each packet can vary in size while maintaining a fixed total packet structure. This allows the protocol to adapt to different data transfer needs without changing the fundamental transmission mechanism. The dynamic allocation of bits within the fixed packet framework provides flexibility while preserving protocol simplicity and reducing overhead.

Inventive Principle:
Principle #15Dynamics

3Reliability

If error control strategies are implemented to minimize packet failures, then data integrity improves, but transmission overhead increases

Engineering Contradiction:
Improvedata integrityVSAvoidtransmission overhead
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The protocol uses fixed-size packets with predetermined error correction code ratios (e.g., 256-bit data with specific redundancy bits). By standardizing packet parameters and error correction ratios, the protocol achieves consistent data integrity without variable overhead. The fixed structure allows for optimized transmission efficiency while maintaining reliable error detection and correction capabilities.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11531472B2Scalable memory system protocol supporting programmable number of levels of indirection
Publication Date: 2022.12.20 MICRON TECHNOLOGY INC
  • US11531472B2 patent drawing
  • US11531472B2 patent drawing
  • US11531472B2 patent drawing

AI summary

A memory device includes a memory component that stores data and a processor. The processor may receive requests from a requesting component to perform a plurality of data operations, generate a plurality of packets associated with the plurality of data operations, and continuously transmit each of the plurality of packets until each of the plurality of packets are transmitted. Each of the plurality of packets after the first packet of the plurality of packets is transmitted on a subsequent clock cycle immediately after a previous packet is transmitted.