Patents by Inventor Nathan Obr

Nathan 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: 10162534
    Abstract: Systems and methods for utilization of notification or ordering commands are disclosed that can enable more efficient processing of flush requests from software programs and increase data consistency in storage devices. A data storage device or system may include a non-volatile memory, a memory comprising a data cache and a controller. The controller may be configured to receive an ordering command requesting commitment to the non-volatile memory of cached data items associated with a first identifier prior to commitment of cached data items associated with a second identifier, and to delay commitment of the second data item to the non-volatile memory until commitment of the first data item to the non-volatile memory, based at least in part on the ordering command. The controller may be further configured to select data items from the data cache for commitment to the non-volatile memory in accordance with native command queuing (NCQ).
    Type: Grant
    Filed: April 6, 2017
    Date of Patent: December 25, 2018
    Assignee: Western Digital Technologies, Inc.
    Inventor: Nathan Obr
  • Patent number: 9645752
    Abstract: Systems and methods for utilization of notification or ordering commands are disclosed that can enable more efficient processing of flush requests from software programs and increase data consistency in storage devices. A storage device can obtain a notification command from a host system identifying one or more data items in a cache of the storage device, determine whether the one or more data items have been committed to non-volatile memory of the storage device, and transmit a notification to the host system upon determining that the one or more data items have been committed. The host system may utilize these commands to process flush requests, such that upon receiving a flush request, a notification command may be issued requesting a notification from the storage device that the relevant data has been committed.
    Type: Grant
    Filed: July 2, 2014
    Date of Patent: May 9, 2017
    Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
    Inventor: Nathan Obr
  • Patent number: 9632711
    Abstract: Systems and methods for utilization of notification or ordering commands are disclosed that can enable more efficient processing of flush requests from software programs and increase data consistency in storage devices. For example, when an application requests that a data cache be flushed, a computing device may—instead of completely emptying the data cache—notify the application of a successful flush once relevant data of the application has been committed to non-volatile memory. Targeted notifications, which may identify the relevant data in the data cache, can limit the scope of a flush request, such that the speed and efficiency of the command is increased relative to a non-specific full-cache flush. Such increases in efficiency of flush requests may greatly increase the speed and efficiency of storage devices, and consequently the performance of programs utilizing such storage devices.
    Type: Grant
    Filed: July 2, 2014
    Date of Patent: April 25, 2017
    Assignee: Western Digital Technologies, Inc.
    Inventor: Nathan Obr
  • Patent number: 8214343
    Abstract: Storage devices can maintain metadata on a per-block basis, enabling the storage device, the file system, or other higher-level software to store and obtain information about individual blocks of data. A handshake between the storage device and a computing device can include an exchange of feature tables, whereby a commonly supported set of features and attributes can be selected and agreed upon. Such features and attributes can include access pattern specification in the per-block metadata, frequency of access or importance designations and specifications of the longevity of temporary data. The per-block metadata can either be provided by an application or the file system, or it can be generated by the storage device itself. Likewise, per-block metadata can be utilized by the storage device, either on its own or at the behest of an application or the file system, or it can be utilized directly by the application or file system.
    Type: Grant
    Filed: March 19, 2008
    Date of Patent: July 3, 2012
    Assignee: Microsoft Corporation
    Inventors: Vladimir Sadovsky, Nathan Obr
  • Patent number: 7853759
    Abstract: Architecture for data communications optimization based on generating and communicating “intents” or “hints” to a storage device and faster/slower solid state memory optimization. Data destined for storage on the storage device (capable of hints processing) can be bracketed to take advantage of improved performance associated with the hints processing. Data can be communicated in block format such that individual series of block exchanges can occur. Hints processing can be optional at the storage device. When communicated to the storage device firmware facilitates optimization of internal data flow and device operation. A write optimization schema is provided for storage system such as solid state storage devices. For example, frequently-modified data can be stored in faster memory to provide more efficient overall application data processing, and less-frequently modified data can be processed into and out of lower cost (or slower) memory.
    Type: Grant
    Filed: September 17, 2007
    Date of Patent: December 14, 2010
    Assignee: Microsoft Corporation
    Inventors: Vladimir Sadovsky, Robin Alexander, Frank Shu, Nathan Obr
  • Publication number: 20090240678
    Abstract: Storage devices can maintain metadata on a per-block basis, enabling the storage device, the file system, or other higher-level software to store and obtain information about individual blocks of data. A handshake between the storage device and a computing device can include an exchange of feature tables, whereby a commonly supported set of features and attributes can be selected and agreed upon. Such features and attributes can include access pattern specification in the per-block metadata, frequency of access or importance designations and specifications of the longevity of temporary data. The per-block metadata can either be provided by an application or the file system, or it can be generated by the storage device itself. Likewise, per-block metadata can be utilized by the storage device, either on its own or at the behest of an application or the file system, or it can be utilized directly by the application or file system.
    Type: Application
    Filed: March 19, 2008
    Publication date: September 24, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Vladimir Sadovsky, Nathan Obr
  • Publication number: 20080263259
    Abstract: Architecture for data communications optimization based on generating and communicating “intents” or “hints” to a storage device and faster/slower solid state memory optimization. Data destined for storage on the storage device (capable of hints processing) can be bracketed to take advantage of improved performance associated with the hints processing. Data can be communicated in block format such that individual series of block exchanges can occur. Hints processing can be optional at the storage device. When communicated to the storage device firmware facilitates optimization of internal data flow and device operation. A write optimization schema is provided for storage system such as solid state storage devices. For example, frequently-modified data can be stored in faster memory to provide more efficient overall application data processing, and less-frequently modified data can be processed into and out of lower cost (or slower) memory.
    Type: Application
    Filed: September 17, 2007
    Publication date: October 23, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Vladimir Sadovsky, Robin Alexander, Frank Shu, Nathan Obr
  • Publication number: 20060282709
    Abstract: A system that facilitates maintaining hard disk drive performance comprises a memory component that includes extensions to at least one protocol associated with a hard disk drive, the extensions enable communications to occur in real-time between an operating system and the hard disk drive. An interface component utilizes the extensions to receive a notification from the hard disk drive and relay the notification to the operating system, the notification relates to an operating parameter of the hard disk drive.
    Type: Application
    Filed: December 8, 2005
    Publication date: December 14, 2006
    Applicant: Microsoft Corporation
    Inventors: Frank Shu, Nathan Obr, Yi Meng
  • Publication number: 20050246487
    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: May 3, 2004
    Publication date: November 3, 2005
    Applicant: Microsoft Corporation
    Inventors: Cenk Ergan, Clark Nicholson, Dan Teodosiu, Dean DeWhitt, Emily Hill, Hanumantha Kodavalla, Michael Zwilling, John Parchem, Michael Fortin, Nathan Obr, Rajeev Nagar, Surenda Verma, Therron Powell, William Westerinen, Mark Zbikowski, Patrick Stemen