降低dram訪問(wèn)的訪問(wèn)粒度的地址位重映射方案的制作方法
【專利摘要】本發(fā)明的一個(gè)實(shí)施例闡述了用于通過(guò)使用第一引腳子集發(fā)送第一列命令到第一DRAM設(shè)備和使用經(jīng)改變用途的第二引腳子集發(fā)送第二列命令到第二DRAM設(shè)備,以訪問(wèn)在DRAM存儲(chǔ)器頁(yè)面內(nèi)的非連續(xù)位置的方法。所公開的技術(shù)的一個(gè)優(yōu)勢(shì)是它需要最少的附加引腳、空間或功率消耗。進(jìn)一步,發(fā)送多個(gè)地址命令為增加的DRAM訪問(wèn)粒度留出余地,因此可以更高效地利用引腳。因此,所公開的技術(shù)提供了用于在DRAM存儲(chǔ)頁(yè)面內(nèi)訪問(wèn)非連續(xù)位置的更好的方法。
【專利說(shuō)明】降低DRAM訪問(wèn)的訪問(wèn)粒度的地址位重映射方案
【技術(shù)領(lǐng)域】
[0001]本發(fā)明概括地來(lái)說(shuō)涉及的是計(jì)算機(jī)系統(tǒng),更具體地,涉及的是降低DRAM訪問(wèn)的訪問(wèn)粒度的地址位重新映射方案。
【背景技術(shù)】
[0002]當(dāng)前的存儲(chǔ)器接口典型地實(shí)現(xiàn)用于與存儲(chǔ)器設(shè)備進(jìn)行通信的數(shù)據(jù)總線和命令總線。所述命令總線用于向所述存儲(chǔ)器設(shè)備發(fā)送行和列的命令和地址,而所述數(shù)據(jù)總線用于將讀寫數(shù)據(jù)轉(zhuǎn)移到所述存儲(chǔ)器設(shè)備或從所述存儲(chǔ)器設(shè)備轉(zhuǎn)移出讀寫數(shù)據(jù)。例如,用于DDR3SDRAM的JEDEC規(guī)范規(guī)定了 16個(gè)地址引腳(pin) (A0-A15),3個(gè)庫(kù)地址引腳(BA0-BA2),和5個(gè)命令引腳(CS#,CKE#, RAS#, CAS#,WE#),總共24個(gè)引腳。用于⑶DR5SGRAM的JEDEC規(guī)范規(guī)定了 14個(gè)地址引腳(A0-A12 JPiRFU (保留的))和4個(gè)庫(kù)地址引腳(BA0-BA3)、地址總線反向引腳(inversion pin) (ABI#)、和 5 個(gè)命令引腳(CS#, CKE#, RAS#, CAS#, WE#),總共15個(gè)引腳。
[0003]每個(gè)命令操作導(dǎo)致從所述存儲(chǔ)器設(shè)備轉(zhuǎn)移數(shù)據(jù)次數(shù)的固定數(shù)目。所述固定數(shù)目被稱為最小突發(fā)長(zhǎng)度。存儲(chǔ)器控制器和諸如動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(DRAM)設(shè)備等存儲(chǔ)器設(shè)備之間的存儲(chǔ)器事務(wù)的突發(fā)長(zhǎng)度,是由常規(guī)存儲(chǔ)器控制器和所述DRAM設(shè)備之間的存儲(chǔ)器接口的頻率與所述DRAM設(shè)備內(nèi)核操作的頻率的比率決定的。隨著DRAM隨著時(shí)間的不斷演變,盡管第二頻率是保持相對(duì)不變的,但是第一頻率通常是隨著DRAM設(shè)備的每個(gè)新一代的DRAM設(shè)備而增加的。例如,每個(gè)時(shí)鐘周期實(shí)施兩次數(shù)據(jù)轉(zhuǎn)移的雙倍數(shù)據(jù)速率(DDR)DRAM設(shè)備,如DDR2設(shè)備,使用的最小突發(fā)長(zhǎng)度為4,而DDR3/sDDR3/LPDDR3/⑶DR5設(shè)備使用的最小突發(fā)長(zhǎng)度為8。假定該趨勢(shì)是持續(xù)的,那么下一代DRAM設(shè)備可能具有的最小突發(fā)長(zhǎng)度為16或高于16。
[0004]隨著最小突發(fā)長(zhǎng)度的增加,以及更寬的存儲(chǔ)器接口寬度,在突發(fā)的過(guò)程中,通過(guò)所述DRAM設(shè)備和所述存儲(chǔ)器控制器之間的存儲(chǔ)器接口傳輸?shù)淖钚?shù)據(jù)量也增加,所述最小數(shù)據(jù)量也稱為“最小預(yù)取”。例如,在x64存儲(chǔ)器接口上,對(duì)于DDR2設(shè)備,所述最小預(yù)取為32字節(jié),但是對(duì)于DDR3設(shè)備,所述最小預(yù)取增加到64字節(jié)。增加的最小預(yù)取造成了所設(shè)計(jì)的常規(guī)存儲(chǔ)器控制器對(duì)訪問(wèn)具有32字節(jié)增量的DRAM設(shè)備的低效。此外,所述32字節(jié)增量可能沒(méi)有被存儲(chǔ)在DRAM內(nèi)的相鄰存儲(chǔ)位置。在突發(fā)過(guò)程中,當(dāng)通過(guò)所述DRAM和所述處理器之間的存儲(chǔ)器接口傳送的數(shù)據(jù)量從32字節(jié)增長(zhǎng)到64字節(jié)時(shí),一半的數(shù)據(jù)可能是不需要的,并由所述存儲(chǔ)器控制器丟棄。
[0005]處理上述問(wèn)題的一個(gè)可能的方法是重新設(shè)計(jì)常規(guī)的處理器,以訪問(wèn)64字節(jié)或更大增量的訪問(wèn)數(shù)據(jù)。一般來(lái)說(shuō),由于時(shí)間和成本的原因,重新設(shè)計(jì)處理器通常是不可取的。而且,在單個(gè)接口上,對(duì)存儲(chǔ)器控制器來(lái)說(shuō),可能理想的是在DRAM頁(yè)面上訪問(wèn)不同的非連續(xù)的位置。64字節(jié)的預(yù)取迫使存儲(chǔ)器控制器總是訪問(wèn)頁(yè)面上的連續(xù)的位置。
[0006]另一個(gè)可能的方法是增加附加的接口,以允許對(duì)每個(gè)接口進(jìn)行獨(dú)立訪問(wèn)。該方法將64位數(shù)據(jù)接口分成兩個(gè)分開的數(shù)據(jù)端口以提供兩個(gè)32位數(shù)據(jù)接口,所述兩個(gè)32位數(shù)據(jù)接口每個(gè)都支持具有用于單個(gè)64位接口的最小突發(fā)長(zhǎng)度的一半的最小突發(fā)尺寸的訪問(wèn)。與單個(gè)的64位數(shù)據(jù)接口相比,對(duì)于兩個(gè)32位的數(shù)據(jù)接口來(lái)說(shuō),所需要的傳送和接收數(shù)據(jù)的引腳的數(shù)目是不變的。然而,對(duì)于每個(gè)數(shù)據(jù)端口來(lái)說(shuō),需要獨(dú)立的命令和地址信息,從而使數(shù)據(jù)的32字節(jié)增量不局限于存儲(chǔ)在相鄰的存儲(chǔ)位置或不局限于以允許相同的地址被用于訪問(wèn)所述兩個(gè)分開的數(shù)據(jù)端口方式的其它的關(guān)聯(lián)?;谶@些原因,通常將為每個(gè)數(shù)據(jù)接口提供專用的命令和地址接口。然而,每個(gè)附加的專用命令和地址接口需要附加的引腳。增加引腳的數(shù)目通常是不可取的,因?yàn)樗鲈O(shè)備在面積和功率上的成本可能也增加。
[0007]如上所述,本領(lǐng)域所需要的是用于訪問(wèn)在相同的存儲(chǔ)器頁(yè)面內(nèi)的非連續(xù)位置的改進(jìn)的方法。
【發(fā)明內(nèi)容】
[0008]本發(fā)明的一個(gè)實(shí)施例闡述了用于訪問(wèn)在DRAM存儲(chǔ)頁(yè)面內(nèi)的非連續(xù)位置的方法。所述方法大體包括傳送行命令到第一 DRAM設(shè)備和第二 DRAM設(shè)備的步驟,所述傳送經(jīng)由在存儲(chǔ)器控制器上的多個(gè)引腳和在所述第一 DRAM設(shè)備和所述第二 DRAM設(shè)備上的相應(yīng)的多個(gè)引腳進(jìn)行,經(jīng)由所述存儲(chǔ)器控制器上的多個(gè)引腳傳送第一列地址命令到所述第一 DRAM設(shè)備和傳送第二列地址命令到所述第二 DRAM設(shè)備的步驟,和通過(guò)存儲(chǔ)器控制器上的多個(gè)引腳和在所述第一 DRAM設(shè)備和所述第二 DRAM設(shè)備上的相應(yīng)的多個(gè)引腳,傳輸數(shù)據(jù)命令到所述第一 DRAM設(shè)備和所述第二 DRAM設(shè)備。
[0009]所公開的技術(shù)一個(gè)優(yōu)點(diǎn)在于它不需要附加的引腳、空間或功率消耗。而且,發(fā)送多個(gè)地址命令允許增加的DRAM訪問(wèn)粒度,因此允許更有效的利用引腳。因此,所公開的技術(shù)提供了用于訪問(wèn)在DRAM存儲(chǔ)頁(yè)面內(nèi)的非連續(xù)位置的更好的方法。
【專利附圖】
【附圖說(shuō)明】
[0010]因此,可以詳細(xì)地理解本發(fā)明的上述特征,并且可以參考實(shí)施例得到對(duì)如上面所簡(jiǎn)要概括的本發(fā)明更具體的描述,其中一些實(shí)施例在附圖中示出。然而,應(yīng)當(dāng)注意的是,附圖僅示出了本發(fā)明的典型實(shí)施例,因此不應(yīng)被認(rèn)為是對(duì)其范圍的限制,本發(fā)明可以具有其他等效的實(shí)施例。
[0011]圖1是示出了配置為實(shí)現(xiàn)本發(fā)明的一個(gè)或多個(gè)方面的計(jì)算機(jī)系統(tǒng)的框圖;
[0012]圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的并行處理子系統(tǒng)的框圖。
[0013]圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例的、包含存儲(chǔ)器控制器和兩個(gè)DRAM設(shè)備的存儲(chǔ)器子系統(tǒng)的概念性框圖。
[0014]圖4A是根據(jù)本發(fā)明的一個(gè)實(shí)施例的、具有高效位重新映射的存儲(chǔ)器子系統(tǒng)的概念性框圖。
[0015]圖4B是根據(jù)本發(fā)明的一個(gè)實(shí)施例的、具有在DRAM存儲(chǔ)器頁(yè)面內(nèi)的非連續(xù)位置的存儲(chǔ)器訪問(wèn)的存儲(chǔ)器子系統(tǒng)的概念性框圖。
[0016]圖5是根據(jù)本發(fā)明的一個(gè)實(shí)施例的、用于訪問(wèn)在DRAM存儲(chǔ)器頁(yè)面內(nèi)的非連續(xù)位置的方法步驟的流程圖。
【具體實(shí)施方式】[0017]在下面的描述中,將闡述大量的具體細(xì)節(jié)以提供對(duì)本發(fā)明更透徹的理解。然而,本領(lǐng)域的技術(shù)人員應(yīng)該清楚,本發(fā)明可以在沒(méi)有一個(gè)或多個(gè)這些具體細(xì)節(jié)的情況下得以實(shí)施。在其他實(shí)例中,未描述公知特征以避免對(duì)本發(fā)明造成混淆。
[0018]系統(tǒng)概述
[0019]圖1為示出了配置為實(shí)現(xiàn)本發(fā)明的一個(gè)或多個(gè)方面的計(jì)算機(jī)系統(tǒng)100的框圖。計(jì)算機(jī)系統(tǒng)100包括經(jīng)由可以包括存儲(chǔ)器橋105的互連路徑通信的中央處理單元(CPU) 102和系統(tǒng)存儲(chǔ)器104。存儲(chǔ)器橋105可以是例北橋芯片,經(jīng)由總線或其他通信路徑106 (例如超傳輸(HyperTransport)鏈路)連接到I/O (輸入/輸出)橋107。I/O橋107,其可以是例如南橋芯片,從一個(gè)或多個(gè)用戶輸入設(shè)備108 (例如鍵盤、鼠標(biāo))接收用戶輸入并且經(jīng)由路徑106和存儲(chǔ)器橋105將該輸入轉(zhuǎn)發(fā)到CPU102。并行處理子系統(tǒng)112經(jīng)由總線或其它通信路徑113 (例如PCI Express、加速圖形端口或超傳輸鏈路)耦連到存儲(chǔ)器橋105 ;在一個(gè)實(shí)施例中,并行處理子系統(tǒng)112是將像素傳遞到顯示設(shè)備110(例如常規(guī)的基于CRT或LED的監(jiān)視器)的圖形子系統(tǒng)。系統(tǒng)盤114也連接到I/O橋107。交換器116提供I/O橋107與諸如網(wǎng)絡(luò)適配器118以及各種插卡120和121的其他部件之間的連接。其他部件(未明確示出),包括USB或其他端口連接、CD驅(qū)動(dòng)器、DVD驅(qū)動(dòng)器、膠片錄制設(shè)備及類似部件,也可以連接到I/O橋107。圖1中互連所述各種部件的各種通信路徑可以使用任意適合的協(xié)議實(shí)現(xiàn),諸如PC1-Express、AGP (加速圖形端口)、超傳輸或者任意其他總線或點(diǎn)到點(diǎn)通信協(xié)議,并且如本領(lǐng)域已知的,不同設(shè)備間的連接可使用不同協(xié)議。
[0020]系統(tǒng)存儲(chǔ)器104包含應(yīng)用程序和設(shè)備驅(qū)動(dòng)程序103,為了產(chǎn)生所需的一組結(jié)果,所述應(yīng)用程序典型地以一系列圖像的形式生成對(duì)圖形API的調(diào)動(dòng)。所述應(yīng)用程序還向圖形API傳送一個(gè)或多于一個(gè)的高級(jí)著色程序,用于在設(shè)備驅(qū)動(dòng)程序103內(nèi)處理。所述高級(jí)著色程序?yàn)榈湫偷馗呒?jí)編程指令的源代碼文本,所述高級(jí)編程指令設(shè)計(jì)為在并行處理子系統(tǒng)112內(nèi)的一個(gè)或多個(gè)著色器上進(jìn)行操作。所述圖形API功能典型地在設(shè)備驅(qū)動(dòng)程序103內(nèi)實(shí)現(xiàn)。
[0021]在一個(gè)實(shí)施例中,并行處理子系統(tǒng)112包含經(jīng)優(yōu)化用于圖形和視頻處理的電路,包括例如視頻輸出電路,并且構(gòu)成圖形處理單元(GPU)。在另一個(gè)實(shí)施例中,并行處理子系統(tǒng)112包含經(jīng)優(yōu)化用于通用處理的電路,同時(shí)保留底層(underlying)的計(jì)算架構(gòu),本文將更詳細(xì)地進(jìn)行描述。在又一個(gè)實(shí)施例中,可以將并行處理子系統(tǒng)112與諸如存儲(chǔ)器橋105、CPU102以及I/O橋107等一個(gè)或多個(gè)其他系統(tǒng)元件進(jìn)行集成,以形成片上系統(tǒng)(SoC)。
[0022]應(yīng)該理解,本文所示系統(tǒng)是示例性的,并且變化和修改都是可能的。連接拓?fù)洌虻臄?shù)目和布置、CPU102的數(shù)目以及并行處理子系統(tǒng)112的數(shù)目,可根據(jù)需要修改。例如,在一些實(shí)施例中,系統(tǒng)存儲(chǔ)器104直接連接到CPU102而不是通過(guò)橋,并且其他設(shè)備經(jīng)由存儲(chǔ)器橋105和CPU102與系統(tǒng)存儲(chǔ)器104通信。在其他替代性拓?fù)渲校⑿刑幚碜酉到y(tǒng)112連接到I/O橋107或直接連接到CPU102,而不是連接到存儲(chǔ)器橋105。而在其他實(shí)施例中,I/O橋107和存儲(chǔ)器橋105可能被集成到單個(gè)芯片上。大型實(shí)施例可以包括兩個(gè)或更多個(gè)CPU102以及兩個(gè)或更多個(gè)并行處理系統(tǒng)112。本文所示的特定部件是可選的;例如,任意數(shù)目的插卡或外圍設(shè)備都可能得到支持。在一些實(shí)施例中,交換器116被去掉,網(wǎng)絡(luò)適配器118和插卡120、121直接連接到I/O橋107
[0023]圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的并行處理子系統(tǒng)112。如所示的,并行處理子系統(tǒng)112包括一個(gè)或多個(gè)并行處理單元(PI3U) 202,每個(gè)并行處理單元202都耦連到本地并行處理(PP)存儲(chǔ)器204。通常,并行處理子系統(tǒng)包括U個(gè)PPU,其中U≥I。(本文中,類似對(duì)象的多個(gè)實(shí)例需要時(shí)以標(biāo)識(shí)對(duì)象的參考數(shù)字和標(biāo)識(shí)實(shí)例的括號(hào)中的數(shù)字來(lái)表示。)PPU202和并行處理存儲(chǔ)器204可使用一個(gè)或多個(gè)集成電路設(shè)備來(lái)實(shí)現(xiàn),諸如可編程處理器、專用集成電路(ASIC)或存儲(chǔ)器設(shè)備,或者以任意其他技術(shù)可行的方式來(lái)實(shí)現(xiàn)。
[0024]再參考圖1,在一些實(shí)施例中,并行處理子系統(tǒng)112中的一些或所有PPU202是具有渲染管線的圖形處理器,其可以配置為實(shí)施與下述相關(guān)的各種操作:經(jīng)由存儲(chǔ)器橋105和總線113從CPU102和/或系統(tǒng)存儲(chǔ)器104所供應(yīng)的圖形數(shù)據(jù)生成像素?cái)?shù)據(jù),與本地并行處理存儲(chǔ)器204 (可被用作圖形存儲(chǔ)器,包括例如常規(guī)幀緩沖區(qū)(buffer))交互以存儲(chǔ)和更新像素?cái)?shù)據(jù),傳遞像素?cái)?shù)據(jù)到顯示設(shè)備110等等。在一些實(shí)施例中,并行處理子系統(tǒng)112可包括一個(gè)或多個(gè)作為圖形處理器而操作的PPU202以及一個(gè)或多個(gè)用于通用計(jì)算的其他PPU202。這些PTO可以是同樣的或不同的,并且每個(gè)PTO可具有專用并行處理存儲(chǔ)器設(shè)備或不具有專用并行處理存儲(chǔ)器設(shè)備。一個(gè)或多個(gè)PPU202可輸出數(shù)據(jù)到顯示設(shè)備110,或者每個(gè)PPU202可輸出數(shù)據(jù)到一個(gè)或多個(gè)顯示設(shè)備110。
[0025]在操作中,CPU102是計(jì)算機(jī)系統(tǒng)100的主處理器,控制和協(xié)調(diào)其他系統(tǒng)部件的操作。具體地,CPU102發(fā)出控制PPU202的操作的命令。在一些實(shí)施例中,CPU102寫入用于每個(gè)PPU202的命令流到棧緩沖區(qū)(push buffer)(在圖1或圖2中未明確示出),該棧緩沖區(qū)可位于系統(tǒng)存儲(chǔ)器104、并行處理存儲(chǔ)器204、或CPU102和PPU202都可訪問(wèn)的其他存儲(chǔ)位置中。PPU202從所述棧緩沖區(qū)讀取命令流,然后相對(duì)于CPU102的操作異步地執(zhí)行命令。
[0026]現(xiàn)在返回參考圖2,每個(gè)PPU202包括經(jīng)由連接到存儲(chǔ)器橋105 (或者,在一個(gè)替代性實(shí)施例中,直接連接到CPU102)的通信路徑113與計(jì)算機(jī)系統(tǒng)100的其余部分通信的I/O (輸入/輸出)單元205。PPU202到計(jì)算機(jī)系統(tǒng)100的其余部分的連接也可以變化。在一些實(shí)施例中,并行處理子系統(tǒng)112可實(shí)現(xiàn)為可插入到計(jì)算機(jī)系統(tǒng)100的擴(kuò)展槽中的插卡。在其他實(shí)施例中,PTO202可以和諸如存儲(chǔ)器橋105或I/O橋107的總線橋集成在單個(gè)芯片上。而在其他實(shí)施例中,PPU202的一些或所有元件可以和CPU102集成在單個(gè)芯片上。
[0027]在一個(gè)實(shí)施例中,通信路徑113是PCI Express鏈路,如本領(lǐng)域所知的,其中專用通道被分配到每個(gè)PPU202。也可以使用其他通信路徑。I/O單元205生成用于在通信路徑113上傳送的包(或其他信號(hào)),并且還從通信路徑113接收所有傳入的包(或其他信號(hào)),將傳入的包引導(dǎo)到PPU202的適當(dāng)部件。例如,可將與處理任務(wù)相關(guān)的命令引導(dǎo)到主機(jī)接口206,而將與存儲(chǔ)器操作相關(guān)的命令(例如,對(duì)并行處理存儲(chǔ)器204的讀取或?qū)懭?引導(dǎo)到存儲(chǔ)器交叉開關(guān)單元210。主機(jī)接口 206讀取每個(gè)入棧緩沖區(qū),并且將所述棧緩沖區(qū)所指定的工作輸出到前端212。
[0028]有利地,每個(gè)PPU202都實(shí)現(xiàn)高度并行處理架構(gòu)。如詳細(xì)示出的,PPU202 (O)包括處理集群陣列230,該陣列230包括C個(gè)通用處理集群(GPC)208,其中C≥I。每個(gè)GPC208能夠并發(fā)執(zhí)行大量的(例如,幾百或幾千)線程,其中每個(gè)線程是程序的實(shí)例(instance)。在各種應(yīng)用中,可分配不同的GPC208用于處理不同類型的程序或用于實(shí)施不同類型的計(jì)算。例如,在圖形應(yīng)用中,可分配第一 GPC208集以處理曲面細(xì)分(tessellation)操作和為補(bǔ)丁產(chǎn)生原始拓補(bǔ)(primitive topologies),并可分配第二 GPC208集以實(shí)施曲面細(xì)分著色為所述原始拓補(bǔ)評(píng)價(jià)補(bǔ)丁參數(shù)和確定頂點(diǎn)位置和每個(gè)頂點(diǎn)的其它屬性。GPC208的分配可以因每種類型的程序或計(jì)算所產(chǎn)生的工作量而變化。
[0029]GPC208經(jīng)由工作分布單元207接收所要執(zhí)行的處理任務(wù),工作分布單元207從前端單元212接收限定處理任務(wù)的命令。處理任務(wù)包括所要處理的包括所要處理的數(shù)據(jù)的索弓丨,例如表面(補(bǔ)丁)數(shù)據(jù)、原始數(shù)據(jù)、頂點(diǎn)數(shù)據(jù)和/或像素?cái)?shù)據(jù),以及定義數(shù)據(jù)將被如何處理(例如,什么程序?qū)⒈粓?zhí)行)的狀態(tài)參數(shù)和命令。工作分布單元207可配置為獲取對(duì)應(yīng)于所述任務(wù)的索引,或工作分布單元207可從前端212接收索引。前端212確保在棧緩沖區(qū)所指定的處理發(fā)起前,將GPC208配置為有效狀態(tài)。
[0030]當(dāng)PPU202用于圖形處理時(shí),例如將用于每個(gè)補(bǔ)丁的處理工作量劃分為接近相等尺寸的任務(wù),以使得所述曲面細(xì)分處理分布到多個(gè)GPC208。工作分布單元207可以配置為以能夠向用于處理的多個(gè)GPC208提供任務(wù)的頻率產(chǎn)生任務(wù)。相比之下,在常規(guī)的系統(tǒng)中,處理是典型地通過(guò)單個(gè)的處理引擎實(shí)施的,而其它處理引擎則是閑置地,直到所述單個(gè)處理引擎完成它的任務(wù)才開始它們的處理任務(wù)。在本發(fā)明的一些實(shí)施例中,GPC208的各個(gè)部分配置為實(shí)施不同類型的處理。例如,可以將第一部分配置為實(shí)施定點(diǎn)著色和拓?fù)渖a(chǎn),第二部分可配置為實(shí)施曲面細(xì)分和幾何著色,而第三部分可配置為實(shí)施屏幕空間中的像素著色以產(chǎn)生渲染圖像。由GPC208產(chǎn)生的中間數(shù)據(jù)可存儲(chǔ)在緩沖區(qū)以使所述中間數(shù)據(jù)能夠在GPC208之間傳送,用于進(jìn)一步處理。
[0031]存儲(chǔ)器接口 214包括D個(gè)分區(qū)單元215,每個(gè)分區(qū)單元215直接耦連到并行處理存儲(chǔ)器204的一部分,其中D > I。如所示的,分區(qū)單元215的數(shù)目一般等于動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(DRAM) 220的數(shù)目。在其他實(shí)施例中,分區(qū)單元215的數(shù)目也可以不等于存儲(chǔ)器設(shè)備的數(shù)目。本領(lǐng)域的普通技術(shù)人員應(yīng)該理解DRAM220可以用其他合適的存儲(chǔ)設(shè)備來(lái)替代并且可以是一般常規(guī)的設(shè)計(jì)。因此省略了詳細(xì)描述。諸如幀緩沖區(qū)或紋理映射圖的渲染目標(biāo)可以跨DRAM220加以存儲(chǔ),這允許分區(qū)單元215并行寫入每個(gè)渲染目標(biāo)的各部分以有效地使用并行處理存儲(chǔ)器204的可用帶寬。
[0032]任意一個(gè)GPC208都可以處理要被寫到并行處理存儲(chǔ)器204內(nèi)的任意DRAM220的數(shù)據(jù)。交叉開關(guān)單元210配置為路由每個(gè)GPC208的輸出到任意分區(qū)單元215的輸入或到另一個(gè)GPC208用于進(jìn)一步處理。GPC208通過(guò)交叉開關(guān)單元210與存儲(chǔ)器接口 214通信,以對(duì)各種外部存儲(chǔ)器設(shè)備進(jìn)行讀取或?qū)懭搿T谝粋€(gè)實(shí)施例中,交叉開關(guān)單元210具有到存儲(chǔ)器接口 214的連接以和I/O單元205通信,以及到本地并行處理存儲(chǔ)器204的連接,從而使得在不同GPC208內(nèi)的處理內(nèi)核能夠與系統(tǒng)存儲(chǔ)器104或?qū)τ赑PU202而言非本地的其他存儲(chǔ)器通信。在圖2所示的實(shí)施例中,交叉開關(guān)單元210直接與I/O單元205連接。交叉開關(guān)單元210可使用虛擬信道來(lái)分開GPC208與分區(qū)單元215之間的業(yè)務(wù)流。
[0033]另外,GPC208可被編程以執(zhí)行與種類繁多的應(yīng)用相關(guān)的處理任務(wù),包括但不限于,線性和非線性數(shù)據(jù)變換、視頻和/或音頻數(shù)據(jù)過(guò)濾、建模操作(例如,應(yīng)用物理定律以確定對(duì)象的位置、速率和其他屬性)、圖像渲染操作(例如,曲面細(xì)分著色器、頂點(diǎn)著色器、幾何著色器、和/或像素著色器程序)等等。PPU202可將數(shù)據(jù)從系統(tǒng)存儲(chǔ)器104和/或本地并行處理存儲(chǔ)器204轉(zhuǎn)移到內(nèi)部(片上)存儲(chǔ)器中,處理該數(shù)據(jù),并且將結(jié)果數(shù)據(jù)寫回到系統(tǒng)存儲(chǔ)器104和/或本地并行處理存儲(chǔ)器204,其中這樣的數(shù)據(jù)可以由其他系統(tǒng)部件訪問(wèn),所述其他系統(tǒng)部件包括CPU102或另一個(gè)并行處理子系統(tǒng)112。
[0034]PPU202可配備有任意容量(amount)的本地并行處理存儲(chǔ)器204,包括沒(méi)有本地存儲(chǔ)器,并且可以以任意組合方式使用本地存儲(chǔ)器和系統(tǒng)存儲(chǔ)器。例如,在統(tǒng)一存儲(chǔ)器架構(gòu)(UMA)實(shí)施例中,PPU202可以是圖形處理器。在這樣的實(shí)施例中,將不提供或幾乎不提供專用的圖形(并行處理)存儲(chǔ)器,并且PPU202會(huì)以排他或幾乎排他的方式使用系統(tǒng)存儲(chǔ)器。在UMA實(shí)施例中,PPU202可集成到橋式芯片中或處理器芯片中,或作為具有高速鏈路(例如,PCI Express)的分立芯片提供,所述高速鏈路經(jīng)由橋式芯片或其他通信手段將PPU202連接到系統(tǒng)存儲(chǔ)器。
[0035]如上所示,在并行處理子系統(tǒng)112中可以包括任意數(shù)目的PPU202。例如,可在單個(gè)插卡上提供多個(gè)PPU202、或可將多個(gè)插卡連接到通信路徑113、或可將一個(gè)或多個(gè)PPU202集成到橋式芯片中。在多PPU系統(tǒng)中的PPU202可以彼此同樣或不同。例如,不同的PPU202可能具有不同數(shù)目的處理內(nèi)核、不同容量的本地并行處理存儲(chǔ)器等等。在存在多個(gè)PPU202的情況下,可并行操作那些PPU從而以高于單個(gè)PPU202所可能達(dá)到的吞吐量來(lái)處理數(shù)據(jù)。包含一個(gè)或多個(gè)PPU202的系統(tǒng)可以以各種配置和形式因素來(lái)實(shí)現(xiàn),包括臺(tái)式電腦、筆記本電腦或手持式個(gè)人計(jì)算機(jī)、服務(wù)器、工作站、游戲控制臺(tái)、嵌入式系統(tǒng)等等。
[0036]圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例的、在存儲(chǔ)器控制器305和多端口動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(DRAM)之間的存儲(chǔ)器接口 300的概念性框圖。存儲(chǔ)器控制器305典型地包含于設(shè)備302內(nèi),設(shè)備302包裝有用于每個(gè)數(shù)據(jù)或控制輸入和/或輸出的引腳或焊接凸點(diǎn)(solderbump),例如處理器或存儲(chǔ)器橋設(shè)備。多端口 DRAM310不同于諸如DDR DRAM等常規(guī)的DRAM,因?yàn)樵诙喽丝?DRAM310內(nèi)的所述存儲(chǔ)器存儲(chǔ)空間被分離為獨(dú)立的兩等份,端口 315和端口320。盡管多端口 DRAM310在圖3中顯示為只具有兩個(gè)數(shù)據(jù)端口,但在其它的實(shí)施例中,所述存儲(chǔ)器存儲(chǔ)空間可被劃分為多于兩個(gè)部分,其中每個(gè)部分與專用的數(shù)據(jù)端口相關(guān)聯(lián)。存儲(chǔ)器緩沖設(shè)備也可以使用類似的多端口架構(gòu),所述存儲(chǔ)器緩沖設(shè)備將命令和地址連接(CMD/ADDR)從存儲(chǔ)器控制器平移(translate)到多端口存儲(chǔ)器。存儲(chǔ)器接口 100包括在所述存儲(chǔ)器控制器和多端口 DRAMl 10之間的雙向數(shù)據(jù)接口,其中每個(gè)數(shù)據(jù)接口與各自的訪問(wèn)所述存儲(chǔ)器存儲(chǔ)空間的相應(yīng)部分的數(shù)據(jù)端口相關(guān)聯(lián)。存儲(chǔ)器接口 300也包括單個(gè)通信接口,所述通信接口配置為支持用于從存儲(chǔ)器控制器305傳送命令和地址信息到多端口 DRAM310的時(shí)分復(fù)用(time-multiplexed)通信協(xié)議。在多端口 DRAM310內(nèi),所述時(shí)分復(fù)用命令和地址信息被解復(fù)用為傳送到端口 0315的命令和地址,和傳送到端口 1320的命令和地址。
[0037]典型的用于DRAM設(shè)備的訪問(wèn)協(xié)議需要在兩個(gè)行激活命令之間的4個(gè)時(shí)鐘周期和用于⑶DR5和DDR2接口的兩個(gè)列讀/寫命令之間的至少I個(gè)閑置時(shí)鐘周期(或用于DDR3接口的3閑置時(shí)鐘周期)。例如,其中當(dāng)在DDR2中時(shí),所述最小的突發(fā)長(zhǎng)度為兩時(shí)鐘,將數(shù)據(jù)傳送兩個(gè)連續(xù)時(shí)鐘周期,用于每次突發(fā)的讀或?qū)憽?duì)于具有兩個(gè)時(shí)鐘周期的讀或?qū)懷舆t的DRAM,突發(fā)的讀或?qū)懨钤诘谝粫r(shí)鐘周期期間傳送,從而導(dǎo)致數(shù)據(jù)總線上的數(shù)據(jù)分別在第三和第四時(shí)鐘周期期間傳輸。由于所述最小突發(fā)長(zhǎng)度為2,所以在第二時(shí)鐘周期期間沒(méi)有傳送數(shù)據(jù)訪問(wèn)命令??梢詡魉图せ蠲钜约せ顚?duì)應(yīng)于雙端口 DRAM設(shè)備的任意一個(gè)端口的存儲(chǔ)器空間的不同的行。對(duì)于多庫(kù)(mult1-bank)存儲(chǔ)器設(shè)備,在閑置時(shí)鐘周期期間,存儲(chǔ)器控制器不需要發(fā)出NOP(不操作)命令,但可能反而使用槽來(lái)發(fā)送激活或預(yù)加電(Precharge)命令到所述存儲(chǔ)器設(shè)備中的其它行或庫(kù)。由于所述突發(fā)訪問(wèn)所強(qiáng)加的限制,數(shù)據(jù)訪問(wèn)、讀或?qū)懨詈偷刂沸畔⒅荒芤罁?jù)最小突發(fā)長(zhǎng)度在半個(gè)或四分之一有效時(shí)鐘周期期間傳送。
[0038]存儲(chǔ)器控制器305接收存儲(chǔ)器訪問(wèn)請(qǐng)求以從多端口 DRAM310讀取數(shù)據(jù)或?qū)?shù)據(jù)寫入多端口 DRAM310。存儲(chǔ)器控制器305配置為基于每個(gè)訪問(wèn)請(qǐng)求所提供的地址對(duì)訪問(wèn)請(qǐng)求進(jìn)行分類。所述地址可以是虛擬地址,儲(chǔ)器控制器305將所述虛擬地址翻譯成多端口DRAM310的物理地址。多端口 DRAM310的每個(gè)端口與不同的地址集相關(guān)聯(lián)。
[0039]存儲(chǔ)器控制器305用用于合適的端口的命令和地址信息填滿了整個(gè)時(shí)鐘周期(或時(shí)隙),以生成被傳送的命令和地址信息流。除了讀和寫的訪問(wèn)請(qǐng)求外,所述命令和地址信息還編碼諸如預(yù)加電、激活和NOP命令等操作。
[0040]多端口 DRAM設(shè)備310從存儲(chǔ)器控制器105接收命令和地址流。多端口 DRAM設(shè)備310包括劃分成兩個(gè)或更多部分的存儲(chǔ)器存儲(chǔ)空間,例如,端口 O存儲(chǔ)器存儲(chǔ)空間和端口 I存儲(chǔ)器存儲(chǔ)空間。在一個(gè)實(shí)施例中,所述第一數(shù)據(jù)端口和所述第二數(shù)據(jù)端口每個(gè)都是32位寬,且所述最小突發(fā)長(zhǎng)度為4、8或16時(shí)鐘周期,從而使所述最小突發(fā)尺寸分別為16字節(jié)、32字節(jié)或64字節(jié)。
[0041 ] 降低DRAM訪問(wèn)的訪問(wèn)粒度的地址位重映射方案
[0042]圖4A是根據(jù)本發(fā)明的一個(gè)實(shí)施例的、包含存儲(chǔ)器控制器406、和兩個(gè)DRAM設(shè)備(DRAM0402.DRAM1404)的存儲(chǔ)器子系統(tǒng)400的概念性框圖。存儲(chǔ)器控制器406典型地包含于包裝有用于每個(gè)數(shù)據(jù)或控制輸入和/或輸出的引腳的設(shè)備內(nèi),例如處理器或存儲(chǔ)器橋設(shè)備,如圖2的PPU202或圖1和2的存儲(chǔ)器橋105等。存儲(chǔ)器控制器406可以以與圖3的存儲(chǔ)器控制器305大致相同的方式配置為從所述DRAM設(shè)備讀取數(shù)據(jù)或?qū)懭霐?shù)據(jù)到所述DRAM設(shè)備DRAM0402和DRAM1404。DRAM0402和DRAM1404可以以與圖3的多端口 DRAM設(shè)備310大致相同的方式配置為從存儲(chǔ)器控制器406接收命令和地址,其中DRAM0402和DRAM1404各自都是32字節(jié)寬,具有32字節(jié)的最小突發(fā)尺寸。
[0043]DRAM0402和DRAM1404各自都具有多個(gè)配置為存儲(chǔ)多個(gè)存儲(chǔ)器頁(yè)面的數(shù)據(jù)值的存儲(chǔ)器庫(kù)。在圖4A所體現(xiàn)的實(shí)現(xiàn)中,給定的存儲(chǔ)器頁(yè)面可以跨DRAM0402和DRAM1404加以存儲(chǔ),從而所述存儲(chǔ)器頁(yè)面跨越在DRAM0402和DRAM1404內(nèi)的相應(yīng)的行。在一些實(shí)施例中,在DRAM0402或DRAM1404內(nèi)的存儲(chǔ)器庫(kù)可以存儲(chǔ)4K、8K或16Κ的數(shù)據(jù)行。在一些實(shí)施例中,單個(gè)的行可以包括2千字節(jié)、4千字節(jié)或8千字節(jié)的用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器。容易理解的是,訪問(wèn)存儲(chǔ)器頁(yè)面以讀或?qū)憯?shù)據(jù)所需的引腳的數(shù)目,取決于存儲(chǔ)器庫(kù)中行的數(shù)目和長(zhǎng)度,突發(fā)長(zhǎng)度和所需的靈活性。
[0044]如所示的,存儲(chǔ)器控制器406和DRAM0402和DRAM1404每個(gè)都具有多個(gè)引腳。盡管沒(méi)有顯示,但存儲(chǔ)器406具有引腳Α0-Α13和一個(gè)未使用的引腳,且DRAM0402和DRAM1404每個(gè)都具有引腳Α0-Α13。在存儲(chǔ)器控制器406上的每個(gè)引腳Α0-Α13連接到DRAM0402和DRAM1404上的引腳Α0-Α13中的不同的一個(gè)。
[0045]如所配置的,存儲(chǔ)器控制器406可以發(fā)送行地址命令到引腳Α13-Α0 (B卩,14位)以同時(shí)激活在DRAM0402和DRAM1404內(nèi)的相同的邏輯存儲(chǔ)器頁(yè)面。對(duì)于列地址命令,存儲(chǔ)器控制器406的高級(jí)或最重要的引腳和地址DRAM0402的引腳可以混連(swizzled)或改變用途(!^purposed,重設(shè))。用在本文的“混連”,是指在DRAM0402和存儲(chǔ)器控制器406的這種情況下,在印刷電路板(PCB)上的線的布設(shè)(routing),其中,存儲(chǔ)器控制器側(cè)的用于地址命令的位排序不同于DRAM側(cè)。例如,列命令一般跨存儲(chǔ)器控制器和DRAM設(shè)備的低級(jí)或最不重要的引腳傳送,而行命令可以使用存儲(chǔ)器控制器406的所有引腳。然而,為了傳送列地址命令到DRAM0402和DRAM1404以使相同的邏輯存儲(chǔ)器頁(yè)面可以跨兩個(gè)設(shè)備被訪問(wèn),存儲(chǔ)器控制器406的高級(jí)或最重要的引腳配置為傳送地址命令到DRAM設(shè)備中的一個(gè)的低級(jí)或最不重要的引腳,這里是DRAM0402。因此,當(dāng)?shù)刂泛兔顝拇鎯?chǔ)器設(shè)備402傳輸(travel)到存儲(chǔ)器控制器406或從存儲(chǔ)器控制器406傳輸?shù)酱鎯?chǔ)器設(shè)備402時(shí),所述命令和地址由連接存儲(chǔ)器控制器406的高級(jí)引腳和DRAM0402的低級(jí)引腳的線進(jìn)行混連。
[0046]在一些實(shí)施例中,可以混連任意數(shù)目的引腳,這意味著存儲(chǔ)器控制器406的高級(jí)或最重要的引腳的數(shù)目和DRAM設(shè)備的低級(jí)或最不重要的引腳的數(shù)目,即重新配置為能夠使地址命令跨這些引腳加以傳送的引腳的數(shù)目,可以基于頁(yè)面的長(zhǎng)度、可利用引腳的數(shù)目和所需的地址靈活性而變化,這里DRAM設(shè)備是DRAM0402。此外,在一些實(shí)施例中,可以混連存儲(chǔ)器控制器406上的非高級(jí)或非最重要的引腳和DRAM設(shè)備的非低級(jí)或非最不重要的引腳。
[0047]現(xiàn)在具體地看圖4中的實(shí)施例,在列訪問(wèn)的過(guò)程中,在存儲(chǔ)器控制器406上的七個(gè)低級(jí)或最不重要的引腳A3-A9用于經(jīng)由DRAM1404的低級(jí)或最不重要的引腳傳送第一列命令到DRAM1404。此外,在存儲(chǔ)器控制器406上的七個(gè)高級(jí)或最重要的引腳A13、A12、All以及A10、A14 (未示出)、A15 (顯示為NC)和一個(gè)附加的引腳A16 (未示出)改變用途為經(jīng)由DRAM0402上的低級(jí)或最不重要的引腳傳送第二列地址命令到DRAM0402。這樣設(shè)計(jì)存儲(chǔ)器控制器406的引腳,存儲(chǔ)器控制器406的高級(jí)引腳A10-A16和DRAM0402的低級(jí)引腳A3-A9被混連,例如,Al3連接到A3、Al2連接到A4,和All連接到A5等。使用所述混連的配置,存儲(chǔ)器控制器406可以經(jīng)由存儲(chǔ)器控制器406的低級(jí)或最不重要的引腳發(fā)送列命令到DRAM1404,且用存儲(chǔ)器控制器406的改變用途的高級(jí)或最重要的引腳,存儲(chǔ)器控制器406可以發(fā)送另一個(gè)列命令到DRAM0402。因此,存儲(chǔ)器控制器406能夠訪問(wèn)在相同的邏輯存儲(chǔ)器頁(yè)面內(nèi)的兩個(gè)非連續(xù)的位置——402中的第一位置和DRAM1404中的第二位置。
[0048]存儲(chǔ)器頁(yè)面內(nèi)的頁(yè)面訪問(wèn)位置之間的距離取決于所用的引腳的數(shù)目,例如,在圖4A的實(shí)施例中,九個(gè)引腳用于列訪問(wèn)(B卩,引腳A3-A11和NC),所述頁(yè)面地址可以相距512字節(jié)。對(duì)于具有11個(gè)用于列地址命令的引腳(即附加的行引腳A14和A15)的DRAM或?qū)τ诰哂懈郊游词褂玫?、用于等?jí)選擇的引腳的多模式控制器,所述地址可以延長(zhǎng)到相距2048字節(jié)。
[0049]圖4B是根據(jù)本發(fā)明的一個(gè)實(shí)施例的、具有在DRAM存儲(chǔ)器頁(yè)面內(nèi)的非連續(xù)位置的存儲(chǔ)器訪問(wèn)的存儲(chǔ)器子系統(tǒng)400的概念性框圖。如所示的,所述存儲(chǔ)器子系統(tǒng)包括DRAM0402、DRAM1404和存儲(chǔ)器控制器406。DRAM0402和DRAM1404包含邏輯存儲(chǔ)器頁(yè)面410。DRAM0402包含頁(yè)面位置412,而DRAM1404包含頁(yè)面位置414,如本文前面所述,存儲(chǔ)器控制器406配置為激活/打開跨越DRAM0402和DRAM1404至少一部分的存儲(chǔ)器頁(yè)面,諸如DRAM存儲(chǔ)器頁(yè)面410。為了訪問(wèn)在DRAM0402上的位置412和在DRAM1404上的位置414的頁(yè)面410,使用改變用途的引腳和以上結(jié)合圖4A所描述的混連技術(shù),存儲(chǔ)器控制器406可以同時(shí)傳送列地址到DRAM0402和DRAM1404。存儲(chǔ)器控制器406可以發(fā)送數(shù)據(jù)命令以在頁(yè)面410內(nèi),分別從位置412和414讀出或?qū)懭霐?shù)據(jù)到存儲(chǔ)器設(shè)備DRAM0402和DRAM1404。如以上所顯示和描述,位置412和414為非連續(xù)的存儲(chǔ)器頁(yè)面位置。
[0050]圖5闡述了根據(jù)本發(fā)明的一個(gè)實(shí)施例的、用于訪問(wèn)在DRAM存儲(chǔ)器頁(yè)面內(nèi)的非連續(xù)位置的方法步驟的流程圖。盡管結(jié)合圖1-4的系統(tǒng)描述了所述方法步驟,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解配置為以任意順序執(zhí)行所述方法步驟的任意系統(tǒng),均在本發(fā)明的范圍內(nèi)。[0051]如所示的,方法500開始于步驟502,其中,通過(guò)經(jīng)由在存儲(chǔ)器控制器406上的多個(gè)引腳和在DRAM1404和DRAM0402上的相應(yīng)引腳傳送行地址命令到DRAMl設(shè)備404和DRAM0402,存儲(chǔ)器控制器406打開DRAM存儲(chǔ)器頁(yè)面410。在步驟504,存儲(chǔ)器控制器406經(jīng)由在存儲(chǔ)器控制器406上的低級(jí)引腳和在DRAM1404上的相應(yīng)的低級(jí)引腳集傳送第一列地址命令到DRAM1404。
[0052]在步驟506,存儲(chǔ)器控制器406將存儲(chǔ)器控制器406上的高級(jí)或最重要的引腳與DRAM0402上的低級(jí)引腳混連在一起,以改變?cè)诖鎯?chǔ)器控制器406上的高級(jí)或最重要的引腳的用途,用于傳送地址命令到DRAM0402。
[0053]在步驟508,經(jīng)由在存儲(chǔ)器控制器406上的所述改變用途的高級(jí)或最重要的引腳和在DRAM0402上的低級(jí)或最不重要的引腳集,存儲(chǔ)器控制器406傳送所混連的第二列命令到DRAM0402。在步驟510中,經(jīng)由在存儲(chǔ)器控制器406上的多個(gè)引腳和在DRAM1404和DRAM0402上的相應(yīng)的多個(gè)引腳,存儲(chǔ)器控制器406在所傳送的行和列地址訪問(wèn)數(shù)據(jù)。
[0054]總之,如這里所闡明的,實(shí)現(xiàn)了用于訪問(wèn)在DRAM頁(yè)面內(nèi)的非連續(xù)地址位置。在一個(gè)實(shí)施例中,所述存儲(chǔ)器子系統(tǒng)具有存儲(chǔ)器控制器和至少兩個(gè)DRAM設(shè)備。所述存儲(chǔ)器控制器包含多個(gè)引腳。所述至少兩個(gè)DRAM設(shè)備每個(gè)也包含多個(gè)引腳。將在所述存儲(chǔ)器控制器上的高級(jí)引腳集與第二 DRAM設(shè)備上的低級(jí)引腳集混連,且在所述存儲(chǔ)器控制器上的低級(jí)引腳集直接耦合到所述第一 DRAM設(shè)備上的相應(yīng)低級(jí)引腳集。經(jīng)由所述高級(jí)引腳和低級(jí)引腳,所述存儲(chǔ)器控制器傳送行地址命令到所述第一 DRAM設(shè)備和所述第二 DRAM設(shè)備。經(jīng)由在所述存儲(chǔ)器控制器上的低級(jí)引腳集和所述第一 DRAM設(shè)備上的低級(jí)引腳集,所述存儲(chǔ)器控制器傳送列地址命令到所述第一 DRAM設(shè)備。經(jīng)由在所述存儲(chǔ)器控制器上的所混連的高級(jí)引腳集和在所述第二 DRAM設(shè)備上的低級(jí)控制引腳集,所述存儲(chǔ)器控制器傳送第二列地址命令到所述第二 DRAM設(shè)備。所述存儲(chǔ)器控制器經(jīng)由多個(gè)引腳在存儲(chǔ)器地址上訪問(wèn)數(shù)據(jù)。
[0055]所公開的技術(shù)的一個(gè)優(yōu)點(diǎn)是,與常規(guī)的方法相比,用很少或不用附加引腳、用最小的附加空間需求和最小的附加功率消耗,可以訪問(wèn)非連續(xù)頁(yè)面位置,用于減少DRAM訪問(wèn)粒度。訪問(wèn)非連續(xù)頁(yè)面位置允許具有增加的粒度的數(shù)據(jù)訪問(wèn),因此允許更有效地利用可用的引腳。
[0056]以上已參照特定實(shí)施例對(duì)本發(fā)明進(jìn)行了描述。然而,本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解的是,可對(duì)此做出各種修改和變化而不脫離如隨附權(quán)利要求書中所闡述的本發(fā)明的較寬精神和范圍。因此,前面的描述以及附圖應(yīng)被視為是例示性而非限制性的意義。
【權(quán)利要求】
1.一種用于訪問(wèn)在動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(DRAM)的存儲(chǔ)器頁(yè)面內(nèi)的非連續(xù)位置的方法,所述方法包括: 經(jīng)由在存儲(chǔ)器控制器上的多個(gè)引腳和在第一 DRAM設(shè)備和第二 DRAM設(shè)備上相應(yīng)的多個(gè)引腳,傳送行地址命令到所述第一 DRAM設(shè)備和所述第二 DRAM設(shè)備; 經(jīng)由在所述存儲(chǔ)器控制器上的多個(gè)引腳,傳送第一列地址命令到第一 DRAM設(shè)備和傳送第二列地址命令到所述第二 DRAM設(shè)備;和 經(jīng)由在所述存儲(chǔ)器控制器上的多個(gè)引腳和在所述第一 DRAM設(shè)備上的相應(yīng)的多個(gè)引腳和所述第二 DRAM設(shè)備上的相應(yīng)的多個(gè)引腳,傳送數(shù)據(jù)命令到所述第一 DRAM設(shè)備和所述第二 DRAM設(shè)備。
2.一種存儲(chǔ)器子系統(tǒng),所述存儲(chǔ)器子系統(tǒng)用于訪問(wèn)在存儲(chǔ)器頁(yè)面內(nèi)的非連續(xù)位置,所述存儲(chǔ)器子系統(tǒng)包括: 具有多個(gè)引腳的第一 DRAM設(shè)備; 具有多個(gè)引腳的第二 DRAM設(shè)備;和 具有多個(gè)引腳的存儲(chǔ)器控制器,所述存儲(chǔ)器控制器配置為: 經(jīng)由在所述存儲(chǔ)器控制器上的多個(gè)引腳和在所述第一 DRAM設(shè)備和所述第二 DRAM設(shè)備上相應(yīng)的多個(gè)引腳,傳送行地址命令到所述第一 DRAM設(shè)備和所述第二 DRAM設(shè)備; 經(jīng)由在所述存儲(chǔ)器控制器上的多個(gè)引腳,傳送第一列地址命令到所述第一 DRAM設(shè)備和傳送第二列地址命令到所述第二 DRAM設(shè)備;和 經(jīng)由在所述存儲(chǔ)器控制器上的多個(gè)引腳和在所述第一 DRAM設(shè)備和所述第二 DRAM設(shè)備上的相應(yīng)的多 個(gè)引腳,傳送數(shù)據(jù)命令到所述第一 DRAM設(shè)備和所述第二 DRAM設(shè)備。
3.如權(quán)利要求2所述的存儲(chǔ)器子系統(tǒng),其中,傳送所述第一列地址命令和所述第二列地址命令包括: 經(jīng)由在所述存儲(chǔ)器控制器上的第一引腳子集和在所述第一 DRAM設(shè)備上的第一引腳子集傳送所述第一列命令到所述第一 DRAM設(shè)備;和 經(jīng)由在所述存儲(chǔ)器控制器上的第二引腳子集和在所述第二 DRAM設(shè)備上的第一引腳子集傳送所述第二列命令到所述第二 DRAM設(shè)備。
4.如權(quán)利要求3所述的存儲(chǔ)器子系統(tǒng),其中,所述存儲(chǔ)器控制器進(jìn)一步配置為將在所述存儲(chǔ)器控制器上的第二引腳子集與在所述第二 DRAM設(shè)備上的第二引腳子集混連。
5.如權(quán)利要求4所述的存儲(chǔ)器子系統(tǒng),其中,在所述存儲(chǔ)器控制器上的第二引腳子集包括在所述存儲(chǔ)器控制器上的高級(jí)引腳集,在所述第二 DRAM設(shè)備上的第一引腳子集包括在所述第二 DRAM設(shè)備上的低級(jí)引腳集,且在所述存儲(chǔ)器控制器上的所述高級(jí)引腳被改變用途用于傳送一個(gè)或多于一個(gè)的列地址命令到在所述第二 DRAM設(shè)備上的低級(jí)引腳。
6.如權(quán)利要求5所述的存儲(chǔ)器子系統(tǒng),其中,在所述存儲(chǔ)器控制器上的第一引腳子集包括在所述存儲(chǔ)器控制器上的低級(jí)引腳集,且在所述第一 DRAM設(shè)備上的第一引腳子集包括在所述DRAM設(shè)備上的低級(jí)引腳集。
7.如權(quán)利要求2所述的存儲(chǔ)器子系統(tǒng),其中,所述第一列地址和所述第二列地址包括位于存儲(chǔ)器頁(yè)面內(nèi)的非連續(xù)地址。
8.如權(quán)利要求7所述的存儲(chǔ)器子系統(tǒng),其中,至少部分所述存儲(chǔ)器頁(yè)面存儲(chǔ)在所述第一 DRAM設(shè)備的行內(nèi),且至少部分所述存儲(chǔ)器頁(yè)面存儲(chǔ)在所述第二 DRAM設(shè)備的相應(yīng)行內(nèi)。
9.如權(quán)利要求7所述的存儲(chǔ)器子系統(tǒng),其中,所述第一列地址和所述第二列地址之間的距離取決于所用引腳的數(shù)目。
10.一種計(jì)算設(shè)備,包括: 存儲(chǔ)器子系統(tǒng),所述存儲(chǔ)器子系統(tǒng)用于訪問(wèn)在存儲(chǔ)器頁(yè)面內(nèi)的非連續(xù)位置,所述存儲(chǔ)器子系統(tǒng)包括: 具有多個(gè)引腳的第一 DRAM設(shè)備; 具有多個(gè)引腳的第二 DRAM設(shè)備;和 具有多個(gè)引腳的存儲(chǔ)器控制器,所述存儲(chǔ)器控制器配置為: 經(jīng)由在存儲(chǔ)器控制器上的多個(gè)引腳和在所述第一 DRAM設(shè)備和所述第二 DRAM設(shè)備上的相應(yīng)的多個(gè)引腳,傳送行地址命令到所述第一 DRAM設(shè)備和所述第二 DRAM設(shè)備; 經(jīng)由在所述存儲(chǔ)器控制器上的多個(gè)引腳傳送第一列地址命令到所述第一 DRAM設(shè)備和第二列地址命令到所述DRAM設(shè)備;和 經(jīng)由在所述存儲(chǔ)器控制器上的多個(gè)引腳和在所述第一 DRAM設(shè)備和第二 DRAM設(shè)備上的相應(yīng)的多個(gè)引腳,傳送數(shù)據(jù)命令到所述`第一 DRAM設(shè)備和所述第二 DRAM設(shè)備。
【文檔編號(hào)】G06F13/16GK103870412SQ201310683101
【公開日】2014年6月18日 申請(qǐng)日期:2013年12月12日 優(yōu)先權(quán)日:2012年12月12日
【發(fā)明者】阿洛克·古普塔, 威什韋斯·甘地, 拉姆·古馬地 申請(qǐng)人:輝達(dá)公司