2

I'm stress testing an SD card by filling it up with junk data, then continuously re-writing a portion of it to hopefully observe NAND cell degradation. I'm using Java to both read and write .txt files to the NTFS formatted SD card (32 files of 1Gb each), then comparing the data to see if there's any blatant data discrepancies.

However, I would like to go deeper and actually read the bits on the SD card in case the files ever become corrupted enough to render them unreadable (so like a data recovery program). The answers I've found so far either didn't use a file system, or assumed that the file, and thus file path, had been deleted.

It seems that Java doesn't have the API to read low level data without that file path, but in my case that path is never deleted. It's just that the data it points to may have corrupted enough that Java can no longer compare it as a .txt.

Is it possible to read that data? or is using a Native Language the only solution?


Specifications: I am using Windows. SD cards are formatted NTFS w/16Kb Unit Allocation Size. I'm filling the text files with 16kb MappedByteBuffers repeated until the full Gigabyte file is written (32x times). There are 0 Bytes of usable space remaining on the SD card.

Thanks to everybody in advance :)

0 Answers0