專利名稱:具有預(yù)充電、激活和讀取/寫入的獨(dú)立仲裁的存儲(chǔ)器接口的制作方法
技術(shù)領(lǐng)域:
本發(fā)明大體上涉及存儲(chǔ)器接口。更特定來(lái)說(shuō),本發(fā)明針對(duì)于一種存儲(chǔ)器接口,其用于具有擁有預(yù)充電、激活和讀取/寫入階段的存儲(chǔ)庫(kù)的存儲(chǔ)器。
背景技術(shù):
圖1說(shuō)明現(xiàn)有技術(shù)存儲(chǔ)器接口100。仲裁器105接收來(lái)自多個(gè)客戶端110-A、110-B和110-C的存儲(chǔ)器存取請(qǐng)求。仲裁器105仲裁來(lái)自不同客戶端的存儲(chǔ)器存取請(qǐng)求,并將一連串命令放置到命令隊(duì)列115中以為每一客戶端服務(wù)。命令隊(duì)列115通常被實(shí)施為先進(jìn)先出(first in,first out;FIFO),使得命令通過FIFO依次進(jìn)行。動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)控制器120向DRAM存儲(chǔ)器發(fā)布命令(圖1未圖示)。如圖2所說(shuō)明,DRAM存儲(chǔ)器可包含存儲(chǔ)器模塊200,所述存儲(chǔ)器模塊具有擁有共同接口的一組記憶庫(kù)。激活命令用于激活庫(kù)中的行,且因此通常指定庫(kù)號(hào)和行地址。接著讀取或?qū)懭霐?shù)據(jù)。數(shù)據(jù)通常在多個(gè)時(shí)鐘周期中被作為數(shù)據(jù)塊讀取或?qū)懭搿A硗?,讀取或?qū)懭脒€包含賦予存儲(chǔ)器芯片的庫(kù)號(hào)和列地址。特定庫(kù)中的行一直是開放的,直到用預(yù)充電命令將其關(guān)閉為止。眾所周知,存在與執(zhí)行預(yù)充電操作、激活或讀取/寫入相關(guān)聯(lián)的時(shí)間延遲。因此,需要設(shè)計(jì)仲裁器105以考慮到用于執(zhí)行預(yù)充電、激活和讀取/寫入操作的時(shí)間延遲。
常規(guī)上,在特定的時(shí)鐘周期上,存儲(chǔ)器模塊200中僅一個(gè)庫(kù)可被讀取或?qū)懭?。如圖3所說(shuō)明,常規(guī)上,在不同的記憶庫(kù)之間交錯(cuò)對(duì)不同存儲(chǔ)器存取請(qǐng)求的處理以改進(jìn)效率。也就是說(shuō),當(dāng)一個(gè)記憶正被讀取或?qū)懭霑r(shí),另一記憶庫(kù)準(zhǔn)備好進(jìn)行讀取或?qū)懭搿?br>
常規(guī)上,仲裁器105可嘗試將命令隊(duì)列115中的不同客戶端的命令放置到經(jīng)選定用以實(shí)現(xiàn)交錯(cuò)的一連串命令中。舉例來(lái)說(shuō),如果命令在命令隊(duì)列115中具有0、1和2的次序,那么命令隊(duì)列115可具有指針以起始預(yù)充電、激活和讀取/寫入(R/W)操作,且經(jīng)由DRAM控制器120以與命令隊(duì)列相同的次序存取記憶庫(kù)。這允許(例如)存儲(chǔ)器命令進(jìn)入命令隊(duì)列,以在早期開始使記憶庫(kù)準(zhǔn)備稍后將在隊(duì)列頭部處進(jìn)行讀取/寫入。舉例來(lái)說(shuō),可針對(duì)在隊(duì)列頭部處的命令“0”執(zhí)行讀取/寫入,針對(duì)命令“1”執(zhí)行激活,且針對(duì)命令“2”執(zhí)行預(yù)充電。為了支持交錯(cuò),通常包含特殊的“使用中的庫(kù)”跟蹤硬件107以使仲裁器105跟蹤仲裁歷史。
現(xiàn)有技術(shù)存在的一個(gè)問題是,F(xiàn)IFO命令隊(duì)列115的串行性質(zhì)可使得仲裁器105難以選擇避免庫(kù)沖突且不浪費(fèi)時(shí)鐘周期的理想交錯(cuò)。另外,某些命令可能花費(fèi)較長(zhǎng)的存取時(shí)間,而其它命令可能具有可變的存取時(shí)間。因此,在某些應(yīng)用中,仲裁器105難以作出有效利用DRAM存儲(chǔ)器的仲裁決策,從而導(dǎo)致不執(zhí)行生產(chǎn)性工作的損失的時(shí)鐘周期。
現(xiàn)有技術(shù)存在的另一問題是由命令隊(duì)列115引入的等待時(shí)間。意圖是在預(yù)充電、激活與讀取/寫入命令之間引入足夠的延遲來(lái)促進(jìn)重疊庫(kù)操作。過多的延遲向請(qǐng)求添加了不合需要的等待時(shí)間。作為一個(gè)實(shí)例,存儲(chǔ)器接口100可包含壓縮模塊130,以基于標(biāo)簽指示源數(shù)據(jù)是被壓縮還是未被壓縮,來(lái)對(duì)存儲(chǔ)器的原子單位(例如,記憶瓦片(memorytile))執(zhí)行讀取-修改-寫入。某些類型的寫入命令可能需要解壓縮,從而導(dǎo)致更多數(shù)目的時(shí)鐘周期執(zhí)行完全的存儲(chǔ)器存取操作。舉例來(lái)說(shuō),讀取-修改-寫入可包含讀取經(jīng)壓縮的數(shù)據(jù),將所述數(shù)據(jù)解壓縮,和將所述數(shù)據(jù)寫回到存儲(chǔ)器以允許客戶端執(zhí)行寫入。然而,如果數(shù)據(jù)未被壓縮,那么改為執(zhí)行簡(jiǎn)單的寫入操作,這是一個(gè)短得多的操作。因此,在需用來(lái)完成存儲(chǔ)器存取請(qǐng)求的時(shí)間內(nèi)存在潛在的可變性。如果這些請(qǐng)求中的若干請(qǐng)求駐留在命令隊(duì)列中,那么等待時(shí)間將會(huì)不必要地高。
鑒于上述問題,研究出本發(fā)明的設(shè)備和方法。
發(fā)明內(nèi)容
一種存儲(chǔ)器接口將多個(gè)客戶端耦合到具有記憶庫(kù)的存儲(chǔ)器。所述存儲(chǔ)器接口支持至少激活決策和讀取/寫入決策的獨(dú)立仲裁。
存儲(chǔ)器接口的一個(gè)實(shí)施例包含庫(kù)狀態(tài)報(bào)導(dǎo)器,以報(bào)導(dǎo)具有記憶庫(kù)的存儲(chǔ)器的記憶庫(kù)狀態(tài)。激活仲裁器具有到達(dá)多個(gè)客戶端的第一接口。激活仲裁器基于庫(kù)狀態(tài)為多個(gè)客戶端仲裁激活決策。讀取/寫入仲裁器具有到達(dá)多個(gè)客戶端和所述庫(kù)狀態(tài)報(bào)導(dǎo)器的第二接口。讀取/寫入器仲裁器基于庫(kù)狀態(tài)為多個(gè)客戶端仲裁讀取/寫入決策。存儲(chǔ)器控制器基于激活仲裁器和讀取/寫入仲裁器的仲裁決策向存儲(chǔ)器發(fā)布激活子命令和讀取/寫入子命令。在一個(gè)實(shí)施方案中,還包含預(yù)充電仲裁器以為多個(gè)客戶端仲裁預(yù)充電決策。
結(jié)合以下結(jié)合附圖進(jìn)行的詳細(xì)描述,可更全面地理解本發(fā)明,附圖中圖1說(shuō)明具有串行命令隊(duì)列的現(xiàn)有技術(shù)存儲(chǔ)器接口;圖2說(shuō)明具有記憶庫(kù)的常規(guī)的DRAM模塊;圖3說(shuō)明常規(guī)的DRAM交錯(cuò);以及圖4說(shuō)明根據(jù)本發(fā)明的一個(gè)實(shí)施例的存儲(chǔ)器接口。
貫穿于附圖的若干視圖,相似的參考標(biāo)號(hào)指代相應(yīng)的零件。
具體實(shí)施例方式
圖4說(shuō)明根據(jù)本發(fā)明的一個(gè)實(shí)施例的存儲(chǔ)器接口400。存儲(chǔ)器接口400為多個(gè)客戶端405-A、405-B和405-C(例如,客戶端0、客戶端1和客戶端2)服務(wù)。出于說(shuō)明的目的,展示三個(gè)客戶端,但將了解,涵蓋任意數(shù)目的客戶端。存儲(chǔ)器接口400用于提供對(duì)于具有記憶庫(kù)的存儲(chǔ)器(例如,具有一組記憶庫(kù)(例如,庫(kù)0、庫(kù)1、庫(kù)2和庫(kù)3)的DRAM存儲(chǔ)器460)的存取。在存儲(chǔ)器領(lǐng)域中眾所周知,在成庫(kù)的存儲(chǔ)器中,對(duì)行的個(gè)別讀取或?qū)懭胄枰_放記憶庫(kù)并需要激活同一記憶庫(kù)內(nèi)的相關(guān)聯(lián)的行。
在任一個(gè)時(shí)刻,客戶端405-A、405-B和405-C僅具有一個(gè)由存儲(chǔ)器接口400服務(wù)的存儲(chǔ)器存取請(qǐng)求命令407-A、407-B和407-C。成庫(kù)的存儲(chǔ)器460通常經(jīng)實(shí)施以基于物理存儲(chǔ)器的行-列-庫(kù)定址來(lái)存取存儲(chǔ)器,這需要在執(zhí)行讀取/寫入之前執(zhí)行準(zhǔn)備庫(kù)的行的操作。
每一個(gè)別的存儲(chǔ)器存取請(qǐng)求命令407-A、407-B或407-C因此具有存儲(chǔ)器子命令的相關(guān)聯(lián)的隱含的管線序列409-A、409-B和409-C,DRAM控制器430需執(zhí)行所述隱含的管線序列以實(shí)施對(duì)于存儲(chǔ)器460的存儲(chǔ)器存取請(qǐng)求的不同階段,所述子命令例如激活子命令(如果相應(yīng)的存儲(chǔ)器地址的庫(kù)/行是關(guān)閉的)、針對(duì)存儲(chǔ)器地址的讀取/寫入子命令,和預(yù)充電子命令(假設(shè)在讀取/寫入之后不自動(dòng)執(zhí)行預(yù)充電,那么所述預(yù)充電子命令用以關(guān)閉開放的行/庫(kù))。在一個(gè)實(shí)施例中,存儲(chǔ)器存取請(qǐng)求命令還包含關(guān)于請(qǐng)求緊迫度的信息。
在一個(gè)實(shí)施例中,在任一個(gè)時(shí)刻,對(duì)于每一客戶端僅仲裁一個(gè)存儲(chǔ)器存取請(qǐng)求命令。然而,每一存儲(chǔ)器存取請(qǐng)求命令407-A、407-B和407-C具有隱含的管線子命令409-A、409-B和409-C以用于存取成庫(kù)的DRAM存儲(chǔ)器460中的被獨(dú)立仲裁的區(qū)域。舉例來(lái)說(shuō),假設(shè)每一存儲(chǔ)器存取請(qǐng)求命令隱含地具有預(yù)充電、激活和讀取/寫入子命令,那么預(yù)充電仲裁器410、激活仲裁器415和讀取/寫入仲裁器420處理不同的管線子命令階段的仲裁功能。當(dāng)特定客戶端405-A的特定的存儲(chǔ)器存取請(qǐng)求(例如,407-A)已完成其所有的子命令階段時(shí),接著由存儲(chǔ)器接口400服務(wù)客戶端的下一存儲(chǔ)器存取請(qǐng)求。應(yīng)注意,出于說(shuō)明的目的,隱含的管線序列409-A、409-B和409-C被說(shuō)明為包含在個(gè)別的存儲(chǔ)器請(qǐng)求命令407-A、407-B和407-B中,但將了解,每一仲裁器410、415和420可推斷出隱含的管線序列。
預(yù)充電仲裁器410、激活仲裁器415和讀取/寫入仲裁器420獨(dú)立運(yùn)作,且每一者具有其單獨(dú)的各自的客戶端接口425-A、425-B和425-C。舉例來(lái)說(shuō),在一個(gè)實(shí)施例中,多路復(fù)用器用于單獨(dú)地將每一客戶端405-A、405-B和405-C耦合到每一客戶端接口425-A、425-B和425-C,而不需要介入共同的命令隊(duì)列。舉例來(lái)說(shuō),可將來(lái)自每一客戶端的一個(gè)存儲(chǔ)器存取請(qǐng)求命令耦合到每一客戶端接口425-A、425-B和425-C。針對(duì)不同的客戶端405-A、405-B和405-C的存儲(chǔ)器存取請(qǐng)求的預(yù)充電、激活和讀取/寫入子命令階段執(zhí)行獨(dú)立的仲裁。因此,不同的子命令階段的仲裁是動(dòng)態(tài)的。每一仲裁器410、415和420包含防止記憶庫(kù)沖突的規(guī)則,使得獨(dú)立仲裁的結(jié)果是子命令階段在不同的記憶庫(kù)中有效交錯(cuò)。舉例來(lái)說(shuō),當(dāng)代表一個(gè)客戶端針對(duì)讀取/寫入子命令存取一個(gè)記憶庫(kù)時(shí),獨(dú)立的仲裁允許代表其它客戶端對(duì)其它記憶庫(kù)執(zhí)行激活子命令階段和預(yù)充電子命令階段。
預(yù)充電仲裁器410檢查客戶端存儲(chǔ)器存取請(qǐng)求命令,并仲裁預(yù)充電子命令以確定是否需要完成預(yù)充電以關(guān)閉庫(kù)中的行。也就是說(shuō),預(yù)充電仲裁器410檢查開放的行,并作出關(guān)于是否應(yīng)在特定時(shí)鐘周期上關(guān)閉開放的庫(kù)(如果有的話)的仲裁決策。在一個(gè)實(shí)施例中,當(dāng)存在對(duì)庫(kù)的漏失(miss)時(shí),預(yù)充電關(guān)閉,當(dāng)存在來(lái)自不同客戶端的對(duì)特定庫(kù)的同時(shí)命中(hit)和漏失時(shí),那么預(yù)充電仲裁器410可權(quán)衡客戶端優(yōu)先權(quán),并作出關(guān)閉或不關(guān)閉庫(kù)的選擇。換句話說(shuō),在一個(gè)實(shí)施例中,預(yù)充電仲裁器410考慮客戶端優(yōu)先權(quán),且在確定是否關(guān)閉庫(kù)時(shí)也執(zhí)行命中和漏失。還可存在計(jì)時(shí)器,在對(duì)某一庫(kù)沒有命中需求超過一段時(shí)期后,所述計(jì)時(shí)器關(guān)閉所述庫(kù)。應(yīng)注意,在替代實(shí)施例中,如果在讀取或?qū)懭牒笞詣?dòng)發(fā)生預(yù)充電,那么可省略預(yù)充電仲裁器410。
激活仲裁器415檢查客戶端存儲(chǔ)器存取請(qǐng)求,并仲裁激活子命令以確定在特定時(shí)鐘周期需開放哪一庫(kù)(和激活哪一行)。也就是說(shuō),激活仲裁器415檢查庫(kù)中關(guān)閉的行,并作出關(guān)于在特定的時(shí)鐘周期應(yīng)激活哪一關(guān)閉的行/庫(kù)(如果有的話)的仲裁決策。
讀取/寫入仲裁器420檢查客戶端存儲(chǔ)器存取請(qǐng)求,并仲裁讀取/寫入子命令以確定哪一讀取/寫入子命令到達(dá)庫(kù)以進(jìn)行讀取和寫入。也就是說(shuō),讀取/寫入仲裁器420檢查激活的庫(kù)/行,并作出關(guān)于應(yīng)針對(duì)激活的行發(fā)布哪些讀取/寫入子命令的仲裁決策。在一個(gè)實(shí)施例中,在讀取/寫入仲裁器420中阻止對(duì)漏失的仲裁,直到命中為止。
DRAM控制器430包含庫(kù)狀態(tài)報(bào)導(dǎo)器模塊435,其監(jiān)視哪些庫(kù)是活動(dòng)的,哪些行是活動(dòng)的,并監(jiān)視計(jì)時(shí)參數(shù)。庫(kù)狀態(tài)報(bào)導(dǎo)器模塊435產(chǎn)生控制信號(hào),基于存儲(chǔ)器460的狀態(tài)情況而將所述控制信號(hào)提供給預(yù)充電仲裁器410、激活仲裁器415和讀取/寫入仲裁器420。在一個(gè)實(shí)施例中,被稱為“聯(lián)系位”的個(gè)別位用于指示已對(duì)庫(kù)執(zhí)行至少一次讀取/寫入。聯(lián)系位的用途是防止預(yù)充電仲裁器關(guān)閉尚未執(zhí)行讀取/寫入的新開放的庫(kù)。舉例來(lái)說(shuō),在一個(gè)實(shí)施方案中,庫(kù)保持開放(在超時(shí)時(shí)期內(nèi))直到其被讀取/寫入為止,此時(shí)設(shè)定聯(lián)系位,使得所述庫(kù)適合進(jìn)行預(yù)充電。在一個(gè)實(shí)施方案中,默認(rèn)條件是已聯(lián)系的庫(kù)保持開放,以促進(jìn)為來(lái)自起始初始聯(lián)系的相同客戶端的額外的讀取/寫入子命令服務(wù)。在特殊情形下,高優(yōu)先權(quán)的客戶端可允許預(yù)充電仲裁器關(guān)閉未聯(lián)系的庫(kù)以允許所述客戶端的較低等待時(shí)間。
由庫(kù)狀態(tài)報(bào)導(dǎo)器435提供給預(yù)充電仲裁器410、激活仲裁器415和讀取/寫入仲裁器420的信息允許基于庫(kù)狀態(tài)知識(shí)進(jìn)行獨(dú)立仲裁。舉例來(lái)說(shuō),為了在特定庫(kù)上發(fā)生激活,所述庫(kù)必須已被關(guān)閉。因此,通過在已被關(guān)閉的庫(kù)之間進(jìn)行仲裁來(lái)執(zhí)行由激活仲裁器415作出的仲裁決策,這需要足以識(shí)別被關(guān)閉的庫(kù)的庫(kù)狀態(tài)知識(shí)。讀取/寫入仲裁器420在已開放并與相同行匹配(“命中”)的庫(kù)之間進(jìn)行仲裁,這需要足以識(shí)別開放的庫(kù)的庫(kù)狀態(tài)知識(shí)。僅對(duì)開放的庫(kù)執(zhí)行預(yù)充電。因此,預(yù)充電仲裁器410也需要足以識(shí)別開放的庫(kù)的庫(kù)狀態(tài)知識(shí)。
在一個(gè)實(shí)施例中,預(yù)充電仲裁器410、激活仲裁器415和讀取/寫入仲裁器420知曉DRAM計(jì)時(shí)。也就是說(shuō),庫(kù)狀態(tài)報(bào)導(dǎo)器模塊435還報(bào)導(dǎo)DRAM計(jì)時(shí)參數(shù)。這允許仲裁器410、415和420估計(jì)庫(kù)何時(shí)將可用于預(yù)充電、激活和讀取/寫入操作。因此,在一個(gè)實(shí)施例中,每一仲裁器在作出仲裁決策時(shí)考慮到DRAM計(jì)時(shí)參數(shù)。舉例來(lái)說(shuō),預(yù)充電仲裁器410可部分基于是否滿足DRAM庫(kù)預(yù)充電計(jì)時(shí)條件來(lái)作出仲裁決策;激活仲裁器415可部分基于是否滿足DRAM庫(kù)激活計(jì)時(shí)條件來(lái)作出仲裁決策;且讀取/寫入仲裁器420可部分基于是否滿足DRAM庫(kù)讀取/寫入計(jì)時(shí)條件來(lái)作出仲裁決策。
在一個(gè)實(shí)施例中,DRAM控制器430接收不同仲裁器410、415和420的仲裁決策,且DRAM控制器430接著向DRAM存儲(chǔ)器460發(fā)布預(yù)充電、激活和讀取/寫入子命令。如先前所述,不同的仲裁器410、415和420具有庫(kù)狀態(tài)信息,它們通過所述信息來(lái)確定適當(dāng)組的庫(kù)/行以執(zhí)行仲裁。舉例來(lái)說(shuō),在特定的時(shí)鐘周期上,由激活仲裁器415仲裁的客戶端不被讀取/寫入仲裁器420仲裁,因?yàn)榧せ钪俨闷鲗?duì)關(guān)閉的庫(kù)進(jìn)行仲裁,而讀取/寫入仲裁器420對(duì)激活的庫(kù)/行進(jìn)行仲裁。因此,雖然不同的仲裁器410、415和420獨(dú)立地作出仲裁決策,但所應(yīng)用的仲裁規(guī)則導(dǎo)致避免庫(kù)沖突的有效的庫(kù)交錯(cuò)。另外,甚至對(duì)于可變的存儲(chǔ)器存取時(shí)間的情況來(lái)說(shuō),獨(dú)立的仲裁也允許有效的交錯(cuò),例如讀取-修改-寫入操作,或傳遞多個(gè)數(shù)據(jù)的請(qǐng)求。仲裁器也可使用庫(kù)計(jì)時(shí)信息在DRAM可處理命令時(shí)接受所述命令。通過不作出過早的仲裁決策,使用最新近的客戶端信息來(lái)作出較佳的選擇。
仲裁決策可基于加權(quán)因子。在一個(gè)實(shí)施例中,個(gè)別的請(qǐng)求具有由基于客戶端緊迫度(客戶端需要進(jìn)行存儲(chǔ)器存取的緊迫度)和效率(在給定傳遞和等待時(shí)間的大小的情況下,存儲(chǔ)器存取可能具有的效率)的權(quán)數(shù)界定的優(yōu)先權(quán)。
應(yīng)注意,在許多應(yīng)用中,客戶端可對(duì)存儲(chǔ)器的相同區(qū)域產(chǎn)生存儲(chǔ)器存取請(qǐng)求。因此,通常需要一旦已開放庫(kù)就在可行的情況下一直將其開放。在一個(gè)實(shí)施例中,為聯(lián)系位設(shè)定第一實(shí)例,其中對(duì)庫(kù)執(zhí)行讀取/寫入,并接著在可行的情況下使所述庫(kù)一直開放。這允許DRAM在客戶端可能返回庫(kù)且沒有其它客戶端需要所述庫(kù)的情況下保持開放。這還減少了功率消耗,原因在于減少了消耗功率的記憶庫(kù)的循環(huán)。另外,這允許來(lái)自客戶端的較大的傳遞被分裂為較小的片段,并與其它請(qǐng)求交錯(cuò)以減少爭(zhēng)用等待時(shí)間。
在一個(gè)實(shí)施例中,讀取/寫入仲裁器420設(shè)定工作的量。也就是說(shuō),讀取/寫入仲裁器420在可編程數(shù)目的時(shí)鐘內(nèi)針對(duì)相同的行和庫(kù)進(jìn)行仲裁??删幊虜?shù)目的時(shí)鐘對(duì)應(yīng)于分批模式。批的大小可基于DRAM計(jì)時(shí)參數(shù)。
本發(fā)明的實(shí)施例提供優(yōu)于利用常規(guī)的FIFO存儲(chǔ)器命令隊(duì)列115的圖1中所說(shuō)明的現(xiàn)有技術(shù)的若干優(yōu)勢(shì)。因?yàn)樵诔R?guī)的FIFO命令隊(duì)列115中實(shí)行讀取和寫入,所以來(lái)自客戶端的需要較低等待時(shí)間的隨后的請(qǐng)求在被服務(wù)前必須等待這些先前的請(qǐng)求完成。在本發(fā)明的優(yōu)選實(shí)施例中,不存在命令隊(duì)列115。因此,本發(fā)明的優(yōu)選實(shí)施例允許接受緊迫的請(qǐng)求而不會(huì)有延遲。另外,通過將仲裁決策與DRAM庫(kù)的狀態(tài)和時(shí)序聯(lián)系,本發(fā)明的優(yōu)選實(shí)施例執(zhí)行“即時(shí)”仲裁,僅在DRAM可接受命令時(shí)才發(fā)布所述命令。這些稍后的仲裁使用來(lái)自客戶端的最新近的請(qǐng)求信息,并作出最佳的仲裁決策。
出于闡釋的目的,以上描述使用特定的術(shù)語(yǔ)來(lái)提供對(duì)本發(fā)明的全面理解。然而,所屬領(lǐng)域的技術(shù)人員將了解,并不需要特定的細(xì)節(jié)來(lái)實(shí)踐本發(fā)明。因此,出于說(shuō)明和描述的目的而展示對(duì)本發(fā)明特定實(shí)施例的以上描述。并不期望它們是詳盡的或?qū)⒈景l(fā)明限于所揭示的精確形式;顯然,鑒于上文的教示,可能作出許多修改和改變。選擇和描述所述實(shí)施例是為了最佳地闡釋本發(fā)明的原理及其實(shí)踐應(yīng)用,進(jìn)而使得所屬領(lǐng)域的其他技術(shù)人員能夠最佳地利用本發(fā)明和具有適合所預(yù)期的特定用途的各種修改的各種實(shí)施例。期望所附權(quán)利要求書及其等效物界定本發(fā)明的范圍。
權(quán)利要求
1.一種存儲(chǔ)器接口,其包括庫(kù)狀態(tài)報(bào)導(dǎo)器,其報(bào)導(dǎo)具有記憶庫(kù)的存儲(chǔ)器的記憶庫(kù)狀態(tài);激活仲裁器,其具有到達(dá)多個(gè)客戶端的第一接口,所述激活仲裁器基于所述庫(kù)狀態(tài)為所述多個(gè)客戶端仲裁激活決策;讀取/寫入仲裁器,其具有到達(dá)所述多個(gè)客戶端和所述庫(kù)狀態(tài)報(bào)導(dǎo)器的第二接口。所述讀取/寫入器仲裁器基于所述庫(kù)狀態(tài)為所述多個(gè)客戶端仲裁讀取/寫入決策;以及存儲(chǔ)器控制器,其基于所述激活仲裁器和所述讀取/寫入仲裁器的仲裁決策向所述存儲(chǔ)器發(fā)布激活子命令和讀取/寫入子命令。
2.根據(jù)權(quán)利要求1所述的存儲(chǔ)器接口,其進(jìn)一步包括預(yù)充電仲裁器,所述預(yù)充電仲裁器具有到達(dá)多個(gè)客戶端的第三接口,所述預(yù)充電仲裁器基于所述庫(kù)狀態(tài)為所述多個(gè)客戶端仲裁預(yù)充電決策,使得所述存儲(chǔ)器接口可操作以為所述多個(gè)客戶端獨(dú)立地仲裁預(yù)充電子命令、激活子命令和讀取/寫入子命令。
3.根據(jù)權(quán)利要求2所述的存儲(chǔ)器接口,其中所述庫(kù)狀態(tài)包括關(guān)于活動(dòng)的庫(kù)和活動(dòng)的行的信息。
4.根據(jù)權(quán)利要求3所述的存儲(chǔ)器接口,其中所述激活仲裁器仲裁關(guān)閉的庫(kù)的激活。
5.根據(jù)權(quán)利要求3所述的存儲(chǔ)器接口,其中所述讀取/寫入仲裁器在已開放的庫(kù)之間進(jìn)行仲裁。
6.根據(jù)權(quán)利要求3所述的存儲(chǔ)器接口,其中所述預(yù)充電仲裁器仲裁以確定將關(guān)閉哪一開放的庫(kù)。
7.根據(jù)權(quán)利要求3所述的存儲(chǔ)器接口,其中所述庫(kù)狀態(tài)報(bào)導(dǎo)器紀(jì)錄何時(shí)已代表客戶端對(duì)庫(kù)執(zhí)行至少一次讀取/寫入以指示庫(kù)的聯(lián)系。
8.根據(jù)權(quán)利要求7所述的存儲(chǔ)器接口,其中所述庫(kù)將維持開放直到其被讀取/寫入為止,此時(shí)設(shè)定聯(lián)系位,且所述庫(kù)適合進(jìn)行預(yù)充電。
9.根據(jù)權(quán)利要求1所述的存儲(chǔ)器接口,其中所述庫(kù)狀態(tài)包括DRAM計(jì)時(shí)參數(shù)。
10.根據(jù)權(quán)利要求3所述的存儲(chǔ)器接口,其中當(dāng)滿足DRAM庫(kù)激活計(jì)時(shí)條件時(shí),所述激活仲裁器仲裁關(guān)閉的庫(kù)的激活。
11.一種用于交錯(cuò)存儲(chǔ)器請(qǐng)求的存儲(chǔ)器接口,其包括存儲(chǔ)器控制器,其存取具有擁有預(yù)充電、激活和讀取/寫入階段的記憶庫(kù)的動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器;庫(kù)狀態(tài)報(bào)導(dǎo)器,其耦合到所述存儲(chǔ)器控制器以報(bào)導(dǎo)記憶庫(kù)狀態(tài)信息;激活仲裁器,其具有到達(dá)多個(gè)客戶端的第一接口,所述激活仲裁器從所述庫(kù)狀態(tài)報(bào)導(dǎo)器接收指示被關(guān)閉的庫(kù)的信息,所述激活仲裁器基于至少一個(gè)優(yōu)先權(quán)規(guī)則為所述多個(gè)客戶端仲裁激活決策以激活關(guān)閉的庫(kù);以及讀取/寫入仲裁器,其具有到達(dá)所述多個(gè)客戶端的第二接口,所述讀取/寫入仲裁器從所述庫(kù)狀態(tài)報(bào)導(dǎo)器接收指示被激活的庫(kù)的信息,所述讀取/寫入仲裁器基于至少一個(gè)優(yōu)先權(quán)規(guī)則為所述多個(gè)客戶端仲裁讀取/寫入決策。
12.根據(jù)權(quán)利要求11所述的存儲(chǔ)器接口,其進(jìn)一步包括預(yù)充電仲裁器,所述預(yù)充電仲裁器具有到達(dá)多個(gè)客戶端的第三接口,所述預(yù)充電仲裁器為所述多個(gè)客戶端仲裁預(yù)充電決策。
13.一種介接具有記憶庫(kù)的動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的方法,其包括為多個(gè)客戶端獨(dú)立地仲裁激活子命令;以及為所述多個(gè)客戶端獨(dú)立地仲裁讀取/寫入子命令;其中利用獨(dú)立的仲裁來(lái)交錯(cuò)存儲(chǔ)器請(qǐng)求。
14.根據(jù)權(quán)利要求13所述的方法,其進(jìn)一步包括為所述多個(gè)客戶端獨(dú)立地仲裁預(yù)充電。
15.根據(jù)權(quán)利要求13所述的方法,其進(jìn)一步包括監(jiān)視庫(kù)狀態(tài)以用于執(zhí)行仲裁。
16.根據(jù)權(quán)利要求13所述的方法,其中所述獨(dú)立地仲裁激活子命令包含確定關(guān)閉的庫(kù)。
17.根據(jù)權(quán)利要求13所述的方法,其中所述獨(dú)立地仲裁讀取/寫入子命令包含確定激活的庫(kù)。
全文摘要
一種將多個(gè)客戶端耦合到具有記憶庫(kù)的存儲(chǔ)器的存儲(chǔ)器接口,其提供激活決策和讀取/寫入決策的獨(dú)立仲裁。在一個(gè)實(shí)施方案中,預(yù)充電決策也被獨(dú)立地仲裁。
文檔編號(hào)H04L29/10GK101093435SQ20071011105
公開日2007年12月26日 申請(qǐng)日期2007年6月13日 優(yōu)先權(quán)日2006年6月14日
發(fā)明者詹姆斯·M·范戴克, 布賴恩·D·胡特塞爾 申請(qǐng)人:輝達(dá)公司