Patent US3076738A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5778414A Expired / Lapsed US ⏱️ 0.0 years remaining

Performance enhancing memory interleaver for data frame processing

Assignee: NEXTIRAONE LLC
•
Filing: 1996-06-13
•
Granted: 1998-07-07
•
Expires: 2016-06-13
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Disclosed is a frame processing engine for receiving and processing a data frame having a header and a payload, comprising a first memory for receiving at least a portion of the header of the data frame; a second memory for receiving the payload of the data frame; and a controller, upon receipt of the data frame, for storing the header (at least most of it) in the first memory and the remainder of the data frame (including the payload) in the second memory, with the first memory having a shorter access time than the second memory.

Inventors

  • 👤 Stephen J. Winter
  • 👤 Jack E. Stephenson

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 17:46
CPC Classifications
H; H04; H04L; H04L49/00; H04L49/90; H04L49/9042; G; G06; G06F; G06F13/00; G06F13/38; G06F13/382; G06F13/385; H04L9/00; H04L9/40; H04L69/00; H04L69/22

Claims Analysis

Total Claims: 25
Claim 1
Independent Claim 194 words
A frame processing engine for receiving and processing a plurality of data frames, each of said data frames having a header and a payload, comprising: a first memory; a second memory; said first memory having a shorter access time than said second memory; controller means including allocating means for defining said first memory to have a plurality of first memory blocks with each having the same predetermined first size and said second memory to have a plurality of second memory blocks with each having the same predetermined second size; said allocating means being further operable for defining a plurality of memory segments, each of said memory segments including one of said first memory blocks of said first memory and one of said second blocks of said second memory; and said controller means further including storing means for storing, upon receipt of said each data frame, said each data frame in a variable number of said memory segments with at least a portion of said header of said each data frame being stored in one of said first memory blocks, said variable number of said memory segments being dependent upon the size of said payload.
Claim 2
Dependent Claim 194 words
A frame processing engine for receiving and processing a plurality of data frames, each of said data frames having a header and a payload, comprising: a first memory; a second memory; said first memory having a shorter access time than said second memory; controller means including allocating means for defining said first memory to have a plurality of first memory blocks with each having the same predetermined first size and said second memory to have a plurality of second memory blocks with each having the same predetermined second size; said allocating means being further operable for defining a plurality of memory segments, each of said memory segments including one of said first memory blocks of said first memory and one of said second blocks of said second memory; and said controller means further including storing means for storing, upon receipt of said each data frame, said each data frame in a variable number of said memory segments with at least a portion of said header of said each data frame being stored in one of said first memory blocks, said variable number of said memory segments being dependent upon the size of said payload.
Claim 3
Dependent Claim 30 words
The frame processing engine of claim 1, wherein said controller means includes a microprocessor and at least one address decoder for enabling only one of said memories at a time.
Claim 4
Dependent Claim 64 words
The frame processing engine of claim 2, wherein said microprocessor includes a linear address space having a range of addresses, said addresses of said address space defining alternating first blocks of said first memory and second blocks of said second memory and said microprocessor being disposed to start the storage of each of said headers at the beginning of one of said first blocks.
Claim 5
Dependent Claim 23 words
The frame processing engine of claim 1, wherein said header includes a frame header and a packet header and said payload includes data.
Claim 6
Dependent Claim 23 words
The frame processing engine of claims 1, wherein said first memory comprises static RAM memory and said second memory comprises dynamic RAM memory.
Claim 7
Dependent Claim 187 words
A frame processing method for receiving and processing a plurality of data frames, each of the data frames having a header and a payload, said method comprising the steps of: providing a first memory and a second memory with the first memory having a shorter access time than the second memory; allocating said first memory to have a plurality of first memory blocks with each having the same predetermined first size and said second memory to have a plurality of second memory blocks with each having the same predetermined second size; said step of allocating further including defining a plurality of memory segments, each of said memory segments including one of said first memory blocks of said first memory and one of said second blocks of said second memory; and storing, upon receipt of said each data frame, said each data frame in a variable number of said memory segments with at least a portion of said header of said each data frame being stored in one of said first memory blocks, said variable number of said memory segments being dependent upon the size of said payload.
Claim 8
Dependent Claim 187 words
A frame processing method for receiving and processing a plurality of data frames, each of the data frames having a header and a payload, said method comprising the steps of: providing a first memory and a second memory with the first memory having a shorter access time than the second memory; allocating said first memory to have a plurality of first memory blocks with each having the same predetermined first size and said second memory to have a plurality of second memory blocks with each having the same predetermined second size; said step of allocating further including defining a plurality of memory segments, each of said memory segments including one of said first memory blocks of said first memory and one of said second blocks of said second memory; and storing, upon receipt of said each data frame, said each data frame in a variable number of said memory segments with at least a portion of said header of said each data frame being stored in one of said first memory blocks, said variable number of said memory segments being dependent upon the size of said payload.
Claim 9
Dependent Claim 26 words
The frame processing method of claim 6, wherein said step of storing includes decoding an address to enable only one of the memories at a time.
Claim 10
Dependent Claim 45 words
The frame processing method of claim 7, wherein said step of storing includes providing a linear address space having a range of addresses, the addresses of the address space correlating with alternating first blocks of the first memory and second blocks of the second memory.
Claim 11
Dependent Claim 23 words
The frame processing method of claim 8, wherein the header includes a frame header and a packet header and the payload includes data.
Claim 12
Dependent Claim 33 words
The frame processing method of claim 9, wherein said step of providing the memories comprises providing a static RAM memory for the first memory and a dynamic RAM memory for the second memory.
Claim 13
Dependent Claim 197 words
A frame processing engine for receiving and processing a plurality of data frames, each of said data frames having a header and a payload, comprising: a first memory; a second memory; said first memory having a shorter access time than said second memory; controller means including allocating means for defining said first memory to have a plurality of first memory blocks and said second memory to have a plurality of second memory blocks; said allocating means including a first table and a second table; said first table including, for said each data frame, a first address pointer for pointing to at least one of said first memory blocks; said second table including, for said each data frame, a second address pointer for pointing to at least one of said second memory blocks; and said controller means further including storing means, upon receipt of said each data frame, for storing, based upon said first and second address pointers, at least a portion of said header of said each data frame in said at least one of said first memory blocks and the rest of said each data frame in said at least one of said second memory blocks.
Claim 14
Dependent Claim 197 words
A frame processing engine for receiving and processing a plurality of data frames, each of said data frames having a header and a payload, comprising: a first memory; a second memory; said first memory having a shorter access time than said second memory; controller means including allocating means for defining said first memory to have a plurality of first memory blocks and said second memory to have a plurality of second memory blocks; said allocating means including a first table and a second table; said first table including, for said each data frame, a first address pointer for pointing to at least one of said first memory blocks; said second table including, for said each data frame, a second address pointer for pointing to at least one of said second memory blocks; and said controller means further including storing means, upon receipt of said each data frame, for storing, based upon said first and second address pointers, at least a portion of said header of said each data frame in said at least one of said first memory blocks and the rest of said each data frame in said at least one of said second memory blocks.
Claim 15
Dependent Claim 43 words
The frame processing engine of claim 11, wherein said header is stored in a single said first memory block and said rest is stored in a variable number of said second blocks, said variable number being dependent upon the size of said payload.
Claim 16
Dependent Claim 58 words
The frame processing engine of claim 11, wherein, for said each data frame, said first table includes said first address pointer for only a single said first block and second table includes said second address pointer for a plurality of second blocks, the number of said plurality of second blocks being dependent upon the size of said payload.
Claim 17
Dependent Claim 23 words
The frame processing engine of claim 11, wherein said first memory comprises static RAM memory and said second memory comprises dynamic RAM memory.
Claim 18
Dependent Claim 23 words
The frame processing engine of claim 11, wherein said header includes a frame header and a packet header and said payload includes data.
Claim 19
Dependent Claim 65 words
The frame processing engine of claim 11, wherein said first table includes a plurality of first segment descriptors, each of said first segment descriptors having said first address pointer pointing to one of said first blocks and said second table includes a plurality of second segment descriptors, each of said second segment descriptors having said second address pointer pointing to one of said second blocks.
Claim 20
Dependent Claim 44 words
The frame processing method of claim 16, wherein said first segment descriptors in said first table for said data frame include a third pointer which is operable for pointing to one of said second segment descriptors in said second table for said data frame.
Claim 21
Dependent Claim 192 words
A frame processing method for receiving and processing a plurality of data frames, each of said data frames having a header and a payload, comprising the steps of: providing a first memory and a second memory with the first memory having a shorter access time than the second memory; allocating said first memory to have a plurality of first memory blocks and said second memory to have a plurality of second memory blocks; said step of allocating further including defining a first table and a second table; said first table including, for said each data frame, a first address pointer for pointing to at least one of said first memory blocks; said second table including, for said each data frame, a second address pointer for pointing to at least one of said second memory blocks; and upon receipt of said each data frame, storing, based upon said first and second address pointers, at least a portion of said header of said each data frame in said at least one of said first memory blocks and the rest of said each data frame in said at least one of said second memory blocks.
Claim 22
Dependent Claim 192 words
A frame processing method for receiving and processing a plurality of data frames, each of said data frames having a header and a payload, comprising the steps of: providing a first memory and a second memory with the first memory having a shorter access time than the second memory; allocating said first memory to have a plurality of first memory blocks and said second memory to have a plurality of second memory blocks; said step of allocating further including defining a first table and a second table; said first table including, for said each data frame, a first address pointer for pointing to at least one of said first memory blocks; said second table including, for said each data frame, a second address pointer for pointing to at least one of said second memory blocks; and upon receipt of said each data frame, storing, based upon said first and second address pointers, at least a portion of said header of said each data frame in said at least one of said first memory blocks and the rest of said each data frame in said at least one of said second memory blocks.
Claim 23
Dependent Claim 76 words
The frame processing method of claim 18, wherein said step of storing includes, for said each data frame, using the addresses of the first table to store the header in only one of the first blocks and using the addresses of the second table to store the remainder of the data frame in a plurality of the second blocks, the number of the plurality of the second blocks being dependent upon the size of the payload.
Claim 24
Dependent Claim 66 words
The frame processing method of claim 19, wherein said step of storing includes providing the first table and the second table each with first and second segment descriptors, respectively; using a first address pointer of each first segment descriptors to point to one of the first blocks and using a second address pointer of each second segment descriptors to point to one of the second blocks.
Claim 25
Dependent Claim 49 words
The frame processing method of claim 20, wherein said step of storing includes providing each of said first segment descriptors in said first table for said data frame with a third pointer which points to one of said second segment descriptors in said second table for said data frame.

References Cited (Backward Citations)

US5398245A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-07-06 2002-01-05 2002-07-07 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-07-06 2006-01-05 2006-07-07 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-07-06 2010-01-05 2010-07-07 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag