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