Network Device Packet Storage Contiguous Memory Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network devices face inefficient memory usage when storing and managing sequences of packets due to unused memory space in separate buffers, which hinders effective modification and transmission of packets.

Innovation Solution

A method and system where packets are stored in a memory with indicated lengths, allowing sequential reading and writing, maintaining a predetermined distance between packets, enabling efficient operations like modification and removal without wasting memory space.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If packets are stored in separate buffers as a linear list, then packet modification and sequence management is easy, but memory usage becomes inefficient due to unused memory space

Engineering Contradiction:
Improvepacket modification and sequence managementVSAvoidmemory usage efficiency
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The patent merges multiple separate packet buffers into a single contiguous memory block. Instead of storing packets in separate buffers with associated metadata, the invention uses one unified buffer where packets are stored sequentially with fixed-size entries. This eliminates the fragmentation and unused space between separate buffers while maintaining the ability to manage packet sequences through pointer-based linked list structure.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent segments the memory into fixed-size packet entries within a single buffer, where each packet occupies a predetermined number of bytes. This segmentation approach allows efficient memory utilization by eliminating gaps between packets while maintaining structured access patterns. The fixed-size segmentation enables predictable memory layout that improves cache performance and reduces memory management overhead.

Inventive Principle:
Principle #1Segmentation

2Ease of manufacture

If packets are stored in separate buffers, then packet removal and addition to sequence is simple, but memory space between packets is wasted

Engineering Contradiction:
Improvepacket sequence modificationVSAvoidmemory space utilization
Core Design Contradiction:
Ease of manufactureVSQuantity of substance

Solution Approach 1:

The patent combines multiple scattered buffer allocations into a single consolidated memory region. By merging the buffer structures and using a unified allocation approach, the invention eliminates the unused memory spaces that exist between separate buffers. The linked list mechanism maintains ease of packet insertion and removal while the contiguous memory layout maximizes space utilization.

Inventive Principle:
Principle #5Merging (Combining)

3Loss of energy

If a single memory location is used for packet storage, then memory usage is efficient, but sequential reading and writing operations become complex

Engineering Contradiction:
Improvememory usage efficiencyVSAvoidsequential packet reading and writing mechanism
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent introduces a linked list data structure as an intermediary between the single memory buffer and the packet management operations. This intermediary provides simple pointer-based mechanisms for sequential access, insertion, and removal of packets. The linked list acts as a mediator that simplifies the interface between the efficient single-buffer storage and the complex packet manipulation operations, making the system both memory-efficient and operationally simple.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9942175B1Efficient storage of sequentially transmitted packets in a network device
Publication Date: 2018.04.10 MARVELL ISRAEL (M L S L) LTD
  • US9942175B1 patent drawing
  • US9942175B1 patent drawing
  • US9942175B1 patent drawing

AI summary

A sequence of packets is stored in a memory of the network device such that a current packet in the sequence of packets is stored at a predetermined distance following a preceding packet in the sequence. Lengths of corresponding ones of the packets stored in the memory are indicated in the memory. The packets are sequentially read from the memory based on the indicated lengths of corresponding ones of the packets stored in the memory. An operation is performed on the ones of the packets read from the memory. Subsequent to performing the operation, least some of the packets are written back to the memory. Ones of the packets are written to the memory beginning at a memory location following a respective preceding packet in the sequence by a predetermined distance.