A high-performance cache is disclosed. The cache is designed for time- and
space-efficiency for a diverse range of information objects. Information
objects are stored in portions of a non-volatile storage device called
arenas, which are contiguous regions from which space is allocated in
parallel. Objects are substantially contiguously allocated within an arena
and are mapped by name keys and content-based object keys to a tag table,
an open directory, and a directory table. The tag table is indexed by the
name keys, and stores references to sets in the directory table. The tag
table is compact and therefore can be stored in fast main memory,
facilitating rapid lookups. The directory table is organized so that at
least a frequently-accessed portion of it also usually resides in fast
main memory, which further speeds lookups. The tag and directory tables
are organized to quickly determine non-presence of objects. Large objects
may be chunked into fragments, which are chained using a forward
functional-iteration mechanism, to prevent the need for mutating existing
on-disk data structures. Garbage collection periodically moves objects
within an arena or to other arenas so that inactive objects are deleted
and free space becomes contiguous. Because the objects are substantially
contiguously allocated, reading and writing an typical object requires
only one or two disk head actuator movements; thus, the cache can
efficiently and smoothly stream data off of the storage device, providing
optimal delivery of multimedia objects. The disclosure also encompasses a
computer apparatus, computer program product, and computer data signal
embodied in a carrier wave that are similarly configured.
Un nascondiglio ad alto rendimento è rilevato. Il nascondiglio è progettato per tempo e spazio-efficienza per una gamma varia di oggetti delle informazioni. Gli oggetti delle informazioni sono memorizzati nelle parti di un dispositivo di memorizzazione non volatile denominato arene, che sono regioni attigue da cui lo spazio è assegnato parallelamente. Gli oggetti sostanzialmente contiguously sono assegnati all'interno di un'arena e sono per nome chiavi tracciate e chiavi soddisfare-basate dell'oggetto ad una tabella della modifica, ad un indice aperto e ad una tabella dell'indice. La tabella della modifica è spostata ad incrementi dalle chiavi nome e memorizza i riferimenti agli insiemi nella tabella dell'indice. La tabella della modifica è compatta e quindi può essere immagazzinata nella memoria centrale veloce, facilitante le occhiate veloci. La tabella dell'indice è organizzata in modo che almeno una parte frequentemente usata di esso inoltre risieda solitamente nella memoria centrale veloce, che ulteriori occhiate di velocità. Le tabelle dell'indice e della modifica sono organizzate per determinare rapidamente la non-presenza degli oggetti. I grandi oggetti possono essere chunked nei frammenti, che sono concatenati usando un meccanismo di andata di funzionale-ripetizione, per impedire l'esigenza del mutating le strutture di dati attuali del su-disc. L'accumulazione dell'immondizia sposta periodicamente gli oggetti all'interno di un'arena o ad altre arene in moda da cancellare gli oggetti inattivi e lo spazio libero diventi attiguo. Poiché gli oggetti sono sostanzialmente contiguously assegnati, leggere e scrivere un oggetto tipico richiedono soltanto uno o due disc movimenti capi dell'azionatore; quindi, il nascondiglio può efficientemente ed effluire uniformemente dati fuori del dispositivo di memorizzazione, fornendo la consegna ottimale delle multimedia obietta. La rilevazione inoltre comprende un'apparecchiatura del calcolatore, un prodotto di programma destinato all'elaboratore e un segnale di dati del calcolatore compreso in un'onda di elemento portante che è configurata similmente.