An apparatus and method for creating and maintaining a cyclic or circular
buffer are implemented using logical blocks corresponding to the physical
blocks of the buffer. The logical blocks are mapped to the physical blocks
of the cyclic buffer, and are used to create an index table for the
buffer. Each entry in the index table corresponds to one or more blocks in
the buffer, and has a logical block number respectively associated with a
buffer block. When information from the buffer is accessed, the index
table is consulted to determine if the requested information is stored in
the buffer. If the information is stored in the buffer, the logical block
number corresponding to the information is retrieved from the entry and
translated into a corresponding physical block number. Using logical block
numbers allows simple determination of whether the buffer block is valid,
and how new or fresh the buffer block is without requiring a generation or
cycle number.
Een apparaat en een methode om een cyclische of cirkelbuffer worden tot stand te brengen en te handhaven uitgevoerd gebruikend logische blokken die aan de fysieke blokken van de buffer beantwoorden. De logische blokken worden in kaart gebracht aan de fysieke blokken van de cyclische buffer, en gebruikt om een indexlijst voor de buffer te creëren. Elke ingang in de indexlijst beantwoordt aan één of meerdere blokken in de buffer, en heeft een logisch blokaantal respectievelijk verbonden aan een bufferblok. Wanneer de informatie van de buffer wordt betreden, wordt de indexlijst geraadpleegd om te bepalen als de gevraagde informatie in de buffer wordt opgeslagen. Als de informatie in de buffer wordt opgeslagen, wordt het logische blokaantal dat aan de informatie beantwoordt teruggewonnen van de ingang en in een overeenkomstig fysiek blokaantal vertaald. Het gebruiken van logische blokaantallen staat eenvoudige bepaling van toe of het bufferblok geldig is, en hoe nieuw of vers het bufferblok zonder een generatie of cyclusaantal te vereisen is.