本申請(qǐng)要求于2014年10月21日提交的第14/519,826號(hào)美國(guó)專利申請(qǐng)的優(yōu)先權(quán)并且還要求于2013年10月21日提交的第61/893,662號(hào)美國(guó)臨時(shí)申請(qǐng)、于2013年10月21日提交的第61/893,675號(hào)美國(guó)臨時(shí)申請(qǐng)以及于2013年10月21日提交的第61/893,683號(hào)美國(guó)臨時(shí)申請(qǐng)以及于2013年10月24日提交的第61/895,049號(hào)美國(guó)臨時(shí)申請(qǐng)的權(quán)益。通過引用將以上提及的申請(qǐng)的全部?jī)?nèi)容并入本文。
技術(shù)領(lǐng)域
本公開內(nèi)容涉及集成電路,并且更具體地涉及與片上系統(tǒng)相關(guān)聯(lián)的高速緩存。
背景技術(shù):
為了總體呈現(xiàn)本公開內(nèi)容的背景提供本文提供的背景技術(shù)。當(dāng)前署名的發(fā)明人的到在該背景技術(shù)部分中描述的工作的程度的工作以及可能另外在提交時(shí)未評(píng)定為現(xiàn)有技術(shù)的說明書的各方面既未明確地也未隱含地被認(rèn)可為針對(duì)本公開內(nèi)容的現(xiàn)有技術(shù)。
諸如計(jì)算機(jī)、移動(dòng)電話、平板電腦等等的設(shè)備通常包括片上系統(tǒng)(SoC)。圖1示出了包括SoC 12和一個(gè)或多個(gè)動(dòng)態(tài)隨機(jī)訪問存儲(chǔ)器(DRAM)14的設(shè)備10的示例。DRAM 14能夠被實(shí)現(xiàn)為連接到SoC 12但與SoC 12分離的一個(gè)或多個(gè)集成電路。設(shè)備10還能夠包括連接到SoC 12的端口17的一個(gè)或多個(gè)存儲(chǔ)驅(qū)動(dòng)器16。存儲(chǔ)驅(qū)動(dòng)器16能夠包括閃速存儲(chǔ)器、固態(tài)驅(qū)動(dòng)器、硬盤驅(qū)動(dòng)器和/或混合驅(qū)動(dòng)器。混合驅(qū)動(dòng)器包括具有固態(tài)存儲(chǔ)器的固態(tài)驅(qū)動(dòng)器和具有旋轉(zhuǎn)存儲(chǔ)介質(zhì)的硬盤驅(qū)動(dòng)器。
SoC 12能夠包括一個(gè)或多個(gè)圖像處理設(shè)備20、系統(tǒng)總線22和存儲(chǔ)器控制器24。圖像處理設(shè)備20中的每個(gè)能夠包括例如:具有中央處理器(或中央處理單元(CPU))28的控制模塊26;圖形處理器(或圖形處理單元(GPU))30;錄像機(jī)32;相機(jī)圖像信號(hào)處理器(ISP)34;諸如吉比特(Gb)以太網(wǎng)接口36的以太網(wǎng)接口;諸如通用串行總線(USB)接口38和串行高級(jí)技術(shù)附件(SATA)接口40的串行接口;以及外圍組件互連快速(PCIe)接口42。圖像處理設(shè)備20經(jīng)由系統(tǒng)總線22和存儲(chǔ)器控制器24訪問DRAM 14。DRAM 14被用作主存儲(chǔ)器。例如,圖像處理設(shè)備20中的一個(gè)圖像處理設(shè)備當(dāng)訪問DRAM 14中的一個(gè)DRAM中的對(duì)應(yīng)物理位置時(shí)將物理地址提供給存儲(chǔ)器控制器24。圖像處理設(shè)備20還能夠經(jīng)由系統(tǒng)總線22訪問存儲(chǔ)驅(qū)動(dòng)器16。
SoC 12和/或存儲(chǔ)器控制器24能夠經(jīng)由SoC 12的一個(gè)或多個(gè)訪問端口44連接到DRAM 14。DRAM 14存儲(chǔ)用戶數(shù)據(jù)、系統(tǒng)數(shù)據(jù)和/或程序。SoC 12能夠使用第一數(shù)據(jù)來運(yùn)行程序以生成第二數(shù)據(jù)。第一數(shù)據(jù)能夠在運(yùn)行程序之前被存儲(chǔ)在DRAM 14中。SoC 12能夠在運(yùn)行程序期間和/或之后將第二數(shù)據(jù)存儲(chǔ)在DRAM 14中。DRAM 14能夠具有高帶寬接口和每比特低成本存儲(chǔ)器存儲(chǔ)容量并且能夠處置廣泛的應(yīng)用。
SoC 12包括高速緩存存儲(chǔ)器,其能夠包括以下各項(xiàng)中的一項(xiàng)或多項(xiàng):零級(jí)(L0)高速緩存、一級(jí)(L1)高速緩存、二級(jí)(L2)高速緩存或三級(jí)(L3)高速緩存。L0-L3高速緩存被布置在SoC 12上、緊密靠近圖像處理設(shè)備20中的對(duì)應(yīng)的圖像處理設(shè)備。在示出的示例中,控制模塊26包括中央處理器28和L1-L3高速緩存50。中央處理器28包括L0高速緩存52。中央處理器28還包括存儲(chǔ)器管理單元(MMU)54,其能夠控制對(duì)高速緩存50、52的訪問。
隨著高速緩存的級(jí)增加,高速緩存的訪問延時(shí)和存儲(chǔ)容量增大。例如,L1高速緩存通常具有比L2高速緩存和L3高速緩存少的存儲(chǔ)容量。然而,L1高速緩存通常具有比L2高速緩存和L3高速緩存低的延時(shí)。
SoC 12內(nèi)的高速緩存通常被實(shí)現(xiàn)為靜態(tài)隨機(jī)訪問存儲(chǔ)器(SRAM)。由于高速緩存到圖像處理設(shè)備20的緊密靠近,高速緩存能夠以與圖像處理設(shè)備20相同的時(shí)鐘頻率來操作。因此,高速緩存展示出比DRAM 14短的延時(shí)時(shí)間段。
SoC 12中的高速緩存的數(shù)量和大小取決于應(yīng)用。例如,電話聽筒(或移動(dòng)電話)可以不包括L3高速緩存并且與個(gè)人計(jì)算機(jī)相比能夠具有尺寸更小的L1高速緩存和L2高速緩存。類似地,DRAM 14中的每個(gè)DRAM的數(shù)量和大小取決于應(yīng)用。例如,移動(dòng)電話當(dāng)前具有1-4吉字節(jié)(GB)的DRAM,個(gè)人計(jì)算機(jī)當(dāng)前具有4-16GB的DRAM,并且服務(wù)器當(dāng)前具有32GB-512GB的DRAM。一般地,成本隨DRAM的量增大而增大。
除了DRAM的成本,針對(duì)相同量的存儲(chǔ)容量減小DRAM的封裝大小變得越來越困難。此外,隨著在設(shè)備中包含的DRAM的大小和數(shù)量增大,DRAM的電容增大,與DRAM相關(guān)聯(lián)的導(dǎo)電元件的數(shù)量和/或長(zhǎng)度增大,并且與DRAM相關(guān)聯(lián)的緩沖增大。另外,隨著DRAM的電容增大,DRAM的操作頻率減小并且DRAM的延時(shí)時(shí)間段增大。
在操作期間,根據(jù)需要將程序和/或數(shù)據(jù)從DRAM 14傳送到SoC12中的高速緩存。這些傳送與在(i)各高速緩存,以及(ii)對(duì)應(yīng)的處理器和/或圖像處理設(shè)備之間的數(shù)據(jù)交換相比具有更高的延時(shí)。出于這個(gè)原因,歸因于較長(zhǎng)的延時(shí)時(shí)間段通常避免對(duì)DRAM 14的訪問。
在啟動(dòng)期間,能夠?qū)⒊绦驈拇鎯?chǔ)驅(qū)動(dòng)器16傳送到DRAM 14。例如,中央處理器28能夠在啟動(dòng)期間將程序從存儲(chǔ)驅(qū)動(dòng)器16傳送到DRAM 14。在啟動(dòng)期間,中央處理器28能夠嘗試訪問存儲(chǔ)在DRAM14中的數(shù)據(jù)。與該訪問嘗試相關(guān)聯(lián)的命中率可以最初接近或等于0%。然而,命中率在啟動(dòng)的最后接近100%。
技術(shù)實(shí)現(xiàn)要素:
提供了一種數(shù)據(jù)訪問系統(tǒng)并且其包括處理器和最終級(jí)高速緩存模塊。處理器被配置為生成用于訪問第一物理地址的請(qǐng)求。最終級(jí)高速緩存模塊包括動(dòng)態(tài)隨機(jī)訪問存儲(chǔ)器(DRAM)、最終級(jí)高速緩存控制器和DRAM控制器。最終級(jí)高速緩存控制器被配置為(i)從處理器接收請(qǐng)求,并且(ii)將第一物理地址轉(zhuǎn)換為第一虛擬地址。DRAM控制器被配置為(i)將第一虛擬地址轉(zhuǎn)換為第二物理地址,并且(ii)基于第二物理地址來訪問DRAM存儲(chǔ)器。
提供了一種用于訪問最終級(jí)高速緩存模塊的動(dòng)態(tài)隨機(jī)訪問存儲(chǔ)器的方法。該方法包括:經(jīng)由處理器生成用于請(qǐng)求訪問第一物理地址的請(qǐng)求;在最終級(jí)高速緩存控制器處從處理器接收請(qǐng)求;經(jīng)由最終級(jí)高速緩存控制器將第一物理地址轉(zhuǎn)換為第一虛擬地址;經(jīng)由動(dòng)態(tài)隨機(jī)訪問存儲(chǔ)器控制器將第一虛擬地址轉(zhuǎn)換為第二物理地址;以及基于第二物理地址來訪問動(dòng)態(tài)隨機(jī)訪問存儲(chǔ)器。
本公開內(nèi)容的適用性的另外的領(lǐng)域?qū)脑敿?xì)描述的說明書、權(quán)利要求書和附圖變得顯而易見。詳細(xì)描述的說明書和具體示例僅僅旨在為了說明的目的而不旨在限制本公開內(nèi)容的范圍。
附圖說明
圖1是根據(jù)現(xiàn)有技術(shù)的設(shè)備的功能框圖。
圖2是根據(jù)本公開內(nèi)容的實(shí)施例的數(shù)據(jù)訪問系統(tǒng)的功能框圖。
圖3是圖示了圖2的數(shù)據(jù)訪問系統(tǒng)的DRAM和存儲(chǔ)驅(qū)動(dòng)器的功能框圖。
圖4圖示了操作圖2的數(shù)據(jù)訪問系統(tǒng)的方法。
在附圖中,附圖標(biāo)記可以被重復(fù)利用以識(shí)別相似的和/或相同的元件。
具體實(shí)施方式
下面的示例中的至少一些示例包括最終級(jí)高速緩存(final level cache“FLC”)模塊和存儲(chǔ)驅(qū)動(dòng)器。FLC模塊被用作虛擬存儲(chǔ),并且存儲(chǔ)驅(qū)動(dòng)器被用作物理存儲(chǔ)。數(shù)據(jù)在從物理存儲(chǔ)讀取或?qū)懭胛锢泶鎯?chǔ)之前首先從虛擬存儲(chǔ)讀取或被寫入虛擬存儲(chǔ)。FLC模塊和存儲(chǔ)驅(qū)動(dòng)器中的存儲(chǔ)器在本文中被稱為內(nèi)容可尋址存儲(chǔ)器(CAM)。FLC模塊的控制模塊使用下面描述的CAM技術(shù)來控制對(duì)FLC模塊和存儲(chǔ)驅(qū)動(dòng)器中的存儲(chǔ)器的訪問。CAM技術(shù)和其他所公開的特征在使存儲(chǔ)器訪問速率最大化并使功率消耗最小化的同時(shí)減小設(shè)備中的DRAM的所需要的存儲(chǔ)能力。該設(shè)備可以是網(wǎng)絡(luò)設(shè)備或無線網(wǎng)絡(luò)設(shè)備。設(shè)備的示例包括但不限于計(jì)算機(jī)、移動(dòng)電話、平板電腦、相機(jī)等等。下面的示例中的DRAM一般不被用作主存儲(chǔ)器,而是相反被用作虛擬存儲(chǔ)器和/或被用作最終級(jí)的高速緩存。
圖2示出了數(shù)據(jù)訪問系統(tǒng)70,其包括圖像處理設(shè)備72、系統(tǒng)總線74、FLC模塊76和存儲(chǔ)驅(qū)動(dòng)器78。數(shù)據(jù)訪問系統(tǒng)70可以被實(shí)現(xiàn)在例如計(jì)算機(jī)、移動(dòng)電話、平板電腦、服務(wù)器和/或其他設(shè)備中。圖像處理設(shè)備72可以包括例如:中央處理器(或中央處理單元(CPU));圖形處理器(或圖形處理單元(GPU));錄像機(jī);相機(jī)圖像信號(hào)處理器(ISP);諸如吉比特(Gb)以太網(wǎng)接口的以太網(wǎng)接口;諸如通用串行總線(USB)接口和串行高級(jí)技術(shù)附件(SATA)接口的串行接口;以及外圍組件互連快速(PCIe)接口;和/或其他圖像處理設(shè)備。圖像處理設(shè)備72可以被實(shí)現(xiàn)在一個(gè)或多個(gè)模塊中。作為示例,圖像處理設(shè)備72中的第一圖像處理設(shè)備被示出為包括高速緩存存儲(chǔ)器,例如以下各項(xiàng)中的一項(xiàng)或多項(xiàng):零級(jí)(L0)高速緩存、一級(jí)(L1)高速緩存、二級(jí)(L2)高速緩存或三級(jí)(L3)高速緩存。在示出的示例中,第一圖像處理設(shè)備可以包括中央處理器73和L1-L3高速緩存75。中央處理器73可以包括L0高速緩存77。中央處理器73還可以包括存儲(chǔ)器管理模塊(MMM)79,其能夠控制對(duì)高速緩存75、77的訪問。下面描述的由圖像處理設(shè)備執(zhí)行的任務(wù)可以由例如中央處理器73和/或MMM 79執(zhí)行。
圖像處理設(shè)備72還經(jīng)由系統(tǒng)總線74連接到FLC模塊76。圖像處理設(shè)備72經(jīng)由總線和(i)在圖像處理設(shè)備72與系統(tǒng)總線74之間以及(ii)在系統(tǒng)總線74與存儲(chǔ)驅(qū)動(dòng)器78之間的接口連接到存儲(chǔ)驅(qū)動(dòng)器78。接口可以包括例如以太網(wǎng)接口、串行接口、PCIe接口和/或嵌入式多媒體控制器(eMMC)接口。存儲(chǔ)驅(qū)動(dòng)器78可以位于世界上的遠(yuǎn)離圖像處理設(shè)備72和/或FLC控制器80的任何地方。存儲(chǔ)驅(qū)動(dòng)器78可以經(jīng)由一個(gè)或多個(gè)網(wǎng)絡(luò)(例如,WLAN、互聯(lián)網(wǎng)絡(luò)或遠(yuǎn)程存儲(chǔ)網(wǎng)絡(luò)(云))與圖像處理設(shè)備72和/或FLC控制器80進(jìn)行通信。
FLC模塊76包括FLC控制器80、DRAM控制器82和DRAM IC84。DRAM IC 84主要被用作虛擬存儲(chǔ),而存儲(chǔ)驅(qū)動(dòng)器78被用作物理存儲(chǔ)。圖像處理設(shè)備72對(duì)DRAM IC 84和存儲(chǔ)驅(qū)動(dòng)器78進(jìn)行尋址,如同它們是單個(gè)存儲(chǔ)設(shè)備。當(dāng)讀取和/或?qū)懭霐?shù)據(jù)時(shí),圖像處理設(shè)備72將存儲(chǔ)請(qǐng)求發(fā)送到FLC控制器80。FLC控制器80經(jīng)由DRAM控制器82訪問DRAM IC 84和/或訪問存儲(chǔ)驅(qū)動(dòng)器78。FLC控制器80可以(如由虛線所指示的)直接地或經(jīng)由系統(tǒng)總線74訪問存儲(chǔ)驅(qū)動(dòng)器。
本文描述了數(shù)據(jù)訪問系統(tǒng)70的各種示例。在第一示例中,F(xiàn)LC模塊76被實(shí)現(xiàn)在與圖像處理設(shè)備72、系統(tǒng)總線74和存儲(chǔ)驅(qū)動(dòng)器78分離的SoC中。在第二示例中,圖像處理設(shè)備72中的一個(gè)圖像處理設(shè)備是CPU實(shí)現(xiàn)的圖像處理設(shè)備。圖像處理設(shè)備72中的一個(gè)圖像處理設(shè)備可以被實(shí)現(xiàn)在與FLC模塊76和存儲(chǔ)驅(qū)動(dòng)器78分離的SoC中。作為另一示例,圖像處理設(shè)備72和系統(tǒng)總線74被實(shí)現(xiàn)在與FLC模塊76和存儲(chǔ)驅(qū)動(dòng)器78分離的SoC中。在另一示例中,圖像處理設(shè)備72、系統(tǒng)總線74和FLC模塊76被實(shí)現(xiàn)在與存儲(chǔ)驅(qū)動(dòng)器78分離的SoC中。下面描述了數(shù)據(jù)訪問系統(tǒng)70的其他示例。
DRAM IC 84可以被用作最終級(jí)的高速緩存。DRAM IC 84可以具有各種存儲(chǔ)容量。例如,DRAM IC 84可以具有用于移動(dòng)電話應(yīng)用的1-4GB的存儲(chǔ)容量,用于個(gè)人計(jì)算機(jī)應(yīng)用的4-32GB的存儲(chǔ)容量,以及用于服務(wù)器應(yīng)用的32GB-1太字節(jié)(T)的存儲(chǔ)容量。
存儲(chǔ)驅(qū)動(dòng)器78可以包括閃速存儲(chǔ)器(例如,NAND閃速存儲(chǔ)器)、固態(tài)存儲(chǔ)器、固態(tài)驅(qū)動(dòng)器(SSD)、硬盤驅(qū)動(dòng)器(HHD)和/或其他非易失性存儲(chǔ)器。存儲(chǔ)驅(qū)動(dòng)器78可以是混合驅(qū)動(dòng)器并且包括例如固態(tài)存儲(chǔ)器和旋轉(zhuǎn)存儲(chǔ)介質(zhì)。存儲(chǔ)驅(qū)動(dòng)器78可以具有比DRAM IC 84多的存儲(chǔ)容量。例如,存儲(chǔ)驅(qū)動(dòng)器78可以包括比DRAM IC 84多4-16倍的存儲(chǔ)。作為另一示例,存儲(chǔ)驅(qū)動(dòng)器78可以具有比DRAM IC 84多一數(shù)量級(jí)的存儲(chǔ)容量。DRAM IC 84可以包括高速DRAM,并且存儲(chǔ)驅(qū)動(dòng)器78可以包括低速DRAM。換言之,DRAM IC 84的速度比存儲(chǔ)驅(qū)動(dòng)器78中的DRAM的速度快。
存儲(chǔ)在DRAM IC 84中的數(shù)據(jù)可以是最近訪問的、最經(jīng)常訪問的和/或具有最高相關(guān)聯(lián)的優(yōu)先級(jí)的數(shù)據(jù)。存儲(chǔ)在DRAM IC 84中的數(shù)據(jù)可以包括被鎖定的數(shù)據(jù)。被鎖定的數(shù)據(jù)指的是總是存儲(chǔ)在DRAM IC84中的數(shù)據(jù)。被鎖定的數(shù)據(jù)可以被更新。存儲(chǔ)在DRAM IC 84中的數(shù)據(jù)可以比存儲(chǔ)在存儲(chǔ)驅(qū)動(dòng)器78中的數(shù)據(jù)更頻繁地被訪問和/或具有更高優(yōu)先級(jí)。
在一些示例中,存儲(chǔ)在DRAM IC 84中的數(shù)據(jù)不包括不頻繁(例如,在比預(yù)定時(shí)間段內(nèi)被訪問多于預(yù)定次數(shù))使用的軟件應(yīng)用、字體、軟件代碼、支持不同口語的備選代碼和數(shù)據(jù)等等。這能夠幫助使DRAM IC 84的大小要求最小化。不頻繁使用的軟件代碼可以被稱為“垃圾代碼”并且可以不在啟動(dòng)過程期間從存儲(chǔ)驅(qū)動(dòng)器78被下載到DRAM IC 84。啟動(dòng)過程可以包括加載僅僅頻繁使用的數(shù)據(jù)。隨著DRAM IC 84的大小減小,性能提高并且功率消耗、電容和緩沖減小。隨著電容和緩沖減小,延時(shí)減小。此外,通過消耗較少的功率,提高對(duì)應(yīng)的設(shè)備的電池壽命。
FLC控制器80響應(yīng)于從圖像處理設(shè)備72接收到請(qǐng)求來執(zhí)行CAM技術(shù)。CAM技術(shù)包括將由圖像處理設(shè)備72提供的請(qǐng)求的第一物理地址轉(zhuǎn)換為虛擬地址。這些虛擬地址與由圖像處理設(shè)備72原先生成的虛擬地址無關(guān)且不同,并被映射到由圖像處理設(shè)備72尋址的第一物理地址。DRAM控制器82將由FLC控制器80生成的虛擬地址轉(zhuǎn)換(或映射)到第二物理地址。如果第二物理地址未處于DRAM IC 84中,則FLC控制器80可以(i)從存儲(chǔ)驅(qū)動(dòng)器78取讀數(shù)據(jù),或者(ii)可以向圖像處理設(shè)備72中的對(duì)應(yīng)的圖像處理設(shè)備指示(或信號(hào)通知)已經(jīng)發(fā)生高速緩存未命中。從存儲(chǔ)驅(qū)動(dòng)器78取讀數(shù)據(jù)可以包括將由FLC控制器80生成的虛擬地址映射到第三物理地址以訪問存儲(chǔ)驅(qū)動(dòng)器78中的數(shù)據(jù)。高速緩存未命中可以由FLC控制器80在將物理地址轉(zhuǎn)化為虛擬地址時(shí)檢測(cè)到和/或由DRAM控制器82在將虛擬地址轉(zhuǎn)換為第二物理地址時(shí)檢測(cè)到。DRAM控制器82可以信號(hào)通知FLC控制器80已經(jīng)發(fā)生高速緩存未命中,并且接著FLC控制器80可以信號(hào)通知圖像處理設(shè)備72中的一個(gè)圖像處理設(shè)備高速緩存未命中或者可以針對(duì)數(shù)據(jù)對(duì)存儲(chǔ)驅(qū)動(dòng)器78進(jìn)行訪問。
如果FLC控制器80信號(hào)通知圖像處理設(shè)備72中的一個(gè)圖像處理設(shè)備已經(jīng)發(fā)生高速緩存未命中,則圖像處理設(shè)備72中的對(duì)應(yīng)的圖像處理設(shè)備可以訪問存儲(chǔ)驅(qū)動(dòng)器78中的數(shù)據(jù)。這可以包括(i)基于第一物理地址來訪問存儲(chǔ)驅(qū)動(dòng)器78中的數(shù)據(jù),(ii)將原先生成的虛擬地址映射到第三物理地址并且接著基于第三物理地址來訪問存儲(chǔ)驅(qū)動(dòng)器78,或者(iii)將第一物理地址映射到第三物理地址并且接著基于第三物理地址來訪問存儲(chǔ)驅(qū)動(dòng)器78。CAM技術(shù)包括在DRAM IC 84與存儲(chǔ)驅(qū)動(dòng)器78之間進(jìn)行地址映射。
例如,CAM技術(shù)可以提供全集關(guān)聯(lián)地址轉(zhuǎn)化。這可以包括將第一物理地址與存儲(chǔ)在FLC控制器80的目錄中的所有虛擬地址進(jìn)行比較。全集關(guān)聯(lián)地址轉(zhuǎn)化可以由FLC控制器80用于將對(duì)應(yīng)的數(shù)據(jù)請(qǐng)求的第一物理地址轉(zhuǎn)化為第二虛擬地址(或由FLC控制器80生成的虛擬地址)。這可以包括將第一物理地址與第一目錄中的所有地址進(jìn)行比較以找到用于轉(zhuǎn)換到虛擬地址的匹配。全集關(guān)聯(lián)地址轉(zhuǎn)化還可以由DRAM控制器82用于將第二虛擬地址與第二目錄、DRAM IC 84和/或存儲(chǔ)驅(qū)動(dòng)器78中的所有入口的所有地址進(jìn)行比較以找到用于轉(zhuǎn)換到第二虛擬地址的匹配。在初始啟動(dòng)之后位于DRAM IC 84中的數(shù)據(jù)的命中率可以取決于DRAM IC 84的大小高達(dá)100%。DRAM IC 84的大小可以被調(diào)整以確保在處理器和/或圖像處理器設(shè)備的最小空閑時(shí)間的情況下接近100%的命中率。例如,這可以使用用于移動(dòng)電話應(yīng)用的1-4GB DRAM IC、用于個(gè)人計(jì)算機(jī)應(yīng)用的4-32GB DRAM IC以及用于服務(wù)器應(yīng)用的32-500GB DRAM IC來完成。
除了圖2,圖3示出了數(shù)據(jù)訪問系統(tǒng)70的DRAM IC 84和存儲(chǔ)驅(qū)動(dòng)器78的入口。DRAM IC 84可以包括DRAM入口00-MN。存儲(chǔ)驅(qū)動(dòng)器78可以具有驅(qū)動(dòng)器入口00-MN。DRAM入口00-MN中的每個(gè)入口的地址可以被映射到驅(qū)動(dòng)器入口00-MN中的一個(gè)或多個(gè)地址。結(jié)果,存儲(chǔ)在DRAM入口00-MN中的一個(gè)或多個(gè)DRAM入口中的數(shù)據(jù)的第一部分可以對(duì)應(yīng)于存儲(chǔ)在驅(qū)動(dòng)器入口00-MN中的數(shù)據(jù)的第二部分。存儲(chǔ)在DRAM入口00-MN中的數(shù)據(jù)可以包括提供關(guān)于存儲(chǔ)在驅(qū)動(dòng)器入口00-MN中的數(shù)據(jù)的信息的元數(shù)據(jù)。該信息可以包括存儲(chǔ)在驅(qū)動(dòng)器入口00-MN中的數(shù)據(jù)的數(shù)據(jù)類型和/或數(shù)據(jù)長(zhǎng)度。
作為示例,DRAM入口00-MN中的每個(gè)DRAM入口可以具有例如16KB的存儲(chǔ)容量。驅(qū)動(dòng)器入口00-MN中的驅(qū)動(dòng)器入口可以具有16GB的存儲(chǔ)容量。如果數(shù)據(jù)要從DRAM入口00-MN中的一個(gè)DRAM入口被讀取或被寫入DRAM入口00-MN中的一個(gè)DRAM入口并且DRAM入口00-MN中的一個(gè)DRAM入口是滿的和/或不具有與請(qǐng)求相關(guān)聯(lián)的所有數(shù)據(jù),則訪問驅(qū)動(dòng)器入口00-MN中的對(duì)應(yīng)的驅(qū)動(dòng)器入口。因此,DRAM IC 84和存儲(chǔ)驅(qū)動(dòng)器78可以被劃分成存儲(chǔ)器塊。DRAM IC 84中的每個(gè)存儲(chǔ)器塊可以具有存儲(chǔ)驅(qū)動(dòng)器78中的相應(yīng)的一個(gè)或多個(gè)存儲(chǔ)器塊。存儲(chǔ)器的這種映射和劃分對(duì)于圖2的圖像處理設(shè)備72可以是透明的。
在操作期間,圖像處理設(shè)備72中的一個(gè)圖像處理設(shè)備可以生成針對(duì)數(shù)據(jù)塊的請(qǐng)求信號(hào)。如果數(shù)據(jù)塊不位于DRAM IC 84中,則FLC控制器80可以訪問存儲(chǔ)驅(qū)動(dòng)器78中的數(shù)據(jù)塊。當(dāng)FLC控制器80正在從存儲(chǔ)驅(qū)動(dòng)器78訪問數(shù)據(jù)時(shí),F(xiàn)LC控制器80可以將總線錯(cuò)誤信號(hào)(或警報(bào)信號(hào))發(fā)送回到請(qǐng)求數(shù)據(jù)的圖像處理設(shè)備??偩€錯(cuò)誤信號(hào)可以指示FLC控制器80正在訪問數(shù)據(jù)并且結(jié)果系統(tǒng)總線74未準(zhǔn)備好將數(shù)據(jù)傳送到圖像處理設(shè)備72??偩€錯(cuò)誤信號(hào)的傳輸可以被稱為從FLC模塊76到圖像處理設(shè)備和/或圖像處理設(shè)72的SoC的“總線終止”。圖像處理設(shè)備72可以在等待總線準(zhǔn)備好的同時(shí)執(zhí)行其他任務(wù)。其他任務(wù)可以包括使用已經(jīng)存儲(chǔ)在例如圖像處理設(shè)備的SoC中的一個(gè)或多個(gè)高速緩存(例如,L0-L3高速緩存)中的數(shù)據(jù)。這還使處理器和/或圖像處理設(shè)備的空閑時(shí)間最小化。
如果執(zhí)行順序訪問,則FLC控制器80和/或DRAM控制器82可以執(zhí)行對(duì)存儲(chǔ)在預(yù)計(jì)要在未來被訪問的地址處的數(shù)據(jù)的預(yù)測(cè)性取讀。這可以發(fā)生在啟動(dòng)期間和/或在啟動(dòng)之后。FLC控制器80和/或DRAM控制器82可以:跟蹤數(shù)據(jù)和/或軟件使用;評(píng)價(jià)要被運(yùn)行的代碼行;跟蹤存儲(chǔ)器訪問模式;并且基于該信息來預(yù)測(cè)預(yù)計(jì)要被訪問的數(shù)據(jù)的下一地址。下一地址可以是DRAM IC 84和/或存儲(chǔ)驅(qū)動(dòng)器78的地址。作為示例,F(xiàn)LC控制器80和/或DRAM控制器82在獨(dú)立于和/或沒有先前接收針對(duì)數(shù)據(jù)的請(qǐng)求的情況下可以訪問存儲(chǔ)在存儲(chǔ)驅(qū)動(dòng)器78中的數(shù)據(jù)并將數(shù)據(jù)傳送到DRAM IC 84。作為另一示例,F(xiàn)LC控制器80和/或DRAM控制器82在獨(dú)立于和/或沒有先前接收針對(duì)數(shù)據(jù)的請(qǐng)求的情況下可以訪問存儲(chǔ)在DRAM IC 84中的數(shù)據(jù)并將數(shù)據(jù)傳送到系統(tǒng)總線74和/或圖像處理設(shè)備72中的一個(gè)。
參考圖4的方法進(jìn)一步描述數(shù)據(jù)訪問系統(tǒng)70的操作。盡管下面的任務(wù)主要參考圖2-4中的示例進(jìn)行描述,但是這些任務(wù)可以容易地被修改以適用于本公開內(nèi)容的其他示例。這些任務(wù)可以迭代地被執(zhí)行。
該方法在100處開始。在102處,F(xiàn)LC控制器80從圖像處理設(shè)備72中的一個(gè)圖像處理設(shè)備接收請(qǐng)求。該請(qǐng)求可以是讀取請(qǐng)求或?qū)懭胝?qǐng)求。
在104處,F(xiàn)LC控制器80確定接收到的請(qǐng)求是否為讀取請(qǐng)求。在該請(qǐng)求為讀取請(qǐng)求時(shí)執(zhí)行任務(wù)106,否則執(zhí)行任務(wù)122。在106處,F(xiàn)LC控制器80將在接收到的請(qǐng)求中提供的第一物理地址轉(zhuǎn)換為虛擬地址。虛擬地址可以與DRAM IC 84中的物理地址和/或存儲(chǔ)驅(qū)動(dòng)器78中的物理地址相關(guān)聯(lián)。
在108處,DRAM控制器82將虛擬地址轉(zhuǎn)換為第二物理地址。FLC控制器80和/或DRAM控制器82可以包括用于將第一物理地址映射到虛擬地址和用于將虛擬地址映射到第二物理地址的一個(gè)或多個(gè)轉(zhuǎn)化映射表。這些表可以在FLC控制器80與DRAM控制器82之間共享。
在110處,DRAM控制器82確定第二物理地址是否處于DRAM IC 84中并且因此確定對(duì)應(yīng)的數(shù)據(jù)塊是否處于DRAM IC 84的所分配的空間中。如果第二物理地址處于DRAM IC 84中,則執(zhí)行任務(wù)112,否則執(zhí)行任務(wù)114。
在112處并且基于第二物理地址,DRAM控制器82從DRAM IC84讀取與接收到的請(qǐng)求相關(guān)聯(lián)的一個(gè)或多個(gè)第一數(shù)據(jù)塊。第一數(shù)據(jù)塊中的每個(gè)數(shù)據(jù)塊可以具有DRAM IC 84中的對(duì)應(yīng)的物理地址。
在114處并且基于第二物理地址,F(xiàn)LC控制器80從存儲(chǔ)驅(qū)動(dòng)器78讀取與接收到的請(qǐng)求相關(guān)聯(lián)的一個(gè)或多個(gè)第二數(shù)據(jù)塊。一個(gè)或多個(gè)第二數(shù)據(jù)塊可以包括第一數(shù)據(jù)塊。第二數(shù)據(jù)塊中的每個(gè)數(shù)據(jù)塊可以具有存儲(chǔ)驅(qū)動(dòng)器78中的對(duì)應(yīng)的物理地址。第二數(shù)據(jù)塊和存儲(chǔ)驅(qū)動(dòng)器78的對(duì)應(yīng)地址可以分別對(duì)應(yīng)于第一數(shù)據(jù)塊和DRAM IC 84的對(duì)應(yīng)地址。
在116處,將從DRAM IC 84或存儲(chǔ)驅(qū)動(dòng)器78讀取的數(shù)據(jù)轉(zhuǎn)發(fā)到發(fā)送接收到的請(qǐng)求的圖像處理設(shè)備。在118處,針對(duì)在102處接收到的請(qǐng)求,F(xiàn)LC控制器80和/或DRAM控制器82可以確定是否存在要從DRAM IC 84和/或存儲(chǔ)驅(qū)動(dòng)器78讀取的額外的數(shù)據(jù)。如果存在要讀取的額外的數(shù)據(jù),則執(zhí)行任務(wù)110,否則該方法可以在120處結(jié)束。作為返回到任務(wù)110的備選并且針對(duì)在102處接收到的請(qǐng)求,如果存在要讀取的額外的數(shù)據(jù)并且如果存在要轉(zhuǎn)換的另一物理地址,則可以在任務(wù)118之后執(zhí)行任務(wù)106。
在122處,F(xiàn)LC控制器80確定接收到的請(qǐng)求是否為寫入請(qǐng)求。如果接收到的請(qǐng)求為寫入請(qǐng)求,則執(zhí)行任務(wù)126,否則該方法可以在124處結(jié)束。在126處,F(xiàn)LC控制器80將在接收到的請(qǐng)求中提供的第一物理地址轉(zhuǎn)換為虛擬地址。虛擬地址可以與DRAM IC 84中的物理地址和/或存儲(chǔ)驅(qū)動(dòng)器78中的物理地址相關(guān)聯(lián)。在128處,DRAM控制器82將虛擬地址轉(zhuǎn)換為第二物理地址。任務(wù)126和128可以使用以上提到的映射表來完成。
在130處,DRAM控制器82確定第二物理地址是否處于DRAM IC 84中并且因此確定對(duì)應(yīng)的數(shù)據(jù)塊是否要被寫入DRAM IC 84中的所分配的空間。如果第二物理地址處于DRAM IC 84中,則執(zhí)行任務(wù)132,否則執(zhí)行任務(wù)134。
在132處并且基于第二物理地址,DRAM控制器82將接收到的請(qǐng)求相關(guān)聯(lián)的一個(gè)或多個(gè)第一數(shù)據(jù)塊寫入DRAM IC 84。第一數(shù)據(jù)塊中的每個(gè)數(shù)據(jù)塊可以具有DRAM IC 84中的對(duì)應(yīng)的物理地址。
在134處并且基于第二物理地址,F(xiàn)LC控制器80將與接收到的請(qǐng)求相關(guān)聯(lián)的一個(gè)或多個(gè)第二數(shù)據(jù)塊寫入存儲(chǔ)驅(qū)動(dòng)器78。一個(gè)或多個(gè)第二數(shù)據(jù)塊可以包括第一數(shù)據(jù)塊。第二數(shù)據(jù)塊中的每個(gè)數(shù)據(jù)塊可以具有存儲(chǔ)驅(qū)動(dòng)器78中的對(duì)應(yīng)的物理地址。第二數(shù)據(jù)塊和存儲(chǔ)驅(qū)動(dòng)器78的對(duì)應(yīng)地址可以分別對(duì)應(yīng)于第一數(shù)據(jù)塊和DRAM IC 84的對(duì)應(yīng)地址。
在136處,針對(duì)在102處接收到的請(qǐng)求,F(xiàn)LC控制器80和/或DRAM控制器82可以確定是否存在要寫入DRAM IC 84和/或存儲(chǔ)驅(qū)動(dòng)器78的額外的數(shù)據(jù)。如果存在要寫入的額外的數(shù)據(jù),則執(zhí)行任務(wù)130,否則該方法可以在138處結(jié)束。作為返回到任務(wù)130的備選并且針對(duì)在102處接收到的請(qǐng)求,如果存在要寫入的額外的數(shù)據(jù)并且如果存在要轉(zhuǎn)換的另一物理地址,則可以在任務(wù)136之后執(zhí)行任務(wù)126。
圖4的上述任務(wù)旨在為說明性示例;可以取決于應(yīng)用順序地、同步地、同時(shí)地、連續(xù)地、在交疊的時(shí)間段期間或者以不同的順序來執(zhí)行這些任務(wù)。此外,取決于示例和/或事件的順序,可以不執(zhí)行或跳過這些任務(wù)中的任何。
上述示例可以經(jīng)由網(wǎng)絡(luò)中的服務(wù)器(可以被稱為“云”)實(shí)現(xiàn)。各服務(wù)器中的每個(gè)服務(wù)器可以包括FLC模塊(例如,F(xiàn)LC模塊76)并相互通信。各服務(wù)器可以共享存儲(chǔ)在DRAM IC和存儲(chǔ)驅(qū)動(dòng)器中的DRAM和/或存儲(chǔ)器。各服務(wù)器中的每個(gè)服務(wù)器可以經(jīng)由網(wǎng)絡(luò)訪問其他服務(wù)器中的DRAM和/或存儲(chǔ)驅(qū)動(dòng)器。FLC模塊中的每個(gè)FLC模塊可以與圖2的FLC模塊類似地操作,但是還可以經(jīng)由云訪問其他服務(wù)器中的每個(gè)服務(wù)器中的DRAM和/或存儲(chǔ)器。在服務(wù)器與云之間傳輸?shù)男盘?hào)可以在傳輸之前被加密并在到達(dá)云的服務(wù)器和/或網(wǎng)絡(luò)設(shè)備后解密。服務(wù)器還可以共享和/或訪問云中的存儲(chǔ)器。作為示例,由各服務(wù)器中的一個(gè)服務(wù)器的FLC控制器生成的虛擬地址可以對(duì)應(yīng)于以下中的物理地址:FLC控制器的FLC模塊的DRAM;各服務(wù)器中的一個(gè)服務(wù)器的存儲(chǔ)驅(qū)動(dòng)器;其他服務(wù)器中的一個(gè)服務(wù)器的FLC模塊的DRAM;其他服務(wù)器中的一個(gè)服務(wù)器的存儲(chǔ)驅(qū)動(dòng)器;或者云的存儲(chǔ)設(shè)備。各服務(wù)器中的一個(gè)服務(wù)器的FLC控制器和/或圖像處理設(shè)備可以在發(fā)生高速緩存未命中時(shí)訪問其他FLC模塊、存儲(chǔ)驅(qū)動(dòng)器和/或存儲(chǔ)設(shè)備中的DRAM和/或存儲(chǔ)器。
上述示例還可以被實(shí)現(xiàn)在包括以下的數(shù)據(jù)訪問系統(tǒng)中:具有多個(gè)芯片的多芯片模塊;交換機(jī);具有初級(jí)FLC模塊的初級(jí)芯片。多芯片模塊經(jīng)由交換機(jī)連接到初級(jí)芯片模塊。FLC模塊中的每個(gè)FLC模塊可以與圖2的FLC模塊類似地操作,但是還可以經(jīng)由交換機(jī)訪問其他芯片中的每個(gè)芯片中的DRAM和/或存儲(chǔ)器。作為示例,由各芯片中的一個(gè)芯片的FLC控制器生成的虛擬地址可以對(duì)應(yīng)于以下中的物理地址:FLC控制器的FLC模塊的DRAM;各芯片中的一個(gè)芯片的存儲(chǔ)驅(qū)動(dòng)器;其他芯片中的一個(gè)芯片的FLC模塊的DRAM;其他芯片中的一個(gè)芯片的存儲(chǔ)驅(qū)動(dòng)器;或者云的存儲(chǔ)設(shè)備。各芯片中的一個(gè)芯片的FLC控制器和/或圖像處理設(shè)備可以在發(fā)生高速緩存未命中時(shí)訪問其他FLC模塊、存儲(chǔ)驅(qū)動(dòng)器和/或存儲(chǔ)設(shè)備中的DRAM和/或存儲(chǔ)器。
作為示例,多芯片模塊中的次級(jí)DRAM和初級(jí)芯片中的初級(jí)DRAM中的每個(gè)可以具有1GB的存儲(chǔ)容量。初級(jí)芯片中的存儲(chǔ)驅(qū)動(dòng)器可以具有例如64GB的存儲(chǔ)容量。作為另一示例,數(shù)據(jù)訪問系統(tǒng)可以被使用在汽車中。初級(jí)芯片可以為例如中央控制器、模塊、處理器、引擎控制模塊、傳輸控制模塊和/或混合控制模塊。初級(jí)芯片可以被用于控制相關(guān)系統(tǒng)的對(duì)應(yīng)方面,例如油門位置、火花定時(shí)、燃油定時(shí)、在傳動(dòng)輪之間的轉(zhuǎn)變等等。多芯片模塊中的次級(jí)芯片中的每個(gè)次級(jí)芯片可以與特定車輛系統(tǒng)相關(guān)聯(lián),特定車輛系統(tǒng)例如照明系統(tǒng)、娛樂系統(tǒng)、空調(diào)系統(tǒng)、排氣系統(tǒng)、導(dǎo)航系統(tǒng)、音頻系統(tǒng)、視頻系統(tǒng)、制動(dòng)系統(tǒng)、操縱系統(tǒng)等等并且被用于控制對(duì)應(yīng)系統(tǒng)的各方面。
作為又一示例,上述示例還可以被實(shí)現(xiàn)在包括主機(jī)(或SoC)和混合驅(qū)動(dòng)器的數(shù)據(jù)訪問系統(tǒng)中。主機(jī)可以包括中央處理器或其他圖像處理設(shè)備并且經(jīng)由接口與混合驅(qū)動(dòng)器進(jìn)行通信。接口例如為例如GE接口、USB接口、SATA接口、PCIe接口或其他適當(dāng)?shù)慕涌?。混合?qū)動(dòng)器可以包括第一存儲(chǔ)驅(qū)動(dòng)器和第二存儲(chǔ)驅(qū)動(dòng)器。第一存儲(chǔ)驅(qū)動(dòng)器包括FLC模塊(例如,圖2的FLC模塊76)。FLC模塊的FLC控制器在確定是否從FLC模塊和第二存儲(chǔ)驅(qū)動(dòng)器的DRAM讀取數(shù)據(jù)和/或?qū)?shù)據(jù)寫入FLC模塊和第二存儲(chǔ)驅(qū)動(dòng)器的DRAM時(shí)執(zhí)行CAM技術(shù)。
作為另一示例,上述示例還可以被實(shí)現(xiàn)在包括SoC、第一DRAM(或高速緩存)、第二DRAM和非易失性存儲(chǔ)器的存儲(chǔ)系統(tǒng)中。SoC與第一DRAM、分立DRAM和非易失性存儲(chǔ)器是分離的。第一DRAM可以存儲(chǔ)高優(yōu)先級(jí)和/或頻繁訪問的數(shù)據(jù)。高百分比的數(shù)據(jù)訪問請(qǐng)求可以被指向存儲(chǔ)在第一DRAM中的數(shù)據(jù)。作為示例,99%或更多的數(shù)據(jù)訪問請(qǐng)求可以被指向存儲(chǔ)在第一DRAM中的數(shù)據(jù)和/或剩余的1%或更少的數(shù)據(jù)訪問請(qǐng)求可以被指向存儲(chǔ)在第二DRAM和/或非易失性存儲(chǔ)器中的數(shù)據(jù)。低優(yōu)先級(jí)和/或較不頻繁地訪問的數(shù)據(jù)可以被存儲(chǔ)在第二DRAM和/或非易失性存儲(chǔ)器中。作為示例,用戶可以打開多個(gè)網(wǎng)頁瀏覽器。第二DRAM能夠具有高帶寬接口和每位低成本的存儲(chǔ)器存儲(chǔ)容量并且能夠處置廣泛的應(yīng)用。第二DRAM通常展示比高速緩存或第一DRAM長(zhǎng)的延時(shí)時(shí)間段。針對(duì)當(dāng)前使用的或最頻繁使用的網(wǎng)頁瀏覽器的內(nèi)容可以被存儲(chǔ)在第二DRAM和/或非易失性存儲(chǔ)器中。
SoC可以包括一個(gè)或多個(gè)控制模塊、接口模塊、高速緩存(或FLC)模塊以及圖形模塊。高速緩存模塊可以與圖2的FLC模塊類似地操作??刂颇K經(jīng)由接口模塊連接到高速緩存模塊。高速緩存模塊被配置為基于相應(yīng)的層次級(jí)別來訪問第一DRAM、第二DRAM和非易失性存儲(chǔ)器。各控制模塊中的每個(gè)控制模塊可以包括相應(yīng)的L1高速緩存、L2高速緩存和L3高速緩存。各控制模塊中的每個(gè)控制模塊還可以包括一個(gè)或多個(gè)額外的高速緩存,例如L4高速緩存或其他最高級(jí)高速緩存。許多信號(hào)線(或?qū)щ娫?可以存在于SoC與第一DRAM之間。這允許在SoC與第一DRAM之間對(duì)數(shù)據(jù)的快速并行和/或串行傳送。在SoC與第一DRAM之間的數(shù)據(jù)傳送比(i)在SoC與第二DRAM之間以及(ii)在SoC與非易失性存儲(chǔ)器之間的數(shù)據(jù)傳送快。
第一DRAM可以含有具有與L3高速緩存622、L4高速緩存和/或最高級(jí)高速緩存相同或比其高的層次級(jí)別的第一部分。第一DRAM的第二部分可以具有與第二DRAM和/或非易失性存儲(chǔ)器相同或比其低的層次級(jí)別。第二DRAM可以具有比第一DRAM高的層次級(jí)別。非易失性存儲(chǔ)器可以具有與第二DRAM相同或比其高的層次級(jí)別??刂颇K可以基于高速緩存需要來改變第一DRAM、第二DRAM和/或非易失性存儲(chǔ)器中的每個(gè)的部分或全部的層次級(jí)別。
控制模塊、連接到接口模塊的圖形模塊和/或連接到接口模塊的(在SoC的內(nèi)部或外部的)其他設(shè)備可以將請(qǐng)求信號(hào)發(fā)送到高速緩存模塊以存儲(chǔ)和/或訪問第一DRAM、第二DRAM和/或非易失性存儲(chǔ)器中的數(shù)據(jù)。高速緩存模塊可以控制對(duì)第一DRAM、第二DRAM和非易失性存儲(chǔ)器的訪問。作為示例,控制模塊、圖像模塊和/或連接到接口模塊的其他設(shè)備可以不知道連接到SoC的DRAM的數(shù)量和/或大小。
高速緩存模塊可以將從控制模塊、圖像模塊和/或連接到接口模塊的其他設(shè)備接收到的第一邏輯塊地址和請(qǐng)求轉(zhuǎn)換為(i)第一DRAM、第二DRAM和/或非易失性存儲(chǔ)器的物理塊地址,或者(ii)第二邏輯塊地址。第二邏輯塊地址可以通過第一DRAM、第二DRAM和/或非易失性存儲(chǔ)器被轉(zhuǎn)換為物理塊地址。高速緩存模塊可以存儲(chǔ)用于將第一邏輯塊地址轉(zhuǎn)換為第二邏輯塊地址和/或?qū)⒌谝贿壿媺K地址轉(zhuǎn)換為物理塊地址的一個(gè)或多個(gè)查找表(例如,全集關(guān)聯(lián)查找表)。結(jié)果,高速緩存模塊以及第一DRAM、第二DRAM和非易失性存儲(chǔ)器中的一個(gè)或多個(gè)可以用作與控制模塊、圖像模塊和/或連接到接口模塊的其他設(shè)備相關(guān)的單個(gè)存儲(chǔ)器。圖形模塊可以控制視頻數(shù)據(jù)從控制模塊和/或SoC到顯示器和/或其他視頻設(shè)備的輸出。
控制模塊可以在(i)高速緩存模塊以及(ii)L1高速緩存、L2高速緩存和L3高速緩存之間交換(或傳送)數(shù)據(jù)、數(shù)據(jù)集、程序和/或其部分。高速緩存模塊可以在第一DRAM、第二DRAM和非易失性存儲(chǔ)器中的兩個(gè)或更多個(gè)之間交換(或傳送)數(shù)據(jù)、數(shù)據(jù)集、程序和/或其部分。這可以獨(dú)立于控制模塊和/或在沒有從控制模塊接收到執(zhí)行傳送的控制信號(hào)的情況下來執(zhí)行。數(shù)據(jù)、數(shù)據(jù)集、程序和/或其部分在第一DRAM、第二DRAM和非易失性存儲(chǔ)器中的一個(gè)或多個(gè)中的存儲(chǔ)位置可以基于對(duì)應(yīng)的優(yōu)先級(jí)、使用的頻率、訪問的頻率和/或與數(shù)據(jù)、數(shù)據(jù)集、程序和/或其部分相關(guān)聯(lián)的其他參數(shù)。對(duì)數(shù)據(jù)、數(shù)據(jù)集、程序和/或其部分的傳送可以包括傳送數(shù)據(jù)塊。數(shù)據(jù)塊中的每個(gè)數(shù)據(jù)塊可以具有預(yù)定大小。作為示例,從第二DRAM到第一DRAM的數(shù)據(jù)的交換可以包括多個(gè)傳送事件,其中每個(gè)傳送事件包括傳送數(shù)據(jù)塊(例如,16KB的數(shù)據(jù))。
高速緩存模塊可以使用第一DRAM作為關(guān)聯(lián)高速緩存、指向的映射的高速緩存和/或全關(guān)聯(lián)高速緩存并使用對(duì)應(yīng)的高速緩存協(xié)議來訪問第一DRAM。高速緩存模塊可以被稱為最末(或最高)級(jí)高速緩存(LLC)控制器。
第一DRAM可以具有第一預(yù)定量的存儲(chǔ)容量(例如,0.25GB、0.5GB、1GB或8GB)。0.5GB第一DRAM是典型L2高速緩存的512倍。第二DRAM可以具有第二預(yù)定量的存儲(chǔ)容量(例如,針對(duì)非基于服務(wù)器的系統(tǒng)為1GB或更多或者針對(duì)基于服務(wù)器的系統(tǒng)為256GB或者更多)。非易失性存儲(chǔ)器可以具有第三預(yù)定量的存儲(chǔ)容量(例如,256GB或更多)。非易失性存儲(chǔ)器可以包括固態(tài)存儲(chǔ)器,例如閃速存儲(chǔ)器或磁阻隨機(jī)訪問存儲(chǔ)器(MRAM)和/或旋轉(zhuǎn)磁性介質(zhì)。非易失性存儲(chǔ)器可以包括SSD和HDD。盡管存儲(chǔ)系統(tǒng)具有第二DRAM和非易失性存儲(chǔ)器,但是第二DRAM和非易失性存儲(chǔ)器中的任一個(gè)可以不被包含在存儲(chǔ)系統(tǒng)中。
作為另一示例,上述示例還可以被實(shí)現(xiàn)在包括SoC和DRAM IC的存儲(chǔ)系統(tǒng)中。SoC可以包括經(jīng)由環(huán)形總線訪問DRAM IC的多個(gè)控制模塊(或處理器)。環(huán)形總線可以是使訪問延時(shí)最小化的雙向總線。如果成本比性能更重要,則環(huán)形總線可以為單向總線。中介設(shè)備可以位于控制模塊與環(huán)形總線之間和/或在環(huán)形總線與DRAM IC之間。例如,上述高速緩存模塊可以位于控制模塊與環(huán)形總線之間或者在環(huán)形總線與DRAM IC之間。
DRAM IC可以為L(zhǎng)3高速緩存、L4高速緩存和/或最高級(jí)高速緩存??刂颇K可以共享DRAM IC和/或具有DRAM IC的指定部分。例如,DRAM IC的第一部分可以被分配為針對(duì)第一控制模塊的高速緩存。DRAM IC的第二部分可以被分配為針對(duì)第二控制模塊的高速緩存。DRAM IC的第三部分可以被分配為針對(duì)第三控制模塊的高速緩存。DRAM IC的第四部分可以不被作為高速緩存分配。
作為另一示例,上述示例還可以被實(shí)現(xiàn)在服務(wù)器系統(tǒng)中。服務(wù)器系統(tǒng)可以被稱為存儲(chǔ)系統(tǒng)并且包括多個(gè)服務(wù)器。服務(wù)器包括相應(yīng)的存儲(chǔ)系統(tǒng),其經(jīng)由網(wǎng)絡(luò)(或云)相互通信。各存儲(chǔ)系統(tǒng)中的一個(gè)或多個(gè)存儲(chǔ)系統(tǒng)可以位于云中。存儲(chǔ)系統(tǒng)中的每個(gè)存儲(chǔ)系統(tǒng)可以包括相應(yīng)的SoC。
SoC可以具有相應(yīng)的第一DRAM、第二DRAM、固態(tài)非易失性存儲(chǔ)器、非易失性存儲(chǔ)器和I/O端口。I/O端口可以經(jīng)由諸如外圍組件互連快速(PCIe)信道的相應(yīng)的I/O信道和諸如外圍組件互連快速(PCIe)信道的相應(yīng)網(wǎng)絡(luò)接口與云進(jìn)行通信。I/O端口、I/O信道和網(wǎng)絡(luò)接口可以為以太網(wǎng)端口、信道和網(wǎng)絡(luò)接口并且以預(yù)定速度(例如,每秒1吉比特(Gb/s)、10Gb/s、50Gb/s等等)傳送數(shù)據(jù)。網(wǎng)絡(luò)接口中的一些可以位于云中。多個(gè)存儲(chǔ)系統(tǒng)的連接提供低成本的分布式的且可擴(kuò)展的服務(wù)器系統(tǒng)。所公開的存儲(chǔ)系統(tǒng)和/或服務(wù)器系統(tǒng)中的多個(gè)可以相互通信并且被包含在網(wǎng)絡(luò)(云)中。
固態(tài)非易失性存儲(chǔ)器中的每個(gè)固態(tài)非易失性存儲(chǔ)器可以包括例如NAND閃速存儲(chǔ)器和/或其他固態(tài)存儲(chǔ)器。非易失性存儲(chǔ)器中的每個(gè)非易失性存儲(chǔ)器可以包括固態(tài)存儲(chǔ)器和/或旋轉(zhuǎn)磁性介質(zhì)。非易失性存儲(chǔ)器中的每個(gè)非易失性存儲(chǔ)器可以包括SSD和/或HDD。
服務(wù)器系統(tǒng)的架構(gòu)提供DRAM作為高速緩存。DRAM可以被分配作為針對(duì)相應(yīng)SoC的L3高速緩存、L4高速緩存和/或最高級(jí)高速緩存并且具有高帶寬和大存儲(chǔ)容量。堆疊的DRAM可以包括例如DDR3存儲(chǔ)器、DDR4存儲(chǔ)器、低功率兩倍數(shù)據(jù)速率類型四(LPDDR4)存儲(chǔ)器、寬I/O2存儲(chǔ)器、HMC存儲(chǔ)器和/或其他適當(dāng)?shù)腄RAM。SoC中的每個(gè)SoC可以具有一個(gè)或多個(gè)控制模塊??刂颇K經(jīng)由相應(yīng)的環(huán)形總線與對(duì)應(yīng)的DRAM進(jìn)行通信。環(huán)形總線可以是雙向總線。這提供在控制模塊與對(duì)應(yīng)的DRAM之間的高帶寬和最小延時(shí)。
控制模塊中的每個(gè)可以訪問存儲(chǔ)在以下各項(xiàng)中的數(shù)據(jù)和/或程序:相同SoC或不同SoC的控制模塊;DRAM中的任何DRAM;固態(tài)非易失性存儲(chǔ)器中的任何固態(tài)非易失性存儲(chǔ)器;和/或非易失性存儲(chǔ)器中的任何非易失性存儲(chǔ)器。
SoC和/或SoC的端口可以具有媒體訪問控制器(MAC)地址。SoC的控制模塊(或處理器)可以具有相應(yīng)的處理器集群地址??刂颇K中的每個(gè)控制模塊可以使用對(duì)應(yīng)的MAC地址和處理器集群地址來訪問相同SoC中或另一SoC中的其他控制模塊。SoC的控制模塊中的每個(gè)控制模塊可以訪問DRAM。第一SoC的控制模塊可以通過發(fā)送具有第二SOC的MAC地址和第二SoC中的第二控制模塊的處理器集群地址的請(qǐng)求信號(hào)來請(qǐng)求存儲(chǔ)在連接到第二SoC的DRAM中的數(shù)據(jù)和/或程序。
SoC和/或SoC中的控制模塊中的每個(gè)可以存儲(chǔ)一個(gè)或多個(gè)地址轉(zhuǎn)化表。地址轉(zhuǎn)化表可以包括和/或提供針對(duì)以下的轉(zhuǎn)化:SoC的MAC地址;控制模塊的處理器集群地址;DRAM、固態(tài)非易失性存儲(chǔ)器以及非易失性存儲(chǔ)器中的存儲(chǔ)器單元的邏輯塊地址;和/或DRAM、固態(tài)非易失性存儲(chǔ)器以及非易失性存儲(chǔ)器中的存儲(chǔ)器單元的物理塊地址。
作為示例,數(shù)據(jù)和程序可以被存儲(chǔ)在固態(tài)非易失性存儲(chǔ)器和/或非易失性存儲(chǔ)器中。數(shù)據(jù)和程序和/或其部分可以通過網(wǎng)絡(luò)被分布到SoC和控制模塊。由控制室模塊運(yùn)行所需要的程序和/或數(shù)據(jù)可以在本地被存儲(chǔ)在控制模塊位于其中的SoC的DRAM、固態(tài)非易失性存儲(chǔ)器和/或非易失性存儲(chǔ)器中。控制模塊可以接著從DRAM、固態(tài)非易失性存儲(chǔ)器和/或非易失性存儲(chǔ)器訪問運(yùn)行所需要的程序和/或數(shù)據(jù)并將這些程序和數(shù)據(jù)傳送到控制模塊中的高速緩存。在SoC與網(wǎng)絡(luò)之間和/或在各SoC之間的通信可以包括無線通信。
作為另一示例,上述示例還可以被實(shí)現(xiàn)在包括SoC的服務(wù)器系統(tǒng)中。SoC中的一些SoC可以被包含在相應(yīng)的服務(wù)器中并且可以被稱為服務(wù)器SoC。SoC中的一些SoC(被稱為同伴SoC)可以被包含在第一SoC的服務(wù)器中或者可以與第一SoC的服務(wù)器是分離的。第一SoC包括相應(yīng)的:控制模塊(例如,中央處理模塊)的集群;集群內(nèi)環(huán)形總線、FLC模塊、存儲(chǔ)器控制模塊、FLC環(huán)形總線以及一個(gè)或多個(gè)跳躍總線。跳躍總線(i)經(jīng)由芯片間總線構(gòu)件和對(duì)應(yīng)的端口在服務(wù)器SoC與同伴SoC之間延伸以及(ii)通過同伴SoC延伸。跳躍總線可以指的是延伸到跳躍總線站、適配器或節(jié)點(diǎn)以及一個(gè)或多個(gè)SoC的對(duì)應(yīng)端口和從其延伸的總線。跳躍總線可以通過跳躍總線和/或一個(gè)或多個(gè)SoC延伸。往來于跳躍總線的單次數(shù)據(jù)傳送可以被稱為單跳??梢援?dāng)在發(fā)送設(shè)備與接收設(shè)備之間傳送數(shù)據(jù)時(shí)執(zhí)行多跳。數(shù)據(jù)可以在每個(gè)時(shí)鐘周期在各總線站之間行進(jìn)直到數(shù)據(jù)到達(dá)目的地。本文公開的每個(gè)總線站可以被實(shí)現(xiàn)為模塊并且包括用于基于時(shí)鐘信號(hào)來將數(shù)據(jù)在各設(shè)備之間進(jìn)行傳送的邏輯。此外,本文公開的每個(gè)總線可以具有用于數(shù)據(jù)的串行和/或并行傳輸?shù)娜魏螖?shù)量的信道。
控制模塊的集群中的每個(gè)集群具有集群內(nèi)環(huán)形總線中的對(duì)應(yīng)集群內(nèi)環(huán)形總線。集群內(nèi)環(huán)形總線是雙向的并且提供在集群中的每個(gè)集群中的控制模塊之間的通信。集群內(nèi)環(huán)形總線可以具有用于由控制模塊訪問在集群內(nèi)環(huán)形總線上傳輸?shù)臄?shù)據(jù)信號(hào)的環(huán)形總線站。環(huán)形總線站可以變現(xiàn)為信號(hào)復(fù)示器(repeater)和/或訪問節(jié)點(diǎn)??刂颇K可以經(jīng)由環(huán)形總線站連接到集群內(nèi)環(huán)形總線并訪問集群內(nèi)環(huán)形總線。數(shù)據(jù)可以圍繞集群內(nèi)環(huán)形總線從在環(huán)形總線站的第一環(huán)形總線站處的第一控制模塊被傳輸?shù)皆诃h(huán)形總線站的第二環(huán)形總線站處的第二控制模塊??刂颇K中的每個(gè)控制模塊可以是中央處理單元或處理器。
存儲(chǔ)器控制模塊中的每個(gè)存儲(chǔ)器控制模塊可以控制對(duì)FLC模塊中的相應(yīng)FLC模塊的訪問。FLC模塊可以被堆疊在服務(wù)器SoC上。FLC模塊中的每個(gè)FLC模塊包括FLC(或DRAM)并且可以被實(shí)現(xiàn)為本文所公開的FLC模塊中的任何FLC模塊并且與本文所公開的FLC模塊中的任何FLC模塊類似地操作。存儲(chǔ)器控制模塊可以訪問在FLC環(huán)形總線上的相應(yīng)環(huán)形總線站處的FLC環(huán)形總線并且在環(huán)形總線站與FLC模塊之間傳送數(shù)據(jù)。備選地,F(xiàn)LC模塊可以直接訪問在相應(yīng)環(huán)形總線站處的FLC環(huán)形總線。存儲(chǔ)器控制模塊中的每個(gè)存儲(chǔ)器控制模塊可以包括存儲(chǔ)器時(shí)鐘,其生成針對(duì)FLC模塊中的相應(yīng)FLC模塊和/或針對(duì)環(huán)形總線和/或跳躍總線的總線站的存儲(chǔ)器時(shí)鐘信號(hào)??偩€站可以間接地經(jīng)由環(huán)形總線和/或跳躍總線或者直接從存儲(chǔ)器控制模塊接收存儲(chǔ)器時(shí)鐘信號(hào)。數(shù)據(jù)可以基于存儲(chǔ)器時(shí)鐘信號(hào)通過總線站進(jìn)行循環(huán)。
FLC環(huán)形總線可以是雙向總線并且具有兩種類型的環(huán)形總線站SRB和SRH。環(huán)形總線站中的每個(gè)環(huán)形總線站可以執(zhí)行為信號(hào)復(fù)示器和/或訪問節(jié)點(diǎn)。環(huán)形總線站SRB連接到除了跳躍總線之外的設(shè)備。該設(shè)備可以包括:集群間環(huán)形總線0;FLC模塊和/或存儲(chǔ)器控制模塊;以及圖形處理模塊。集群間環(huán)形總線提供(i)在各集群之間以及(ii)在交叉環(huán)形站之間的連接。交叉環(huán)形總線站提供對(duì)集群間環(huán)形總線的訪問并且可以將集群間環(huán)形總線連接到在在(i)各集群以及(ii)環(huán)形總線站之間延伸的環(huán)形總線延伸。環(huán)形總線站處于FLC環(huán)形總線上。集群間環(huán)形總線和交叉環(huán)形總線站提供(iii)在第一集群與第二FLC環(huán)形總線的環(huán)形總線站之間以及(iv)在第二集群與第一FLC環(huán)形總線的環(huán)形總線站之間的連接。這允許控制模塊訪問第二FLC模塊的FLC并且允許控制模塊訪問第一FLC模塊的FLC。
集群間環(huán)形總線可以包括芯片內(nèi)跡線和芯片間跡線。芯片內(nèi)跡線在服務(wù)器SoC的內(nèi)部并且在(i)環(huán)形總線站中的一個(gè)與(ii)端口中的一個(gè)之間延伸。芯片外跡線在服務(wù)器SoC的外部并且在端口的相應(yīng)對(duì)之間延伸。
服務(wù)器SoC中的每個(gè)服務(wù)器SoC的環(huán)形總線站SRH連接到FLC環(huán)形總線和跳躍總線中的對(duì)應(yīng)一者。跳躍總線中的每個(gè)跳躍總線具有多個(gè)跳躍總線站SHB,其提供對(duì)跳躍總線中的每個(gè)跳躍總線的相應(yīng)接口訪問。跳躍總線站SHB可以被執(zhí)行為信號(hào)復(fù)示器和/或訪問節(jié)點(diǎn)。
第一跳躍總線、環(huán)形總線站和第一跳躍總線站提供在(i)FLC環(huán)形總線與(ii)服務(wù)器SoC中的液晶顯示器(LCD)接口以及同伴SoC的接口之間的連接。LCD接口可以連接到顯示器并且可以經(jīng)由GPM控制。同伴SoC的接口包括串行附接小型計(jì)算機(jī)系統(tǒng)接口(SAS)接口和PCIe接口。同伴SoC的接口是圖像處理器(IP)接口。
接口連接到相應(yīng)的端口,相應(yīng)的端口可以連接到諸如外圍設(shè)備的設(shè)備。SAS接口和PCIe接口可以分別經(jīng)由端口連接到SAS兼容設(shè)備和PCIe兼容設(shè)備。作為示例,存儲(chǔ)驅(qū)動(dòng)器可以連接到端口。存儲(chǔ)驅(qū)動(dòng)器可以是硬盤驅(qū)動(dòng)器、固態(tài)驅(qū)動(dòng)器或混合驅(qū)動(dòng)器。端口可以連接到圖像處理設(shè)備。以上公開了圖像處理設(shè)備的示例。第四SoC可以經(jīng)由芯片間總線構(gòu)件(還被稱為菊鏈構(gòu)件)菊鏈到第三SoC。芯片間總線構(gòu)件是第一跳躍總線的構(gòu)件。額外的SoC可以經(jīng)由連接到第一跳躍總線的端口菊鏈到第四SoC。服務(wù)器SoC、控制模塊和FLC模塊可以經(jīng)由FLC環(huán)形總線、第一跳躍總線和/或第三SoC來與第四SoC進(jìn)行通信。作為示例,SoC可以是南橋芯片并且控制在(i)服務(wù)器SoC與(ii)連接到端口的外圍設(shè)備之間的通信和中斷的傳送。
第二跳躍總線提供經(jīng)由環(huán)形總線站和第二跳躍總線站在(i)FLC環(huán)形總線與(ii)服務(wù)器SoC中的接口之間的連接。服務(wù)器SoC中的接口可以包括以太網(wǎng)接口、一個(gè)或多個(gè)PCIe接口以及混合(或組合)接口。以太網(wǎng)接口可以為10GE接口并且經(jīng)由第一以太網(wǎng)總線連接到網(wǎng)絡(luò)。以太網(wǎng)接口可以經(jīng)由第一以太網(wǎng)總線、網(wǎng)絡(luò)和第二以太網(wǎng)總線與第二SoC進(jìn)行通信。網(wǎng)絡(luò)可以為以太網(wǎng)絡(luò)、云網(wǎng)絡(luò)和/或其他以太網(wǎng)兼容網(wǎng)絡(luò)。一個(gè)或多個(gè)PCIe接口可以包括例如第三代PCIe接口PCIe3和迷你型PCIe接口(mPCIe)。PCIe接口可以連接到固態(tài)驅(qū)動(dòng)器?;旌辖涌诳梢允荢ATA和PCIe兼容的以根據(jù)SATA和/或PCIe協(xié)議來將數(shù)據(jù)傳送到SATA兼容的設(shè)備和/或PCIe兼容的設(shè)備和/或從SATA兼容的設(shè)備和/或PCIe兼容的設(shè)備傳送。作為示例,PCIe接口可以連接到存儲(chǔ)驅(qū)動(dòng)器,例如固態(tài)驅(qū)動(dòng)器或混合驅(qū)動(dòng)器。接口具有用于連接到在服務(wù)器SoC的外部的設(shè)備的相應(yīng)端口。
第三跳躍總線可以經(jīng)由環(huán)形總線站連接到環(huán)形總線并且可以經(jīng)由跳躍總線站連接到LCD接口和端口。LCD接口可以連接到顯示器并且可以經(jīng)由GPM控制。端口可以連接到一個(gè)或多個(gè)同伴SoC。第四跳躍總線可以經(jīng)由環(huán)形總線站連接到(i)環(huán)形總線并且(ii)可以經(jīng)由跳躍總線站連接到接口。接口可以為以太網(wǎng)接口、PCIe接口和混合接口。接口具有相應(yīng)的端口。
服務(wù)器SoC和/或其他服務(wù)器SoC可以經(jīng)由集群間環(huán)形總線互相通信。服務(wù)器SoC和/或其他服務(wù)器SoC可以經(jīng)由相應(yīng)的以太網(wǎng)接口和網(wǎng)絡(luò)互相通信。
同伴SoC可以包括相應(yīng)的控制模塊??刂颇K可以訪問和/或控制經(jīng)由跳躍總線站對(duì)接口的訪問。在一個(gè)實(shí)施例中,不包括控制模塊。控制模塊可以連接到各跳躍總線站的對(duì)應(yīng)的跳躍總線站和/或各接口的對(duì)應(yīng)的接口并且與其進(jìn)行通信。
作為另一示例,上述示例還可以被實(shí)現(xiàn)在移動(dòng)設(shè)備的電路中。移動(dòng)設(shè)備可以是計(jì)算機(jī)、蜂窩電話、或其他無線網(wǎng)絡(luò)設(shè)備。電路包括SoC。SoC可以被稱為移動(dòng)SoC。SoC可以被稱為同伴SoC。移動(dòng)SoC包括:控制模塊的集群;集群內(nèi)環(huán)形總線,F(xiàn)LC模塊,存儲(chǔ)器控制模塊,F(xiàn)LC環(huán)形總線,以及一個(gè)或多個(gè)跳躍總線。跳躍總線(i)經(jīng)由芯片間總線構(gòu)件和對(duì)應(yīng)的端口在移動(dòng)SoC與同伴SoC之間以及(ii)通過同伴SoC延伸。
集群內(nèi)環(huán)形總線是雙向的并且提供在各控制模塊之間的通信。集群內(nèi)環(huán)形總線可以具有用于由控制模塊訪問在集群內(nèi)環(huán)形總線上傳輸?shù)臄?shù)據(jù)信號(hào)的環(huán)形總線站。環(huán)形總線站可以執(zhí)行為信號(hào)復(fù)示器和/或訪問節(jié)點(diǎn)。控制模塊可以經(jīng)由環(huán)形總線站連接到集群內(nèi)環(huán)形總線并訪問集群內(nèi)環(huán)形總線。數(shù)據(jù)可以圍繞集群內(nèi)環(huán)形總線從在環(huán)形總線站的第一環(huán)形總線站處的第一控制模塊被傳輸?shù)皆诃h(huán)形總線站的第二環(huán)形總線站處的第二控制模塊。數(shù)據(jù)可以在在每個(gè)時(shí)鐘周期行進(jìn)在總線站之間直到數(shù)據(jù)到達(dá)目的地??刂颇K中的每個(gè)控制模塊可以是中央處理單元或處理器。
存儲(chǔ)器控制模塊可以控制對(duì)FLC模塊的訪問。在一個(gè)實(shí)施例中,不包括存儲(chǔ)器控制模塊。FLC模塊可以被堆疊在移動(dòng)SoC上。FLC模塊可以為FLC或DRAM并且可以被實(shí)現(xiàn)為本文所公開的FLC模塊中的任何FLC模塊并且與本文所公開的FLC模塊中的任何FLC模塊類似地操作。存儲(chǔ)器控制模塊可以訪問在FLC環(huán)形總線上的相應(yīng)環(huán)形總線站處的FLC環(huán)形總線并且在環(huán)形總線站與FLC模塊之間傳送數(shù)據(jù)。備選地,F(xiàn)LC模塊可以直接訪問在相應(yīng)環(huán)形總線站處的FLC環(huán)形總線。存儲(chǔ)器控制模塊可以包括存儲(chǔ)器時(shí)鐘,其生成針對(duì)FLC模塊、環(huán)形總線和/或跳躍總線的總線站的存儲(chǔ)器時(shí)鐘信號(hào)??偩€站可以間接地經(jīng)由環(huán)形總線和/或跳躍總線或者直接從存儲(chǔ)器控制模塊接收存儲(chǔ)器時(shí)鐘信號(hào)。數(shù)據(jù)可以基于存儲(chǔ)器時(shí)鐘信號(hào)而通過總線站進(jìn)行循環(huán)。
FLC環(huán)形總線可以是雙向總線并且具有兩種類型的環(huán)形總線站SRB和SRH。環(huán)形總線站中的每個(gè)環(huán)形總線站可以執(zhí)行為信號(hào)復(fù)示器和/或訪問節(jié)點(diǎn)。環(huán)形總線站SRB連接到除了跳躍總線之外的設(shè)備。該設(shè)備可以包括:集群;FLC模塊和/或存儲(chǔ)器控制模塊;以及圖形處理模塊。
移動(dòng)SoC的環(huán)形總線站SRH連接到FLC環(huán)形總線和跳躍總線中的對(duì)應(yīng)一個(gè)。跳躍總線中的每個(gè)跳躍總線具有多個(gè)跳躍總線站SHB,其提供對(duì)跳躍總線的對(duì)應(yīng)的跳躍總線的接口訪問。跳躍總線站SHB可以執(zhí)行為信號(hào)復(fù)示器和/或訪問節(jié)點(diǎn)。
第一跳躍總線、環(huán)形總線站和第一跳躍總線站連接在(i)FLC環(huán)形總線與(ii)液晶顯示器(LCD)接口、視頻處理模塊(VPM)、以及同伴SoC的接口之間。LCD接口處于服務(wù)器SoC中并且可以連接到顯示器并且可以經(jīng)由GPM控制。同伴SoC的接口包括蜂窩接口、無線局域網(wǎng)(WLAN)接口以及圖像信號(hào)處理器接口。蜂窩接口可以包括用于與其他移動(dòng)和/或無線設(shè)備進(jìn)行無線通信的物理層設(shè)備。物理層設(shè)備可以根據(jù)長(zhǎng)期演進(jìn)(LTE)標(biāo)準(zhǔn)和/或第三代(3G)移動(dòng)電信標(biāo)準(zhǔn)、第四代(4G)移動(dòng)電信標(biāo)準(zhǔn)和/或第五代(5G)移動(dòng)電信標(biāo)準(zhǔn)來操作和/或發(fā)送和接收信號(hào)。WLAN接口可以根據(jù)和/或其他WLAN協(xié)議來操作并且與移動(dòng)設(shè)備的WLAN設(shè)備中的其他網(wǎng)絡(luò)設(shè)備進(jìn)行通信。ISP接口可以連接到在同伴SoC的外部的圖像處理設(shè)備(或圖像信號(hào)處理設(shè)備),例如存儲(chǔ)驅(qū)動(dòng)器或其他圖像處理設(shè)備。接口可以經(jīng)由相應(yīng)的端口連接到在同伴SoC的外部的設(shè)備。ISP接口可以連接到在移動(dòng)設(shè)備的外部的設(shè)備。
同伴SoC可以經(jīng)由芯片間總線構(gòu)件連接到移動(dòng)SoC。芯片間總線構(gòu)件是第一跳躍總線的構(gòu)件。額外的SoC可以經(jīng)由連接到第一跳躍總線的端口菊鏈到同伴SoC。移動(dòng)SoC、控制模塊和FLC模塊可以經(jīng)由FLC環(huán)形總線和第一跳躍總線與同伴SoC進(jìn)行通信。
第二跳躍總線提供經(jīng)由環(huán)形總線站和第二跳躍總線站在(i)FLC環(huán)形總線與(ii)移動(dòng)SoC中的接口之間的連接。移動(dòng)SoC中的接口可以包括以太網(wǎng)接口、一個(gè)或多個(gè)PCIe接口以及混合(或組合)接口。以太網(wǎng)接口可以為10GE接口并且經(jīng)由端口連接到以太網(wǎng)絡(luò)。一個(gè)或多個(gè)PCIe接口可以包括例如第三代PCIe接口PCIe3和迷你型PCIe接口(mPCIe)。PCIe接口可以連接到固態(tài)驅(qū)動(dòng)器?;旌辖涌诳梢允荢ATA和PCIe兼容的以根據(jù)SATA和/或PCIe協(xié)議來將數(shù)據(jù)傳送到SATA兼容的設(shè)備和/或PCIe兼容的設(shè)備和/或從SATA兼容的設(shè)備和/或PCIe兼容的設(shè)備傳送。作為示例,PCIe接口可以經(jīng)由端口連接到存儲(chǔ)驅(qū)動(dòng)器。存儲(chǔ)驅(qū)動(dòng)器可以為固態(tài)驅(qū)動(dòng)器或混合驅(qū)動(dòng)器。接口具有用于連接到在移動(dòng)SoC的外部的設(shè)備的相應(yīng)端口。
同伴SoC可以包括控制模塊??刂颇K可以經(jīng)由跳躍總線站訪問和/或控制對(duì)VPM和接口的訪問。在一個(gè)實(shí)施例中,不包括控制模塊??刂颇K可以連接到跳躍總線站、VPM 1198和/或接口并且與跳躍總線站、VPM 1198和/或接口進(jìn)行通信。
本公開內(nèi)容中描述的無線通信能夠以與IEEE標(biāo)準(zhǔn)802.11-2012、IEEE標(biāo)準(zhǔn)802.16-2009、IEEE標(biāo)準(zhǔn)802.20-2008和/或藍(lán)牙核心規(guī)范v4.0完全或部分兼容地來執(zhí)行。在各種實(shí)施方案中,藍(lán)牙核心規(guī)范v4.0可以通過藍(lán)牙核心規(guī)范附錄2、3或4中的一個(gè)或多個(gè)來修改。在各種實(shí)施方案中,IEEE 802.11-2012可以由制定的IEEE標(biāo)準(zhǔn)802.11ac、制定的IEEE標(biāo)準(zhǔn)802.11ad和/或制定的IEEE標(biāo)準(zhǔn)802.11ah來補(bǔ)充。
盡管術(shù)語第一、第二、第三等等可以在本文中用于描述各種芯片、模塊、信號(hào)、元件和/或組件,但是這些項(xiàng)目不應(yīng)由這些術(shù)語限制。這些術(shù)語可以僅僅被用于將一個(gè)項(xiàng)目與另一項(xiàng)目區(qū)分開。諸如“第一”、“第二”和其他數(shù)值術(shù)語的術(shù)語當(dāng)在本文中使用時(shí)不暗示序列或順序,除非由上下文清楚地指示。因此,下面討論的第一項(xiàng)目能夠被命名為第二項(xiàng)目,而不脫離示例性示例的教導(dǎo)。
此外,各種術(shù)語被用于描述在各組件之間的物理關(guān)系。當(dāng)?shù)谝辉环Q為“連接到”、“接合到”或“耦合到”第二元件時(shí),第一元件可以直接連接、接合、設(shè)置、應(yīng)用或耦合到第二元件,或者可以存在居間元件。相反,當(dāng)元件被稱為“直接連接到”、“直接接合到”或“直接耦合到”另一元件時(shí),可以不存在居間元件。以第一元件“連接到”、“接合到”或“耦合到”第二元件開始暗示第一元件可以“直接連接到”、“直接接合到”或“直接耦合到”第二元件。用于描述在各元件之間的關(guān)系的其他詞語應(yīng)當(dāng)以類似的方式來解讀(例如,“在…之間”對(duì)比“直接在…之間”,“相鄰”對(duì)比“直接相鄰”,等等)。
前面的描述實(shí)質(zhì)上僅僅是說明性的并且不旨在以任何方式限制本公開內(nèi)容、其應(yīng)用或使用。本公開內(nèi)容的廣泛教導(dǎo)能夠以各種形式來實(shí)現(xiàn)。因此,當(dāng)本公開內(nèi)容包括特定示例時(shí),本公開內(nèi)容的真實(shí)范圍不應(yīng)當(dāng)受此限制,因?yàn)槠渌薷脑谘芯扛綀D、說明書和下面的權(quán)利要求書后將變得顯而易見。如本文中所使用的,短語A、B和C中的至少一個(gè)應(yīng)當(dāng)被理解為意味著使用非排他性的邏輯OR的邏輯(A OR B OR C),并且不應(yīng)當(dāng)被理解為意味著“A中的至少一個(gè)、B中的至少一個(gè)和C中的至少一個(gè)”。應(yīng)當(dāng)理解,方法內(nèi)的一個(gè)或多個(gè)步驟可以以不同順序(或并發(fā)地)來運(yùn)行而不改變本公開內(nèi)容的原理。
在本申請(qǐng)中,包括下面的定義,術(shù)語‘模塊’或術(shù)語‘控制器’可以利用術(shù)語‘電路’來代替。術(shù)語‘模塊’和術(shù)語‘控制器’可以指代以下各項(xiàng)、為其的部分或者包括以下各項(xiàng):專用集成電路(ASIC);數(shù)字分立電路、模擬分立電路或混合的模擬/數(shù)字分立電路;數(shù)字集成電路、模擬集成電路或混合的模擬/數(shù)字集成電路;組合邏輯電路;現(xiàn)場(chǎng)可編程門陣列(FPGA);運(yùn)行代碼的(共享、專用或組)處理器電路;存儲(chǔ)由處理器電路運(yùn)行的代碼的(共享、專用或組)存儲(chǔ)器電路;提供所描述的功能的其他適當(dāng)?shù)挠布M件;或者以上的一些或全部的組合(例如片上系統(tǒng)中)。
模塊或控制器可以包括一個(gè)或多個(gè)接口電路。在一些示例中,接口電路可以包括連接到局域網(wǎng)(LAN)、互聯(lián)網(wǎng)、廣域網(wǎng)(WAN)或其組合的有線接口或無線接口。本公開內(nèi)容的任何給出的模塊或控制器的功能可以被分布在經(jīng)由接口電路連接的多個(gè)模塊和/或控制器之中。例如,多個(gè)模塊和/或控制器可以允許負(fù)載均衡。在另一示例中,服務(wù)器(也被稱為遠(yuǎn)程或云)模塊或(遠(yuǎn)程或云)控制器可以代表客戶端模塊和/或客戶端控制器來完成某種功能。
如以上所使用的術(shù)語代碼可以包括軟件、固件和/或微代碼,并且可以指代程序、例程、函數(shù)、類、數(shù)據(jù)結(jié)構(gòu)和/或?qū)ο?。術(shù)語共享處理器包括運(yùn)行來自多個(gè)模塊和/或控制器的一些或所有代碼的單個(gè)處理器電路。術(shù)語組處理器電路包括與額外的處理器電路組合地運(yùn)行來自一個(gè)或多個(gè)模塊和/或控制器的一些或所有代碼的處理器電路。對(duì)多個(gè)處理器的引用包括在分立管芯上的多個(gè)處理器電路、在單個(gè)管芯上的多個(gè)處理器電路、單個(gè)處理器電路的多核心、單個(gè)處理器電路的多線程、或者以上的組合。術(shù)語共享存儲(chǔ)器電路包括存儲(chǔ)來自多個(gè)模塊和/或控制器的一些或所有代碼的單個(gè)存儲(chǔ)器電路。術(shù)語組存儲(chǔ)器電路包括與額外的存儲(chǔ)器組合地存儲(chǔ)來自一個(gè)或多個(gè)模塊和/或控制器的一些或所有代碼的存儲(chǔ)器電路。
術(shù)語存儲(chǔ)器電路是術(shù)語計(jì)算機(jī)可讀介質(zhì)的子集。如本文中所使用的計(jì)算機(jī)可讀介質(zhì)不包括通過介質(zhì)(例如在載波上)傳播的瞬態(tài)電信號(hào)或電磁信號(hào);術(shù)語計(jì)算機(jī)可讀介質(zhì)可以因此被認(rèn)為是有形的且非瞬態(tài)的。非瞬態(tài)的有形的計(jì)算機(jī)可讀介質(zhì)的非限制性示例是非易失性存儲(chǔ)器電路(例如閃速存儲(chǔ)器電路、可擦可編程只讀存儲(chǔ)器電路或者掩碼只讀存儲(chǔ)器電路)、易失性存儲(chǔ)器電路(例如靜態(tài)隨機(jī)訪問存儲(chǔ)器電路或動(dòng)態(tài)隨機(jī)訪問存儲(chǔ)器電路)、磁性存儲(chǔ)介質(zhì)(例如模擬或數(shù)字磁帶或硬盤驅(qū)動(dòng)器)以及光學(xué)存儲(chǔ)介質(zhì)(例如CD、DVD或藍(lán)光碟)。
本申請(qǐng)中描述的裝置和方法可以部分地或完全地由通過將通用計(jì)算機(jī)配置為運(yùn)行體現(xiàn)在計(jì)算機(jī)程序中的一個(gè)或多個(gè)特定功能的專用計(jì)算機(jī)實(shí)現(xiàn)。以上描述的功能框和流程圖元件用作軟件說明,其能夠由技術(shù)人員或程序員的日常工作轉(zhuǎn)化成計(jì)算機(jī)程序。
計(jì)算機(jī)程序包括存儲(chǔ)在至少一個(gè)非瞬態(tài)的有形的計(jì)算機(jī)可讀介質(zhì)上的機(jī)器可執(zhí)行指令。計(jì)算機(jī)程序還可以包括或依靠所存儲(chǔ)的數(shù)據(jù)。計(jì)算機(jī)程序可以包括與專用計(jì)算機(jī)的硬件交互的基本輸入/輸出系統(tǒng)(BIOS)、與專用計(jì)算機(jī)的特定設(shè)備交互的設(shè)備驅(qū)動(dòng)器、一個(gè)或多個(gè)操作系統(tǒng)、用戶應(yīng)用、背景服務(wù)、背景應(yīng)用等等。
計(jì)算機(jī)程序可以包括:(i)要解析的描述性文本,例如HTML(超文本標(biāo)記語言)或XML(可擴(kuò)展標(biāo)記語言),(ii)匯編代碼,(iii)由編譯器從源代碼生成的目標(biāo)代碼,(iv)用于由解釋器運(yùn)行的源代碼,(v)用于由即時(shí)編譯器編譯和運(yùn)行的源代碼,等等。僅僅作為示例,源代碼可以使用來自包括以下的語言的語法來編寫:C、C++、C#、面向?qū)ο驝、Haskell、Go、SQL、R、Lisp、Fortran、Perl、Pascal、Curl、OCaml、HTML5、Ada、ASP(動(dòng)態(tài)服務(wù)器頁面)、PHP、Scala、Eiffel、Smalltalk、Erlang、Ruby、VisualLua和
權(quán)利要求書中記載的元件中沒有一個(gè)旨在為35U.S.C.§112(f)的意義內(nèi)的裝置加功能元件,除非元件使用短語“用于…的裝置”來明確記載,或者在使用“用于…的操作”或“用于…的步驟”的方法權(quán)利要求的情況下。