Patents Assigned to NetApp
  • Patent number: 10852994
    Abstract: Techniques are provided for compacting indirect blocks. For example, an object is represented as a structure comprising data blocks within which data of the object is stored and indirect blocks comprising block numbers of where the data blocks are located in storage. Block numbers within a set of indirect blocks are compacted into a compacted indirect block comprising a base block number, a count of additional block numbers after the base block number in the compacted indirect block, and a pattern of the block numbers in the compacted indirect block. The compacted indirect block is stored into memory for processing access operations to the object. Storing compacted indirect blocks into memory allows for more block numbers to be stored within memory.
    Type: Grant
    Filed: March 27, 2019
    Date of Patent: December 1, 2020
    Assignee: NetApp Inc.
    Inventors: Ananthan Subramanian, Kumaran Nagappan, Sriram Venketaraman, Szu-Wen Kuo, Yong Eun Cho
  • Patent number: 10852958
    Abstract: A system and method for hijacking inodes based on replication operations received in an arbitrary order is used to assist a data replication operation from a source storage system to a destination storage system. The source storage system generates a set of replication operations as part of a replication process and transmits the replication operations in an arbitrary order. After receiving a replication operation, the system determines whether the operation is inconsistent with a corresponding destination inode. If an inconsistency exists, the system hijacks the destination inode by replacing the destination inode's metadata with data determined based on the replication operation. The system may also delete metadata from the inode and/or initialize metadata to default values if the metadata was not replaced based on the replication operation. The system then waits for a second replication operation that contains the remaining metadata and replaces the metadata based on the second replication operation.
    Type: Grant
    Filed: December 21, 2017
    Date of Patent: December 1, 2020
    Assignee: NetApp Inc.
    Inventors: Devang K. Shah, Alan S. Driscoll
  • Patent number: 10853166
    Abstract: Techniques are provided for remote object store error handling. A storage system may store data within one or more tiers of storage, such as a local storage tier (e.g., solid state storage and disks maintained by the storage system), a remote object store (e.g., storage provided by a third party storage provider), and/or other storage tiers. Because the remote object store may not provide the same data consistency and guarantees that the storage system provides for clients such as through the local storage tier, additional validation is provided by the storage system for the remote object store. For example, when data is put into an object of the remote object store, a verification get operation is performed to read and validate information within a header of the object. Other verifications and checks are performed such as using a locally stored metafile to detect corrupt or lost metadata and/or objects.
    Type: Grant
    Filed: July 2, 2019
    Date of Patent: December 1, 2020
    Assignee: NetApp Inc.
    Inventors: Ananthan Subramanian, Ganga Bhavani Kondapalli, Cheryl Marie Thompson, Kevin Daniel Varghese, Anil Paul Thoppil, Qinghua Zheng
  • Patent number: 10853210
    Abstract: One or more techniques and/or systems are provided for storage device health status synchronization. For example, a first health status registry is maintained for a first storage controller at a first storage site. The first storage controller stores storage device health status information of storage devices currently owned by or assigned to the first storage controller within the first health status registry. A second health status registry is maintained for a second storage controller at a second storage site. The second storage controller stores storage device health status information of storage device currently owned by or assigned to the second storage controller within the second health status registry. The first health status registry and the second health status registry are synchronized during operation of the first storage site and the second storage site and/or are merged between the first storage site and the second storage site after disaster recovery.
    Type: Grant
    Filed: March 14, 2019
    Date of Patent: December 1, 2020
    Assignee: NetApp Inc.
    Inventors: Daniel Curtis Wilson, Deepan Natesan Seeralan, Kyle Diggs Sterling, Linda Ann Riedle, Loellyn Jane Cassell, Mayank Saxena, Sandeep T. Nirmale
  • Patent number: 10855688
    Abstract: A cloud asset manager can securely provide multi-tenant access to remote assets while preserving isolation across tenants. The remote asset manager defines various roles for legitimate users of the remote asset manager. The roles are associated with credentials that provide access to the remote assets and/or information about the remote assets maintained by a service provider. And the users map to roles based on attempted actions that access the service provider. Thus, a user's requested action is attempted with credentials associated with a role that maps to the requested action.
    Type: Grant
    Filed: December 16, 2014
    Date of Patent: December 1, 2020
    Assignee: NetApp Inc.
    Inventors: Dekel Sharabi, Ofer Nivy
  • Patent number: 10855522
    Abstract: Techniques are provided for dual port storage device emulation. A switch is configured with a first virtual switch to provide a first computing device with access a first single port device through a first port and a second port. The switch is configured with a second virtual switch to provide a second computing device with access to a second single port device through a third port and a fourth port. In response to determining that the first computing device has experienced a failure, the first virtual switch and the second virtual switch are reconfigured to provide the second computing device with access to the first single port device through the second port and access to the second single port device through the fourth port. The first computing device is disconnected from accessing the first single port device through the first virtual switch.
    Type: Grant
    Filed: November 14, 2018
    Date of Patent: December 1, 2020
    Assignee: NetApp Inc.
    Inventors: William Leo Rollins, Daniel John Kolor
  • Patent number: 10855791
    Abstract: A request that indicates a component that can be quiesced is received at a first node. It is determined that quiescence of the component might impact an endpoint. A request for identification of at least one path between a second node and the endpoint is sent to the second node. It is determined, based on a response received from the second node, whether the endpoint will be accessible to the second node if the component is quiesced. In response to a determination that the endpoint will be accessible to the second node if the component is quiesced, a positive analysis outcome is indicated. In response to a determination that the endpoint will not be accessible to the second node if the component is quiesced, a negative analysis outcome is indicated.
    Type: Grant
    Filed: November 25, 2014
    Date of Patent: December 1, 2020
    Assignee: NetApp, Inc.
    Inventors: Gunalan Perumal Vijayan, William D. Dallas, Sridhar Balachandriah, Bhaskar Singhal
  • Patent number: 10855556
    Abstract: Methods, non-transitory machine readable media, and computing devices that assign a quality of service (QoS) policy to an instantiated storage object. The assigned QoS policy includes a throughput parameter including a number of input/output (I/O) operations per second (IOPS) based on a storage operation block size. Storage operations are executed with the storage object according to the throughput parameter. Metadata is monitored including a size attribute of the storage object. The QoS policy is then automatically modified to adjust the throughput parameter based on the size attribute. This technology configures, manages, and scales performance provided to storage objects based on a monitored used or allocated size of the storage objects.
    Type: Grant
    Filed: November 15, 2018
    Date of Patent: December 1, 2020
    Assignee: NetApp, Inc.
    Inventors: Dean Kalman, Ashwin Palani
  • Patent number: 10852985
    Abstract: Techniques are provided for persistent hole reservation. For example, hole reservation flags of operations targeting a first storage object of a first node are replicated into replication operations targeting a second storage object of a second node during a transition operation to transition the first storage object and the second storage object from an asynchronous replication state to a synchronous replication state. In another example, the second storage object is grown to a size of a replication punch hole operation that failed due to targeting a file block number greater than an end of size of the second storage object.
    Type: Grant
    Filed: March 19, 2019
    Date of Patent: December 1, 2020
    Assignee: NetApp Inc.
    Inventors: Krishna Murthy Chandraiah setty Narasingarayanapeta, Rakesh Bhargava M.R.
  • Patent number: 10853333
    Abstract: A computer system implements a file system migration by determining a destination namespace of a destination file system based at least in part on a namespace of a source file system. At least a portion of the destination namespace includes an organization that is altered as compared to a corresponding portion of the source namespace.
    Type: Grant
    Filed: December 28, 2015
    Date of Patent: December 1, 2020
    Assignee: NetApp Inc.
    Inventors: Derek Beard, Greg Althaus, Jason Preston, Duen-Wen Hsiao, Alfred G. Prinz, III, Fountain L. Ray, III, Douglas Tharon Heath
  • Patent number: 10852961
    Abstract: A primary write request that is to modify a primary portion of primary data stored in a primary storage node is received. The primary write request is to be replicated to create a current secondary write request. The current secondary write request is to modify a current secondary portion of secondary data that is stored in a secondary storage node. A current data range of the current secondary portion is determined. A determination is made of whether a previous secondary write request is in process of modifying a previous data range that at least partially overlaps with a current data range of the current secondary portion. Execution of the primary write request is suspended, until the previous secondary write request has completed updating the secondary storage node.
    Type: Grant
    Filed: March 26, 2019
    Date of Patent: December 1, 2020
    Assignee: NetApp Inc.
    Inventors: Manoj V. Sundararajan, Ching-Yuk Paul Ngan, Yuedong Mu, Susan M. Coatney
  • Patent number: 10853339
    Abstract: A method of negotiating memory record ownership between network nodes, comprising: storing in a memory of a first network node a subset of a plurality of memory records and one of a plurality of file system segments of a file system mapping the memory records; receiving a request from a second network node to access a memory record of the memory records subset; identifying the memory record by using the file system segment; deciding, by a placement algorithm, whether to relocate the memory record, from the memory records subset to a second subset of the plurality of memory records stored in a memory of the second network node; when a relocation is not decided, providing remote access of the memory record via a network to the second network node; and when a relocation is decided, relocating the memory record via the network for management by the second network node.
    Type: Grant
    Filed: September 27, 2019
    Date of Patent: December 1, 2020
    Assignee: NetApp Inc.
    Inventor: Amit Golander
  • Patent number: 10855515
    Abstract: One or more techniques and/or computing devices are provided for determining whether to perform a switchover operation between computing nodes. A first computing node and a second computing node, configured as disaster recovery partners, may be deployed within a computing environment. The first computing node and the second computing node may be configured to provide operational state information (e.g., normal operation, a failure, etc.) to a cloud environment node state provider and/or cloud persistent storage accessible through a cloud storage service. Accordingly, a computing node may obtain operational state information of a partner node from the cloud environment node state provider and/or the cloud storage service notwithstanding a loss of internode communication and/or an infrastructure failure that may otherwise appear as a failure of the partner node. In this way, the computing node may accurately determine whether the partner node has failed.
    Type: Grant
    Filed: October 30, 2015
    Date of Patent: December 1, 2020
    Assignee: NetApp Inc.
    Inventors: Sriram Gudalore Vangheepuram, Vijay Kumar Chakravarthy Ekkaladevi
  • Patent number: 10853323
    Abstract: A client identifies a first data unit to be shared from a first file to a second file and sends an operation to copy that indicates the first data unit to be shared. The operation to copy the first data unit from the first file to the second file is received. In response to receiving the operation to copy the first data unit from the first file to the second file, it is determined whether the first data unit can be shared with the second file. In response to determining that the first data unit cannot be shared with the second file, the first data unit is copied to the second file. In response to determining that the first data unit can be shared with the second file, the first data unit is shared between the first file and the second file.
    Type: Grant
    Filed: July 23, 2015
    Date of Patent: December 1, 2020
    Assignee: NetApp Inc.
    Inventors: Sisir Shekhar, Akshatha Gangadharaiah, Saravana Selvarai
  • Patent number: 10848555
    Abstract: Logical mirroring of an initiator server running a memory aware file system to a multi-tiered target server by receiving at a first tier of the target server data that was modified at the initiator server and retaining at the first tier of the target server a first subset of the data and moving to a second tier of the target server a second subset of the data to efficiently utilize the multi-tiered target server.
    Type: Grant
    Filed: June 18, 2018
    Date of Patent: November 24, 2020
    Assignee: NETAPP, INC.
    Inventors: Amit Golander, Yigal Korman, Sagi Manole, Boaz Harrosh
  • Patent number: 10838642
    Abstract: A first plurality of block identifiers is sorted based, at least in part, on a measure of spatial locality. A second plurality of block identifiers is sorted based, at least in part, on the measure of spatial locality. At least the first plurality of block identifiers and the second plurality of block identifiers are incrementally merged into a third plurality of block identifiers based, at least in part, on the measure of spatial locality. A block of data corresponding to metadata associated with a plurality of block identifiers of the third plurality of block identifiers is updated.
    Type: Grant
    Filed: March 20, 2019
    Date of Patent: November 17, 2020
    Assignee: NETAPP, INC.
    Inventors: Jayalakshmi Pattabiraman, Nikhil Mattankot, Deekshith Belchapada, Blake H. Lewis, Subramaniam Periyagaram, Satya Suresh Chouta Naga Veera, Rohit Singh, Rajesh Khandelwal, James Robert Morefield
  • Patent number: 10838630
    Abstract: A system for tracking metadata changes and recovering from system interruptions. With host I/O, corresponding metadata incremental changes are aggregated and stored in a write-ahead log before being performed to their in-memory buffers. As those buffers are flushed, checkpoints are created and stored in the log. As the log wraps to the start, older entries are overwritten after they are freed from any remaining dependencies by newer checkpoints. If metadata entities have not created new checkpoints, they are instructed to in order to free up space for new aggregated batches and checkpoints. After an interruption, the wrap point is located in the log. From the wrap point, the log is scanned backwards to provide checkpoints to metadata entities. The log is then scanned forwards to perform changes specified by aggregated batches. The metadata entities' volatile memory states are recovered to what they were before the interruption.
    Type: Grant
    Filed: April 18, 2016
    Date of Patent: November 17, 2020
    Assignee: NETAPP, INC.
    Inventors: Randolph Sterns, Charles Binford, William Delaney, Joseph Blount, Keith Moyer, Joseph Moore
  • Patent number: 10841157
    Abstract: One or more nodes on a network can perform network discovery operations to obtain information regarding network configuration parameters for the nodes on the network. The network configuration data can be compared and used to determine if there are mismatches between the various node's configurations. A mismatch can indicate that a node is misconfigured, which can result in significant degradation in performance of the node or of the network system as a whole. The network configuration data can be used to automatically resolve errors in configuration or to provide reports on potential errors in configuration. Additionally, the network configuration data that is discovered by a node can be used to establish an initial configuration for the node.
    Type: Grant
    Filed: March 23, 2018
    Date of Patent: November 17, 2020
    Assignee: NetApp, Inc.
    Inventors: Marc Wayne Brotherson, Derek John Leslie
  • Patent number: 10831369
    Abstract: A method and system for synchronizing caches after reboot are described. In a cached environment, a host server stores a cache counter associated with the cache, which can be stored in the cache itself or in another permanent storage device. When data blocks are written to the cache, metadata for each data block is also written to the cache. This metadata includes a block counter based on a value of the cache counter. After a number of data operations are performed in the cache, the value of the cache counter is updated. Then, each data block is selectively updated based on a comparison of the value of the cache counter with a value of the block counter in the metadata for the corresponding data block.
    Type: Grant
    Filed: November 22, 2017
    Date of Patent: November 10, 2020
    Assignee: NETAPP, INC.
    Inventors: Somasundaram Krishnasamy, Brian McKean, Yanling Qi
  • Patent number: 10826848
    Abstract: A system for dynamically configuring and scheduling input/output (I/O) workloads among processing cores is disclosed. Resources for an application that are related to each other and/or not multicore safe are grouped together into work nodes. When these need to be executed, the work nodes are added to a global queue that is accessible by all of the processing cores. Any processing core that becomes available can pull and process the next available work node through to completion, so that the work associated with that work node software object is all completed by the same core, without requiring additional protections for resources that are not multicore safe. Indexes track the location of both the next work node in the global queue for processing and the next location in the global queue for new work nodes to be added for subsequent processing.
    Type: Grant
    Filed: April 26, 2017
    Date of Patent: November 3, 2020
    Assignee: NETAPP, INC.
    Inventors: Charles E. Nichols, Scott Terrill, Don Humlicek, Arindam Banerjee, Yulu Diao, Anthony D. Gitchell