MPC56xx系列器件具有用于代碼和數(shù)據(jù)的內部非易失性閃存存儲器。Freescale的MPC56xx設備上實現(xiàn)了兩種類型的閃存模塊,即C90FL和C90LC。C90FL閃存適用于大容量閃存存儲器陣列,而C90LC優(yōu)化了較小的閃存陣列配置。
閃存存儲器設計可實現(xiàn)快速編程,但需要一次擦除整個塊。一旦編程完成,閃存存儲器在斷電時保持其編程狀態(tài)(非易失性)。在這種技術中,閃存存儲器陣列中的每個單元保存一個位的值(已編程為0或擦除為1)。這是一種采用2級NOR閃存實現(xiàn),并使用單個電壓閾值來確定位的高低的技術。這確保了最大的數(shù)據(jù)保留以滿足嚴苛的汽車要求。為了進一步防止位翻轉,該技術實現(xiàn)了糾錯編碼(ECC),可糾正單位錯誤并識別ECC碼字(64位數(shù)據(jù)位加8位ECC奇偶校驗位)中的任何雙位錯誤。
由于ECC,閃存存儲器可能處于ECC位無效的狀態(tài)。如果擦除操作在完成之前被中斷,就可能發(fā)生這種情況。如果在C90FL閃存上執(zhí)行擦除操作時發(fā)生斷電,正在擦除的閃存塊可能會處于不確定狀態(tài)(ECC值無效)。所謂斷電是指意外斷電、電源電壓下降或意外復位。
本應用筆記描述了如何恢復由于中斷的擦除操作而導致C90FL閃存塊處于非法狀態(tài)的過程,如果發(fā)生此類斷電情況。