Memory card file recovery system

A removable semiconductor memory card for a portable appliance is provided comprising a memory with a portion thereof dedicated to deleted files, and a memory card controller that operates to recognize a memory delete command associated with a specific file, and to shift the specific file to the deleted files portion of the memory.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
FIELD OF THE INVENTION

[0001] The present invention relates generally to the field of memory devices, and more particularly, to a memory card for a portable appliance.

BACKGROUND OF THE INVENTION

[0002] Memory cards for portable appliances do not allow for the recovery of erased files. Any recovery of erased files must be implemented through a function associated with the operating system of the appliance itself. For example, most PCs have the capability for the recovery of erased files through a recycle bin. However, for memory cards for non-PC appliances, such as cameras, for example, where the memory card may be moved from appliance to appliance, this capability is lost.

SUMMARY OF THE INVENTION

[0003] In one embodiment of the present invention, a portable memory card is provided for a non-PC portable appliance, comprising the following elements on the card: a memory with a portion thereof dedicated to deleted files; and a memory card controller that operates to recognize a memory delete command associated with a specific file, and to shift the specific file to the deleted files portion of the memory.

[0004] In a further embodiment of the present invention, a method is provided for use in a memory card controller for controlling a portion of the memory card dedicated to deleted files, comprising: recognizing a memory delete command associated with a specified file; and shifting the file to the deleted files portion of the memory.

[0005] In a yet further embodiment of the present invention, a program product is provided for use in a memory card controller for controlling a portion of the memory card dedicated to deleted files, comprising machine readable program code for causing a machine to perform the following steps: recognizing a memory delete command associated with a specified file; and shifting the file to the deleted files portion of the memory.

BRIEF DESCRIPTION OF THE DRAWINGS

[0006] FIG. 1 is a schematic block diagram of one embodiment of the present invention.

[0007] FIG. 2 is a schematic block diagram of a flowchart of an embodiment of the present invention.

[0008] FIG. 3 is a schematic block diagram of a flowchart of an embodiment of the present invention.

[0009] FIG. 4 is a schematic block diagram of a flowchart for providing an API to a portable non-PC appliance.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] Referring now to FIG. 1, there is shown a portable memory card for a non-PC portable appliance 100. The portable memory card 100 comprises a memory portion 110, with a portion 130 thereof dedicated to deleted files. The memory card 100 further includes a memory card controller 140. The memory card controller includes code or hard wired circuitry and/or a combination thereof to recognize a memory delete command associated with a specific file, and to shift the specific file to the deleted files portion 130 of the memory 110.

[0011] The memory card 100 may take a variety of different configurations in shapes. Generally, the configuration and shape of the memory card will be dependent on the particular appliance with which it is to be used. The memory 110 for the card 100 may be implemented by any convenient set or matrix of storage elements, including electronic storage, magnetic storage, or optical storage. The memory card controller 140 may be implemented in an embodiment by means of a processor formed on or disposed on the memory card either in a separate chip or in the same chip as the memory 110. The memory card controller 140 may implement one or a plurality of the normal functions required of a memory controller, such as sending timing signals, storage signals and other required signals. Alternatively, the memory card controller 140 can be dedicated simply to an erased file function in accordance with the present invention.

[0012] An embodiment of an operating sequence for the memory card controller 140 is shown in FIG. 2. The logic illustrated by FIG. 2 may be implemented either by means of hard wire circuitry, or by means of programming, and/or by a combination thereof. Referring to FIG. 2, the first operation represented by block 200 is to recognize a memory delete command associated with a specific file. In a most elemental embodiment of the present invention, the next operation comprises shifting the specified file 240 to the dedicated deleted file portion of the memory 130.

[0013] A further embodiment of the present invention is shown is FIG. 3. The first block 300 comprises recognizing a memory delete command associated with a specific file. Block 310 is then provided for determining a size of the specific file to be deleted.

[0014] Referring to block 320, it is then determined whether a predetermined criteria is met in the dedicated file portion 130 of the memory 110 with respect to the specific file. In one implementation of this block, the predetermined criteria may comprise whether the file size of the specified file exceeds a remaining memory capacity in the deleted files portion 130 of the memory 110.

[0015] Referring to block 330, if the predetermined criteria has been met, then an already resident file stored in the deleted files portion of the memory is deleted. There are a variety of different criteria which may be utilized to select which resident file or files should be deleted from the deleted files portion of the memory. By way of example, but not by way of limitation, a criteria which may be utilized is a first-in-first-out principle. Using this FIFO principle, the oldest resident file would automatically be selected for deletion from the deleted files portion of the memory 130. Alternatively, various other criteria may be utilized to select the resident file to be deleted in the deleted files portion of 130 of the memory. Such other criteria may include the file sizes of the already resident files. In this regard, it may be more advantageous to delete a single large file, rather than a plurality of smaller resident files from the deleted files portion of the memory. Another method of selecting the resident file in the dedicated deleted files portion of the memory to be deleted may be by means of sorting the resident files based on their source. Alternatively, various other selection criteria or means of sorting the already resident files in the deleted files portion 130 of the memory may be used to select the resident file or files to be deleted.

[0016] Referring now to block 340, the specified file is then shifted/stored in the dedicated deleted file portion 130 of the memory 110. Note that block 330 would be bypassed if the predetermined criteria of block 320 was not met.

[0017] In order to access the dedicated deleted files portion 130 of the memory 110, a variety of options are available. By way of example but not by way of limitation, the memory card could be placed into a drive or other receiving mechanism for a PC. Such a drive could be especially adapted for receiving such a portable memory card, or an adapter could be utilized in order to allow the memory card to be placed in the drive. Access of the dedicated deleted files portion of the memory could be accomplished, by way of example but not by way of limitation, by using a “directory” command or by other convenient access command.

[0018] Referring now to block 350, there are certain instances where it is desirable for access to the dedicated deleted files portion 130 of the memory 110 to be available via a non-PC portable appliance. Such non-PC portable appliances may already include a method for accessing the dedicated deleted files portion 130 of the memory. However, in instances where the non-PC portable appliance does not include such a method, it is desirable to add an API to the appliance in order to allow access to the deleted files portion of the memory. This addition of the API is represented by block 350.

[0019] An example implementation of block 350 is shown in FIG. 4. Referring to FIG. 4, block 400 comprises determining if an API for accessing the dedicated deleted files portion of the memory is present in the portable non-PC appliance. If the determination is YES, then the operation moves to block 405 to return. Alternatively, if it is determined that there is no API for accessing the dedicated deleted files portion of the memory in the portable non-PC appliance, then the operation moves to block 410. Block 410 comprises determining the operating system for the portable non-PC appliance.

[0020] Referring now to block 420, software residing in the memory controller is selected from one or a plurality of software APIs designed for various different operating systems to provide an API to that portable non-PC appliance.

[0021] Referring to block 430, the selected software is loaded to the appliance. In block 440, the selected software is executed to present the API for the portable non-PC appliance. Note that the selected software may conveniently add an icon or menu to the operating system for the appliance to allow access by the user to this dedicated deleted files portion of the memory. By way of example but not by way of limitation, clicking on the icon might bring up a listing of the deleted files. Clicking on any one of the files in the list would move that file from the dedicated deleted files portion of the memory 130 to the normal storage area for files in the memory.

[0022] Accordingly, in one embodiment of the present invention, the portable memory card may further comprise a storage thereon containing a listing of deleted files resident in the portion of the memory dedicated to deleted files.

[0023] In another embodiment of the present invention, the memory card controller may comprise a storage thereon containing a listing of deleted files resident in the portion of the memory dedicated to deleted files.

[0024] In another embodiment of the present invention, the memory card controller determines a file size for the specific file associated with the delete command, and deletes an already resident file stored in the dedicated file portion of the memory if a predetermined criteria is met in the deleted files portion of the memory.

[0025] In another embodiment of the present invention, the memory card controller moves files into and out of the deleted files portion of the memory on a first-in-first-out basis.

[0026] In another embodiment of the present invention, the memory card controller selects files to delete from the dedicated deleted files portion of the memory by a file sort based on source.

[0027] In another embodiment of the present invention, the memory card controller presents an API to the portable appliance to access the deleted files portion of the memory.

[0028] In another embodiment of the present invention, the memory card controller operates to determine the operating system of an appliance into which the memory card has been coupled, selects software designed for that operating system from among a plurality of software API programs, loads the selected software into the appliance, and executes the selected program.

[0029] The present invention dedicates a special portion of the memory on a portable memory card for deleted files, so that the deleted files can be recovered if accidentally erased. The memory card controller 140 will include therein a listing of deleted files resident in the dedicated deleted files portion of the memory. Alternatively, the memory card controller will have access to a portion of the memory 110 containing this list of deleted files.

[0030] By moving deleted files to this special dedicated area of the memory, the user is guaranteed the ability to recover recently erased files, even though the appliance such as a camera, may not have this feature. Accordingly, user unhappiness based on accidental erasure and loss of files, such as pictures, is eliminated. The present invention allows for the recovery of such deleted files even if the portable appliance does not support such recovery. The method and system of the present invention provide assurance that files may be recoverable on the short term as compared to current FAT methods.

[0031] The foregoing description of an embodiment of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention. The embodiment was chosen and described in order to explain the principles of the invention and its practical application to enable one skilled in the art to utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto, and their equivalents.

Claims

1. A removable semiconductor memory card for a portable appliance, comprising the following elements on the card:

a memory with a portion thereof dedicated to deleted files;
a memory card controller that operates to recognize a memory delete command associated with a specific file, and to shift the specific file to the deleted files portion of the memory.

2. The memory card as defined in claim 1, further comprising a storage thereon containing a listing of deleted files resident in the portion of the memory dedicated to deleted files.

3. The memory card as defined in claim 1, wherein the memory card controller includes a storage thereon containing a listing of deleted files resident in the portion of the memory dedicated to deleted files.

4. The memory card as defined in claim 1, wherein the memory card controller determines a file size for the specific file associated with the delete command, and deletes an already resident file stored in the dedicated file portion of the memory if a predetermined criteria is met in the deleted files portion of the memory.

5. The memory card as defined in claim 4, wherein the memory card controller moves files into and out of the deleted files portion of the memory on a first-in-first-out basis.

6. The memory card as defined in claim 4, wherein the memory card controller selects files to delete from the dedicated deleted files portion of the memory by a file sort based on source.

7. The memory card as defined in claim 1, wherein the memory card controller presents an API to the portable appliance to access the deleted files portion of the memory.

8. The memory card as defined in claim 7, wherein the memory card controller operates to determine the operating system of an appliance into which the memory card has been coupled, selects software designed for that operating system from among a plurality of software API programs, loads the selected software into the appliance, and executes the selected program.

9. A method for use in a memory card controller for controlling a portion of the memory card dedicated to deleted files, comprising the following steps:

recognizing a memory delete command associated with a specified file; and
shifting the file to the deleted files portion of the memory.

10. The method as defined in claim 9, further comprising:

determining a file size for the specified file; and
deleting an already resident file stored in the deleted files portion of the memory if a predetermined criteria is met in the deleted files portion of the memory.

11. The method as defined in claim 10, wherein the predetermined criteria comprises that the file size of the specified file equals or exceeds a remaining memory capacity in the deleted files portion of the memory.

12. The method as defined in claim 10, wherein when the predetermined criteria is met, the resident files in the deleted files portion of the memory are deleted on a first-in-first-out basis.

13. The method as defined in claim 10, wherein when the predetermined criteria is met, the resident files in the deleted files portion of the memory are deleted based on a file sort according to source.

14. The method as defined in claim 10, further comprising adding an API to an appliance to which the memory card has been coupled in order to allow access to the deleted files portion of the memory.

15. The method as defined in claim 14, wherein adding an API to an appliance comprises

determining an operating system running the appliance;
selecting software designed for the determined operating system for providing an API;
loading the selected software on the appliance; and
executing the selected software to present the API.

16. A program product for use in a memory card controller for controlling a portion of the memory card dedicated to deleted files, comprising machine readable program code for causing a machine to perform the following steps:

recognizing a memory delete command associated with a specified file; and
shifting the file to the deleted files portion of the memory.

17. The program product as defined in claim 16, further comprising code for causing performance of the steps:

determining a file size for the specified file; and
deleting an already resident file stored in the deleted files portion of the memory is a predetermined criteria is met in the deleted files portion of the memory.

18. The program product as defined in claim 17, wherein the predetermined criteria comprises that the file size of the specified file exceeds a remaining memory capacity in the deleted files portion of the memory.

19. The program product as defined in claim 17, further comprising code for adding an API to an appliance to which the memory card has been coupled in order to allow access to the deleted files portion of the memory.

20. The program product as defined in claim 19, wherein the step of adding an API comprises

determining an operating system running the appliance;
selecting software designed for the determined operating system for providing an API;
loading the selected software on the appliance; and
executing the selected software to present the API.

21. The program product as defined in claim 17, wherein when the predetermined criteria is met, the resident files in the deleted files portion of the memory are deleted on a first-in-first-out basis.

22. The program product as defined in claim 17, wherein when the predetermined criteria is met, the resident files in the deleted files portion of the memory are deleted based on a file sort according to source.

Patent History
Publication number: 20040019759
Type: Application
Filed: Jul 24, 2002
Publication Date: Jan 29, 2004
Patent Grant number: 7698502
Inventor: Todd Christopher Adelman (Boise, ID)
Application Number: 10200970
Classifications
Current U.S. Class: Memory Partitioning (711/173); Entry Replacement Strategy (711/159)
International Classification: G06F012/00; G06F012/12;