-
公开(公告)号:US10366065B2
公开(公告)日:2019-07-30
申请号:US15142828
申请日:2016-04-29
Applicant: NetApp, Inc.
Inventor: William P. Delaney , Joseph Blount , Charles Binford , Joseph Moore , Randolph Sterns , Jeff Stilger
IPC: G06F17/30 , G06F16/22 , G06F16/901
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.
-
公开(公告)号: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.
-
公开(公告)号:US10142234B1
公开(公告)日:2018-11-27
申请号:US15590622
申请日:2017-05-09
Applicant: NetApp, Inc.
Inventor: Joseph Moore , William Delaney , Jeff Stilger
IPC: G06F3/06 , G06F17/30 , H04L12/743 , H04L9/08 , H04L29/06 , H04L12/753
Abstract: A method, a computing device, and a non-transitory machine-readable medium for indexing data on a storage server are provided. A method includes providing, by a storage server, a plurality of sorted keys. A subset of the plurality of sorted keys that include a bit prefix is stored on a memory page. A trie representation is constructed that includes an entry corresponding to the memory page, wherein a position of the entry in the trie representation is determined based on a binary value of bits of the bit prefix. The trie representation is traversed, by the storage server, to access a record stored in the memory page, wherein the record corresponds to a key having the bit prefix.
-
公开(公告)号: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.
-
公开(公告)号:US09696914B2
公开(公告)日:2017-07-04
申请号:US15388505
申请日:2016-12-22
Applicant: NetApp, Inc.
Inventor: Joseph Moore , Donald Humlicek , Jeffrey A. Stilger
IPC: G06F3/06 , G06F12/0802
CPC classification number: G06F3/0611 , G06F3/061 , G06F3/0614 , G06F3/0619 , G06F3/064 , G06F3/0647 , G06F3/0659 , G06F3/0665 , G06F3/0685 , G06F3/0689 , G06F11/1076 , G06F12/0802 , G06F2212/1024 , G06F2212/60
Abstract: A system and method of transposed storage in RAID arrays includes a storage manager with an interface for receiving storage requests associated with multi-segment blocks stored in a storage array, a controller for processing the received storage requests and controlling the storage manager, and a write request handler. The storage array includes a plurality of storage devices for which consecutive logical addresses are assigned to different ones of the storage devices. The write request handler is configured to process block write requests and send segment write requests to the storage array based on the write requests so that each segment of a given multi-segment block is written to a single respective one of the storage devices in the storage array. In some embodiments, the storage manager further includes a read request handler configured to determine logical addresses of requested segments and send segment read requests to the storage array.
-
公开(公告)号:US20170102887A1
公开(公告)日:2017-04-13
申请号:US15388505
申请日:2016-12-22
Applicant: NetApp, Inc.
Inventor: Joseph Moore , Donald Humlicek , Jeffrey A. Stilger
IPC: G06F3/06 , G06F12/0802
CPC classification number: G06F3/0611 , G06F3/061 , G06F3/0614 , G06F3/0619 , G06F3/064 , G06F3/0647 , G06F3/0659 , G06F3/0665 , G06F3/0685 , G06F3/0689 , G06F11/1076 , G06F12/0802 , G06F2212/1024 , G06F2212/60
Abstract: A system and method of transposed storage in RAID arrays includes a storage manager with an interface for receiving storage requests associated with multi-segment blocks stored in a storage array, a controller for processing the received storage requests and controlling the storage manager, and a write request handler. The storage array includes a plurality of storage devices for which consecutive logical addresses are assigned to different ones of the storage devices. The write request handler is configured to process block write requests and send segment write requests to the storage array based on the write requests so that each segment of a given multi-segment block is written to a single respective one of the storage devices in the storage array. In some embodiments, the storage manager further includes a read request handler configured to determine logical addresses of requested segments and send segment read requests to the storage array.
-
-
-
-
-
-