← Back to Patent Explorer
US6170063B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Method for performing atomic, concurrent read and write operations on multiple storage devices

Assignee: Hewlett Packard Enterprise Development LP
•
Filing: 1998-03-07
•
Granted: 2001-01-02
•
Expires: 2018-03-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract 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.

Inventors

  • 👤 Richard A. Golding

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 01:27
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/06; G06F3/0601; G06F3/0668; G06F3/0671; G06F3/0683; G06F3/0689; G06F3/0602; G06F3/0614; G06F3/0619; G06F3/0628; G06F3/0655; G06F3/0659; G06F2201/00; G06F2201/82

Claims Analysis

Total Claims: 11
Claim 1
Independent Claim 190 words
A storage system for storing data records, said storage system comprising: a storage medium for storing data records, said data records being indexed by addresses which specify the location of said data records in said storage medium; a controller for receiving, write messages from processors coupled to said controller, each write message including a data segment to be written to said 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 the same write operation, said timestamp specifying the time at which said processors sent said write messages to said controller a log for storing said write messages; wherein said controller further comprises a clock and wherein said controller periodically reads said timestamps of said write messages in said log and compares said timestamps to said clock to determine said message having the oldest timestamp and wherein said controller writes said data segment contained in said message having the oldest timestamp to said storage medium at said specified address if said timestamp is less than said clock by more than a predetermined amount.
Claim 2
Dependent Claim 190 words
A storage system for storing data records, said storage system comprising: a storage medium for storing data records, said data records being indexed by addresses which specify the location of said data records in said storage medium; a controller for receiving, write messages from processors coupled to said controller, each write message including a data segment to be written to said 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 the same write operation, said timestamp specifying the time at which said processors sent said write messages to said controller a log for storing said write messages; wherein said controller further comprises a clock and wherein said controller periodically reads said timestamps of said write messages in said log and compares said timestamps to said clock to determine said message having the oldest timestamp and wherein said controller writes said data segment contained in said message having the oldest timestamp to said storage medium at said specified address if said timestamp is less than said clock by more than a predetermined amount.
Claim 3
Dependent Claim 29 words
The storage system of claim 1 wherein said controller also writes said coordination information to said storage medium when said controller writes said data segment to said storage medium.
Claim 4
Dependent Claim 192 words
A storage system for storing data records, said storage system comprising: a storage medium for storing data records, said data records being indexed by addresses which specify the location of said data records in said storage medium; and a controller for receiving write messages from processors coupled to said controller, each write message including a data segment to be written to said 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 the same write operation, said timestamp specifying the time at which said processors sent said write messages to said controller, wherein said controller also receives read messages, each read message comprising information specifying a range of addresses in said storage medium and wherein said controller generates one or more response messages to one of said read messages, each response message comprising an address range in said storage medium that was written in response to a single one of said write messages, the data records stored in said storage medium corresponding to said address range, and the coordination information received in that write message.
Claim 5
Dependent Claim 192 words
A storage system for storing data records, said storage system comprising: a storage medium for storing data records, said data records being indexed by addresses which specify the location of said data records in said storage medium; and a controller for receiving write messages from processors coupled to said controller, each write message including a data segment to be written to said 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 the same write operation, said timestamp specifying the time at which said processors sent said write messages to said controller, wherein said controller also receives read messages, each read message comprising information specifying a range of addresses in said storage medium and wherein said controller generates one or more response messages to one of said read messages, each response message comprising an address range in said storage medium that was written in response to a single one of said write messages, the data records stored in said storage medium corresponding to said address range, and the coordination information received in that write message.
Claim 6
Independent Claim 342 words
A method for causing a storage system to store and retrieve data across multiple storage devices each of said storage devices comprising: a storage medium for storing data records, said data records being indexed by addresses which specify the location of said data records in said storage medium; a controller for receiving write messages from processors coupled to said controller, each write message including a data segment to be written to said 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 the same write operation, said timestamp specifying the time at which said processors sent said write messages to said controller; and a log for storing said write messages. said method comprising the steps of: causing a processor wishing to store a data set comprising a plurality of records to be stored on one or more of said storage devices in said storage system to send a write message to each storage device that is to store a portion of said data set each write message comprising said portion of said data set that is to be stored on that storage device, and coordination information specifying a timestamp, and the addresses of said portions of said data set that were included in said write messages sent to other storage devices in said storage system; causing said controller in each of said storage devices to store each write message received by that storage device to be stored in said log included in said storage device; and causing each controller in said storage system to periodically read said timestamps of said write messages in said log included in that storage device, to compare said timestamps to determine said message having the oldest timestamp, and to write said portion of said data set contained in that write message to said storage medium at said specified address if said timestamp indicates that said message has been stored in said log for more than a predetermined amount of time.
Claim 7
Independent Claim 342 words
A method for causing a storage system to store and retrieve data across multiple storage devices each of said storage devices comprising: a storage medium for storing data records, said data records being indexed by addresses which specify the location of said data records in said storage medium; a controller for receiving write messages from processors coupled to said controller, each write message including a data segment to be written to said 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 the same write operation, said timestamp specifying the time at which said processors sent said write messages to said controller; and a log for storing said write messages. said method comprising the steps of: causing a processor wishing to store a data set comprising a plurality of records to be stored on one or more of said storage devices in said storage system to send a write message to each storage device that is to store a portion of said data set each write message comprising said portion of said data set that is to be stored on that storage device, and coordination information specifying a timestamp, and the addresses of said portions of said data set that were included in said write messages sent to other storage devices in said storage system; causing said controller in each of said storage devices to store each write message received by that storage device to be stored in said log included in said storage device; and causing each controller in said storage system to periodically read said timestamps of said write messages in said log included in that storage device, to compare said timestamps to determine said message having the oldest timestamp, and to write said portion of said data set contained in that write message to said storage medium at said specified address if said timestamp indicates that said message has been stored in said log for more than a predetermined amount of time.
Claim 8
Independent Claim 388 words
A method for causing a storage system to store and retrieve data across multiple storage devices each of said storage devices, comprising: a storage medium for storing data records, said data records being indexed by addresses which specify the location of said data records in said storage medium; a controller for receiving write messages from processors coupled to said controller, each write message including a data segment to be written to said 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 the same write operation, said timestamp specifying the time at which said processors sent said write messages to said controller; and a log for storing said write messages, said method comprising the steps of: causing a processor wishing to store a data set comprising a plurality of records to be stored on one or more of said storage devices in said storage system to send a write message to each storage device that is to store a portion of said data set each write message comprising said portion of said data set that is to be stored on that storage device, and coordination information specifying a timestamp, and the addresses of said portions of said data set that were included in said write messages sent to other storage devices in said storage system; and causing said controller in each of said storage devices to store each write message received by that storage device to be stored in said log included in said storage device, wherein a processor wishing to retrieve a data set from said storage system sends a read message to each storage device in said storage system having a portion of said data set stored therein, each read message comprising information specifying a range of addresses in said storage medium and wherein each controller receiving one of said read messages generates one or more response messages to that read message, each response message comprising an address range in said storage medium that was written in response to a single one of said write messages, the data records stored in said storage medium corresponding to said address range, and the coordination information received in that write message if said coordination information is still stored in that storage device.
Claim 9
Independent Claim 388 words
A method for causing a storage system to store and retrieve data across multiple storage devices each of said storage devices, comprising: a storage medium for storing data records, said data records being indexed by addresses which specify the location of said data records in said storage medium; a controller for receiving write messages from processors coupled to said controller, each write message including a data segment to be written to said 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 the same write operation, said timestamp specifying the time at which said processors sent said write messages to said controller; and a log for storing said write messages, said method comprising the steps of: causing a processor wishing to store a data set comprising a plurality of records to be stored on one or more of said storage devices in said storage system to send a write message to each storage device that is to store a portion of said data set each write message comprising said portion of said data set that is to be stored on that storage device, and coordination information specifying a timestamp, and the addresses of said portions of said data set that were included in said write messages sent to other storage devices in said storage system; and causing said controller in each of said storage devices to store each write message received by that storage device to be stored in said log included in said storage device, wherein a processor wishing to retrieve a data set from said storage system sends a read message to each storage device in said storage system having a portion of said data set stored therein, each read message comprising information specifying a range of addresses in said storage medium and wherein each controller receiving one of said read messages generates one or more response messages to that read message, each response message comprising an address range in said storage medium that was written in response to a single one of said write messages, the data records stored in said storage medium corresponding to said address range, and the coordination information received in that write message if said coordination information is still stored in that storage device.
Claim 10
Dependent Claim 49 words
The method of claim 5 wherein said processor wishing to retrieve said data set compares said timestamps included in said response messages to determine if said data set is invalid because a write message related to that data set was not properly recorded by one of said storage devices.
Claim 11
Dependent Claim 33 words
The method of claim 5 wherein said read messages further comprise a time parameter and wherein said controllers only generates response messages corresponding to write messages having timestamps less than said time parameter.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2004-01-02 2004-07-03 2005-01-02 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2008-01-02 2008-07-03 2009-01-02 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2012-01-02 2012-07-03 2013-01-02 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag