Patents by Inventor Farshid Eslami Sarab

Farshid Eslami Sarab 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: 10255287
    Abstract: A method and apparatus is disclosed herein for maintaining deduplication metadata on disk separate from an in-memory deduplication file system for a deduplication computing system. The method may include reading deduplication metadata from a first memory of a deduplication computing system. Furthermore, the method may include maintaining deduplicated data for a file system in a second memory, and maintaining the deduplication metadata that describes the deduplicated data of the file system in the first memory of the deduplication computing system, wherein the first memory is a different type of memory and separated from the second memory in the deduplication computing system. Furthermore, the method may include accessing the deduplication metadata in the second memory in response to receipt of a request by the deduplication computing system to perform a first operation with deduplicated data of the file system in the second memory.
    Type: Grant
    Filed: July 31, 2015
    Date of Patent: April 9, 2019
    Assignee: HIVEIO INC.
    Inventors: Farshid Eslami Sarab, Vikram Auradkar
  • Patent number: 10089183
    Abstract: A method and apparatus is disclosed herein for checking the consistency of deduplication metadata after an unclean shutdown of a deduplication computing system. The method may include mounting a deduplication file system of a deduplication computing system after an unclean shutdown of the deduplication computing system. Furthermore, the method may include initiating a reconstruction and consistency check of deduplication metadata associated with the deduplication file system. Furthermore, the method may include receiving a user operation prior to completion of the reconstruction and consistency check of the deduplication metadata, and processing the user operation in parallel with the reconstruction and consistency check of the deduplication metadata.
    Type: Grant
    Filed: July 31, 2015
    Date of Patent: October 2, 2018
    Assignee: HIVEIO INC.
    Inventor: Farshid Eslami Sarab
  • Patent number: 10089320
    Abstract: A method and apparatus is disclosed herein for maintaining data consistency in persistent memory in an in-place-update file system of a deduplication computing system. The method may include receiving a data write request to write a block of data from a volatile memory to a non-volatile memory in an in-place-update file system of deduplication computing system. Furthermore, the method may include determining whether the data write request is to perform an in-place update of an existing block in the non-volatile memory, and converting a type of write operation associated with the request from a requested write operation type to a new data allocation write operation when the data write request modifies the existing block. Furthermore, the method may include processing the new data allocation write operation to write the block of data from the volatile memory to the non-volatile memory using an ordered sequence of file system data journaling and writes to the non-volatile memory.
    Type: Grant
    Filed: July 31, 2015
    Date of Patent: October 2, 2018
    Assignee: HIVEIO INC.
    Inventor: Farshid Eslami Sarab
  • Patent number: 9842026
    Abstract: Various of the disclosed embodiments provide for recovery following inadvertent errors in a Log-Structured File System (LSFS). Particularly, embodiments mitigate inadvertent errors introduced by a file system consistency check operation by creating file system images at an appropriate time. The images may be stored within the portion of the file system accessible to a user. The images may be created in conjunction with the mounting of the file system and in such a fashion as to preserve the file system data should an error occur. Restoring the system to one of the images may remove any errors introduced by the consistency check, or similar, operation.
    Type: Grant
    Filed: December 31, 2013
    Date of Patent: December 12, 2017
    Assignee: NetApp, Inc.
    Inventor: Farshid Eslami Sarab
  • Publication number: 20170031946
    Abstract: A method and apparatus is disclosed herein for maintaining data consistency in persistent memory in an in-place-update file system of a deduplication computing system. The method may include receiving a data write request to write a block of data from a volatile memory to a non-volatile memory in an in-place-update file system of deduplication computing system. Furthermore, the method may include determining whether the data write request is to perform an in-place update of an existing block in the non-volatile memory, and converting a type of write operation associated with the request from a requested write operation type to a new data allocation write operation when the data write request modifies the existing block. Furthermore, the method may include processing the new data allocation write operation to write the block of data from the volatile memory to the non-volatile memory using an ordered sequence of file system data journaling and writes to the non-volatile memory.
    Type: Application
    Filed: July 31, 2015
    Publication date: February 2, 2017
    Inventor: Farshid Eslami Sarab
  • Publication number: 20170031945
    Abstract: A method and apparatus is disclosed herein for maintaining deduplication metadata on disk separate from an in-memory deduplication file system for a deduplication computing system. The method may include reading deduplication metadata from a first memory of a deduplication computing system. Furthermore, the method may include maintaining deduplicated data for a file system in a second memory, and maintaining the deduplication metadata that describes the deduplicated data of the file system in the first memory of the deduplication computing system, wherein the first memory is a different type of memory and separated from the second memory in the deduplication computing system. Furthermore, the method may include accessing the deduplication metadata in the second memory in response to receipt of a request by the deduplication computing system to perform a first operation with deduplicated data of the file system in the second memory.
    Type: Application
    Filed: July 31, 2015
    Publication date: February 2, 2017
    Inventors: Farshid Eslami Sarab, Vikram Auradkar
  • Publication number: 20170031768
    Abstract: A method and apparatus is disclosed herein for checking the consistency of deduplication metadata after an unclean shutdown of a deduplication computing system. The method may include mounting a deduplication file system of a deduplication computing system after an unclean shutdown of the deduplication computing system. Furthermore, the method may include initiating a reconstruction and consistency check of deduplication metadata associated with the deduplication file system. Furthermore, the method may include receiving a user operation prior to completion of the reconstruction and consistency check of the deduplication metadata, and processing the user operation in parallel with the reconstruction and consistency check of the deduplication metadata.
    Type: Application
    Filed: July 31, 2015
    Publication date: February 2, 2017
    Inventor: Farshid Eslami Sarab
  • Patent number: 9389787
    Abstract: A persistent random-access, byte-addressable storage device may be simulated on a persistent random-access, block-addressable storage device of a storage system configured to enable asynchronous buffered access to information persistently stored on the block-addressable device. Buffered access to the information is provided, in part, by a portion of kernel memory within the storage system allocated as a staging area for the simulated byte-addressable storage device to temporarily store the information destined for persistent storage. One or more asynchronous interfaces may be employed by a user of the simulated byte-addressable device to pass metadata describing the information to a driver of the device, which may process the metadata to copy the information to the staging area. The driver may organize the staging area as one or more regions to facilitate buffering of the information (data) prior to persistent storage on the block-addressable storage device.
    Type: Grant
    Filed: May 15, 2014
    Date of Patent: July 12, 2016
    Assignee: NetApp, Inc.
    Inventors: Brian S. McCarthy, Donna M. Duffy, Farshid Eslami Sarab, Tabriz Holtz, Afshin Salek Ardakani
  • Patent number: 9372767
    Abstract: A recovery consumer framework provides for execution of recovery actions by one or more recovery consumers to enable efficient recovery of information (e.g., data and metadata) in a storage system after a failure event (e.g., a power failure). The recovery consumer framework permits concurrent execution of recovery actions so as to reduce recovery time (i.e., duration) for the storage system. The recovery consumer framework may coordinate (e.g., notify) the recovery consumers to serialize execution of the recovery actions by those recovery consumers having a dependency while allowing concurrent execution between recovery consumers having no dependency relationship. Each recovery consumer may register with the framework to associate a dependency on one or more of the other recovery consumers. The dependency association may be represented as a directed graph where each vertex of the graph represents a recovery consumer and each directed edge of the graph represents a dependency. The framework may traverse (i.e.
    Type: Grant
    Filed: June 6, 2014
    Date of Patent: June 21, 2016
    Assignee: NetApp, Inc.
    Inventors: Tabriz Holtz, Neha Kapoor, Farshid Eslami Sarab, Afshin Salek Ardakani, Tara Faith Olson, Asif Imtiyaz Pathan, Prahlad Purohit
  • Publication number: 20150355985
    Abstract: A recovery consumer framework provides for execution of recovery actions by one or more recovery consumers to enable efficient recovery of information (e.g., data and metadata) in a storage system after a failure event (e.g., a power failure). The recovery consumer framework permits concurrent execution of recovery actions so as to reduce recovery time (i.e., duration) for the storage system. The recovery consumer framework may coordinate (e.g., notify) the recovery consumers to serialize execution of the recovery actions by those recovery consumers having a dependency while allowing concurrent execution between recovery consumers having no dependency relationship. Each recovery consumer may register with the framework to associate a dependency on one or more of the other recovery consumers. The dependency association may be represented as a directed graph where each vertex of the graph represents a recovery consumer and each directed edge of the graph represents a dependency. The framework may traverse (i.e.
    Type: Application
    Filed: June 6, 2014
    Publication date: December 10, 2015
    Inventors: Tabriz Holtz, Neha Kapoor, Farshid Eslami Sarab, Afshin Salek Ardakani, Tara Faith Olson, Asif Imtiyaz Pathan, Prahlad Purohit
  • Publication number: 20150331607
    Abstract: A persistent random-access, byte-addressable storage device may be simulated on a persistent random-access, block-addressable storage device of a storage system configured to enable asynchronous buffered access to information persistently stored on the block-addressable device. Buffered access to the information is provided, in part, by a portion of kernel memory within the storage system allocated as a staging area for the simulated byte-addressable storage device to temporarily store the information destined for persistent storage. One or more asynchronous interfaces may be employed by a user of the simulated byte-addressable device to pass metadata describing the information to a driver of the device, which may process the metadata to copy the information to the staging area. The driver may organize the staging area as one or more regions to facilitate buffering of the information (data) prior to persistent storage on the block-addressable storage device.
    Type: Application
    Filed: May 15, 2014
    Publication date: November 19, 2015
    Applicant: NetApp, Inc.
    Inventors: Brian S. McCarthy, Donna M. Duffy, Farshid Eslami Sarab, Tabriz Holtz, Afshin Salek Ardakani
  • Publication number: 20150186217
    Abstract: Various of the disclosed embodiments provide for recovery following inadvertent errors in a Log-Structured File System (LSFS). Particularly, embodiments mitigate inadvertent errors introduced by a file system consistency check operation by creating file system images at an appropriate time. The images may be stored within the portion of the file system accessible to a user. The images may be created in conjunction with the mounting of the file system and in such a fashion as to preserve the file system data should an error occur. Restoring the system to one of the images may remove any errors introduced by the consistency check, or similar, operation.
    Type: Application
    Filed: December 31, 2013
    Publication date: July 2, 2015
    Inventor: Farshid Eslami Sarab
  • Publication number: 20130091101
    Abstract: Methods and a processing system directed to a network assisted file system checker are described. In one embodiment the checker system is a network assisted checker that employs virtual storage devices that is storage is backed by files, and optionally the files backing the virtual storage devices may be remote files accessed over a network through a network file sharing protocol such as, but not limited to, NFS or CIFS. A device driver module introduces the virtual storage device to the local operating system supporting the checker process, and the device driver maps read and write requests made by the checker process to the virtual storage device onto files being supported by the network file sharing system.
    Type: Application
    Filed: October 5, 2011
    Publication date: April 11, 2013
    Applicant: NetApp, Inc.
    Inventors: Farshid Eslami Sarab, Nicholas Zehender