欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

配置和初始化存儲(chǔ)器及存儲(chǔ)通道的方法與設(shè)備的制作方法

文檔序號(hào):6577460閱讀:206來源:國知局

專利名稱::配置和初始化存儲(chǔ)器及存儲(chǔ)通道的方法與設(shè)備的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及數(shù)據(jù)處理系統(tǒng)領(lǐng)域。更精確地說,本發(fā)明涉及初始化或配置一個(gè)存儲(chǔ)通道中存儲(chǔ)器設(shè)備。技術(shù)背景存儲(chǔ)器和存儲(chǔ)子系統(tǒng)一般都具有某些正常操作前須進(jìn)行編程設(shè)定的初始化步驟和/或寄存器值。推薦的初始化步驟和寄存器值在存儲(chǔ)器標(biāo)準(zhǔn)中通常都做出詳細(xì)的介紹,供系統(tǒng)設(shè)計(jì)人員在設(shè)計(jì)與存儲(chǔ)器連接的其它系統(tǒng)硬件時(shí)參考。但是,如果對初始化例程進(jìn)一步優(yōu)化,那么初始化可能會(huì)更快地結(jié)束,有利于促使其它的系統(tǒng)處理過程更快地開始。正常操作前需要大量初始化處理的一個(gè)通道(即,一條總線配置)是一個(gè)直接Rambus動(dòng)態(tài)隨機(jī)存取存儲(chǔ)通道(aDirectRDRAMChannel)。力口州MountainView的Rambus/>司有才支術(shù)資泮+只十這種通道給出了詳細(xì)說明。RDRAM存儲(chǔ)器以及與Rambus通道連接的存儲(chǔ)控制器都具有許多必須通過初始化過程進(jìn)行設(shè)置的寄存器。根據(jù)Rambus的資料,在使用Rambus通道之前,顯然必須完成許多初始化操作。通常,存儲(chǔ)控制器讀取所有RDRAM之中只讀寄存器的內(nèi)容,處理這些信息,繼而寫入所有的讀-寫寄存器使RDRAM置于正確的操作模式。寄存器DeviceID和TRDLY是重要的讀-寫寄存器,分別設(shè)置存儲(chǔ)處理程序及讀取存儲(chǔ)器數(shù)據(jù)延時(shí)數(shù)值所用到的設(shè)備地址。通過對整個(gè)串行鏈循環(huán),分配連續(xù)的串行標(biāo)識(shí)號(hào)碼,可給通道中每一個(gè)RDRAM設(shè)置一個(gè)獨(dú)特的串行設(shè)備識(shí)別值(如見DirectRDRAM64/72兆位數(shù)據(jù)表第28頁)。第二個(gè)ID值僅指一個(gè)設(shè)備的ID,在正常運(yùn)行期間允許訪問Rambus通道中的各個(gè)存儲(chǔ)器。對于通道中各個(gè)運(yùn)行的設(shè)備,也需要各設(shè)置一個(gè)獨(dú)特的設(shè)備ID值;但是文獻(xiàn)資料中未談及設(shè)置設(shè)備ID的任〗可特殊技術(shù)。此外,各RDRAM可以執(zhí)行刷新、預(yù)充電、電流標(biāo)定、電流采樣、以及多種其它的操作(如見DirectRDRAM64/72兆位數(shù)據(jù)表第8-9頁)。雖然在DirectRDRAMTM64/72兆位數(shù)據(jù)表中對這些命令都作了一般的6討論,但是并未給出一個(gè)完整的初始化序列。此外也可能沒有初始化和/或配置各種特殊的存儲(chǔ)控制器的詳細(xì)說明。這樣,先前的技術(shù)可能未提供一種適當(dāng)?shù)幕蛲晟频姆椒ê驮O(shè)備來配置一個(gè)存儲(chǔ)通道中的一組存儲(chǔ)器。
發(fā)明內(nèi)容本發(fā)明公開了一種配置和/或初始化存儲(chǔ)器的方法和設(shè)備。被公開的方法可以初始化一個(gè)存儲(chǔ)控制器和初始化多個(gè)存儲(chǔ)控制器的配置寄存器。對連接于存儲(chǔ)控制器的各個(gè)存儲(chǔ)器設(shè)定串行識(shí)別號(hào)碼。此外,至少部分基于存儲(chǔ)器的大小將設(shè)備識(shí)別號(hào)碼組分配給相應(yīng)的存儲(chǔ)器,從而使能存儲(chǔ)器。按照本發(fā)明的一種用于初始化存^l控制器的方法,包括初始化存儲(chǔ)控制器;初始化第一多個(gè)存儲(chǔ)控制器配置寄存器;為與存儲(chǔ)控制器耦合的多個(gè)存儲(chǔ)設(shè)備分配串行識(shí)別號(hào)碼;通過給具有最大支持規(guī)模的存儲(chǔ)設(shè)備分配一組最低的識(shí)別號(hào)碼;給其余的規(guī)模較小存儲(chǔ)設(shè)備分配其后的識(shí)別號(hào)碼;至少部分基于存儲(chǔ)設(shè)備的大小,為多個(gè)存儲(chǔ)設(shè)備組分配設(shè)備識(shí)別號(hào)碼;對多個(gè)存儲(chǔ)設(shè)備的每一個(gè)存儲(chǔ)設(shè)備中的第二多個(gè)寄存器編程,使設(shè)備響應(yīng)時(shí)間之和等于從每一存儲(chǔ)設(shè)備到所有所述多個(gè)存儲(chǔ)設(shè)備共有的存儲(chǔ)控制器的傳播延遲時(shí)間;以及使能該多個(gè)存儲(chǔ)設(shè)備。按照本發(fā)明的一種執(zhí)行存儲(chǔ)控制器初始化的系統(tǒng),包括一個(gè)處理器;一個(gè)連接到處理器上的存儲(chǔ)控制器,該存儲(chǔ)控制器具有第一多個(gè)控制寄存器和一個(gè)串行接口線路;一個(gè)存儲(chǔ)總線,它具有與之相連接的多個(gè)存儲(chǔ)設(shè)備,存儲(chǔ)總線連接于存儲(chǔ)控制器;一個(gè)連接到存儲(chǔ)控制器上的附加存儲(chǔ)設(shè)備,在初始化多個(gè)存儲(chǔ)設(shè)備之前存儲(chǔ)控制器可訪問該附加存儲(chǔ)設(shè)備,該附加存儲(chǔ)設(shè)備包含多條指令,若被系統(tǒng)執(zhí)行,則使該系統(tǒng)的相應(yīng)的單元執(zhí)行操作,其中包括用于初始化存儲(chǔ)控制器的單元;用于初始化多個(gè)存儲(chǔ)器控制器配置寄存器的單元;用于給連接于存儲(chǔ)控制器的多個(gè)存儲(chǔ)設(shè)備分配串行識(shí)別號(hào)碼的單元;用于通過以下步驟,至少部分地根據(jù)存儲(chǔ)設(shè)備的大小給多個(gè)存儲(chǔ)設(shè)備分配設(shè)備識(shí)別號(hào)碼的單元給具有最大支持規(guī)模的存儲(chǔ)設(shè)備分配一組最低的識(shí)別號(hào)碼;給其余的規(guī)模較小存儲(chǔ)設(shè)備分配其后的識(shí)別號(hào)碼;對多個(gè)存儲(chǔ)設(shè)備的每一個(gè)存儲(chǔ)設(shè)備中的笫二寄存器編程,使設(shè)備響應(yīng)時(shí)間之和等于從每一存儲(chǔ)設(shè)備到所有所述多個(gè)存儲(chǔ)設(shè)備共有的存儲(chǔ)控制器的傳播延遲時(shí)間的單元;以及用于使能該多個(gè)存儲(chǔ)設(shè)備的單元。本發(fā)明通過舉例進(jìn)行圖解說明,但并不局限于附圖所給出的這些例子。圖1舉例說明一種系統(tǒng)實(shí)施方案,該系統(tǒng)在存儲(chǔ)控制器中使用配置寄存器的方法為存儲(chǔ)器初始化指定初始化操作。圖2表明在圖l這一系統(tǒng)實(shí)施方案中編程和執(zhí)行初始化操作的一個(gè)流程圖。圖3舉例說明存儲(chǔ)控制網(wǎng)絡(luò)集線器的一種實(shí)施方案,它能根據(jù)裝入控制寄存器和數(shù)據(jù)寄存器的值實(shí)現(xiàn)存儲(chǔ)器的初始化。圖4說明一個(gè)存儲(chǔ)器核心初始化才喿作的流程圖。圖5舉例說明執(zhí)行圖6-9所示的初始化流程的一種系統(tǒng)實(shí)施方案。圖6說明對圖5所示系統(tǒng)的存儲(chǔ)器子系統(tǒng)進(jìn)行初始化處理時(shí),整個(gè)初始化序列實(shí)施方案的流程圖。圖7舉例說明串行設(shè)備識(shí)別過程的一種實(shí)施方案。圖8A說明分組設(shè)備識(shí)別過程第一部分的一種實(shí)施方案。圖8B說明分組設(shè)備分配過程(例如,圖8A中塊820)的一種實(shí)施方案。圖8C說明圖8A中分組設(shè)備識(shí)別過程第二部分的一種實(shí)施方案。圖9舉例說明存儲(chǔ)器核心初始化過程的一種實(shí)施方案。圖10舉例說明由隨機(jī)存儲(chǔ)器掛起的能源管理狀態(tài)進(jìn)行恢復(fù)過程的一種實(shí)施方案。具體實(shí)施方式以下的敘述為初始化存儲(chǔ)器和存儲(chǔ)通道提供一種方法和設(shè)備。為使讀者更加徹底地了解本發(fā)明,以下說明中進(jìn)而規(guī)定了許多細(xì)節(jié)的東西,諸如寄存器名稱、存儲(chǔ)器類型、總線協(xié)議、特殊類型部件、以及邏輯分區(qū)和集成的選擇,等等。但是,對于本領(lǐng)域的技術(shù)人員來說,可以實(shí)施本發(fā)明而不需要這些細(xì)節(jié)的規(guī)定。在其它實(shí)例中,控制結(jié)構(gòu)和門級(jí)電路沒有詳細(xì)地給出,以避免沖淡本發(fā)明的內(nèi)容。利用這里包含的說明,對于本領(lǐng)域的技術(shù)人員,無須過多的解釋將可以實(shí)施必要的邏輯電路。使用現(xiàn)在公開的技術(shù),我們可以實(shí)現(xiàn)有效而變通的存儲(chǔ)器初始化操作??刂萍拇嫫骱蛿?shù)據(jù)寄存器可以進(jìn)行編程處理,從而使得存儲(chǔ)控制網(wǎng)絡(luò)集線器(MCH)可根據(jù)裝入寄存器中的值來實(shí)現(xiàn)初始化操作(IOP)。由于寄存器可以用諸如基本輸入/輸出系統(tǒng)(BIOS)這樣的軟件進(jìn)行編程,所以初始化操作會(huì)變得比較容易。圖1舉例說明使用寄存器實(shí)現(xiàn)存儲(chǔ)器初始化的一種系統(tǒng)實(shí)施方案。該系統(tǒng)包括一個(gè)處理器195和一個(gè)與存儲(chǔ)控制網(wǎng)絡(luò)集線器(MCH)100連接的存儲(chǔ)子系統(tǒng)104。與MCH100連接的還有一個(gè)二級(jí)總線180,它又與一個(gè)輸入裝置190和一個(gè)包含BIOS例程的非易失性存儲(chǔ)器185相連接。在一些實(shí)施方案中,非易失性存儲(chǔ)器185和輸入裝置190其中之一或者雙方是通過一個(gè)二級(jí)控制網(wǎng)絡(luò)集線器(圖中未畫出)與MCH100相連接的。在圖示的實(shí)施方案中,存儲(chǔ)子系統(tǒng)104包括三個(gè)存儲(chǔ)模塊160、170和175,它們是通過串行總線142和存儲(chǔ)總線132(亦稱作通道)與MCHIOO相連接。每一個(gè)存儲(chǔ)模塊可以包含一組單獨(dú)的存儲(chǔ)器件。例如,存儲(chǔ)才莫塊160至少包括存儲(chǔ)器件160、161和168。在一種實(shí)施方案中,存儲(chǔ)器160、161和168是Rambus的DRAM(RDRAMs),存儲(chǔ)模塊為Rambus內(nèi)嵌式存儲(chǔ)^t塊(RI,s),而通道是按照對RI,和RDRAM所規(guī)定的協(xié)議進(jìn)行工作的。存儲(chǔ)控制網(wǎng)絡(luò)集線器MCH100包括一個(gè)控制寄存器112和一個(gè)可能用于初始化目的的^:據(jù)寄存器114。一個(gè)初始化控制線路120執(zhí)行初始化操作數(shù)(IOPs),它被編程到控制寄存器112之中??刂萍拇嫫?12一般包含別的字段來確定初始化操作的信息,而由IOP確定的某些操作涉及與存貯子系統(tǒng)中設(shè)備的數(shù)據(jù)交換(例如,存儲(chǔ)控制寄存器的讀寫,或相反的情況,產(chǎn)生控制信號(hào))。串行接口線路140在串行總線142上產(chǎn)生串行命令和數(shù)據(jù)序列。有些由初始化控制線路120執(zhí)行的命令通過串行總線142對存儲(chǔ)子系統(tǒng)發(fā)送命令和/或數(shù)據(jù)。控制寄存器,包括標(biāo)識(shí)號(hào)碼的設(shè)備寄存器,可能通過串行接口線路140進(jìn)行讀寫操作。存儲(chǔ)器4妄口線路130將存儲(chǔ)器數(shù)據(jù)從與存儲(chǔ)子系統(tǒng)進(jìn)行數(shù)據(jù)交換的數(shù)據(jù)包中移進(jìn)、移出。一種實(shí)施方案中,存儲(chǔ)接口線路是一個(gè)RambusASIC單元(RAC),基本作用正^口力口州MountainView的Rambus/>司所提供的"直接RAC數(shù)據(jù)表"文獻(xiàn)所述。簡言之,RAC將通道(總線132)上的Rambus信號(hào)電平(RSL)信號(hào)轉(zhuǎn)4灸為MCH100其它部分可以處理9的信號(hào)。與此類似,RAC將存儲(chǔ)控制器信號(hào)轉(zhuǎn)換為Rambus通道中存儲(chǔ)器可以處理的RSL信號(hào)。圖1所示系統(tǒng)的初始化事件序列表示在圖2中。當(dāng)系統(tǒng)啟動(dòng)或從新啟動(dòng)時(shí),BIOS—般都執(zhí)行多種初始化操作。在塊200中,BIOS到達(dá)存儲(chǔ)器配置部分。按照存儲(chǔ)器的類型和預(yù)定使用的模式,初始化操作(塊205)將由構(gòu)成一個(gè)特殊序列的BIOS進(jìn)行選擇。圖5-9更加詳細(xì)地討論了用RDRAM的系統(tǒng)初始化序列的一種實(shí)施方案,。如塊210所示,特殊的初始化操作數(shù)據(jù)(若有的話)存于數(shù)據(jù)寄存器114,而初始化操作數(shù)本身和其它的控制信息則存于控制寄存器112。在某些實(shí)施方案中,BIOS可以完成這一功能,它是通過向外設(shè)部件互連(PCI)配置寄存器執(zhí)行寫操作來實(shí)現(xiàn)的??蛇x擇的是,可能用到其它的寄存器,或者說控制寄存器可能是具有或不具有MCH的通用存儲(chǔ)器單元。實(shí)際上,控制寄存器可以是存儲(chǔ)器初始化之前可讀寫MCH的存儲(chǔ)足夠多位的I0P和其他必要的控制信息的任何存儲(chǔ)單元。當(dāng):l巴適當(dāng)?shù)某跏疾艈鬃骱?或控制信息編程到控制寄存器112中時(shí),初始化操作可以自動(dòng)開始。例如執(zhí)行塊215所示的初始化操作是這樣完成的,當(dāng)初始化操作數(shù)裝入控制寄存器112時(shí),設(shè)置一個(gè)啟動(dòng)初始化操作(II0)位。該HO位可以是控制寄存器112的一個(gè)字段,所以同樣的寄存器寫入工作可能是設(shè)定no位也可能提供iop。完成初始化操作可以任何方式發(fā)出足以警告或通知bios的信號(hào)。例如,當(dāng)初始化4喿作完成時(shí),MCH可以自動(dòng)地清除110位。如果BIOS查詢110位,便可以確定何時(shí)初始化操作完成,如塊220所示。如果初始化操作尚未完成,Bios可能繼續(xù)查詢no位。如果初始化操作已經(jīng)完成,BIOS在塊205所示的初始化序列中選擇下一個(gè)初始化操作。輸入設(shè)備190可以從計(jì)算機(jī)存儲(chǔ)設(shè)備192(如光碟或磁盤或其他存儲(chǔ)設(shè)備)或從一個(gè)網(wǎng)絡(luò)或通信接口194接受程序指令。使系統(tǒng)實(shí)現(xiàn)本專利發(fā)明技術(shù)的BIOS代碼(即計(jì)算機(jī)指令)可有幾種辦法將其程序化到非易失性存儲(chǔ)器185中。BIOS可以在制造系統(tǒng)時(shí)編程,或者后來經(jīng)輸入設(shè)備190由一個(gè)計(jì)算機(jī)可讀i某體交付。在BIOS是后來提供的情況下,指令可能是經(jīng)由一種計(jì)算機(jī)可讀媒體交付的。通過一個(gè)適當(dāng)?shù)慕涌谠O(shè)備190,電子信號(hào)或有形的載波信號(hào)都可以是計(jì)算機(jī)可讀媒體。例如,在一種實(shí)施方案中計(jì)算機(jī)存儲(chǔ)設(shè)備192是一種計(jì)算機(jī)可讀4某體。在另一種實(shí)施方案中攜帶計(jì)算機(jī)指令的載波196也是一種計(jì)算機(jī)可讀々某體。運(yùn)用已知的或已有的通信技術(shù),載波196可被調(diào)制或處理以便包含輸入設(shè)備190可解碼的指令。不論哪種情況,計(jì)算機(jī)指令都可以通過一種計(jì)算機(jī)可讀纟某體交付。圖3表示一個(gè)存儲(chǔ)控制網(wǎng)絡(luò)集線器(MCH)300更加詳細(xì)的描述。它詳細(xì)地介紹了下面一種實(shí)施方案的特殊寄存器的名字、存儲(chǔ)單元、容量、字段定義、以及初始化操作。對本領(lǐng)域的技術(shù)人員來說其它的實(shí)施方案是很顯然的。下面幾條操作要援引Rambus在64/72兆位數(shù)據(jù)表和DirectRAC數(shù)據(jù)表中所定義的命令。定義的這些操作是當(dāng)適當(dāng)?shù)目刂菩盘?hào)送到RAC時(shí),RambusRAC本身要送給RDRAMs的操作。正如下面將要詳細(xì)介紹的,MCH300的這種實(shí)施方案通過使用以前沒有的硬件,并以新的方法或序列,來調(diào)用已知的RAC命令。在該示范實(shí)施方案中,這一MCH300包括一個(gè)RAC和一個(gè)串行接口340。該串行接口340使用時(shí)鐘(SCK)、串行框架(CMD)、和雙向串行I/O引線(SIOO和SI01)來讀、寫RDRAM配置寄存器內(nèi)容,并實(shí)施其它的IOP。該MCH還包括一個(gè)設(shè)備注冊數(shù)據(jù)(DRD)寄存器314。在PCI配置空間該DRD寄存器314的地址偏移為90-91h,默認(rèn)值為OOOOh(16位),而寄存器是一個(gè)讀/寫寄存器。DRD寄存器的字段示于表l。表l:一種DRD寄存器實(shí)施方案<table>tableseeoriginaldocumentpage11</column></row><table>MCH300還包括一個(gè)RDRAM初始化控制管理(RICM)寄存器312。在PCI配置空間該RICM寄存器的地址偏移為94-殳6h,默認(rèn)值為OOOOOOh(24位),它是一個(gè)讀/寫寄存器。該實(shí)施方案中RICM寄存器的字段設(shè)置示于表2。表2:RICM寄存器的一種實(shí)施方案<table>tableseeoriginaldocumentpage11</column></row><table>讀自RDRAM的由確定注冊數(shù)據(jù)的操作所得到的數(shù)據(jù),在DRD寄存器中將是有效的。22:21保留對于正常的初始化操作這些位未用。20初始化完成(IC):RDRAM存儲(chǔ)器陣列的初始化完成后BIOS將該位設(shè)置為1。19廣播地址(BA):當(dāng)BA置1時(shí),初始化操作(IOP)被廣播通知到通道中所有的設(shè)備。當(dāng)BA置1時(shí),SDA字段(見下)不用。17:9設(shè)備寄存器地址(DRA):該字段為寄存器讀寫操作確定寄存器地址。8:4串行設(shè)備/通道地址(SDA):這5個(gè)位字段確定以下各項(xiàng)RDRAM設(shè)備的串行設(shè)備ID,用于RDRAM寄存器讀、RDRAM寄存器寫、RDRAM設(shè)置的復(fù)位、RDRAM清零的復(fù)位、以及RDRAM設(shè)置的快速時(shí)鐘模式的IOP命令。設(shè)備ID,用于斷電入口、斷電出口、睡眠入口、睡眠出口、電流標(biāo)定和電流標(biāo)定及采樣的IOP命令。存儲(chǔ)地址,用于刷新和預(yù)充電的IOP命令。18,初始化操作代碼(IOP):該字段指定一個(gè)RDRAM設(shè)備或MCHRAC3:0中要完成的初始化操作。位[18,3:0]指定的操作00000RDRAM寄存器讀00001RDRAM寄存器寫00010RDRAMi殳置復(fù)位00011RDRAM清零復(fù)位00100RDRAM快速時(shí)鐘模式設(shè)置00101保留00110RDRAM啟用并繼而進(jìn)行溫度標(biāo)定00111至U01111保留10000RDRAM核心初始化(RCI)10001RDRAMSIO復(fù)位10010RDRAM斷電退出10011RDRAM斷電進(jìn)入10010RDRAM"電流標(biāo)定"禾B"電流標(biāo)定+采樣"10101MCHRAC的手工電流標(biāo)定10110用DRD寄存器得到的數(shù)據(jù)裝入MCHRAC控制寄存器12<table>tableseeoriginaldocumentpage13</column></row><table><table>tableseeoriginaldocumentpage14</column></row><table>復(fù)位執(zhí)行這一操作時(shí),RDRAM上的SIO0弓1線配制成輸入而SIO1引線配制成輸出。此外,SIO的重復(fù)位置為1。10010RDRAM斷電退出XX一旦收到該項(xiàng)IOP,MCH開始對由SDA和BA字段所確定的RDRAM設(shè)備的斷電退出序列。其中SDA字段應(yīng)包含設(shè)備ID,而不是串行設(shè)備ID。10011RDRAM斷電進(jìn)入XX一旦收到該項(xiàng)IOP,MCH對由SDA和BA字段所確定的RDRAM設(shè)備發(fā)送一個(gè)斷電進(jìn)入PCP包。其中SDA字段應(yīng)包含設(shè)備ID,而不是串行設(shè)備ID。10I00RDRAM"電流標(biāo)定"和"電流標(biāo)定十采樣"XX一旦收到該項(xiàng)IOP,MCH對由SDA字段所確定的RDRAM設(shè)備發(fā)送三個(gè)電流標(biāo)定的SCP包及緊接其后的一個(gè)電流標(biāo)定和采樣的SCP包。10101MCHRAC的手工電流標(biāo)定NENE一旦收到該項(xiàng)IOP,MCH對MCHRAC施行一個(gè)手工電流標(biāo)定的操作。10110用DRD寄存器得到的數(shù)據(jù)裝入MCHRAC控制寄存器NENE一旦收到該項(xiàng)IOP,MCH用由DRD寄存器得到的數(shù)據(jù)裝入MCHRAC控制寄存器。10111初始化MCHRACNENE一旦收到該項(xiàng)IOP,MCH就初始化MCHRAC。該MCHRAC的初始化操作包括MCHRAC的電源上升順序、電流標(biāo)定和溫度標(biāo)定。這項(xiàng)命令執(zhí)行后,即使ic的位沒有置l,MCH亦能對MCHRAC進(jìn)行定期的電流和溫度標(biāo)定。11000RDRAM睡眠進(jìn)入XX一旦收到該項(xiàng)IOP,MCH就向由SDA和BA字段確定的RDRAM設(shè)備發(fā)送一個(gè)睡眠進(jìn)入的PCP包15<table>tableseeoriginaldocumentpage16</column></row><table>圖4所表示的是,初始化控制線路320的一種實(shí)施方案在響應(yīng)所接收到的RDRAM核心初始化IOP(10000b)所執(zhí)行操作的詳細(xì)描述。塊400中,總線上發(fā)出一項(xiàng)廣播斷電退出的命令。其次,如塊405所示,由塊410到470所表示的序列對存儲(chǔ)地址0到31重復(fù)16次。對一個(gè)具有一百二十八種電流標(biāo)定水平和高達(dá)三十二個(gè)簇的存儲(chǔ)子系統(tǒng)來說,這些數(shù)目可能是合適的。在其它的實(shí)施方案中,例如如果有一個(gè)較大的或較小的電流標(biāo)定水平數(shù)的話,就可能用到一個(gè)不同的重多個(gè)目。同樣,不同的系統(tǒng)中可能有不同數(shù)目的簇。塊410中,執(zhí)行無操作命令以確保完成斷電退出并在塊415中正確地實(shí)現(xiàn)了刷新操作UEFA命令)。塊42G中,又一次執(zhí)行無操作命令,接著在塊425和430中又執(zhí)行了兩次刷新操作(REFA命令)。在塊435中,又執(zhí)行了三次無操作命令,以便在刷新預(yù)充電(REFP)命令前留出足夠長的時(shí)間。塊445又執(zhí)行一條無操作命令后,塊450中執(zhí)行又一條刷新預(yù)充電(REFP)命令。接著在塊455中執(zhí)行一條標(biāo)定(CAL)命令。該命令為當(dāng)前指定的設(shè)備標(biāo)定(驅(qū)動(dòng))IOL電流。正如塊465和455中所表明的那樣,該項(xiàng)操作可能重復(fù)兩次。然后,如塊470所示,執(zhí)行一條筒單(SAMR)命令。該項(xiàng)筒單命令更新目前所指設(shè)備的IOL電流。該過程重復(fù)進(jìn)行,直到對三十二簇都完成了這所有的十六次循環(huán)步驟。:t妄照上述的初始化操作,一個(gè)系統(tǒng)可以得到初始化處理。例如圖5所示的系統(tǒng),它給出一個(gè)Rambus直接RDRAM通道,該系統(tǒng)可以一支初始化。該系統(tǒng)中,一個(gè)存儲(chǔ)控制器500(也稱之為存儲(chǔ)控制網(wǎng)絡(luò)集線器,或一個(gè)MCH)編寫(orchestrate)初始化活動(dòng)。該存4諸控制器還初始化通道中特殊的行/列信息包。串行接口540可用來與通道中的各種設(shè)備進(jìn)行通訊。例如,時(shí)鐘(SCK)、串行幀(CMD)、以及雙向串行I/0(SI00.和SIOl)引線可以用來讀、寫各個(gè)RDRAM配置寄存器,還能實(shí)現(xiàn)其它的IOP。該存儲(chǔ)控制器包括一個(gè)RambusASIC單元(RAC)530,一塊控制線路板520,和多種寄存器。這些寄存器包括用來初始化系統(tǒng)存儲(chǔ)器的初始化寄存器515,和斷電恢復(fù)寄存器510。斷電恢復(fù)寄存器包^^對運(yùn)行存儲(chǔ)通道至關(guān)緊要的計(jì)時(shí)和其他別的信息。換言之,斷電恢復(fù)寄存器僅僅是這樣的寄存器在存儲(chǔ)控制器500斷電后他們必須得以恢復(fù),以便能夠恢復(fù)訪問存儲(chǔ)通道。這些寄存器可以是PCI配置寄存器。存卡者通道包括RI畫才莫塊560、565、和570,它們通過一個(gè)控制和數(shù)據(jù)總線532以及一個(gè)串行總線542連接到MCH500。控制和數(shù)據(jù)總線532可一皮阻性終端533終止,而在來自MCH500的通道遠(yuǎn)端可接一個(gè)直_接Rambus時(shí)鐘信號(hào)發(fā)生器(DRCG)580以便通過信號(hào)線582提供時(shí)鐘信號(hào)。此外,該系統(tǒng)包括一個(gè)輸入/輸出控制網(wǎng)絡(luò)集線器(ICH)505,它把MCH對接到一個(gè)次級(jí)的總線506上,該系統(tǒng)還可能包括一個(gè)次級(jí)串行接口線路544,用以實(shí)現(xiàn)與一個(gè)次級(jí)串行總線546連接。每一個(gè)模塊都有一個(gè)串行的存在探測(SPD)存儲(chǔ)器572(—種非易失性存儲(chǔ)器,諸如某種電子可擦除可編程的只讀存儲(chǔ)器),可通過串行4妄口544根據(jù)串行存在探測協(xié)議讀取。該SPD存儲(chǔ)器572可以提供每種特珠的存儲(chǔ)模塊的諸如計(jì)時(shí)信息、設(shè)備結(jié)構(gòu)、和設(shè)備工藝等方面的信息。有關(guān)SPD協(xié)議較詳細(xì)的討論可參見"串行存在探測應(yīng)用簡介"一文,以及Rambus公司的直接RambusTMRI畫TM模塊和64/72兆位直接RDRAMTM數(shù)據(jù)表。在一種實(shí)施方案中,串行總線546是一個(gè)像系統(tǒng)管理總線(SMBus)的I2C總線。這種實(shí)施方案包括時(shí)鐘(SMBCLK)和數(shù)據(jù)(SMBDATA)信號(hào),它們遵循工業(yè)規(guī)范的系統(tǒng)管理總線(SMBus)協(xié)議,參見http:〃www.sbs-forum.org登載的智能電池制造商論壇中,系統(tǒng)管理總線i兌明書,第1.0版。ICH設(shè)備具有通用輸出(GPOs),用于控制多種系統(tǒng)功能,諸如設(shè)置DRCG580的頻率等。一個(gè)包含BIOS的非易失性存儲(chǔ)器585可以連接到次級(jí)總線506上,一個(gè)電池后備隨機(jī)存取存儲(chǔ)器590也可如法炮制。該電池后備存儲(chǔ)器590可以對MCH斷電寄存器510保存斷電恢復(fù)設(shè)置值592,從而無須才丸行后面詳細(xì)介紹的全部初始化序列,MCH便可以恢復(fù)訪問RDRAM通道。簡言之,初始化過程可以總結(jié)如下。啟動(dòng)復(fù)位后,由一個(gè)通道中RI畫s上串行存在探測(SPD)數(shù)據(jù)中讀取配置信息。例如,一個(gè)存儲(chǔ)設(shè)備SPD存儲(chǔ)器572,將RDRAMs573、574、576、和577的配置信息存儲(chǔ)在RI薩570。存儲(chǔ)控制器的配置寄存器根據(jù)SPD信息中適當(dāng)?shù)闹颠M(jìn)行編程,然后RDRAM設(shè)備ID值的編程要使得每一個(gè)RDRAM設(shè)備可以一皮唯一認(rèn)證并接受存儲(chǔ)控制器訪問。一旦某設(shè)備被初始化,它便可以使用了。每一個(gè)RDRAM設(shè)備都有兩個(gè)識(shí)別號(hào)碼,用來在通道中唯一地選擇一種設(shè)備,它們便是串行設(shè)備ID號(hào)和分組設(shè)備ID號(hào)。這兩個(gè)ID用于RDRAM通道中截然不同的操作。當(dāng)存儲(chǔ)控制器根據(jù)RDRAM通道的SCK、SIO、和C腦信號(hào)發(fā)送初始化操作時(shí),串行設(shè)備ID用來選擇設(shè)備;而分組設(shè)備ID是當(dāng)存儲(chǔ)控制器根據(jù)RDRAM通道中RQ[7:0]的信號(hào)發(fā)送ROW包和COLUMN包時(shí),用來選擇設(shè)備時(shí)使用的。每一設(shè)備復(fù)位以后而在能被初始化操作(IOPs)和ROW/COLLUMN程序包尋址之前,串行設(shè)備ID和分組設(shè)備ID都要分別進(jìn)行編程。更加仔細(xì)地考察Rambus通道初始化過程,我們發(fā)現(xiàn)完成通道上RDRAM設(shè)備的正確操作可遵循一個(gè)特殊的序列。圖6表示一種實(shí)施方案中某特定通道初始化的流程圖,而表4列舉了該初始化流程中所用到的一些變量。表4:初始化所用到的變量變量名稱字段寬l說明度(位)18RIMMMax2存在RIMMs的最大個(gè)數(shù)0不存在RIMMs1-3存在1-3個(gè)RIMM(s)RIMMCount2初始化期間選擇一個(gè)RIMM所用到的計(jì)數(shù)器RIMMDeviceCount一特殊的RIMM中RDRAM設(shè)備的個(gè)數(shù)MsmbsrMax5一通道中存在設(shè)備的最大個(gè)數(shù)0-31通道中存在1-32個(gè)RDRAM設(shè)備MemberGount5列舉分組設(shè)備ID時(shí)指出己分配分組ID設(shè)備號(hào)碼數(shù)所用到的計(jì)數(shù)器SerialIDCount5串行設(shè)備ID指數(shù)用于在通道上選擇設(shè)備0-31串行設(shè)備ID0-31的映象GroupDeviceIDCou5分組設(shè)備ID指數(shù),列舉分組設(shè)備ID時(shí)用于對下nt一個(gè)RDRAM設(shè)備分配一個(gè)分組設(shè)備ID0-31分組設(shè)備ID0-31的映象RIMMDeviceConfig8表示RDRAM技術(shù)定義的字節(jié)。位定義與GARNo寄存器相配DRAMConfiglndex3編入MCH支持的DRAM技術(shù)索引表。列舉分組設(shè)備ID時(shí),用來對RDRAMs按技術(shù)降序編排分配分組IDs。MchTrdly3通道分級(jí)過程中臨時(shí)存儲(chǔ)MchTrdly的最大值,位的定義與MCHRDT寄存器的MCH'stRDLY字段相配。DeviceTestAddress3232-位CPU地址,通道分級(jí)時(shí)用于檢驗(yàn)一個(gè)RDRAM設(shè)備Templndex8運(yùn)算中使用的臨時(shí)指數(shù)塊602發(fā)生系統(tǒng)復(fù)位,MCH復(fù)位其所有的狀態(tài)機(jī)并準(zhǔn)備初始化。塊604中,校驗(yàn)了系統(tǒng)存儲(chǔ)器模塊的配置。BIOS讀取SPD數(shù)據(jù)以確定存貯器的設(shè)置。若僅有RI固s,RDRAM的初始化序列可能繼續(xù)進(jìn)行塊608。如存在混合的存儲(chǔ)器才莫塊,給用戶發(fā)布一條錯(cuò)誤信息并停止系統(tǒng),如塊606所示。時(shí)鐘發(fā)生器在塊608中開始。本項(xiàng)操作可以由軟件完成,查詢主板上存在的每一個(gè)RI薩模塊上的SPD數(shù)據(jù)并確定一個(gè)所有RIMMs都可工作的通道頻率。DRCG58G可根據(jù)來自ICH505的一個(gè)通用輸出(即如圖5所示的GP0x)設(shè)定于合適的頻率。一種實(shí)施方案中,在這一步19和MCHRAC初始化之間,BIOS至少等待8毫秒。如塊61G所示,下一個(gè)初始化的是MCHRAC。在MCHRAC初始化之前,源于DRCG的通道時(shí)鐘應(yīng)該是穩(wěn)定的。MCHRAC的初始化是由執(zhí)行MCHRAC初始化IOP實(shí)現(xiàn)的。該RAC初始化IOP施行基本的初始化,使存儲(chǔ)控制器的內(nèi)部RAC準(zhǔn)備執(zhí)行正常的操作。一種實(shí)施方案中,BIOS在MCHRAC初始化IOP后給出5毫秒的時(shí)間來清除110位。若5毫秒后110位未被MCH清除,BIOS應(yīng)報(bào)告該項(xiàng)錯(cuò)誤,而通道是不可用的。由于完成了MCHRAC初始化IOP在MCH清除了110位后可以再加5毫秒的延時(shí)。此舉使MCH時(shí)鐘有足夠的時(shí)間達(dá)到穩(wěn)定、鎖定。在某些實(shí)施方案中,RAC中一條總線可能在其它操作開始之前需要清除。該項(xiàng)操作可通過執(zhí)行MCHRAC控制寄存器的裝入IOP(DRD=00000h)來實(shí)現(xiàn)。在某些實(shí)施方案的初始化序列中,還有可能在較晚的某點(diǎn)執(zhí)行RAC初始化操作。如塊612所示,許多MCH配置寄存器在下一步^皮初始化。一種實(shí)施方案中,分頁策略寄存器RMC的空閑時(shí)間記錄器(PGPOLRIT)字段(MCH052h[2:0])-皮設(shè)置為GOlb以保證通道分級(jí)期間沒有任何頁面是關(guān)閉的(討論見下)。該P(yáng)GPOLRIT字段設(shè)置所有打開頁面被關(guān)閉前存儲(chǔ)控制器保持空閑狀態(tài)的主機(jī)總線時(shí)鐘數(shù),而設(shè)置值為零時(shí)表示存儲(chǔ)控制器開始關(guān)閉頁面前將有無限長的等待時(shí)間。此外,在某些實(shí)施方案中,可能使用操作池,根據(jù)確定的RDRAM狀態(tài)分組RDRAMs。為了減小運(yùn)行功率,RDRAM設(shè)備可以分作兩個(gè)操作池,稱之為池A和池B。在一種實(shí)施方案中,池A同時(shí)可多達(dá)八種設(shè)備。該種實(shí)施方案中,池A的八種設(shè)備中多達(dá)四種可以同時(shí)處于活動(dòng)讀/寫或活動(dòng)狀態(tài),而池A中的設(shè)備要么處于活動(dòng)讀/寫或活動(dòng)狀態(tài),要么處于備用狀態(tài)。池A中設(shè)備的最大個(gè)數(shù)是可編程的,而且它是由RDRAM電源管理寄存器(RPMR)即寄存器(MCH053h)的一個(gè)PAC字段確定。所有不在池A的設(shè)備便都是池B的成員。池B中所有的設(shè)備要么處于備用狀態(tài),要么處于睡眠狀態(tài)。池B中設(shè)備的狀態(tài)是由DRAM控制(DRAMC)寄存器(MCH051h)的PBS字l史確定的。在一種實(shí)施方案中,RPMR寄存器設(shè)置為OOh,選擇池A僅有一種設(shè)備,而池B的操作設(shè)置為備用狀態(tài)的操作(MCH051h[6]=0)。其次如塊614所示,可執(zhí)行附加的通道初始化。這可包括使用SIO(串行接口)復(fù)位IOP來執(zhí)行一個(gè)SIO復(fù)位,以及為完成SIO復(fù)位序列允許足夠的延時(shí)。加之,為了正確的操作可能需要初始化的其它寄存器此時(shí)也可以進(jìn)行設(shè)置。例如在某些實(shí)施方案中,一個(gè)Test77寄存器在SIO復(fù)位后可能要寫為0值,如在文獻(xiàn)直接RMAM64/72兆位數(shù)據(jù)表第37頁所說明的那樣(執(zhí)行一個(gè)廣播SIO寄存器寫10P:TEST77,DRA=4Dh,DRD-0000h)。串行設(shè)備ID分配如塊620所示,下一步可以分配串行設(shè)備認(rèn)證值(IDs)。通常,軟件唯一地識(shí)別通道上的每一種設(shè)備,使得各個(gè)設(shè)備上的初始化操作對準(zhǔn)目標(biāo)。每一RDRAM的串行設(shè)備ID都一皮保存在RDRAMINIT寄存器(指數(shù)21h)的4-0位。SIO復(fù)位后,通道上所有的RDRAMs串行設(shè)備ID的默認(rèn)值為1Fh。并且在復(fù)位后,串行轉(zhuǎn)發(fā)器(SRP位(RDRAMQHh)[7])一皮設(shè)置為1,使每一個(gè)RDRAM能夠?qū)IO0接收到的SIO數(shù)據(jù)傳播到RDRAM的SIOl引線上,將SIO包傳送給下一個(gè)RDRAM設(shè)備。由于復(fù)位后所有的設(shè)備具有相同的串行設(shè)備ID,一個(gè)體設(shè)備在分配唯一的串行ID之前可能是不能被訪問的。圖7表示一種實(shí)施方案所執(zhí)行的串行設(shè)備列舉操作的進(jìn)一步細(xì)節(jié)。塊700中,變量SeriallDCount初始化為零。接著,如塊705所示,屏蔽通道中所有設(shè)備的SIO轉(zhuǎn)發(fā)器的功能(廣播SIO寄存器寫IOP。初始化,DRA=21h,DRD=001Fh)。本項(xiàng)操作使得所有串行設(shè)備的ID都設(shè)置為Olfh。SIO轉(zhuǎn)發(fā)器的位設(shè)為零,所以^5l有通道上第一個(gè)i殳備可一支訪問。從塊710開始,對通道上所有的設(shè)備循環(huán)該過程,并對每一種設(shè)備分配唯一的ID。當(dāng)前設(shè)備的串行ID設(shè)于SeriallDCount而SIO轉(zhuǎn)發(fā)器的位設(shè)為激活狀態(tài)(SIO寄存器寫IOP:初始化,SDCA-lFh,DRA=21h,DRD=0080h+SeriallDCount)。其次,不管設(shè)備是否真正存在,如塊715所示它在系統(tǒng)中的作用受到檢驗(yàn)。讀取寄存器RDRAMINIT以確定是否剛被寫入的同樣的值能夠正確地再讀出來(SIO寄存器讀IOP。初始化,SDCA=SeriallDCount,DRA-21h)。如果數(shù)據(jù)相符(如塊72Q所檢驗(yàn)的那樣),變量SeriallDCount增大(塊725),并檢查變量SeriallDCount看是否最大數(shù)目的設(shè)備(例如三十二個(gè))都已給了IDs(塊730)。若該SeriallDCount仍然指出是21一個(gè)有效的串行ID,下一個(gè)設(shè)備便在塊705中識(shí)別出來。若該SerialIDCount變量超過了最大允許值,或者如果塊720中的數(shù)據(jù)不相符,那么最后的設(shè)備已給了一個(gè)ID,而跟蹤設(shè)備總數(shù)的變量可以設(shè)置給SerialIDCount,如塊735所示。最后,為了使任何其它的在最后允許的設(shè)備之外的設(shè)備失效,可使具有最高串行ID的RDRAM的SI0轉(zhuǎn)發(fā)器失效,如塊740所示。因此,任何附加的設(shè)備(即,功能不正常的設(shè)備或最大數(shù),例如32,之外的設(shè)備)不會(huì)收到命令因此不會(huì)有所響應(yīng)。作為一種附加的檢查,可考察RI廳s上的SPD信息,以確定最后的設(shè)備數(shù)是否正確。分組設(shè)備ID分配回到圖6,分配了唯一的串行IDs并禁用了最后一個(gè)設(shè)備的SIO輸出后,如塊630所示根據(jù)存儲(chǔ)設(shè)備的大小分配分組IDs。在一種實(shí)施方案中,MCH支持多達(dá)三十二個(gè)RDRAMi殳備和八個(gè)分組。每組具有多達(dá)四種設(shè)備并有一個(gè)分組邊界讀寫寄存器(GBA)確定分組ID及每組上下界地址。這樣,每一個(gè)GBA寄存器便可用一個(gè)分組ID和一個(gè)9位的上界地址極限值進(jìn)行編程。無設(shè)備占領(lǐng)的分組可能具有一個(gè)與前一個(gè)分組相同的值而組的大小為零。此外,圖8A—8C中的流程圖表明模塊630所指出的列舉分組設(shè)備IDs方法的一種實(shí)施方案。如圖8A塊800所示的那樣,許多變量得到了初始化處理。變量SerialIDCount,G訓(xùn)pDeviceIDCount,RI匿ount,RI畫DeviceCount,以及RI畫DeviceConfigNo皆被初始化為零。一個(gè)DRAMConfiglndex變量凈皮初始化為一個(gè)值,該值指出MCH所支持的最大存儲(chǔ)芯片技術(shù)。如塊805所示,數(shù)據(jù)讀自一個(gè)模塊(模塊號(hào)RIMMCount)的SPD存儲(chǔ)器,識(shí)別該模塊的核心技術(shù)。這一信息可能包括每一設(shè)備的行數(shù)、每一設(shè)備的列數(shù)、每一設(shè)備的存儲(chǔ)體數(shù)、以及各個(gè)存儲(chǔ)體之間是相互有關(guān)的還是相互獨(dú)立的等。下面,如塊810所示,設(shè)置RI,DeviceConfigNo的值,將讀自SPD的核心技術(shù)值轉(zhuǎn)換為一個(gè)分組結(jié)構(gòu)(GAR)寄存器的等價(jià)的值。下一步如塊815所示,變量RI應(yīng)DeviceCount設(shè)置為由該種RI,的SPD存儲(chǔ)器所指出的設(shè)備的數(shù)目。據(jù)此,可以分配各設(shè)備的ID并設(shè)置有關(guān)寄存器的值,如塊820所示。圖8B對一種實(shí)施方案給出了塊82022所示過程的進(jìn)一步細(xì)節(jié)。通常,列舉過程將一個(gè)RIMM上的RDRAM設(shè)備數(shù)加到第一個(gè)串行ID上,然后倒計(jì)數(shù)直到RIMM結(jié)束。因此,如塊822所示,;險(xiǎn)驗(yàn)RI畫DeviceConfigNo是否等于DRAMConfiglndex以確定是否對所有設(shè)備特別是對核心技術(shù)都已分配了分組設(shè)備ID。若二者不等,'那么該核心技術(shù)的所有設(shè)備就都有了分組ID,所以SerialIDCount設(shè)置為SerialIDCount力口RIMMDeviceCount(見如塊830)并且如塊832所示使過程回到圖8A。另外,如果RIMMDeviceCount為零(如塊824所檢驗(yàn)到的那樣)或者M(jìn)emberCount為零(如塊826所檢驗(yàn)到的那樣),那么就不存在更多的設(shè)備給與分組ID,過程返回到圖8A如塊832所示。如果變量RIMMDeviceCount和MemberCount不為零,那么將GroupDeviceIDCount的值設(shè)置為RDRAM的分組i殳備ID的值,該RDRAM的串行ID等于SerialIDCount的當(dāng)前值,如塊828所示。接著,更新當(dāng)前分組邊界地址寄存器(GBA)以便反映有新設(shè)備添加到這一組中來了,如塊830所示。完成這一操作,可通過將一個(gè)表示設(shè)備大小的值加到那個(gè)GBA寄存器保存的先前的值之上。下一步,如塊832所示變量GroupDeviceIDCount與四(一種實(shí)施方案中每組最多的設(shè)備數(shù))進(jìn)行比較。如果該組已滿,如塊8M所示,更新那一個(gè)組的MCH分組結(jié)構(gòu)寄存器(GAR)。更新GAR以便正確地表示該組的配置(即存儲(chǔ)體的個(gè)數(shù)和DRAM技術(shù)(大小))。在塊8%中,SerialDeviceIDCount增大,MemberCount減小,GroupDeviceIDCount增大,而RIMMDeviceCount減小。然后過程返回到塊824?;刂?j圖8A,^t口果RIMMDeviceCount或者M(jìn)emberCount二者之一為零,那么如塊850所示,RI畫Count增大。如果RI薩Count小于一個(gè)RI應(yīng)Count的最大值,如塊855所檢驗(yàn)到的那樣,那么過程返回到塊805。如果該RI畫Count的值達(dá)到最后的RI醒的值,如塊860所示,過程在圖8C中繼續(xù)。轉(zhuǎn)到圖8C,如果MemberCount為零(如塊865所檢測到的那樣),那么設(shè)備ID列舉過程結(jié)束。但是,如果MemberCount不為零,那么下一個(gè)MCH組被選在下一個(gè)DRAM技術(shù)中開始列舉設(shè)備,如塊870所示。GroupDeviceIDCount的更新可能通過加3并且將所得到的結(jié)果值與OFFFCh實(shí)行一次邏輯加運(yùn)算。如果GroupDevicelDCount是通道所允許的最大設(shè)備數(shù)(例如是32,如塊872所檢驗(yàn)到的那樣),那么分組ID列舉過程到此結(jié)束。但是,如果凈交少的設(shè)備給于了分組ID號(hào),那么DRAMConfigIndex設(shè)為MCH支持的下一個(gè)最小的核心技術(shù)如塊874所示。如果DRAMConfiglndex顯示不存在得到支持的較小核心技術(shù)(例如,DRAMCoufiglndex為零如塊876所檢驗(yàn)到的那樣),這樣ID的列舉過程就結(jié)束了。如果還有更多的核心技術(shù),那么如塊878所示serialIDCount和RI麗Count復(fù)位到零,而過程返回到圖8A的塊805。下面的偽代碼指出可用于實(shí)現(xiàn)圖6塊630所示的一種實(shí)施方案中分組ID列舉的操作。630.MCH設(shè)備組列舉過程。630丄對所有的RIMMSPD存儲(chǔ)器循環(huán),并根據(jù)RIMM將設(shè)備分組。最大工藝的設(shè)備必須分到最低的設(shè)備組,隨著工藝尺度的減小分組號(hào)碼增大630.1.1.置MemberCount=MemberMax630.1.2.置SerialIDCount=0.這是串行設(shè)備ID計(jì)數(shù)器。630丄3.置GroupDeviceIDCount=0.這是分組設(shè)備ID計(jì)數(shù)器。630.1.4.置RIMMCount=0.這是RIMM計(jì)數(shù)器。630.1.5.置RIMMDeviceCoimt-O.這是RIMM上某#設(shè)備的計(jì)數(shù)器。630.1.6.DRAMConfigIndex=MCH支持的最大工藝設(shè)備。630.1.7.計(jì)算RJMM中某存RIMMCount的核心工藝號(hào)數(shù)。630.1.7.1.RIMMDeviceConfigNc^讀自RIMMsSPD的核心工藝號(hào)數(shù)。630.1.8.RIMMDeviceCount=RIMM#RIMMCount中RDRAM設(shè)備的編號(hào),讀自RIMM的SPDEEPROM。630.1.9.分配分組設(shè)備ID并為RIMM編程MCHGAR和GBA寄存器630.1.630.1.若RIMMDeviceConfigNo!=DRAMConfigIndex,轉(zhuǎn)至630.1.10.630.1.9.2.若RIMMDeviceCount-O,轉(zhuǎn)至630.1.10.630.1.9.3.若MemberCount=0,轉(zhuǎn)至630.1.10.630.1.9.4.SIO寄存器寫IOP。DEVID,SDCA=SerialIDCount,DRA=40h,DRD=GroupDeviceIDCount.630.1.9.5.程序MCHGBA[GroupDeviceIDCountSHR2]=MCHGBA[GroupDeviceIDCountSHR2-1]+RIMM#RIMMCount設(shè)備大小。630.1.9.6.若GroupDeviceIDCount邏輯加011b=0貝!J630.1.9.6.1程序MCHGAR[GroupDeviceIDCountSHR2]=RIMMDeviceConfigNo630.1.9.7.GroupDeviceIDCount加1。630.1.9.8.SerialIDCount加1630.1.9.9.MemberCount減1630.1.9.10RIMMDeviceCount遞減1630.1.9.11.Goto步驟630.1.9.2.630.1.10.RIMMCount加1630.1.11.若RIMMCount〈RIMMMaxgoto630.1.7.630.1.12.如果MemberCount=0則轉(zhuǎn)到步驟10630丄13.為下一個(gè)RDRAM技術(shù)選擇下一組。630.1.13.1.GroupDeviceIDCount=(GroupDeviceIDCount+01lb)邏輯加011b630.1.14.若GroupDeviceIDCount=32則轉(zhuǎn)到步驟10630.1.15.DRAMConflglndex^下一個(gè)最小的DRAM技術(shù)630.1.16.若DRAMConfigIndex=0,則轉(zhuǎn)到步驟10630.1.17.SerialIDCount=0630.1.18.RIMMCount=0630.1.19.Goto步驟630.1.7.這將開始為下一個(gè)最小的RDRAM技術(shù)調(diào)查RIMM.分組ID分配完成后返回到圖6,各個(gè)RDRAM設(shè)備可能被帶出斷電才莫式并為了正常運(yùn)行而進(jìn)入快速時(shí)鐘才莫式,如640步所示。在MCH和RDRAMs中各個(gè)RDRAM的計(jì)時(shí)寄存器可以編程。而REFB和REFRRDRAM控制寄存器也可以進(jìn)行初始化處理(廣播SI0寄存器寫IOP.REFB,DRA=41h,DRD=0000h;廣播SIO寄存器寫IOP.REFR,DRA=42h,DRD=0000h)??梢酝ㄟ^執(zhí)行一個(gè)廣播設(shè)置復(fù)位的IOP來復(fù)位各RDRAM設(shè)備,緊跟一個(gè)適當(dāng)?shù)难舆t(例如32微秒),繼而執(zhí)行一個(gè)清除復(fù)為IOP,也緊跟一個(gè)適當(dāng)?shù)难舆t(例如4微秒),給完成復(fù)位操作留出時(shí)間。執(zhí)行一個(gè)廣播RDRAM斷電出口IOP使各RDRAM被帶出斷電4莫式,而通過執(zhí)行一個(gè)廣播RDRAM設(shè)置快速時(shí)鐘;漠式的初始化IOP使其進(jìn)入快速時(shí)鐘纟莫式。此后,RDRAM核心可以像塊642所示進(jìn)行初始化。一種RDRAM核心25初始化實(shí)施方案的進(jìn)一步細(xì)節(jié)情況表示在圖9之中。如塊900所示,對一個(gè)適當(dāng)?shù)腞DRAM寄存器寫入一個(gè)中間值,RDRAM設(shè)備準(zhǔn)備好做電流標(biāo)定(廣播SIO寄存器寫IOP。CCA,DRA=43h,DRD-0040h;廣播SIO寄存器寫IOP.CCB,DRA=44h,DRD=0040h)。在一個(gè)具有一百二十七種可能的電流標(biāo)定水平的實(shí)施方案中,四十個(gè)十六進(jìn)位可能是一個(gè)適當(dāng)?shù)闹虚g值。從這一中間值開始限制了所需標(biāo)定循環(huán)的總數(shù),因?yàn)闃?biāo)定值可能只會(huì)大約偏差整個(gè)標(biāo)定值范圍的一半。其次,執(zhí)行每一個(gè)RDRAM設(shè)備的每一個(gè)存儲(chǔ)體預(yù)充電操作。為執(zhí)行預(yù)充電操作,MCH對所有存儲(chǔ)體計(jì)數(shù)時(shí)每次加2,首先預(yù)充電奇數(shù)存儲(chǔ)體接著預(yù)充電偶數(shù)存儲(chǔ)體。塊905中寄存體指數(shù)置0。然后執(zhí)行一個(gè)廣播預(yù)充電IOP如塊910所示。寄存體指數(shù)值遞增2如塊915所示,廣播預(yù)充電操作對偶數(shù)存儲(chǔ)體重復(fù),直到存儲(chǔ)體指數(shù)等于最大存儲(chǔ)體數(shù)(例如32)為止,如塊920所示。一旦達(dá)到最大存儲(chǔ)體數(shù)目,存儲(chǔ)體指數(shù)置為1(如塊930所示),并且所有的奇數(shù)存儲(chǔ)體都被預(yù)充電。一旦存儲(chǔ)體指數(shù)超過最大存儲(chǔ)體數(shù)目,RDRAM核心初始化IOP一皮執(zhí)行六次,如塊940所示。通道分級(jí)當(dāng)塊642所示的RDRAM核心初始化完成以后,我們從新回到圖6,通道可以進(jìn)行分級(jí),如塊644所示。這一過程包括對所有的RDRAM將RDRAM讀出反應(yīng)時(shí)間之和與RDRAM到MCH的一個(gè)傳^番延遲進(jìn)行均;銜處理。換言之,一旦通道分了級(jí),存儲(chǔ)控制器里所有的RDRAM將在相同的總線周期中提供數(shù)據(jù)。下面的偽代碼表示一個(gè)系列步驟可以完成在一種實(shí)施方案中實(shí)施塊644所示的分級(jí)過程。644.分級(jí)Rambus通道644.1.第一段確定MCHtDRLY字段的置。644.1.1.SerialIDCouiit=MemberMax644.1.2.MchTrdly=0644.1.3.子程序MCHRDT:TRDLY字段二MchTrdly.644丄4.計(jì)算32位的地址,為分級(jí)檢驗(yàn)RDRAM設(shè)備。644.1.4.1.SIO寄存器讀IOP.DEVID,SDCA=SerialIDCount,DRA=40h644.1.4.2.DRD(MCH090h[15:0])現(xiàn)在包含RDRAM設(shè)備的ID644.1.4.3.DeviceTestAddress=MCHGBA[(DRDSHR2)-l]SHL23+((DRDAND0111))*以字節(jié)表示的設(shè)備大小(根據(jù)GAR[DRDSHR2])644.1.5.以TestPattern方式對地址DeviceTestAddress執(zhí)行QWORD寫操作。644.1.6.對地址DeviceTestAddress執(zhí)行QWORD讀操作。644.1.7.如果所讀的數(shù)據(jù)NTestPattern則644.1.7.1.增大MCHRDT:TRDLY字段644.1.7.2.如果MCHRDT:TRDLY字段〈二4轉(zhuǎn)至644.1.5.644.1.8.否則(如果所讀的數(shù)據(jù)卜TestPattern)644.1.8.1.MchTrdlyHi自MCHRDT:TRDLY字段的數(shù)據(jù)644.1.8.2.如果MchTrdly=4轉(zhuǎn)至644.2644.1.9.減小SerialIDCount644.1.10.如果SerialIDCount>=0則轉(zhuǎn)至644.1.3.644.2.第二段確定RDRAM分級(jí)計(jì)時(shí)值644.2.1.SerialIDCount=MemberMax644.2.2.計(jì)算32bit位地址,為分級(jí)工作檢驗(yàn)RDRAM設(shè)備644.2.2.1.SIO寄存器讀IOP.DEVID,SDCA=SerialIDCount,DRA=40h644.2.2.2.DRD(MCH090h[15:0])現(xiàn)在包含RDRAM的設(shè)備ID.644.2.2.3.DeviceTestAddress=MCHGBA[(DRDSHR2》1]SHL23+((DRDAND01lb)*以字節(jié)表示的設(shè)備大小(根據(jù)GAR[DRDSHR2])644.2.3.以TestPattem方式對地址DeviceTestAddress執(zhí)行QWORD寫操作。644.2.4.執(zhí)行QWORD讀操作,給出DeviceTestAddress的地址644.2.5.若讀到的數(shù)據(jù)-TestPattern則轉(zhuǎn)至644.2.8644.2.6.若RDRAMs的TCDLY字段〈TCDLY的最大值(根據(jù)SPD,貝U644.2.6丄根據(jù)TCDLY的支持?jǐn)?shù)據(jù)表,給RDRAMs的TCDLY寄存器(TDAC和TRDLY)增大644.2.6.2.轉(zhuǎn)移到644.2.3644.2.7.標(biāo)記RDRAM設(shè)備將失效644.2.8.計(jì)數(shù)器SerialIDCount減小644.2.9.若SerialIDCount>=0則轉(zhuǎn)移到644.2.2分級(jí)完成后,一種實(shí)施方案將一系列斷電恢復(fù)存儲(chǔ)器初始化的值保存在圖5中電池后備存儲(chǔ)器590中,如塊646所示。值得注意,適當(dāng)?shù)闹涤沙跏蓟映绦虼_定后,這一操作可以在任何其它階段實(shí)現(xiàn)。保存這27些值^_要將由初始化過程確定的初始化信息保持在這一點(diǎn)。當(dāng)系統(tǒng)進(jìn)入一個(gè)低能態(tài)(如,暫停于RAM)時(shí),MCH的電源可能就^L斷開了。這樣,如果初始化的信息沒有保留,那么可能不得不重復(fù)整個(gè)初始化過程。將關(guān)鍵的初始化信息保存在一個(gè)非遺失性存儲(chǔ)器中,可能有利于提高從這種低能狀態(tài)蘇醒的速度。但由于這些值恢復(fù)之前存儲(chǔ)子系統(tǒng)將不起作用,這一實(shí)事增加了保存此種信息的難度。任何可以寫入的非遺失性存儲(chǔ)器都可以用來保存適當(dāng)?shù)某跏蓟畔?;然而,許多計(jì)算機(jī)系統(tǒng)中裝有一種電池后備存儲(chǔ)器,因此這可能是一種方便的選擇。在一種實(shí)施方案中,下面諸寄存器的內(nèi)容保存在存儲(chǔ)器590中。.MCH分組結(jié)構(gòu)(GAR)寄存器(040-047h):這些寄存器指出每組設(shè)備的配置,諸如存儲(chǔ)體的個(gè)數(shù)和DRAM的技術(shù)(容量)等。.MCHRDRAM計(jì)時(shí)寄存器RDT(050h):這一個(gè)寄存器定義通道中所有設(shè)備的計(jì)時(shí)參數(shù)。.MCHDRAM控制(DR雄C)寄存器(051h):這一個(gè)寄存器包括池B操作選擇(PBS)位,確定MCH某一操作模式的存儲(chǔ)器傳送網(wǎng)絡(luò)集線器存在的一個(gè)位(MTHP),以及一個(gè)孔徑讀寫全局啟用位,它能在孔徑范圍和轉(zhuǎn)換表建立之前阻止任何部分對孔徑的訪問。.MCH分頁規(guī)則(PGPOL)寄存器(052h):這一寄存器確定分頁規(guī)則的特征,包括DRAM刷新率(DRR)和一個(gè)腹C空閑時(shí)間記錄器。該DRR字段調(diào)整DRAM的刷新率,而RIT字段確定所有打開頁面關(guān)閉之前存儲(chǔ)控制器將保持空閑狀態(tài)的主機(jī)總線時(shí)鐘周期數(shù)。.MCHRPMR(053h):這一寄存器包括一個(gè)設(shè)備睡眠計(jì)時(shí)器(畫T)字段,一個(gè)池A的活動(dòng)設(shè)備(ADPA)字段,一個(gè)設(shè)備睡眠啟用(而E)字段,以及一個(gè)池A的容量(PAC)字段。字段DNT確定最近最少使用的設(shè)備由存儲(chǔ)體A推入存儲(chǔ)體B之前存儲(chǔ)控制器處于空閑狀態(tài)的主機(jī)時(shí)鐘數(shù)。ADPA字段確定存儲(chǔ)體A中同時(shí)可以是有效讀/寫或者活動(dòng)狀態(tài)的最大RDRAM設(shè)備數(shù)。存儲(chǔ)體A中不是有效讀/寫或者活動(dòng)狀態(tài)的設(shè)備乃是處于備用狀態(tài)。DNE位(當(dāng)置為1的時(shí)候)使通道的休止?fàn)顟B(tài)計(jì)數(shù)器連續(xù)地統(tǒng)計(jì)休止時(shí)間。當(dāng)計(jì)數(shù)器的值超出了由DNT確定的閾值時(shí),最近最少使用的設(shè)備由存儲(chǔ)體A推入存儲(chǔ)體B。PAC字段確定某一時(shí)刻可以駐留在存儲(chǔ)體A中的最大RDRAM設(shè)備數(shù)。不是存儲(chǔ)體A—部分的設(shè)備則都屬于存儲(chǔ)體B。MCH分組邊界訪問(GBA)寄存器(060-06Fh):寄存器GBA包括一個(gè)分組ID和一個(gè)指示該設(shè)備組地址上界的值。.MCH配置寄存器MCHCFG(OBE-BFh):這些寄存器包括Rambus頻率和DRAM數(shù)據(jù)完整性模式字段。另夕卜,各斷電配置選項(xiàng)也可以在此進(jìn)行編程。在一種實(shí)施方案中,設(shè)置了自刷新和低功率自刷新選項(xiàng)(對每一個(gè)SerialIDCount:SIO寄存器寫IOP.INT,SDCA=SerialIDCount,DRA=21h,DRD=400h,(LSR,若SPD支持的話)+200h(PSR)+80h(SRP))。如塊650所示,對正常操作再作少數(shù)幾個(gè)寄存器的編程工作后,便可以開始正常操作了。設(shè)置分頁規(guī)則寄存器,以便能正常運(yùn)行(PGPOLRIT字段(MCH052h[2:0])至001b),因?yàn)閷Ψ旨?jí)來說頁面關(guān)閉計(jì)時(shí)器實(shí)際上已經(jīng)失效,而通過RPMR寄存器(MCH053h)電源管理特征在此生效了。如果對睡眠(NAP)操作配置了存儲(chǔ)體B選擇位(MCHG51h[6]),那么可執(zhí)行一個(gè)廣播NAP入口IOP,是所有設(shè)備進(jìn)入NAP狀態(tài)。在設(shè)置110位的同一1/0指令中,也將RICM中的ICbit為設(shè)置為一,故MCH的正常操作可以開始了。退出低能狀態(tài)時(shí)恢復(fù)通道正常操作繼續(xù)了一段時(shí)間后,由于系統(tǒng)不活動(dòng)或其他原因,系統(tǒng)可能進(jìn)入一種低能狀態(tài),如圖10中塊1000所示。系統(tǒng)可能進(jìn)入的一種狀態(tài)是一種懸掛到RAM(STR)的狀態(tài),其中MCH丟失了保存在它的寄存器中的值。當(dāng)進(jìn)入STR狀態(tài)后,可能檢測出使系統(tǒng)退出STR狀態(tài)的一個(gè)事件,如塊1010所示。于是,BIOS對MCH和其它別的系統(tǒng)元部件加電。這一過程中MCH的配置寄存器可自動(dòng)地復(fù)位到一個(gè)默認(rèn)值。因此,要再一次訪問存儲(chǔ)通道上的各存儲(chǔ)器,至少某些配置寄存器的值是必需的。BIOS可使ICH505訪問電池后備存儲(chǔ)器590并恢復(fù)下列的寄存器(保存在圖6塊646)。.MCHGAR寄存器(040-047h).MCHRDT(050h).MCHD薩C(051h).MCHPGPOL(052h).MCH翻R(053h).MCHGBA寄存器(060-06Fh).MCH配置寄存器MCHCFG(0BE-BFh)將這些寄存器的值恢復(fù)后,系統(tǒng)進(jìn)入STR狀態(tài)時(shí)MCH可以再一次訪問保存在存儲(chǔ)器中的項(xiàng)目,這些項(xiàng)目包括諸如處理程序的環(huán)境等,倘若保存了的話。由于存儲(chǔ)器在STR狀態(tài)執(zhí)行自刷新操作,故未丟失其它數(shù)據(jù)。其次,時(shí)鐘發(fā)生器開始工作,如塊1040所示。由MCHMCHCFG寄存器(MCHOBeh[ll],在塊1030得以恢復(fù))讀出適當(dāng)?shù)腞ambus通道頻率。當(dāng)時(shí)鐘穩(wěn)定后,MCHRAC進(jìn)行初始化,如塊1050所示。這一工作可以通過執(zhí)行MCHRAC初始化IOP來完成。另外,DRD寄存器可以裝入OOOOh的內(nèi)容,并可^i行MCHRAC控制寄存器裝載IOP來初始化RAC中的一條總線(如有關(guān)塊610的討論)。下一步,如塊1060所示實(shí)現(xiàn)電流標(biāo)定。完成這一工作正如對塊642和圖9有關(guān)討論那樣。但是,在塊94G所示的最后一次迭代中,可以設(shè)置RICM寄存器中的IC位,使得一旦完成電流標(biāo)定邊立即開始正常的操作。這樣,由STR序列重新開始,大大地快于系統(tǒng)第一次加電所要求的整個(gè)初始化序列,因?yàn)橥ǖ赖姆旨?jí)、SPD查詢、ID分配、以及許多別的初始化才喿作可以免去了??傊?,本項(xiàng)發(fā)明給出一種方法和設(shè)備初始化一個(gè)存儲(chǔ)設(shè)備和存儲(chǔ)通道。當(dāng)對某些特定的舉例實(shí)施方案進(jìn)行了描述并用附圖作了說明時(shí),我們應(yīng)該知道這些實(shí)施方案僅僅是使用圖例進(jìn)行說明而不是嚴(yán)格的廣泛意義下的發(fā)明,而且這種發(fā)明不限于已經(jīng)進(jìn)行了演示和說明了的特殊的結(jié)構(gòu)和安排,因?yàn)閷δ切┢胀夹g(shù)人員來說,在考察本項(xiàng)發(fā)明的時(shí)候,可能出現(xiàn)許多別的修正。30權(quán)利要求1.一種用于初始化存儲(chǔ)控制器的方法,包括初始化存儲(chǔ)控制器;初始化第一多個(gè)存儲(chǔ)控制器配置寄存器;為與所述存儲(chǔ)控制器耦合的多個(gè)存儲(chǔ)設(shè)備分配串行識(shí)別號(hào)碼;通過給具有最大支持規(guī)模的存儲(chǔ)設(shè)備分配一組最低的識(shí)別號(hào)碼;和給其余的規(guī)模較小存儲(chǔ)設(shè)備分配其后的識(shí)別號(hào)碼;至少部分基于存儲(chǔ)設(shè)備的大小,為所述多個(gè)存儲(chǔ)設(shè)備組分配設(shè)備識(shí)別號(hào)碼;對所述多個(gè)存儲(chǔ)設(shè)備的每一個(gè)存儲(chǔ)設(shè)備中的第二多個(gè)寄存器編程,使設(shè)備響應(yīng)時(shí)間之和等于從每一存儲(chǔ)設(shè)備到所有所述多個(gè)存儲(chǔ)設(shè)備的所述存儲(chǔ)控制器的傳播延遲時(shí)間;以及使能該多個(gè)存儲(chǔ)設(shè)備。2.根據(jù)權(quán)利要求1的方法,其中初始化所述存儲(chǔ)控制器進(jìn)一步包括復(fù)位該存儲(chǔ)控制器和一個(gè)存儲(chǔ)接口電路。3.根據(jù)權(quán)利要求1的方法,進(jìn)一步包括在分配串行識(shí)別號(hào)碼之前,復(fù)位一個(gè)串行接口。4.根據(jù)權(quán)利要求l的方法,進(jìn)一步包括檢驗(yàn)該多個(gè)存儲(chǔ)設(shè)備是否是Rambus內(nèi)嵌式存儲(chǔ)模塊;并且如果存在除Rambus內(nèi)嵌式存儲(chǔ)才莫塊以外類型的存儲(chǔ)器,而所述類型的存儲(chǔ)器混合在包括Rambus內(nèi)嵌式存儲(chǔ)才莫塊的存儲(chǔ)才莫塊之中,則給出一個(gè)錯(cuò)誤信號(hào)。5.根據(jù)權(quán)利要求4的方法,還包括檢驗(yàn)所述多個(gè)存儲(chǔ)設(shè)備是否是第一類型存儲(chǔ)設(shè)備的步驟,所述檢驗(yàn)所述多個(gè)存儲(chǔ)設(shè)備是否是第一類型存儲(chǔ)設(shè)備的步驟包括檢驗(yàn)該多個(gè)存儲(chǔ)設(shè)備是否是RambusRDRAMS;以及禁止所述多個(gè)存儲(chǔ)設(shè)備中任何不同類型存儲(chǔ)設(shè)備。6.根據(jù)權(quán)利要求1的方法,其中對所述多個(gè)存儲(chǔ)設(shè)備分配設(shè)備識(shí)別號(hào)碼進(jìn)一步包括從一個(gè)選定的存儲(chǔ)模塊讀取表示內(nèi)核技術(shù)的大小的數(shù)值;對所選存儲(chǔ);f莫塊上的每一個(gè)存儲(chǔ)設(shè)備進(jìn)行重復(fù)分配一個(gè)設(shè)備識(shí)別號(hào)碼,它是分組計(jì)數(shù)器和表示內(nèi)核技術(shù)大小數(shù)值的一個(gè)函數(shù);以及增加分組計(jì)數(shù)器的值。7.根據(jù)權(quán)利要求6的方法,進(jìn)一步包括對所選存儲(chǔ)才莫塊上的每一個(gè)存儲(chǔ)設(shè)備,更新組特性寄存器。8.根據(jù)權(quán)利要求1的方法,其中對所述多個(gè)存儲(chǔ)設(shè)備分配串行識(shí)別號(hào)碼進(jìn)一步包括根據(jù)所述多個(gè)存儲(chǔ)設(shè)備在串行總線上的串行順序給該多個(gè)存儲(chǔ)設(shè)備分配順序的唯一的串行識(shí)別號(hào)碼。9.根據(jù)權(quán)利要求l的方法,其中分配串行識(shí)別號(hào)碼進(jìn)一步包括禁止具有等于最大設(shè)備計(jì)數(shù)的串行識(shí)別號(hào)碼的最后一個(gè)存儲(chǔ)設(shè)備的串行輸出。10.根據(jù)權(quán)利要求l的方法,其中初始化所述存儲(chǔ)控制器包括初始化一個(gè)Rambus應(yīng)用的專用集成電^各單元。11.根據(jù)權(quán)利要求l的方法,其中對所述多個(gè)存儲(chǔ)設(shè)備組分配設(shè)備識(shí)別號(hào)碼包括對多個(gè)存儲(chǔ)才莫塊中的每一個(gè),確定設(shè)備大小的信息;根據(jù)其設(shè)備大小,選擇一個(gè)被選存儲(chǔ)模塊;對所選存儲(chǔ)才莫塊上的至少一個(gè)設(shè)備組分配設(shè)備識(shí)別號(hào)碼;以及重復(fù)選擇下一個(gè)被選存儲(chǔ)模塊并分配設(shè)備識(shí)別號(hào)碼,直到所有的設(shè)備有了設(shè)備識(shí)別號(hào)碼。12.根據(jù)權(quán)利要求l的方法,其中初始化多個(gè)存儲(chǔ)控制器配置寄存器進(jìn)一步包括初始化組邊界地址寄存器;初始化組結(jié)構(gòu)寄存器;初始化RDRAM計(jì)時(shí)寄存器;初始化RDRAM控制寄存器;初始化RDRAM電源管理寄存器;以及初始化RDRAM初始化控制寄存器。13.根據(jù)權(quán)利要求l的方法,其中使能所述多個(gè)存儲(chǔ)設(shè)備進(jìn)一步包括復(fù)位該多個(gè)存儲(chǔ)設(shè)備;廣播斷電退出的初始化操作;廣播一組快速時(shí)鐘;溪式初始化操作;以及初始化該多個(gè)存儲(chǔ)設(shè)備的每一個(gè)的內(nèi)核。14.根據(jù)權(quán)利要求13的方法,其中初始化所述多個(gè)存儲(chǔ)設(shè)備的每一個(gè)存儲(chǔ)設(shè)備的內(nèi)核包括使該多個(gè)存儲(chǔ)設(shè)備做好電流標(biāo)定的準(zhǔn)備;給每一存儲(chǔ)設(shè)備的每一個(gè)存儲(chǔ)體傳送預(yù)充電操作;以及執(zhí)行一個(gè)內(nèi)核初始化操作。15.根據(jù)權(quán)利要求14的方法進(jìn)一步包括再執(zhí)行5次內(nèi)核初始化操作。16.根據(jù)權(quán)利要求15的方法,其中執(zhí)行所述內(nèi)核初始化操作包括對多個(gè)存儲(chǔ)體中的每一個(gè)重復(fù)迭代N次,這里N是正整數(shù)執(zhí)行無操作命令;執(zhí)行刷新命令;執(zhí)行第二次的無操作命令;執(zhí)行第三次的和第四次的刷新命令;執(zhí)行第三次,第四次,和第五次的無操作命令;執(zhí)行刷新預(yù)充電命令;執(zhí)行第六次無操作命令;執(zhí)行笫二次刷新預(yù)充電命令;執(zhí)行第一次,第二次,和第三次的標(biāo)定命令;以及執(zhí)行采樣命令。17.—種執(zhí)行存儲(chǔ)控制器初始化的系統(tǒng),包括一個(gè)處理器;一個(gè)連接到處理器上的存儲(chǔ)控制器,該存儲(chǔ)控制器具有第一多個(gè)控制寄存器和一個(gè)串行接口線路;一個(gè)存儲(chǔ)總線,它具有與之相連接的多個(gè)存儲(chǔ)設(shè)備,該存儲(chǔ)總線連接到所述存儲(chǔ)控制器;一個(gè)連接到存儲(chǔ)控制器上的附加存儲(chǔ)設(shè)備,在初始化所述多個(gè)存儲(chǔ)設(shè)備之前所述存儲(chǔ)控制器可訪問該附加存儲(chǔ)設(shè)備,該附加存儲(chǔ)設(shè)備包含多條指令,所述指令若被系統(tǒng)執(zhí)行,則使該系統(tǒng)的相應(yīng)的單元執(zhí)行操作,其中包括用于初始化存儲(chǔ)控制器的單元;用于初始化多個(gè)存儲(chǔ)器控制器配置寄存器的單元;用于給連接于所述存儲(chǔ)控制器的所述多個(gè)存儲(chǔ)設(shè)備分配串行識(shí)別號(hào)碼的單元;用于通過以下步驟,至少部分地根據(jù)存儲(chǔ)設(shè)備的大小給所述多個(gè)存儲(chǔ)設(shè)備分配設(shè)備識(shí)別號(hào)碼的單元給具有最大支持規(guī)模的存儲(chǔ)設(shè)備分配一組最低的識(shí)別號(hào)碼;和給其余的規(guī)模較小存儲(chǔ)設(shè)備分配其后的識(shí)別號(hào)碼;對所述多個(gè)存儲(chǔ)設(shè)備的每一個(gè)存儲(chǔ)設(shè)備中的第二多個(gè)寄存器編程,使設(shè)備響應(yīng)時(shí)間之和等于從每一存儲(chǔ)設(shè)備到所有所述多個(gè)存儲(chǔ)設(shè)備共有的存儲(chǔ)控制器的傳播延遲時(shí)間的單元;以及用于使能該多個(gè)存儲(chǔ)設(shè)備的單元。18.根據(jù)權(quán)利要求17的系統(tǒng),還包括檢驗(yàn)單元,用于檢驗(yàn)該多個(gè)存儲(chǔ)設(shè)備是否是Rambus內(nèi)嵌式存儲(chǔ)模塊;和信令單元,用于如果存在除R雄bus內(nèi)嵌式存儲(chǔ)模塊以外類型的存儲(chǔ)器,而所述類型的存儲(chǔ)器混合在包括Rambus內(nèi)嵌式存儲(chǔ)才莫塊的存儲(chǔ)模塊之中,則給出一個(gè)錯(cuò)誤信號(hào)。全文摘要一種配置/初始化存儲(chǔ)器設(shè)備(160-162,168,170,175)的方法和裝置。公開的方法初始化存儲(chǔ)器控制器(100)和多個(gè)存儲(chǔ)器控制器配置寄存器(112)。串行標(biāo)示號(hào)碼被分配至與存儲(chǔ)器控制器(100)連接的存儲(chǔ)器設(shè)備(160-162,170,175)。此外,至少部分基于存儲(chǔ)器設(shè)備大小分配串行識(shí)別號(hào)碼組給存儲(chǔ)器設(shè)備(160-162,170,175),并且使能存儲(chǔ)器設(shè)備(160-162,170,175)。文檔編號(hào)G06F13/42GK101520766SQ200910130560公開日2009年9月2日申請日期1999年10月22日優(yōu)先權(quán)日1998年11月3日發(fā)明者P·K·尼扎,W·A·斯蒂芬斯申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
浦县| 博乐市| 博野县| 鹿邑县| 金堂县| 廊坊市| 高唐县| 论坛| 北安市| 紫云| 科技| 黄龙县| 泰和县| 新密市| 万载县| 华亭县| 湖北省| 图木舒克市| 武宣县| 渝北区| 滁州市| 湘乡市| 锡林浩特市| 筠连县| 墨竹工卡县| 夏津县| 永康市| 阿拉善左旗| 福建省| 墨竹工卡县| 辰溪县| 三河市| 德化县| 洪雅县| 达拉特旗| 韶山市| 桦川县| 阿合奇县| 芦山县| 辉南县| 尼勒克县|