Patents by Inventor Michael R. Fortin

Michael R. Fortin 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: 11334484
    Abstract: Determining and using the ideal size of memory to be transferred from high speed memory to a low speed memory may result in speedier saves to the low speed memory and a longer life for the low speed memory.
    Type: Grant
    Filed: November 1, 2016
    Date of Patent: May 17, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Michael R. Fortin, Robert L. Reinauer
  • 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
  • Patent number: 9891939
    Abstract: Application compatibility is facilitated by use of library operating systems. Library operating systems can encapsulate portions of an application likely to break application compatibility. An application can be bound to a compatible library operating system that operates over a host operating system. Furthermore, library operating system version can be greater than, equal, or less than the version of the host operating system. Consequently, both backward and forward compatibility is enabled.
    Type: Grant
    Filed: December 8, 2011
    Date of Patent: February 13, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Galen C. Hunt, Reuben R. Olinsky, Michael R. Fortin
  • Patent number: 9690496
    Abstract: The invention is directed towards a system and method that utilizes external memory devices to cache sectors from a rotating storage device (e.g., a hard drive) to improve system performance. When an external memory device (EMD) is plugged into the computing device or onto a network in which the computing device is connected, the system recognizes the EMD and populates the EMD with disk sectors. The system routes I/O read requests directed to the disk sector to the EMD cache instead of the actual disk sector. The use of EMDs increases performance and productivity on the computing device systems for a fraction of the cost of adding memory to the computing device.
    Type: Grant
    Filed: March 24, 2016
    Date of Patent: June 27, 2017
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Alexander Kirshenbaum, Cenk Ergan, Michael R. Fortin, Robert L. Reinauer
  • 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
  • Publication number: 20170052892
    Abstract: Determining and using the ideal size of memory to be transferred from high speed memory to a low speed memory may result in speedier saves to the low speed memory and a longer life for the low speed memory.
    Type: Application
    Filed: November 1, 2016
    Publication date: February 23, 2017
    Inventors: Michael R. Fortin, Robert L. Reinauer
  • Patent number: 9529716
    Abstract: Determining and using the ideal size of memory to be transferred from high speed memory to a low speed memory may result in speedier saves to the low speed memory and a longer life for the low speed memory.
    Type: Grant
    Filed: October 18, 2013
    Date of Patent: December 27, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Michael R. Fortin, Robert L. Reinauer
  • 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: 20160210058
    Abstract: The invention is directed towards a system and method that utilizes external memory devices to cache sectors from a rotating storage device (e.g., a hard drive to improve system performance. When an external memory device (EMD) is plugged into the computing device or onto a network in which the computing device is connected, the system recognizes the EMD and populates the EMD with disk sectors. The system routes I/O read requests directed to the disk sector to the EMD cache instead of the actual disk sector. The use of EMDs increases performance and productivity on the computing device systems for a fraction of the cost of adding memory to the computing device.
    Type: Application
    Filed: March 24, 2016
    Publication date: July 21, 2016
    Inventors: Alexander Kirshenbaum, Cenk Ergan, Michael R. Fortin, Robert L. Reinauer
  • Patent number: 9317209
    Abstract: The invention is directed towards a system and method that utilizes external memory devices to cache sectors from a rotating storage device (e.g., a hard drive) to improve system performance. When an external memory device (EMD) is plugged into the computing device or onto a network in which the computing device is connected, the system recognizes the EMD and populates the EMD with disk sectors. The system routes I/O read requests directed to the disk sector to the EMD cache instead of the actual disk sector. The use of EMDs increases performance and productivity on the computing device systems for a fraction of the cost of adding memory to the computing device.
    Type: Grant
    Filed: October 31, 2014
    Date of Patent: April 19, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Alexander Kirshenbaum, Cenk Ergan, Michael R. Fortin, Robert L. Reinauer
  • Patent number: 8914557
    Abstract: In an example embodiment, data is transferred from a higher speed memory to a lower speed memory or data storage device after determining a size of a block of data to be written to the lower speed memory. In an example embodiment data is collected in the higher speed memory until an amount of collected data is equal to or greater than the size of the block to be written, and then the collected data is transferred to the lower speed memory or data storage. In an example embodiment, the block size can be a predefined erase block size of the lower speed memory. In an example embodiment, the lower speed device is a flash memory.
    Type: Grant
    Filed: December 16, 2005
    Date of Patent: December 16, 2014
    Assignee: Microsoft Corporation
    Inventors: Michael R. Fortin, Robert L. Reinauer
  • Patent number: 8909861
    Abstract: The invention is directed towards a system and method that utilizes external memory devices to cache sectors from a rotating storage device (e.g., a hard drive) to improve system performance. When an external memory device (EMD) is plugged into the computing device or onto a network in which the computing device is connected, the system recognizes the EMD and populates the EMD with disk sectors. The system routes I/O read requests directed to the disk sector to the EMD cache instead of the actual disk sector. The use of EMDs increases performance and productivity on the computing device systems for a fraction of the cost of adding memory to the computing device.
    Type: Grant
    Filed: July 21, 2011
    Date of Patent: December 9, 2014
    Assignee: Microsoft Corporation
    Inventors: Alexander Kirshenbaum, Cenk Ergan, Michael R. Fortin, Robert L. Reinauer
  • Patent number: 8850148
    Abstract: Multiple copy sets of data are maintained on one or more storage devices. Each copy set includes at least some of the same data units as other sets. Different sets optionally have data units stored in different orders on the storage device(s). A particular one of the sets of data is selected as the set to be accessed in response to detecting a particular scenario.
    Type: Grant
    Filed: April 29, 2013
    Date of Patent: September 30, 2014
    Assignee: Microsoft Corporation
    Inventors: Michael R. Fortin, Cenk Ergan, Mehmet Iyigun, Yevgeniy Bak, Benjamin A. Mickle, Alexander Kirshenbaum
  • Publication number: 20140047189
    Abstract: Determining and using the ideal size of memory to be transferred from high speed memory to a low speed memory may result in speedier saves to the low speed memory and a longer life for the low speed memory.
    Type: Application
    Filed: October 18, 2013
    Publication date: February 13, 2014
    Applicant: Microsoft Corporation
    Inventors: Michael R. Fortin, Robert L. Reinauer
  • Patent number: 8560760
    Abstract: In a computer-implemented method for filtering input/output operations of a flash drive, an input/output request directed toward a flash drive is received. It is determined whether the input/output request is associated with a high volume write operation. If the input/output request is associated with the high volume write operation, a flash drive input/output management action to perform is selected. If the input/output request is not associated with the high volume write operation, the input/output request is forwarded to the flash drive.
    Type: Grant
    Filed: January 31, 2007
    Date of Patent: October 15, 2013
    Assignee: Microsoft Corporation
    Inventors: Dilesh Dhokia, Mukesh Karki, Michael R. Fortin
  • Patent number: 8539186
    Abstract: A proactive, resilient and self-tuning memory management system and method that result in actual and perceived performance improvements in memory management, by loading and maintaining data that is likely to be needed into memory, before the data is actually needed. The system includes mechanisms directed towards historical memory usage monitoring, memory usage analysis, refreshing memory with highly-valued (e.g., highly utilized) pages, I/O pre-fetching efficiency, and aggressive disk management. Based on the memory usage information, pages are prioritized with relative values, and mechanisms work to pre-fetch and/or maintain the more valuable pages in memory. Pages are pre-fetched and maintained in a prioritized standby page set that includes a number of subsets, by which more valuable pages remain in memory over less valuable pages. Valuable data that is paged out may be automatically brought back, in a resilient manner.
    Type: Grant
    Filed: April 13, 2010
    Date of Patent: September 17, 2013
    Assignee: Microsoft Corporation
    Inventors: Stuart Sechrest, Michael R. Fortin, Mehmet Iyigun, Cenk Ergan
  • Patent number: 8527690
    Abstract: An exemplary method includes writing data to locations in non-volatile solid-state memory and deciding whether to move data written to one location in the memory to another location in the memory based on generation of the data and wear of the other location. Such a method may be used for non-volatile random access memory (NVRAM). Various other methods, devices, systems, etc., are also disclosed.
    Type: Grant
    Filed: June 26, 2008
    Date of Patent: September 3, 2013
    Assignee: Microsoft Corporation
    Inventors: James R Hamilton, Michael R Fortin, Mike Neil, Burton J Smith
  • Patent number: 8489810
    Abstract: In a method of synchronizing with a separated disk cache, the separated cache is configured to transfer cache data to a staging area of a storage device. An atomic commit operation is utilized to instruct the storage device to atomically commit the cache data to a mapping scheme of the storage device.
    Type: Grant
    Filed: April 11, 2012
    Date of Patent: July 16, 2013
    Assignee: Microsoft Corporation
    Inventors: Ruston Panabaker, Cenk Ergan, Michael R. Fortin
  • Patent number: 8433871
    Abstract: Multiple copy sets of data are maintained on one or more storage devices. Each copy set includes at least some of the same data units as other sets. Different sets optionally have data units stored in different orders on the storage device(s). A particular one of the sets of data is selected as the set to be accessed in response to detecting a particular scenario.
    Type: Grant
    Filed: March 6, 2012
    Date of Patent: April 30, 2013
    Assignee: Microsoft Corporation
    Inventors: Michael R. Fortin, Cenk Ergan, Mehmet Iyigun, Yevgeniy Bak, Benjamin A. Mickle, Alexander Kirshenbaum
  • 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