An embodiment of a method of writing data includes issuing write messages to a replica set of storage devices. Write confirmations are received from at least a majority of the storage devices. An embodiment of a method reading data includes issuing read messages to a replica set of storage devices. Read confirmations are received from at least a first majority of the storage devices. Read commit messages are issued to the storage devices. Commit confirmations are received from at least a second majority of the storage devices.