用于錯誤監視與校正的動態隨機存取存儲器設備與方法
【專利摘要】本公開的實施例提供了一種用于監視嵌入了錯誤校正碼(ECC)的動態隨機存取存儲器(DRAM)設備的完好性及預測其故障的方法。把附加的寄存器嵌入在DRAM設備上,以存儲有關DRAM的信息,例如,所述設備所檢測的軟錯誤的數目與位置。當DRAM設備檢測到軟錯誤時,其將更新存儲在附加寄存器中的信息。控制器把存儲在附加寄存器中的信息與相關閾值進行比較。在某些實施例中,在把所述信息與相關閾值進行比較之后,控制器可以判斷是否調度修復動作。在其它一些實施例中,控制器可以判斷是否警告存儲器控制器:DRAM可能發生故障。
【專利說明】
用于錯誤監視與校正的動態隨機存取存儲器設備與方法
技術領域
[0001 ]總體上講,本公開涉及計算硬件領域,更具體地講,本公開涉及把嵌入了錯誤校正碼(ECC)的動態隨機存取存儲器(DRAM)設備與記錄和校正存儲器錯誤的寄存器相耦合,以及針對低溫攻擊監視DRAM設備。
【背景技術】
[0002]動態存儲器單元把電荷存儲在電容器中。這些電容器的尺寸不斷縮小,以適應不斷增加的存儲器需求。隨著電容器變得越來越小,動態存儲器單元變得越來越容易收到因減少的單元保持時間、電或者磁的干擾、以及本底輻射所導致的單一單元軟錯誤的影響。為了扼制軟錯誤的增加,某些DRAM制造商正直接在DRAM設備上嵌入錯誤校正碼(ECC),而非依賴于中央處理器(CPU)或者系統存儲器控制器。
[0003]隨著時間的流逝,DRAM電容器會丟失它們的電荷,因此必須對它們進行刷新,以避免丟失信息。許多DRAM設備具有毫秒級的最大刷新時間間隔。DRAM電容器丟失其電荷的速率可能取決于溫度。如果DRAM電容器被驟然冷卻,則電荷可能存留長于它們處于正常操作溫度時的時間,可能持續數分鐘到數小時,而不是通常的幾秒鐘。
【發明內容】
[0004]本發明的實施例公開了一種用于監視嵌入了錯誤校正碼(ECC)的動態隨機存取存儲器(DRAM)設備的完好性及預測其故障的裝置與方法。在一個實施例中,本公開包括一種嵌入了ECC的DRAM設備。所述DRAM設備還包括一個存儲所檢測的錯誤的數目的連續計數的寄存器、以及一個存儲所檢測的錯誤的存儲器地址的寄存器組。DRAM設備還包括一個ECC控制器,其中,將所述控制器配置為使用ECC執行錯誤檢測與校正(EDAC)。
[0005]在另一個實施例中,本公開包括一種用于記錄與校正嵌入了ECC的DRAM設備中軟錯誤的方法。所述DRAM設備對一個字進行ECC檢查,以判斷該字中是否存在任何軟錯誤。當檢測到錯誤時,遞增存儲在DRAM設備上的寄存器中的錯誤計數,并且把相應于所述錯誤的位置的存儲器地址保留在DRAM設備上的寄存器組中。
[0006]在另一些實施例中,本公開包括一種用于預測DRAM中故障的方法。DRAM設備接收一組有關DRAM的存儲器信息。DRAM設備處理所述一組存儲器信息,以確定一組錯誤指示符。然后DRAM設備把所述一組錯誤指示符與相關的閾值進行比較,如果所述一組錯誤指示符中的至少之一超過其相關的閾值,則向存儲器控制器發送警告。
[0007]在另一些實施例中,本公開包括一種用于檢測動態隨機存取存儲器(DRAM)設備上的低溫攻擊,并且對所述低溫攻擊做出響應的方法。通過使用一組決策參數處理一組存儲器信息,確定一組錯誤指示符。然后把錯誤指示符與攻擊特征群進行比較。如果錯誤指示符與攻擊特征群相匹配,則禁止對DRAM設備的訪問。
[0008]本公開的更多的實施例主要涉及針對指示低溫攻擊的狀態監視DRAM設備,并且對所述低溫攻擊做出響應的系統和計算機程序產品。
[0009]以上
【發明內容】
不旨在描述每一個所說明的實施例,或本公開的每個實現。
【附圖說明】
[0010]將包括在本申請中的圖并入本說明書,并且形成本說明書的一部分。它們圖示了本發明的實施例,并且與本描述一起用于解釋本發明的原理。這些圖僅示出了本發明的典型的實施例,并不構成對本發明的限制。
[0011]圖1圖示了根據本公開實施例的一個實例計算機系統的高級結構圖,所述實例計算機系統可用于實現此處所描述的一或多種方法、工具、模塊、以及任何相關的功能。
[0012]圖2為流程圖,圖示了根據本公開實施例的用于記錄嵌入了ECC功能的動態隨機存取存儲器(DRAM)設備中的錯誤的方法。
[0013]圖3為流程圖,圖示了根據本公開實施例的用于標識在嵌入了ECC功能的DRAM設備中采取修復動作的需求的方法。
[0014]圖4為根據本公開實施例的嵌入了ECC功能、錯誤記錄單元、以及故障檢測單元的實例DRAM設備的結構圖。
[0015]圖5為根據本公開實施例的用于預測嵌入了ECC功能的DRAM設備中故障的方法的流程圖。
[0016]圖6為根據本公開實施例的嵌入了ECC功能、錯誤記錄單元、以及低溫攻擊檢測單元的實例DRAM設備的結構圖。
[0017]圖7為圖示了根據本公開實施例的用于檢測嵌入了ECC功能的DRAM設備中低溫攻擊的方法的流程圖。
【具體實施方式】
[0018]總體上講,本公開涉及計算硬件領域,更具體地講,本公開涉及把嵌入了錯誤校正碼(ECC)的動態隨機存取存儲器(DRAM)設備與記錄和標識修復存儲器的需求的寄存器相耦合,以及針對低溫攻擊監視DRAM設備。然而本公開并非局限于這樣的應用,可以根據本說明書所述,通過對不同實例的討論理解本公開的各個方面。
[0019]DRAM是一種把數據的每一個比特存儲在集成電路中的存儲器單元中一個獨立電容器中的隨機存取存儲器。可以對電容器進行充電,也可以令其放電,表示數據比特的二進制數值(I或者O)。有時,一個比特可以自發地從一個二進制值翻轉到相反的二進制值,從而引發了軟錯誤。電或者磁干擾、擊中一個單元的阿爾法粒子、以及本底輻射可能導致軟錯誤。
[0020]存儲器中軟錯誤的后果可取決于系統。在不具有ECC的系統中,軟錯誤可能導致不可覺察的后果,也可能導致系統崩潰或者數據破壞。例如,假設把按ASCII格式存儲數字的電子數據表加載到應用的存儲器中,然后把數字“8”輸入一個數據單元,接著保存電子數據表。可以由二進制比特序列00111000表示所述“8”,其中,序列中的每一個比特存儲在獨立的存儲器單元中。如果在保存電子數據表之前阿爾法粒子擊中存儲二進制比特序列的最低有效比特(最右),導致比特從O翻轉為1,則當接下來把電子數據表重新加載于存儲器中時,先前包括數字“8”的數據單元現在可能包括數字“9”。盡管這樣的變化不總是導致系統不穩定,但對于運行科學和金融計算的應用的系統、以及對于文件服務器,其影響是不可接受的。
[0021]那些不能容忍數據破壞的系統可以使用ECC存儲器校正所出現的錯誤。ECC存儲器可以使用附加的存儲器芯片,以允許添加校驗比特。當在讀、寫、或者刷新操作期間訪問存儲器單元時,存儲器控制器,或,新近,中央處理器(CPU)可以與校驗比特一起使用ECC,以檢查錯誤。如果發現錯誤,則存儲器控制器或者CPU,能夠校正錯誤,取決于所翻轉的比特的數目和所使用的ECC。用于校正軟錯誤的ECC的實例包括Hamming碼和Reed-Solomon碼。
[0022]冷啟動攻擊是一種側通道攻擊,其中,在使用冷重啟來重新啟動機器之后,具有對計算機進行物理訪問的攻擊者能夠從正在運行的操作系統檢索加密密鑰。在斷電之后,所述攻擊依賴于DRAM的數據剩磁特性檢索繼續存在的可讀的存儲器內容。在冷啟動攻擊中,在不讓操作系統執行其關閉操作,并且把存儲器內容轉儲于文件的情況下關閉電源。低溫攻擊是一種冷啟動攻擊,其中,首先冷卻DRAM,以減慢各DRAM單元中的電容器泄漏。通過減慢DRAM設備中的存儲器泄漏,攻擊者能夠向文件轉儲更多的DRAM信息,從而提高了成功盜取加密密鑰的可能性。
[0023]如這里所使用的,“存儲器信息”為可用于預測DRAM中故障的,或者可用于檢測存儲器上低溫攻擊的任何有關DRAM的信息。例如,存儲器信息可以包括錯誤計數、DRAM的溫度、或者在無寫操作的情況下順序讀操作的次數的計數。“字”為具體處理器設計所使用的數據的一個自然單位,其與總線傳送的大小有關。某些現代計算機和服務器使用64個比特的字,但其它字大小也存在,本公開不應局限于任何特定的字大小。
[0024]“錯誤率”指的是DRAM中新錯誤出現的速率。例如,如果在一個3秒的時間間隔上出現15個新錯誤,則錯誤率為每秒5個新錯誤。“錯誤加速度”為一段時間錯誤率的變化。例如,如果在I秒的時間間隔上錯誤率從5個新錯誤/秒變為10個新錯誤/秒,則錯誤加速度為每秒平方5個新錯誤。“錯誤指示符”為可以與已建立的閾值進行比較,以判斷是否出現DRAM故障,或者是否出現DRAM上的低溫攻擊的有關DRAM的任何信息。例如,錯誤指示符可以為錯誤計數、錯誤率、錯誤加速度、或者DRAM溫度。“相關閾值”為相應于某一給定錯誤指示符的閾值。例如,錯誤計數的相關閾值可以為DRAM能夠容忍的錯誤的最大數目,而錯誤率的相關閾值可以為DRAM中新錯誤的最大可容忍率。
[0025]“修復動作”包括任何在DRAM上執行的、修復或者防止軟錯誤的動作。例如,在某些實施例中,修復動作可以為運行存儲器擦除操作。在其它一些實施例中,特別是當存儲器單元或者行已經具有許多錯誤時,修復動作可以備份或者標記所述硬件,以致計算機系統將不再在受到影響的存儲器單元或者行中存儲信息,或者最終更換DRAM。
[0026]現在返回至附圖,圖1為其中可以實現此處所描述的諸如方法、工具、模塊、以及任何相關功能的說明性實施例(例如,使用一或多個處理器電路或者計算機的計算機處理器)的實例計算機系統(例如,服務器)101的高級結構圖。在某些實施例中,計算機系統101的主要部件可以包括一或多個CPU 102、存儲器控制器105、存儲器104、終端接口 113、儲存器接口 114、輸入/輸出(1/0)設備接口 116、以及網絡接口 118,可以經由存儲器總線103、1/0總線112、以及I/O總線接口單元111將它們全部直接或者間接地可通信地加以耦合,以進行部件間的通?目O
[0027]計算機系統101可以包括一或多個通用可編程中央處理器(0?1])102六、1028、102(:、以及102D,此處,一般地將它們稱為CPU 102。在某些實施例中,計算機系統101可以包括多個處理器,是一種典型的相當大的系統。在其它一些實施例中,計算機系統101可以為一個單CPU系統。每個CPU 102可以執行存儲在存儲器104中的指令,并且可以包括一或多層單板高速緩沖存儲器(未示出)。
[0028]存儲器104可以包括呈易失存儲器形式的計算機系統可讀介質,例如,動態隨機存取存儲器(DRAM)106。計算機系統101還可以包括可拆卸/不可拆卸、易失/非易失計算機系統存儲介質。僅為舉例,可以提供存儲器系統,以從不可拆卸、非易失磁介質(例如,“硬驅動器”)讀取以及向它們寫入。盡管未示出,也可以提供磁盤驅動器,以從可拆卸、非易失磁盤(例如,軟盤)讀取以及向它們寫入;或者光盤驅動器,以從可拆卸、非易失光盤(例如,CD-R0M、DVD-R0M或者其它光介質)讀取或者向它們寫入。另外,存儲器104還可以包括諸如閃存棒或者閃存驅動器的閃速存儲器。可以通過一或多個數據介質接口把存儲器設備連接于存儲器總線103。存儲器104可以包括至少一個具有一組(至少一個)其配置旨在執行各實施例的功能的程序模塊的程序產品。
[0029 ] 存儲器104還可以包括ECC校驗比特107、ECC控制器108、以及錯誤記錄單元110。錯誤記錄單元可以包括錯誤地址寄存器(EAR)組IlOA和錯誤計數寄存器(ECR) IlOB AAR組IlOA可以為一組寄存器,其中,每個寄存器存儲ECC控制器108所檢測的錯誤的位置。例如,EAR組IlOA可以存儲其中ECC控制器108檢測到錯誤的存儲器單元的行地址、列地址、或者行與列地址。ECR IlOB可以為其中存儲錯誤計數的寄存器。錯誤計數為ECC控制器108所發現的多個錯誤的連續計算。ECR IlOB和EAR組IlOA均可以被周期性地重新設置。作為選擇,在某些實施例中,也可以通過存儲器控制器105、ECC控制器108、或者用戶把ECR IlOB和EAR組IlOA作為修復動作的一部分重新加以設置。
[0030]可以把ECC控制器108配置為使用校驗比特107和錯誤校正碼(例如,Hamming碼和Reed-Solomon碼)執行DRAM 106上的前向糾錯(FEC)。存儲在存儲器中的ECC校驗比特107的數目會依賴于DRAM 106的大小和所使用的錯誤校正碼。還可以把ECC控制器108配置為當其檢測到軟錯誤時遞增ECR 110B,并且把有關錯誤的信息(例如,錯誤的行與列地址)保存在EAR組 11OA 中。
[0031]在某些實施例中,錯誤記錄單元110可以包括更多的存儲有關DRAM更多信息的寄存器和寄存器組。例如,在某些實施例中,錯誤記錄單元110可以存儲一個多比特錯誤計數,凡當ECC控制器108檢測到一個多比特錯誤時其遞增。在某些實施例中,錯誤記錄單元110可以存儲計算DRAM 106中特定存儲器組中所發現的錯誤的數目的專門針對具體組的錯誤計數。另外,凡當在DRAM 106中發現不可校正的錯誤時,錯誤記錄單元110還可以存儲向存儲器控制器105發送警告的不可校正錯誤標志。
[0032]在某些實施例中,如以上所描述的,ECC控制器108可以與錯誤記錄單元110直接進行通信,例如,為了遞增ECR 11OB中的錯誤計數。然而,在其它一些實施例中,ECC控制器108可以間接地與錯誤記錄單元110進行通信。例如,當檢測到錯誤時,ECC控制器108可以向存儲器控制器105警告錯誤的位置。于是,存儲器控制器105可以與錯誤記錄單元進行通信,以遞增ECR I1B,并且把錯誤地址存儲在EAR組I1A中。
[0033]在某些實施例中,可以存在多個存儲器控制器。例如,CPU可以具有集成的存儲器控制器,將其設計為與外部存儲設備進行交互。在某些實施例中,外部存儲控制器可以包括ECC控制器。
[0034]存儲器104可以包括未示出的附加的芯片、傳感器、或者控制器。例如,存儲器104可以包括溫度傳感器、故障檢測單元、或者低溫攻擊檢測單元。故障檢測單元可以預測存儲器104中災難性故障的開始,并且向控制器發送警告。低溫攻擊檢測單元可以監視DRAM 106是否具有存儲器104正經歷低溫攻擊,即一種冷啟動攻擊的跡象。溫度傳感器可以監視DRAM的操作溫度,并且輔助低溫攻擊檢測單元。將參照圖4和圖5更全面地討論故障檢測單元,以及參照圖6和圖7更全面地討論低溫攻擊檢測單元。
[0035]盡管圖1中把存儲器總線103描述為在CPU102、存儲器104、以及I/O總線接口 111之間提供了直接通信路徑的單總線結構,但在某些實施例中存儲器總線103也可以包括多條不同的總線或者通信路徑,可以按任何不同的形式(例如,層次結構中的點到點鏈接、星型或者網型配置、多層次結構總線、并行或者冗余路徑、或者任何其它適當類型的配置)設置這些不同的總線或者通信路徑。而且,盡管把I/O總線接口 111和I/O總線112示出為單個的各自獨立的單元,但在某些實施例中計算機系統101可以包括多個I/0總線接口單元111、多條I/O總線112、或者既包括多個I/O總線接口單元111也包括多條I/O總線112。另外,盡管示出了多個I/o接口單元(它們把I/O總線112與延伸至各I/O設備的各通信路徑相分隔),但在其它一些實施例中,可以把某些或者全部I/O設備直接連接于一或多條系統I/O總線。
[0036]在某些實施例中,計算機系統101可以是多用戶大型機計算機系統、單用戶系統、或者服務器計算機或者具有很少或者無直接用戶接口,而從其它計算機系統(客戶機)接收請求的類似設備。另外,在某些實施例中,還可以把計算機系統101實現為一個臺式計算機、便攜式計算機、膝上機或者筆記本計算機、平板計算機、袖珍計算機、電話、智能電話、網絡交換器或者路由器、或者其它任何適當類型的電子設備。
[0037]注意,圖1旨在描述一個示范性計算機系統101的一些具有代表性的主要部件。然而,在某些實施例中,各部件可能比圖1中所示部件復雜或者簡單,可能存在著不同于圖1中所示部件或者除圖1中所示部件之外的部件,這樣的部件的數目、類型、以及配置可以不同。
[0038]現在參照圖2,圖2示出了根據本公開一個實施例的用于記錄有關DRAM設備的存儲器信息的一種實例方法200的流程圖。在某些實施例中,可以通過嵌入在存儲器104中的ECC控制器108(圖1中所示)執行方法200。在其它一些實施例中,可以通過計算機系統101的存儲器控制器105執行方法200。所述方法可以開始于操作202,其中,在DRAM設備中執行讀、寫、或者刷新操作。
[0039]作為存儲器地址處的字的讀、寫、或者刷新操作的一部分或者接續,在操作204處,ECC控制器可以檢查字的錯誤。ECC控制器可以使用現存的錯誤校正碼或者算法(例如,Hamming碼和Reed-So 1mon碼)檢查字的錯誤。
[0040]在操作206處,ECC控制器可以判斷在操作204期間是否在字中檢測到任何錯誤。如果沒有檢測到錯誤,則所述方法結束。然而,如果在操作204處檢測到錯誤,則在每次操作208時ECC控制器可以遞增保存在ECR中的錯誤計數,并且把錯誤位置的行地址保存在RAR組中的可用的寄存器中。
[0041]在操作210處,ECC控制器可以把錯誤計數與錯誤閾值進行比較。例如,錯誤閾值可以為DRAM中可容忍的錯誤的最大數目。如果錯誤計數低于所述閾值,則所述方法結束。然而,如果ECC控制器確定錯誤計數超過錯誤閾值,則ECC控制器將設置錯誤標志,如在操作212中所描述的。錯誤標志可以為一條消息,存儲在存儲器中或者將其直接發送給存儲器控制器,其表示錯誤計數已經超過所述閾值。在一些可選的實施例中,可以通過把DRAM設備中的一個引腳驅動為高或者低,設置錯誤標志。
[0042]現在參照圖3,圖3示出了根據本公開一個實施例的用于監視DRAM設備完好性的一種實例方法300的流程圖。在某些實施例中,可以通過嵌入在存儲器104中的ECC控制器108(圖1中所示)執行方法300。在其它一些實施例中,可以通過集成于計算機系統101的存儲器控制器105執行方法300。在又一些其它實施例中,可以通過嵌入在DRAM設備中的專用控制器或者芯片執行方法300。所述方法可以開始于操作302,其中,存儲器控制器判斷是否設置了錯誤標志。例如,存儲器控制器可以通過讀取存儲在具體存儲器地址中的消息判斷是否設置了錯誤標志。如果在所述存儲器地址處發現表示錯誤閾值已被超過的預先確定的消息,則存儲器控制器可以確定設置了錯誤標志。
[0043]如果存儲器控制器確定設置了錯誤標志,則存儲器控制器可以在每次操作304時執行一個修復動作。如果存儲器控制器在操作302處確定沒有設置錯誤標志,則存儲器控制器可以在每次操作306時從錯誤記錄單元檢索存儲器信息。所檢索的存儲器信息可以包括存儲在ECR I1B中的錯誤計數和存儲在EAR組I1A中的錯誤地址列表。存儲器控制器可以在操作308處判斷是否存在大數目的新錯誤。為了判斷是否存在大數目的新錯誤,存儲器控制器可以把新錯誤的總數目與一個閾值加以比較。
[0044]在某些實施例中,存儲器控制器可以把某一具體寄存器組中新錯誤的數目與專門針對具體組的閾值進行比較。在其它一些實施例中,存儲器控制器可以把某一具體地址處(包括在具體的行或者列處)的新錯誤的數目與相應的地址閾值進行比較。在任何情況下,可以由用戶配置所述閾值,也可以由存儲器制造商加以設置,并且將它們存儲在DRAM設備上或者非易失存儲器中的模塊上。如果存儲器控制器確定不存在大數目的新錯誤,則所述方法將結束。
[0045]當存儲器控制器確定存在大數目的新錯誤時,存儲器控制器可以在每次操作310時調度一個修復動作。在某些實施例中,存儲器控制器可以在確定存在大數目的新錯誤和可用的修復資源之后,立即執行修復動作。
[0046]現在參照圖4,圖4示出了根據本公開一個實施例的嵌入了用于預測DRAM的故障的ECC的DRAM設備的結構圖。所述DRAM設備包括DRAM陣列402、ECC控制器406、錯誤記錄單元408、以及故障檢測單元410,通過連接于外部I/O 412的I/O 404直接或者間接地將它們可通信地與計算機系統(未示出)相耦合。I/O 404是DRAM驅動器,嵌入在DRAM設備上,其向外部I/O 412提供電壓或者電流。外部I/O 412可以是DRAM設備上的新的附加的引腳,其也可以是現存引腳的新的多路傳輸的定義。
[0047]ECC控制器406可以使用錯誤校正碼(例如,Hamming碼和Reed-So 1mon碼)檢測DRAM陣列402中的單比特和多比特錯誤。依據所使用的錯誤校正碼,ECC控制器406還可以校正所檢測的錯誤,特別是在單比特錯誤的情況下。當ECC控制器406檢測到錯誤時,其把存儲器信息存儲在錯誤記錄單元408中。
[0048]存儲器信息可以包括:錯誤地址408A,其是其中ECC控制器406檢測到錯誤的單元的存儲器地址;以及錯誤計數408B,其對自錯誤記錄單元408被最后一次重置以來ECC控制器406所發現的錯誤的數目連續地進行計算。在某些實施例中,錯誤記錄單元408可以存儲更多的存儲器信息。例如,錯誤記錄單元408可以存儲相應于ECC控制器所檢測的多比特錯誤的數目的第二錯誤計數。在其它一些實施例中,ECC控制器406可以存儲對ECC控制器406在DRAM陣列402中的每一個唯一組中所檢測到的錯誤進行計算的專門針對具體組的錯誤計數。在又一些其它實施例中,存儲在錯誤記錄單元408中的存儲器信息可以包括不可校正的錯誤計數(ECC控制器406所檢測到的不可校正的錯誤的數目)、DRAM的溫度、以及錯誤標志。
[0049]故障檢測單元410可以存儲決策參數411。決策參數411是故障檢測單元410用于確定諸如DRAM的錯誤率和錯誤加速度的錯誤指示符、以及與錯誤指示符進行比較以預測DRAM中故障的閾值的參數。例如,決策參數可以包括閾值41IA、411B與411C、以及時間周期41ID和411E。第一閾值411A可以為最大可容忍錯誤計數,第二閾值411B可以為最大可容忍錯誤率,以及第三閾值411C可以為最大可容忍錯誤加速度。第一時間周期411D可用于計算錯誤率,而第二時間周期41IE可用于計算錯誤加速度。
[0050]故障檢測單元410可以在第一時間周期41ID上監視錯誤計數408A,以確定錯誤率。于是,故障檢測單元可以在第二時間周期411E上監視錯誤率,以確定錯誤加速度。一旦故障檢測單元已經確定了錯誤計數、錯誤率、以及錯誤加速度,其可以把它們與它們相關閾值411A、411B、以及411C分別進行比較。如果錯誤計數、錯誤率、以及錯誤加速度超過它們相關閾值,則故障檢測單元可以警告存儲器控制器= DRAM可能要出現故障,或者存儲器可能變得不穩定。
[0051 ]在某些實施例中,故障檢測單元可以包括把存儲在錯誤記錄單元408中的存儲器信息與決策參數411進行比較的控制器。在其它一些實施例中,可以把ECC控制器406或者外部存儲器控制器(例如,圖1中所示的存儲器控制器105)配置為把存儲器信息與決策參數411進行比較。在這些實施例中,故障檢測單元410僅可以存儲決策參數411。
[0052]圖4描述了一個實例DRAM設備401的具有代表性的主要部件。然而,在某些實施例中,各部件可能比圖4中所示部件復雜或者簡單,可能存在著不同于圖4中所示部件或者除圖4中所示部件之外的部件,這樣的部件的數目、類型、以及配置可以不同。例如,在某些實施例中,可以把一個單存儲器控制器配置為執行ECC控制器406和故障檢測單元410的功能。
[0053]在某些實施例中,可以由用戶配置決策參數411。在其它一些實施例中,可以由DRAM制造商把決策參數411預先加載到非易失存儲器中。在某些實施例中,可以在DRAM執行了某一給定的操作(例如,存儲器擦除操作)之后重置存儲在錯誤記錄單元408中的信息,例如,錯誤地址408A和錯誤計數408B。在其它一些實施例中,可以由故障檢測單元410或者存儲器控制器105重置錯誤記錄單元408。
[0054]現在參照圖5,圖5是示出了根據本公開一個實施例的用于預測DRAM設備的故障的一個實例方法500的流程圖。在某些實施例中,可以通過嵌入在DRAM中的故障檢測單元410執行方法500。在其它一些實施例中,可以由集成于計算機系統101的存儲器控制器105執行方法500。所述方法可以開始于操作502,其中,故障檢測單元從錯誤記錄單元接收存儲器信息。
[0055]在操作504處,故障檢測單元可以通過處理在操作502處所接收的存儲器信息確定錯誤指示符。錯誤指示符可以為錯誤計數、錯誤率(新錯誤出現在DRAM中的速率)和錯誤加速度(一段時間新錯誤速率的變化)。在某些實施例中,錯誤指示符也可以包括不可校正的錯誤率(不可校正的錯誤出現在DRAM中的速率)和不可校正的錯誤加速度(一段時間不可校正的錯誤速率的變化)。如果所翻轉的比特的數目超過嵌入在DRAM設備上的錯誤校正碼可校正的最大數目,則把錯誤視為不可校正的。在確定了錯誤指示符(在這一實例中,為錯誤計數、錯誤率、以及錯誤加速度)之后,故障檢測單元可以判斷任何錯誤指示符是否超過其相關閾值。
[0056]首先,每次操作506時,故障檢測單元可以判斷錯誤計數是否超過其相關閾值。如果錯誤計數超過其相關閾值,則故障檢測單元在操作512處可以向存儲器控制器105(圖1中所示)發送警告,然后所述過程可以結束。如果在操作506處錯誤計數沒有超過其相關閾值,則每次操作508時故障檢測單元可以判斷錯誤率是否超過其相關閾值。如果錯誤率超過其相關閾值,則故障檢測單元在操作512處可以向存儲器控制器105發送警告,然后所述過程可以結束。如果在錯誤率沒有超過其相關閾值,則每次操作510時故障檢測單元可以判斷錯誤加速度是否超過其相關閾值。如果錯誤加速度超過其相關閾值,則故障檢測單元在操作512處可以向存儲器控制器105發送警告,然后所述過程可以結束。如果在錯誤加速度沒有超過相關閾值,則所述方法可以在操作502處重新開始,其中故障檢測單元可以從錯誤記錄單元接收存儲器信息。
[0057]可以按多種方式實現在操作512處對存儲器控制器105的警告。在某些實施例中,向存儲器控制器105發送警告可以包括提升或者降低DRAM設備上的專用引腳,例如,把DRAM設備中的奇偶錯引腳驅動為高或者低。在又一些其它實施例中,向存儲器控制器105發送警告可以包括故意破壞所讀出的數據,以觸發循環冗余校驗(CRC)錯誤。在又一些其它實施例中,向存儲器控制器105發送警告可以包括向控制器發送預定義的數據模式,控制器將把其識別為錯誤信號。本公開不要求,也不應局限于用于當錯誤指示符超過其相關閾值時警告存儲器控制器的任何具體的方法。
[0058]現在參照圖6,圖6示出了根據本公開一個實施例的嵌入了能夠檢測和響應低溫攻擊的ECC的DRAM設備的結構圖。所述DRAM設備包括DRAM陣列402、ECC控制器406、溫度傳感器618、錯誤記錄單元408、低溫攻擊檢測單元610、以及熔斷器612,通過連接于數據引腳620的I/O 404和連接于命令(CMD)引腳616的命令(CMD)譯碼器614把DRAM設備可通信地耦合于計算機系統(未示出)。
[0059]數據引腳620為DRAM設備的數據I/O引腳。數據引腳620為雙向引腳,具有允許數據寫的輸入能力和允許數據讀的輸出能力。依據設備,可以存在4、8、16、或者32個數據引腳620。其它配置也是可以的,本公開不應局限于具有任何特定數目數據引腳620的設備。
[0060]CMD引腳616為DRAM設備上的一組輸入引腳,它們提供了與將要訪問的單元地址多路復用的命令(例如,讀、寫、刷新)XMD譯碼器614為DRAM設備上的譯碼器,其解釋提供在CMD引腳616上的所編碼的命令輸入,并且使DRAM能夠執行適當的操作(例如,讀、寫、刷新)。[0061 ] DRAM陣列402、ECC控制器406、以及錯誤記錄單元408按以上參照圖4描述的操作。ECC控制器406使用錯誤校正碼檢測DRAM陣列402中的錯誤,并且將存儲器信息存儲在錯誤記錄單元408中。另外,錯誤記錄單元408還存儲其從溫度傳感器618所接收的DRAM的溫度608Co
[0062]與此處所描述的故障檢測單元非常相像,低溫攻擊檢測單元610存儲多個決策參數611。可以由用戶配置決策參數611、或者由制造商設置決策參數611,以輔助低溫攻擊檢測單元610判斷DRAM是否正在經歷低溫攻擊。
[0063]例如,低溫攻擊檢測單元610可以使用第一時間周期61IC計算不可校正的錯誤率,并且使用第二時間周期611D計算不可校正的錯誤加速度。低溫攻擊檢測單元610可以判斷不可校正的錯誤率和不可校正的錯誤加速度是否分別超過第一閾值611A和第二閾值611B。作為選擇,在某些實施例中,低溫攻擊檢測單元610也可以把DRAM溫度608C與溫度閾值611E進行比較,以判斷DRAM是否正在指示低溫攻擊的溫度上操作。
[0064]如果低溫攻擊檢測單元610確定DRAM正經歷低溫攻擊,則其可以禁止對DRAM上的信息的訪問。在某些實施例中,可以通過切斷熔斷器612實現這一點。例如,熔斷器612可以為一個電子熔斷器(e-熔斷器)、可編程電阻器、或者相變電阻器。
[0065]現在參照圖7,圖7示出了根據本公開一個實施例的用于檢測和響應DRAM設備的低溫攻擊的一個實例方法700的流程圖。在某些實施例中,可以由嵌入了存儲器104的低溫攻擊檢測單元610執行方法700。在其它一些實施例中,可以由集成于計算機系統101的存儲器控制器105執行方法700。在又一些其它實施例中,可以把所述方法包括在DRAM控制邏輯中。
[0066]首先,方法700可以包括通過使用一組決策參數處理一組存儲器信息來確定一組錯誤指示符。然后,低溫攻擊檢測單元可以把該組錯誤指示符與一個預先確定的攻擊特征群進行比較。所述攻擊特征群可以是一組DRAM設備經歷低溫攻擊時或者DRAM設備已經被電探測時可能出現的狀態。例如,在某些實施例中,攻擊特征群可以為極高的錯誤率,特別是當錯誤不可校正時。在其它一些實施例中,攻擊特征群可以為極高的錯誤加速度,同樣,特別是當錯誤不可校正時。在又一些其它實施例中,攻擊特征群可以為極低的溫度。
[0067]在本公開的某些實施例中,可以由DRAM制造商把攻擊特征群存儲在DRAM設備上的非易失存儲器中。例如,攻擊特征群也可以是作為決策參數存儲在低溫攻擊檢測單元中的閾值。在其它一些實施例中,可以由用戶配置攻擊特征群。在又一些其它實施例中,可以由DRAM制造商把第一攻擊特征群存儲在DRAM設備上的非易失存儲器中,而且用戶可也建立更多的攻擊特征群,以滿足其具體的需求。
[0068]在某些實施例中,攻擊特征群可以為高錯誤率、高錯誤加速度與/或低溫度的一個組合。例如,在實例方法700中,把攻擊特征群特征化為具有高的不可校正錯誤率(在第一閾值之上)和提高的不可校正錯誤加速度(在第二閾值之上),其中,如果計算機系統正經歷正常的停機操作,則提高的不可校正錯誤加速度低于所期望的提高的不可校正錯誤加速度(即,低于第三閾值)。方法700可以開始于操作702,其中,低溫攻擊檢測單元從錯誤記錄單元接收存儲器信息。
[0069]在操作704處,低溫攻擊檢測單元可以確定不可校正的錯誤(UE)率和加速度。可以通過計算一個指定時間周期(例如,存儲在低溫攻擊檢測單元610中的第一時間周期611C)上所發現的不可校正的錯誤的數目,確定UE率。例如,如果第一時間周期611C為2秒,并且在2秒期間檢測到4個新的不可校正的錯誤,則確定UE率為每秒2個不可校正的錯誤。可以通過計算一段時間(例如,第二時間周期61ID)上UE率的變化,確定UE加速度。例如,在I秒時間周期上,UE率從每秒I個不可校正的錯誤改變為每秒3個不可校正的錯誤,則可以把UE加速度確定為每秒平方2個不可校正的錯誤。
[0070]在操作706處,低溫攻擊檢測單元可以判斷UE率是否超過第一閾值。例如,可以通過把所計算的UE率與存儲在低溫攻擊檢測單元611中的第一閾值61IA相比較實現這一點。如果UE率沒有超過第一閾值,則所述方法可以在操作702處重新開始。如果UE率超過第一閾值,則每次操作708,低溫攻擊檢測單元可以判斷UE加速度是否超過第二閾值。
[0071]如果UE加速度沒有超過第二閾值,則所述方法可以在操作702處重新開始。如果UE加速度超過第二閾值,則在操作710處低溫攻擊檢測單元可以判斷UE加速度是否超過第三閾值。把UE加速度與第三閾值進行比較,例如,可以是把存儲器上的低溫攻擊的影響與系統重新啟動或者關閉對存儲器的影響加以區別。如果UE加速度超過第三閾值(表示系統正在關閉或者正在重新啟動),則可以在操作702處重新開始此方法。如果UE加速度沒有超過第三閾值,則低溫攻擊檢測單元可以在操作712處禁止對DRAN上信息的訪問,并且可以結束所述過程。
[0072]在操作712處,存在許多禁止對DRAN上的信息進行訪問的方法。例如,在某些實施例中,可以使用諸如熔斷熔斷器612(切斷電源或者電壓調節器輸出)的永久性自毀裝置阻止對信息的訪問。在其它一些實施例中,當檢測到低溫攻擊時,DRAM將熔斷熔斷器612,從而使CMD譯碼器614無法工作。當使CMD譯碼器614無法工作時,將忽略所有輸入的命令,而且DRAM將不允許讀取其數據。
[0073]在又一些其它實施例中,DRAM可以把整個陣列寫成已知狀態。可以使用提供行地址的刷新地址計數器、循環通過所有行地址、執行一個特定的寫循環(其強行使所有讀出放大器呈預定的狀態)實現對所有單元的覆蓋寫。
[0074]如此處更詳細地加以討論的,應該意識到,能夠按可選的次序執行此處所描述的方法的某些實施例的某些或者全部操作,也可以根本不執行;另外,多個操作可以同時發生或者作為一個較大過程的一個內部部分發生。
[0075]本發明可以是一種系統、方法與/或計算機程序產品。計算機程序產品可以包括計算機可讀存儲介質,其上載有用于使處理器實現本發明的各個方面的計算機可讀程序指令。
[0076]計算機可讀存儲介質可以是能夠保存和存儲由指令執行設備使用的指令的有形設備。例如,計算機可讀存儲介質可以是,但不局限于電子存儲設備、磁存儲設備、光存儲設備、電磁存儲設備、半導體存儲設備或者上述設備的任何合適的組合。計算機可讀存儲介質的更具體實例的一個非窮舉的列表包括:便攜式計算機塑料磁盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPROM或閃存)、靜態隨機存取存儲器(SRAM)、便攜式壓縮盤只讀存儲器(CD-ROM)、數字多功能盤(DVD)、記憶棒、軟盤、機械編碼設備(例如,其上具有所記錄的指令的打孔卡或凹槽內凸起的結構的)、以及上述存儲介質的任何合適的組合。這里所使用的計算機可讀存儲介質不應被視為瞬時信號本身,例如,無線電波或者其它自由傳播的電磁波、通過波導或者其它傳輸媒介傳播的電磁波(例如,通過光纖電纜的光脈沖)、或者通過電線傳輸的電信號。
[0077]這里所描述的計算機可讀程序指令可以從計算機可讀存儲介質下載到各個計算/處理設備,或者通過諸如因特網、局域網、廣域網與/或無線網的網絡下載到外部計算機或外部存儲設備。所述網絡可以包括銅傳輸電纜、光傳輸纖維、無線傳輸、路由器、防火墻、交換機、網關計算機與/或邊緣服務器。每個計算/處理設備中的網絡適配卡或者網絡接口從網絡接收計算機可讀程序指令,并轉發所述計算機可讀程序指令,以存儲在各個計算/處理設備中的計算機可讀存儲介質中。
[0078]用于執行本發明操作的計算機可讀程序指令可以是匯編指令、指令集架構(ISA)指令、機器指令、依賴于機器的指令、微代碼、固件指令、狀態設置數據、或者以一或多種編程語言的任何組合編寫的源代碼或目標代碼,所述編程語言包括諸如Smalltalk、C++等的面向對象的編程語言、以及諸如“C”編程語言或者類似的編程語言的傳統過程式編程語言。計算機可讀程序指令可以完全地在用戶的計算機上執行、部分地在用戶的計算機上執行、作為一個獨立的軟件包執行、部分在用戶的計算機上部分在遠程計算機上執行、或者完全在遠程計算機或服務器上執行。在涉及遠程計算機的情況下,可以通過包括局域網(LAN)或者廣域網(WAN)的任何種類的網絡把遠程計算機連接于用戶的計算機,或者,可以連接于外部計算機(例如利用因特網服務提供商,通過因特網)。在某些實施例中,例如,包括可編程邏輯電路、現場可編程門陣列(FPGA)、或者可編程邏輯陣列(PLA)的電子電路可以利用計算機可讀程序指令的狀態信息執行計算機可讀程序指令,以個性化電子電路,從而可實現本發明的各個方面。
[0079]此處參照根據本發明的實施例的方法、裝置(系統)以及計算機程序產品的流程圖說明與/或結構圖描述了本發明的各個方面。應當意識到,所述流程圖說明與/或結構圖的每個方框以及流程圖說明與/或結構圖中各方框的組合,均可由計算機可讀程序指令加以實現。
[0080]可以把這些計算機程序指令提供于通用計算機、專用計算機、或者其它可編程數據處理裝置的處理器,從而生產出一種機器,以致通過計算機或者其它可編程數據處理裝置的處理器執行的指令能夠創建用于實現流程圖與/或結構圖各方框中所指出的功能/動作的機制。也可以把這些計算機程序指令存儲在計算機可讀介質中,這些指令可以指揮計算機、其它可編程數據處理裝置或者其它設備以特定方式運作,從而使存儲在計算機可讀介質中的指令能夠產生一個包括實現流程圖與/或結構圖各方框中所指出的功能/動作的指令的制造廣品。
[0081]也可以把計算機可讀程序指令加載到計算機、其它可編程數據處理裝置、或者其它設備上,從而能夠在計算機、其它可編程裝置或者其它設備上執行一系列操作步驟,以產生一個計算機實現的過程,于是運行在計算機、其它可編程數據處理裝置、或者其它設備上的指令能夠實現流程圖與/或結構圖各方框中所指出的功能/動作。
[0082]附圖中的流程圖和結構圖說明了根據本發明的不同實施例的系統、方法、以及計算機程序產品的可能實現的體系架構、功能、以及操作。就此而言,流程圖或者結構圖中的每個方框可以代表一個模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包括一或多條用于實現所指定邏輯功能的可執行的指令。在某些可選的實現中,方框中所標注的功能也可以以不同于附圖中所標注的次序出現。例如,兩個連續描述的方框實際上可以基本上并行地執行,它們有時也可以按相反的順序執行,取決于所涉及的功能。也要注意的是,結構圖與/或流程圖說明中的每個方框、以及結構圖與/或流程圖說明中的方框的組合,可以由執行所指定功能或動作的基于專用硬件的系統加以實現,也可以由專用硬件與計算機指令的組合加以實現。
[0083]此處所使用的術語僅旨在描述具體的實施例,并不旨在對各實施例加以限制。如此處所使用的,單數形式“一個(英文的a或者an)”以及“該或者所述(英文的(the)”也旨在包括復數形式,除非上下文明確加以表示。還應該意識到,當用于本說明書時,術語“包括(英文的includes與/或including)”指出所陳述的特性、整體、步驟、操作、元件、與/或部件的存在,但不排除一或多個其它特性、整體、步驟、操作、元件、部件、與/或它們的組合的存在或者添加。在各實施例示范性實施例的上述詳細描述中,參照了附圖(其中,以相同的數字表示相同的圖元),所述附圖形成了詳細描述的一部分,而且其中,說明性地示出了其中可以實踐各實施例的具體的示范性實施例。足夠詳細地描述了這些實施例,從而能夠使本領域技術人員實踐這些實施例,然而,在不脫離各實施例的范圍的情況下也可以使用其它實施例,并且可以進行邏輯、機械、電、以及其它改變。在以上的描述中,闡述了許多具體的細節,旨在提供對各實施例的一個全面的了解。然而,也可以在不使用這些具體細節的情況下實踐各實施例。在其它一些取例中,為了使實施例清晰,沒有詳細描述已知的電路、結構、以及技術。
[0084]本說明書中所使用的詞“實施例”的不同取例不必指同一實施例,但可以指同一實施例。此處所說明的或者所描述的數據與數據結構僅為實例,在其它一些實施例中,可以使用不同的數據量、數據類型、字段、字段的數目與類型、字段名、行的數目與類型、記錄、條目、或者數據的組織。另外,也可以把任何數據與邏輯相組合,從而可以不需要獨立的數據結構。因此,以上的詳細描述是非限制性的。
[0085]盡管以上已經就具體的實施例描述了本發明,預計本領域技術人員將會明顯意識至IJ,可以對本發明進行改變與修改。因此,旨在把以下權利要求解釋為覆蓋落入本發明宗旨與范圍的所有這樣的改變與修改。
【主權項】
1.一種嵌入了錯誤校正碼(ECC)的動態隨機存取存儲器(DRAM)設備,所述DRAM設備包括: DRAM陣列; 存儲錯誤計數的第一寄存器; 存儲一組錯誤地址的第一寄存器組;以及ECC控制器,其中,把ECC控制器配置為使用DRAM陣列上的ECC執行錯誤檢測與校正(EDAC),凡當檢測到錯誤時遞增錯誤計數,并且把錯誤地址寫入第一寄存器組中的可用寄存器。2.根據權利要求1所述的DRAM設備,還包括存儲多比特錯誤計數的第二寄存器。3.根據權利要求1所述的DRAM設備,還包括存儲不可校正的錯誤標志的第二寄存器。4.根據權利要求1所述的DRAM設備,還包括監視DRAM設備溫度的溫度傳感器、以及存儲溫度閾值的值的非易失存儲器。5.根據權利要求1所述的DRAM設備,還包括存儲一組專門針對具體寄存器組的錯誤計數的第二寄存器組,其中,所述一組專門針對具體寄存器組的錯誤計數中的每一個對應于DRAM陣列中的唯一的存儲器組。6.根據權利要求1所述的DRAM設備,還包括: 第二寄存器組,其存儲多個決策參數;以及 故障檢測單元,其預測DRAM設備的故障,并且檢測DRAM設備的故障行或者列。7.—種用于記錄和校正動態隨機存取存儲器(DRAM)錯誤的方法,所述方法包括: 使用錯誤校正碼檢測DRAM設備中字中的錯誤; 響應對錯誤的檢測,遞增存儲在第一寄存器中的錯誤計數;以及響應對錯誤的檢測,把相應于錯誤位置的錯誤地址保存在第一寄存器組中的可用的寄存器中。8.根據權利要求7所述的方法,還包括: 判斷錯誤是否為多比特錯誤;以及 對錯誤為多比特錯誤加以響應,遞增存儲在第二寄存器中的多比特錯誤計數。9.根據權利要求7所述的方法,還包括: 判斷錯誤是否位于第一存儲器組中;以及 對在第一存儲器組中檢測到錯誤加以響應,遞增針對第一具體組的錯誤計數,其中針對第一具體組的錯誤計數把多個錯誤存儲在第一存儲器組中,并且將針對第一具體組的錯誤計數存儲在第二寄存器組中。10.根據權利要求7所述的方法,還包括: 判斷錯誤是否為不可校正的;以及 對錯誤為不可校正的加以響應,設置不可校正的錯誤標志。11.根據權利要求7所述的方法,還包括: 判斷錯誤計數是否超過閾值;以及 對錯誤計數超過所述閾值加以響應,設置錯誤標志。12.根據權利要求11所述的方法,還包括對所設置的錯誤標志加以響應,執行修復動作。13.根據權利要求7所述的方法,還包括: 確定在第一時間的第一錯誤計數; 確定在第二時間的第二錯誤計數,第二時間在第一時間之后; 通過把第二錯誤計數與第一錯誤計數進行比較,確定多個新錯誤的數目; 判斷新錯誤的數目是否大于新錯誤閾值;以及 對確定新錯誤的數目超過新錯誤閾值加以響應,調度修復動作。14.一種用于預測DRAM設備中故障的方法,所述方法包括: 接收有關DRAM設備的存儲器信息; 使用一組決策參數處理存儲器信息,以確定錯誤指示符; 判斷錯誤指示符是否超過相關錯誤閾值;以及 對錯誤指示符超過相關錯誤閾值加以響應,向控制器發出警告。15.根據權利要求14所述的方法,其中錯誤指示符為錯誤計數。16.根據權利要求14所述的方法,其中錯誤指示符為錯誤率。17.根據權利要求14所述的方法,其中錯誤指示符為錯誤加速度。18.根據權利要求14所述的方法,其中: 錯誤指示符包括錯誤率和錯誤加速度;以及 判斷錯誤指示符是否超過相關錯誤閾值包括把錯誤率與第一閾值進行比較,以及把錯誤加速度與第二閾值進行比較。19.根據權利要求14所述的方法,其中向控制器發出警告包括提升專用引腳。20.根據權利要求14所述的方法,其中向控制器發出警告包括向控制器發送預先確定的讀取數據模式。21.—種用于檢測和響應動態隨機存取存儲器(DRAM)設備上低溫攻擊的方法,所述方法包括: 接收有關DRAM設備的一組存儲器信息; 使用一組決策參數處理所述一組存儲器信息,以確定一組錯誤指示符; 判斷所述一組錯誤指示符是否與攻擊特征群相匹配;以及 對所述一組錯誤指示符與攻擊特征群相匹配加以響應,禁止對DRAM設備的訪問。22.根據權利要求21所述的方法,其中所述一組錯誤指示符包括錯誤計數。23.根據權利要求21所述的方法,其中所述一組錯誤指示符包括錯誤率。24.根據權利要求21所述的方法,其中所述一組錯誤指示符包括錯誤加速度。25.根據權利要求21所述的方法,其中所述一組錯誤指示符包括多個順序讀操作,無寫操作。26.根據權利要求21所述的方法,其中所述一組錯誤指示符包括DRAM設備的溫度。27.根據權利要求21所述的方法,其中: 所述一組錯誤指示符包括錯誤率和錯誤加速度;以及 判斷所述一組錯誤指示符是否與攻擊特征群相匹配包括把錯誤率與第一閾值進行比較,以及把錯誤加速度與第二閾值進行比較。28.根據權利要求21所述的方法,其中禁止對DRAM設備的訪問包括切斷DRAM設備上的熔斷器。29.根據權利要求21所述的方法,其中禁止對DRAM設備的訪問包括把DRAM陣列寫為已知狀態。30.根據權利要求21所述的方法,其中可以由用戶配置攻擊特征群。31.一種系統,包括: 存儲器;以及 動態隨機存取存儲器(DRAM)控制邏輯,其中,DRAM控制邏輯使存儲器: 接收有關DRAM設備的一組存儲器信息; 使用一組決策參數處理所述一組存儲器信息,以確定一組錯誤指示符; 判斷所述一組錯誤指示符是否與攻擊特征群相匹配;以及 對所述一組錯誤指示符與攻擊特征群相匹配加以響應,禁止對DRAM設備的訪問。32.—種用于檢測和響應動態隨機存取存儲器(DRAM)設備上低溫攻擊的計算機程序產品,所述計算機程序產品包括一或多個計算機可讀存儲介質和存儲在一或多個計算機可讀存儲介質中至少之一上的程序指令,當執行這些指令時,執行權利要求21?30任何之一的步驟。
【文檔編號】G06F11/10GK105843699SQ201610064309
【公開日】2016年8月10日
【申請日】2016年1月29日
【發明人】M.B.希利, H.C.亨特, C.A.基爾默, 金圭賢, W.E.莫爾
【申請人】國際商業機器公司