IP Library Granted Patent US 7,093,161
Granted Patent B1
US 7,093,161 · App. 10/064,967 · Granted Aug 15, 2006

Software recovery method for flash media with defective formatting

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 7,093,161
App. No.
10/064,967
Granted
Aug 15, 2006
Kind
B1
Abstract

A method and software program for recovering data from corrupted flash media. In one aspect, the method employs a low-level access scheme that enables data to be recovered when high-level interfaces, such as file systems, are damaged. The type of flash media is determined, and a corresponding access scheme is employed. Depending on the type of damage to the media, a physical-to-logical table may be built and employed to sequentially access the flash media in search of indicia from which selectable file-types can be identified, or the media may be accessed using normal operating system commands. Once the file indicia are found, the location of corresponding file data is identified, whereupon the file data are read and stored. The software program employs an application program interface (API) comprising one or more sets of pass-through commands to enable low-level access to the flash media and to build the physical-to-logical table.

Claims (43)

1. A method for recovering data from flash media, comprising:

accessing the flash media at a low level to access raw flash data stored on the flash media by defining an application program interface (API) comprising a set of pass-through commands to enable a software program to low-level access of the flash media using the set of pass-through commands;

searching the raw flash data for file indicia; and

reading data from the raw flash data based on information in the file indicia, said data comprising a recovered file.

2. The method of claim 1 , wherein the flash media comprises a SmartMedia compatible device.

3. The method of claim 1 , wherein the flash media comprises a Sony Memory Stick-compatible device.

4. The method of claim 1 , further comprising storing the data corresponding to the recovered file in a new file.

5. The method of claim 4 , further comprising enabling a user to name the new file.

6. The method of claim 1 , further comprising:

building a physical-to-logical table mapping physical storage locations to logical storage locations; and

sequentially searching through logical sectors in search of the file indicia based on the physical-to-logical table.

7. The method of claim 1 , wherein the file indicia comprises a file header, and in response to finding the file header the method includes performing the steps of:

extracting a file size from the file header corresponding to a file;

reading data beginning with the file header or a starting point identified by the file header up to the file size.

8. The method of claim 1 further comprising:

determining a starting location from which to search the flash media; and sequentially searching through the flash media for file indicia using one of a physical or logical storage sequence.

9. The method of claim 1 , further comprising:

defining an API including a plurality of respective sets of pass-through commands, each respective set corresponding to a specific type of flash media;

determining a type of the flash media; and

employing the set of pass-through commands corresponding to the type of flash media determined with the software program to recover the file.

10. A method for recovering data from flash media, comprising:

determining a media type of the flash media;

building a physical-to-logical table mapping physical storage locations to physical storage locations based on the type of flash media;

searching the flash media for a file header corresponding to a selected file type using the physical-to-logical table;

reading data from the raw flash data based on information in the file header;

defining an application program interface (API) comprising a plurality of respective sets of pass-through commands, each respective set to enable a software program to low-level access a particular type of flash media corresponding to that set of pass-through commands; and

building the physical-to-logical table with the software program using the set of pass-through commands corresponding to the media type of the flash media.

11. The method of claim 10 , wherein a set of pass-through commands are employed to access a SmartMedia-compatible flash media device.

12. The method of claim 10 , wherein the set of pass-through commands are employed to access a Sony Memory Stick-compatible flash media device.

13. A machine-readable storage media having instructions tangibly stored thereon, which when executed recover data from corrupted flash media by performing operations including:

accessing raw flash data stored on the flash media using a low-level access mechanism by applying an application program interface (API) comprising a set of callable pass-through commands to enable low-level access to the flash media;

searching the raw flash data for file indicia corresponding to a selected file type; and

reading data from the raw flash data based on information in the file indicia, said data comprising a recovered file.

14. The machine-readable storage media of claim 13 , wherein execution of the instructions further perform the operation of providing a user interface by which a user may select specific file types for which to search the flash media to recover corresponding files for.

15. The machine-readable storage media of claim 13 , wherein execution of the instructions further perform the operation of:

building a physical-to-logical table mapping physical storage locations to logical storage locations; and

sequentially searching through logical sectors in search of the file indicia based on the physical-to-logical table.

16. The machine-readable storage media of claim 15 , wherein the physical-to-logical table is built using the pass-through commands.

17. The machine-readable storage media of claim 13 , wherein the file indicia comprises a file header, and in response to finding a file header execution of the instructions further perform the operations of:

extracting a file size from the file header corresponding to a file;

reading data beginning with the file header or a starting point identified by the file header up to the file size to recover the file.

18. The machine-readable storage media of claim 13 , wherein execution of the instructions further perform the operation of:

determining a starting location from which to search the flash media; and sequentially searching through the flash media for file indicia using one of a physical or logical storage sequence.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2016
From: TECHNOLOGY PROPERTIES LIMITED LLC
To: MCM PORTFOLIO LLC
Reel/Frame 037992/0495 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2011
From: ONSPEC ELECTRONIC INC.; LECKRONE, DANIEL E.; INTELLASYS BEC LTD.
To: TECHNOLOGY PROPERTIES LIMITED LLC
Reel/Frame 026630/0610 →
CHANGE OF NAME Recorded Jul 19, 2011
From: TECHNOLOGY PROPERTIES LIMITED
To: TECHNOLOGY PROPERTIES LIMITED LLC
Reel/Frame 026617/0046 →
LICENSE Recorded Nov 26, 2008
From: MCM PORTFOLIO LLC
To: TECHNOLOGY PROPERTIES LIMITED
Reel/Frame 021890/0733 →
CHANGE OF NAME Recorded Oct 5, 2007
From: FMM PORTFOLIO LLC
To: MCM PORTFOLIO LLC
Reel/Frame 019920/0748 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2007
From: ONSPEC ELECTRONIC, INC.
To: FMM PORTFOLIO LLC
Reel/Frame 019910/0499 →