Browse Prior Art Database

Method for a buffer-replacement algorithm

IP.com Disclosure Number: IPCOM000109204D
Publication Date: 2005-Mar-23
Document File: 2 page(s) / 37K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method for a buffer-replacement algorithm. Benefits include improved functionality and improved performance.

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 54% of the total text.

Method for a buffer-replacement algorithm

Disclosed is a method for a buffer-replacement algorithm. Benefits include improved functionality and improved performance.

Background

              A buffer structure may contain data entries with multiple functions requiring different replacement behaviors. Some transaction types may warrant a behavior in which the entry is retained for as long as possible. This behavior is termed long lived (LL). An example of an LL buffer is a highlevel cache victim. It may exist in the buffer for as long as possible to enable other transactions to hit the cache victim to improve performance. The victim can be evicted from the buffer to memory at any time after the data is transferred from the highlevel cache.

              Other transaction types have a shorter lifetime and can be reallocated as the transaction completes. This behavior is termed short lived (SL). An example of an SL transaction type is a noncacheable load issued by a microprocessor core. The buffer entry is deallocated as soon as the load completes.

              The conventional replacement algorithm has separate buffer banks based on dedicated functionality. For example, 8 buffers can be allocated for victims with 8 additional buffers for noncacheable traffic.

Description

              The disclosed method provides managed buffer allocation for short-lived and long-lived buffers. The method applies to memory hierarchies that include buffers, which is a common configuration.

              When a new buffer is allocated due to a new memory transaction, the memory controller/processor attempts to find an invalid buffer entry. If no invalid entries are available, an LL buffer is selected because a buffer can be deallocated to make it available for the new transaction. SL buffers cannot be selected because their transactions may not be complete. An SL buffer becomes invalid when the transaction c...