大家好!
从闪存 API 文档中、有一个限制条件、即每个64位字在每个写入或擦除周期只能编程一次。
但是、当我尝试对它进行两次编程时 、在某些情况下会成功、例如:
如果 testBuffer2[0]是0x00005a5a,则第二个写入命令可覆盖在第一个写入命令中被写入闪存的 testBuffer1[0]的0x5a5affff。
如果 testBuffer2[0]不是0x00005a5a,例如 0x000f5a5a,则第二个写入命令不起作用。
如何解释这一点?
谢谢。
挂起。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好!
从闪存 API 文档中、有一个限制条件、即每个64位字在每个写入或擦除周期只能编程一次。
但是、当我尝试对它进行两次编程时 、在某些情况下会成功、例如:
如果 testBuffer2[0]是0x00005a5a,则第二个写入命令可覆盖在第一个写入命令中被写入闪存的 testBuffer1[0]的0x5a5affff。
如果 testBuffer2[0]不是0x00005a5a,例如 0x000f5a5a,则第二个写入命令不起作用。
如何解释这一点?
谢谢。
挂起。
挂起、
只要您将位从1更改为0、编程命令就会成功。 但是、只有在这对于 ECC 存储器也适用时、才能成功。 当您针对给定的64位对齐闪存地址以及数据对 ECC 进行编程时(使用 Fapi_Auto ECCGeneration)、您可能会也可能无法再次成功地对该位置进行编程-这是因为在第一个编程命令期间会对相应的 ECC 空间进行编程、 当您在第二次或更高的迭代中对相应的闪存位置进行编程时、ECC 空间中编程的0可能会与由新 ECC 值产生的任何1发生冲突。
您还需要注意、按照闪存 API 指南和数据表所述、给定的64位位置只能编程一次。
谢谢。此致、
瓦姆西