A storage system for storing and retrieving data records. The system
includes a storage medium, a controller, and a message log. The storage
medium stores data records, the data records being indexed by addresses
which specify the location of the data records in the storage medium. The
controller receives write messages from processors coupled to the
controller. Each write message includes a data segment to be written to
the storage medium at a specified address, and coordination information
specifying a timestamp, and the addresses of other data records on other
storage systems that were written in same write operation. The log stores
the write messages prior to the data contained therein being written to
the storage medium. Periodically, the controller reads the timestamps of
the messages in the log and compares the timestamps to a clock in the
controller to determine the message having the oldest timestamp. If the
oldest message has a timestamp that is less than the controller's clock
value by more than a predetermined amount, the controller writes the data
segment contained in the message to the storage medium at the specified
address in the message. The controller also receives read messages. Each
read message includes information specifying a range of addresses in the
storage medium to be read. The controller generates one or more response
messages to a read message. Each response message includes an address
range in the storage medium that was written in response to a single one
of the write messages, the data records stored in the storage medium
corresponding to the address range, and the coordination information
received in that write message.
Un sistema di memorizzazione per immagazzinare ed il richiamo delle annotazioni di dati. Il sistema include uno strumento di memorizzazione, un regolatore e un ceppo di messaggio. Lo strumento di memorizzazione immagazzina le annotazioni di dati, le annotazioni di dati che sono spostate ad incrementi dagli indirizzi che specificano la posizione delle annotazioni di dati nello strumento di memorizzazione. Il regolatore riceve scrive i messaggi dai processor coppia al regolatore. Ciascuno scrive il messaggio include un segmento di dati da scrivere allo strumento di memorizzazione ad un indirizzo specificato e le informazioni di coordinazione che specificano un timestamp e gli indirizzi di altre annotazioni di dati su altri sistemi di memorizzazione che sono stati scritti in stessi scrivono il funzionamento. Il ceppo immagazzina i messaggi di scrittura prima in ciò della scrittura contenuta dati allo strumento di memorizzazione. Periodicamente, il regolatore legge i timestamps dei messaggi nel ceppo e confronta i timestamps ad un orologio nel regolatore per determinare il messaggio che ha il più vecchio timestamp. Se il più vecchio messaggio ha un timestamp che è di meno che il valore dell'orologio del regolatore da più di un importo predeterminato, il regolatore scrive il segmento di dati contenuto nel messaggio allo strumento di memorizzazione all'indirizzo specificato nel messaggio. Il regolatore inoltre riceve i messaggi colti. Ciascuno ha letto il messaggio include le informazioni che specificano una gamma di indirizzi nello strumento di memorizzazione da leggere. Il regolatore genera uno o più messaggi di risposta ad un messaggio colto. Ogni messaggio di risposta include una gamma di indirizzo nello strumento di memorizzazione che è stato scritto in risposta a singolo dei messaggi di scrittura, le annotazioni di dati immagazzinate nello strumento di memorizzazione che corrisponde alla gamma di indirizzo e le informazioni di coordinazione ricevute in quanto scrivono il messaggio.