精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

企業級內存條的Memory ECC

SSDFans ? 來源:ssdfans ? 2020-08-21 16:36 ? 次閱讀

我們今天來簡單討論一下企業級內存條的Memory ECC。

圖 (1)

圖(1)是一個帶有ECC的RDIMM,圖中我們已經將各個組件和關鍵的金手指信號區域標示出來。首先,我們來認識一下這幾個關鍵詞: Device:內存顆粒,根據其存放內容不同,又分為數據顆粒和ECC顆粒。通常有X4,X8和X16,代表每個顆粒對外的數據線路是4 lane,8 lane和16 lane。

Channel:一個Channel由一個或者多個Rank組成,其寬度由控制器決定。當前主流的個人電腦和服務器中,一個Channel的寬度為64bit,可根據內存控制器是否支持ECC而擴展額外的8bit。也就是說如果不支持ECC的Channel,其寬度為64bit,而支持ECC的Channel,其寬度為72bit。市面上兩種內存條都有銷售。

Rank:一個Channel里面,同一個CS(Chip Select)信號選中的所有Device就是一個Rank。同一個Rank中所有的Device共用命令,地址和控制信號。拿讀操作舉例,內存控制器發起的一個讀操作,其實將作用于該Channel的某個Rank中所有的Device。所有Device的數據線共同輸出達到內存控制器所需的寬度。例如,采用X4的顆粒,組成不帶ECC功能的一個Rank則需要64/4 = 16個X4的Device。大家可以計算一下如果采用X8或者X16寬度的顆粒,需要多少個呢?

注:本文我們將主要以X4的Device來討論

注:X16的顆粒一般不被用來組成帶ECC的Rank

Cacheline:Cacheline通常是指是處理器中Cache Unit(緩存模塊)緩存一筆數據的標準大小。根據處理器的不同,Cacheline的大小是不一樣的。當前主流的個人電腦和服務器中,Cacheline的大小為64 Byte。為了設計方便,處理器內部搬運可被緩存的數據也采用同樣的大小64B。為了滿足該需求,一個Rank被設計成了64bit的數據位寬,而JEDEC(DDR標準組織)設計了burst傳輸。一個Burst的長度可以是8,從而一次讀操作,可以讓顆粒一次吐出8筆數據。從而達到64bit X 8 = 64B的大小。具體參考圖(2)。

圖(2)

CE(CorrectableError):可糾正錯誤是指硬件芯片)可以直接糾正的錯誤。由于內存控制器設計不一樣,對于可糾正錯誤的能力可能存在不同。例如,主流x86服務器的內存控制器(支持帶ECC的內存條),在一次讀操作中,一個X4寬度的Device內的任意錯誤都是可糾正的,包括ECC的Device。如果Rank是X8寬度的Device組成,其糾正能力還是與X4的Device寬度及位置保持一致。在X8的一個Device中,只有DQ0-3,或者DQ4-7可以被糾正。如果是DQ2-5,雖然是X4寬度但位置與X4時不對應,也無法糾正。

注:DQ0即D0,或者D0_0,DQ63則是D63,或者D15_3

UCE(Uncorrectable Error):不可糾正錯誤是指硬件(芯片)無法直接糾正的錯誤。例如,在一次讀操作中,錯誤數據位分布在不同X4的Device范圍,以現有內存控制設計來看,屬于不可糾正錯誤。

下面我們簡單介紹一下內存控制器是如何偵錯和糾錯的。由于ECC具體算法屬于各家的IP,這里介紹的方法只是幫助大家理解該功能。首先,內存控制器能夠糾錯,就必須先能發現錯誤。如果每次消費的數據大小是64B,在不增加額外信息的情況下,我們是無法知道該數據是否有改變的,因為64B的數據可以是任何01的組合,即任意數據都是合法的。另一方面,額外的信息需要額外的存儲,從成本考慮,這額外信息應該越小越好。JEDEC組織提出增加額外8 x 8 = 64bit的數據來幫助一個64B的數據完成ECC。 從物理角度看,一個X4 Device組成的Rank將會增加兩個Device用于ECC。一種可行的做法是,其中一個Device負責存放CRC(Cyclic Redundancy Check)校驗信息用于偵錯,另一個Device負責存放奇偶校驗信息(Parity),配合糾正錯誤。

Parity:Parity基本功能是發現保護數據中是否有bit翻轉。保護方法是統計保護數據中1的個數,如果是偶校驗,當保護數據中1的個數是偶數時,Parity為0,否則為1,所以Parity只需要一個bit就能發現保護數據中是否有一個bit的數據翻轉(0到1或者1到0)。當然對于奇數個bit都有一樣的檢測效果。但當偶數bit翻轉的時候,Parity將無法知道。在了解了Parity基本功能后,我們來看看內存控制器是如何計算Parity并存放的。如圖(3)所示。

圖(3)

Burst傳輸中每一筆64bit數據,4bit Parity和4bit CRC的具體對應關系如下: P0=D0_0+D1_0+D2_0+…D15_0+C0 P1=D0_1+D1_1+D2_1+…D15_1+C1 P2=D0_2+D1_2+D2_2+…D15_2+C2 P3=D0_3+D1_3+D2_3+…D15_3 +C3

注:D15_3為Device15的DQ3信號,從Rank角度看,為圖中的D63

假設Device 2 在Burst的第三筆數據中有bit翻轉,則無論是D2_0, D2_1, D2_2, D2_3 或者都錯了,請參考圖(4),我們都可以通過Parity bits反算回來,前提是burst的第三筆數據中其他Device沒有出現錯誤。具體計算如下:

D2_0=P0(-)(D0_0+D1_0+D3_0…D15_0+C0)

D2_1=P1(-)(D0_1+D1_1+D3_1…D15_1+C1)

D2_2=P2(-)(D0_2+D1_2+D3_2…D15_2+C2)

D2_3=P3(-)(D0_3+D1_3+D3_3…D15_3+C3)

圖(4)

CRC:我們怎樣知道讀取的Cacheline數據是正確的還是錯誤的?這里將會用到CRC來進行校驗。一種比較簡單的校驗方式就是除法。我們設計一個除數,讓被保護數據(被除數)去除以這個除數,然后會得到商和余數。通常余數比設計的除數要小。在存儲一個Cacheline大小數據到內存條上的時候,內存控制器會計算CRC的值,并存放到CRC的Device中去。讀取的時候再計算一遍,然后和內存條讀回來的CRC的值進行比較。如果一致,則認為數據沒有發生變化。否則,認為數據出錯。 從上述理論可以推出,CRC校驗位越多,則偵錯能力越強。CRC設計不一樣,偵錯不同數據翻轉的能力不同。可能存在數據錯了,但偵錯不了的情況。 既然有漏測的情況,為什么我們還會繼續使用?這就和錯誤類型的概率有關了。通常情況下,一個bit翻轉的可能性比較高,多bit同時翻轉的可能性比較低。多bit翻轉在同一個device里的幾率比較高,多device同時翻轉的概率比較低。 舉個例子,當一個Cacheline的數據從內存條里讀出來后,通過CRC校驗,我們會發現數據有可能已經發生改變。這個時候,我們先假設出現了CE(Correctable Error)問題。則通過Parity信息反算Device數據,需要一個Device一個Device的假設,然后重新計算CRC和之前存儲的CRC進行比較。所以最多的情況可能要假設18次。 如果全部弄完仍然CRC對不上,則屬于UCE(Uncorrectable Error)問題啦。當然,大家會發現,ECC校驗過程會影響內存讀寫延時。

到這里,大家應該了解了Memory ECC的基本算法了,Parity針對的是每個Burst,CRC是以半個CacheLine或者其他大小為單位處理的。如果是跨Device的Error,真的無法糾錯嗎?如果有,請將你的實現方案發給我們吧,我們將在下期公布讀者的“可行”方案哦。

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

    關注

    68

    文章

    19165

    瀏覽量

    229130
  • 服務器
    +關注

    關注

    12

    文章

    9021

    瀏覽量

    85184
  • 內存條
    +關注

    關注

    0

    文章

    143

    瀏覽量

    19502

原文標題:真相!企業級內存條到底牛在哪兒?

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

收藏 人收藏

    評論

    相關推薦

    如何選擇DDR內存條 DDR3與DDR4內存區別

    隨著技術的不斷進步,計算機內存技術也在不斷發展。DDR(Double Data Rate)內存條作為計算機的重要組成部分,其性能直接影響到電腦的運行速度和穩定性。DDR3和DDR4是目前市場上最常
    的頭像 發表于 11-20 14:24 ?309次閱讀

    佰維特存推出工業ECC DDR4 SODIMM內存條,守護極端環境下的工業存儲需求

    為應對嚴苛環境下的數據存儲挑戰,近日,佰維存儲旗下工車規存儲品牌 佰維特存 推出工業寬溫ECC DDR4 SODIMM內存條,寬溫精選顆粒,數據速率達 3200Mbps ,容量覆蓋 4GB
    發表于 11-15 14:49 ?304次閱讀
    佰維特存推出工業<b class='flag-5'>級</b><b class='flag-5'>ECC</b> DDR4 SODIMM<b class='flag-5'>內存條</b>,守護極端環境下的工業存儲需求

    十銓科技推出首款工業DDR5 6400MT/s內存條

    近日,十銓科技在工控領域取得了重大突破,發布了業界首款工業DDR5 6400MT/s CUDIMM/CSODIMM內存條。這款內存條基于SK海力士原廠DRAM顆粒設計,專為工業應用而打造,展現了十
    的頭像 發表于 10-25 13:51 ?339次閱讀

    金士頓發布FURY Renegade DDR5 CUDIMM內存條

    近日,金士頓公司正式宣布將推出全新的FURY Renegade DDR5 CUDIMM內存條,該內存條專為兼容英特爾酷睿Ultra第二代桌面處理器而設計。 據悉,首批FURY Renegade
    的頭像 發表于 10-25 13:36 ?351次閱讀

    金百達、精億、光威這三個品牌的內存條哪個好?

    金百達、精億和光威這三個品牌在內存條市場上都有一定的市場份額和用戶評價,具體選擇哪個品牌需要根據個人需求和預算來決定。 ? 價格范圍 ?·100-300元 ?:精億赤龍銀甲系列、光威內存條(天策系列
    的頭像 發表于 10-25 11:01 ?718次閱讀

    英睿達推出首批CUDIMM、CSODIMM內存條

    10月16日最新消息,美光公司在其位于美國愛達荷州博伊西的總部宣布,其消費品牌Crucial英睿達正式推出了首批CUDIMM和CSODIMM內存條。這一舉措標志著原廠品牌首次面向零售市場推出此類產品。
    的頭像 發表于 10-16 15:20 ?419次閱讀

    電腦內存條的作用和功能

    電腦內存條是計算機系統中不可或缺的組成部分,它在提升計算機性能、增強多任務處理能力以及優化用戶體驗方面發揮著至關重要的作用。以下將詳細闡述電腦內存條的作用和功能,包括其數據存儲、速度影響、空間優化、效率提升、輔助CPU運算、系統穩定性等多個方面。
    的頭像 發表于 09-10 14:18 ?2029次閱讀

    內存時鐘和內存條有什么不同

    在探討內存時鐘(Memory Clock)和內存條Memory Module)的不同時,我們首先需要明確這兩個概念的基本定義和它們在計算機系統中的角色。以下是對這兩個概念的詳細解析,
    的頭像 發表于 09-04 11:45 ?1171次閱讀

    內存條接觸不良會導致哪些情況

    內存條接觸不良是一種常見的計算機故障,它可能會導致多種問題,影響計算機的正常運行。本文將詳細介紹內存條接觸不良可能導致的各種情況,以及如何診斷和解決這些問題。 計算機無法啟動 內存條接觸不良最明顯
    的頭像 發表于 09-02 14:36 ?1407次閱讀

    卓越性能精億內存條赤龍銀甲系列DDR4 16G(8GX2) 3200 內存條測評 值得推薦價格親民質量過硬的國貨老牌

    引言 ? 隨著計算機技術的不斷發展,內存作為電腦的重要組成部分之一,其性能直接影響著系統的運行效率。本文將對精億內存條赤龍銀甲系列DDR4 16G(8GX2) 3200套裝內存條進行詳細測評,探討其
    的頭像 發表于 07-25 17:42 ?730次閱讀
    卓越性能精億<b class='flag-5'>內存條</b>赤龍銀甲系列DDR4 16G(8GX2) 3200 <b class='flag-5'>內存條</b>測評 值得推薦價格親民質量過硬的國貨老牌

    DDR5內存條上的時鐘走線

    DDR5標準JESD79-5文件中沒有明確的控制阻抗建議,DDR4時代基本內存條上時鐘阻抗還是跟著芯片、主板走的70-80歐姆。線寬相對而言比較細。不知道你開始使用DDR5沒有,你有關注過DDR5內存條上的時鐘走線嗎?
    的頭像 發表于 07-16 17:47 ?1665次閱讀
    DDR5<b class='flag-5'>內存條</b>上的時鐘走線

    研華工控機購買指南:DDR3、DDR4、DDR5怎么選?如何選擇內存條

    在選購研華工控機時,內存條的選擇至關重要。內存條不僅影響工控機的整體性能,還直接影響系統的穩定性和響應速度。針對不同的應用需求,選購合適的內存條能夠顯著提升工控機的效率和可靠性。本文蘇州研訊電子科技
    的頭像 發表于 06-28 09:57 ?814次閱讀
    研華工控機購買指南:DDR3、DDR4、DDR5怎么選?如何選擇<b class='flag-5'>內存條</b>?

    服務器內存條和普通內存條的區別

    內存條一般采用ECC DIMM封裝形式。ECC DIMM具有額外的錯誤檢測和糾正功能,可以提供更高的數據可靠性,減少硬件故障的風險。 此外,服務器內存條通常具有更多的插槽和更大的容量支
    的頭像 發表于 02-19 10:19 ?8676次閱讀

    企業級SSD-高性能系列固態硬盤推薦

    除了傳統的機械盤HDD,固態硬盤SSD也開始慢慢地在企業級硬盤領域發揮重要的作用。由于企業級固態硬盤的價格遠遠高于機械硬盤,因此固態硬盤在企業級領域應用還不是很廣泛,但是就發展趨勢而言,很有可能會全面代替機械硬盤。
    的頭像 發表于 01-23 16:48 ?1159次閱讀
    <b class='flag-5'>企業級</b>SSD-高性能系列固態硬盤推薦

    詳解內存條內存顆粒

    變為64bit,即8個字節,于是SIMM就順勢變為DIMM(Double-Inline Memory Module)。這種形態一直延續至今,也是內存條的基本形態。
    的頭像 發表于 12-16 15:00 ?3851次閱讀
    詳解<b class='flag-5'>內存條</b>和<b class='flag-5'>內存</b>顆粒