We are using SanDisk ultra microSD card (16GB) in our product. It is a medical device and the card is used to store different types of application logs and patient data. The card is FAT32 formatted.
We have an issue on one of the units where the host controller fails on a multi-block read command (command=0x12). When it fails, it is consistently the same sector that it is trying to read from. After the failure, in response to the next command the 32bit status returned in R0/R1 is 0x00080B00.
My understanding from reading the SD physical layer specification is that the error code has bit 19 set, which seems to be for an ‘unknown/general’ error occuring inside the card.
Could SanDisk/any other users be able to shed more light on this? In particular:
Is it possible to ‘prevent’ this error?
Is it possible to ‘recover’ from this error state?
PS One one card, just aborting the current read command and issuing a new read fixed the issue. On another card, no matter how many times we attempt to ‘retry’ the read operation, it consistently fails. Almost seems that inside the card it is failing to read from that specific sector/block.