Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Substituting hard drive (or other memory) for SD card

Status
Not open for further replies.

wa1kij

Advanced Member level 4
Full Member level 1
Joined
Oct 19, 2011
Messages
104
Helped
18
Reputation
36
Reaction score
15
Trophy points
1,298
Location
Cape Cod
Activity points
1,845
A while back, somebody posted the following question to the UK edition of this forum. He never received a satisfactory answer.

"Has anyone tried to emulate an SD-card, as in, some hardware you plug into an sd-card socket that acts like a physical sd-card, but is backed by some other storage (hard drive, ram, another computer, etc.)?"

Unlike hard drives, overwriting an SD card doesn't completely erase the old data. The only thing that erases the old data is reformatting the card (also unlike a hard drive!) Nevertheless, there are thousands of devices out there that attempt to use SD cards in continuous-overwrite applications.

There are many products on the market that let you substitute an SD card for another form of memory, such as a thumb-drive or a floppy. There is nothing that works the other way around.
 

I was planning to try some emulation a while ago, but didn't really pursue it, might take it up again one day.
I got as far as this:

Or in other words, not very far at all!!
 

Unlike hard drives, overwriting an SD card doesn't completely erase the old data. The only thing that erases the old data is reformatting the card (also unlike a hard drive!)
I think the assumptions are partly wrong, for SD cards as well as hard drives. Generally, only overwriting a memory device up to the full capacity can be expected to erase (with meaning of "destroy") the old data. For high safety requirements, the data is overwritten more than once. Reformatting doesn't necessarily more than erasing the root directory and file allocation table, for both SD cards and hard disks. The basic difference with SD cards is the involved flash translation layer which doesn't allow a simple correpondence between LBA sectors and physical memory locations. This makes it also difficult to determine which data inside the SD card may be possibly recovered.

The SD emulation project sounds generally feasible. It would need a fast logic device, e.g. large CPLD or small FPGA to emulate the interface. It may be the case, that such devices already exist as protocol testers, similar to existing smartcard emulations in terminal testers.
 
  • Like
Reactions: wa1kij

    wa1kij

    Points: 2
    Helpful Answer Positive Rating
I think the assumptions are partly wrong, for SD cards as well as hard drives. Generally, only overwriting a memory device up to the full capacity can be expected to erase (with meaning of "destroy") the old data. For high safety requirements, the data is overwritten more than once. Reformatting doesn't necessarily more than erasing the root directory and file allocation table, for both SD cards and hard disks.

The way I understand it, the software to reformat an SD card actually does overwrite everything with blank data. It's not at all the same thing as reformatting a hard disk.
 

I'm no sure which formatting software actually does a full erase. It's possible because the SD card command set allows erasure of physical memory blocks and larger entities. Also the secure commands provide a forced erase of all password protected content. But it's time consuming accotrding to block erase time of the involved NAND flash.

Do you have any reference that tells about data erasure performed on SD card formatting?
 

Yes, thanks. The description of the SDA tool seems to approve my assumption, that formatting does not regularly erase SD-cards, but it's possible as an option. The effect won't be possibly much different from overwriting a hard disk with "empty" data. In case of newer SDHC cards, the "overwrite" option can rely on the hardware erase command.
 

What executes the hardware erase command; the software or the SD card itself?
 

The erase command must be explicitely called by the software, it's executing NAND flash "block" erase commands.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top