衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

RAM的 Parity與ECC

FPGA自習室 ? 來源:FPGA自習室 ? 作者:FPGA自習室 ? 2020-11-02 16:41 ? 次閱讀

RAM的 Parity 與 ECC

一、概念介紹

1.1 Parity的概念

Parity,即奇偶校驗位,指在數據存儲和傳輸中,字節中額外增加一個比特位,用來檢驗錯誤。它常常是從兩個或更多的原始數據中產生一個冗余數據。一個字節數據的校驗位等于8bit數據異或即:p=x0^x1^x2^x3^x4^x5^x6^x7。此時,實際的數據傳輸序列為9bit:數據+奇偶校驗位。

Parity 這個概念可能最初接觸到可能是在使用串口調試助手時,它有個可選的奇偶校驗,就是為了指示數據傳輸過程中,發送方和接受方數據序列1的個數是否一致。如果不一致,說明數據在傳輸的鏈路中可能出錯了。

優點:

結構簡單,只需異或計算就可以實現,數據量小時實現代價小。

缺點:

1、不能修正錯誤:只知道校驗的數據中有部分比特發生錯誤,無法判斷哪幾個比特發送錯誤。

2、有偶數個比特位時,則無法判斷出錯。

3、數據位寬較大時實現代價大:如1024比特數據,需要256bit的校驗位。

1.2 ECC的概念

ECC是“Error Correcting Code”的簡寫,ECC是一種能夠實現“錯誤檢查和糾正”的技術。通過上面的分析我們知道Parity機制是通過在原來數據位的基礎上增加一個數據位來檢查當前8位數據的正確性,隨著數據位每增加8比特,檢驗位需要增加1比特。當數據量為256字節時,需要256個比特位,并且出錯的數據無法恢復。由此,一種存儲檢錯糾錯機制出現了,這就是ECC。ECC同樣通過增加校驗位來進行錯誤判斷,但是能夠進行錯誤糾正。

優點:

1):大量數據位實現代價低:8比特數據需要5個校驗位,256字節(256*8比特)的數據值需要5個列校驗位和11行校驗位

2)能夠糾正錯誤:在內存中ECC能夠容許錯誤,并可以將錯誤更正,使系統得以持續正常的操作,不致因錯誤而中斷

缺點:

1):只能修復1比特錯誤

當數據只有單比特錯誤時,ECC能夠進行錯誤修復;超過2比特的數據錯誤,將無法修復,ECC只能輸出多比特錯誤信號

2):不保證能檢測超過2比特的錯誤。

超過2比特的錯誤不一定能檢測出來。

3):算法復雜,邏輯級數比較深,時序不好收斂。

二、應用場景

IC設計中RAM模塊需要輸出信號有Parity信號和ECC信號。這樣能夠在一定程度上確保芯片的可測性以及可靠性。特別是在邏輯設計中使用的鏈表RAM或者控制RAM,如果這類RAM底層有壞塊而導致RAM讀出的數據某bit發生錯誤,可能會導致系統掛死。為了減少出現這種情況的風險,一般會對這類RAM做ECC計算邏輯,而像數據流RAM或者配置RAM可以只做Parity校驗。

事實上,在做Parity計算時,并不需要嚴格按照每字節增加1bit Parity校驗位,這樣對于大位寬的RAM而言,僅僅為了實現校驗錯誤,實現代價太大。因此,可以一個RAM做一個Parity校驗位。而對于ECC而言,一般針對位寬較小的RAM。

三、實現細節

Parity是同一個data所有比特的異或,在data_in寫入的時候進行異或計算得到parity_in,同時寫入到RAM中,讀出data的得到data_out,對data_out進行異或計算得到parity_out,若parity_out與parity_in(ram讀出數據所攜帶)不相等,則表示數據有錯誤。

此外,在RAM的寫側和讀側加入Parity計算邏輯時,特別是大位寬的RAM,則需要考慮reg2mem和mem2reg時序是否收斂的問題,一般情況下處理是寫側計算Parity后打拍后寫入,讀側打拍后再做Parity計算邏輯。

ECC負責糾錯,能夠修正1bit的數據。算法比較復雜,可以參考以下博客,不在敘述。

參考博客:

https://blog.csdn.net/wzsalan/article/details/79842220

https://blog.csdn.net/icxiaoge/article/details/79996456

責任編輯:xj

原文標題:IC基礎:RAM 的 Parity 與 ECC

文章出處:【微信公眾號:FPGA自習室】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • IC
    IC
    +關注

    關注

    36

    文章

    5979

    瀏覽量

    176217
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1369

    瀏覽量

    115002
  • ECC
    ECC
    +關注

    關注

    0

    文章

    97

    瀏覽量

    20642

原文標題:IC基礎:RAM 的 Parity 與 ECC

文章出處:【微信號:FPGA_Study,微信公眾號:FPGA自習室】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    ECC204 mikroBUS?評估板用戶指南

    電子發燒友網站提供《ECC204 mikroBUS?評估板用戶指南.pdf》資料免費下載
    發表于 01-22 16:55 ?0次下載
    <b class='flag-5'>ECC</b>204 mikroBUS?評估板用戶指南

    ECC608-TMNGTLS CryptoAuthentication?數據手冊

    電子發燒友網站提供《ECC608-TMNGTLS CryptoAuthentication?數據手冊.pdf》資料免費下載
    發表于 01-22 15:46 ?0次下載
    <b class='flag-5'>ECC</b>608-TMNGTLS CryptoAuthentication?數據手冊

    ECC206概要數據手冊

    電子發燒友網站提供《ECC206概要數據手冊.pdf》資料免費下載
    發表于 01-21 14:05 ?0次下載
    <b class='flag-5'>ECC</b>206概要數據手冊

    如何檢測電腦的RAM內存

    在現代計算機系統中,隨機存取存儲器(RAM)是至關重要的組件之一。它負責存儲當前正在使用的程序和數據,以便CPU可以快速訪問。隨著技術的發展,RAM的速度和容量都有了顯著的提升,但如何準確地檢測
    的頭像 發表于 11-11 09:51 ?874次閱讀

    什么是RAM內存 RAM內存對電腦性能的影響

    什么是RAM內存? RAM(Random Access Memory,隨機存取存儲器)是電腦中的一種易失性存儲器,它用于存儲電腦運行時的數據和程序。與硬盤等非易失性存儲器不同,RAM在斷電后會丟失
    的頭像 發表于 11-11 09:38 ?3223次閱讀

    TDAxx上的ECC/EDC

    電子發燒友網站提供《TDAxx上的ECC/EDC.pdf》資料免費下載
    發表于 10-11 10:19 ?0次下載
    TDAxx上的<b class='flag-5'>ECC</b>/EDC

    DDR Inline ECC在Jacinto7 SoC中的應用

    電子發燒友網站提供《DDR Inline ECC在Jacinto7 SoC中的應用.pdf》資料免費下載
    發表于 09-27 11:04 ?0次下載
    DDR Inline <b class='flag-5'>ECC</b>在Jacinto7 SoC中的應用

    ram和eeprom各有什么特點

    RAM(Random Access Memory,隨機存取存儲器)和EEPROM(Electrically Erasable Programmable Read-Only Memory,電
    的頭像 發表于 09-18 11:11 ?1125次閱讀

    PSoC5LP:ECC總是返回失敗的原因?

    ECC 后,使用 AN78175 項目提供的示例和 SelfTest_FlashECC() 函數應該很容易: uint8_t SelfTest_FlashECC(void) { uint8_t
    發表于 05-30 08:15

    CYT4BF的監管區 (SFlash) 是否支持 ECC

    CYT4BF 的監管區 (SFlash) 是否支持 ECC? 如果支持 ECC, 控制 ECC 的寄存器是否與 FLASHC/FLASHC1_FLASH_CTL.MAIN_ECC_EN
    發表于 05-23 07:26

    STM32G系列ECC校驗錯誤,進入NMI中斷后如何處理?

    ,斷電重啟無法恢復。經過一系列的排查,應該是由于在上下電的過程中,Flash數據更新的過程中,造成ECC未寫入,造成最終讀Flash時,ECC錯誤,造成了NMI中斷。。由于G系列比較新,我們只是搜到了一片
    發表于 03-29 07:43

    MCU重新上電后,如何進行ECC初始化?

    如題,在重新上電之后,需要讀取ram地址,讀取時進入異常,查閱資料后發現是由于重新上電,需要進行ECC初始化,請問這該如何進行
    發表于 03-19 07:53

    fpga雙口ram的使用

    FPGA雙口RAM的使用主要涉及配置和使用雙端口RAM模塊。雙端口RAM的特點是有兩組獨立的端口,可以對同一存儲塊進行讀寫操作,從而實現并行訪問。
    的頭像 發表于 03-15 13:58 ?1108次閱讀

    ECC功能開啟后如何驗證這個功能是否正常開啟呢?

    各位大佬,現在我這邊一個項目,代碼層面開啟ECC監控和中斷后,如何驗證當真實應用環境下,Ram區或者Flash區某個位被打翻后,會正常觸發中斷,實現讀和回寫的功能呢?
    發表于 03-11 06:39

    IC設計:ram的折疊設計操作步驟

    在IC設計中,我們有時會使用深度很大,位寬很小的ram。例如深度為1024,位寬為4bit的ram
    的頭像 發表于 03-04 15:08 ?2190次閱讀
    IC設計:<b class='flag-5'>ram</b>的折疊設計操作步驟
    百家乐官网网上真钱娱乐场开户注册 | 百家乐是片人的吗| 百家乐赌场大全| 京城国际| 百家乐官网平玩法几副牌| 大发888博彩| 真人百家乐官网视频赌博| 澳门百家乐骗人| 远安县| 百家乐最保险的方法| 皇博线上娱乐| 玄空飞星 24山 何??| 德州扑克单机| 番禺百家乐官网电器店| 威尼斯人娱乐城注册送彩金| 百家乐官网的技术与心态| 百家乐评级网站| 百家乐官网最全打法| 百家乐龙虎台布| 百家乐官网的连庄连闲| 百家乐技巧阅读| 迪威网上娱乐| 金宝博百家乐现金| 同乐城娱乐城| 百家乐破解的办法| 皇冠透注网| 百家乐巴黎| 网上百家乐官网玩法| 百家乐视频游戏帐号| 在线百家乐官网赌场| 稳赢百家乐的玩法技巧| 百家乐官网专打单跳投注法| 百家乐资深| 百家乐官网中的小路怎样| 德州扑克怎么发牌| 做生意门面朝向风水| 镇坪县| 百家乐国际娱乐场| 百家乐官网换房| 德州扑克教学视频| 至尊百家乐年代|