A method for garbage collection in a cache of information objects is
provided. A non-volatile storage device is segmented into storage areas
called pools. Each pool has a pool header and a plurality of arenas. Each
arena stores one or more fragments of an object. Header information for
each arena is stored in the pool header in which that arena is stored.
Each fragment comprises a fragment header and fragment data. The garbage
collection periodically selects a pool that is storing an amount of data
greater than a minimum storage value or high water mark. Each arena in the
pool is examined and selected for garbage collection according to
selection criteria. Each fragment within a selected arena is examined
based upon a second set of selection criteria that determine whether the
fragment is retained or deleted. If the fragment is deleted, all other
fragments in the storage device that relate to that fragment's object are
also deleted. When a fragment arena is retained, it is moved into
contiguous storage in another available arena. A computer program product,
computer apparatus, and data signal embodied in a carrier wave, configured
to carry out the steps of the method, are also disclosed.
Eine Methode für Abfallansammlung in einem Pufferspeicher der Informationen Gegenstände wird zur Verfügung gestellt. Eine permanente Speichervorrichtung wird in die Speicherbereiche segmentiert, die Lachen genannt werden. Jede Lache hat eine Lacheüberschrift und eine Mehrzahl der Arenas. Jede Arena speichert ein oder mehr Fragmente eines Gegenstandes. Kopfzeile für jede Arena wird in der Lacheüberschrift gespeichert, in der diese Arena gespeichert wird. Jedes Fragment enthält eine Fragmentüberschrift und Fragmentdaten. Die Abfallansammlung wählt regelmäßig eine Lache, die eine Menge Daten speichert, die grösser sind, als ein minimaler Speicherwert oder eine Hochwassermarke vor. Jede Arena in der Lache wird für Abfallansammlung entsprechend Auswahlkriterien überprüft und vorgewählt. Jedes Fragment innerhalb einer vorgewählten Arena wird gründete nach einem zweiten Satz Auswahlkriterien überprüft, die feststellen, ob das Fragment behalten oder gelöscht wird. Wenn das Fragment gelöscht wird, werden alle weiteren Fragmente in der Speichervorrichtung, die auf Gegenstand dieses Fragments beziehen, auch gelöscht. Wenn eine Fragmentarena behalten wird, wird sie in angrenzende Ablage in einer anderen vorhandenen Arena verschoben. Ein Computerprogrammprodukt, ein Computerapparat und Daten signalisieren dargestellt in einer Trägerschwingung, zusammengebaut, um die Schritte der Methode durchzuführen, werden freigegeben auch.