|
楼主 |
发表于: 2019-7-22 15:09:15
|
显示全部楼层
Hi,
I do not have Wechat or QQ account but I can create one if required.
I do not understand the problem about the algorythm customization. I'm basically trying to program some brand new nands (no matter the data content, at the moment, the test I want to do is write some random data over the whole nand, then do some aging cycles on the chipset and check the content of the nand after a few cycles). I simply want to write some data to the chip, without loosing the manufacturer bad block information (which for these nands is written on the 6th byte of the first page of a block).
So far, I've only been able to write an empty image (all 0xFF) but it's not my requirement. As soon as the data differs, the RT809H software either stop at 0%, or throws errors about some bad blocks (I repeat, the chip is empty, has been erased between cycles to ensure that no garbage data was present).
I really need to be able to write some data to the nand without loosing the manufacturer bad block markers. I understand that the algorythm might be customized per Nand references to take in account some of the chipset specific parameters (like the bad block marker position, the timngs, ...). It would also require customization for Error Correction Code, but in my case, I don't even need it.
I'm an eletronic and software developper, I work on a product which uses Nand as storage and boot device, and I've had to work on the nand driver to support our nand, therefore I know quite well how does by example linux nand drivers works.
Maybe I can help a bit to get the RT809H to work with the NAND256W3A.
For example, how does the RT809H software work to write an image to the nand (all these questions belong to the NAND256W3A algo, it might differ from other nands):
* When erasing the chip, how does the software ensure not to erase a factory bad block ? Does it read the OOB of the first page of the block to check for bad block marker ? If not, then the factory bad blocks are lost
* When reading from the chip, does the bad blocks are checked / skipped ?
* When writing to the chip, how does the software act ? Does it first check the bad block marker in the first page OOB ? (if so, it should not throw the bad block detection messages on each block when I try to use an image different from all 0xFF) ? Does it check for a bad block marker in the image file we are trying to write ?
I really wan't this simple nand programming stuff to work, without loosing any factory bad block marker (that's really important). I'm ready to help at most.
Regards, Jerome
|
|