US2017017419A1PendingUtilityA1

System And Method For Enabling High Read Rates To Data Element Lists

Assignee: INNOVIUM INCPriority: Jul 15, 2015Filed: Dec 18, 2015Published: Jan 19, 2017
Est. expiryJul 15, 2035(~9 yrs left)· nominal 20-yr term from priority
G06F 13/1668G06F 12/023G06F 12/0623G06F 2212/1044G06F 12/0246G06F 3/0619G06F 3/067G06F 3/0629G06F 12/0253Y02D10/00
49
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

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.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A memory system for a network device comprising:
 a main memory configured to store one or more data elements;   link memory including a plurality of memory banks, each memory bank of said plurality of memory banks configured to maintain one or more pointers to interconnect said one or more memory locations in said main memory to form at least one list including a first skip list of one or more skip lists; and   a context manager configured to maintain first metadata for a first head node of said first skip list, said metadata for said first head node includes a link to second metadata for a second node of said first skip list.   
     
     
         2 . The memory system of  claim 1 , wherein said first metadata is snapshot list metadata. 
     
     
         3 . The memory system of  claim 1 , wherein said first metadata includes a sequence identifier. 
     
     
         4 . The memory system of  claim 2 , wherein said at least one list is a snapshot list. 
     
     
         5 . The memory system of  claim 2 , wherein each memory bank of said plurality of memory banks includes a single access port. 
     
     
         6 . The memory system of  claim 1  further comprising a free-entry manager configured to generate an available bank set including one or more locations in said link memory that are not currently used to maintain said one or more pointers. 
     
     
         7 . The memory system of  claim 6 , wherein said free-entry manager is configured to generate said available bank set including said one or more locations that are not currently used to maintain said one or more pointers such that a write operation to said link memory does not conflict with a read operation. 
     
     
         8 . The memory system of  claim 6 , wherein said free-entry manager is configured to generate said available bank set by removing one or more banks based on the number of clock cycles since a last write access. 
     
     
         9 . The memory system of  claim 1 , wherein each memory bank of said plurality of memory banks is designated to maintain said one or more pointers for a different one of said one or more skip lists. 
     
     
         10 . The memory system of  claim 2 , wherein said snapshot list metadata is used to form at least one snapshot skip list. 
     
     
         11 . A method for implementing a memory system in a network device comprising:
 storing one or more data elements;   maintaining one or more pointers to interconnect said one or more memory locations in said main memory to form at least one list including at least a first skip list;   allocating one or more locations in at least one memory bank of said plurality of memory banks; and   maintaining first metadata for a first head node of said first skip list, said metadata for said first head node includes a link to second metadata for a second node of said first skip list.   
     
     
         12 . The method of  claim 11  further comprising generating a sequence identifier to include in said first metadata for said first head node of said first skip list. 
     
     
         13 . The method of  claim 11 , wherein said at least one list is a snapshot list and said first skip list is a snapshot skip list. 
     
     
         14 . The method of  claim 13  further comprising determining a second snapshot skip list. 
     
     
         15 . The method of  claim 14 , wherein determining a second snapshot skip list is based on using one or more snapshot sequence identifiers. 
     
     
         16 . The method of  claim 15  further comprising determining a next data element in said second snapshot skip list. 
     
     
         17 . The method of  claim 11  further comprising generating an available bank set including one or more locations in said plurality of memory banks that are not currently being used to store metadata. 
     
     
         18 . A memory system for a network device comprising:
 a main memory configured to store one or more data elements;   a parent distributed-linked list configured to store linked-list metadata; and   a child distributed-linked list configured to maintain list metadata to interconnect said one or more data elements stored in said main memory to generate at least a first snapshot, said linked-list metadata references said first snapshot and said first snapshot including a data element list including one or more skip lists.   
     
     
         19 . The memory system of  claim 18  further configured to generate at least a second snapshot based on said list metadata and configured to generate a first snapshot skip list including said first snapshot and a second snapshot skip list including a second snapshot. 
     
     
         20 . The memory system of  claim 18 , wherein said parent distributed-linked list includes a plurality of head entries, each head entry of said plurality of head entries is configured to store a snapshot sequence identifier for a head node for the one or more skip lists. 
     
     
         21 . The memory system of  claim 19 , wherein said first snapshot is a first head node of said first snapshot skip list and said second snapshot is a second head node of said second snapshot skip list. 
     
     
         22 . The memory system of  claim 21 , wherein said second head entry is configured to store second snapshot list metadata for a second node in said second snapshot skip list. 
     
     
         23 . The memory system of  claim 18  further comprising a free-entry manager configured to generate an available bank set including one or more locations in said parent distributed-linked list that are not currently storing said linked-list metadata such that a write operation to said parent distributed-linked list does not conflict with a read operation. 
     
     
         24 . A memory system for a network device comprising:
 a means for storing one or more data elements;   a means for maintaining one or more pointers to interconnect said one or more memory locations in said means for storing one or more data elements to form at least one list including at least a first skip list; and   a means for maintaining first metadata for a first head node of said first skip list, said metadata for said first head node includes a link to second metadata for a second node of said first skip list.

Join the waitlist — get patent alerts

Track US2017017419A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.