I don't know how to debug this, it looks like a hardware problem, but might also be a software I/O issue, so...
In short, it seems that my Nano (version 1.0.5 -- but it also happened with previous firmwares) randomly fails to read blocks from the SD. To verify this, I have launched fsck three times in a row (without fixing the errors, just to see what it detects) : everytime, it detects bad blocks, but never at the same place.
Also, writing big files (> 50 mb) at once almost always triggers FS corruption, so my guess is, random I/O errors are responsible for this.
Also from dmesg, I