Patents by Inventor Yadhu N. Gopalan

Yadhu N. Gopalan 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: 20140279877
    Abstract: Concepts for enhancing operation of transaction-safe file allocation table systems are described. The concepts include writing a file to non-volatile memory media and rendering an update of file size to the TFAT storage medium; and receiving a request to locate data in a non-volatile memory having a TFAT file management system, selecting a sector of the memory to parse to locate the data, determining when the selected sector is a first sector of a directory or subdirectory of the memory and when determining reveals that the selected sector is a first sector, skipping reading data from the selected sector. The concepts also include flushing a cache and synchronizing FATs.
    Type: Application
    Filed: May 27, 2014
    Publication date: September 18, 2014
    Applicant: Microsoft Corporation
    Inventors: SACHIN PATEL, YADHU N. GOPALAN
  • Patent number: 8738845
    Abstract: Concepts for enhancing operation of transaction-safe file allocation table systems are described. The concepts include writing a file to non-volatile memory media and rendering an update of file size to the TFAT storage medium; and receiving a request to locate data in a non-volatile memory having a TFAT file management system, selecting a sector of the memory to parse to locate the data, determining when the selected sector is a first sector of a directory or subdirectory of the memory and when determining reveals that the selected sector is a first sector, skipping reading data from the selected sector. The concepts also include flushing a cache and synchronizing FATs.
    Type: Grant
    Filed: September 19, 2011
    Date of Patent: May 27, 2014
    Assignee: Microsoft Corporation
    Inventors: Sachin Patel, Yadhu N. Gopalan
  • 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
  • Patent number: 8645435
    Abstract: An application issues an application command to a file system of the computing device, where the application command includes a location of data at a source. The file system allocates space on a medium for the data and compiles a list including an identification of each portion of the medium that is to be used to store the data. The file system then issues a file system command to a block driver of the medium, where the file system command includes the location of the data at the source and the compiled list. The block driver contacts the source, requests the data at the location thereof, and writes the data to the portions of the medium included in the compiled list.
    Type: Grant
    Filed: August 14, 2008
    Date of Patent: February 4, 2014
    Assignee: Microsoft Corporation
    Inventors: Sachin Chiman Patel, Andrew Martin Pearson, Yadhu N. Gopalan, Richard Thomas Palm
  • 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: 8347046
    Abstract: Data can be retained upon a storage medium that has characteristics suitable for the data. However, as the storage mediums are used, time passes, etc., characteristics of memory can change and therefore data can reside upon an improper medium. Data can be dynamically moved from one storage location to another automatically and intelligently based upon a change in characteristics. In addition, new data can be placed on a storage medium based upon characteristics of the medium in a current state.
    Type: Grant
    Filed: April 15, 2008
    Date of Patent: January 1, 2013
    Assignee: Microsoft Corporation
    Inventors: Ruston Panabaker, James R. Hamilton, William J. Westerinen, Yadhu N. Gopalan, Mark A. Myers
  • 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: 8156165
    Abstract: In one aspect, the present disclosure describes a process for maintaining file allocation tables (FATs) for a volume of storage medium. The process includes triggering, by a write operation, modification of data in an existing sector of a data file by writing of data to a new sector of the storage medium. The process also includes writing revised used/unused sector information into one FAT and setting a variable indicative of a number of FATs (NOF) to a first value. The process additionally includes copying the one FAT to another FAT and re-setting the variable to a second value.
    Type: Grant
    Filed: January 29, 2007
    Date of Patent: April 10, 2012
    Assignee: Microsoft Corporation
    Inventors: Michael D. Malueg, Hang Li, Yadhu N. Gopalan, Ronald O Radko, Daniel J. Polivy, Sharon Drasnin, Jason Ryan Farmer, DaiQian Huang
  • Publication number: 20120011177
    Abstract: Concepts for enhancing operation of transaction-safe file allocation table systems are described. The concepts include writing a file to non-volatile memory media and rendering an update of file size to the TFAT storage medium; and receiving a request to locate data in a non-volatile memory having a TFAT file management system, selecting a sector of the memory to parse to locate the data, determining when the selected sector is a first sector of a directory or subdirectory of the memory and when determining reveals that the selected sector is a first sector, skipping reading data from the selected sector. The concepts also include flushing a cache and synchronizing FATs.
    Type: Application
    Filed: September 19, 2011
    Publication date: January 12, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Sachin Patel, Yadhu N. Gopalan
  • Patent number: 8069192
    Abstract: A computing device includes a processor, a storage device having an executable file, and a file system for executing the file in place on the storage device on behalf of the processor. The file is divided into multiple non-contiguous fragments on the storage device, and the computing device further includes a virtual address translator interposed between the processor and the storage device for translating between physical addresses of the fragments of the file on the storage device and corresponding virtual addresses employed by the processor.
    Type: Grant
    Filed: December 1, 2004
    Date of Patent: November 29, 2011
    Assignee: Microsoft Corporation
    Inventors: Andrew Michael Rogers, Yadhu N. Gopalan, Bor-Ming Hsieh, David Fischer Kelley
  • Patent number: 8024507
    Abstract: Concepts for enhancing operation of transaction-safe file allocation table systems are described. The concepts include writing a file to non-volatile memory media and rendering an update of file size to the TFAT storage medium; and receiving a request to locate data in a non-volatile memory having a TFAT file management system, selecting a sector of the memory to parse to locate the data, determining when the selected sector is a first sector of a directory or subdirectory of the memory and when determining reveals that the selected sector is a first sector, skipping reading data from the selected sector. The concepts also include flushing a cache and synchronizing FATs.
    Type: Grant
    Filed: March 27, 2008
    Date of Patent: September 20, 2011
    Assignee: Microsoft Corporation
    Inventors: Sachin Patel, Yadhu N. Gopalan
  • Patent number: 7779426
    Abstract: A flash driver can be used by file systems and other applications to determine more detailed attributes and properties, such as region geometry, that describe the underlying flash component. This allows a file system, for example, to be made aware of each flash region and its properties. The file system may then be optimized to more efficiently utilize the flash component. These optimizations may lead to increased component longevity and better read/write performance.
    Type: Grant
    Filed: March 30, 2006
    Date of Patent: August 17, 2010
    Assignee: Microsoft Corporation
    Inventors: Andrew Michael Rogers, Sachin Chiman Patel, Yadhu N. Gopalan
  • Publication number: 20100115006
    Abstract: A computing device includes a storage device and a file system for storing and retrieving files on the storage device. The storage device includes storage space divided into sectors and the file system externally addresses the storage device on a per-sector basis, but internally divides each sector of the storage device into chunks and manages data within each sector on a per-chunk basis. Thus, the file system reads a chunk from or writes a chunk to the storage device by reading or writing the sector having the chunk.
    Type: Application
    Filed: January 11, 2010
    Publication date: May 6, 2010
    Applicant: Microsoft Corporation
    Inventors: Andrew Michael Rogers, 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: 7698699
    Abstract: A method is provided for updating an application residing on a storage device of a computing device. The update is simulated by performing all necessary actions except for actually committing data relating to the update to the storage device, and it is determined whether the simulated update succeeded. If so, the update is performed by performing the same necessary actions and also actually committing the data relating to the update to the storage device.
    Type: Grant
    Filed: December 1, 2004
    Date of Patent: April 13, 2010
    Assignee: Microsoft Corporation
    Inventors: Andrew Michael Rogers, 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: 7647358
    Abstract: A computing device includes a storage device and a file system for storing and retrieving files on the storage device. The storage device includes storage space divided into sectors and the file system externally addresses the storage device on a per-sector basis, but internally divides each sector of the storage device into chunks and manages data within each sector on a per-chunk basis. Thus, the file system reads a chunk from or writes a chunk to the storage device by reading or writing the sector having the chunk.
    Type: Grant
    Filed: December 1, 2004
    Date of Patent: January 12, 2010
    Assignee: Microsoft Corporation
    Inventors: Andrew Michael Rogers, Yadhu N. Gopalan
  • Publication number: 20090320089
    Abstract: A User Brokered Authorization (UBA) mechanism for policy decisions in a computing device is provided. The authorization mechanism interacts with an authorization layer of the computing device's operating system and enables a determination of whether an authorization decision can be made programmatically or by end user decision based on generalized device policy.
    Type: Application
    Filed: June 20, 2008
    Publication date: December 24, 2009
    Applicant: Microsoft Corporation
    Inventors: Matthew G. Lyons, Scott R. Shell, Yadhu N. Gopalan, Neil R. Coles, John S. Camilleri, Loren Kohnfelder, Andrew M. Rogers, Sha Viswanathan
  • Publication number: 20090271563
    Abstract: Providing for improved transactioning for Flash memory is described herein. By way of example, transactioning operations associated with abstract data structures can be bundled into a common layer of a Flash management protocol stack, to reduce transaction redundancy at abstracted layers. In some aspects, the common layer can be a block level layer providing relatively direct access to low level Flash. Thus, a file system or database application, operating at a higher, abstracted layer of the Flash management protocol stack, can offload transactioning operations to a block level process that has access to underlying Flash memory. As a result, increased efficiency, throughput, and added flexibility can be achieved for storage system transactioning.
    Type: Application
    Filed: April 28, 2008
    Publication date: October 29, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Yadhu N. Gopalan, William J. Westerinen, James R. Hamilton, John Mark Miller, Vladimir Sadovsky, Robert Patrick Fitzgerald
  • Publication number: 20090259795
    Abstract: Data can be retained upon a storage medium that has characteristics suitable for the data. However, as the storage mediums are used, time passes, etc., characteristics of memory can change and therefore data can reside upon an improper medium. Data can be dynamically moved from one storage location to another automatically and intelligently based upon a change in characteristics. In addition, new data can be placed on a storage medium based upon characteristics of the medium in a current state.
    Type: Application
    Filed: April 15, 2008
    Publication date: October 15, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Ruston Panabaker, James R. Hamilton, William J. Westerinen, Yadhu N. Gopalan, Mark A. Myers