P
US10122642B2ActiveUtilityPatentIndex 23

Managing a data stream in a multicore system

Assignee: INTEL IP CORPPriority: Sep 29, 2016Filed: Sep 29, 2016Granted: Nov 6, 2018
Est. expirySep 29, 2036(~10.2 yrs left)· nominal 20-yr term from priority
Inventors:LIRON ODED OLIRONBAR-DAVID NETANEL NATISHARKANSKY MARINA
H04L 47/34H04L 47/41G06F 17/30368H04L 47/193G06F 17/30516H04L 69/326G06F 16/2358G06F 16/24568
23
PatentIndex Score
0
Cited by
14
References
20
Claims

Abstract

Techniques are provided for managing the forwarding of a data stream to respective cores of a multi-core system, in which the incoming data stream is processed in a hardware machine prior to forwarding the data stream to respective cores. The techniques may include the hardware machine executing an algorithm to identify frames in the data stream having a fake hole therein, generating metadata, and attaching the metadata to any frame in which a fake hole is identified. The metadata may instruct a core that receives the respective frame in which a fake hole has been identified to ignore the fake hole in that respective frame. Also in the algorithm, the hardware machine identifies frames in which a real hole exists and maintains a database log of the real holes and the respective cores among the multiple cores that receive the data stream with the real holes therein, together with a notification to the respective core.

Claims

exact text as granted — not AI-modified
What is claimed: 
     
       1. A method for managing forwarding of a data stream to respective cores of a multi-core system, comprising:
 processing, in a system comprising multiple cores as intended recipients of an incoming data stream, the incoming data stream in a hardware machine prior to forwarding the data stream to respective cores among said multiple cores; 
 identifying, in said hardware machine, frames in said data stream respectively having a fake hole therein and to generate metadata and to attach metadata to each frame in which a fake hole is identified, said metadata instructing a core that receives the respective frame in which a fake hole has been identified to ignore the fake hole in that respective frame; 
 identifying, in said hardware machine, frames in which a real hole exists and maintaining a database log of said real holes and the respective cores among said multiple cores that receive said data stream with said real holes therein, together with a notification to the respective core; and 
 forwarding, from said hardware machine, the data stream to respective cores among said multiple cores, the data stream including (i) each frame in which a fake hole was identified including the metadata instructing the core receiving each respective frame to ignore the fake hole in that respective frame, and (ii) each frame in which a real hole was identified. 
 
     
     
       2. A method as claimed in  claim 1  comprising identifying said real holes in respective frames in said data stream by analyzing USN (Upper Sequence Number) and NSSN (Normalized Start Sequence Number) per BAID (Block Acknowledgement Identification). 
     
     
       3. A method as claimed in  claim 2  comprising iteratively analyzing USN and NSSN per BAID. 
     
     
       4. A method as claimed in  claim 3  comprising iteratively analyzing USN and NSSN per BAID by:
 maintaining an NSSN table and a USN table; 
 checking said incoming data stream to determine whether a valid frame is present in said incoming data stream based upon whether a BAID is present in said incoming data stream, a BAID having a value within a range between zero and BAID_MAX, with BAID_MAX being equal to a number of supported BA agreements; 
 if a valid frame is present in said incoming data stream, checking whether an NSSN table update is needed; 
 if an NSSN table update is needed, updating the NSSN table; and 
 if an NSSN table update is not needed, checking whether SN>USN and, if so, updating the USN table. 
 
     
     
       5. A method as claimed in  claim 4  comprising:
 if SN is not greater than USN, checking whether NSSN<USN; 
 if NSSN<USN, setting a QID (Queue Identification) pending bit for said valid frame that designates a destination for a message packet in said valid frame; and 
 if NSSN is not less than USN, clearing said QID pending bit. 
 
     
     
       6. A method as claimed in  claim 5  comprising executing said method in said hardware machine based on FREL (Frame Release Logic) information for a MSG_PENDING (Message Pending) core. 
     
     
       7. A method as claimed in  claim 4  comprising implementing said check as to whether a valid frame is present in said incoming data stream by checking each frame for a BAID. 
     
     
       8. A method for managing forwarding of a data stream to respective cores of a multi-core system, comprising:
 in a system comprising multiple cores as intended recipients of an incoming data stream, processing the incoming data stream in a hardware machine prior to forwarding the data stream to respective cores among said multiple cores; 
 analyzing in said hardware machine, FREL (Frame Release Logic) information for a MSG_PENDING (Message Pending) core to identify frames in said data stream respectively having a fake hole therein and to generate metadata and to attach metadata to each frame in which a fake hole is identified, said metadata instructing a core that receives the respective frame in which a fake hole has been identified to ignore the fake hole in that respective frame; 
 identifying, in said hardware machine, frames in which a real hole exists by analyzing USN (Upper Sequence Number) and NSSN (Normalized Start Sequence Number) per BAID (Block Acknowledgement Identification) and maintaining a database log of said real holes and the respective cores among said multiple cores that receive said data stream with said real holes therein, together with a notification to the respective core; and 
 forwarding, from said hardware machine, the data stream to respective cores among said multiple cores, the data stream including (i) each frame in which a fake hole was identified including the metadata instructing the core receiving each respective frame to ignore the fake hole in that respective frame, and (ii) each frame in which a real hole was identified. 
 
     
     
       9. A method as claimed in  claim 8  comprising iteratively analyzing USN and NSSN per BAID. 
     
     
       10. A method as claimed in  claim 9  comprising iteratively analyzing USN and NSSN per BAID by maintaining an NSSN table and a USN table;
 checking said incoming data stream to determine whether a valid frame is present in said incoming data stream based upon whether a BAID is present in said incoming data stream, a BAID having a value within a range between zero and BAID_MAX, with BAID_MAX being equal to a number of supported BA agreements; 
 if a valid frame is present in said incoming data stream, checking whether an NSSN table update is needed; 
 if an NSSN table update is needed, updating the NSSN table; and 
 if an NSSN table update is not needed, checking whether SN>USN and, if so, updating the USN table. 
 
     
     
       11. A method as claimed in  claim 10  comprising:
 if SN is not greater than USN, checking whether NSSN<USN; 
 if NSSN<USN, setting a QID (Queue Identification) pending bit for said valid frame that designates a destination for a message packet in said valid frame; and 
 if NSSN is not less than USN, clearing said QID pending bit. 
 
     
     
       12. A method as claimed in  claim 11  comprising executing said identifying steps in said hardware machine based on FREL (Frame Release Logic) information for a MSG_PENDING (Message Pending) core. 
     
     
       13. A method as claimed in  claim 10  comprising implementing said check as to whether a valid frame is present in said incoming data stream by checking each frame for a BAID. 
     
     
       14. A hardware machine for managing forwarding of a data stream to respective cores of a multi-core system, comprising:
 a processor in a system comprising multiple cores as intended recipients of an incoming data stream, the processor configured to:
 process the incoming data stream in a hardware machine prior to forwarding the data stream to respective cores among said multiple cores; 
 identify frames in said data stream respectively having a fake hole therein and to generate metadata and to attach metadata to each frame in which a fake hole is identified, said metadata instructing a core that receives the respective frame in which a fake hole has been identified to ignore the fake hole in that respective frame; and 
 
 identify frames in which a real hole exists and maintaining a database log of said real holes and the respective cores among said multiple cores that receive said data stream with said real holes therein, together with a notification to the respective core; and 
 an output interface configured to forward the data stream to respective cores among said multiple cores, the data stream including (i) each frame in which a fake hole was identified including the metadata instructing the core receiving each respective frame to ignore the fake hole in that respective frame, and (ii) each frame in which a real hole was identified. 
 
     
     
       15. A hardware machine as claimed in  claim 14 , wherein said processor is configured to identify said real holes in respective frames in said data stream by analyzing USN (Upper Sequence Number) and NSSN (Normalized Start Sequence Number) per BAID (Block Acknowledgement Identification). 
     
     
       16. A hardware machine as claimed in  claim 15  wherein said processor is configured to iteratively analyze USN and NSN per BAID. 
     
     
       17. A hardware machine as claimed in  claim 16  wherein said processor is configured to:
 maintain an NSSN table and a USN table; 
 check said incoming data stream to determine whether a valid frame is present in said incoming data stream based upon whether a BAID is present in said incoming data stream, a BAID having a value within a range between zero and BAID_MAX, with BAID_MAX being equal to a number of supported BA agreements; 
 if a valid frame is present in said incoming data stream, check whether an NSSN table update is needed; 
 if an NSSN table update is needed, update the NSSN table; 
 if an NSSN table update is not needed, checking whether SN>USN and, if so, update the USN table. 
 
     
     
       18. A hardware machine as claimed in  claim 17  wherein said processor is configured to:
 if SN is not greater than USN, check whether NSSN<USN; 
 if NSSN<USN, set a QID (Queue Identification) pending bit for said valid frame that designates a destination for a message packet in said valid frame; and 
 if NSSN is not less than USN, clear said QID pending bit. 
 
     
     
       19. A hardware machine as claimed in  claim 18  wherein said processor is configured to execute said identifying steps based on FREL (Frame Release Logic) information for a MSG_PENDING (Message Pending) core. 
     
     
       20. A hardware machine as claimed in  claim 17  wherein said processor is configured to check as to whether a valid frame is present in said data stream by checking for a BAID.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.