US 11,775,569 B2
Object-backed block-based distributed storage
Christopher Albert Gorski, Washington, DC (US); and Nicholas Scott Branker, Raleigh, NC (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on May 1, 2017, as Appl. No. 15/583,921.
Application 15/583,921 is a continuation of application No. 14/286,713, filed on May 23, 2014, granted, now 9,639,546, issued on May 2, 2017.
Prior Publication US 2017/0235818 A1, Aug. 17, 2017
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/18 (2019.01); G06F 16/28 (2019.01); G06F 16/172 (2019.01); G06F 12/121 (2016.01); G06F 12/0868 (2016.01); G06F 12/128 (2016.01); G06F 12/12 (2016.01); G06F 12/0808 (2016.01)
CPC G06F 16/289 (2019.01) [G06F 12/0868 (2013.01); G06F 12/121 (2013.01); G06F 12/128 (2013.01); G06F 16/172 (2019.01); G06F 12/0808 (2013.01); G06F 2212/1056 (2013.01); G06F 2212/163 (2013.01); G06F 2212/314 (2013.01); G06F 2212/465 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method, comprising:
performing, by one or more computing devices:
receiving, from a client, a read request for a particular data block in virtual block storage, wherein the read request is formatted according to a network-based storage protocol, wherein the virtual block storage is implemented using an object data store storing a plurality of data block objects for the virtual block storage and a non-relational database storing a block cache that includes a plurality of cached block entries for the virtual block storage; and
in response to receiving the read request:
generating a translated read request, comprising formatting the read request according to a programmatic interface for the non-relational database and sending, over a network, the translated read request to the non-relational database to get a particular cached block entry corresponding to the particular data block;
generating another translated read request comprising formatting the read request according to a programmatic interface for the object data store and sending, over the network, the other translated read request to the object data store to get a particular data block object corresponding to the particular data block; and
sending to the client a response to the read request formatted according to the network-based storage protocol, wherein the response includes a first one received of either the particular cached data block entry from the non-relational database or the particular data block object from the object data store.