Abstract:
PROBLEM TO BE SOLVED: To appropriately manage credit-based flow control mechanisms for interfaces in digital systems.SOLUTION: In one embodiment, a receiver is configured to, on a credit-based flow-controlled interface, release one or more data credits before a data payload incurs a small number of unused data credits within a buffer memory that is allocated at a coarser granularity than the data credits. In another embodiment, header credits and the data credits are dynamically adjusted based on actual packet data payload sizes.
Abstract:
Un aparato que comprende: un receptor (14) que comprende una unidad de gestión de crédito (26) configurada para gestionar los créditosde control de flujo para una interfaz (20) a la que el receptor está acoplado durante el uso, en el que cadapaquete recibido en la interfaz comprende una cabecera y opcionalmente datos y en el que la cabecera semide en términos de uno o más créditos de cabecera para el control de flujo en la interfaz y en el que los datosse miden en términos de uno o más créditos de datos para el control de flujo en la interfaz, cada crédito dedatos representando un número fijo de bytes de datos; y una memoria temporal (16) acoplada al receptor y configurada para almacenar cabeceras de paquetes y datosde paquete correspondientes a los paquetes que se reciben en la interfaz por el receptor; y caracterizado por que la unidad de gestión de crédito (26) está configurada para ajustar dinámicamente unaprimera cantidad de la memoria temporal utilizada para almacenar cabeceras de los paquetes y una segundacantidad de la memoria temporal utilizada para almacenar los datos en respuesta a un tamaño de los paquetesde datos en uno o más paquetes recibidos, y en el que la unidad de gestión de crédito (26) está configuradapara liberar créditos de datos y créditos de cabecera a un transmisor (12) en la interfaz en respuesta a losajustes dinámicos, y en el que la unidad de gestión de crédito (26) está configurada para incrementar la primeracantidad y para disminuir la segunda cantidad, y en el que la unidad de gestión de crédito (26) está configuradapara retener uno o más créditos de datos correspondientes a un paquete consumido y para, en su lugar,liberar uno o más créditos de cabecera para llevar a cabo la modificación en el transmisor (12) .
Abstract:
In one embodiment, a receiver on a credit-based flow-controlled interface is configured to free one or more data credits early when a data payload is received that incurs fewer unused data credits within a buffer memory that is allocated at a coarser granularity than the data credits. In another embodiment, header credits and data credits are dynamically adjusted based on actual packet data payload sizes.
Abstract:
In one embodiment, a receiver on a credit-based flow-controlled interface is configured to free one or more data credits early when a data payload is received that incurs fewer unused data credits within a buffer memory that is allocated at a coarser granularity than the data credits. In another embodiment, header credits and data credits are dynamically adjusted based on actual packet data payload sizes.
Abstract:
Un dispositivo que comprende: un receptor que comprende una unidad de gestión de créditos configurado para gestionar créditos de control de flujo para una interfaz a la que se acopla el receptor durante su uso, en el que cada paquete recibido en la interfaz comprende una cabecera de paquete y opcionalmente datos de paquete, y en el que los datos de paquete se miden en términos de créditos de datos en los créditos de control de flujo en función de un tamaño de los datos de paquete, en el que cada crédito de datos representa un número fijo de bytes de datos; y una memoria tampón acoplada al receptor y configurada para almacenar cabeceras de paquete y datos de paquete correspondientes a los paquetes que son recibidos en la interfaz por el receptor, en el que la memoria tampón puede ser asignada por el receptor en unidades de memoria tampón que son N veces el tamaño del crédito de datos, en el que N es un número entero mayor que uno; y en el que un número total de créditos de datos es igual a N veces un número de unidades de memoria tampón en la memoria tampón que están disponibles para almacenar datos de paquete, y caracterizado porque la unidad de gestión de créditos se configura para reservar una pluralidad de los créditos de datos totales en base a un número máximo de créditos de datos que no son utilizables si los datos de paquete no llenan una unidad de memoria tampón y en base además a un número de paquetes que están autorizados a estar en vuelo simultáneamente, y en el que la unidad de gestión de créditos se configura para liberar uno o más créditos de datos en respuesta a la recepción de datos de paquete para un paquete dado que implica menos del número máximo de créditos de datos no utilizables, en el que la unidad de gestión de créditos se configura para liberar uno o más créditos de datos antes de que el paquete dado sea consumido.
Abstract:
In one embodiment, a receiver on a credit-based flow-controlled interface is configured to free one or more data credits early when a data payload is received that incurs fewer unused data credits within a buffer memory that is allocated at a coarser granularity than the data credits. In another embodiment, header credits and data credits are dynamically adjusted based on actual packet data payload sizes.
Abstract:
Methods and apparatuses for releasing the sticky state of cache lines for one or more group IDs. A sticky removal engine walks through the tag memory of a system cache looking for matches with a first group ID which is clearing its cache lines from the system cache. The engine clears the sticky state of each cache line belonging to the first group ID. If the engine receives a release request for a second group ID, the engine records the current index to log its progress through the tag memory. Then, the engine continues its walk through the tag memory looking for matches with either the first or second group ID. The engine wraps around to the start of the tag memory and continues its walk until reaching the recorded index for the second group ID.
Abstract:
In an embodiment, a non-transparent memory unit is provided which includes a non-transparent memory and a control circuit. The control circuit may manage the non-transparent memory as a set of non-transparent memory blocks. Software executing on one or more processors may request a non-transparent memory block in which to process data. The control circuit may allocate a first block, and may return an address (or other indication) of the allocated block so that the software can access the block. The control circuit may also provide automatic data movement between the non-transparent memory and a main memory system to which the non-transparent memory unit is coupled. For example, the automatic data movement may include filling data from the main memory system to the allocated block, or flushing the data in the allocated block to the main memory system after the processing of the allocated block is complete.