Patents by Inventor Surendra Verma

Surendra Verma 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).

  • Publication number: 20140304550
    Abstract: Aspects of the subject matter described herein relate to error detection for files. In aspects, before allowing updates to a clean file, a flag marking the file as dirty is written to non-volatile storage. Thereafter, the file may be updated as long as desired. Periodically or at some other time, the file may be marked as clean after all outstanding updates to the file and error codes associated with the file are written to storage. While waiting for outstanding updates and error codes to be written to storage, if additional requests to update the file are received, the file may be marked as dirty again prior to allowing the additional requests to update the file. The request to write a clean flag regarding the file may be done lazily.
    Type: Application
    Filed: June 20, 2014
    Publication date: October 9, 2014
    Inventors: Thomas J. Miller, Jonathan M. Cargille, William R. Tipton, Surendra Verma
  • Publication number: 20140297987
    Abstract: A thinly provisioned storage system detects whether physical storage capacity is available when there is a request to allocate storage capacity, prior to data being written to the storage system. In particular, at the time when the file system allocates storage, such as when creating a file or performing an extending write (append) operation, allocating storage to an unallocated region of a sparse file, defragmenting a file, and the like, a storage system can verify that actual physical storage capacity is available. Thus, if there is insufficient actual physical capacity at the time when a storage allocation is attempted, then an error message can be sent and remedial action can be taken.
    Type: Application
    Filed: March 28, 2013
    Publication date: October 2, 2014
    Applicant: Microsoft Corporation
    Inventors: Matt Garson, Neal Christiansen, Sarosh Havewala, Shiv Rajpal, Karan Mehra, Surendra Verma, Daniel Chan
  • Publication number: 20140279895
    Abstract: Resiliency techniques for a virtual disk are described that enable user control over storage efficiency and recovery time. Configuration parameters for a virtual disk are obtained that indicate a number of available storage devices and a specified tolerance for storage device failures. A default configuration for the virtual disk that designates a default amount of redundancy data to store with client data to balance storage efficiency and recovery time is derived based on the configuration parameters. Options may then be provided to specify a custom configuration that changes the amount of redundancy data to customize the level of storage efficiency and recovery time. The virtual disk is configured and data is stored thereon in accordance with the default configuration or the custom configuration as directed by the user.
    Type: Application
    Filed: March 14, 2013
    Publication date: September 18, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Karan Mehra, Erik G. Hortsch, Surendra Verma
  • Publication number: 20140280397
    Abstract: A system in which a file system may operate on a volume in which the logical address extent of the volume is divided into multiple tiers, each tier providing storage having a distinct trait set by mapping the logical addresses of the volume to appropriate underlying storage systems. A volume system exposes the volume to the file system in a manner that the file system itself has awareness of the tiers, and is aware of the trait sets of each tier. The file system may thus store file system namespaces (such as directories and files) into the tiers as appropriate for the file system namespace. A provisioning system may also be provided and be configured to provision the volume to include such tiers, and if desired, to extend the tiers.
    Type: Application
    Filed: March 14, 2013
    Publication date: September 18, 2014
    Applicant: Mocrosoft Corporation
    Inventors: Shiv Rajpal, Juan-Lee Pang, Sarosh Cyrus Havewala, Surendra Verma, Karan Mehra, Bryan Stephen Matthew, Neal Robert Christiansen, Andrew Herron
  • Publication number: 20140281692
    Abstract: Techniques for recovery and redistribution of data from a virtual disk storage system are described herein. In one or more implementations, a storage scheme derived for a virtual disk configuration is configured to implement various recovery and redistribution designed to improve recovery performance. The storage scheme implements one or more allocation techniques to produce substantially uniform or nearly uniform distributions of data across physical storage devices associated with a virtual disk. The allocation facilitates concurrent regeneration and rebalancing operations for recovery of data in the event of failures. Additionally, the storage scheme is configured to implements parallelization techniques to perform the concurrent operations including but not limited to controlling multiple parallel read/writes during recovery.
    Type: Application
    Filed: March 14, 2013
    Publication date: September 18, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Emanuel Paleologu, Shiv K. Rajpal, Karan Mehra, Surendra Verma, Nandagopal Kirubanandan
  • Publication number: 20140237173
    Abstract: A method and a processing device are provided for sequentially aggregating data to a write log included in a volume of a random-access medium. When data of a received write request is determined to be suitable for sequentially aggregating to a write log, the data may be written to the write log and a remapping tree, for mapping originally intended destinations on the random-access medium to one or more corresponding entries in the write log, may be maintained and updated. At time periods, a checkpoint may be written to the write log. The checkpoint may include information describing entries of the write log. One or more of the checkpoints may be used to recover the write log, at least partially, after a dirty shutdown. Entries of the write log may be drained to respective originally intended destinations upon an occurrence of one of a number of conditions.
    Type: Application
    Filed: April 22, 2014
    Publication date: August 21, 2014
    Applicant: Microsoft Corporation
    Inventors: Shi Cong, Scott Brender, Karan Mehra, Darren G. Moss, William R. Tipton, Surendra Verma
  • Patent number: 8793440
    Abstract: Aspects of the subject matter described herein relate to error detection for files. In aspects, before allowing updates to a clean file, a flag marking the file as dirty is written to non-volatile storage. Thereafter, the file may be updated as long as desired. Periodically or at some other time, the file may be marked as clean after all outstanding updates to the file and error codes associated with the file are written to storage. While waiting for outstanding updates and error codes to be written to storage, if additional requests to update the file are received, the file may be marked as dirty again prior to allowing the additional requests to update the file. The request to write a clean flag regarding the file may be done lazily.
    Type: Grant
    Filed: June 17, 2010
    Date of Patent: July 29, 2014
    Assignee: Microsoft Corporation
    Inventors: Thomas J. Miller, Jonathan M. Cargille, William R. Tipton, Surendra Verma
  • Publication number: 20140201163
    Abstract: Aspects of the subject matter described herein relate to file system technology. In aspects, a mechanism is described that allows a file system to handle corrupted file system metadata in a way that provides high availability. When corrupted metadata is detected, the corrupted metadata may be deleted while the file system remains online and available to service file input/output operations that involve non-corrupted metadata.
    Type: Application
    Filed: February 27, 2013
    Publication date: July 17, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: William R. Tipton, Rajsekhar Das, Malcolm James Smith, Shao-Chuan Wang, Surendra Verma
  • Publication number: 20130325830
    Abstract: A transactional file system wherein multiple file system operations may be performed as a transaction. An application specifies that file system-related operations are to be handled as a transaction, and the application is given a file handle associated with a transaction context. For file system requests associated with a transaction context, a file system component manages operations consistent with transactional behavior. Logging and recovery are also facilitated by logging page data separate from the main log with a unique signature that enables the log to determine whether a page was fully flushed to disk prior to a system crash.
    Type: Application
    Filed: August 9, 2013
    Publication date: December 5, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Surendra Verma, Thomas J. Miller, Robert G. Atkinson
  • Publication number: 20130311733
    Abstract: Aspects of the subject matter described herein relate to maintaining consistency in a storage system. In aspects, one or more objects may be updated in the context of a transaction. In conjunction with updating the objects, logical copies of the objects may be obtained and modified. A request to write the updated logical copies is sent to a storage controller. The logical copies do not overwrite the original copies. In conjunction with sending the request, a data structure is provided for the storage controller to store on the disk. The data structure indicates the one or more objects that were supposed to be written to disk and may include verification data to indicate the content that was supposed to be written to disk. During recovery, this data structure may be used to determine whether all of the object(s) were correctly written to disk.
    Type: Application
    Filed: April 29, 2013
    Publication date: November 21, 2013
    Applicant: Microsoft Corporation
    Inventors: Thomas J. Miller, Jonathan M. Cargille, William R. Tipton, Surendra Verma
  • Publication number: 20130265861
    Abstract: Upon receiving a request to allocate a storage region, a storage device may initialize the contents of the storage device to default values (e.g., zero) in order to avoid problems arising from unknown data stored in the locations of the storage region (e.g., upon writing a data set to a location involved in a mirroring relationship, uninitialized data in the corresponding mirror location may result in a mismatch that jeopardizes the written data). However, initializing the storage device may be time-consuming and inefficient. Instead, a usage bitmap may be generated that, for respective location sets of the storage region, indicates whether values exist in the location. A read request may be fulfilled by examining the usage bitmap to determine whether values exist in the specified location, and if not, the default value may be returned without accessing the storage device. Other efficiencies may also be achieved using the usage bitmap.
    Type: Application
    Filed: May 31, 2013
    Publication date: October 10, 2013
    Inventors: Karan Mehra, Surendra Verma, John R. Dietrick
  • Publication number: 20130265862
    Abstract: Upon receiving a request to allocate a storage region, a storage device may initialize the contents of the storage device to default values (e.g., zero) in order to avoid problems arising from unknown data stored in the locations of the storage region (e.g., upon writing a data set to a location involved in a mirroring relationship, uninitialized data in the corresponding mirror location may result in a mismatch that jeopardizes the written data). However, initializing the storage device may be time-consuming and inefficient. Instead, a usage bitmap may be generated that, for respective location sets of the storage region, indicates whether values exist in the location. A read request may be fulfilled by examining the usage bitmap to determine whether values exist in the specified location, and if not, the default value may be returned without accessing the storage device. Other efficiencies may also be achieved using the usage bitmap.
    Type: Application
    Filed: May 31, 2013
    Publication date: October 10, 2013
    Inventors: Karan Mehra, Surendra Verma, John R. Dietrick
  • Patent number: 8510336
    Abstract: A transactional file system wherein multiple file system operations may be performed as a transaction. An application specifies that file system-related operations are to be handled as a transaction, and the application is given a file handle associated with a transaction context. For file system requests associated with a transaction context, a file system component manages operations consistent with transactional behavior. Logging and recovery are also facilitated by logging page data separate from the main log with a unique signature that enables the log to determine whether a page was fully flushed to disk prior to a system crash.
    Type: Grant
    Filed: July 13, 2011
    Date of Patent: August 13, 2013
    Assignee: Microsoft Corporation
    Inventors: Surendra Verma, Thomas J. Miller, Robert G. Atkinson
  • Patent number: 8456972
    Abstract: Upon receiving a request to allocate a storage region, a storage device may initialize the contents of the storage device to default values (e.g., zero) in order to avoid problems arising from unknown data stored in the locations of the storage region (e.g., upon writing a data set to a location involved in a mirroring relationship, uninitialized data in the corresponding mirror location may result in a mismatch that jeopardizes the written data). However, initializing the storage device may be time-consuming and inefficient. Instead, a usage bitmap may be generated that, for respective location sets of the storage region, indicates whether values exist in the location. A read request may be fulfilled by examining the usage bitmap to determine whether values exist in the specified location, and if not, the default value may be returned without accessing the storage device. Other efficiencies may also be achieved using the usage bitmap.
    Type: Grant
    Filed: September 12, 2011
    Date of Patent: June 4, 2013
    Assignee: Microsoft Corporation
    Inventors: Karan Mehra, Surendra Verma, John R. Dietrick
  • Patent number: 8433865
    Abstract: Aspects of the subject matter described herein relate to maintaining consistency in a storage system. In aspects, one or more objects may be updated in the context of a transaction. In conjunction with updating the objects, logical copies of the objects may be obtained and modified. A request to write the updated logical copies is sent to a storage controller. The logical copies do not overwrite the original copies. In conjunction with sending the request, a data structure is provided for the storage controller to store on the disk. The data structure indicates the one or more objects that were supposed to be written to disk and may include verification data to indicate the content that was supposed to be written to disk. During recovery, this data structure may be used to determine whether all of the object(s) were correctly written to disk.
    Type: Grant
    Filed: December 11, 2009
    Date of Patent: April 30, 2013
    Assignee: Microsoft Corporation
    Inventors: Thomas J. Miller, Jonathan M. Cargille, William R. Tipton, Surendra Verma
  • Publication number: 20130064052
    Abstract: Upon receiving a request to allocate a storage region, a storage device may initialize the contents of the storage device to default values (e.g., zero) in order to avoid problems arising from unknown data stored in the locations of the storage region (e.g., upon writing a data set to a location involved in a mirroring relationship, uninitialized data in the corresponding mirror location may result in a mismatch that jeopardizes the written data). However, initializing the storage device may be time-consuming and inefficient. Instead, a usage bitmap may be generated that, for respective location sets of the storage region, indicates whether values exist in the location. A read request may be fulfilled by examining the usage bitmap to determine whether values exist in the specified location, and if not, the default value may be returned without accessing the storage device. Other efficiencies may also be achieved using the usage bitmap.
    Type: Application
    Filed: September 12, 2011
    Publication date: March 14, 2013
    Applicant: Microsoft Corporation
    Inventors: Karan Mehra, Surendra Verma, John R. Dietrick
  • Publication number: 20130067174
    Abstract: The storage of data sets in a storage set (e.g., data sets written to hard disk drives comprising a RAID array) may diminish the performance of the storage set through non-sequential writes, particularly if the storage devices promptly write data sets that are followed by sequentially following data sets. Additionally, storage sets may exhibit inconsistencies due to non-atomic writes of data sets and verifiers (e.g., checksums) and an intervening failure, such as an occurrence of the RAID write hole. Instead, data sets and verifiers may first be written to a stored on the nonvolatile media of a storage device before being committed to the storage set. Such writes may be sequentially written to the journal, irrespective of the locations of the data sets in the storage set; and recovery of a failure may simply involve re-committing the consistent records in the journal to correct incomplete writes to the storage set.
    Type: Application
    Filed: September 11, 2011
    Publication date: March 14, 2013
    Applicant: Microsoft Corporation
    Inventors: Darren Moss, Karan Mehra, Rajeev Nagar, Surendra Verma, Shiv Rajpal
  • Patent number: 8375227
    Abstract: Providing for a paradigm shift in block-level abstraction for storage devices is described herein. At a block-level, storage is characterized as a variable size data record, rather than a fixed size sector. In some aspects, the variable size data record can comprise a variable binary key-data pair, for addressing and identifying a variable size block of data, and for dynamically specifying the size of such block in terms of data storage. By changing the key or data values, the location, identity or size of block-level storage can be modified. Data records can be passed to and from the storage device to facilitate operational commands over ranges of such records. Block-level data compression, space management and transactional operations are provided, mitigating a need of higher level systems to characterize underlying data storage for implementation of such operations.
    Type: Grant
    Filed: February 2, 2009
    Date of Patent: February 12, 2013
    Assignee: Microsoft Corporation
    Inventors: Soner Terek, Vladimir Sadovsky, Surendra Verma, Avi R. Geiger
  • Publication number: 20120102265
    Abstract: A method and a processing device are provided for sequentially aggregating data to a write log included in a volume of a random-access medium. When data of a received write request is determined to be suitable for sequentially aggregating to a write log, the data may be written to the write log and a remapping tree, for mapping originally intended destinations on the random-access medium to one or more corresponding entries in the write log, may be maintained and updated. At time periods, a checkpoint may be written to the write log. The checkpoint may include information describing entries of the write log. One or more of the checkpoints may be used to recover the write log, at least partially, after a dirty shutdown. Entries of the write log may be drained to respective originally intended destinations upon an occurrence of one of a number of conditions.
    Type: Application
    Filed: January 5, 2012
    Publication date: April 26, 2012
    Applicant: Microsoft Corporation
    Inventors: Shi Cong, Scott Brender, Karan Mehra, Darren G. Moss, William R. Tipton, Surendra Verma
  • Patent number: 8108450
    Abstract: A method and a processing device are provided for sequentially aggregating data to a write log included in a volume of a random-access medium. When data of a received write request is determined to be suitable for sequentially aggregating to a write log, the data may be written to the write log and a remapping tree, for mapping originally intended destinations on the random-access medium to one or more corresponding entries in the write log, may be maintained and updated. At time periods, a checkpoint may be written to the write log. The checkpoint may include information describing entries of the write log. One or more of the checkpoints may be used to recover the write log, at least partially, after a dirty shutdown. Entries of the write log may be drained to respective originally intended destinations upon an occurrence of one of a number of conditions.
    Type: Grant
    Filed: April 15, 2011
    Date of Patent: January 31, 2012
    Assignee: Microsoft Corporation
    Inventors: Shi Cong, Scott Brender, Karan Mehra, Darren G. Moss, William R. Tipton, Surendra Verma