關(guān) 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于固態(tài)存儲器的ECC算法分析及實現(xiàn)

        基于固態(tài)存儲器的ECC算法分析及實現(xiàn)

        作者: 時間:2009-11-27 來源:網(wǎng)絡(luò) 收藏


        評價存儲器的一個重要指標(biāo)就是它的可靠性,在一般的數(shù)據(jù)存儲中,幾個位的錯誤可能不是很關(guān)鍵的問題,如果但是發(fā)生在某個敏感的數(shù)據(jù)上,這個小小的故障可能會導(dǎo)致嚴(yán)重的后果。因此,必須采取一些措施來及時檢出并糾正出錯的數(shù)據(jù)。目前常用的方法有:奇偶校驗、CRC校驗、重復(fù)碼校驗等。
        校驗是在奇偶校驗的基礎(chǔ)上發(fā)展而來的,它將數(shù)據(jù)塊看作一個矩陣,利用矩陣的行、列奇偶信息生成校驗碼。它能夠檢測并糾正單比特錯誤和檢測雙比特錯誤,但對雙比特以上的錯誤不能保證檢測。它克服了傳統(tǒng)奇偶校驗只能檢出奇數(shù)位出錯、校驗碼冗長、不能糾錯的局限性。文中在高速大容量的硬件結(jié)構(gòu)基礎(chǔ)上,詳細(xì)介紹了校驗碼的生成規(guī)則以及ECC校驗流程,并用C語言和VHDL語言兩種方法實現(xiàn)了該算法。

        本文引用地址:http://www.104case.com/article/202613.htm


        1 存儲器的硬件結(jié)構(gòu)及芯片介紹
        本存儲器是以FPGA為控制核心,用64片F(xiàn)lash芯片構(gòu)成存儲陣列,采用CPCI接口實現(xiàn)數(shù)據(jù)的高速率存儲。Flash存儲陣列分為16組,每組4片,每組Flash芯片共用數(shù)據(jù)和控制總線。該存儲器的硬件結(jié)構(gòu)圖,如圖1所示。

        存儲板上的存儲芯片用的是Samsung公司的高速大容量固態(tài)存儲芯片K9W8G08U1 M Nand Flash Memory,其容量為1 G×8 bit,分為8 192個塊,每個塊又分為64頁,1頁有(2 k+64)Byte,其中一頁有64 bit的空閑區(qū)。存儲板上的控制芯片是Ahera公司的高端FPGA芯片EP3SE110F1152C4,它負(fù)責(zé)數(shù)據(jù)的緩沖和整個存儲器的時序控制,并負(fù)責(zé)以頁為單位生成校驗碼,并把校驗碼存人到頁的空閑區(qū)內(nèi)。下面以1頁2 048 bit為單位介紹校驗碼的生成以及校驗流程。


        2 EGG及校驗流程
        2.1 EGG校驗碼生成規(guī)則
        Flash在讀寫數(shù)據(jù)的時候是以頁為單位進(jìn)行的,一頁有2 048個數(shù)據(jù),所以可以以2 048 bit為單位生成校驗碼。每個數(shù)據(jù)有8位信息組成,可以把這2 048個數(shù)據(jù)看成2 048×8的矩陣,這樣就可以分別生成行校驗碼和列校驗碼來分別校驗。ECC校驗中,每2 048個數(shù)據(jù)生成4個字節(jié)的校驗碼,這32位的校驗碼分成3個部分:6位的列校驗信息,22位的行校驗信息,其余的4位置1,ECC校驗碼組成,如表1所示。

        其中P4_l,P4_2,P2_1,P2_2,P1_1,P1_2是列校驗碼,而P8_1,P8_2,P16_1,P16_2,P32_1,P32_2,P64_1,P64_2,P128_1,P128_2,P256_1,P256_2, P512_1,P512_2,P1024_1,P1 024_2, P2 048_1, P2 048_2, P4 096_1,P4096_2,P8192_1,P8192_2是行校驗碼。行列校驗碼生成表,如表2所示。


        上一頁 1 2 3 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 兰西县| 雅江县| 天全县| 工布江达县| 涟水县| 揭西县| 棋牌| 安福县| 红安县| 腾冲县| 甘洛县| 威远县| 泌阳县| 易门县| 绥江县| 枝江市| 伊川县| 杭锦后旗| 临猗县| 和政县| 沙坪坝区| 舟山市| 华亭县| 祥云县| 宝清县| 韩城市| 滁州市| 康乐县| 虹口区| 通江县| 沙田区| 烟台市| 武胜县| 酒泉市| 和龙市| 延津县| 岳阳市| 宜城市| 上饶市| 全州县| 平顶山市|