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).

  • Publication number: 20100199063
    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: Application
    Filed: April 13, 2010
    Publication date: August 5, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Stuart Sechrest, Michael R. Fortin, Mehmet Iyigun, Cenk Ergan
  • Patent number: 7698513
    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: June 9, 2005
    Date of Patent: April 13, 2010
    Assignee: Microsoft Corporation
    Inventors: Stuart Sechrest, Michael R. Fortin, Mehmet Iyigun, Cenk Ergan
  • Publication number: 20100077197
    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: November 30, 2009
    Publication date: March 25, 2010
    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: 7669044
    Abstract: Increased efficiency in booting a computer uses a process of logging physical-level disk access during a boot cycle for use in creating a boot plan for a subsequent boot. Processing the log from one or more previous boots removes unnecessary reads such as those associated with temporary files and then orders the remaining read accesses based on times of prior read accesses and and by physical location on the disk. Upon boot, data likely to be requested first orders the remaining read accesses based on times of prior read accesses and By taking advantage of disk head and platter characteristics, data is read in sweeps through the disk, reducing overall latency. Requests that are not in cache may be held if the data is already scheduled for retrieval.
    Type: Grant
    Filed: September 29, 2006
    Date of Patent: February 23, 2010
    Assignee: Microsoft Corporation
    Inventors: Robert P. Fitzgerald, Alexander Kirshenbaum, Michael R. Fortin, Aaron Dietrich, Cenk Ergan, Charles T. Lenzmeier, Matthew Ayers
  • Patent number: 7644239
    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: May 3, 2004
    Date of Patent: January 5, 2010
    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
  • Publication number: 20090327580
    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: Application
    Filed: June 26, 2008
    Publication date: December 31, 2009
    Applicant: Microsoft Corporation
    Inventors: James R. Hamilton, Michael R. Fortin, Mike Neil, Burton J. Smith
  • Patent number: 7620773
    Abstract: A method and apparatus to improve the read/write performance of a hard drive is presented. A device having solid state, non-volatile (NV) memory is added in-line to the conventional hard drive and acts as a read/write cache. Data specified by the operating system is stored in the NV memory. The operating system provides a list of data to be put in NV memory. The data includes data to be pinned in NV memory and data that is dynamic. Pinned data persists in NV memory until the operating system commands it to be flushed. Dynamic data can be flushed by the hard drive controller. Data sent by an application for storage is temporarily stored in NV memory in data blocks until the operating system commits it to the disk.
    Type: Grant
    Filed: April 15, 2005
    Date of Patent: November 17, 2009
    Assignee: Microsoft Corporation
    Inventors: Clark D. Nicholson, Michael R. Fortin, Shaun B. Wiley, Cenk Ergan
  • Publication number: 20090235097
    Abstract: An exemplary method for managing power consumption of a data center includes monitoring power consumption of a data center, assessing power consumption with respect to a billing equation for power, based on the assessment, deciding whether to implement a power policy where the power policy reduces instantaneous power consumption by the data center and increases a load factor wherein the load factor is an average power consumed by the data center divided by a peak power consumed by the data center over a period of time. Various other methods, devices, systems, etc., are also disclosed.
    Type: Application
    Filed: March 14, 2008
    Publication date: September 17, 2009
    Applicant: Microsoft Corporation
    Inventors: James R. Hamilton, James J. Freely, Mike Neil, Michael J. Manos, Michael R. Fortin
  • Publication number: 20090235021
    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: Application
    Filed: May 28, 2009
    Publication date: September 17, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Ruston Panabaker, Cenk Ergan, Michael R. Fortin
  • Publication number: 20090198883
    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: Application
    Filed: February 4, 2008
    Publication date: August 6, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Michael R. Fortin, Cenk Ergan, Mehmet Iyigun, Yevgeniy Bak, Benjamin A. Mickle, Alexander Kirshenbaum
  • Patent number: 7558913
    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: June 20, 2006
    Date of Patent: July 7, 2009
    Assignee: Microsoft Corporation
    Inventors: Ruston Panabaker, Cenk Ergan, Michael R. Fortin
  • Publication number: 20090144495
    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: February 5, 2009
    Publication date: June 4, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Alexander Kirshenbaum, Cenk Ergan, Michael R. Fortin, Robert L. Reinauer
  • Patent number: 7500091
    Abstract: A delay of starting up of certain applications may result in improving the overall performance of a system. The applications to be delayed may be placed in a container object or box such that they can be tracked and that other applications dependent on the delayed applications can be appropriately handled.
    Type: Grant
    Filed: November 30, 2005
    Date of Patent: March 3, 2009
    Assignee: Microsoft Corporation
    Inventors: Cenk Ergan, Dan Li, Michael R. Fortin, Robin Giese, Robert L. Reinauer
  • Patent number: 7490197
    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 21, 2004
    Date of Patent: February 10, 2009
    Assignee: Microsoft Corporation
    Inventors: Alexander Kirshenbaum, Cenk Ergan, Michael R. Fortin, Robert L. Reinauer
  • Patent number: 7454653
    Abstract: A method and apparatus is provided that provides a reliable diskless network-bootable computers using a local non-volatile memory (NVM) cache. The NVM cache is used by the computer when the network is temporarily unavailable or slow. The cache is later synchronized with a remote boot server having remote storage volumes when network conditions improve. It is determined if data is to be stored in the NVM cache or the remote storage volume. Data sent to the remote storage volume is transactionally written and the data is cached in the NVM cache if a network outage is occurring or a transaction complete message has not been received. The data stored in the NVM cache allows the user to continue operating during network outages and the computer can be cold-booted using the data in the NVM cache if the network is unavailable.
    Type: Grant
    Filed: January 10, 2006
    Date of Patent: November 18, 2008
    Assignee: Microsoft Corporation
    Inventors: Clark D. Nicholson, William J. Westerinen, Cenk Ergan, Michael R. Fortin, Mehmet Iyigun
  • Publication number: 20080183918
    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: Application
    Filed: January 31, 2007
    Publication date: July 31, 2008
    Applicant: Microsoft Corporation
    Inventors: Dilesh Dhokia, Mukesh Karki, Michael R. Fortin
  • Publication number: 20080082812
    Abstract: Increased efficiency in booting a computer uses a process of logging physical-level disk access during a boot cycle for use in creating a boot plan for a subsequent boot. Processing the log from one or more previous boots removes unnecessary reads such as those associated with temporary files and then orders the remaining read accesses based on times of prior read accesses and and by physical location on the disk. Upon boot, data likely to be requested first orders the remaining read accesses based on times of prior read accesses and By taking advantage of disk head and platter characteristics, data is read in sweeps through the disk, reducing overall latency. Requests that are not in cache may be held if the data is already scheduled for retrieval.
    Type: Application
    Filed: September 29, 2006
    Publication date: April 3, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Alexander Kirshenbaum, Robert P. Fitzgerald, Michael R. Fortin, Aaron Dietrich, Cenk Ergan, Charles T. Lenzmeier, Matthew Ayers
  • Publication number: 20070294474
    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: Application
    Filed: June 20, 2006
    Publication date: December 20, 2007
    Applicant: Microsoft Corporation
    Inventors: Ruston Panabaker, Cenk Ergan, Michael R. Fortin
  • Patent number: 7203830
    Abstract: A method and apparatus to decrease the boot time and the hibernate awaken time of a computer system is presented. Static and dynamic configuration data is stored in flash memory. The size of flash memory is selected so that the initialization time of the configuration data stored in the flash memory is approximately equal to the spin-up time of the disk drive where the operating system is stored. During power down or entry into a hibernate mode, the computer system determines the static and dynamic configuration data to be stored in flash memory based on a history of prior uses. Data is also stored in the flash memory during system operation to reduce the number of times the disk drive is spun up. When the computer system is powered up or awakened from hibernation, the configuration data in flash memory is initialized while the disk drive is spinning up.
    Type: Grant
    Filed: August 16, 2005
    Date of Patent: April 10, 2007
    Assignee: Microsoft Corporation
    Inventors: Michael R. Fortin, Cenk Ergan
  • Patent number: 7185155
    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: June 9, 2005
    Date of Patent: February 27, 2007
    Assignee: Microsoft Corporation
    Inventors: Stuart Sechrest, Michael R. Fortin, Mehmet Iyigun, Cenk Ergan