G06F2205/064

Hierarchical hardware linked list approach for multicast replication engine in a network ASIC

A multicast rule is represented in a hierarchical linked list with N tiers. Each tier or level in the hierarchical linked list corresponds to a network layer of a network stack that requires replication. Redundant groups in each tier are eliminated such that the groups in each tier are stored exactly once in a replication table. A multicast replication engine traverses the hierarchical linked list and replicates a packet according to each node in the hierarchical linked list.

System and method for enabling high read rates to data element lists

A memory system for a network device is described. The memory system includes a main memory configured to store one or more data elements. Further, the memory system includes a link memory that is configured to maintain one or more pointers to interconnect the one or more data elements stored in the main memory. The memory system also includes a free-entry manager that is configured to generate an available bank set including one or more locations in the link memory. In addition, the memory system includes a context manager that is configured to maintain metadata for a list of the one or more data elements.

BOOSTING LINKED LIST THROUGHPUT
20200252345 · 2020-08-06 ·

Multiple listlets function as a single master linked list to manage data packets across one or more banks of memory in a first-in first-out (FIFO) order, while allowing multiple push and/or pop functions to be performed per cycle. Each listlet can be a linked list that tracks pointers and is stored in a different memory bank. The nodes can include a pointer to a data packet, a pointer to the next node in the listlet and a next listlet identifier that identifies the listlet that contains the next node in the master linked list. The head and tail of each listlet, as well as an identifier each to track the head and tail of the master linked list, can be maintained in cache. The individual listlets are updated accordingly to maintain order of the master linked list as pointers are pushed and popped from the master linked list.

Boosting linked list throughput
10652163 · 2020-05-12 · ·

Multiple listlets function as a single master linked list to manage data packets across one or more banks of memory in a first-in first-out (FIFO) order, while allowing multiple push and/or pop functions to be performed per cycle. Each listlet can be a linked list that tracks pointers and is stored in a different memory bank. The nodes can include a pointer to a data packet, a pointer to the next node in the listlet and a next listlet identifier that identifies the listlet that contains the next node in the master linked list. The head and tail of each listlet, as well as an identifier each to track the head and tail of the master linked list, can be maintained in cache. The individual listlets are updated accordingly to maintain order of the master linked list as pointers are pushed and popped from the master linked list.

ACCESSING QUEUE DATA
20200133855 · 2020-04-30 · ·

A method and apparatus of accessing queue data is provided. According to the method, a double-layer circular queue is constructed, where the double-layer circular queue includes one or more inner-layer circular queues established based on an array, and the one or more inner-layer circular queues constitute an outer-layer circular queue of the double-layer circular queue based on a linked list. A management pointer of the outer-layer circular queue is set. Data accessing is performed on the inner-layer circular queues by using the management pointer.

Multiple linked list data structure
10545887 · 2020-01-28 · ·

A system and method for maintaining information of pending operations are described. A buffer uses multiple linked lists implementing a single logical queue for a single requestor. The buffer maintains multiple head pointers and multiple tail pointers for the single requestor. Data entries of the single logical queue are stored in an alternating pattern among the multiple linked lists. During the allocation of buffer entries, the tail pointers are selected in the same alternating manner, and during the deallocation of buffer entries, the multiple head pointers are selected in the same manner.

HIERARCHICAL HARDWARE LINKED LIST APPROACH FOR MULTICAST REPLICATION ENGINE IN A NETWORK ASIC
20190132233 · 2019-05-02 ·

A multicast rule is represented in a hierarchical linked list with N tiers. Each tier or level in the hierarchical linked list corresponds to a network layer of a network stack that requires replication. Redundant groups in each tier are eliminated such that the groups in each tier are stored exactly once in a replication table. A multicast replication engine traverses the hierarchical linked list and replicates a packet according to each node in the hierarchical linked list.

Filesystem with isolated independent filesets

A filesystem includes a pool of data blocks and a pool of index blocks. Non-overlapping subpools of data blocks, including a first subpool of data blocks and a second subpool of data blocks, are identified within the pool of data blocks. Likewise, non-overlapping subpools of index blocks, including a first subpool of index blocks and a second subpool of index blocks, are identified within the pool of index blocks. A first file group is mounted within a global namespace on a first mount point on the filesystem. A second file group is also mounted within the global namespace on a second mount point on the filesystem. The first subpool of data blocks and the first subpool of index blocks are allocated to the first mounted file group, and the second subpool of data blocks and the second subpool of index blocks are allocated to the second mounted file group.

Hierarchical hardware linked list approach for multicast replication engine in a network ASIC

A multicast rule is represented in a hierarchical linked list with N tiers. Each tier or level in the hierarchical linked list corresponds to a network layer of a network stack that requires replication. Redundant groups in each tier are eliminated such that the groups in each tier are stored exactly once in a replication table. A multicast replication engine traverses the hierarchical linked list and replicates a packet according to each node in the hierarchical linked list.

Link management method and physical device
10175913 · 2019-01-08 · ·

This application provides a link management method. The physical device includes a first memory that stores a tail pointer of a link and a second memory that stores a head pointer of the link, and the physical device supports one time of enqueue processing and one time of dequeue processing in one clock cycle. The method includes: when a first link is not empty before the enqueue processing, modifying, by the physical device, a first tail pointer that is of the first link and that is in the first memory; and when a second link is not empty after the dequeue processing, modifying, by the physical device, a second head pointer that is of the second link and that is in the second memory.