Patents by Inventor Timothy C. Bisson

Timothy C. Bisson 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: 11392544
    Abstract: A solid-state drive (SSD) includes: a plurality of data blocks; a plurality of flash channels and a plurality of ways to access the plurality of data blocks; and an SSD controller that configures a block size of the plurality of data blocks. A data file is stored in the SSD with one or more key-values pairs, and each key-value pair has a block identifier as a key and a block data as a value. A size of the data file is equal to the block size or a multiple of the block size.
    Type: Grant
    Filed: March 23, 2018
    Date of Patent: July 19, 2022
    Inventors: Timothy C. Bisson, Anahita Shayesteh, Changho Choi
  • Publication number: 20190243906
    Abstract: A solid-state drive (SSD) includes: a plurality of data blocks; a plurality of flash channels and a plurality of ways to access the plurality of data blocks; and an SSD controller that configures a block size of the plurality of data blocks. A data file is stored in the SSD with one or more key-values pairs, and each key-value pair has a block identifier as a key and a block data as a value. A size of the data file is equal to the block size or a multiple of the block size.
    Type: Application
    Filed: March 23, 2018
    Publication date: August 8, 2019
    Inventors: Timothy C. Bisson, Anahita Shayesteh, Changho Choi
  • 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
  • Patent number: 9135043
    Abstract: A high-performance device interface (HPDI) provides flexible and high-performance access by applications residing in a Virtual Machine (VM) to high-performance devices. The technique enables VM applications to use a single interface even when multiple device drivers exist, and can pass data efficiently between a VM application and a front-end device driver (a device driver implemented in a VM, such as may be used in a paravirtualization environment). It improves overall performance of a VM by reducing the copying of data during communications between a VM application and a front-end device driver, which reduces processor and memory usage.
    Type: Grant
    Filed: September 28, 2010
    Date of Patent: September 15, 2015
    Assignee: NetApp, Inc.
    Inventors: Kiran Srinivasan, Timothy C. Bisson
  • Patent number: 8930648
    Abstract: Techniques for a data storage cluster and a method for deduplicating data in the data storage cluster in a scalable manner, by (among other things) using an epoch-based global chunk data structure, are disclosed herein. A global chunk data structure for an epoch is distributed and maintained at a plurality of metadata nodes within the data storage cluster. Fingerprints and identifiers of data chunks are written to the cluster after a particular epoch are written to delta chunk data structures stored in different metadata nodes of the cluster. When the data storage cluster advances to the next epoch, the global chunk data structure is updated using the delta chunk data structures. At any given time, data deduplication in the data storage cluster can be conducted based on the global chunk data structure for the current epoch.
    Type: Grant
    Filed: May 23, 2012
    Date of Patent: January 6, 2015
    Assignee: NetApp, Inc.
    Inventors: Mark Walter Storer, Timothy C. Bisson, Shankar Pasupathy
  • Patent number: 8782028
    Abstract: A method and apparatus for proxying search requests for a storage system and maintaining a central index for performing the search requests is described herein. An index manager on the storage system may initially produce the central index by examining each file in a file system and update the central index thereafter by examining only those files that have changed since the central index was initially produced or last updated. The index manager may receive a changed file list from a differencing layer configured for comparing snapshots of the file system at different time points to produce changed file lists. A search proxy module may receive search requests in a search protocol and proxy the search requests to a search engine by converting the search requests to another search protocol compatible with the search engine. The search engine may then use the central index for performing the search request.
    Type: Grant
    Filed: April 12, 2012
    Date of Patent: July 15, 2014
    Assignee: Netapp, Inc.
    Inventors: Shankar Pasupathy, Timothy C. Bisson, Nam M. Le
  • Patent number: 8386446
    Abstract: A method and apparatus for proxying search requests for a storage system and maintaining a central index for performing the search requests is described herein. An index manager on the storage system may initially produce the central index by examining each file in a file system and update the central index thereafter by examining only those files that have changed since the central index was initially produced or last updated. The index manager may receive a changed file list from a differencing layer configured for comparing snapshots of the file system at different time points to produce changed file lists. A search proxy module may receive search requests in a search protocol and proxy the search requests to a search engine by converting the search requests to another search protocol compatible with the search engine. The search engine may then use the central index for performing the search request.
    Type: Grant
    Filed: October 26, 2009
    Date of Patent: February 26, 2013
    Assignee: NetApp, Inc.
    Inventors: Shankar Pasupathy, Timothy C. Bisson, Nam M. Le
  • Patent number: 8171064
    Abstract: Methods and systems for concurrently reading direct and indirect data blocks of a data object stored in a network storage server system. In one embodiment, upon receiving a request to read a data object, the storage server identifies a location of an indirect data-block of the data object and a total number of direct data-blocks associated with the data object. Using this information, the storage server concurrently reads, using a single read operation, both the indirect data-block and a specific number of data blocks that are contiguous with the location of the indirect data-block. The specific number is commensurate with the total number of direct-data blocks associated with the data object. In one embodiment, the storage server verifies whether the data object is represented using a contiguous-mode layout scheme before performing the concurrent single-read operation to read the data object.
    Type: Grant
    Filed: September 1, 2009
    Date of Patent: May 1, 2012
    Assignee: NetApp, Inc.
    Inventors: Gaurav Makkar, Timothy C. Bisson
  • Publication number: 20120102135
    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: Application
    Filed: October 22, 2010
    Publication date: April 26, 2012
    Applicant: NetApp, Inc.
    Inventors: Kiran Srinivasan, Timothy C. Bisson
  • Patent number: 8078653
    Abstract: A network storage server implements a method to perform fast crawling of a hierarchical storage structure. The hierarchical storage structure contains data entities stored by a network storage server. The hierarchical storage structure can be recursively divided into a plurality of sections. A plurality of parallel-processing threads can be used to process the plurality of sections. Each thread selects and processes one of the plurality of sections at a time to generate a sorted list of metadata corresponding to the section of the hierarchical storage structure. The sorted lists generated by the plurality of threads are merged to a baseline list. The baseline list contains sorted metadata for entities managed by the hierarchical storage structure. The baseline list can then be outputted as a representation of the state of data stored by the network storage server.
    Type: Grant
    Filed: October 7, 2008
    Date of Patent: December 13, 2011
    Assignee: NetApp, Inc.
    Inventors: Timothy C. Bisson, Shankar Pasupathy, Yuvraj Patel
  • Publication number: 20110055261
    Abstract: Methods and systems for concurrently reading direct and indirect data blocks of a data object stored in a network storage server system. In one embodiment, upon receiving a request to read a data object, the storage server identifies a location of an indirect data-block of the data object and a total number of direct data-blocks associated with the data object. Using this information, the storage server concurrently reads, using a single read operation, both the indirect data-block and a specific number of data blocks that are contiguous with the location of the indirect data-block. The specific number is commensurate with the total number of direct-data blocks associated with the data object. In one embodiment, the storage server verifies whether the data object is represented using a contiguous-mode layout scheme before performing the concurrent single-read operation to read the data object.
    Type: Application
    Filed: September 1, 2009
    Publication date: March 3, 2011
    Applicant: NetApp, Inc.
    Inventors: Gaurav Makkar, Timothy C. Bisson
  • Patent number: 7562077
    Abstract: An apparatus to compare two datasets, each of which includes multiple data blocks, includes a comparison unit and a report generator. The comparison unit identifies block-level differences therebetween, by comparing block-level metadata between the first and second datasets, without comparing the contents of the data blocks. The report generator generates a human-readable report of the differences between the first and second version of the dataset, including the differences in individual data blocks between the first and second version of the dataset.
    Type: Grant
    Filed: March 28, 2005
    Date of Patent: July 14, 2009
    Assignee: NetApp, Inc.
    Inventors: Timothy C. Bisson, Stephen L. Manley, Ling Zheng