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).
-
Patent number: 10509730Abstract: 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: GrantFiled: August 4, 2016Date of Patent: December 17, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Shi Cong, Scott Brender, Karan Mehra, Darren G. Moss, William R. Tipton, Surendra Verma
-
Patent number: 10216437Abstract: Aspects of the subject matter described herein relate to storage systems and aliased memory. In aspects, a file system driver or other component may send a request to a memory controller to create an alias between two blocks of memory. One of the blocks of memory may be used for main memory while the other of the blocks of memory may be used for a storage system. In response, the memory controller may create an alias between the blocks of memory. Until the alias is severed, when the memory controller receives a request for data from the block in main memory, the memory controller may respond with data from the memory block used for the storage system. The memory controller may also implement other actions as described herein.Type: GrantFiled: May 30, 2017Date of Patent: February 26, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: William R. Tipton, Surendra Verma, Landy Wang, Malcolm James Smith
-
Patent number: 10178174Abstract: Embodiments are directed to modifying storage capacity within a data store and to modifying resiliency for a data store. In one scenario, a computer system receives a request to move data. The computer system may determine that data is to be moved from an allocation on one data store to a new allocation on another data store. The computer system may create a new allocation on the other data store, where the new allocation is configured to receive data from the first data store. The computer system then moves the data to the new allocation on the second data store as data I/O requests are received at the first data store. Data store access requests are synchronized with the data movement by directing the data store access requests to the first data store, to the second data store or to both data stores depending on the type of access request.Type: GrantFiled: July 10, 2017Date of Patent: January 8, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Surendra Verma, Emanuel Paleologu, Erik Gregory Hortsch, Karan Mehra
-
Publication number: 20180150422Abstract: Embodiments are directed to efficiently managing data storage and efficiently storing data. In one scenario, a computer system receives a write request addressed to one portion of data storage within a data store. The computer system redirects the received write request to another portion of data storage which includes storage containers, each of which is a logically specified portion of the data store. The computer system determines which storage container the write request is to write to, and identifies a storage container that is to be de-staged from the second portion of data storage to the first portion of data storage. The computer system then de-stages the identified storage containers to the first portion of data storage, the data of the de-staged container being stored on the first portion of data storage in the same order in which the data was stored in the identified storage container prior to de-staging.Type: ApplicationFiled: October 30, 2017Publication date: May 31, 2018Inventors: William R. Tipton, Rajsekhar Das, Surendra Verma, Karan Mehra, Cornel Emilian Rat
-
Patent number: 9836419Abstract: Embodiments are directed to efficiently managing data storage and efficiently storing data. In one scenario, a computer system receives a write request addressed to one portion of data storage within a data store. The computer system redirects the received write request to another portion of data storage which includes storage containers, each of which is a logically specified portion of the data store. The computer system determines which storage container the write request is to write to, and identifies a storage container that is to be de-staged from the second portion of data storage to the first portion of data storage. The computer system then de-stages the identified storage containers to the first portion of data storage, the data of the de-staged container being stored on the first portion of data storage in the same order in which the data was stored in the identified storage container prior to de-staging.Type: GrantFiled: September 15, 2014Date of Patent: December 5, 2017Assignee: Microsoft Technology Licensing, LLCInventors: William R. Tipton, Rajsekhar Das, Surendra Verma, Karan Mehra, Cornel Emilian Rat
-
Publication number: 20170310757Abstract: Embodiments are directed to modifying storage capacity within a data store and to modifying resiliency for a data store. In one scenario, a computer system receives a request to move data. The computer system may determine that data is to be moved from an allocation on one data store to a new allocation on another data store. The computer system may create a new allocation on the other data store, where the new allocation is configured to receive data from the first data store. The computer system then moves the data to the new allocation on the second data store as data I/O requests are received at the first data store. Data store access requests are synchronized with the data movement by directing the data store access requests to the first data store, to the second data store or to both data stores depending on the type of access request.Type: ApplicationFiled: July 10, 2017Publication date: October 26, 2017Inventors: Surendra Verma, Emanuel Paleologu, Erik Gregory Hortsch, Karan Mehra
-
Publication number: 20170262207Abstract: Aspects of the subject matter described herein relate to storage systems and aliased memory. In aspects, a file system driver or other component may send a request to a memory controller to create an alias between two blocks of memory. One of the blocks of memory may be used for main memory while the other of the blocks of memory may be used for a storage system. In response, the memory controller may create an alias between the blocks of memory. Until the alias is severed, when the memory controller receives a request for data from the block in main memory, the memory controller may respond with data from the memory block used for the storage system. The memory controller may also implement other actions as described herein.Type: ApplicationFiled: May 30, 2017Publication date: September 14, 2017Inventors: William R. TIPTON, Surendra VERMA, Landy WANG, Malcolm James SMITH
-
Patent number: 9727575Abstract: To provide an operation that can quickly copy or rearrange a file, a file system allows stored data to be shared among two or more files or within a file. The file system provides an operation that allows an extent from one file to be copied into an extent of another file, or into a different extent in the same file if the extents do not overlap. To support such an operation, the file system tracks the storage locations for stored data for extents of a file, and whether the stored data for an extent of a file is shared with any other file or by another portion of the same file. When stored data is shared, writing to an extent of a file that refers to the shared stored data invokes a write operation to a new extent on the storage device, and the tracked information for the affected extents is updated.Type: GrantFiled: August 29, 2014Date of Patent: August 8, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Raj Das, William Tipton, Malcolm Smith, Surendra Verma
-
Patent number: 9678689Abstract: Aspects of the subject matter described herein relate to storage systems and aliased memory. In aspects, a file system driver or other component may send a request to a memory controller to create an alias between two blocks of memory. One of the blocks of memory may be used for main memory while the other of the blocks of memory may be used for a storage system. In response, the memory controller may create an alias between the blocks of memory. Until the alias is severed, when the memory controller receives a request for data from the block in main memory, the memory controller may respond with data from the memory block used for the storage system. The memory controller may also implement other actions as described herein.Type: GrantFiled: September 25, 2013Date of Patent: June 13, 2017Assignee: Microsoft Technology Licensing, LLCInventors: William R. Tipton, Surendra Verma, Landy Wang, Malcolm James Smith
-
Patent number: 9594798Abstract: A file system uses data integrity techniques that are a selectable attribute of a file system object. Some file system objects have integrity on for various accesses, while other file system objects do not. Different default settings can be provided for different file system objects. Such a setting for a file system object can be changed to and from having integrity on. Given a file system object with an attribute, the file system provides file system operations for which the data integrity operation used on the file system object depends on this attribute. Such operations include, but are not limited to, operations for changing the attribute, creating file system objects with such attributes, providing and changing default settings for such attributes, and writing data to and reading data from files, which use different data integrity techniques based on this attribute.Type: GrantFiled: November 5, 2015Date of Patent: March 14, 2017Assignee: Microsoft Technology Licensing, LLCInventors: William Tipton, Surendra Verma, Thomas J. Miller, Jonathan M. Cargille
-
Patent number: 9575678Abstract: Aspects of the subject matter described herein relate to storage allocation. In aspects, a hierarchical data structure is used to track allocation data for storage managed by a file system. The hierarchical data structure may have multiple levels with each level having data regarding a different granularity of storage. Portions of the hierarchical data structure may be locked independently of other portions of the hierarchical data structure. The hierarchical data structure may indicate that one or more portions of storage are for exclusive use by a directory. Extra space may be reserved in allocated space in anticipation of subsequent operations. Allocation requestors may obtain storage allocation from regions associated with different levels of the hierarchical data structure.Type: GrantFiled: December 15, 2015Date of Patent: February 21, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Thomas J. Miller, Jonathan M. Cargille, William R. Tipton, Surendra Verma
-
Patent number: 9547549Abstract: 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: GrantFiled: February 27, 2013Date of Patent: January 17, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: William R. Tipton, Rajsekhar Das, Malcolm James Smith, Shao-Chuan Wang, Surendra Verma
-
Patent number: 9524300Abstract: 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: GrantFiled: March 14, 2013Date of Patent: December 20, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Shiv Rajpal, Juan-Lee Pang, Sarosh Cyrus Havewala, Surendra Verma, Karan Mehra, Bryan Stephen Matthew, Neal Robert Christiansen, Andrew Herron
-
Publication number: 20160342528Abstract: 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: ApplicationFiled: August 4, 2016Publication date: November 24, 2016Inventors: Shi Cong, Scott Brender, Karan Mehra, Darren G. Moss, William R. Tipton, Surendra Verma
-
Patent number: 9448869Abstract: 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: GrantFiled: July 24, 2014Date of Patent: September 20, 2016Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Thomas J. Miller, Jonathan M. Cargille, William R. Tipton, Surendra Verma
-
Patent number: 9448890Abstract: 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: GrantFiled: January 5, 2012Date of Patent: September 20, 2016Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Shi Cong, Scott Brender, Karan Mehra, Darren G. Moss, William R. Tipton, Surendra Verma
-
Patent number: 9436399Abstract: 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: GrantFiled: September 23, 2015Date of Patent: September 6, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Matt Garson, Neal Christiansen, Sarosh Havewala, Shiv Rajpal, Karan Mehra, Surendra Verma, Daniel Chan
-
Patent number: 9430160Abstract: 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: GrantFiled: March 25, 2015Date of Patent: August 30, 2016Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Thomas J. Miller, Jonathan M. Cargille, William R. Tipton, Surendra Verma
-
Patent number: 9361183Abstract: 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: GrantFiled: April 22, 2014Date of Patent: June 7, 2016Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Shi Cong, Scott Brender, Karan Mehra, Darren G. Moss, William R. Tipton, Surendra Verma
-
Publication number: 20160140161Abstract: A file system uses data integrity techniques that are a selectable attribute of a file system object. Some file system objects have integrity on for various accesses, while other file system objects do not. Different default settings can be provided for different file system objects. Such a setting for a file system object can be changed to and from having integrity on. Given a file system object with an attribute, the file system provides file system operations for which the data integrity operation used on the file system object depends on this attribute. Such operations include, but are not limited to, operations for changing the attribute, creating file system objects with such attributes, providing and changing default settings for such attributes, and writing data to and reading data from files, which use different data integrity techniques based on this attribute.Type: ApplicationFiled: November 5, 2015Publication date: May 19, 2016Inventors: William Tipton, Surendra Verma, Thomas J. Miller, Jonathan M. Cargille