Caching performance optimization
Abstract
A method for managing data storage is described. The method includes receiving data from an external host at a peripheral storage device, detecting a file system type of the external host, and adapting a caching policy for transmitting the data to a memory accessible by the storage device, wherein the caching policy is based on the detected file system type. The detection of the file system type can be based on the received data. The detection bases can include a size of the received data. In some implementations, the detection of the file system type can be based on accessing the memory for file system type indicators that are associated with a unique file system type. Adapting the caching policy can reduce a number of data transmissions to the memory. The detected file system type can be a file allocation table (FAT) system type.
Claims
exact text as granted — not AI-modified1 . A method for managing data, the method comprising:
receiving at a peripheral storage device an indication to prepare to perform memory operations on memory of the peripheral storage device; in response to receiving the indication and before receiving a command to perform the memory operations, identifying data stored in the memory of the peripheral storage device that is likely to be frequently accessed while performing the memory operations; caching the identified data in a cache of the peripheral storage device; while performing the memory operations, modifying at least a portion of the identified data in the cache without rewriting the modified portion of the identified data in the cache to the memory; and writing at least the modified portion of the identified data from the cache to the memory after performing the memory operations.
2 . The method of claim 1 , wherein the identified data that is likely to be frequently accessed includes file structure data for a file system used to store files in the memory.
3 . The method of claim 2 , wherein the file structure data includes a file access table (FAT).
4 . The method of claim 1 , wherein the identified data that is likely to be frequently accessed includes directory entries for a file system used to store files in the memory.
5 . The method of claim 1 , wherein the memory includes flash memory.
6 . The method of claim 1 , wherein the received indication corresponds to the peripheral storage device starting-up.
7 . The method of claim 1 , wherein the received indication corresponds to a request to read from or write to the memory of the peripheral storage device.
8 . The method of claim 1 , wherein the received indication corresponds to the peripheral storage device being communicatively connected to an external host system.
9 . The method of claim 8 , wherein the time subsequent corresponds to the peripheral storage device being disconnected from the external host system.
10 . The method of claim 1 , wherein the modified portion of the identified data is written from the cache to the memory in response to a power source for the peripheral storage device changing from a power source external to the peripheral storage device to a portable power source local to the peripheral storage device.
11 . The method of claim 1 , wherein the modified portion of the identified data is written from the cache to the memory in response to a power source for the peripheral storage device changing from a portable power source local to the peripheral storage device to a power source external to the peripheral storage device.
12 . The method of claim 1 , wherein writing at least the modified portion of the identified data from the cache to the memory causes a corresponding portion of data stored in the memory to be updated to reflect modifications made to the identified data while performing the memory operations.
13 . The method of claim 1 , wherein the memory of the peripheral storage device includes units of memory, each of which includes multiple sub-units of memory;
wherein the peripheral storage device is configured to write data to the memory in units of memory; wherein the portion of the identified data modified in the cache comprises a sub-unit of memory; and wherein writing at least the modified portion of the identified data from the cache to the memory includes writing a unit of memory that includes the modified portion of the identified data from the cache to the memory.
14 . The method of claim 13 , wherein modifying at least the portion of the identified data in the cache includes performing multiple write operations to one or more storage locations in the cache that are associated with the identified data.
15 . The method of claim 13 , wherein the units of memory include blocks of memory and the sub-units of memory include pages of memory.
16 . An article of manufacture comprising machine-readable instructions operable to cause a data processing apparatus to:
receive an indication to prepare to perform memory operations on memory of the article of manufacture; in response to receiving the indication and before receiving a command to perform the memory operations, identifying data stored in the memory that is likely to be frequently accessed while performing the memory operations; caching the identified data in a cache of the article of manufacture; while performing the memory operations, modifying at least a portion of the identified data in the cache without rewriting the modified portion of the identified data in the cache to the memory; and writing at least the modified portion of the identified data from the cache to the memory after performing the memory operations.
17 . The article of manufacture of claim 16 , wherein the identified data that is likely to be frequently accessed includes file structure data for a file system used to store files in the memory.
18 . The article of manufacture of claim 16 , wherein the identified data that is likely to be frequently accessed includes directory entries for a file system used to store files in the memory.
19 . The article of manufacture of claim 16 , wherein the received indication corresponds to the article of manufacture being communicatively connected to an external host system; and
wherein the modified portion of the identified data is written from the cache to the memory in response to the article of manufacture being disconnected from the external host system.
20 . A system for managing data comprising:
memory configured to store data and to provide access to stored data; an interface configured to receive an indication to prepare to perform memory operations on the memory; a cache configured to cache data for use during the memory operations; and a controller configured to: in response to the indication to prepare to perform the memory operations and before receiving a command to perform the memory operations, identify data stored in the memory that is likely to be frequently accessed while performing the memory operations; cache the identified data in the cache; while performing the memory operations, modify at least a portion of the identified data in the cache without rewriting the modified portion of the identified data in the cache to the memory; and writing at least the modified portion of the identified data from the cache to the memory after performing the memory operations.Join the waitlist — get patent alerts
Track US2013013861A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.