- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello.. I am using Micron nand flash 16GB device. I have successfully programmed it and am able to read the values from nand flash. But after programming when I check the status whether it is successfully programmed or not, the status register shows there is some error in programming. This happens only when I enable ECC. If I disable the ECC it works cool!
Any advice is welcome..Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What bit width? Do you have the extra bits needed for ECC? If so, are they programmed with the correct values?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nand flash is 8 bit device. I am sending the values that has to be written to it through custom component (nios 2 soft core processor).
If I enable the ECC 2100 bytes can be written by me, rest 12 bytes will be taken by ECC module to write the Error code. I am able to see all these values using signal tap. During read operation too, i can see that the ECC codes are matching so that i can say, no error is occuring during read and write. But, as I am still testing this module, I purposly introduced error and am trying to check the ECC. Once I enable ECC module, after programming the nand flash, the status register shows programming is not successful.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
8 bits is not wide enough to use ECC. The ECC circuit stores additional data along with the 8 bits. I don't remember how many you need for 8 bit ECC, but it is at least 10 bits. Boards that use ECC have wider data widths to accommodate the ECC bits (e.g. 32 data bits + 4 ECC bits => 36 bit wide memory).You can't make ECC work for flash on this board because you don't have the extra data width.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Galfonz! It is of 8 bits. But, 12 bytes of memory is reserved for ECC when ECC is enabled. If ECC is disabled, this 12 bytes of memory is also taken by the Nand flash controller and not by ECC controller.
I'm stuck at the same problem, the status register is not showing that 'program' operation is successful if I enable ECC.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What chip are you using? I'm not aware of any micron flash chips that are 12 bits wide (only 8 or 16). If your chip has an extra area for ECC associated with each block, the Altera system doesn't know about it. See your flash chip's data sheet on how to program that.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am using 29f16g08faa. I actually said it is of 8 bits and 12 bytes of memory is reserved for ECC when ECC is enabled.
yeah.. I will check the datasheet and try again. Thank you!
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page