用于對行敲擊事件進行響應(yīng)的方法、裝置和系統(tǒng)的制作方法
【專利說明】
【背景技術(shù)】
[0001]1.
技術(shù)領(lǐng)域
本發(fā)明的實施例總體上涉及存儲器管理,并且更具體地涉及存儲器刷新操作的控制。
[0002]2.【背景技術(shù)】
隨著計算技術(shù)的進步,計算設(shè)備更小,并且具有更強的處理能力。另外地,它們包括越來越多的儲存器和存儲器來滿足在設(shè)備上執(zhí)行的編程和計算的需要。通過提供高密度設(shè)備來實現(xiàn)與增加的儲存容量一起的設(shè)備的縮小的尺寸,其中存儲器設(shè)備內(nèi)的原子儲存單元具有越來越小的幾何尺寸。
[0003]隨著連續(xù)代的越來越緊湊的存儲器設(shè)備,間發(fā)故障已經(jīng)變得更頻繁。例如,一些現(xiàn)有的基于DDR3的系統(tǒng)在繁重工作負荷的情況下經(jīng)歷間發(fā)故障。研宄員已經(jīng)跟蹤了在存儲器單元的刷新窗口內(nèi)對存儲器的單個行的重復(fù)訪問的故障。例如,對于32 nm工藝,如果在64毫秒刷新窗口中對行進行550K次或更多的訪問,則與被訪問的行在物理上相鄰的字線(wordline)具有經(jīng)歷數(shù)據(jù)損壞(corrupt1n)的非常高的概率。對單個行的行敲擊(hammering)或重復(fù)訪問能夠弓I起跨傳輸門(passgate)的迀移。由對單行的重復(fù)訪問所弓I起的泄漏和寄生電流引起未被訪問的物理上相鄰的行中的數(shù)據(jù)損壞。已經(jīng)由經(jīng)常地看到這一點的DRAM行業(yè)將該故障問題標記為“行敲擊”或者“行干擾”問題。
[0004]最近,已經(jīng)引入定向(targeted)行刷新技術(shù)來減輕行敲擊的效應(yīng)。促進定向行刷新的各種操作趨向于使存儲器子系統(tǒng)中的其它過程的定時復(fù)雜化。隨著存儲器技術(shù)繼續(xù)擴張,人們預(yù)期到,對定向行刷新技術(shù)的依賴有所增加。該增加的信賴提出保護DRAM和其他類型的存儲器系統(tǒng)的性能的挑戰(zhàn)。
【附圖說明】
[0005]在附圖的圖中通過示例的方式而非通過限制的方式圖示本發(fā)明的各個實施例,并且在附圖中:
圖1是圖示出根據(jù)實施例的用于執(zhí)行定向刷新的系統(tǒng)的元件的框圖。
[0006]圖2是圖示出根據(jù)實施例的用于對行敲擊事件進行響應(yīng)的系統(tǒng)的元件的框圖。
[0007]圖3是圖示出根據(jù)實施例的用于控制存儲器設(shè)備的方法的元素的流程圖。
[0008]圖4是圖示出根據(jù)實施例的用于對行敲擊事件進行響應(yīng)的存儲器設(shè)備的元件的框圖。
[0009]圖5是圖示出根據(jù)實施例的用于操作存儲器設(shè)備的方法的元素的流程圖。
[0010]圖6是根據(jù)實施例的圖示出存儲器控制器和存儲器設(shè)備之間的交換的時序圖。
[0011]圖7是圖示出根據(jù)實施例的用于執(zhí)行定向存儲器刷新的計算系統(tǒng)的元件的框圖。
[0012]圖8是圖示出根據(jù)實施例的用于執(zhí)行定向存儲器刷新的移動設(shè)備的元件的框圖。
【具體實施方式】
[0013]在本文討論的實施例不同地提供促進特定于存儲器設(shè)備中的存儲器的行的定向刷新的技術(shù)和/或機制。將被刷新的行例如可以處于是在相鄰的目標行的行敲擊的受害(victim)的危險之中。在實施例中,動態(tài)隨機存取存儲器(DRAM)或其它存儲器設(shè)備檢測到指示一一例如從耦合到其的存儲器控制器接收到的指示一一特定目標行經(jīng)受行敲擊。
[0014]響應(yīng)于這樣的指示,存儲器設(shè)備可以在一模式中操作,該模式促進對于預(yù)期的將來的(但是,在實施例中,還沒有接收到的)執(zhí)行用于實施定向行刷新的一個或多個操作的命令進行準備。在操作在該模式中時,存儲器設(shè)備可以保持跟蹤包括目標行和與目標行物理上相鄰的一個或多個受害行的特定存儲體(bank)。在處于該模式中時,但是在對于定向行刷新的準備已經(jīng)開始之后,存儲器設(shè)備可以支持對存儲器設(shè)備的另一個或多個存儲體(其不包括目標行和(一個或多個)受害行)的訪問一一例如,讀取訪問、寫入訪問,等等。在實施例中,存儲器設(shè)備在指示已經(jīng)執(zhí)行了與所檢測的敲擊事件相關(guān)聯(lián)的所有預(yù)期的定向行刷新之后自動地退出該模式。
[0015]圖1圖示出根據(jù)實施例的用于實施定向行刷新的系統(tǒng)100的元件。系統(tǒng)100可以包括耦合到存儲器控制器120的存儲器設(shè)備110。存儲器設(shè)備110可以包括具有存儲器單元的相鄰行的任何各種類型的存儲器技術(shù),其中數(shù)據(jù)是經(jīng)由字線可訪問的或是等同的。在一個實施例中,存儲器設(shè)備110包括動態(tài)隨機存取存儲器(DRAM)技術(shù)。存儲器設(shè)備110可以是系統(tǒng)100的較大的存儲器設(shè)備(未示出)內(nèi)的集成電路封裝。例如,存儲器設(shè)備110可以是諸如雙列直插式存儲器模塊(DIMM)之類的存儲器模塊的DRAM設(shè)備。
[0016]存儲器設(shè)備110可以包括表示存儲器的一個或多個邏輯和/或物理群組的存儲器資源140。存儲器的一個這樣的分組的示例是存儲器資源140的存儲體150。存儲體150可以包括以行和列布置的儲存元件的陣列。通過說明而非限制的方式,存儲體150可以包括行112和與行112物理上相鄰的行114、116中的一個或兩者。不要求給定存儲體的行和列的數(shù)量是相等的,并且事實上,它們通常是不等的。
[0017]在實施例中,存儲器資源140包括多個存儲體,其包括存儲體150。這樣的多個存儲體中的一些或全部例如可以被布置在存儲器設(shè)備110的單個集成電路芯片(未示出)上。在實施例中,多個存儲體由例如3D堆棧存儲器設(shè)備的集成電路封裝中的存儲體組成,其中,存儲體不同地存在于IC芯片堆棧的不同的芯片上。
[0018]存儲器設(shè)備110可以包括訪問邏輯170以至少部分地促進對存儲器資源140的訪問,例如在提供這樣的訪問以服務(wù)于來自存儲器控制器120的一個或多個命令的情況下。例如在訪問邏輯170的功能利用在本文討論的附加的功能來補充這樣的常規(guī)技術(shù)的情況下,訪問邏輯170可以包括或者結(jié)合根據(jù)常規(guī)技術(shù)來提供資源訪問的存儲器設(shè)備110的邏輯來進行操作。通過說明而非限制的方式,訪問邏輯170可以包括或耦合到用于將訪問指令解碼到存儲體150內(nèi)的適當?shù)拇鎯ζ魑恢玫牧羞壿?42和行邏輯144。列邏輯142和/或行邏輯144可以進一步提供用于訪問存儲器資源140的一個或多個其它存儲體的功能。
[0019]存儲器控制器120可以通過命令總線(例如,命令/地址(C/A)總線)來向存儲器設(shè)備110發(fā)送命令或指令,該命令或指令然后由存儲器設(shè)備110來解釋。存儲器設(shè)備110可以對命令信息進行解碼以在存儲器內(nèi)執(zhí)行各種訪問功能,并且經(jīng)由列邏輯142和行邏輯144來對地址信息進行解碼。該邏輯可以利用列地址選通(strobe)或信號(CAS)和行地址選通或信號(RAS)的組合來訪問存儲器中的特定位置??梢愿鶕?jù)已知的存儲器架構(gòu)或它們的派生物來實施存儲器的行。簡要地,存儲器的行可以包括由通過列邏輯142生成的CAS所識別的存儲器單元的一個或多個可尋址的列。行可以均是經(jīng)由通過行邏輯144所生成的RAS不同地可尋址的。
[0020]存儲器資源140可以包括在存儲器設(shè)備的一些操作期間是時間窗口內(nèi)的重復(fù)訪問的目標的一個或多個行。這樣的行可能經(jīng)受行敲擊狀況。在許多現(xiàn)代的存儲器設(shè)備中,半導體布局的架構(gòu)使一個或多個物理上相鄰的行處于變?yōu)閾p壞的危險之中。處于由于行敲擊狀況而變?yōu)閾p壞的危險之中的一個或多個行在本文被稱為受害行。在系統(tǒng)100的操作期間的給定時間,存儲器資源140可以包括存儲體150的目標行112,其是經(jīng)受敲擊或在給定時間段內(nèi)被重復(fù)地訪問的存儲器的行。目標行112是行敲擊事件的目標。用存儲體150的受害行114和受害行116來圖示出處于由于目標行112的行敲擊而變?yōu)閾p壞的危險之中的一個或多個行。取決于存儲器設(shè)備110的物理布局,受害行114、116中的任何一個或兩者可能處于危險之中。
[0021]應(yīng)當理解的是,不同的存儲器設(shè)備制造商使用不同的邏輯和架構(gòu)來利用設(shè)備的存儲器資源。例如,不同的存儲器設(shè)備制造商可以使用不同的偏移來在主處理器中所使用的邏輯存儲器地址和在存儲器設(shè)備110內(nèi)所使用的物理存儲器地址之間進行映射。在一個實施例中,存儲器控制器120利用與由系統(tǒng)100的主處理器(未示出)使用的相同的邏輯存儲器地址。因此,在一個實施例中,存儲器控制器120可以向存儲器設(shè)備110提供指示特定行的行地址。存儲器控制器120可以結(jié)合其向存儲器設(shè)備110發(fā)出的命令和/或作為該命令的一部分來指示行地址。
[0022]然而,在某些應(yīng)用中,存儲器控制器120可能不具有對目標行112的物理地址和/或例如描述目標行112和物理上相鄰的受害行114、116中的一個或每一個之間的地址偏移的信息的訪問。此外,在沒有指定受害行114或受害行116的地址的存儲器控制器120的情況下,存儲器設(shè)備110可能不包括識別出該受害行114或受害行116是定向刷新的目標以尋址目標行112的敲擊的邏輯。
[0023]在實施例中,存儲器控制器120響應(yīng)于檢測到行敲擊事件而生成用于使存儲器設(shè)備110執(zhí)行各個行中的每一個的一個或多個定向刷新的一個或多個命令122。在一個實施例中,一個或多個命令122包括用于刷新存儲器資源140的特定行的命令或命令的序列。例如,在一個實施例中,這樣的序列可以包括指定潛在的受害行的激活的激活命令,其后面是針對該相同的潛在的受害行的預(yù)充電(precharge )命令。根據(jù)不同的實施例,明確地指定這樣的潛在的受害行的任何各種附加的或替換的命令可以被包括在一個或多個命令122中。
[0024]檢測器130表示使得系統(tǒng)100能夠檢測行敲擊事件的硬件和/或軟件或者其它邏輯。用于檢測行敲擊狀況的一個或多個機制可以不對某些實施例進行限制。在實施例中,檢測器130確定目標行112何時經(jīng)歷閾值內(nèi)的重復(fù)訪問。檢測器130可以包括在存儲器設(shè)備110、存儲器控制器120處,和/或在存儲器設(shè)備110和存儲器控制器120中的任何一個或兩者的外部的硬件和/或邏輯。
[0025]檢測器130的機制例如可以包括確定行被訪問的次數(shù)以及確定其中發(fā)生訪問的時間段的某方式。行敲擊事件可以不簡單地是關(guān)于行被訪問多少次,而是在給定時間段中被訪問多少次。一旦行被刷新,可以克服可能引起數(shù)據(jù)損壞的狀況。因此,在實施例中,用于監(jiān)視的時間段應(yīng)當至少部分地基于刷新速率。為了克服將以其他方式引起數(shù)據(jù)損壞的狀況而進行的一個或多個命令122的交換可以發(fā)生在可以在刷新周期上周期性地出現(xiàn)的正常地調(diào)度的刷新事件之間。
[0026]存儲器設(shè)備110可以進一步包括行敲擊(RH)響應(yīng)邏輯160來執(zhí)行促進定向刷新的執(zhí)行的一個或多個操作。響應(yīng)于檢測器130檢測到行敲擊事件的指示,存儲器設(shè)備110可以被配置為用于操作在使存儲器設(shè)備110為服務(wù)于一個或多個命令122中的一些或所有作準備的模式中。例如,基于在這樣的模式中操作的存儲器設(shè)備110的配置,RH響應(yīng)邏輯160可以相應(yīng)受害行中的每一個地(例如受害行114、116中的相應(yīng)一個)執(zhí)行促進一個或多個定向刷新的稍后執(zhí)行的一個或多個操作。在實施例中,在存儲器設(shè)備110接收一個或多個命令122中的一些或者任一個之前,由RH響應(yīng)邏輯160來執(zhí)行一個或多個操作。
[0027]由RH響應(yīng)邏輯160執(zhí)行的一個或多個操作例如可以包括例如在訪問邏輯170中激活電路以防止可能干擾、延遲或以其它方式影響實施定向行刷新的操作的對存儲器資源140的