IP Library Granted Patent US 8,205,060
Granted Patent B2
US 8,205,060 · App. 12/644,885 · Granted Jun 19, 2012

Discardable files

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,205,060
App. No.
12/644,885
Granted
Jun 19, 2012
Kind
B2
Abstract

The present application includes methods and system for managing a storage device. In one implementation, a storage allocator that is present in a host or a storage device receives a request to store a file in a storage area of the storage device. The storage allocator marks the file as discardable in a file system structure associated with the storage device and updates a primary file allocation table (“FAT”) to associate a cluster chain that is allocated to the file with the file. The storage allocator additionally updates a discardable FAT or a database to reflect a physical location of the file, or may generate one or more location files that store the physical location of the file. The storage allocator then manages the storage area device based on the FAT and a discardable FAT, database, or one more location files indicating the physical location of the file.

Claims (118)

1. A method for managing a storage device, the method comprising:

in a host to which a storage device is operatively coupled:

receiving a request to store a first file in a storage area of the storage device, wherein the storage contains a primary file allocation table (“FAT”) and, in addition, a discardable FAT;

marking the first file as discardable, the marking of the first file being done in a file system structure associated with the storage device;

causing the storage device to update the primary FAT to associate a cluster chain that is allocated to the first file with the first file;

causing the storage device to update the discardable FAT to reflect a physical location of the first file in the storage device; and

managing the storage area of the storage device in accordance with the discardable FAT.

2. The method of claim 1 , wherein the cluster chain masks at least the physical location of the first file.

3. The method of claim 1 , further comprising:

enabling an attribute associated with the first file to prevent a host operating system from accessing the first file.

4. The method of claim 1 , further comprising:

receiving a request to store a second file in the storage area of the storage device;

marking the second file as discardable, the marking of the second file being done in the file system structure associated with the storage device;

causing the storage device to update the primary FAT to associate the cluster chain with the second file, wherein the cluster chain is associated with the first file and the second file; and

causing the storage device to update the discardable FAT to reflect a physical location of the second file.

5. The method of claim 4 , wherein the cluster chain masks the physical location of the first file and the second file.

6. The method of claim 1 , further comprising:

receiving a request to store a second file in the storage area of the storage device;

marking the second file as discardable, the marking of the second file being done in the file system structure associated with the storage device;

causing the storage device to update the primary FAT to associate a second cluster chain that is allocated to the second file with the second file; and

causing the storage device to update the discardable FAT to reflect the physical location of the second file.

7. The method of claim 1 , further comprising:

marking the first file as a non-discardable file, the marking of the first file being done in the file system structure associated with the storage device;

causing the storage device to update the primary FAT to reflect the physical location of the first file; and

causing the storage device to update the discardable FAT to remove the physical location of the first file.

8. The method of claim 7 , further comprising:

identifying a value of a conversion lock identifier associated with the first file to determine whether the first file may be converted from a discardable file to a non-discardable file;

wherein the first file is marked as a non-discardable file after determining the value of the conversion lock identifier associated with the first file indicates that the first file is not locked.

9. The method of claim 1 , further comprising:

identifying a value of a conversion lock identifier associated with the first file to determine whether the first file may be converted from a discardable file to a non-discardable file; and

prohibiting the marking of the first file as non-discardable after determining the value of the convert lock identifier associated with the first file indicates that the first file is locked.

10. The method of claim 1 , further comprising:

identifying file permissions associated with a user ID and a preview file associated with the first file; and

managing access to the preview file associated with the first file based on the identified file permissions.

11. The method of claim 10 , wherein the user ID is a shared user ID.

12. The method of claim 1 , wherein the cluster chain of the primary FAT points to a location in the discardable FAT.

13. The method of claim 1 , wherein marking the first file as discardable comprises:

assigning a discarding priority level to the first file.

14. The method of claim 13 , wherein assigning the discarding priority level to the first file comprises at least one of:

setting a corresponding value to most significant bits in the primary FAT entry corresponding to the first file; or

setting a corresponding value to a data field in a file system entry corresponding to the first file.

15. The method of claim 13 , wherein the discarding priority level is assigned to the first file according to any one of:

anticipated usage of the first file;

anticipated revenue associated with using the file;

a type of file of the first file;

a size of the first file;

a location of the first file in the storage device; and

an age of the first file.

16. The method of claim 1 , wherein managing the storage area of the storage device in accordance with the discardable FAT comprises any one or a combination of:

restoring a storage usage safety margin by selectively removing one or more files marked as discardable;

freeing a storage area by removing all files marked as discardable; and

remapping clusters of the first file to a lower-performance storage module.

17. A storage system comprising:

a communication interface on a host; and

a storage allocator on the host for managing a file system associated with a storage device, the storage allocator including a processor for managing storage of one or more files in a storage area of the storage device;

wherein the processor is configured to:

receive a request via the communication interface to store a first file in a storage area of the storage device, wherein the storage device contains a primary file allocation table (“FAT”) and, in addition, a discardable FAT;

mark the first file as discardable, the marking of the first file being done in a file system structure associated with the storage device;

cause the storage device to update the primary FAT to associate a cluster chain that is allocated to the first file with the first file;

cause the storage device to update the discardable FAT to reflect a physical location of the first file in the storage device; and

manage the storage area of the storage device in accordance with the discardable FAT.

18. The storage system of claim 17 , wherein the processor is further configured to:

mark the first file as a non-discardable file, the marking of the first file being done in the file system structure associated with the storage device;

cause the storage device to update the primary FAT to reflect the physical location of the first file; and

cause the storage device to update the discardable FAT to remove the physical location of the first file.

19. The storage system of claim 18 , wherein the processor is further configured to:

identify a value of a conversion lock identifier associated with the first file to determine whether the first file may be converted from a discardable file to a non-discardable file;

wherein the first file is marked as a non-discardable file after determining the value of the conversion lock identifier associated with the first file indicates that the first file is not locked.

20. The storage system of claim 17 , wherein the processor is further configured to:

identify a value of a conversion lock identifier associated with the first file to determine whether the first file may be converted form a discardable file to a non-discardable file; and

prohibit the marking of the first file as non-discardable after determining the value of the conversion lock identifier associated with the first file indicates that the first file is locked.

21. The storage system of claim 17 , wherein the processor is further configured to:

identify file permissions associated with a user ID and a preview file associated with the first file; and

manage access to the preview file associated with the first file based on the identified file permissions.

22. The storage system of claim 17 , wherein to receive a request via the communication interface to store a first file in a storage area of the storage device, the processor is configured to derive the request to store the first file based on one or more write requests associated with the first file that are received via the communication interface.

23. A method for managing a storage device, the method comprising:

in a host to which a storage device is operatively coupled:

receiving a request to store a first file in a storage area of the storage device;

marking the first file as discardable, the marking of the first file being done in a file system structure associated with the storage device;

causing the storage device to update a file allocation table (“FAT”) to associate a cluster chain that is allocated to the first file with the first file;

updating a database to reflect a physical location of the first file in the storage device; and

managing the storage area of the storage device in accordance with the FAT and the database.

24. A method for managing a storage device, the method comprising:

in a host to which a storage device is operatively coupled:

receiving a request to store a first file in a storage area of the storage device;

marking the first file as discardable, the marking of the first file being done in a file system structure associated with the storage device;

causing a storage device to update a file allocation table (“FAT”) to associate a cluster chain that is allocated to the first file with the first file;

updating a location file to reflect a physical location of the first file in the storage device; and

managing the storage area of the storage device in accordance with the FAT and the location file.

25. The method of claim 24 , wherein the location file is a text file.

26. The method of claim 24 , wherein the location file is a binary file.

27. A method for managing a storage device, the method comprising:

in a host to which a storage device is operatively coupled:

receiving a request to store a first file in a storage area of the storage device;

marking the first file as discardable, the marking of the first file being done in a file system structure associated with the storage device;

causing the storage device to update a file allocation table (“FAT”) to associate a cluster chain that is allocated to the first file with the first file;

scrambling an order of two or more clusters of the cluster chain that are associated with the first file within the FAT;

creating a first range file in the FAT which comprises at least one cluster of the cluster chain that is associated with the first file; and

managing the storage area of the storage device in accordance with the FAT and the first range file.

28. The method of claim 27 , further comprising:

receiving a request to store a second file in the storage area of the storage device;

marking the second file as discardable, the marking of the second file being done in the file system structure associated with the storage device;

causing the storage device to update the FAT to associate the cluster chain with the second file, wherein the cluster chain is associated with the first file and the second file; and

scrambling an order of two or more clusters of the cluster chain that are associated with the second file within the FAT.

29. The method of claim 28 , further comprising:

updating the first range file in the FAT to comprise at least one cluster of the cluster chain associated with the second file.

30. The method of claim 27 , further comprising:

receiving a request to store a second file in the storage area of the storage device;

marking the second file as discardable, the marking of the second file being done in the file system structure associated with the storage device;

causing the storage device to update the FAT to associate a second cluster chain that is allocated to the second file with the second file;

scrambling an order of two or more clusters of the second cluster chain that are associated with the second file within the FAT;

creating a second range file in the FAT which comprise at least one cluster of the cluster chain associated with the second file; and

wherein managing the storage area of the storage device in accordance with the FAT and the first range file comprises:

managing the storage area of the storage device in accordance with the FAT, the first range file and the second range file.

31. The method of claim 27 , further comprising:

creating a second range file in the FAT that comprises at least one cluster of the cluster chain that is associated with the first file that does not comprise the first range file;

wherein managing the storage area of the storage device in accordance with the FAT and the first range file comprises:

managing the storage area of the storage device in accordance with the FAT, the first range file, and the second range file.

Assignments (2)
CHANGE OF NAME Recorded Aug 21, 2020
From: SANDISK IL LTD
To: WESTERN DIGITAL ISRAEL LTD
Reel/Frame 053574/0513 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2012
From: HAHN, JUDAH GAMLIEL; JAGANNADHA, BADDIREDDI KALYAN VENKANNADORA; SUBRAMANIAN, NATARAJAN RAJA
To: SANDISK IL LTD.
Reel/Frame 028212/0222 →