Patents by Inventor Ashish Prakash

Ashish Prakash has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9477420
    Abstract: Partially overwriting a compression group without decompressing compressed data can consumption of resources for the decompression. A storage server partially overwrites the compression group when a file block identifier of a client's write request resolves to the compression group. The compression group remains compressed while the partial overwriting is performed.
    Type: Grant
    Filed: May 23, 2014
    Date of Patent: October 25, 2016
    Assignee: NetApp, Inc.
    Inventors: Sandeep Yadav, Rickard E. Faith, Subramaniam V. Periyagaram, Blake H. Lewis, Ashish Prakash
  • Patent number: 9418015
    Abstract: Among other things, one or more techniques and/or systems are provided for storing data within a hybrid storage aggregate comprising a lower-latency storage tier and a higher-latency storage tier. In particular, frequently accessed data, randomly accessed data, and/or short lived data may be stored (e.g., read caching and/or write caching) within the lower-latency storage tier. Infrequently accessed data and/or sequentially accessed data may be stored within the higher-latency storage tier. Because the hybrid storage aggregate may comprise a single logical container derived from the higher-latency storage tier and the lower-latency storage tier, additional storage and/or file system functionality may be implemented across the storage tiers. For example, deduplication functionality, caching functionality, backup/restore functionality, and/or other functionality may be provided through a single file system (or other type of arrangement) and/or a cache map implemented within the hybrid storage aggregate.
    Type: Grant
    Filed: April 24, 2015
    Date of Patent: August 16, 2016
    Assignee: NetApp, Inc.
    Inventors: Rajesh Sundaram, Douglas Paul Doucette, David Grunwald, Jeffrey S. Kimmel, Ashish Prakash
  • Patent number: 9152600
    Abstract: A network caching system has a multi-protocol caching filer coupled to an origin server to provide storage virtualization of data served by the filer in response to data access requests issued by multi-protocol clients over a computer network. The multi-protocol caching filer includes a file system configured to manage a sparse volume that “virtualizes” a storage space of the data to thereby provide a cache function that enables access to data by the multi-protocol clients. To that end, the caching filer further includes a multi-protocol engine configured to translate the multi-protocol client data access requests into generic file system primitive operations executable by both the caching filer and the origin server.
    Type: Grant
    Filed: July 18, 2013
    Date of Patent: October 6, 2015
    Assignee: NetApp, Inc.
    Inventors: Jason Ansel Lango, Robert M. English, Paul Christopher Eastham, Qinghua Zheng, Brian Mederic Quirion, Peter Griess, Matthew Benjamin Amdur, Kartik Ayyar, Robert Lieh-Yuan Tsai, David Grunwald, J. Chris Wagner, Emmanuel Ackaouy, Ashish Prakash
  • Patent number: 9128942
    Abstract: Many applications and computing environments allow users to migrate data from a source object to a target object (e.g., a file may be cut/pasted, copied, etc.). It may be advantageous to provide users with access to the data (e.g., migrated data at the target object and/or data that has yet to be migrated from the source object) before all of the data is completely migrated (e.g., a user may otherwise have to wait hours for a 2 TB file to be copied between various data volumes). Accordingly, as provided herein, migration of a source object to a target object may be declared as completed, even though the target object may not comprise all of the data that is to be migrated. In this way, an I/O request may be satisfied based upon migrated data within the target object and/or data, not yet migrated, retrieved on-demand from the source object.
    Type: Grant
    Filed: December 24, 2010
    Date of Patent: September 8, 2015
    Assignee: NetApp, Inc.
    Inventors: Jeffrey Pfau, Devang K. Shah, Amber Palekar, Ashish Prakash
  • Publication number: 20150227465
    Abstract: Among other things, one or more techniques and/or systems are provided for storing data within a hybrid storage aggregate comprising a lower-latency storage tier and a higher-latency storage tier. In particular, frequently accessed data, randomly accessed data, and/or short lived data may be stored (e.g., read caching and/or write caching) within the lower-latency storage tier. Infrequently accessed data and/or sequentially accessed data may be stored within the higher-latency storage tier. Because the hybrid storage aggregate may comprise a single logical container derived from the higher-latency storage tier and the lower-latency storage tier, additional storage and/or file system functionality may be implemented across the storage tiers. For example, deduplication functionality, caching functionality, backup/restore functionality, and/or other functionality may be provided through a single file system (or other type of arrangement) and/or a cache map implemented within the hybrid storage aggregate.
    Type: Application
    Filed: April 24, 2015
    Publication date: August 13, 2015
    Inventors: Rajesh Sundaram, Douglas Paul Doucette, David Grunwald, Jeffrey S. Kimmel, Ashish Prakash
  • Patent number: 9043287
    Abstract: It is determined that a first data block contains the same data as a second data block. The first data block is associated with a first extent and the second data block is associated with a second extent. In response to determining that the first data block contains the same data as the second data block, the second data block is associated with the first extent and the first data block is disassociated with the second extent.
    Type: Grant
    Filed: November 22, 2013
    Date of Patent: May 26, 2015
    Assignee: NetApp, Inc.
    Inventors: Subramaniam Periyagaram, Sandeep Yadav, Blake Lewis, Rickard E. Faith, Ashish Prakash, Ram Kesavan, Ananthan Subramanian
  • Patent number: 9043530
    Abstract: Among other things, one or more techniques and/or systems are provided for storing data within a hybrid storage aggregate comprising a lower-latency storage tier and a higher-latency storage tier. In particular, frequently accessed data, randomly accessed data, and/or short lived data may be stored (e.g., read caching and/or write caching) within the lower-latency storage tier. Infrequently accessed data and/or sequentially accessed data may be stored within the higher-latency storage tier. Because the hybrid storage aggregate may comprise a single logical container derived from the higher-latency storage tier and the lower-latency storage tier, additional storage and/or file system functionality may be implemented across the storage tiers. For example, deduplication functionality, caching functionality, backup/restore functionality, and/or other functionality may be provided through a single file system (or other type of arrangement) and/or a cache map implemented within the hybrid storage aggregate.
    Type: Grant
    Filed: April 9, 2012
    Date of Patent: May 26, 2015
    Assignee: NetApp, Inc.
    Inventors: Rajesh Sundaram, Douglas Paul Doucette, David Grunwald, Jeffrey S. Kimmel, Ashish Prakash
  • Patent number: 8924440
    Abstract: An extent-based storage architecture is implemented by a storage server receiving a read request for an extent from a client, wherein the extent includes a group of contiguous blocks and the read request includes a file block number. The storage server retrieves an extent identifier from a first sorted data structure, wherein the storage server uses the received file block number to traverse the first sorted data structure to the extent identifier. The storage server retrieves a reference to the extent from a second sorted data structure, wherein the storage server uses the retrieved extent identifier to traverse the second sorted data structure to the reference, and wherein the second sorted data structure is global across a plurality of volumes. The storage server retrieves the extent from a storage device using the reference and returns the extent to the client.
    Type: Grant
    Filed: August 15, 2013
    Date of Patent: December 30, 2014
    Assignee: NetApp, Inc.
    Inventors: Rickard E. Faith, Subramaniam Perivagaram, Sandeep Yadav, Ashish Prakash, Blake Lewis, Jeffrey S. Kimmel, Stephen Daniel
  • Patent number: 8918378
    Abstract: An extent-based storage architecture is implemented by a storage server. The storage server generates a new extent identifier for cloning a source extent identified by a source extent identifier and stored at a source data structure that includes a length value providing a length of the source extent, an offset value and a reference count value that provides a number of data containers that reference the source extent identifier. The storage server updates a data structure for a cloned version of the data container for storing the new extent identifier that points to the source extent identifier and includes an extent length value and offset value different from length value and the offset value of the source data structure.
    Type: Grant
    Filed: August 31, 2011
    Date of Patent: December 23, 2014
    Assignee: NetApp, Inc.
    Inventors: Rickard E. Faith, Subramaniam Periyagaram, Sandeep Yadav, Ashish Prakash, Blake Lewis
  • Publication number: 20140258648
    Abstract: Overwriting part of compressed data without decompressing on-disk compressed data is includes by receiving a write request for a block of data in a compression group from a client, wherein the compression group comprises a group of data blocks that is compressed, wherein the block of data is uncompressed. The storage server partially overwrites the compression group, wherein the compression group remains compressed while the partial overwriting is performed. The storage server determines whether the partially overwritten compression group including the uncompressed block of data should be compressed. The storage server defers compression of the partially overwritten compression group if the partially overwritten compression group should not be compressed. The storage server compresses the partially overwritten compression group if the partially overwritten compression group should be compressed.
    Type: Application
    Filed: May 23, 2014
    Publication date: September 11, 2014
    Applicant: NetApp, Inc.
    Inventors: Sandeep Yadav, Rickard E. Faith, Subramaniam Periyagaram, Blake Lewis, Ashish Prakash
  • Publication number: 20140201168
    Abstract: A request is received to remove duplicate data. A log data container associated with a storage volume in a storage server is accessed. The log data container includes a plurality of entries. Each entry is identified by an extent identifier in a data structures stored in a volume associated with the storage server. For each entry in the log data container, a determination is made if the entry matches another entry in the log data container. If the entry matches another entry in the log data container, a determination is made of a donor extent and a recipient extent. If an external reference count associated with the recipient extent equals a first predetermined value, block sharing is performed for the donor extent and the recipient extent. A determination is made if the reference count of the donor extent equals a second predetermined value. If the reference count of the donor extent equals the second predetermined value, the donor extent is freed.
    Type: Application
    Filed: November 22, 2013
    Publication date: July 17, 2014
    Applicant: NetApp, Inc.
    Inventors: Subramaniam Periyagaram, Sandeep Yadav, Blake Lewis, Rickard E. Faith, Ashish Prakash, Ram Kesavan, Ananthan Subramanian
  • Publication number: 20140172928
    Abstract: An extent-based storage architecture is implemented by a storage server receiving a read request for an extent from a client, wherein the extent includes a group of contiguous blocks and the read request includes a file block number. The storage server retrieves an extent identifier from a first sorted data structure, wherein the storage server uses the received file block number to traverse the first sorted data structure to the extent identifier. The storage server retrieves a reference to the extent from a second sorted data structure, wherein the storage server uses the retrieved extent identifier to traverse the second sorted data structure to the reference, and wherein the second sorted data structure is global across a plurality of volumes. The storage server retrieves the extent from a storage device using the reference and returns the extent to the client.
    Type: Application
    Filed: August 15, 2013
    Publication date: June 19, 2014
    Applicant: NetApp. Inc.
    Inventors: Richard E. Faith, Subramaniam Perivagaram, Sandeep Yadav, Ashish Prakash, Blake Lewis, Jeff Kimmel, Steve Daniel
  • Patent number: 8745338
    Abstract: Overwriting part of compressed data without decompressing on-disk compressed data is implemented by receiving a write request for a block of data in a compression group from a client, wherein the compression group comprises a group of data blocks that is compressed, wherein the block of data is uncompressed. The storage server partially overwrites the compression group, wherein the compression group remains compressed while the partial overwriting is performed. The storage server determines whether the partially overwritten compression group including the uncompressed block of data should be compressed. The storage server defers compression of the partially overwritten compression group if the partially overwritten compression group should not be compressed. The storage server compresses the partially overwritten compression group if the partially overwritten compression group should be compressed.
    Type: Grant
    Filed: May 2, 2011
    Date of Patent: June 3, 2014
    Assignee: NetApp, Inc.
    Inventors: Sandeep Yadav, Rickard E. Faith, Subramaniam Periyagaram, Blake Lewis, Ashish Prakash
  • Patent number: 8626866
    Abstract: A network caching system has a multi-protocol caching filer coupled to an origin server to provide storage virtualization of data served by the filer in response to data access requests issued by multi-protocol clients over a computer network. The multi-protocol caching filer includes a file system configured to manage a sparse volume that “virtualizes” a storage space of the data to thereby provide a cache function that enables access to data by the multi-protocol clients. To that end, the caching filer further includes a multi-protocol engine configured to translate the multi-protocol client data access requests into generic file system primitive operations executable by both the caching filer and the origin server.
    Type: Grant
    Filed: August 10, 2011
    Date of Patent: January 7, 2014
    Assignee: NetApp, Inc.
    Inventors: Jason Ansel Lango, Robert M. English, Paul Christopher Eastham, Qinghua Zheng, Brian Mederic Quirion, Peter Griess, Matthew Benjamin Amdur, Kartik Ayyar, Robert Lieh-Yuan Tsai, David Grunwald, J. Chris Wagner, Emmanuel Ackaouy, Ashish Prakash
  • Patent number: 8600949
    Abstract: A request is received to remove duplicate data. A log data container associated with a storage volume in a storage server is accessed. The log data container includes a plurality of entries. Each entry is identified by an extent identifier in a data structures stored in a volume associated with the storage server. For each entry in the log data container, a determination is made if the entry matches another entry in the log data container. If the entry matches another entry in the log data container, a determination is made of a donor extent and a recipient extent. If an external reference count associated with the recipient extent equals a first predetermined value, block sharing is performed for the donor extent and the recipient extent. A determination is made if the reference count of the donor extent equals a second predetermined value. If the reference count of the donor extent equals the second predetermined value, the donor extent is freed.
    Type: Grant
    Filed: June 21, 2011
    Date of Patent: December 3, 2013
    Assignee: NetApp, Inc.
    Inventors: Subramaniam Periyagaram, Sandeep Yadav, Blake Lewis, Rickard E. Faith, Ashish Prakash, Ram Kesavan, Ananthan Subramanian
  • Publication number: 20130304844
    Abstract: A network caching system has a multi-protocol caching filer coupled to an origin server to provide storage virtualization of data served by the filer in response to data access requests issued by multi-protocol clients over a computer network. The multi-protocol caching filer includes a file system configured to manage a sparse volume that “virtualizes” a storage space of the data to thereby provide a cache function that enables access to data by the multi-protocol clients. To that end, the caching filer further includes a multi-protocol engine configured to translate the multi-protocol client data access requests into generic file system primitive operations executable by both the caching filer and the origin server.
    Type: Application
    Filed: July 18, 2013
    Publication date: November 14, 2013
    Applicant: NetApp, Inc.
    Inventors: Jason Ansel Lango, Robert M. English, Paul Christopher Eastham, Qinghua Zheng, Brian Mederic Quirion, Peter Griess, Matthew Benjamin Amdur, Kartik Ayyar, Robert Lieh-Yuan Tsai, David Grunwald, J. Chris Wagner, Emmanuel Ackaouy, Ashish Prakash
  • Patent number: 8539008
    Abstract: An extent-based storage architecture is implemented by a storage server receiving a read request for an extent from a client, wherein the extent includes a group of contiguous blocks and the read request includes a file block number. The storage server retrieves an extent identifier from a first sorted data structure, wherein the storage server uses the received file block number to traverse the first sorted data structure to the extent identifier. The storage server retrieves a reference to the extent from a second sorted data structure, wherein the storage server uses the retrieved extent identifier to traverse the second sorted data structure to the reference, and wherein the second sorted data structure is global across a plurality of volumes. The storage server retrieves the extent from a storage device using the reference and returns the extent to the client.
    Type: Grant
    Filed: April 29, 2011
    Date of Patent: September 17, 2013
    Assignee: NetApp, Inc.
    Inventors: Rickard E. Faith, Subramaniam Periyagaram, Sandeep Yadav, Ashish Prakash, Blake Lewis, Jeff Kimmel, Steve Daniel
  • Patent number: 8478835
    Abstract: The data path in a network storage system is streamlined by sharing a memory among multiple functional modules (e.g., N-module and D-module) of a storage server that facilitates symmetric access to data from multiple clients. The shared memory stores data from clients or storage devices to facilitate communication of data between clients and storage devices and/or between functional modules, and reduces redundant copies necessary for data transport. It reduces latency and improves throughput efficiencies by minimizing data copies and using hardware assisted mechanisms such as DMA directly from host bus adapters over an interconnection, e.g. switched PCI-e “network”. This scheme is well suited for a “SAN array” architecture, but also can be applied to NAS protocols or in a unified protocol-agnostic storage system. The storage system can provide a range of configurations ranging from dual module to many modules with redundant switched fabrics for I/O, CPU, memory, and disk connectivity.
    Type: Grant
    Filed: July 17, 2008
    Date of Patent: July 2, 2013
    Assignee: NetApp. Inc.
    Inventors: Jeffrey S. Kimmel, Steve C. Miller, Ashish Prakash
  • Publication number: 20120330903
    Abstract: A request is received to remove duplicate data. A log data container associated with a storage volume in a storage server is accessed. The log data container includes a plurality of entries. Each entry is identified by an extent identifier in a data structures stored in a volume associated with the storage server. For each entry in the log data container, a determination is made if the entry matches another entry in the log data container. If the entry matches another entry in the log data container, a determination is made of a donor extent and a recipient extent. If an external reference count associated with the recipient extent equals a first predetermined value, block sharing is performed for the donor extent and the recipient extent. A determination is made if the reference count of the donor extent equals a second predetermined value. If the reference count of the donor extent equals the second predetermined value, the donor extent is freed.
    Type: Application
    Filed: June 21, 2011
    Publication date: December 27, 2012
    Inventors: Subramaniam Periyagaram, Sandeep Yadav, Blake Lewis, Rickard E. Faith, Ashish Prakash, Ram Kesavan, Ananthan Subramanian
  • Publication number: 20120278382
    Abstract: An extent-based storage architecture is implemented by a storage server receiving a read request for an extent from a client, wherein the extent includes a group of contiguous blocks and the read request includes a file block number. The storage server retrieves an extent identifier from a first sorted data structure, wherein the storage server uses the received file block number to traverse the first sorted data structure to the extent identifier. The storage server retrieves a reference to the extent from a second sorted data structure, wherein the storage server uses the retrieved extent identifier to traverse the second sorted data structure to the reference, and wherein the second sorted data structure is global across a plurality of volumes. The storage server retrieves the extent from a storage device using the reference and returns the extent to the client.
    Type: Application
    Filed: April 29, 2011
    Publication date: November 1, 2012
    Inventors: Rickard E. Faith, Subramaniam Periyagaram, Sandeep Yadav, Ashish Prakash, Blake Lewis, Jeff Kimmel, Steve Daniel