Hi,
I have question about NFC Buffer Memory Space of the NFC.
I summarized virtual page layout and Physical page layout in a file.
I attached it.
Is my understanding right?
Best regards,
soichi yamamoto
Looks good but I think only the physical layout for second case should be like this:
From | To | Size | Area | Description | |
0 | 511 | 512 | Main0(page0) | UserData | |
512 | 512 | 1 | Reserved | ||
513 | 527 | 15 | ECC for main/spare | ||
528 | 1039 | 512 | Main1(page1) | UserData | |
1040 | 1040 | 1 | Reserved | ||
1041 | 1055 | 15 | ECC for main/spare | ||
1056 | 1567 | 512 | Main2(page2) | UserData | |
1568 | 1568 | 1 | Reserved | ||
1569 | 1583 | 15 | ECC for main/spare | ||
1584 | 2095 | 512 | Main3(page3) | UserData | |
2096 | 2096 | 1 | Reserved | ||
2097 | 2111 | 15 | ECC for main/spare |
Dear Juan Antonio Gutierrez Rosas,
Thank you for reply,
In this(Sector size = 2,048(main)+128(spare)) case, I arrive, and please tell me.
I attached a file.
Does the Sector size = 2,048(main)+128(spare) support?
And is the correction range of ECC 2,048(main)+128(spare)?
Best regards,
soichi yamamoto
Actually, because the flow program operation in the NFC the ECC is programmed just after the Main area. So the below organization should be the right way to see it. Note that the ECC is contiguous to the user data and the rest of spare area is just unused or reserved.
2048 byte(main) + 64 byte (spare)
ECC bits =8, NFC_CFG[PAGE CNT]=4, Sector size = 512+16
From | To | Size | Area | Description |
0 | 511 | 512 | Main0(page0) | UserData |
512 | 526 | 15 | ECC | Spare |
527 | 527 | 1 | Unused | |
528 | 1039 | 512 | Main0(page0) | UserData |
1040 | 1054 | 15 | ECC | Spare |
1055 | 1055 | 1 | Unused | |
1056 | 1567 | 512 | Main0(page0) | UserData |
1568 | 1582 | 15 | ECC | Spare |
1583 | 1583 | 1 | Unused | |
1584 | 2095 | 512 | Main0(page0) | UserData |
2096 | 2110 | 15 | ECC | Spare |
2111 | 2111 | 1 | Unused |
2048 byte(main) + 128 byte (spare)
ECC bits =32, NFC_CFG[PAGE CNT]=1, Sector size = 2048+128
Same behavior applies for the 2048+64
From | To | Size | Area | Description |
0 | 2047 | 2048 | Main0(page0) | UserData |
2048 | 2107 | 60 | ECC | Spare |
2108 | 2175 | 68 | Unused |
Regarding the geometry support.
The RM mentions that one of the NFC features is that
Supports all NAND flash products regardless of density/organization
On the other hand this organization is not listed in the recommended setting (Table 31-21.)
So, my guess is that is supported but not recommended. For example the Spare area might be used besides the ECC for
wear-leveling, bad block mark and other software overhead functions. So in the case of 512+16 bytes ECC bits =8 (15 bytes) there is only one byte left so it might be not enough space for this others overhead functions and hence not recommended.
Not sure why the 2048+64 is not listed in Table 31-21 but possible is not recommended too.
Dear Juan Antonio Gutierrez Rosas,
Thank you for reply.
In the case of follows, I arrive and recognize it and confirm it.
・2048 byte(main) + 64 byte (spare)
・ECC bits =32, NFC_CFG[PAGE CNT]=1, Sector size = 2048+64
Q1.Which constitution of case1 and case2 is right?
case1:
From | To | Size | Area | Description |
0 | 2047 | 2048 | Main0(page0) | UserData |
2048 | 2107 | 60 | ECC | Spare |
2108 | 2111 | 4 | Unused |
case 2:
From | To | Size | Area | Description |
0 | 2047 | 2048 | Main0(page0) | UserData |
2048 | 2151 | 4 | Unused | Spare |
2152 | 2111 | 60 | ECC |
Q2.Is the range of the ECC correction 2,048+64?
Q3.In the case of follows, I arrive and recognize it and confirm it.
・2048 byte(main) + 128 byte (spare)
・ECC bits =32, NFC_CFG[PAGE CNT]=1, Sector size = 2048+128
Is the range of the ECC correction 2,048+128?
Best Regards,
soichi yamamoto
juangutierrez please continue with the follow up on this case.