-
公开(公告)号:US20190138517A1
公开(公告)日:2019-05-09
申请号:US16241792
申请日:2019-01-07
Applicant: NetApp, Inc.
Inventor: Joseph Blount , Joseph Moore , William P. Delaney , Randolph Sterns
IPC: G06F16/23 , G06F16/2457 , G06F12/02 , G06F16/22
Abstract: A method, a computing device, and a non-transitory machine-readable medium for assessing data segments for garbage collection is provided. In some embodiments, the method includes identifying a plurality of data segments. A first rate at which data within each of the plurality of data segments has been invalidated since a first point in time is determined, and a second rate at which data within each of the plurality of data segments has been invalidated since a second point in time subsequent to the first point in time is determined. The second rate is compared to the first rate for each of the plurality of data segments, and a garbage collection score is assigned to the respective data segment based on the comparison. The garbage collection score may be further based on a utilization of the respective data segment and/or an age of the respective data segment.
-
公开(公告)号:US20180074723A1
公开(公告)日:2018-03-15
申请号:US15497816
申请日:2017-04-26
Applicant: NetApp, Inc.
Inventor: William P. Delaney , Keith Moyer , Randolph Sterns , Joseph Blount , Charles Binford , Joseph Moore
IPC: G06F3/06
CPC classification number: G06F3/067 , G06F3/0608 , G06F3/061 , G06F3/0652 , G06F3/0659
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.
-
公开(公告)号:US20170220623A1
公开(公告)日:2017-08-03
申请号:US15010624
申请日:2016-01-29
Applicant: NetApp, Inc.
Inventor: Joseph Blount , Joseph Moore , William P. Delaney , Randolph Sterns
CPC classification number: G06F16/2365 , G06F12/0269 , G06F16/22 , G06F16/24578
Abstract: A method, a computing device, and a non-transitory machine-readable medium for assessing data segments for garbage collection is provided. In some embodiments, the method includes identifying a plurality of data segments. A first rate at which data within each of the plurality of data segments has been invalidated since a first point in time is determined, and a second rate at which data within each of the plurality of data segments has been invalidated since a second point in time subsequent to the first point in time is determined. The second rate is compared to the first rate for each of the plurality of data segments, and a garbage collection score is assigned to the respective data segment based on the comparison. The garbage collection score may be further based on a utilization of the respective data segment and/or an age of the respective data segment.
-
公开(公告)号: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.
-
公开(公告)号:US11561696B2
公开(公告)日:2023-01-24
申请号:US17495626
申请日:2021-10-06
Applicant: NETAPP, INC.
Inventor: Joseph Blount
Abstract: A system and method for improving storage system performance by reducing or avoiding load spike amplification when performing garbage collection is disclosed. A storage controller in a storage system tracks system load including write load and read load, as well as available free segments. The storage controller uses these tracked values as inputs and, with these inputs, generates a garbage collection rate. Where read load is included, a scaled portion of the read load is taken into consideration so that, as the number of free segments nears the minimum amount desired and to prevent garbage collecting too slowly, the read load is gradually excluded from the garbage collection rate determination. The garbage collection rate is therefore responsive to system load so that, in times of high system load, the rate reduces as much as is safe so that the write load takes priority with computing resources of the storage controller.
-
公开(公告)号: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.
-
公开(公告)号:US20180307425A1
公开(公告)日:2018-10-25
申请号:US15496206
申请日:2017-04-25
Applicant: NetApp, Inc.
Inventor: Joseph Blount
IPC: G06F3/06
CPC classification number: G06F3/0631 , G06F3/0604 , G06F3/0673
Abstract: A system and method for metadata storage includes use of a storage controller to receive a write operation from a host, create a metadata entry for storing metadata associated with data written by the write operation, and store the metadata entry into a metadata store. The metadata store includes a plurality of active partitions, a plurality of inactive partitions, and a queue identifying locations in the active partitions where the metadata entry may be stored. The metadata store is further used to access data written to one or more storage devices. Storing the metadata entry into the metadata store includes popping a first location from the queue, identifying a first active partition from the active partitions based on the first location, and storing the metadata entry in the first active partition. In some embodiments, each of the active partitions may be organized into two or more tiers.
-
公开(公告)号: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.
-
20.
公开(公告)号: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.
-
-
-
-
-
-
-
-
-