×

Buffer manager and methods for managing memory

  • US 8,327,047 B2
  • Filed: 03/01/2011
  • Issued: 12/04/2012
  • Est. Priority Date: 03/18/2010
  • Status: Active Grant
First Claim
Patent Images

1. A method comprising:

  • managing a first internal buffer pointer pool and a second internal buffer pointer pool of a system-on-chip (SOC); and

    if a number of available buffer addresses in the first internal buffer pointer pool falls below a first low threshold value, obtaining one or more buffer addresses from a first external buffer pointer pool of a memory, which is external to the SOC, to the first internal buffer pointer pool;

    if a number of available buffer addresses in the second internal buffer pointer pool falls below a second low threshold value, obtaining another one or more buffer addresses from a second external buffer pointer pool of the memory to the second internal buffer pointer pool;

    associating the first internal buffer pointer pool with a first traffic flow such that available buffer addresses from the first internal buffer pointer pool are assigned to data packets of the first traffic flow, wherein the first traffic flow originates from a first client component; and

    associating the second internal buffer pointer pool with a second traffic flow such that available buffer addresses from the second internal buffer pointer pool are assigned to data packets of the second traffic flow, wherein the second traffic flow originates from a second client component,wherein obtaining the one or more buffer addresses from the first external buffer pointer pool to the first internal buffer pointer pool further comprises;

    receiving an allocation request for a buffer location from the first client component,in response to receiving the allocation request, assigning a first buffer address from the first internal buffer pointer pool to the first client component by assigning a first buffer pointer from the first internal buffer pointer pool to the first client component, wherein the first buffer pointer includes the first buffer address,in response to assigning the first buffer address to the first client component, marking the first buffer address as an unavailable buffer address in the first internal buffer pointer pool,in response to marking the first buffer address as an unavailable buffer address, if the number of available buffer addresses in the first internal buffer pointer pool falls below the low threshold value, obtaining the one or more buffer addresses from the first external buffer pointer pool to the first internal buffer pointer pool,wherein the method further comprises buffering, by the first client component, a data packet received by the first client component to a buffer location corresponding to the first buffer address, based at least in part on assigning the first buffer address to the first client component.

View all claims
  • 17 Assignments
Timeline View
Assignment View
    ×
    ×