Queue Management Circuit for Slice-Based Data Packet Prioritization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing queue management systems in communications processing chips face challenges in prioritizing data packet transmission across MAC ports when dealing with large data packets, as existing priority scheduling policies are inconsistent when dequeuing in units of slices rather than packets, leading to difficulties in implementing priority processing within the same MAC port.

Innovation Solution

A data enqueuing and dequeuing method that divides data packets into slices, marks tail slices with identifiers, and uses first-type and second-type nodes to manage slice information within queues, allowing for priority switching after dequeuing the tail slice, ensuring consistent priority scheduling across communications ports.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data packets are divided into slices for dequeuing, then transmission efficiency is improved by avoiding data bursts, but priority scheduling consistency deteriorates because existing policies were designed for packet-level dequeuing

Engineering Contradiction:
Improvetransmission efficiencyVSAvoidpriority scheduling consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent divides data packets into multiple slices for dequeuing, where each slice contains a portion of the original packet data. This segmentation allows the system to transmit smaller units through the MAC port, preventing data bursts while maintaining continuous flow. The slice structure includes metadata such as buffer addresses and length information, enabling efficient management of fragmented data units.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a queue management circuit as an intermediary layer between the packet buffer and MAC port. This circuit implements a slice-based dequeuing mechanism that translates packet-level priority scheduling into slice-level operations. The circuit maintains queue linked sublists and uses head/tail pointers to manage slice sequences, acting as a mediator that preserves priority scheduling semantics while operating on sliced data units.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If priority switching is performed after each slice dequeuing, then slice-level priority processing is enabled, but scheduling inconsistency occurs compared to entire-packet dequeuing

Engineering Contradiction:
Improveslice-level priority processingVSAvoidscheduling consistency
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The patent performs preliminary actions by marking the tail slice of each packet with a special identifier during the enqueuing phase. This advance marking allows the dequeuing mechanism to identify when the final slice of a packet has been processed, enabling priority switching to occur at the appropriate moment (after complete packet transmission) rather than after every slice, thus maintaining scheduling consistency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a feedback mechanism where the queue management circuit monitors the dequeuing progress of each packet by tracking slice consumption. When the tail slice identifier is detected, the circuit generates a feedback signal indicating that the entire packet has been transmitted, triggering priority switching. This feedback-based approach ensures that priority changes occur at the correct granularity level.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If queue linked sublists are generated for each queue, then packet descriptor management is enabled, but system complexity increases due to multiple data structures

Engineering Contradiction:
Improvepacket descriptor managementVSAvoiddata structure complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent merges the management of packet descriptors and slice information into a unified queue structure. Instead of maintaining separate data structures for packets and slices, the system uses queue linked sublists that contain both packet descriptor information and slice metadata in an integrated manner. This consolidation reduces the number of separate data structures while maintaining comprehensive control over sliced packet management.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10326713B2Data enqueuing method, data dequeuing method, and queue management circuit
Publication Date: 2019.06.18 HUAWEI TECH CO LTD
  • US10326713B2 patent drawing
  • US10326713B2 patent drawing
  • US10326713B2 patent drawing

AI summary

The disclosure describes a data enqueuing method. The method may include: receiving a to-be-enqueued data packet, dividing the data packet into several slices to obtain slice information of the slices, and marking a tail slice of the data packet with a tail slice identifier; enqueuing corresponding slice information according to an order of the slices in the data packet, and in a process of enqueuing the corresponding slice information, if a slice is marked with the tail slice identifier, determining that the slice is the tail slice of the data packet, and generating a first-type node; and determining whether a target queue is empty, and if the target queue is empty, writing slice information of the tail slice into the target queue, and updating a head pointer of a queue head list according to the first-type node.