Patents Assigned to NetApp
  • Patent number: 9620165
    Abstract: A system, method, and computer program product for the banded allocation of storage device address ranges in distributed parity schemes is disclosed. A storage system with storage devices logically divides up the storage devices into bands of contiguous logical block address ranges. A storage controller provisions logical volumes in the bands. Upon unavailability of a storage device, the data pieces are reconstructed at the next available data extent within the same band on the other storage devices. The storage controller detects a replacement drive and logically divides the replacement storage device into the same number of bands as on the other storage devices. The storage controller transfers the reconstructed data pieces to the replacement drive and places the data pieces within the same bands on the replacement drive.
    Type: Grant
    Filed: February 26, 2015
    Date of Patent: April 11, 2017
    Assignee: NetApp, Inc.
    Inventor: Kevin Kidney
  • Patent number: 9619351
    Abstract: In one embodiment, a node of a cluster is coupled to a storage array of storage devices. The node executes a storage input/output (I/O) stack having a redundant array of independent disks (RAID) layer that organizes the storage devices within the storage array as a plurality of RAID groups. Configuration information is stored as a cluster database. The configuration information identifies the RAID groups associated with the storage devices. Each RAID group is associated with a plurality of segments and each segment has a different RAID configuration.
    Type: Grant
    Filed: April 29, 2016
    Date of Patent: April 11, 2017
    Assignee: NetApp, Inc.
    Inventors: Rajesh Sundaram, Bharat Baddepudi
  • Patent number: 9612760
    Abstract: A modular block allocator receives a cleaner message requesting dirty buffers associated with an inode be cleaned. The modular block allocator provides at least one bucket cache comprising a plurality of buckets, wherein each bucket represents a plurality of free data blocks. The dirty buffers are cleaned by allocating the data blocks of one of the buckets to the dirty buffers. The allocated data blocks are mapped to a stripe set and when the stripe set is full, the stripe set is sent to a storage system. In one embodiment of the invention, a modular block allocator includes a front end module and a back end module communicating with each other via an application programming interface (API). The front end module contains write allocation policies that define how blocks are laid out on disk. The back end module creates data structures for execution of the policies.
    Type: Grant
    Filed: June 24, 2015
    Date of Patent: April 4, 2017
    Assignee: NETAPP, INC.
    Inventors: Ram Kesavan, Mrinal K. Bhattacharjee, Sudhanshu Goswami
  • Patent number: 9613100
    Abstract: An OEM product label may be associated with a plurality of different OEM products; an identity of the manufacturer of the product associated with the label is determined based on the context of the product.
    Type: Grant
    Filed: August 31, 2015
    Date of Patent: April 4, 2017
    Assignee: NETAPP, INC.
    Inventor: Kyle Lanier
  • Patent number: 9614911
    Abstract: Systems and methods for identifying and correcting storage system inefficiencies are provided. One method includes discovering Logical Unit Number (LUN) information from a network storage system node, the LUN information associated with a first LUN and including an initiator group (IGroup) associated with the first LUN; discovering node information. The node information includes logical interface (LIF) status information. The method includes determining whether LUN access information also comprises a port set associated with the IGroup; combining the LIF status information and the initiator access list of the IGroup to test accessibility of the first LUN, when a port set is not associated with the at least one IGroup; and combining the LIF status information, the initiator access list of the IGroup, and the LIF access list of the port set to test the accessibility of the first LUN, when there is a port set associated with the IGroup.
    Type: Grant
    Filed: October 17, 2014
    Date of Patent: April 4, 2017
    Assignee: NETAPP, INC.
    Inventors: Sanjyoth Nandagudi Satish, Venu Madhava Gunda
  • Patent number: 9612768
    Abstract: Methods and systems for a storage server are provided. One method includes storing data at a first storage tier by a processor executable storage operating system; tracking the data stored at the first storage tier for moving the data to a second storage tier; transferring the data from the first storage tier to the second storage tier; and updating a data structure that tracks a transfer block number of a block that stores the data, where the transfer block number is based on a virtual identifier, a generation count and an offset value of a storage chunk that is a portion of a physical volume block number address space.
    Type: Grant
    Filed: July 23, 2015
    Date of Patent: April 4, 2017
    Assignee: NETAPP, INC.
    Inventors: Manish Katiyar, Ravikanth Dronamraju, Sunitha Sunil Sankar
  • Patent number: 9612918
    Abstract: Methods and systems for restoring storage objects are provided. The method includes determining if a source storage object and a target storage object are located within a same storage volume, where the source storage object is associated with a first drive and the target storage object is associated with a second drive; and using a point in time copy of the source storage object for restoring the source storage object at the second drive.
    Type: Grant
    Filed: October 17, 2014
    Date of Patent: April 4, 2017
    Assignee: NETAPP, INC.
    Inventors: Tarun Mehta, Venudhar Poluri
  • Patent number: 9613046
    Abstract: Updating a second cluster server that backs up a first cluster server includes retrieving a first metadata file from a first cluster server. The first metadata file includes a first ordered list of block identifiers for data blocks stored on a first plurality of block servers. The updating also includes retrieving a second metadata file from a second cluster server. The second metadata file includes a second ordered list of block identifiers for data blocks stored on a second plurality of block servers. The updating also includes comparing the first metadata file to the second metadata file to determine a difference list. The difference list includes block identifiers from the first ordered list that differ from block identifiers of the second ordered list. The updating also includes sending, to the first cluster server, a request for data blocks associated with the block identifiers from the difference list.
    Type: Grant
    Filed: December 14, 2015
    Date of Patent: April 4, 2017
    Assignee: NetApp, Inc.
    Inventors: Michael Xu, James M. Wilson
  • Patent number: 9612932
    Abstract: A method performed by a monitoring tool in a computer system, the method including: displaying a user interface including information regarding a first resource; running a correlation algorithm to determine whether other resources in the computer system show correlation for one or more performance metrics; selecting one or more other resources as suggestions based on results of the correlation algorithm; displaying selected resources in a list with the base resource and render a graph of performance metrics over time with performance data of the base resource and the suggested resources overlaid; and overlaying further performance data on the graph for a resource searched for, and selected by, the human user.
    Type: Grant
    Filed: June 20, 2014
    Date of Patent: April 4, 2017
    Assignee: NETAPP, INC.
    Inventors: Aashay Joshi, Ran Gilboa, Ophir Horn
  • Patent number: 9612751
    Abstract: A method and system for a provisioning advisor are described which estimates the input/output operation performance of a workload on a storage system. A regression module in a provisioning advisor estimates a maximum IOPS on the storage system for buckets, or combinations of values, for various characteristics of the workloads running on the system by modeling a relationship between the workload characteristics and performance metrics gathered from the storage system. A performance module can use the estimated maximum IOPS for each bucket to update a set of working tables for the provisioning advisor, which can then be used to predict the input/output performance of a new workload to be provisioned on the storage system.
    Type: Grant
    Filed: May 28, 2015
    Date of Patent: April 4, 2017
    Assignee: NETAPP, INC.
    Inventors: Jayanta Basak, Madhumita Bharde
  • Publication number: 20170093661
    Abstract: Methods and systems for a networked storage environment are provided. As an example, one method includes registering a resource model with an application programming interface (API) server, where the resource model includes information regarding a plurality of resources used for storing data in a networked storage system having a plurality of storage devices; executing a data source service by the API server for obtaining information regarding any of the plurality of resources of the networked storage system, where the data source service obtains information from different data sources associated with different storage system platform types; and in response to a request, providing information regarding any metrics that are used for monitoring the plurality of resources by the API server.
    Type: Application
    Filed: September 29, 2015
    Publication date: March 30, 2017
    Applicant: NETAPP, INC.
    Inventors: Ameet Deulgaonkar, Swaminathan Ramany, Subhabrata Sen
  • Publication number: 20170093983
    Abstract: The present application provides techniques to interrelate a group of multiple entities. A master entity makes configuration decisions regarding the group of entities and communicates those decisions to the entities. When the master relinquishes the master role, the retiring master selects a new master to accede to the master role. The retiring master releases the master role and ensures that the new master becomes aware of its assignment to the master role. During the time between when the retiring master abdicates and when the new master accedes, the group of entities is temporarily permitted to have no master. The master changes the configuration of the group of entities in a similar way. Using the techniques described herein, a new master may eventually replace the retiring master, and a new configuration may eventually replace the old configuration, without the risk of duplicating or dropping the master role or a configuration change.
    Type: Application
    Filed: October 30, 2015
    Publication date: March 30, 2017
    Applicant: NETAPP, INC.
    Inventors: Craig Everhart, Steven Ewing
  • Publication number: 20170093635
    Abstract: Methods and systems for a networked storage environment are provided. One method includes generating a resource model by a processor for storing attributes of a plurality of resources used for storing data in the networked storage system having a plurality of storage devices; identifying a relationship type by the processor between related resources of the plurality of resources; storing by the processor, relationship information as an attribute of the related resources in a shell structure that includes a link for accessing information regarding each related resource and is searchable by a unique resource identifier identifying each related resource; and populating the shell structure by the processor in response to a request for resource information for a related resource by updating the link with a relationship attribute that provides information regarding a relationship that the related resource has with another resource using the updated link from the shell structure.
    Type: Application
    Filed: September 29, 2015
    Publication date: March 30, 2017
    Applicant: NETAPP, INC.
    Inventors: Subhabrata Sen, Deepthi Shetty
  • Patent number: 9606918
    Abstract: Systems and methods for improving caching mechanisms in a storage system are disclosed. The method includes storing data associated with a write input/output (I/O) request at a cache; determining an amount of dirty data stored in the cache, where the dirty data is data in the cache that has not yet been written to a persistent storage location managed by a storage system; determining if the amount of dirty data exceeds a threshold value; determining a cache flush rate based on the amount of dirty data stored at the cache, when the amount of dirty data exceeds the threshold value; and writing data from the cache at the determined cache flush rate to the persistent storage location.
    Type: Grant
    Filed: October 20, 2016
    Date of Patent: March 28, 2017
    Assignee: NetApp Inc.
    Inventors: Randolph Wesley Sterns, Mark Edward Regester, Kevin Lee Kidney, Yulu Diao
  • Patent number: 9607065
    Abstract: A system and method for managing distributed coherent datasets using a hierarchical change log is provided. In some embodiments, a distributed storage system is provided that includes a primary storage device containing a primary dataset and a mirror storage device containing a mirror dataset. The mirror dataset includes a coherent copy of the primary dataset. The distributed storage system further includes a hierarchical change log tracking a coherence state for the mirror dataset. The hierarchical change log includes a first sub-log and a second sub-log, and a block range of the first sub-log overlaps a block range of the second sub-log. The hierarchical change log may define a priority relationship between the first sub-log and the second sub-log governing the overlap. The first sub-log and the second sub-log may be independently configured and may be different in one of a representation and a block size.
    Type: Grant
    Filed: April 26, 2013
    Date of Patent: March 28, 2017
    Assignee: NetApp, Inc.
    Inventors: Eric Bonnell, William Hetrick, Theresa Lynn Segura, Eric Keighin
  • Publication number: 20170083251
    Abstract: Methods and systems for a networked storage environment are provided. One method includes storing a plurality of configurable attributes at a data structure by a processor, where a combination of the configurable attributes is used to define a custom service level class (SLC) in a networked storage environments using a plurality of resources for storing data; receiving a request by the processor to create the custom SLC based of a set of configurable attributes; identifying a resource of the networked storage environment that meets the requirements defined by the attributes of the custom SLC; and configuring the resource for meeting the requirements of the custom SLC.
    Type: Application
    Filed: September 23, 2015
    Publication date: March 23, 2017
    Applicant: NETAPP, INC.
    Inventors: Rajeev Veerabhadra Karale, Chandan Kumar Bhuvanagiri, Rajath Ranganath, Bestin Jose, Matthew Douglas Robinson, Zacharia George
  • Publication number: 20170085644
    Abstract: Methods and systems for a networked storage environment are provided. One method includes storing at a storage device by a processor a data structure with information regarding a plurality of compatible software and hardware components configured to operate in a plurality of configurations as part of a storage solution for using resources at a networked storage environment for storing data, where the data structure stores information regarding relationships between a plurality of storage solutions using certain common hardware and software components; receiving a request for a compatible configuration; searching the data structure by the processor and providing a hint based on any existing relationship between components of the plurality of storage solutions and content of the request; and presenting the compatible configuration for using one or more resources of the networked storage environment.
    Type: Application
    Filed: September 22, 2015
    Publication date: March 23, 2017
    Applicant: NETAPP, INC.
    Inventors: Nirdosh Kumar Chouhan, Nibu Habel, Dhanesh Kumar Sharma, Kavya Srinivasan, Akshay Manchale Sridhar
  • Publication number: 20170083601
    Abstract: Methods and systems for a networked storage environment are provided. As an example, one method includes sorting by a processor, collected data having a plurality of entries associated with a plurality of data sources in the networked storage environment based on a filter, where each data source is a resource of the networked storage environment; generating by the processor a tag for tracking a number of entries collected for each data source to present a portion of the data in response to a first request; presenting by the processor, the tag and the portion of the data in response to the first request; and using the tag by the processor for retrieving other entries for presenting another portion of the data in response to another request.
    Type: Application
    Filed: September 22, 2015
    Publication date: March 23, 2017
    Applicant: NETAPP, INC.
    Inventors: Subhabrata Sen, Sandeep Putrevu, Dhivya Mohanasundaram
  • Patent number: 9600180
    Abstract: Methods, systems, and machine-readable medium are disclosed for creating and providing dynamic hierarchical navigation schemes in storage management systems. A mapping data structure is maintained to store hierarchical relationship mapping within a storage management system, allowing users to customize their interactions with the storage system. The method, includes receiving a user-defined navigation preference to view an attribute of a second storage object from a navigation screen defined for a first storage object; updating a mapping data structure for storing a hierarchical relationship of a second storage object, based on the user-defined navigation preference; and presenting the attribute of the second storage object at the navigation screen for the first storage object.
    Type: Grant
    Filed: October 17, 2014
    Date of Patent: March 21, 2017
    Assignee: NETAPP, INC.
    Inventors: Kishore Geddam, Sidhartha Sankar Sutar, Udit Khandelwal
  • Patent number: 9600315
    Abstract: The disclosed technique uses virtual machines in solving a problem of persistent state for storage protocols. The technique provides for seamless, persistent, storage protocol session state management on a server, for higher availability. A first virtual server is operated in an active role in a host system to serve a client, by using a stateful protocol between the first virtual server and the client. A second, substantially identical virtual server is maintained in a passive role. In response to a predetermined event, the second virtual server takes over for the first virtual server, while preserving state for a pending client request sent to the first virtual server in the stateful protocol. The method can further include causing the second virtual server to respond to the request before a timeout which is specific to the stateful protocol can occur.
    Type: Grant
    Filed: October 22, 2010
    Date of Patent: March 21, 2017
    Assignee: NETAPP, INC.
    Inventors: Kiran Srinivasan, Timothy C. Bisson