US2019042090A1PendingUtilityA1

Technologies for separating control plane management from data plane management for distributed storage in a disaggregated architecture

Assignee: INTEL CORPPriority: Aug 30, 2017Filed: Mar 15, 2018Published: Feb 7, 2019
Est. expiryAug 30, 2037(~11.1 yrs left)· nominal 20-yr term from priority
G06F 9/4401G06F 30/34G06F 16/2453G06F 16/248G06F 2212/601G11C 29/36G06F 9/5088G11C 29/44G06F 9/4406G06F 13/1668G06F 9/4411G06F 3/0632G06F 3/0604G11C 29/028G06F 9/28G06F 12/06G06F 2209/509G06F 9/445H04L 47/125H04L 49/30G11C 8/12G06F 3/065G06F 12/1054G06F 16/2237G06F 12/0607H04L 41/0213G06F 13/42G06F 3/0683G11C 29/38G06F 3/0659H04L 45/28H04L 45/7453G06F 2201/85G06F 3/0647G06F 3/0631G06F 12/1063G06F 16/221G06F 3/0611G06F 12/023G06F 12/14G06F 3/0644G06F 16/24553G06F 9/4494H04L 41/0668G06F 15/17331G06F 2213/0064H04L 69/22G06F 2212/1052G06F 16/2255G06F 3/0613H04L 41/0677G06F 3/0673G06F 16/119G06F 3/067G06F 16/2365G06F 16/2455G06F 3/0605G06F 16/25G06F 3/0685H04L 49/351G06F 3/0629H04L 69/12G06F 2212/1044H04L 9/0894H04L 49/9005G06F 16/9014G06F 15/161G06F 13/1663G06F 12/0802G06F 16/2282H04L 47/11G06F 13/4068H04L 69/32H04L 41/14H04L 41/0893H04L 41/0896H04L 9/0819H04L 69/321H04L 47/83H04L 43/20H04L 41/149H04L 41/0895H04L 41/40H04L 41/34H04L 69/18G06F 2209/5019G06F 9/5055G06F 9/5022G06F 9/5044H04L 67/1001Y02D10/00G06F 2201/885G06F 2201/86G06F 11/3466G06F 11/3442G06F 11/3006G06F 11/3409H05K 7/1498H04L 43/0876H04L 43/065H04L 41/0816H04L 41/044G06N 3/063H04L 43/16H04L 41/5019H04L 41/5025H04L 49/40G06Q 30/0283G06Q 10/0631G06F 21/105G06F 13/4022G06F 9/5061G06F 9/4856G06F 9/44H05K 7/20736H05K 7/20209H05K 7/18H05K 7/1489H04L 67/1008H04L 63/0428G06F 2200/201G06F 15/7867G06F 9/505G06F 2213/3808G06F 2213/0026G06F 15/1735H04L 47/781H04L 41/16H04L 41/142G06F 3/0665G06F 15/173H04Q 11/0062H04Q 11/0005
71
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Technologies for separating control plane management from data plane management for distributed storage in a disaggregated architecture include a compute sled. The compute sled includes a network interface controller and circuitry to receive, through a network and with the network interface controller, a data access request from a compute device. The data access request includes a data payload indicative of an object to be stored. The circuitry is also to map the object to a set of multiple data storage sleds for distributed storage of the object. Additionally, the circuitry is to send, through the network and with a local data bus protocol mapped onto a network protocol, a write request to the mapped data storage sleds to store the object in one or more data storage devices located on each data storage sled. Other embodiments are also described and claimed.

Claims

exact text as granted — not AI-modified
1 . A compute sled comprising:
 a network interface controller; and   circuitry to:   receive, through a network and with the network interface controller, a data access request from a compute device, wherein the data access request includes a data payload indicative of an object to be stored;   map the object to a set of multiple data storage sleds for distributed storage of the object; and   send, through the network and with a local data bus protocol mapped onto a network protocol, a write request to the mapped data storage sleds to store the object in one or more data storage devices located on each data storage sled.   
     
     
         2 . The compute sled of  claim 1 , wherein to send, through the network and with a local data bus protocol mapped onto a network protocol, a write request comprises to tunnel the write request through a non-volatile memory express over fabric (NVMeOF) connection to the data storage sleds. 
     
     
         3 . The compute sled of  claim 1 , wherein to map the object to the data storage sleds comprises to map the object to data storage sleds in different failure domains. 
     
     
         4 . The compute sled of  claim 1 , wherein the circuitry is further to send, through the network and to one or more other compute sleds, metadata associated with the object. 
     
     
         5 . The compute sled of  claim 4 , wherein to send, through the network and to one or more other compute sleds, metadata associated with the object comprises to send the metadata to one or more compute sleds associated with the mapped data storage sleds. 
     
     
         6 . The compute sled of  claim 4 , wherein to send the metadata comprises to send one or more of an object identifier associated with the object or metadata indicative of one or more attributes of the object. 
     
     
         7 . The compute sled of  claim 1 , wherein to map the object to the data storage sleds comprises to map the object as a function of a hash of a uniform resource locator associated with the object. 
     
     
         8 . The compute sled of  claim 1 , wherein the circuitry is further to verify, prior to sending the write request to the mapped data storage sled, that the data payload represents an object that is not already stored on one or more of the data storage sleds. 
     
     
         9 . The compute sled of  claim 8 , wherein to verify that the data payload represents and object that is not already stored on one or more of the data storage sleds comprises to compare an object identifier associated with the object to object identifiers for objects stored in a data storage sled associated with the compute sled. 
     
     
         10 . The compute sled of  claim 1 , wherein the circuitry is further to:
 receive a request a read a second object, wherein the request includes an identifier of the second object; and   determine, in response to the read request, one or more storage sleds mapped to the identifier of the second object;   send, through the network and with the local data bus protocol mapped onto the network protocol, a read request to the mapped one or more data storage sleds; and   receive the read object from the mapped one or more data storage sleds.   
     
     
         11 . The compute sled of  claim 10 , wherein to send, through the network and with the local data bus protocol mapped onto the network protocol, a read request comprises to tunnel the read request through a non-volatile memory express over fabric (NVMeOF) connection to the one or more data storage sleds. 
     
     
         12 . One or more machine-readable storage media comprising a plurality of instructions stored thereon that, in response to being executed, cause a compute sled to:
 receive, through a network and with a network interface controller, a data access request from a compute device, wherein the data access request includes a data payload indicative of an object to be stored;   map the object to a set of multiple data storage sleds for distributed storage of the object; and   send, through the network and with a local data bus protocol mapped onto a network protocol, a write request to the mapped data storage sleds to store the object in one or more data storage devices located on each data storage sled.   
     
     
         13 . The one or more machine-readable storage media of  claim 12 , wherein to send, through the network and with a local data bus protocol mapped onto a network protocol, a write request comprises to tunnel the write request through a non-volatile memory express over fabric (NVMeOF) connection to the data storage sleds. 
     
     
         14 . The one or more machine-readable storage media of  claim 12 , wherein to map the object to the data storage sleds comprises to map the object to data storage sleds in different failure domains. 
     
     
         15 . The one or more machine-readable storage media of  claim 12 , wherein, when executed, the plurality of instructions further cause the compute sled to send, through the network and to one or more other compute sleds, metadata associated with the object. 
     
     
         16 . The one or more machine-readable storage media of  claim 15 , wherein to send, through the network and to one or more other compute sleds, metadata associated with the object comprises to send the metadata to one or more compute sleds associated with the mapped data storage sleds. 
     
     
         17 . The one or more machine-readable storage media of  claim 15 , wherein to send the metadata comprises to send one or more of an object identifier associated with the object or metadata indicative of one or more attributes of the object. 
     
     
         18 . The one or more machine-readable storage media of  claim 12 , wherein to map the object to the data storage sleds comprises to map the object as a function of a hash of a uniform resource locator associated with the object. 
     
     
         19 . A method comprising:
 receiving, by a compute sled with a network interface controller, a data access request from a compute device, wherein the data access request includes a data payload indicative of an object to be stored;   mapping, by the compute sled, the object to a set of multiple data storage sleds for distributed storage of the object; and   sending, by the compute sled, through a network and with a local data bus protocol mapped onto a network protocol, a write request to the mapped data storage sleds to store the object in one or more data storage devices located on each data storage sled.   
     
     
         20 . The method of  claim 19 , wherein sending, through the network and with a local data bus protocol mapped onto a network protocol, a write request comprises tunneling the write request through a non-volatile memory express over fabric (NVMeOF) connection to the data storage sleds. 
     
     
         21 . The method of  claim 19 , wherein mapping the object to the data storage sleds comprises mapping the object to data storage sleds in different failure domains. 
     
     
         22 . The method of  claim 19 , further comprising sending, by the compute sled, through the network and to one or more other compute sleds, metadata associated with the object. 
     
     
         23 . A data storage sled comprising:
 a network interface controller;   a set of data storage devices; and   circuitry to:   receive, through the network interface controller and with a local data bus protocol mapped onto a network protocol, a write request from a compute sled of a distributed data storage system, wherein the write request includes an object to be written to one or more of the data storage devices;   determine one or more blocks of the set of data storage devices to write the object to;   write an identifier of each determined block to a block ownership database in association with an identifier of the object; and   write the object to the determined one or more blocks.   
     
     
         24 . The data storage sled of  claim 23 , wherein the data storage devices have different performance characteristics resulting from different physical storage media in each data storage device and wherein to determine the one or more blocks of the set of data storage devices to write the object to comprises to determine the one or more blocks as a function of a target access latency. 
     
     
         25 . The data storage sled of  claim 23 , wherein to determine the one or more blocks of the set of data storage devices to write the object to comprises to determine the one or more blocks as a function of a data storage device wear leveling scheme. 
     
     
         26 . The data storage sled of  claim 23 , wherein the circuitry is further to:
 receive, through the network interface controller, a read request from the compute sled, wherein the read request includes the identifier of the object;   determine, from the block ownership database, the one or more blocks of the set of data storage devices to read the object from;   read the object from the determined one or more blocks of the set of data storage devices; and   send the object to the compute sled.   
     
     
         27 . A method comprising:
 receiving, through a network interface controller of a data storage sled and with a local data bus protocol mapped onto a network protocol, a write request from a compute sled of a distributed data storage system, wherein the write request includes an object to be written to one or more data storage devices of the data storage sled;   determining, by the data storage sled, one or more blocks of the data storage devices to write the object to;   writing, by the data storage sled, an identifier of each determined block to a block ownership database in association with an identifier of the object; and   writing, by the data storage sled, the object to the determined one or more blocks.   
     
     
         28 . One or more machine-readable storage media comprising a plurality of instructions stored thereon that, in response to being executed, cause a data storage sled to:
 receive, through a network interface controller of the data storage sled and with a local data bus protocol mapped onto a network protocol, a write request from a compute sled of a distributed data storage system, wherein the write request includes an object to be written to one or more data storage devices of the data storage sled;   determine, by the data storage sled, one or more blocks of the data storage devices to write the object to;   write, by the data storage sled, an identifier of each determined block to a block ownership database in association with an identifier of the object; and   write, by the data storage sled, the object to the determined one or more blocks.

Join the waitlist — get patent alerts

Track US2019042090A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.