Memory Controller for Packet Applications with Consecutive Burst Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory controllers for packet buffering in communications networks face inefficiencies due to high latency and complexity in managing DRAM banks, particularly with linked list approaches that are prone to errors and bank access conflicts, leading to suboptimal memory throughput.

Innovation Solution

A memory controller architecture that stores full packets as data bursts in consecutive memory locations, allowing for out-of-sequence access and automatic overwriting, reducing the need for complex pointer management and minimizing bank access conflicts, thereby achieving higher memory efficiency and throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If linked list management is used to store packet fragments in random memory locations, then memory flexibility is improved, but device complexity increases and reliability decreases due to pointer corruption risks

Engineering Contradiction:
Improvememory flexibilityVSAvoidpointer management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments memory into dedicated buffers for different packet states (arrived, reading, writing, retransmitting) rather than using a unified linked list structure. Each buffer has fixed-size entries with predetermined fields, eliminating the need for dynamic pointer management while maintaining the ability to organize and access packet data efficiently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses fixed-size buffer entries that can be easily overwritten and reused. When a buffer entry is no longer needed (packet transmitted or discarded), it is simply overwritten by new packet data without requiring complex memory management or pointer updates, making the system more robust and simpler to implement.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

2Adaptability or versatility

If linked list management is used to store packet fragments, then memory adaptability is improved, but reliability worsens due to corruption risks

Engineering Contradiction:
Improvememory adaptabilityVSAvoiddata integrity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

By segmenting memory into dedicated buffers with fixed structures, the patent eliminates pointer-based links that are susceptible to corruption. Each buffer entry is self-contained with explicit state indicators, making the system more reliable while still adaptable to different packet handling requirements through state transitions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent incorporates state flags and validation fields in each buffer entry that anticipate and prevent corruption issues before they occur. The fixed structure includes built-in checks for data validity and state consistency, providing a cushion against reliability failures without requiring complex error handling mechanisms.

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

3Productivity

If packet fragments are stored in random memory locations, then bank access conflicts are reduced, but device complexity increases due to management overhead

Engineering Contradiction:
Improvememory throughputVSAvoidmemory management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments buffers into fixed-size entries with explicit state fields that indicate which memory bank and location should be accessed next. This segmentation allows the controller to systematically manage access to multiple banks without complex algorithms, maintaining high throughput through structured, predictable access patterns.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses dynamic state flags in each buffer entry that automatically adjust memory access patterns based on current packet processing needs. The state machine approach allows the system to adaptively switch between different memory banks and access modes without requiring complex external management logic, balancing throughput and simplicity.

Inventive Principle:
Principle #15Dynamics

4Productivity

If multiple packets share common linked lists, then memory efficiency is improved, but device complexity increases due to maintenance requirements

Engineering Contradiction:
Improvememory efficiencyVSAvoidlinked list maintenance
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the shared memory space into independently manageable buffer entries, each with its own state indicators. Multiple packets can share the same physical memory region through different buffer entries, but each entry is self-contained with explicit state fields, eliminating the need for complex linked list maintenance while preserving memory efficiency through sharing.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7822915B2Memory controller for packet applications
Publication Date: 2010.10.26 WSOU INVESTMENTS LLC
  • US7822915B2 patent drawing
  • US7822915B2 patent drawing
  • US7822915B2 patent drawing

AI summary

A method and apparatus for accessing and storing data in a memory are disclosed. The system includes a memory controller coupled to a memory having locations characterized by banks and lines. The memory controller is configured for storing a data packet with data bursts in sequence in consecutive memory locations, while providing the capability of reading or writing data bursts out of sequence by accessing the consecutive memory locations in a random order.