A method for data storage, in a system that includes multiple servers, multiple multi-queue storage devices and at least one storage controller that communicate over a network, includes receiving in a server, from an application running on the server, a request to access data belonging to one or more stripes. The stripes are stored on the storage devices and are shared with one or more other servers. In response to the request, the following are performed at least partially in parallel: (i) requesting one or more global locks that prevent the other servers from accessing the stripes, and (ii) reading at least part of the stripes from the storage devices speculatively, irrespective of whether the global locks are granted. Execution of the request is completed upon verifying that the speculatively-read data is valid.
Legal claims defining the scope of protection, as filed with the USPTO.
4. The method for data storage of claim 1, wherein the predefined time period is greater than a round-trip latency between the server and the storage controller.
11. The storage controller of claim 8, wherein the predefined time period is greater than a round-trip latency between the server and the storage controller.
18. The one or more non-transitory computer-readable storage media of claim 15, wherein the predefined time period is greater than a round-trip latency between the server and the storage controller.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
June 12, 2020
September 27, 2022
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.