用于動(dòng)態(tài)地確定存儲(chǔ)器設(shè)備的定時(shí)參數(shù)的系統(tǒng)和方法
【專利說明】用于動(dòng)態(tài)地確定存儲(chǔ)器設(shè)備的定時(shí)參數(shù)的系統(tǒng)和方法
[0001]相關(guān)串請(qǐng)的交叉引用
[0002]本申請(qǐng)要求共同擁有的于2013年3月15日提交的美國(guó)非臨時(shí)專利申請(qǐng)?zhí)?3/842,410的優(yōu)先權(quán),該非臨時(shí)專利申請(qǐng)的內(nèi)容通過援引全部明確納入于此。
[0003]領(lǐng)域
[0004]本公開一般涉及確定存儲(chǔ)器設(shè)備的定時(shí)參數(shù)。
_5] 相關(guān)技術(shù)描述
[0006]技術(shù)進(jìn)步已產(chǎn)生越來越小且越來越強(qiáng)大的計(jì)算設(shè)備。例如,當(dāng)前存在各種各樣的便攜式個(gè)人計(jì)算設(shè)備,包括較小、輕量且易于由用戶攜帶的無線計(jì)算設(shè)備,諸如便攜式無線電話、個(gè)人數(shù)字助理(PDA)以及尋呼設(shè)備。更具體地,便攜式無線電話(諸如蜂窩電話和網(wǎng)際協(xié)議(IP)電話)可通過無線網(wǎng)絡(luò)傳達(dá)語(yǔ)音和數(shù)據(jù)分組。此外,許多此類無線電話包括被納入于其中的其他類型的設(shè)備。例如,無線電話還可包括數(shù)碼相機(jī)、數(shù)碼攝像機(jī)、數(shù)字記錄器以及音頻文件播放器。同樣,此類無線電話可處理可執(zhí)行指令,包括可被用于訪問因特網(wǎng)的軟件應(yīng)用,諸如web瀏覽器應(yīng)用。如此,這些無線電話可包括顯著的計(jì)算能力。
[0007]計(jì)算設(shè)備可包括存儲(chǔ)器設(shè)備(例如,動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM))。存儲(chǔ)器設(shè)備可包括被安排成多行和多列的多個(gè)存儲(chǔ)元件。存儲(chǔ)器設(shè)備可基于定時(shí)參數(shù)(例如,讀取-至-數(shù)據(jù)等待時(shí)間(RL))來處理從處理器接收到的存儲(chǔ)器訪問請(qǐng)求。RL定時(shí)參數(shù)對(duì)應(yīng)于接收讀取(READ)命令和向數(shù)據(jù)總線提供與該讀取命令相關(guān)聯(lián)的數(shù)據(jù)之間的定時(shí)循環(huán)數(shù)目。存儲(chǔ)器設(shè)備的定時(shí)參數(shù)具有固定值(例如,由存儲(chǔ)器設(shè)備的制造商設(shè)置)。例如,固定RL定時(shí)參數(shù)可包括行訪問等待時(shí)間(例如,行訪問選通(RAS)等待時(shí)間)和列訪問等待時(shí)間(例如,列訪問選通(CAS)等待時(shí)間)。對(duì)某些存儲(chǔ)器訪問操作使用固定RL定時(shí)參數(shù)可導(dǎo)致數(shù)個(gè)定時(shí)循環(huán)的空閑數(shù)據(jù)總線,即,在服務(wù)先前存儲(chǔ)器訪問之后空閑的數(shù)據(jù)總線。
[0008]概述
[0009]公開了用于動(dòng)態(tài)地確定存儲(chǔ)器設(shè)備的定時(shí)參數(shù)的系統(tǒng)和方法。有利地,動(dòng)態(tài)地確定的定時(shí)參數(shù)可增大數(shù)據(jù)總線的吞吐量。例如,可由存儲(chǔ)器設(shè)備接收多個(gè)存儲(chǔ)器訪問請(qǐng)求。特定存儲(chǔ)器訪問請(qǐng)求可請(qǐng)求來自與先前存儲(chǔ)器訪問請(qǐng)求相同的存儲(chǔ)器行的數(shù)據(jù)。固定的定時(shí)參數(shù)是基于在相繼地訪問不同的行和列時(shí)發(fā)生的行訪問等待時(shí)間和列訪問等待時(shí)間來定義的。然而,當(dāng)行不變時(shí)(即,再次訪問來自同一行的數(shù)據(jù)時(shí)),行訪問等待時(shí)間為O。由此,使用固定等待時(shí)間定時(shí)參數(shù)對(duì)于同一行中的順序數(shù)據(jù)請(qǐng)求而言導(dǎo)致與行訪問等待時(shí)間相關(guān)聯(lián)的數(shù)據(jù)總線空閑時(shí)間。
[0010]根據(jù)所描述的技術(shù),可基于列訪問等待時(shí)間來確定動(dòng)態(tài)定時(shí)參數(shù)。該動(dòng)態(tài)定時(shí)參數(shù)可被用于確定何時(shí)開始提供與同一行中的順序數(shù)據(jù)請(qǐng)求相關(guān)聯(lián)的數(shù)據(jù)并且可減少數(shù)據(jù)總線空閑的歷時(shí)。由此,對(duì)于針對(duì)同一行的順序數(shù)據(jù)請(qǐng)求,提高了數(shù)據(jù)總線吞吐量。
[0011 ] 在特定實(shí)施例中,一種方法包括在存儲(chǔ)器設(shè)備處從處理器接收第一存儲(chǔ)器訪問請(qǐng)求。該方法還包括基于存儲(chǔ)器設(shè)備的定時(shí)參數(shù)來處理第一存儲(chǔ)器訪問請(qǐng)求。該方法進(jìn)一步包括在存儲(chǔ)器設(shè)備處從處理器接收第二存儲(chǔ)器訪問請(qǐng)求。該方法包括基于由第一存儲(chǔ)器訪問請(qǐng)求和第二存儲(chǔ)器訪問請(qǐng)求所標(biāo)識(shí)的地址來修改存儲(chǔ)器設(shè)備的定時(shí)參數(shù)以產(chǎn)生經(jīng)修改定時(shí)參數(shù)。該方法進(jìn)一步包括基于經(jīng)修改定時(shí)參數(shù)來處理第二存儲(chǔ)器訪問請(qǐng)求。
[0012]在另一特定實(shí)施例中,一種存儲(chǔ)器設(shè)備包括多個(gè)存儲(chǔ)元件和存儲(chǔ)器控制邏輯。該存儲(chǔ)器控制邏輯耦合至該多個(gè)存儲(chǔ)元件并且耦合至處理器。該存儲(chǔ)器控制邏輯被配置成至少部分地基于由從處理器接收到的多個(gè)存儲(chǔ)器訪問請(qǐng)求所標(biāo)識(shí)的存儲(chǔ)器地址來動(dòng)態(tài)地確定定時(shí)參數(shù)的值。該定時(shí)參數(shù)對(duì)應(yīng)于在與這多個(gè)存儲(chǔ)器訪問請(qǐng)求中的至少一個(gè)存儲(chǔ)器訪問請(qǐng)求相關(guān)聯(lián)的數(shù)據(jù)被提供給數(shù)據(jù)總線之前的定時(shí)循環(huán)數(shù)目。
[0013]在另一特定實(shí)施例中,一種裝置包括處理器和存儲(chǔ)器控制器。該存儲(chǔ)器控制器耦合至該處理器并且耦合至存儲(chǔ)器設(shè)備。該存儲(chǔ)器控制器被配置成至少部分地基于由至存儲(chǔ)器設(shè)備的多個(gè)存儲(chǔ)器訪問請(qǐng)求所標(biāo)識(shí)的存儲(chǔ)器地址來動(dòng)態(tài)地確定定時(shí)參數(shù)的值。該定時(shí)參數(shù)對(duì)應(yīng)于在與這多個(gè)存儲(chǔ)器訪問請(qǐng)求中的至少一個(gè)存儲(chǔ)器訪問請(qǐng)求相關(guān)聯(lián)的數(shù)據(jù)被提供給數(shù)據(jù)總線之前的定時(shí)循環(huán)數(shù)目。
[0014]在另一特定實(shí)施例中,一種方法包括從存儲(chǔ)器控制器向存儲(chǔ)器設(shè)備傳送第一存儲(chǔ)器訪問請(qǐng)求。該方法還包括基于定時(shí)參數(shù)的第一值來預(yù)測(cè)從存儲(chǔ)器設(shè)備至存儲(chǔ)器控制器的第一數(shù)據(jù)傳輸?shù)牡谝粫r(shí)間。該數(shù)據(jù)傳輸與第一存儲(chǔ)器訪問請(qǐng)求相關(guān)聯(lián)。該方法進(jìn)一步包括向存儲(chǔ)器設(shè)備傳送第二存儲(chǔ)器訪問請(qǐng)求。該方法還包括基于第一存儲(chǔ)器訪問請(qǐng)求和第二存儲(chǔ)器訪問請(qǐng)求來確定該定時(shí)參數(shù)的第二值。該方法進(jìn)一步包括基于第二值來預(yù)測(cè)從存儲(chǔ)器設(shè)備至存儲(chǔ)器控制器的第二數(shù)據(jù)傳輸?shù)牡诙r(shí)間。第二數(shù)據(jù)傳輸與第二存儲(chǔ)器訪問請(qǐng)求相關(guān)耳關(guān)。
[0015]在另一特定實(shí)施例中,一種計(jì)算機(jī)可讀存儲(chǔ)設(shè)備存儲(chǔ)指令,該指令在由處理器執(zhí)行時(shí)使該處理器接收第一存儲(chǔ)器訪問請(qǐng)求并基于定時(shí)參數(shù)的第一值來處理第一存儲(chǔ)器訪問請(qǐng)求。該指令在由處理器執(zhí)行時(shí)還使該處理器接收第二存儲(chǔ)器訪問請(qǐng)求。該指令在由處理器執(zhí)行時(shí)進(jìn)一步使該處理器至少部分地基于由第一存儲(chǔ)器訪問請(qǐng)求和第二存儲(chǔ)器訪問請(qǐng)求所標(biāo)識(shí)的地址來修改該定時(shí)參數(shù)以產(chǎn)生經(jīng)修改定時(shí)參數(shù)。該經(jīng)修改定時(shí)參數(shù)具有第二值。該指令在由處理器執(zhí)行時(shí)還使該處理器基于第二值來處理第二存儲(chǔ)器訪問請(qǐng)求。
[0016]在另一特定實(shí)施例中,一種方法包括用于在存儲(chǔ)器設(shè)備處從處理器接收第一存儲(chǔ)器訪問請(qǐng)求的第一步驟。該方法還包括用于基于存儲(chǔ)器設(shè)備的定時(shí)參數(shù)的第一值來處理第一存儲(chǔ)器訪問請(qǐng)求的第二步驟。該方法進(jìn)一步包括用于在存儲(chǔ)器設(shè)備處從處理器接收第二存儲(chǔ)器訪問請(qǐng)求的第三步驟。該方法還包括用于基于由第一存儲(chǔ)器訪問請(qǐng)求和第二存儲(chǔ)器訪問請(qǐng)求所標(biāo)識(shí)的地址來修改存儲(chǔ)器設(shè)備的定時(shí)參數(shù)以產(chǎn)生經(jīng)修改定時(shí)參數(shù)的第四步驟。該方法進(jìn)一步包括用于基于經(jīng)修改定時(shí)參數(shù)來處理第二存儲(chǔ)器訪問請(qǐng)求的第五步驟。
[0017]至少一個(gè)所公開的實(shí)施例提供的一個(gè)特定優(yōu)點(diǎn)在于通過動(dòng)態(tài)地更新定時(shí)參數(shù),存儲(chǔ)器設(shè)備的數(shù)據(jù)總線能被更高效地使用。例如,在某些情形中,動(dòng)態(tài)RL定時(shí)參數(shù)可低于固定RL定時(shí)參數(shù)。在存儲(chǔ)器訪問是針對(duì)與先前存儲(chǔ)器訪問相同的存儲(chǔ)器行時(shí),動(dòng)態(tài)RL定時(shí)參數(shù)可利用該存儲(chǔ)器訪問的無RAS延遲。使用動(dòng)態(tài)RL定時(shí)參數(shù)可導(dǎo)致存儲(chǔ)器的數(shù)據(jù)總線空閑達(dá)較短歷時(shí)。
[0018]本公開的其他方面、優(yōu)點(diǎn)和特征將在閱讀了整個(gè)申請(qǐng)后變得明了,整個(gè)申請(qǐng)包括下述章節(jié):附圖簡(jiǎn)述、詳細(xì)描述以及權(quán)利要求。
[0019]附圖簡(jiǎn)沐
[0020]圖1是可操作用于動(dòng)態(tài)地確定存儲(chǔ)器設(shè)備的定時(shí)參數(shù)的系統(tǒng)的特定解說性實(shí)施例的框圖;
[0021]圖2是與確定圖1的系統(tǒng)的動(dòng)態(tài)定時(shí)參數(shù)相關(guān)聯(lián)的時(shí)序圖;
[0022]圖3是與確定圖1的系統(tǒng)的動(dòng)態(tài)定時(shí)參數(shù)相關(guān)聯(lián)的另一時(shí)序圖;
[0023]圖4是圖1的系統(tǒng)的存儲(chǔ)器控制器的實(shí)施例的示圖;
[0024]圖5是圖1的系統(tǒng)的存儲(chǔ)器控制邏輯的實(shí)施例的示圖;
[0025]圖6是可操作用于動(dòng)態(tài)地確定存儲(chǔ)器設(shè)備的定時(shí)參數(shù)的系統(tǒng)的另一特定解說性實(shí)施例的示圖;
[0026]圖7是用于動(dòng)態(tài)地確定存儲(chǔ)器設(shè)備的定時(shí)參數(shù)的方法的特定解說性實(shí)施例的流程圖;
[0027]圖8是用于動(dòng)態(tài)地確定存儲(chǔ)器設(shè)備的定時(shí)參數(shù)的方法的特定解說性實(shí)施例的流程圖并且可對(duì)應(yīng)于圖7的操作708 ;
[0028]圖9是用于動(dòng)態(tài)地確定存儲(chǔ)器設(shè)備的定時(shí)參數(shù)的方法的特定解說性實(shí)施例的流程圖并且可對(duì)應(yīng)于圖8的操作804 ;
[0029]圖10是用于動(dòng)態(tài)地確定存儲(chǔ)器設(shè)備的定時(shí)參數(shù)的方法的另一特定解說性實(shí)施例的流程圖;
[0030]圖11是包括被配置成動(dòng)態(tài)地確定存儲(chǔ)器設(shè)備的定時(shí)參數(shù)的組件的無線通信設(shè)備的框圖;以及
[0031]圖12是用于制造包括被配置成動(dòng)態(tài)地確定存儲(chǔ)器設(shè)備的定時(shí)參數(shù)的組件的電子設(shè)備的制造過程的特定解說性實(shí)施例的數(shù)據(jù)流圖。
[0032]詳細(xì)描沐
[0033]參照?qǐng)D1,公開了可操作用于動(dòng)態(tài)地確定存儲(chǔ)器設(shè)備的定時(shí)參數(shù)的系統(tǒng)的特定解說性實(shí)施例并將其一般地標(biāo)示為100。系統(tǒng)100包括經(jīng)由數(shù)據(jù)總線140和經(jīng)由命令總線150耦合至存儲(chǔ)器120的處理器102。存儲(chǔ)器120的示例包括但不限于:雙數(shù)據(jù)率(DDR)同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM)、非易失性隨機(jī)存取存儲(chǔ)器(NVRAM)、以及動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM) ο
[0034]處理器102包括耦合至存儲(chǔ)器控制器106的中央處理單元(CPU) 104。存儲(chǔ)器控制器106可包括動(dòng)態(tài)定時(shí)參數(shù)108并且可包括用于動(dòng)態(tài)地確定定時(shí)參數(shù)的值的指令110。存儲(chǔ)器120包括耦合至多個(gè)存儲(chǔ)元件124的存儲(chǔ)器控制邏輯122。存儲(chǔ)器控制邏輯122可包括動(dòng)態(tài)定時(shí)參數(shù)126并且可包括用于動(dòng)態(tài)地確定定時(shí)參數(shù)的值的指令128。例如,指令128在由存儲(chǔ)器控制邏輯122執(zhí)行時(shí)可導(dǎo)致存儲(chǔ)器控制邏輯122接收來自處理器102的第一存儲(chǔ)器訪問請(qǐng)求。作為解說,這多個(gè)存儲(chǔ)元件124可被安排成多行和多列。行數(shù)可不同于列數(shù)。例如,行數(shù)可高于列數(shù)。存儲(chǔ)元件124可包括這多行中的第一行中的第一存儲(chǔ)元件和第二存儲(chǔ)元件。第一存儲(chǔ)元件被包括在這多列中的第一列中,而第二存儲(chǔ)元件被包括在這多列中的第二列中。處理器102可經(jīng)由命令總線150發(fā)出第一存儲(chǔ)器訪問請(qǐng)求以訪問第一存儲(chǔ)元件。第一存儲(chǔ)器訪問請(qǐng)求可對(duì)應(yīng)于第一讀取命令或第一寫入(WRITE)命令。
[0035]第一存儲(chǔ)器訪問請(qǐng)求可包括行激活命令(例如,ACT命令)和列激活命令(例如,第一讀取命令)。ACT命令可包括第一行的行地址的第一部分,且第一讀取命令可包括第一行的行地址的第二部分以及第一列的完整列地址。由于ACT命令僅包括行地址的第一部分,因此第一行可能直至接收到包括行地址的第二部分的第一讀取命令才被激活,從而在存儲(chǔ)器120處引入了處理延遲。為了減少處理延遲,處理器102可基于行訪問選通(RAS)-至-列訪問選通(CAS)延遲(tRCD)的值(例如,一 (I)個(gè)定時(shí)循環(huán))來傳送第一讀取命令。tRCD定時(shí)參數(shù)對(duì)應(yīng)于接收行激活命令(例如,ACT命令)和激活與該行激活命令相關(guān)聯(lián)的行之間的延遲。
[0036]當(dāng)存儲(chǔ)器120接收到ACT命令和第一讀取命令兩者時(shí),存儲(chǔ)器120可使用行地址的第一部分和行地址的第二部分來激活第一行。一旦存儲(chǔ)器120發(fā)起了第一行的激活,在行激活完成之前可能流逝若干個(gè)定時(shí)循環(huán)。用于完成第一行的激活的定時(shí)循環(huán)數(shù)目可對(duì)應(yīng)于RAS等待時(shí)間(例如,五(5)個(gè)定時(shí)循環(huán))。
[0037]在第一行已激活之后,存儲(chǔ)器120可基于第一讀取命令中所包括的完整列地址來激活第一列。如同第一行的激活那樣,在列激活完成之前可能流逝若干個(gè)定時(shí)循環(huán)。用于完成第一列的激活的定時(shí)循環(huán)數(shù)目可對(duì)應(yīng)于CAS等待時(shí)間(例如,五(5)個(gè)定時(shí)循環(huán))。
[0038]存儲(chǔ)器120可基于RL (讀取-至-數(shù)據(jù)等待時(shí)間)定時(shí)參數(shù)的值來提供第一數(shù)據(jù)(例如,對(duì)應(yīng)于與第一讀取命令相關(guān)聯(lián)的第一存儲(chǔ)元件中所存儲(chǔ)的值的數(shù)據(jù))。RL定時(shí)參數(shù)的值可對(duì)應(yīng)于RAS等待時(shí)間和CAS等待時(shí)間之和,例如,指示第一數(shù)據(jù)將在收到第一讀取命令后流逝十(10)個(gè)定時(shí)循環(huán)之后被提供給數(shù)據(jù)總線140。
[0039]存儲(chǔ)器控制邏輯122可基于RL定時(shí)參數(shù)來處理第一存儲(chǔ)器訪問請(qǐng)求。例如,當(dāng)在定時(shí)循環(huán)tCKl (例如,定時(shí)循環(huán)I)期間在存儲(chǔ)器120處接收到ACT命令且tRCD定時(shí)參數(shù)的值為一(I)個(gè)定時(shí)循環(huán)時(shí),存儲(chǔ)器120可在定時(shí)循環(huán)tCK2(例如,定時(shí)循環(huán)2)期間接收第一讀取命令。當(dāng)在定時(shí)循環(huán)tCK2期間在存儲(chǔ)器120處接收到第一讀取命令并且RL定時(shí)參數(shù)的值為十(10)個(gè)定時(shí)循環(huán)時(shí),第一數(shù)據(jù)可在定時(shí)循環(huán)tCK12(例如,定時(shí)循環(huán)12)期間開始被提供給數(shù)據(jù)總線140。第一數(shù)據(jù)112可繼續(xù)從存儲(chǔ)器120被提供給數(shù)據(jù)總線140,直至定時(shí)循環(huán)tCK15(例如,定時(shí)循環(huán)15)。在定時(shí)循環(huán)tCK15之后(S卩,在tCK16期間及之后),數(shù)據(jù)總線140不繁忙并且可被存儲(chǔ)器120用于從處理器102接收附加數(shù)據(jù)或者向處理器102提供附加數(shù)據(jù)。
[0040]存儲(chǔ)器控制邏輯122可從處理器102接收第二存儲(chǔ)器訪問請(qǐng)求。處理器102可發(fā)出第二存儲(chǔ)器訪問請(qǐng)求以訪問第二存儲(chǔ)元