-
1.
公开(公告)号:US20180107408A1
公开(公告)日:2018-04-19
申请号:US15496841
申请日:2017-04-25
Applicant: NETAPP, INC.
Inventor: Randolph Sterns , Charles Binford , Joseph Blount , Joseph Moore , William P. Delaney
IPC: G06F3/06 , G06F12/128 , G06F12/0811 , G06F12/0808
CPC classification number: G06F3/0617 , G06F3/061 , G06F3/0665 , G06F3/0689 , G06F12/0868 , G06F2212/1024 , G06F2212/1032 , G06F2212/263 , G06F2212/282 , G06F2212/286 , G06F2212/312
Abstract: A system shares I/O load between controllers in a high availability system. For writes, a controller determines based on one or more factors which controller will flush batches of data from write-back cache to better distribute the I/O burden. The determination occurs after the local storage controller caches the data, mirrors it, and confirms write complete to the host. Once it is determined which storage controller will flush the cache, the flush occurs and the corresponding metadata at a second layer of indirection is updated by that determined storage controller (whether or not it is identified as the owner of the corresponding volume to the host, while the volume owner updates metadata at a first layer of indirection). For a host read, the controller that owns the volume accesses the metadata from whichever controller(s) flushed the data previously and reads the data, regardless of which controller had performed the flush.
-
公开(公告)号:US11644978B2
公开(公告)日:2023-05-09
申请号:US17509523
申请日:2021-10-25
Applicant: NETAPP, INC.
Inventor: Randolph Sterns , Charles Binford , Joseph Blount , Joseph Moore , William P. Delaney
IPC: G06F3/06 , G06F12/0868
CPC classification number: G06F3/0617 , G06F3/061 , G06F3/0665 , G06F3/0689 , G06F12/0868 , G06F2212/1024 , G06F2212/1032 , G06F2212/263 , G06F2212/282 , G06F2212/286 , G06F2212/312
Abstract: A system shares I/O load between controllers in a high availability system. For writes, a controller determines based on one or more factors which controller will flush batches of data from write-back cache to better distribute the I/O burden. The determination occurs after the local storage controller caches the data, mirrors it, and confirms write complete to the host. Once it is determined which storage controller will flush the cache, the flush occurs and the corresponding metadata at a second layer of indirection is updated by that determined storage controller (whether or not it is identified as the owner of the corresponding volume to the host, while the volume owner updates metadata at a first layer of indirection). For a host read, the controller that owns the volume accesses the metadata from whichever controller(s) flushed the data previously and reads the data, regardless of which controller had performed the flush.
-
公开(公告)号:US11500592B2
公开(公告)日:2022-11-15
申请号:US16707651
申请日:2019-12-09
Applicant: NetApp, Inc.
Inventor: William P. Delaney , Keith Moyer , Randolph Sterns , Joseph Moore , Joseph Blount , Charles Binford
IPC: G06F3/06
Abstract: A method, a computing device, and a non-transitory machine-readable medium for allocating data compression activities in a storage system are provided. A method includes tracking, by a storage controller, computing resources corresponding to a storage server. The storage controller processes one or more host read requests to access data requested by one or more hosts, the processing of the one or more host read requests including decompressing the data requested by the one or more hosts from the storage server and providing the decompressed data to the one or more hosts. The storage controller determines an amount of available computing resources after processing the one or more host read requests. Based on the amount of available computing resources, the storage controller performs inline compression of a first portion of host write requests and background compression of a second portion of the host write requests.
-
公开(公告)号:US11175831B2
公开(公告)日:2021-11-16
申请号:US15496841
申请日:2017-04-25
Applicant: NETAPP, INC.
Inventor: Randolph Sterns , Charles Binford , Joseph Blount , Joseph Moore , William P. Delaney
IPC: G06F3/06 , G06F12/0868
Abstract: A system shares I/O load between controllers in a high availability system. For writes, a controller determines based on one or more factors which controller will flush batches of data from write-back cache to better distribute the I/O burden. The determination occurs after the local storage controller caches the data, mirrors it, and confirms write complete to the host. Once it is determined which storage controller will flush the cache, the flush occurs and the corresponding metadata at a second layer of indirection is updated by that determined storage controller (whether or not it is identified as the owner of the corresponding volume to the host, while the volume owner updates metadata at a first layer of indirection). For a host read, the controller that owns the volume accesses the metadata from whichever controller(s) flushed the data previously and reads the data, regardless of which controller had performed the flush.
-
公开(公告)号:US20170315888A1
公开(公告)日:2017-11-02
申请号:US15142999
申请日:2016-04-29
Applicant: NetApp, Inc.
Inventor: Joseph Blount , William P. Delaney , Charles Binford , Joseph Moore , Randolph Sterns
CPC classification number: G06F11/2069 , G06F3/0619 , G06F3/065 , G06F3/0689 , G06F11/1092 , G06F2201/805 , G06F2211/104 , H04L67/1097
Abstract: Systems and techniques for recovering a storage array are disclosed. These systems and techniques include determining a size corresponding to a storage stripe of the storage array. Pieces assigned to the storage stripe are identified. A storage configuration corresponding to the pieces assigned to the storage stripe is detected. Ordinal information and parity information are determined corresponding to the pieces assigned to the storage stripe. The size determined corresponding to the storage stripe, identification of the pieces assigned to the storage stripe, the storage configuration, the ordinal information, and the parity information is stored in a data store to reconstruct lost or corrupted metadata corresponding to the storage array.
-
6.
公开(公告)号:US09037671B2
公开(公告)日:2015-05-19
申请号:US14062440
申请日:2013-10-24
Applicant: NetApp, Inc.
Inventor: Bret S. Weber , Mohamad El-Batal , William P. Delaney
IPC: G06F15/167 , G06F15/173 , G06F3/06 , G06F12/08 , H04L29/08
CPC classification number: G06F15/17331 , G06F3/0607 , G06F3/0658 , G06F3/067 , G06F12/0866 , H04L67/1097
Abstract: Systems and associated methods for flexible scalability of storage systems. In one aspect, a storage controller may include an interface to a fabric adapted to permit each storage controller coupled to the fabric to directly access memory mapped components of all other storage controllers coupled to the fabric. The CPU and other master device circuits within a storage controller may directly address memory an I/O devices directly coupled thereto within the same storage controller and may use RDMA features to directly address memory an I/O devices of other storage controllers through the fabric interface.
Abstract translation: 存储系统灵活可扩展性的系统和相关方法。 在一个方面,存储控制器可以包括适合于允许耦合到结构的每个存储控制器直接访问耦合到该结构的所有其他存储控制器的存储器映射组件的结构的接口。 存储控制器内的CPU和其他主设备电路可以直接在同一存储控制器内对与其直接耦合的I / O设备的存储器进行寻址,并且可以使用RDMA特征来通过结构接口直接对其他存储控制器的I / O设备寻址存储器 。
-
公开(公告)号:US11662929B2
公开(公告)日:2023-05-30
申请号:US17008978
申请日:2020-09-01
Applicant: NetApp, Inc.
Inventor: Randolph Sterns , Charles Binford , William P. Delaney , Joseph Blount , Reid Kaufmann , Joseph Moore
CPC classification number: G06F3/064 , G06F3/067 , G06F3/0607 , G06F3/0689 , G06F11/1004
Abstract: A method includes: storing a first data extent on a physical medium, wherein the physical medium is divided into a plurality of storage blocks, wherein each of the storage blocks has a size that is different than a size of the first data extent, further wherein the first data extent is stored to a first block of the plurality of storage blocks; generating a descriptor for the first data extent, wherein the descriptor indicates that the first data extent starts within the first block of the plurality of blocks and indicates an offset from the beginning of the first block at which the first data extent starts; and storing the descriptor within the first block.
-
公开(公告)号:US09990261B2
公开(公告)日:2018-06-05
申请号:US15142999
申请日:2016-04-29
Applicant: NetApp, Inc.
Inventor: Joseph Blount , William P. Delaney , Charles Binford , Joseph Moore , Randolph Sterns
CPC classification number: G06F11/2069 , G06F3/0619 , G06F3/065 , G06F3/0689 , G06F11/1092 , G06F2201/805 , G06F2211/104 , H04L67/1097
Abstract: Systems and techniques for recovering a storage array are disclosed. These systems and techniques include determining a size corresponding to a storage stripe of the storage array. Pieces assigned to the storage stripe are identified. A storage configuration corresponding to the pieces assigned to the storage stripe is detected. Ordinal information and parity information are determined corresponding to the pieces assigned to the storage stripe. The size determined corresponding to the storage stripe, identification of the pieces assigned to the storage stripe, the storage configuration, the ordinal information, and the parity information is stored in a data store to reconstruct lost or corrupted metadata corresponding to the storage array.
-
公开(公告)号:US20170316041A1
公开(公告)日:2017-11-02
申请号:US15142828
申请日:2016-04-29
Applicant: NetApp, Inc.
Inventor: William P. Delaney , Joseph Blount , Charles Binford , Joseph Moore , Randolph Sterns , Jeff Stilger
IPC: G06F17/30
CPC classification number: G06F16/2246 , G06F16/2237 , G06F16/9017
Abstract: A method for mapping a first address space to a second address space is provided. In some embodiments, the method includes creating a first array of lookup entries and one or more second arrays of metadata entries for maintaining an ordering among the lookup entries using a tree structure. Each of the metadata entries includes one or more data index values identifying a corresponding one of the lookup entries by its position in the first array and one or more metadata index values identifying a corresponding one of the metadata entries by its position in one of the one or more second arrays. The method further includes receiving a request including a lookup value, traversing the tree structure to locate a lookup entry corresponding to the lookup value, and when the lookup value is located among the lookup entries, using the located lookup entry to process the request.
-
10.
公开(公告)号:US20170308303A1
公开(公告)日:2017-10-26
申请号:US15135161
申请日:2016-04-21
Applicant: NetApp, Inc.
Inventor: Randolph Sterns , Charles Binford , William P. Delaney , Joseph Blount , Reid Kaufmann , Joseph Moore
Abstract: A method includes: storing a first data extent on a physical medium, wherein the physical medium is divided into a plurality of storage blocks, wherein each of the storage blocks has a size that is different than a size of the first data extent, further wherein the first data extent is stored to a first block of the plurality of storage blocks; generating a descriptor for the first data extent, wherein the descriptor indicates that the first data extent starts within the first block of the plurality of blocks and indicates an offset from the beginning of the first block at which the first data extent starts; and storing the descriptor within the first block.
-
-
-
-
-
-
-
-
-