Patents by Inventor Sachin C. Patel

Sachin C. Patel 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: 8667213
    Abstract: Various flash management techniques may be described. An apparatus may comprise a processor, a flash memory coupled to the processor, and a flash management module. The flash management module may be executed by the processor to receive a write request to write data to the flash memory, write a first control sector with a sequence number to the flash memory, and write the sequence number, an address for a logical sector, and data to at least one physical sector corresponding to the logical sector of the flash memory. Other embodiments are described and claimed.
    Type: Grant
    Filed: September 14, 2012
    Date of Patent: March 4, 2014
    Assignee: Microsoft Corporation
    Inventors: Andrew Rogers, Sachin C. Patel, Yadhu N. Gopalan
  • Publication number: 20130013856
    Abstract: Various flash management techniques may be described. An apparatus may comprise a processor, a flash memory coupled to the processor, and a flash management module. The flash management module may be executed by the processor to receive a write request to write data to the flash memory, write a first control sector with a sequence number to the flash memory, and write the sequence number, an address for a logical sector, and data to at least one physical sector corresponding to the logical sector of the flash memory. Other embodiments are described and claimed.
    Type: Application
    Filed: September 14, 2012
    Publication date: January 10, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Andrew Rogers, Sachin C. Patel, Yadhu N. Gopalan
  • Patent number: 8307148
    Abstract: Various flash management techniques may be described. An apparatus may comprise a processor, a flash memory coupled to the processor, and a flash management module. The flash management module may be executed by the processor to receive a write request to write data to the flash memory, write a first control sector with a sequence number to the flash memory, and write the sequence number, an address for a logical sector, and data to at least one physical sector corresponding to the logical sector of the flash memory. Other embodiments are described and claimed.
    Type: Grant
    Filed: June 23, 2006
    Date of Patent: November 6, 2012
    Assignee: Microsoft Corporation
    Inventors: Andrew Rogers, Sachin C. Patel, Yadhu N. Gopalan
  • Patent number: 7711923
    Abstract: Flash memory is accessed via mapping tables comprising a master mapping table and at least one secondary mapping table. The master mapping table contains indexes to the secondary mapping tables. The secondary mapping tables contain indexes to locations in the flash memory. The mapping tables are maintained in the flash memory. Upon initialization subsequent a safe power shutdown, the master mapping table is cached and secondary mapping tables are cached as needed. Upon initialization subsequent an unsafe power shutdown, the mapping tables are constructed in accordance with a multiple-phase process. In an example embodiment, the multiple-phase process comprises locating all the secondary mapping tables stored in the flash memory, determining which secondary mapping tables are valid, determining which secondary mapping tables are invalid, determining which sectors of the flash memory are free, and constructing the master mapping table and the secondary mapping tables from this information.
    Type: Grant
    Filed: June 23, 2006
    Date of Patent: May 4, 2010
    Assignee: Microsoft Corporation
    Inventors: Andrew Rogers, Sachin C. Patel, Yadhu N. Gopalan
  • Patent number: 7650458
    Abstract: Various flash management techniques may be described. An apparatus may comprise a processor, a flash memory coupled to the processor, and a flash management module. The flash management module may be executed by the processor to receive a write transaction request to write data to a flash memory, and write the data to a set of multiple discontiguous logical sectors corresponding to a set of physical sectors of the flash memory in a single atomic operation. Other embodiments are described and claimed.
    Type: Grant
    Filed: June 23, 2006
    Date of Patent: January 19, 2010
    Assignee: Microsoft Corporation
    Inventors: Andrew Rogers, Sachin C. Patel, Yadhu N. Gopalan
  • Patent number: 7549042
    Abstract: Described is a system and method in which software updates in the form of self-contained, secure entities are applied to an embedded device's non-volatile storage in a failsafe manner. Various types of software updates may be applied, and updates may contain executable code and/or data. Following a reboot, an initial program loader determines an update mode, and if updating, boots to a special update loader. The update loader processes update packages to apply the updates. Kernel partition, system partition and reserve section updates may be updated with entire files or binary difference files, with failure handling mechanisms are provided for each type of update. Updates may be simulated before committing them. Updates may be relocated in memory as appropriate for a device.
    Type: Grant
    Filed: May 1, 2004
    Date of Patent: June 16, 2009
    Assignee: Microsoft Corporation
    Inventors: Jeffery D. Glaum, Scott R. Shell, Andrew M. Rogers, Michael E. Markley, Sachin C. Patel, Mark Scott Tonkelowitz, Mark Plagge
  • Publication number: 20070300008
    Abstract: Various flash management techniques may be described. An apparatus may comprise a processor, a flash memory coupled to the processor, and a flash management module. The flash management module may be executed by the processor to receive a write request to write data to the flash memory, write a first control sector with a sequence number to the flash memory, and write the sequence number, an address for a logical sector, and data to at least one physical sector corresponding to the logical sector of the flash memory. Other embodiments are described and claimed.
    Type: Application
    Filed: June 23, 2006
    Publication date: December 27, 2007
    Applicant: Microsoft Corporation
    Inventors: Andrew Rogers, Sachin C. Patel, Yadhu N. Gopalan
  • Publication number: 20070300037
    Abstract: Flash memory is accessed via mapping tables comprising a master mapping table and at least one secondary mapping table. The master mapping table contains indexes to the secondary mapping tables. The secondary mapping tables contain indexes to locations in the flash memory. The mapping tables are maintained in the flash memory. Upon initialization subsequent a safe power shutdown, the master mapping table is cached and secondary mapping tables are cached as needed. Upon initialization subsequent an unsafe power shutdown, the mapping tables are constructed in accordance with a multiple-phase process. In an example embodiment, the multiple-phase process comprises locating all the secondary mapping tables stored in the flash memory, determining which secondary mapping tables are valid, determining which secondary mapping tables are invalid, determining which sectors of the flash memory are free, and constructing the master mapping table and the secondary mapping tables from this information.
    Type: Application
    Filed: June 23, 2006
    Publication date: December 27, 2007
    Applicant: Microsoft Corporation
    Inventors: Andrew Rogers, Sachin C. Patel, Yadhu N. Gopalan
  • Publication number: 20070300009
    Abstract: Various flash management techniques may be described. An apparatus may comprise a processor, a flash memory coupled to the processor, and a flash management module. The flash management module may be executed by the processor to receive a write transaction request to write data to a flash memory, and write the data to a set of multiple discontiguous logical sectors corresponding to a set of physical sectors of the flash memory in a single atomic operation. Other embodiments are described and claimed.
    Type: Application
    Filed: June 23, 2006
    Publication date: December 27, 2007
    Applicant: Microsoft Corporation
    Inventors: Andrew Rogers, Sachin C. Patel, Yadhu N. Gopalan