Patents by Inventor Karan Mehra

Karan Mehra 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: 20160266799
    Abstract: A system for storing data in a dynamic fashion. The system includes a storage entity. The storage entity includes portions of a plurality of different persistent storage devices. Each storage device has a set of constraints. The storage entity is configured to store data in a dynamic fashion in a layout on the persistent storage devices of the storage entity that meets the different data requirements for the data while still being within the constraints for the persistent storage devices. The storage entity is configured to change the layout for a portion of the data as requirements related to at least one of performance or resiliency for a portion of the data change while the storage entity continues to provide the data from the storage entity.
    Type: Application
    Filed: March 11, 2015
    Publication date: September 15, 2016
    Inventors: Sachin Chiman Patel, Shiv Rajpal, Karan Mehra
  • Patent number: 9436399
    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: Grant
    Filed: September 23, 2015
    Date of Patent: September 6, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Matt Garson, Neal Christiansen, Sarosh Havewala, Shiv Rajpal, Karan Mehra, Surendra Verma, Daniel Chan
  • Patent number: 9361183
    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 22, 2014
    Date of Patent: June 7, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Shi Cong, Scott Brender, Karan Mehra, Darren G. Moss, William R. Tipton, Surendra Verma
  • Patent number: 9330161
    Abstract: Embodiments are directed to creating global, aggregated namespaces for storage management and to providing consistent namespaces in a distributed storage system. In one scenario, a computer system defines data storage objects for each data storage node. The data storage objects uniquely identify storage elements of the data storage nodes, where each data storage object includes various associated attributes. The computer system replicates the defined data storage objects and any associated attributes from a first data storage node to a second, different data storage node among the data storage nodes. As such, the defined data storage objects are visible from any node in the data storage nodes. The computer system also aggregates the defined data storage objects for each of the data storage nodes and creates a global, aggregated namespace that includes the aggregated data storage objects for each of the data storage nodes.
    Type: Grant
    Filed: April 12, 2013
    Date of Patent: May 3, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Andrea D'Amato, Shiv Rajpal, Gregory Robert Domzalski, Vyacheslav Kuznetsov, Sarosh Cyrus Havewala, Ankur Kasturiya, Karan Mehra
  • Publication number: 20160117115
    Abstract: Embodiments are directed to dynamically changing partitions size for a partition in a storage device and to transferring storage space between partitions in a storage device. A computer system identifies portions of free space on a storage device, where the storage device has at least one partition whose offset and length are stored in a partition table. The computer system determines where the identified free space is located relative to other storage locations on the storage device. The computer system further determines that the partition is to be dynamically resized to a new size which is specified by one or more offset and length values, and based on where the identified free space is located, dynamically transforms the partition into a logical partition, and resizes the logical partition, the logical partition's offset and length values being updated in the partition table to include the new specified offset and length values.
    Type: Application
    Filed: October 24, 2014
    Publication date: April 28, 2016
    Inventors: Karan Mehra, Shi Cong
  • Publication number: 20160077933
    Abstract: Scalable data storage techniques are described. In one or more implementations, data is obtained by one or more computing devices that describes fault domains in a storage hierarchy and available storage resources in a data storage pool. Operational characteristics are ascertained, by the one or more computing devices, of devices associated with the available storage resources within one or more levels of the storage hierarchy. Distribution of metadata is assigned by the one or more computing devices to one or more particular data storage devices within the data storage pool based on the described fault domains and the ascertained operational characteristics of devices within one or more levels of the storage hierarchy.
    Type: Application
    Filed: September 12, 2014
    Publication date: March 17, 2016
    Inventors: Ashley P. Ventura, Tarun Ramani, Karan Mehra, Shiv Kumar Rajpal, Sarosh C. Havewala
  • Publication number: 20160080490
    Abstract: 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: Application
    Filed: September 15, 2014
    Publication date: March 17, 2016
    Inventors: Surendra Verma, Emanuel Paleologu, Erik Gregory Hortsch, Karan Mehra
  • Publication number: 20160077988
    Abstract: 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: Application
    Filed: September 15, 2014
    Publication date: March 17, 2016
    Inventors: William R. Tipton, Rajsekhar Das, Surendra Verma, Karan Mehra, Cornel Emilian Rat
  • Patent number: 9262313
    Abstract: The provisioning of a volume that has multiple tiers corresponding to different trait sets. The volume to be provisioned is identified along with multiple tiers that are to be in the volume. For each of the tiers that are to be provisioned within the volume, a corresponding trait set is identified as to be applied to each tier. This corresponding trait set may be based on underlying storage systems that are available at the time of provisioning, or which are anticipated to be available. The volume is then caused to be provisioned with the corresponding tiers having the corresponding trait sets. Also, the provisioning of a file, which is determined to have one or more storage traits. Based on these storage traits, the file is then caused to be assigned to an appropriate tier.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: February 16, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Andrew Herron, Sarosh Cyrus Havewala, Karan Mehra, Ankur Kasturiya, Shiv Rajpal
  • Publication number: 20160026475
    Abstract: A file system independent virtualized boot block with discovery volume and cover files renders a volume visible when accessed by an accessing system which differs from a source system. For example, a downlevel operating system recognizes that data is present on a volume created in an uplevel operating system, even where the uplevel data itself may not be accessible.
    Type: Application
    Filed: October 7, 2015
    Publication date: January 28, 2016
    Inventors: Karan Mehra, Ravinder S. Thind, Darren G. Moss, Darwin Ou-Yang
  • Publication number: 20160019004
    Abstract: This document describes techniques for storing virtual disk payload data. In an exemplary configuration, each virtual disk extent can be associated with state information that indicates whether the virtual disk extent is described by a virtual disk file. Under certain conditions the space used to describe a virtual disk extent can be reclaimed and state information can be used to determine how read and/or write operations directed to the virtual disk extent are handled. In addition to the foregoing, other techniques are described in the claims, figures, and detailed description of this document.
    Type: Application
    Filed: September 28, 2015
    Publication date: January 21, 2016
    Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: John A. Starks, Dustin L. Green, Todd William Harris, Mathew John, Senthil Rajaram, Karan Mehra, Neal R. Christiansen, Chung Lang Dai
  • Publication number: 20160011811
    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: September 23, 2015
    Publication date: January 14, 2016
    Inventors: Matt Garson, Neal Christiansen, Sarosh Havewala, Shiv Rajpal, Karan Mehra, Surendra Verma, Daniel Chan
  • Patent number: 9229809
    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: Grant
    Filed: September 11, 2011
    Date of Patent: January 5, 2016
    Assignee: Microsoft Technology Licensing LLC
    Inventors: Darren Moss, Karan Mehra, Rajeev Nagar, Surendra Verma, Shiv Rajpal
  • Patent number: 9229826
    Abstract: The storage devices of a storage device set (e.g., a RAID array) may generate a nonvolatile representation of the configuration of the storage device set, including logical disks, spaces, storage pools, and layout and provisioning plans, on the physical media of the storage devices. A computer accessing the storage device set may also generate a volatile memory representation of the storage device set to use while accessing the storage devices; however, the nonvolatile representation may not be performant due to its different usage and characteristics. Presented herein are techniques for accessing the storage device set according to a volatile memory representation comprising a hierarchy of logical disks, slabs, and extents, and an accessory comprising a provisioning component that handles slab accesses while applying provisioning plans, and that interfaces with a lower-level layout component that translates slab accesses into storage device accesses while applying layout plans to the storage device set.
    Type: Grant
    Filed: October 2, 2014
    Date of Patent: January 5, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventor: Karan Mehra
  • Patent number: 9176818
    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: Grant
    Filed: March 14, 2013
    Date of Patent: November 3, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Karan Mehra, Erik G. Hortsch, Surendra Verma
  • Patent number: 9170824
    Abstract: A file system independent virtualized boot block with discovery volume and cover files renders a volume visible when accessed by an accessing system which differs from a source system. For example, a downlevel operating system recognizes that data is present on a volume created in an uplevel operating system, even where the uplevel data itself may not be accessible.
    Type: Grant
    Filed: August 12, 2013
    Date of Patent: October 27, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Karan Mehra, Ravinder S. Thind, Darren G. Moss, Darwin Ou-Yang
  • Patent number: 9146853
    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: Grant
    Filed: March 28, 2013
    Date of Patent: September 29, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Matt Garson, Neal Christiansen, Sarosh Havewala, Shiv Rajpal, Karan Mehra, Surendra Verma, Daniel Chan
  • Patent number: 9146765
    Abstract: This document describes techniques for storing virtual disk payload data. In an exemplary configuration, each virtual disk extent can be associated with state information that indicates whether the virtual disk extent is described by a virtual disk file. Under certain conditions the space used to describe a virtual disk extent can be reclaimed and state information can be used to determine how read and/or write operations directed to the virtual disk extent are handled. In addition to the foregoing, other techniques are described in the claims, figures, and detailed description of this document.
    Type: Grant
    Filed: March 11, 2011
    Date of Patent: September 29, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John A. Starks, Dustin L. Green, Todd William Harris, Mathew John, Senthil Rajaram, Karan Mehra, Neal R. Christiansen, Chung Lang Dai
  • Patent number: 9141626
    Abstract: A volume system that presents a volume having an extent of logical addresses to a file system. A volume exposure system exposes the volume to the file system in a manner that the volume has multiple tiers, each offering storage of different traits. This is performed using multiple heterogenic underlying storage systems, each having different storage system-specific traits. Each underlying storage system may be hardware, software, or a combination thereof that permits each storage system to expose storage having the particular storage system-specific traits to the file system. The volume system supports each tier by mapping logical addresses of the tier to portions of underling storage systems that are consistent with the tier traits.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: September 22, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Shiv Rajpal, Karan Mehra, Andrew Herron, Shi Cong
  • Patent number: 9110809
    Abstract: A method for managing memory traffic includes causing first data to be written to a data cache memory, where a first write request comprises a partial write and writes the first data to a first portion of the data cache memory, and further includes tracking the number of partial writes in the data cache memory. The method further includes issuing a fill request for one or more partial writes in the data cache memory if the number of partial writes in the data cache memory is greater than a predetermined first threshold.
    Type: Grant
    Filed: July 3, 2013
    Date of Patent: August 18, 2015
    Assignee: NVIDIA CORPORATION
    Inventors: Peter B. Holmqvist, Karan Mehra, George R. Lynch, James Patrick Robertson, Gregory Alan Muthler, Wishwesh Anil Gandhi, Nick Barrow-Williams