基于固態(tài)存儲器的ECC算法分析及實(shí)現
按前面的ECC校驗碼生成規則,2 048個(gè)數據應該生成4個(gè)校驗碼,生成的校驗碼,如圖4所示,其中ecccode1,ecccode2,ecccode3,ecccode4是生成的4個(gè)校驗碼。本文引用地址:http://dyxdggzs.com/article/202613.htm
現在假設讀出的數據中有一位數據發(fā)生了翻轉,出現了一位數據錯誤的情況,即假設數據的第2 bit的最低位發(fā)生了翻轉,0×0l變成了O×00,此時(shí)讀出的數據序列,如圖5所示。
3.2 利用VHDL語(yǔ)言實(shí)現EGG算法
文中以0x00~OxFF循環(huán)8次產(chǎn)生2 048個(gè)數據,利用VHDL語(yǔ)言編程,在QuartusII7.2下進(jìn)行了仿真,得到了如圖7所示的校驗碼。其中ecccodel =00000000,ecccode2=00000000,ecccode3=11000000,ecccode4=000000ll是生成的4個(gè)校驗碼,從圖中可以看到利用VHDL語(yǔ)言得到的校驗碼和用C語(yǔ)言得到的ECC校驗碼是相同的。
4 結束語(yǔ)
文中介紹了ECC算法的一種實(shí)現方法,說(shuō)明了ECC的校驗流程,最后用兩種方法實(shí)現ECC校驗算法。ECC校驗算法簡(jiǎn)單,軟硬件均能實(shí)現,它能夠檢測并糾正單比特錯誤和檢測雙比特錯誤,所以可以為數據存儲和通信系統提供一種強有力的差錯檢測手段。
評論