Patents by Inventor Nathan Steven Obr

Nathan Steven Obr 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: 10216637
    Abstract: In order to provide a more efficient persistent storage device, one or more long-term storage media are included along with a non-volatile memory. In one embodiment, one portion of the non-volatile memory is used as a write buffer and a read cache for writes and reads to the long-term storage media. Interfaces are provided for controlling the use of the non-volatile memory as a write buffer and a read cache. Additionally, a portion of the non-volatile memory is used to provide a direct mapping for specified sectors of the long-term storage media. Descriptive data regarding the persistent storage device is stored in another portion of the non-volatile memory.
    Type: Grant
    Filed: July 21, 2016
    Date of Patent: February 26, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Cenk Ergan, Clark D. Nicholson, Dan Teodosiu, Dean L. DeWhitt, Emily Nicole Wilson, Hanumantha R. Kodavalla, Michael J. Zwilling, John M. Parchem, Michael R. Fortin, Nathan Steven Obr, Rajeev Y. Nagar, Surenda Verma, Therron Powell, William J. Westerinen, Mark Joseph Zbikowski, Patrick L. Stemen
  • Publication number: 20170132136
    Abstract: In order to provide a more efficient persistent storage device, one or more long-term storage media are included along with a non-volatile memory. In one embodiment, one portion of the non-volatile memory is used as a write buffer and a read cache for writes and reads to the long-term storage media. Interfaces are provided for controlling the use of the non-volatile memory as a write buffer and a read cache. Additionally, a portion of the non-volatile memory is used to provide a direct mapping for specified sectors of the long-term storage media. Descriptive data regarding the persistent storage device is stored in another portion of the non-volatile memory.
    Type: Application
    Filed: July 21, 2016
    Publication date: May 11, 2017
    Inventors: Cenk Ergan, Clark D. Nicholson, Daniel Teodosiu, Dean L. DeWhitt, Emily Nicole Wilson, Hanumantha R. Kodavalla, Michael J. Zwilling, John M. Parchem, Michael R. Fortin, Nathan Steven Obr, Rajeev Y. Nagar, Surenda Verma, Therron Powell, William J. Westerinen, Mark Joseph Zbikowski, Patrick L. Stemen
  • Patent number: 9552273
    Abstract: Methods and devices are provided for adapting an I/O pattern, with respect to a processing device using a non-volatile block storage device based on feedback from the non-volatile block storage device. The feedback may include information indicating a status of the non-volatile block storage device. In response to receiving the feedback, a storage subsystem, included in an operating system executing on processing device, may change a behavior with respect to the non-volatile block storage device in order to avoid, or reduce, a negative impact to the non-volatile block storage device or to enhance an aspect of the non-volatile block storage device. The feedback may include performance information and/or operating environmental information of the non-volatile block storage device. When the non-volatile block storage device is not capable of providing the feedback, the processing device may request information about the non-volatile block storage device from a database service.
    Type: Grant
    Filed: January 12, 2016
    Date of Patent: January 24, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Vladimir Sadovsky, Nathan Steven Obr, James C. Bovee, Robin A. Alexander
  • Patent number: 9405693
    Abstract: In order to provide a more efficient persistent storage device, one or more long-term storage media are included along with a non-volatile memory. In one embodiment, one portion of the non-volatile memory is used as a write buffer and a read cache for writes and reads to the long-term storage media. Interfaces are provided for controlling the use of the non-volatile memory as a write buffer and a read cache. Additionally, a portion of the non-volatile memory is used to provide a direct mapping for specified sectors of the long-term storage media. Descriptive data regarding the persistent storage device is stored in another portion of the non-volatile memory.
    Type: Grant
    Filed: July 23, 2012
    Date of Patent: August 2, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Cenk Ergan, Clark D. Nicholson, Daniel Teodosiu, Dean L. DeWhitt, Emily Nicole Hill, Hanumantha R. Kodavalla, Michael J. Zwilling, John M. Parchem, Michael R. Fortin, Nathan Steven Obr, Rajeev Y. Nagar, Surenda Verma, Therron Powell, William J. Westerinen, Mark Joseph Zbikowski, Patrick L. Stemen
  • Publication number: 20160124831
    Abstract: Methods and devices are provided for adapting an I/O pattern, with respect to a processing device using a non-volatile block storage device based on feedback from the non-volatile block storage device. The feedback may include information indicating a status of the non-volatile block storage device. In response to receiving the feedback, a storage subsystem, included in an operating system executing on processing device, may change a behavior with respect to the non-volatile block storage device in order to avoid, or reduce, a negative impact to the non-volatile block storage device or to enhance an aspect of the non-volatile block storage device. The feedback may include performance information and/or operating environmental information of the non-volatile block storage device. When the non-volatile block storage device is not capable of providing the feedback, the processing device may request information about the non-volatile block storage device from a database service.
    Type: Application
    Filed: January 12, 2016
    Publication date: May 5, 2016
    Inventors: Vladimir Sadovsky, Nathan Steven Obr, James C. Bovee, Robin A. Alexander
  • Patent number: 9286211
    Abstract: Methods and devices are provided for adapting an I/O pattern, with respect to a processing device using a non-volatile block storage device based on feedback from the non-volatile block storage device. The feedback may include information indicating a status of the non-volatile block storage device. In response to receiving the feedback, a storage subsystem, included in an operating system executing on processing device, may change a behavior with respect to the non-volatile block storage device in order to avoid, or reduce, a negative impact to the non-volatile block storage device or to enhance an aspect of the non-volatile block storage device. The feedback may include performance information and/or operating environmental information of the non-volatile block storage device. When the non-volatile block storage device is not capable of providing the feedback, the processing device may request information about the non-volatile block storage device from a database service.
    Type: Grant
    Filed: August 15, 2014
    Date of Patent: March 15, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Vladimir Sadovsky, Nathan Steven Obr, James C. Bovee, Robin A. Alexander
  • Patent number: 9261933
    Abstract: Power consumption of a device (e.g., flash storage driver, hard drive, etc.) connected to a host computer system is managed to promote efficient power usage and improved service. Communication between a host computer system (e.g., an operating system) and a device is enabled so that the host system can ascertain a power footprint of the device. Taking the power footprint of the device into consideration, along with the power consumption of the system as a whole (e.g., including the power consumption needs of other devices), a power manager can provide a power budget to the device based upon an informed decision. This allows for improved system power management through a coordination of the device's power consumption by the host system, specifically during operation allowing device performance to be enhanced for the task at hand.
    Type: Grant
    Filed: April 8, 2013
    Date of Patent: February 16, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David Burg, Nathan Steven Obr, Vladimir Sadovsky
  • Patent number: 8990634
    Abstract: Methods and a computing device are disclosed. A computing device may include a managed device having embedded firmware. When a failure occurs with respect to the managed device, drivers within the computing device may collect failure data from a driver stack of the computing device and from the managed device. The computing device may send the collected failure data to one or more second computing devices to be stored and analyzed. The computing device may include a health monitor for periodically collecting telemetry data from the computing device and the managed device. When the health monitor becomes aware of conditions indicative of a possible impending failure, the health monitor may trigger collection of sickness telemetry data from the computing device and the managed device. Collected data from the managed device may be made available to a vendor of the managed device.
    Type: Grant
    Filed: November 3, 2010
    Date of Patent: March 24, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Vladimir Sadovsky, Vincent Orgovan, Jr., Nathan Steven Obr, Scott Chao-Chueh Lee
  • Publication number: 20140359206
    Abstract: Methods and devices are provided for adapting an I/O pattern, with respect to a processing device using a non-volatile block storage device based on feedback from the non-volatile block storage device. The feedback may include information indicating a status of the non-volatile block storage device. In response to receiving the feedback, a storage subsystem, included in an operating system executing on processing device, may change a behavior with respect to the non-volatile block storage device in order to avoid, or reduce, a negative impact to the non-volatile block storage device or to enhance an aspect of the non-volatile block storage device. The feedback may include performance information and/or operating environmental information of the non-volatile block storage device. When the non-volatile block storage device is not capable of providing the feedback, the processing device may request information about the non-volatile block storage device from a database service.
    Type: Application
    Filed: August 15, 2014
    Publication date: December 4, 2014
    Inventors: Vladimir Sadovsky, Nathan Steven Obr, James C. Bovee, Robin A. Alexander
  • Patent number: 8812770
    Abstract: Methods and devices are provided for adapting an I/O pattern, with respect to a processing device using a non-volatile block storage device based on feedback from the non-volatile block storage device. The feedback may include information indicating a status of the non-volatile block storage device. In response to receiving the feedback, a storage subsystem, included in an operating system executing on processing device, may change a behavior with respect to the non-volatile block storage device in order to avoid, or reduce, a negative impact to the non-volatile block storage device or to enhance an aspect of the non-volatile block storage device. The feedback may include performance information and/or operating environmental information of the non-volatile block storage device. When the non-volatile block storage device is not capable of providing the feedback, the processing device may request information about the non-volatile block storage device from a database service.
    Type: Grant
    Filed: July 13, 2009
    Date of Patent: August 19, 2014
    Assignee: Microsoft Corporation
    Inventors: Vladimir Sadovsky, Nathan Steven Obr, James C. Bovee, Robin A. Alexander
  • Publication number: 20140149693
    Abstract: A packed command can be received at a storage device. The packed command can include an indicator of a source data location in the storage device and an indicator of a destination data location in the storage device. In response to receiving the packed command, a storage map table in the storage device can be updated.
    Type: Application
    Filed: January 29, 2014
    Publication date: May 29, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Nathan Steven Obr, Andrew Herron
  • Patent number: 8683145
    Abstract: A packed command can be received at a storage device. The packed command can include an indicator of a source data location in the storage device and an indicator of a destination data location in the storage device. In response to receiving the packed command, a storage map table in the storage device can be updated. Also, a storage processing guide can be sent to a storage device. The processing guide can include a stream indicator associating the processing guide with a storage command stream. A set of storage commands can also be sent to the storage device. One or more of the commands in the set can each include a stream indicator that matches the stream indicator in the processing guide and identifies the command with the stream.
    Type: Grant
    Filed: November 9, 2009
    Date of Patent: March 25, 2014
    Assignee: Microsoft Corporation
    Inventors: Nathan Steven Obr, Andrew Herron
  • Patent number: 8433931
    Abstract: Power consumption of a device (e.g., flash storage driver, hard drive, etc.) connected to a host computer system is managed to promote efficient power usage and improved service. Communication between a host computer system (e.g., an operating system) and a device is enabled so that the host system can ascertain a power footprint of the device. Taking the power footprint of the device into consideration, along with the power consumption of the system as a whole (e.g., including the power consumption needs of other devices), a power manager can provide a power budget to the device based upon an informed decision. This allows for improved system power management through a coordination of the device's power consumption by the host system, specifically during operation allowing device performance to be enhanced for the task at hand.
    Type: Grant
    Filed: May 13, 2009
    Date of Patent: April 30, 2013
    Assignee: Microsoft Corporation
    Inventors: David Burg, Nathan Steven Obr, Vladimir Sadovsky
  • Patent number: 8321701
    Abstract: Methods and a processing device are provided for monitoring a level of power in a power supply of a processing device and changing a data flushing policy, with respect to data to be written to a non-volatile storage device, based on a predicted amount of time until power loss. When the predicted amount of time until power loss is higher than a threshold, as defined by a flushing policy, requests from applications for data flushes of data to a non-volatile storage device may be discarded. When the predicted amount of time remaining until power loss drops below the threshold, the requests from the applications for data flushes of the data to the non-volatile storage device may be honored and the data may be flushed to the non-volatile storage device. In some embodiments, the flushing policy may define additional thresholds.
    Type: Grant
    Filed: July 10, 2009
    Date of Patent: November 27, 2012
    Assignee: Microsoft Corporation
    Inventors: Nathan Steven Obr, Andrew Herron
  • Publication number: 20120290785
    Abstract: In order to provide a more efficient persistent storage device, one or more long-term storage media are included along with a non-volatile memory. In one embodiment, one portion of the non-volatile memory is used as a write buffer and a read cache for writes and reads to the long-term storage media. Interfaces are provided for controlling the use of the non-volatile memory as a write buffer and a read cache. Additionally, a portion of the non-volatile memory is used to provide a direct mapping for specified sectors of the long-term storage media. Descriptive data regarding the persistent storage device is stored in another portion of the non-volatile memory.
    Type: Application
    Filed: July 23, 2012
    Publication date: November 15, 2012
    Applicant: Microsoft Corporation
    Inventors: Cenk Ergan, Clark D. Nicholson, Dan Teodosiu, Dean L. DeWhitt, Emily Nicole Hill, Hanumantha R. Kodavalla, Michael J. Zwilling, John M. Parchem, Michael R. Fortin, Nathan Steven Obr, Rajeev Y. Nagar, Surenda Verma, Therron Powell, William J. Westerinen, Mark Joseph Zbikowski, Patrick L. Stemen
  • Patent number: 8255645
    Abstract: In order to provide a more efficient persistent storage device, one or more long-term storage media are included along with a non-volatile memory. In one embodiment, one portion of the non-volatile memory is used as a write buffer and a read cache for writes and reads to the long-term storage media. Interfaces are provided for controlling the use of the non-volatile memory as a write buffer and a read cache. Additionally, a portion of the non-volatile memory is used to provide a direct mapping for specified sectors of the long-term storage media. Descriptive data regarding the persistent storage device is stored in another portion of the non-volatile memory.
    Type: Grant
    Filed: September 13, 2011
    Date of Patent: August 28, 2012
    Assignee: Microsoft Corporation
    Inventors: Cenk Ergan, Clark D. Nicholson, Dan Teodosiu, Dean L. DeWhitt, Emily Nicole Hill, Hanumantha R. Kodavalla, Michael J. Zwilling, John M. Parchem, Michael R. Fortin, Nathan Steven Obr, Rajeev Y. Nagar, Surenda Verma, Therron Powell, William J. Westerinen, Mark Joseph Zbikowski, Patrick L. Stemen
  • Patent number: 8214621
    Abstract: A storage device can comprise storage media that can have differing characteristics. A storage manager can obtain the characteristics of a storage device, and of individual portions, such as individual media, of the storage device, by querying the device, querying a database, or through empirical observation or testing. The storage manager can then divide the media of the storage device into storage media parts, that can comprise some or all of the individual storage media. Data can then be stored on one or more storage media parts in accordance with the information provided by metadata associated with the data, such that the data is stored on storage media parts that are optimal for such data, from among the available storage media parts, based on the information from the associated metadata.
    Type: Grant
    Filed: April 29, 2009
    Date of Patent: July 3, 2012
    Assignee: Microsoft Corporation
    Inventors: Nathan Steven Obr, Robert Dale Rinne
  • Publication number: 20120110344
    Abstract: Methods and a computing device are disclosed. A computing device may include a managed device having embedded firmware. When a failure occurs with respect to the managed device, drivers within the computing device may collect failure data from a driver stack of the computing device and from the managed device. The computing device may send the collected failure data to one or more second computing devices to be stored and analyzed. The computing device may include a health monitor for periodically collecting telemetry data from the computing device and the managed device. When the health monitor becomes aware of conditions indicative of a possible impending failure, the health monitor may trigger collection of sickness telemetry data from the computing device and the managed device. Collected data from the managed device may be made available to a vendor of the managed device.
    Type: Application
    Filed: November 3, 2010
    Publication date: May 3, 2012
    Applicant: Microsoft Corporation
    Inventors: Vladimir Sadovsky, Vincent Orgovan, JR., Nathan Steven Obr, Scott Chao-Chueh Lee
  • Patent number: 8161251
    Abstract: A storage system can comprise storage devices having storage media with differing characteristics. An eviction handler can receive information regarding the state of storage media or of data stored thereon, as well as information regarding application or operating system usage, or expected usage, of data, or information regarding policy, including user-selected policy. Such information can be utilized by the eviction handler to optimize the use of the storage system by evicting data from storage media, including evicting data in order to perform maintenance on, or replace, such storage media, and evicting data to make room for other data, such as data copied to such storage media to facilitate pre-fetching or implement policy. The eviction handler can be implemented by any one or more of processes executing on a computing device, control circuitry of any one or more of the storage devices, or intermediate storage-centric devices.
    Type: Grant
    Filed: May 27, 2009
    Date of Patent: April 17, 2012
    Assignee: Microsoft Corporation
    Inventors: Nathan Steven Obr, Sompong Paul Olarig, Shiv Rajpal
  • Publication number: 20120005422
    Abstract: In order to provide a more efficient persistent storage device, one or more long-term storage media are included along with a non-volatile memory. In one embodiment, one portion of the non-volatile memory is used as a write buffer and a read cache for writes and reads to the long-term storage media. Interfaces are provided for controlling the use of the non-volatile memory as a write buffer and a read cache. Additionally, a portion of the non-volatile memory is used to provide a direct mapping for specified sectors of the long-term storage media. Descriptive data regarding the persistent storage device is stored in another portion of the non-volatile memory.
    Type: Application
    Filed: September 13, 2011
    Publication date: January 5, 2012
    Applicant: Microsoft Corporation
    Inventors: Cenk Ergan, Clark D. Nicholson, Dan Teodosiu, Dean L. DeWhitt, Emily Nicole Hill, Hanumantha R. Kodavalla, Michael J. Zwilling, John M. Parchem, Michael R. Fortin, Nathan Steven Obr, Rajeev Y. Nagar, Surenda Verma, Therron Powell, William J. Westerinen, Mark Joseph Zbikowski, Patrick L. Stemen