用于測試存儲器元件的控制電路和方法
【專利摘要】本發(fā)明公開了可更快速執(zhí)行DDR或其它存儲器的存儲器訓(xùn)練的技術(shù)和結(jié)構(gòu)。配置存儲器控制器以便可確定用于一個或更多個硬件元件(諸如延遲鎖定環(huán)路(DLL))的一個或更多個存儲器參數(shù)(例如,計時延遲)。可執(zhí)行訓(xùn)練,而無需由系統(tǒng)BIOS居間調(diào)停(或向系統(tǒng)BIOS報告結(jié)果)。因此,可在硬件中完全執(zhí)行訓(xùn)練。本發(fā)明也公開了電壓訓(xùn)練技術(shù)。
【專利說明】用于測試存儲器元件的控制電路和方法
[0001]背景【技術(shù)領(lǐng)域】
[0002]本公開一般涉及計算裝置的存儲器。更具體地說,本公開涉及計算裝置存儲器的操作參數(shù)的測試和/或確定。
[0003]相關(guān)技術(shù)描述
[0004]在許多計算機架構(gòu)中,計算機處理器通過總線連接到計算機存儲器。為精確執(zhí)行存儲器讀或?qū)?,可能需要把存儲器?shù)據(jù)信號延遲到與存儲器控制信號同步??刂菩盘柨蔀槔缰甘竞螘r存取比特流的信號。由于控制信號和數(shù)據(jù)信號可不同相到達,故使用延遲值以使兩個信號一起同步返回可減少錯誤。(同步可在從高至低或從低至高的位轉(zhuǎn)移當(dāng)中防止比特流被錯誤抽樣)。另外,由于存儲器、連接到存儲器的數(shù)據(jù)線(或總線)和/或總體操作環(huán)境的變化的物理特征,可以用不同方式操作存儲器的不同部分。
[0005]可因此通過若干延遲鎖定環(huán)路(DLL)提供存儲器存取。每個DLL可支配對存儲器的一部分的存儲器存取,且對于特定延遲設(shè)置可為可調(diào)的以使存儲器數(shù)據(jù)與存儲器控制同步。校正各種DLL計時延遲參數(shù)的適當(dāng)值可確保把數(shù)據(jù)精確寫入計算機存儲器的所有部分并從計算機存儲器的所有部分讀出。然而,尤其是在較高存儲器操作頻率下,確定延遲設(shè)置可能是耗時的。
[0006]實施方案概要
[0007]在一個實施方案中,公開了一種包括控制電路和參數(shù)調(diào)整電路的存儲器控制器。控制電路被配置以使用一個或更多個存儲器訓(xùn)練參數(shù)執(zhí)行存儲器元件的測試,且參數(shù)調(diào)整電路被配置以接收測試的中間結(jié)果并根據(jù)中間結(jié)果調(diào)整一個或更多個存儲器訓(xùn)練參數(shù)中的至少一個。
[0008]在另一實施方案中,公開了一種方法,其包括存儲器控制器執(zhí)行存儲器兀件的多個試驗,其中多個試驗的初始試驗使用用于計時參數(shù)的第一值,其中多個試驗的隨后試驗各使用用于計時參數(shù)的各個不同的值,且其中各個不同的值由存儲器控制器根據(jù)存儲器元件的多個試驗的一個或更多個先前執(zhí)行的試驗的結(jié)果來確定。該方法也包括存儲器控制器根據(jù)多個試驗的結(jié)果確定用于計時參數(shù)的操作值。
[0009]在另一實施方案中,公開了一種設(shè)備,該設(shè)備包括用于使用一個或更多個存儲器訓(xùn)練參數(shù)執(zhí)行存儲器元件的測試的構(gòu)件和用于接收測試的中間結(jié)果并根據(jù)中間結(jié)果調(diào)整一個或更多個存儲器訓(xùn)練參數(shù)中的至少一個的構(gòu)件。
[0010]在另一實施方案中,公開了一種計算機可讀存儲媒介,其包括由在計算機系統(tǒng)上可執(zhí)行的程序操作的數(shù)據(jù)結(jié)構(gòu),程序在數(shù)據(jù)結(jié)構(gòu)上操作以執(zhí)行過程的部分來制作包括數(shù)據(jù)結(jié)構(gòu)所描述的電路系統(tǒng)的集成電路,數(shù)據(jù)結(jié)構(gòu)所描述的電路系統(tǒng)包括被配置以使用一個或更多個存儲器訓(xùn)練參數(shù)執(zhí)行存儲器元件的測試的控制電路,以及包括被配置以接收測試的中間結(jié)果并根據(jù)中間結(jié)果調(diào)整一個或更多個存儲器訓(xùn)練參數(shù)中的至少一個的參數(shù)調(diào)整電路。[0011]本公開的教導(dǎo)和所附權(quán)利要求書明確不局限于本概要中以上討論的特征和實施方案。
[0012]附圖簡述
[0013]圖1A是示出存儲器控制器通過輸入/輸出(“I/O”)電路連接到計算機存儲器元件的方塊圖。
[0014]圖1B是示出I/O電路的一個實施方案的方塊圖。
[0015]圖2是示出參數(shù)調(diào)整電路和控制電路的實施方案的方塊圖。
[0016]圖3示出用于確定存儲器參數(shù)操作值的方法的流程圖。
[0017]圖4是示出示例性計算機系統(tǒng)的一個實施方案的方塊圖。
[0018]詳述[0019]本說明書包括對“一個實施方案”或“實施方案”的參考。用語“在一個實施方案中”或“在實施方案中”的出現(xiàn)不一定代表同一實施方案。特定功能、結(jié)構(gòu)、或特征可以與本公開一致的任何適當(dāng)方式組合。
[0020]術(shù)語。以下段落提供本公開(包括所附權(quán)利要求)中出現(xiàn)的術(shù)語的定義和/或上下文:
[0021]“包括”。本術(shù)語為開放式的。如在所附權(quán)利要求中所使用,本術(shù)語不排除額外結(jié)構(gòu)或步驟??紤]敘述如下的權(quán)利要求:“一種包括一個或更多個處理器單元的設(shè)備……”。這樣的權(quán)利要求不排除設(shè)備包括額外組件(例如,網(wǎng)絡(luò)接口單元、圖形電路系統(tǒng)等)。
[0022]“被配置以”。各種單元、電路或其它組件可描述或請求為“被配置以”執(zhí)行一個或多個任務(wù)。在這樣的上下文中,“被配置以”用于通過指示單元/電路/組件包括在操作過程中執(zhí)行(那些)一個或多個任務(wù)的結(jié)構(gòu)(例如,電路系統(tǒng))來包括結(jié)構(gòu)。同樣地,即使當(dāng)指定單元/電路/組件當(dāng)前不操作(例如,關(guān)閉)時,也可說單元/電路/組件被配置以執(zhí)行任務(wù)。與“被配置以”術(shù)語一起使用的單元/電路/組件包括硬件——例如,電路、存儲可執(zhí)行以實施操作的程序指令的存儲器等。單元/電路/組件“被配置以”執(zhí)行一個或更多個任務(wù)的敘述,并不意為援引35U.S.C.§112第六段用于該單元/電路/組件。另外,“被配置以”可包括由軟件和/或固件(例如,F(xiàn)PGA或執(zhí)行軟件的通用處理器)操縱來以能夠執(zhí)行待解決任務(wù)的方式操作的通用結(jié)構(gòu)(例如,通用電路系統(tǒng))。“被配置以”也可包括使制造過程(例如,半導(dǎo)體制作設(shè)施)適于制作適于實施或執(zhí)行一個或更多個任務(wù)的裝置(例如,集成電路)。
[0023]“第一”、“第二”等。如本文所使用,這些術(shù)語用作名詞之前的標記,且不表示任何類型的順序(例如,空間、時間、邏輯等)。例如,“第一”存儲器參數(shù)值和“第二”存儲器參數(shù)值可用于指任何兩個值,且不表示一個值比另一個高或一個值先于另一個值確定。換句話說,“第一”和“第二”是描述詞。
[0024]“根據(jù)”。如本文所使用,該術(shù)語用于描述影響確定的一個或更多個因素。該術(shù)語不排除可影響確定的額外因素。也就是說,確定可僅根據(jù)那些因素或至少部分地根據(jù)那些因素??紤]用語“根據(jù)B確定A”。雖然B可為影響A的確定的因素,但是這樣的用語不排除也根據(jù)C確定A。在其它情況中,可僅根據(jù)B確定A。
[0025]“處理器”。本術(shù)語具有本領(lǐng)域中一般且被接受的含義,且包括能夠執(zhí)行指令的裝置。處理器可代表但不限于中央處理單元(CPU)、協(xié)處理器、算術(shù)處理單元、圖形處理單元、數(shù)字信號處理器(DSP)等。處理器可為具有單管線或多管線的超標量處理器。處理器可包括每個被配置以執(zhí)行指令的單核心或多核心。
[0026]“BIOS”或“BIOS裝置”。本術(shù)語具有本領(lǐng)域中一般且被接受的含義,且包括存儲器或存儲裝置(諸如EPROM或EEPR0M),存儲器或存儲裝置具有存儲在其上的、獨立于計算機系統(tǒng)的操作系統(tǒng)、可由計算機系統(tǒng)的處理器執(zhí)行的計算機指令,以改變硬件系統(tǒng)設(shè)置、電源設(shè)置、啟動裝置的順序設(shè)置等。
[0027]“存儲器訓(xùn)練參數(shù)”或“存儲器參數(shù)”。如本文所使用,這些術(shù)語指影響存儲器讀和/或存儲器寫的操作的任何參數(shù)。
[0028]計算機系統(tǒng)可包括連接到與存儲器總線接口的一個或更多個存儲器控制器通道(MCC)的存儲器控制器。(例如,x86處理器可具有位于其北橋、連接到DRAM控制器通道的存儲器控制器。)MCC可包括以分數(shù)方式延遲發(fā)射器和接收器以保證從控制器寫入和從存儲器讀出工作正確的電路。一些延遲值可比其它延遲值工作良好,且可允許存儲器在較高頻率操作。因此確定適當(dāng)延遲值的過程可幫助系統(tǒng)實現(xiàn)最佳效能。一種可完成該過程的方法是使BIOS從存儲器控制器通道讀出數(shù)據(jù)并向其寫入數(shù)據(jù),同時通過PCI存取(例如,通過南橋)動態(tài)調(diào)整發(fā)射器和接收器中的延遲。這是稱為“存儲器訓(xùn)練”的動態(tài)過程的例子。
[0029]在存儲器訓(xùn)練期間,存儲器控制器可寫入數(shù)據(jù)至存儲器,然后讀回數(shù)據(jù)并把它與先前寫入的數(shù)據(jù)相比較,以確定處理器是否使用正確的延遲設(shè)置寫或讀數(shù)據(jù)。在比較失敗后,新的延遲設(shè)置可用于通道控制器,且可重復(fù)過程直到比較正確。然而,當(dāng)大量存儲器附接到存儲器控制器時,會顯著增加訓(xùn)練時間,尤其當(dāng)由BIOS執(zhí)行許多PCI的存取時(因為可能要求BIOS在完成位上輪詢以確定在移動以測試另一個不同的延遲設(shè)置之前,完成特定延遲設(shè)置的存取)。對于額外信息,參考美國專利公開N0.2009/0244997 (對應(yīng)于美國申請N0.12/059,653)和美國專利公開N0.2010/0325372 (對應(yīng)于美國申請N0.12/486,488),這些專利公開全文以引用方式并入本文。本公開包括可允許存儲器訓(xùn)練更快速執(zhí)行的結(jié)構(gòu)和技術(shù)。在一個實施方案中,執(zhí)行存儲器訓(xùn)練而無需來自BIOS的居間調(diào)停。
[0030]現(xiàn)參看圖1A,示出方塊圖100,其中存儲器控制器105通過輸入/輸出(“1/0”)電路150連接到計算機存儲器元件180。存儲器元件180包括可位于計算機系統(tǒng)(諸如系統(tǒng)400 )內(nèi)的一個或更多個存儲器存儲兀件(以下關(guān)于圖4所描述)。在一個實施方案中,存儲器元件180是動態(tài)隨機存取存儲器(DRAM)的一個或更多個模塊,但是在其它實施方案中可為被配置以存儲數(shù)據(jù)的任何其它類型的存儲器。在一個實施方案中,存儲器元件180是DDR2或DDR3DRAM。因此,存儲器元件180包括多個存儲字節(jié)組。通過1/0電路150提供至存儲器元件180 (和這些存儲字節(jié)組)的存取。
[0031]在圖1B的方塊圖中示出1/0電路150的實施方案。在圖1B中,1/0電路150B被配置以耦接到控制電路120和存儲器元件180,且包括發(fā)射緩沖器154、發(fā)射器156、接收器158和接收緩沖器160。在一些實施方案中,1/0電路150包括緩沖器154、發(fā)射器156、接收器158和接收緩沖器160中的任何或全部中的多個。在一些實施方案中,發(fā)射器156和接收器158組合成單個收發(fā)器結(jié)構(gòu),諸如在美國公開2009/0244997所述。因此,1/0電路150的許多配置是可能的。
[0032]待寫入存儲器元件180的信息可在通過發(fā)射器156發(fā)送之前存儲在發(fā)射緩沖器154中。發(fā)射器156可包括(或連接到)一個或更多個延遲鎖定環(huán)路,每個延遲鎖定環(huán)路可用于使寫入存儲器元件180的一個或更多個部分(存儲字節(jié)組)同步。發(fā)射器156內(nèi)的每個DLL(或橫跨多發(fā)射器156的每個DLL)可受不同的計時參數(shù)值支配。例如,第一 DLL可根據(jù)第一計時值使存儲器數(shù)據(jù)信號(DQ)與存儲器數(shù)據(jù)選通信號(DQS)相配,而另一 DLL可使用第二、不同的計時值使DQ與DQS相配。同樣地,接收器158可包括也根據(jù)一個或更多個計時延遲值使DQ與DQS相配的一個或更多個DLL。在一些實施方案中,發(fā)射器156和接收器158中的DLL可共享。更一般地,發(fā)射器156、接收器158和/或包括在其中(或發(fā)射器156和接收器158被配置以連接到)的DLL可具有‘997公開和/或‘372公開中所述的發(fā)射器、接收器、收發(fā)器和DLL的任何或全部特征。
[0033]回閱圖1A,如圖所示,存儲器控制器105包括參數(shù)調(diào)整電路110和控制電路120。參數(shù)調(diào)整電路110被配置以啟動圖1A實施方案中的一個或更多個存儲器元件的測試。在一個實施方案中,參數(shù)調(diào)整電路110從另一組件(諸如BIOS裝置或處理器)接收開始存儲器測試的指示。在其它實施方案中,參數(shù)調(diào)整電路110可被配置以自動(例如,響應(yīng)于包括正在通電的電路110的計算機系統(tǒng))啟動存儲器測試。在另外的實施方案中,參數(shù)調(diào)整電路110可被配置以響應(yīng)于觸發(fā)事件(諸如經(jīng)檢測出的環(huán)境條件的改變(例如,上升或降低的溫度;上升或降低的電壓))、來自軟件(例如,操作系統(tǒng)或BIOS)的命令或可使用固定長度和/或可變長度計時的任何組合的基于硬件或軟件的計時器來啟動(或再啟動)一個或更多個存儲器元件的測試。在一些實施方案中,控制電路120,而不是參數(shù)調(diào)整電路110,被配置以啟動存儲器測試。
[0034]一般來說,本文關(guān)于參數(shù)調(diào)整電路110和控制電路120所述的任何或所有結(jié)構(gòu)和功能可擇優(yōu)安置在其它電路系統(tǒng)中。因此,在一些實施方案中,參數(shù)調(diào)整電路110和控制電路120 (和其中包括的功能)的全部或部分可安置在存儲器控制器105外部。在一些實施方案中,參數(shù)調(diào)整電路110 (和其中包括的功能)的全部或部分可安置在控制電路120內(nèi),反之亦然。另外,I/O電路150 (和其中包括的功能)的全部或部分可安置在存儲器控制器105、存儲器元件180和/或本文未明確描述的其它結(jié)構(gòu)之內(nèi)。
[0035]在圖1A的實施方案中,控制電路120被配置以使用一個或更多個存儲器訓(xùn)練參數(shù)執(zhí)行一個或更多個存儲器元件的測試。在一個實施方案中,一個或更多個存儲器訓(xùn)練參數(shù)包括一個或更多個計時參數(shù)。這些計時參數(shù)可用來支配用于讀出和/或?qū)懭氪鎯ζ髟?80的一個或更多個DLL的行為。例如,給定DLL可把DQ信號延遲一定分數(shù)的(或多個)時鐘周期,以把DQ信號與相應(yīng)的DQS信號更好對準(或者,在一些實施方案中,可關(guān)于DQ信號延遲DQS信號)。在另一實施方案中,用于一個或更多個存儲器元件的測試的一個或更多個存儲器訓(xùn)練參數(shù)包括一個或更多個電壓參數(shù),諸如存儲器通道的操作電壓(或額定峰值電壓)。
[0036]現(xiàn)參看圖2,示出參數(shù)調(diào)整電路210和控制電路260的方塊圖。這些電路可具有如上所述的參數(shù)調(diào)整電路110和控制電路120的任何特征、結(jié)構(gòu)或功能,反之亦然。如圖所示,參數(shù)電路210包括參數(shù)確定邏輯220、結(jié)果存儲230和接口邏輯240,而控制電路260包括測試數(shù)據(jù)生成器262、比較器264和接口邏輯266。如以上關(guān)于電路110和120所述,電路210 (和其中包括的功能)的全部或部分可安置在電路260中,或反之亦然。在一個實施方案中,共用電路包括關(guān)于電路210和260所描述的全部結(jié)構(gòu)和功能。
[0037]參數(shù)調(diào)整電路210被配置以確定用于一個或更多個存儲器訓(xùn)練參數(shù)的一個或更多個操作值。如本文所使用,術(shù)語“操作值”指用作正常計算操作的部分的值(與僅用于測試或校正目的的值相反)。當(dāng)然,操作值和測試值可具有相同數(shù)值或?qū)儆谙嗤瑪?shù)值范圍。在圖2的實施方案中,參數(shù)確定邏輯220被配置以根據(jù)存儲在結(jié)果存儲230中的中間結(jié)果確定操作值。在一個實施方案中,參數(shù)調(diào)整電路210使用存儲器元件的測試的多個中間結(jié)果來確定一個或更多個參數(shù)操作值。在一個實施方案中,存儲器測試的中間結(jié)果經(jīng)由接口邏輯240通過控制電路260輸送至存儲230。在圖2的實施方案中,接口邏輯240包括用于與控制電路260通信的部分242以及用于與BIOS通信(例如,接收指示以開始測試)的部分244。
[0038]在圖2的實施方案中,測試數(shù)據(jù)生成器262被配置以使用一個或更多個存儲器訓(xùn)練參數(shù)生成存儲器元件的測試的測試數(shù)據(jù)。在一個實施方案中,生成器262是圖形生成器,且能夠根據(jù)一個或更多個預(yù)配置模式或序列生成大量數(shù)據(jù)(例如,數(shù)百兆字節(jié)或更多)。在一些實施方案中,所有生成的測試數(shù)據(jù)或其部分可隨機或偽隨機生成。一些數(shù)據(jù)模式包括被設(shè)計以測試困難的邊緣情況(例如,某相鄰數(shù)個零后面跟著單個一,后面再跟著許多相鄰零可使得“一”數(shù)位較難檢測到,反之亦然)的部分。
[0039]在圖2的實施方案中,接口邏輯266用于使用用于一個或更多個存儲器訓(xùn)練參數(shù)的一個或更多個電流(測試)值來把數(shù)據(jù)寫入存儲器元件180 (例如,通過I/O電路150)。在測試數(shù)據(jù)寫入存儲器元件180之后,從存儲器讀回數(shù)據(jù)(例如,通過接收器158和接收緩沖器160)。在一些實施方案中,讀取測試數(shù)據(jù)的過程可與寫入測試數(shù)據(jù)的過程重疊(即,在這些實施方案中,并非所有測試數(shù)據(jù)都需在讀取可開始之前寫入存儲器元件180)。比較器264包括電路邏輯以確定從存儲器讀取的測試數(shù)據(jù)(輸入數(shù)據(jù))是否與寫入存儲器的測試數(shù)據(jù)(輸出數(shù)據(jù))相同,并從其中生成中間結(jié)果。這些中間結(jié)果然后可報告到結(jié)果存儲230并由結(jié)果存儲230存儲。把測試數(shù)據(jù)寫入存儲器并讀回的過程在本文稱為“讀/寫試驗”。在一些實施方案中,讀/寫試驗也包括其它額外操作,諸如生成一個或更多個中間結(jié)果。
[0040]根據(jù)實施方案,由比較器264生成的中間結(jié)果數(shù)據(jù)的類型和豐富性可改變。在一些實施方案中,比較器264被配置以關(guān)于對于給定的存儲器訓(xùn)練參數(shù)而言輸入測試數(shù)據(jù)是否與輸出測試數(shù)據(jù)完全相同來簡單生成通過/失敗指示。在其它實施方案中,如果數(shù)據(jù)的臨界數(shù)量或百分比是正確的(例如,每IGB測試數(shù)據(jù)小于I比特錯誤或字節(jié)錯誤),那么比較器264可生成通過結(jié)果。在另外的實施方案中,比較器264可生成指示在讀/寫試驗期間發(fā)生的比特錯誤或字節(jié)錯誤的數(shù)量的定量數(shù)據(jù)和/或測試數(shù)據(jù)模式內(nèi)錯誤的位置(例如,指示哪些特定情況可導(dǎo)致失敗)。
[0041]根據(jù)對應(yīng)于一個或更多個存儲器訓(xùn)練參數(shù)的一個或更多個中間結(jié)果,參數(shù)調(diào)整電路210被配置以調(diào)整存儲器訓(xùn)練參數(shù)中的至少一個。例如,在一個實施方案中,參數(shù)調(diào)整電路210被配置以使用用于給定DLL的給定計時參數(shù)值(諸如用于該DLL的DQ與DQS之間的零偏移延遲值)來開始存儲器元件180的測試。在使用給定值完成初始的讀/寫試驗后,參數(shù)調(diào)整電路可把給定值增加固定數(shù)量(例如,用于給定DLL的DQ與DQS之間的偏移增加1/32時鐘周期)。然后可使用用于存儲器訓(xùn)練參數(shù)的新值執(zhí)行隨后的讀/寫試驗,因此可生成進一步的中間結(jié)果(其后,可對用于給定DLL的存儲器訓(xùn)練參數(shù)值做出進一步的調(diào)整)。在各種實施方案中,包括參數(shù)調(diào)整電路210的存儲器控制器可同時并行訓(xùn)練多個DLL。在一些實施方案中,并行訓(xùn)練可通過多個存儲器控制器通道發(fā)生。另外,具有多個存儲器控制器的系統(tǒng)也可同步或并行訓(xùn)練那些控制器。
[0042]參數(shù)調(diào)整電路210也被配置以確定用于一個或更多個存儲器訓(xùn)練參數(shù)的操作值。因此,在一個實施方案中,參數(shù)確定邏輯220被配置以執(zhí)行多個讀/寫試驗的中間結(jié)果的計算以計算操作值。此類計算可包括用于給定DLL的延遲值的“左邊緣”和/或“右邊緣”的確定。例如,如果中間結(jié)果由以下計時參數(shù)值和不同讀/寫試驗的通過/失敗指示組成:
【權(quán)利要求】
1.一種存儲器控制器,其包括: 控制電路,其被配置以使用一個或更多個存儲器訓(xùn)練參數(shù)執(zhí)行存儲器元件的測試;和 參數(shù)調(diào)整電路,其被配置以接收所述測試的中間結(jié)果并根據(jù)所述中間結(jié)果調(diào)整所述一個或更多個存儲器訓(xùn)練參數(shù)中的至少一個。
2.如權(quán)利要求1所述的存儲器控制器,其中所述一個或更多個存儲器訓(xùn)練參數(shù)中的所述至少一個是計時參數(shù);以及 其中所述參數(shù)調(diào)整電路被配置以根據(jù)多個中間結(jié)果確定用于所述計時參數(shù)的一個或更多個操作值。
3.如權(quán)利要求1所述的存儲器控制器,其中所述測試的所述中間結(jié)果包括已使用用于所述一個或更多個存儲器訓(xùn)練參數(shù)的給定值完成所述存儲器元件的多個讀/寫試驗中的一個或更多個的指示;以及 其中所述參數(shù)調(diào)整電路被配置以根據(jù)已完成所述存儲器元件的所述多個讀/寫試驗中的一個或更多個的所述指示來把所述一個或更多個存儲器訓(xùn)練參數(shù)中的所述至少一個調(diào)整為所述給定值之外的值。
4.如權(quán)利要求3所述的存儲器控制器,其中所述存儲器元件包括多組存儲字節(jié);以及 其中所述控制電路被配置以通過對于所述多組存儲字節(jié)中的每組提供相應(yīng)的多個計時參數(shù)值至所述存儲字節(jié)組專用的延遲鎖定環(huán)路來執(zhí)行所述存儲器元件的所述測試。
5.如權(quán)利要求1所述的存儲器控制器,其中所述參數(shù)調(diào)整電路被配置以通過使用用于所述一個或更多個存儲器訓(xùn)練 參數(shù)中的所述至少一個的多個值在所述存儲器元件上執(zhí)行多個讀/寫試驗來執(zhí)行所述測試; 其中所述存儲器控制器還被配置以通過執(zhí)行所述多個讀/寫試驗的結(jié)果的計算來確定用于所述一個或更多個存儲器訓(xùn)練參數(shù)中的所述至少一個的操作值。
6.如權(quán)利要求1所述的存儲器控制器,其中所述控制電路被配置以通過變化電壓參數(shù)和計時參數(shù)來執(zhí)行所述存儲器元件的所述測試。
7.如權(quán)利要求6所述的存儲器控制器,其中所述參數(shù)調(diào)整電路被配置以對于多個電壓參數(shù)值中的每一個使用所述電壓參數(shù)值在所述存儲器元件上執(zhí)行相應(yīng)的多個讀/寫試驗,其中所述相應(yīng)的多個讀/寫試驗中的每一個使用不同的計時參數(shù)值。
8.如權(quán)利要求7所述的存儲器控制器,其中所述存儲器控制器被配置以確定用于所述存儲器元件的多個操作計時參數(shù)值,其中所述多個操作計時參數(shù)值中的每一個對應(yīng)于所述多個電壓參數(shù)值中的至少一個相應(yīng)值。
9.如權(quán)利要求5所述的存儲器控制器,其中所述存儲器控制器被配置以通過把左邊緣值和右邊緣值平均來確定所述操作值。
10.一種方法,其包括: 存儲器控制器執(zhí)行存儲器元件的多個試驗,其中所述多個試驗的初始試驗使用用于計時參數(shù)的第一值,其中所述多個試驗的隨后試驗各使用用于所述計時參數(shù)的各個不同的值,其中所述各個不同的值由所述存儲器控制器根據(jù)所述存儲器元件的所述多個試驗的一個或更多個先前執(zhí)行的試驗的結(jié)果來確定;和 所述存儲器控制器根據(jù)所述多個試驗的結(jié)果確定用于所述計時參數(shù)的操作值。
11.如權(quán)利要求10所述的方法,其中所述執(zhí)行所述存儲器元件的所述多個試驗不取決于把所述多個試驗的所述結(jié)果報告至BIOS裝置。
12.如權(quán)利要求10所述的方法,其中所述存儲器元件包括多組存儲字節(jié); 其中執(zhí)行所述存儲器元件的所述多個試驗包括: 通過多個延遲鎖定環(huán)路的不同環(huán)路執(zhí)行寫入所述多組存儲字節(jié)的不同組;和 執(zhí)行所述多組存儲字節(jié)的所述不同組的讀取。
13.如權(quán)利要求12所述的方法,其還包括所述存儲器控制器確定用于所述計時參數(shù)的多個操作值,其中所述多個經(jīng)確定的操作值中的每一個對應(yīng)于所述多個延遲鎖定環(huán)路中的至少一個。
14.如權(quán)利要求10所述的方法,其中所述執(zhí)行所述存儲器元件的所述多個試驗響應(yīng)于改變的環(huán)境條件的指示。
15.如權(quán)利要求10所述的方法,其還包括所述存儲器控制器根據(jù)所述多個試驗的所述結(jié)果確定用于所述計時參數(shù)的操作值范圍,其中所述經(jīng)確定操作值在所述范圍中。
16.—種設(shè)備,其包括: 用于使用一個或更多個存儲器訓(xùn)練參數(shù)執(zhí)行存儲器元件的測試的構(gòu)件;和 用于接收所述測試的中間結(jié)果并根據(jù)所述中間結(jié)果調(diào)整所述一個或更多個存儲器訓(xùn)練參數(shù)中的至少一個的構(gòu)件。
17.如權(quán)利要求16所述的 設(shè)備,其中所述一個或更多個存儲器訓(xùn)練參數(shù)中的所述至少一個是計時參數(shù);以及 其中所述設(shè)備還包括用于根據(jù)多個中間結(jié)果確定用于所述一個或更多個存儲器訓(xùn)練參數(shù)的一個或更多個操作值的構(gòu)件。
18.如權(quán)利要求16所述的設(shè)備,其中所述測試的所述中間結(jié)果包括已使用用于所述一個或更多個存儲器訓(xùn)練參數(shù)的給定值完成所述存儲器元件的多個讀/寫試驗中的一個或更多個的指示;以及 其中所述設(shè)備還包括用于根據(jù)已完成所述存儲器元件的所述多個讀/寫試驗中的一個或更多個的所述指示來把所述一個或更多個存儲器訓(xùn)練參數(shù)中的所述至少一個調(diào)整為所述給定值之外的值的構(gòu)件。
19.一種計算機可讀存儲媒介,其包括由可在計算機系統(tǒng)上執(zhí)行的程序操作的數(shù)據(jù)結(jié)構(gòu),所述程序在所述數(shù)據(jù)結(jié)構(gòu)上操作以執(zhí)行過程的部分來制作包括所述數(shù)據(jù)結(jié)構(gòu)所描述的電路系統(tǒng)的集成電路,所述數(shù)據(jù)結(jié)構(gòu)所描述的所述電路系統(tǒng)包括: 控制電路,其被配置以使用一個或更多個存儲器訓(xùn)練參數(shù)執(zhí)行存儲器元件的測試;和 參數(shù)調(diào)整電路,其被配置以接收所述測試的中間結(jié)果并根據(jù)所述中間結(jié)果調(diào)整所述一個或更多個存儲器訓(xùn)練參數(shù)中的至少一個。
20.如權(quán)利要求19所述的計算機可讀存儲媒介,其中所述存儲媒介存儲硬件描述語言(HDL)數(shù)據(jù)、Verilog數(shù)據(jù)或圖形數(shù)據(jù)庫系統(tǒng)II (⑶SII)數(shù)據(jù)。
【文檔編號】G06F13/16GK103502964SQ201280021923
【公開日】2014年1月8日 申請日期:2012年5月3日 優(yōu)先權(quán)日:2011年5月6日
【發(fā)明者】奧斯溫·E·霍斯蒂, 哈羅德·H·鮑蒂斯塔, 肖恩·瑟爾斯 申請人:超威半導(dǎo)體公司