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: 20140279877Abstract: 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: ApplicationFiled: May 27, 2014Publication date: September 18, 2014Applicant: Microsoft CorporationInventors: SACHIN PATEL, YADHU N. GOPALAN
-
Patent number: 8738845Abstract: 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: GrantFiled: September 19, 2011Date of Patent: May 27, 2014Assignee: Microsoft CorporationInventors: Sachin Patel, Yadhu N. Gopalan
-
Patent number: 8667213Abstract: 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: GrantFiled: September 14, 2012Date of Patent: March 4, 2014Assignee: Microsoft CorporationInventors: Andrew Rogers, Sachin C. Patel, Yadhu N. Gopalan
-
Patent number: 8645435Abstract: 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: GrantFiled: August 14, 2008Date of Patent: February 4, 2014Assignee: Microsoft CorporationInventors: Sachin Chiman Patel, Andrew Martin Pearson, Yadhu N. Gopalan, Richard Thomas Palm
-
Publication number: 20130013856Abstract: 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: ApplicationFiled: September 14, 2012Publication date: January 10, 2013Applicant: MICROSOFT CORPORATIONInventors: Andrew Rogers, Sachin C. Patel, Yadhu N. Gopalan
-
Patent number: 8347046Abstract: 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: GrantFiled: April 15, 2008Date of Patent: January 1, 2013Assignee: Microsoft CorporationInventors: Ruston Panabaker, James R. Hamilton, William J. Westerinen, Yadhu N. Gopalan, Mark A. Myers
-
Patent number: 8307148Abstract: 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: GrantFiled: June 23, 2006Date of Patent: November 6, 2012Assignee: Microsoft CorporationInventors: Andrew Rogers, Sachin C. Patel, Yadhu N. Gopalan
-
Patent number: 8156165Abstract: 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: GrantFiled: January 29, 2007Date of Patent: April 10, 2012Assignee: Microsoft CorporationInventors: Michael D. Malueg, Hang Li, Yadhu N. Gopalan, Ronald O Radko, Daniel J. Polivy, Sharon Drasnin, Jason Ryan Farmer, DaiQian Huang
-
Publication number: 20120011177Abstract: 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: ApplicationFiled: September 19, 2011Publication date: January 12, 2012Applicant: MICROSOFT CORPORATIONInventors: Sachin Patel, Yadhu N. Gopalan
-
Patent number: 8069192Abstract: 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: GrantFiled: December 1, 2004Date of Patent: November 29, 2011Assignee: Microsoft CorporationInventors: Andrew Michael Rogers, Yadhu N. Gopalan, Bor-Ming Hsieh, David Fischer Kelley
-
Patent number: 8024507Abstract: 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: GrantFiled: March 27, 2008Date of Patent: September 20, 2011Assignee: Microsoft CorporationInventors: Sachin Patel, Yadhu N. Gopalan
-
Patent number: 7779426Abstract: 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: GrantFiled: March 30, 2006Date of Patent: August 17, 2010Assignee: Microsoft CorporationInventors: Andrew Michael Rogers, Sachin Chiman Patel, Yadhu N. Gopalan
-
Publication number: 20100115006Abstract: 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: ApplicationFiled: January 11, 2010Publication date: May 6, 2010Applicant: Microsoft CorporationInventors: Andrew Michael Rogers, Yadhu N. Gopalan
-
Patent number: 7711923Abstract: 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: GrantFiled: June 23, 2006Date of Patent: May 4, 2010Assignee: Microsoft CorporationInventors: Andrew Rogers, Sachin C. Patel, Yadhu N. Gopalan
-
Patent number: 7698699Abstract: 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: GrantFiled: December 1, 2004Date of Patent: April 13, 2010Assignee: Microsoft CorporationInventors: Andrew Michael Rogers, Yadhu N. Gopalan
-
Patent number: 7650458Abstract: 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: GrantFiled: June 23, 2006Date of Patent: January 19, 2010Assignee: Microsoft CorporationInventors: Andrew Rogers, Sachin C. Patel, Yadhu N. Gopalan
-
Patent number: 7647358Abstract: 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: GrantFiled: December 1, 2004Date of Patent: January 12, 2010Assignee: Microsoft CorporationInventors: Andrew Michael Rogers, Yadhu N. Gopalan
-
Publication number: 20090320089Abstract: 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: ApplicationFiled: June 20, 2008Publication date: December 24, 2009Applicant: Microsoft CorporationInventors: Matthew G. Lyons, Scott R. Shell, Yadhu N. Gopalan, Neil R. Coles, John S. Camilleri, Loren Kohnfelder, Andrew M. Rogers, Sha Viswanathan
-
Publication number: 20090271563Abstract: 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: ApplicationFiled: April 28, 2008Publication date: October 29, 2009Applicant: MICROSOFT CORPORATIONInventors: Yadhu N. Gopalan, William J. Westerinen, James R. Hamilton, John Mark Miller, Vladimir Sadovsky, Robert Patrick Fitzgerald
-
Publication number: 20090259795Abstract: 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: ApplicationFiled: April 15, 2008Publication date: October 15, 2009Applicant: MICROSOFT CORPORATIONInventors: Ruston Panabaker, James R. Hamilton, William J. Westerinen, Yadhu N. Gopalan, Mark A. Myers