-
公开(公告)号:US11169723B2
公开(公告)日:2021-11-09
申请号:US16457008
申请日:2019-06-28
Applicant: Amazon Technologies, Inc.
Inventor: Norbert Paul Kusters , Jianhua Fan , Shuvabrata Ganguly , Danny Wei , Avram Israel Blaszka
Abstract: A data storage system includes multiple head nodes and data storage sleds. Volume data is replicated between a primary and one or more secondary head nodes for a volume partition and is further flushed to a set of mass storage devices of the data storage sleds. Volume metadata is maintained in a primary and one or more secondary head nodes for a volume partition and is updated in response to volume data being flushed to the data storage sleds. Also, the primary and secondary head nodes store check-points of volume metadata to the data storage sleds, wherein in response to a failure of a primary or secondary head node for a volume partition, a replacement secondary head node for the volume partition recreates a secondary replica for the volume partition based, at least in part, on a stored volume metadata checkpoint.
-
公开(公告)号:US10387450B1
公开(公告)日:2019-08-20
申请号:US15253677
申请日:2016-08-31
Applicant: Amazon Technologies, Inc.
Inventor: Tao Chen , Marc John Brooker , Divya Ashok Kumar Jain , Norbert Paul Kusters , Fan Ping , Lakshmi N. Pallikila
Abstract: Data replication groups may be used to store data in a distributed computing environment. A data replication group may include a set of nodes executing a consensus protocol to maintain data durably. In order to increase efficiency and performance of the data replication, a particular node of the data replication group may be assigned the role of master node. The role of master node may be lease in accordance with a consensus protocol. If the lease is not renewed within an interval of time election/selection of a new master node may be commenced.
-
公开(公告)号:US10387200B2
公开(公告)日:2019-08-20
申请号:US15645909
申请日:2017-07-10
Applicant: Amazon Technologies, Inc.
Inventor: Norbert Paul Kusters , John Robert Smiley , Marc John Brooker , Bei-Jing Guo , Marc Levy
Abstract: Burst throttling methods may be used to manage computing resources of a data storage service. Tokens may represent I/O operations executed by a customer of the data storage service. A first token bucket may contain a set of tokens representing the overall I/O operation capacity of the data storage service. Additionally, a second token bucket may contain a set of tokens for a given logical volume maintained by the data storage service. When I/O requests are received tokens may be charged the first token bucket and the second token bucket. Furthermore, if there is sufficient capacity, the data storage service may charge a reduced number of tokens to the third token bucket.
-
公开(公告)号:US10191813B2
公开(公告)日:2019-01-29
申请号:US15694684
申请日:2017-09-01
Applicant: Amazon Technologies, Inc.
Inventor: Jianhua Fan , Benjamin Arthur Hawks , Norbert Paul Kusters , Nachiappan Arumugam , Danny Wei , John Luther Guthrie, II
Abstract: Persistent storage for a master copy is provided using operation numbers. A master copy can include a persistent key-value store such as a B-tree with references to corresponding data. When provisioning a slave copy, the master copy sends a point-in-time copy of the B-tree to the slave copy, which stores a copy of the B-tree, allocates the necessary space, and updates the references of the B-tree to point to a local storage before the data is transferred. When writing the data to persistent storage, a snapshot created on the master copy is an operation that is replicated to the slave copy. The snapshot is generated using a volume view that includes changes to chunks of data of the master copy since a previous snapshot, as determined using the operation number for the previous snapshot. Data (and metadata) for the snapshot is written to persistent storage while new input/output operations are processed.
-
公开(公告)号:US20180232165A1
公开(公告)日:2018-08-16
申请号:US15433956
申请日:2017-02-15
Applicant: Amazon Technologies, Inc.
Inventor: Norbert Paul Kusters , Nachiappan Arumugam , Andre Podnozov , Shobha Agrawal , Shreyas Ramalingam , Danny Wei , David R. Richardson , Marc John Brooker , Christopher Nathan Watson , John Luther Guthrie, II , Ravi Nankani
CPC classification number: G06F3/0619 , G06F3/065 , G06F3/0683 , G06F11/2058 , G06F11/2064 , G06F11/2071 , G06F2201/84
Abstract: A data storage system includes a head node and mass storage devices. The head node is configured to flush data stored in a storage of the head node to a set of the mass storage devices of the data storage system. A head node may flush both current version data and point-in-time version data to the set of mass storage devices. Also, the data storage system maintains an index that indicates storage locations of data for particular portions of a volume before and after the data is flushed to the set of mass storage devices. In some embodiments an index includes a current version reference for a volume or portion of a volume and one or more point-in-time snapshot references.
-
公开(公告)号:US09733869B1
公开(公告)日:2017-08-15
申请号:US14866652
申请日:2015-09-25
Applicant: Amazon Technologies, Inc.
Inventor: Jianhua Fan , Benjamin Arthur Hawks , Norbert Paul Kusters , Nachiappan Arumugam , Danny Wei , John Luther Guthrie, II
IPC: G06F3/06
CPC classification number: G06F3/0665 , G06F3/0619 , G06F3/065 , G06F3/067 , G06F11/1435
Abstract: A slave storage is provisioned using metadata of a master B-tree and updates to references (e.g., offsets) pertaining to data operations of the master B-tree. Master-slave pairs can be used to provide data redundancy, and a master copy can include the master B-tree with references to corresponding data. When provisioning a slave copy, the master sends a B-tree copy to the slave, which stores the slave B-tree copy, allocates the necessary space on local storage, and updates respective offsets of the slave B-tree copy to point to the local storage. Data from the master can then be transferred to the slave and stored according to a note and commit process that ensures operational sequence of the data. Operations received to the master during the process can be committed to the slave copy until the slave is consistent with the master and able to take over as master in the event of a failure.
-
公开(公告)号:US09703602B1
公开(公告)日:2017-07-11
申请号:US14675576
申请日:2015-03-31
Applicant: Amazon Technologies, Inc.
Inventor: Norbert Paul Kusters , John Robert Smiley , Marc John Brooker , Bei-Jing Guo , Marc Levy
CPC classification number: G06F9/5011 , G06F3/06 , G06F9/4881 , G06F9/50 , G06F2209/503 , G06F2209/504
Abstract: Burst throttling methods may be used manage computing resources of a data storage service. Tokens may represent I/O operations executed by a customer of the data storage service. A global token bucket may contain a set of tokens representing the overall I/O operation capacity of the data storage service. Additionally, a work token bucket may contain a set of tokens for a given logical volume maintained by the data storage service. When I/O request are received tokens may be charged the global token bucket and the work token bucket. Furthermore, if there is sufficient capacity the data storage service may charge a reduced number of tokens to the work token bucket.
-
公开(公告)号:US09639398B1
公开(公告)日:2017-05-02
申请号:US14675730
申请日:2015-03-31
Applicant: Amazon Technologies, Inc.
Inventor: Norbert Paul Kusters , John Robert Smiley , Marc John Brooker , Bei-Jing Guo , Marc Levy
IPC: G06F9/46 , G01R31/08 , G06F11/00 , G08C15/00 , H04J1/16 , H04J3/14 , H04L1/00 , G06F3/00 , G06F9/50 , G06F9/48 , H04L12/70 , H04L12/801 , H04L12/819
CPC classification number: G06F9/5011 , G06F9/48 , G06F9/4843 , G06F9/50 , G06F9/5005 , G06F9/5016 , G06F9/5022 , G06F9/5027 , G06F9/5033 , G06F9/5038 , G06F9/5044 , G06F9/505 , G06F9/5061 , G06F9/5077 , G06F2209/5022 , G06F2209/504 , H04L47/00 , H04L47/10 , H04L47/21 , H04L47/215 , H04L47/39 , Y02D10/22
Abstract: Burst throttling methods may be used manage computing resources of a data storage service. Tokens may represent I/O operations executed by a customer of the data storage service. A global token bucket may contain a set of tokens representing the overall I/O operation capacity of the data storage service. Additionally, a work token bucket may contain a set of tokens for a given logical volume maintained by the data storage service. When I/O request are received the data storage service may determine if the I/O request is a member of a sequence and removed a reduced number for tokens from the work token bucket as a result. Furthermore, if there is sufficient capacity the data storage service may charge a reduced number of tokens to the work token bucket.
-
-
-
-
-
-
-