相關(guān)申請(qǐng)的交叉引用
本申請(qǐng)要求于2016年3月3日提交的第62/303,353號(hào)美國(guó)臨時(shí)申請(qǐng)和于2016年6月8日提交的第62/347,569號(hào)美國(guó)臨時(shí)申請(qǐng)的優(yōu)先權(quán)及權(quán)益,其全部?jī)?nèi)容通過(guò)引用并入本文。
本發(fā)明的實(shí)施方式的方面涉及用于尋址大容量的類sdram(sdram-like)存儲(chǔ)器而不增加引腳成本或引腳數(shù)的方法。
背景技術(shù):
在jedecddr4sdram(雙倍數(shù)據(jù)速率第四代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)標(biāo)準(zhǔn)中,有用于cid(芯片id或秩(rank))的3個(gè)引腳、用于體(bank)的4個(gè)引腳、和用于行或列(取決于命令)的18個(gè)(共享)引腳。目前的引腳使用和尋址方案支持假設(shè)選擇并裝配dram芯片尺寸、寬度和組織的精確組合的每dimm(雙列直插式存儲(chǔ)模塊,在單一封裝中的大量dram芯片或其他存儲(chǔ)器芯片的集合)多達(dá)256gb的容量(否則,導(dǎo)致較小容量或較低可尋址的dimm)。大于上述的模塊容量或可尋址能力是不支持的(例如存儲(chǔ)器將是不可尋址的,即使其能夠物理地添加至模塊)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施方式的各個(gè)方面針對(duì)sdram命令、定時(shí)和組織。舉例來(lái)說(shuō),本發(fā)明的方面針對(duì)用于尋址像大容量sdram的存儲(chǔ)器而不增加引腳成本或引腳數(shù)的系統(tǒng)和方法。另有一些方面針對(duì)支持大容量存儲(chǔ)模塊,還保留了像sdram(例如ddr4)的地址引腳定義。還有一些方面針對(duì)act+(激活命令)或rd/wr+(讀取/寫(xiě)入命令)擴(kuò)展。還有一些方面針對(duì)背靠背ras/cas(行地址選通/列地址選通)命令、背靠背cas/cas及定時(shí)修改。還另有方面針對(duì)多行或多列緩沖區(qū)組織,包括命令修改和裝置重組。
根據(jù)本發(fā)明的實(shí)施方式,提供了用于在存儲(chǔ)裝置中尋址數(shù)據(jù)的方法。數(shù)據(jù)布置在分別由第一數(shù)量的行地址位和第二數(shù)量的列地址位索引的行和列的陣列中。數(shù)據(jù)使用由指定第三數(shù)量的行地址位的行地址命令緊接著指定第四數(shù)量的列地址位的列地址命令所定義的架構(gòu)尋址。第一數(shù)量大于第三數(shù)量或第二數(shù)量大于第四數(shù)量。方法包括:將第一數(shù)量的行地址位分割為行地址位的第一子集和行地址位的第二子集,當(dāng)?shù)谝粩?shù)量大于第三數(shù)量時(shí)在行地址命令中指定第一子集并在下一地址命令中指定第二子集;發(fā)出行地址命令作為存儲(chǔ)裝置的行的行存取的全部或部分;將第二數(shù)量的列地址位分割為列地址位的第三子集和列地址位的第四子集,當(dāng)?shù)诙?shù)量大于第四數(shù)量時(shí)在列地址命令中指定第四子集并在前一地址命令中指定第三子集;以及發(fā)出列地址命令作為行的列存取的全部或部分。
下一地址命令可為列地址命令或者前一地址命令可為行地址命令。
列地址命令的發(fā)出可緊接著行地址命令的發(fā)出。
第一數(shù)量可大于第三數(shù)量。架構(gòu)還可由表示在數(shù)據(jù)總線上列地址命令和數(shù)據(jù)可用性之間延遲的第一存取定時(shí)定義。方法還可包括:在第二存取定時(shí)中執(zhí)行行的初始列存取,第二存取定時(shí)長(zhǎng)于第一存取定時(shí);以及在第一存取定時(shí)中執(zhí)行行的隨后列存取。
方法還可包括在行地址命令之后和列地址命令之前發(fā)出下一地址命令或前一地址命令。
下一地址命令的發(fā)出可緊接著行地址命令的發(fā)出或者前一地址命令的發(fā)出可緊先于列地址命令的發(fā)出。
方法還可包括將第二數(shù)量的列地址位分割為列地址位的第三子集和列地址位的第四子集,當(dāng)?shù)谝粩?shù)量大于第三數(shù)量時(shí)在列地址命令中指定第四子集并在前一地址命令中指定第三子集。
第一數(shù)量可大于第三數(shù)量。數(shù)據(jù)還可布置在行和列的子陣列中,子陣列的每一個(gè)都為行和列的子集并分別由第三數(shù)量的行地址位和第二數(shù)量的列地址位索引。行地址位的第一子集可為第三數(shù)量的行地址位。存儲(chǔ)裝置可包括用于子陣列的每一個(gè)的行緩沖區(qū)。對(duì)于子陣列中的每一個(gè)子陣列,方法還可包括響應(yīng)于行地址命令用來(lái)自由對(duì)應(yīng)的所述行地址位的第一子集所指定的陣列的行數(shù)據(jù)加載對(duì)應(yīng)的所述行緩沖區(qū)。
方法還可包括在下一地址命令中選擇由行地址位的第二子集所指定的陣列之一。
第二數(shù)量可大于第四數(shù)量。數(shù)據(jù)還可布置在行和列的子陣列中,子陣列的每一個(gè)都為行和列的子集并分別由第一數(shù)量的行地址位和第四數(shù)量的列地址位索引。列地址位的第四子集可為第四數(shù)量的列地址位。存儲(chǔ)裝置可包括用于子陣列的每一個(gè)的行緩沖區(qū)。對(duì)于子陣列中的每一個(gè)子陣列,方法還可包括響應(yīng)于行地址命令用來(lái)自由第一數(shù)量的行地址位所指定的子陣列的行數(shù)據(jù)加載對(duì)應(yīng)的所述行緩沖區(qū)。
方法還可包括在前一地址命令中選擇由列地址位的第三子集所指定的陣列之一。
根據(jù)本發(fā)明另一實(shí)施方式,提供了存儲(chǔ)裝置。存儲(chǔ)裝置包括用于儲(chǔ)存布置在分別由第一數(shù)量的行地址位和第二數(shù)量的列地址位索引的行和列的陣列中的數(shù)據(jù)的存儲(chǔ)單元。存儲(chǔ)裝置中的數(shù)據(jù)使用由指定第三數(shù)量的行地址位的行地址命令緊接著指定第四數(shù)量的列地址位的列地址命令所定義的架構(gòu)尋址。第一數(shù)量大于第三數(shù)量或第二數(shù)量大于第四數(shù)量。數(shù)據(jù)的尋址包括:將第一數(shù)量的行地址位分割為行地址位的第一子集和行地址位的第二子集,當(dāng)?shù)谝粩?shù)量大于第三數(shù)量時(shí)在行地址命令中指定第一子集并在下一地址命令中指定第二子集;發(fā)出行地址命令作為存儲(chǔ)裝置的行的行存取的全部或部分;將第二數(shù)量的列地址位分割為列地址位的第三子集和列地址位的第四子集,當(dāng)?shù)诙?shù)量大于第四數(shù)量時(shí)在列地址命令中指定第四子集并在前一地址命令中指定第三子集;以及發(fā)出列地址命令作為行的列存取的全部或部分。
下一地址命令可為列地址命令或者前一地址命令可為行地址命令。
列地址命令的發(fā)出可緊接著行地址命令的發(fā)出。
第一數(shù)量可大于第三數(shù)量。架構(gòu)還可由表示在數(shù)據(jù)總線上列地址命令和數(shù)據(jù)可用性之間延遲的第一存取定時(shí)定義。數(shù)據(jù)的尋址還可包括:在第二存取定時(shí)中執(zhí)行行的初始列存取,第二存取定時(shí)長(zhǎng)于第一存取定時(shí);以及在第一存取定時(shí)中執(zhí)行行的隨后列存取。
數(shù)據(jù)的尋址還可包括在行地址命令之后和列地址命令之前發(fā)出下一地址命令或前一地址命令。
下一地址命令的發(fā)出可緊接著行地址命令的發(fā)出或者前一地址命令的發(fā)出可緊先于列地址命令的發(fā)出。
第一數(shù)量可大于第三數(shù)量。數(shù)據(jù)還可布置在行和列的子陣列中,子陣列的每一個(gè)都為行和列的子集并分別由第三數(shù)量的行地址位和第二數(shù)量的列地址位索引。行地址位的第一子集可為第三數(shù)量的行地址位。存儲(chǔ)裝置還可包括用于子陣列的每一個(gè)的行緩沖區(qū)。對(duì)于子陣列中的每一個(gè)子陣列,數(shù)據(jù)的尋址還可包括響應(yīng)于行地址命令用來(lái)自由對(duì)應(yīng)的所述行地址位的第一子集所指定的陣列的行數(shù)據(jù)加載對(duì)應(yīng)的所述行緩沖區(qū)。
數(shù)據(jù)的尋址還可包括在下一地址命令中選擇由行地址位的第二子集所指定的陣列之一。
第二數(shù)量可大于第四數(shù)量。數(shù)據(jù)還可布置在行和列的子陣列中,子陣列的每一個(gè)都為行和列的子集并分別由第一數(shù)量的行地址位和第四數(shù)量的列地址位索引。列地址位的第四子集可為第四數(shù)量的列地址位。存儲(chǔ)裝置還可包括用于子陣列的每一個(gè)的行緩沖區(qū)。對(duì)于子陣列中的每一個(gè)子陣列,數(shù)據(jù)的尋址還可包括響應(yīng)于行地址命令用來(lái)自由第一數(shù)量的行地址位所指定的陣列的行數(shù)據(jù)加載對(duì)應(yīng)的所述行緩沖區(qū)。
數(shù)據(jù)的尋址還可包括在前一地址命令中選擇由列地址位的第三子集所指定的陣列之一。
根據(jù)本發(fā)明又一實(shí)施方式,提供了存儲(chǔ)模塊。存儲(chǔ)模塊包括多個(gè)存儲(chǔ)裝置。存儲(chǔ)裝置中的每個(gè)存儲(chǔ)裝置包括用于儲(chǔ)存布置在分別由第一數(shù)量的行地址位和第二數(shù)量的列地址位索引的行和列的陣列中的數(shù)據(jù)的存儲(chǔ)單元。存儲(chǔ)裝置中的數(shù)據(jù)使用由指定第三數(shù)量的行地址位的行地址命令緊接著指定第四數(shù)量的列地址位的列地址命令所定義的架構(gòu)尋址。第一數(shù)量大于第三數(shù)量或第二數(shù)量大于第四數(shù)量。數(shù)據(jù)的尋址包括:將第一數(shù)量的行地址位分割為行地址位的第一子集和行地址位的第二子集,當(dāng)?shù)谝粩?shù)量大于第三數(shù)量時(shí)在行地址命令中指定第一子集并在下一地址命令中指定第二子集;發(fā)出行地址命令作為存儲(chǔ)裝置的行的行存取的全部或部分;將第二數(shù)量的列地址位分割為列地址位的第三子集和列地址位的第四子集,當(dāng)?shù)诙?shù)量大于第四數(shù)量時(shí)在列地址命令中指定第四子集并在前一地址命令中指定第三子集;以及發(fā)出列地址命令作為行的列存取的全部或部分。
下一地址命令可為列地址命令或者前一地址命令可為行地址命令。
列地址命令的發(fā)出可緊接著行地址命令的發(fā)出。
第一數(shù)量可大于第三數(shù)量。架構(gòu)還可由表示在數(shù)據(jù)總線上列地址命令和數(shù)據(jù)可用性之間延遲的第一存取定時(shí)定義。數(shù)據(jù)的尋址還可包括:在第二存取定時(shí)中執(zhí)行行的初始列存取,第二存取定時(shí)長(zhǎng)于第一存取定時(shí);以及在第一存取定時(shí)中執(zhí)行行的隨后的列存取。
數(shù)據(jù)的尋址還可包括在行地址命令之后和列地址命令之前發(fā)出下一地址命令或前一地址命令。
下一地址命令的發(fā)出可緊接著行地址命令的發(fā)出或者前一地址命令的發(fā)出可緊先于列地址命令的發(fā)出。
對(duì)于存儲(chǔ)裝置中的每個(gè)存儲(chǔ)裝置:第一數(shù)量可大于第三數(shù)量;數(shù)據(jù)還可布置在行和列的子陣列中,子陣列的每一個(gè)都為行和列的子集并分別由第三數(shù)量的行地址位和第二數(shù)量的列地址位索引,行地址位的第一子集為第三數(shù)量的行地址位;存儲(chǔ)裝置還可包括用于子陣列的每一個(gè)的行緩沖區(qū);以及對(duì)于子陣列中的每一個(gè)子陣列,數(shù)據(jù)的尋址還可包括響應(yīng)于行地址命令用來(lái)自由對(duì)應(yīng)的所述行地址位的第一子集所指定的陣列的行數(shù)據(jù)加載對(duì)應(yīng)的所述行緩沖區(qū)。
對(duì)于存儲(chǔ)裝置中的每個(gè)存儲(chǔ)裝置:第二數(shù)量可大于第四數(shù)量;數(shù)據(jù)還可布置在行和列的子陣列中,子陣列的每一個(gè)都為行和列的子集并分別由第一數(shù)量的行地址位和第四數(shù)量的列地址位索引,列地址位的第四子集為第四數(shù)量的列地址位;存儲(chǔ)裝置還可包括用于子陣列的每一個(gè)的行緩沖區(qū);以及對(duì)于子陣列中的每一個(gè)子陣列,數(shù)據(jù)的尋址還可包括響應(yīng)于用來(lái)自行地址命令如由第一數(shù)量的行地址位所指定的陣列的行數(shù)據(jù)加載對(duì)應(yīng)的所述行緩沖區(qū)。
存儲(chǔ)裝置的每一個(gè)都可為相變隨機(jī)存取存儲(chǔ)(pram)裝置。
根據(jù)以上和其他實(shí)施方式,提供了用于尋址像大容量sdram存儲(chǔ)器而不增加引腳成本或引腳數(shù)的新方法。這些方法可基于來(lái)自模塊的信息和支持在初始化時(shí)配置。雖然添加更多地址引腳是解決尋址對(duì)容量問(wèn)題的一個(gè)途徑,但引腳是成本昂貴的,并且其通常需要保留sdram(例如ddr4)引腳定義。
附圖說(shuō)明
附圖連同說(shuō)明書(shū)一起闡示了本發(fā)明的示例實(shí)施方式。這些示意圖連同描述一起用于更好地解釋本發(fā)明的方面和原理。
圖1是根據(jù)本發(fā)明實(shí)施方式的示例存儲(chǔ)模塊和存儲(chǔ)裝置的原理圖。
圖2包括圖2a和圖2b,是根據(jù)本發(fā)明實(shí)施方式的使用擴(kuò)展激活(act+)命令的示例數(shù)據(jù)存取操作的示意圖。
圖3是根據(jù)本發(fā)明實(shí)施方式的使用擴(kuò)展讀取(rd+)命令的示例數(shù)據(jù)存取操作的示意圖。
圖4包括圖4a和圖4b,是根據(jù)本發(fā)明實(shí)施方式的使用背靠背ras/cas命令序列的示例數(shù)據(jù)存取操作的示意圖。
圖5是根據(jù)本發(fā)明實(shí)施方式的使用背靠背cas/cas(雙cas)命令序列的示例數(shù)據(jù)存取操作的示意圖。
圖6是根據(jù)本發(fā)明其他實(shí)施方式的使用背靠背ras/cas或cas/cas命令序列的示例數(shù)據(jù)存取操作的示意圖。
圖7是根據(jù)本發(fā)明實(shí)施方式的用于示例擴(kuò)展讀取(rd+)命令的ddr4sdram真值表。
圖8是根據(jù)本發(fā)明實(shí)施方式的存儲(chǔ)芯片的示例行組織的示意圖。
圖9是根據(jù)本發(fā)明實(shí)施方式的用于示例擴(kuò)展寫(xiě)入(wr+)命令的ddr4sdram真值表。
圖10是根據(jù)本發(fā)明實(shí)施方式的存儲(chǔ)芯片的示例列組織的示意圖。
圖11是根據(jù)本發(fā)明實(shí)施方式的用于尋址存儲(chǔ)裝置的示例方法的流程圖。
具體實(shí)施方式
在下文中,將根據(jù)附圖更詳細(xì)地描述示例實(shí)施方式,其中同樣的參考數(shù)字自始至終是指同樣的元件。然而,本發(fā)明可以多個(gè)不同的形式實(shí)現(xiàn),并且不應(yīng)本理解為僅限于本文所示的實(shí)施方式。
在本文中,當(dāng)描述本發(fā)明實(shí)施方式時(shí)術(shù)語(yǔ)“可”的使用是指“本發(fā)明的一個(gè)或多個(gè)實(shí)施方式”。此外,當(dāng)描述本發(fā)明實(shí)施方式時(shí)諸如“或”的可選語(yǔ)言的使用是指用于每個(gè)所列的相應(yīng)項(xiàng)目的“本發(fā)明的一個(gè)或多個(gè)實(shí)施方式”。
本文中所述的根據(jù)本發(fā)明實(shí)施方式的電子或電氣裝置和/或任何其他相關(guān)裝置或組件可利用任何硬件、固件(例如專用集成電路(asic))、軟件或軟件、固件和硬件的組合來(lái)實(shí)施。例如,這些裝置的多個(gè)組件可在一個(gè)集成電路(ic)芯片上或在不同的ic芯片上形成。而且,這些裝置的多個(gè)組件可在柔性印刷電路薄膜、帶載封裝(tcp)、印刷電路板(pcb)上實(shí)施或形成在一個(gè)襯底上。
此外,這些裝置的多個(gè)組件可為運(yùn)行于執(zhí)行計(jì)算機(jī)程序指令并為執(zhí)行本文所述的多個(gè)功能性而與其他系統(tǒng)組件交互的一個(gè)或多個(gè)計(jì)算裝置中的一個(gè)或多個(gè)計(jì)算機(jī)處理器(比如微處理器)上的進(jìn)程或線程。計(jì)算機(jī)程序指令可儲(chǔ)存在可在使用諸如隨機(jī)存取存儲(chǔ)器(ram)的標(biāo)準(zhǔn)存儲(chǔ)裝置的計(jì)算裝置中實(shí)施的存儲(chǔ)器中。計(jì)算機(jī)程序指令還可儲(chǔ)存在其他非臨時(shí)性計(jì)算機(jī)可讀介質(zhì)中,例如cd-rom、閃存驅(qū)動(dòng)器等等。
此外,本領(lǐng)域?qū)I(yè)技術(shù)人員應(yīng)意識(shí)到,多個(gè)計(jì)算裝置的功能性可組合或集成至單一計(jì)算裝置中,或特定計(jì)算裝置的功能性可跨越一個(gè)或多個(gè)其他計(jì)算裝置分布而不背離本發(fā)明的精神和范圍。
在ddr4sdram中,存儲(chǔ)裝置(例如芯片)以行和列的陣列組織。行表示讀取粒度,例如當(dāng)sdram裝置的行內(nèi)的存儲(chǔ)器的任何位置被讀取或被寫(xiě)入時(shí)存取的sdram裝置中的數(shù)據(jù)量。列表示被讀取或被寫(xiě)入的行內(nèi)的特定部分(比如4個(gè)、8個(gè)或16個(gè)位,也稱為數(shù)據(jù)字)。首先提供行地址(比如用act命令)以將該行從sdram帶入行緩沖區(qū)中,然后提供列地址(比如用rd或wr命令)以在行處于行緩沖區(qū)中時(shí)讀取或?qū)懭胄械奶囟ú糠?。因?yàn)榕c裝置的容量相比每行字節(jié)數(shù)相對(duì)較小,行遠(yuǎn)多于列。因此,用于尋址行的位(或硬件中的引腳)多于在該行中尋址列。
此外,因?yàn)樾械刂肥紫忍峁┎⒋笥诹械刂?,ddr4sdram中的行地址引腳中的一些被重復(fù)用以提供列地址。當(dāng)下面的存儲(chǔ)芯片中行和列的數(shù)量關(guān)于該關(guān)系均衡時(shí),地址引腳可在列地址命令期間有效地重復(fù)使用,從而有效利用架構(gòu)。然而,當(dāng)行和列的數(shù)量并不均衡時(shí),地址引腳不可有效地重復(fù)利用,因此限制了可尋址的容量。例如在ddr4中,行的數(shù)量可在18個(gè)位中尋址,列的數(shù)量可在10個(gè)位中尋址。這強(qiáng)行限制了對(duì)應(yīng)的存儲(chǔ)芯片的大小以及數(shù)據(jù)的組織(行和列的數(shù)量)以充分利用尋址能力。例如,支持多行(例如多于18個(gè)尋址位)而相對(duì)較少的列的存儲(chǔ)芯片可能不能充分利用該尋址方案。
根據(jù)一個(gè)或多個(gè)實(shí)施方式,提供了支持大容量存儲(chǔ)模塊(比如ddr4sdram存儲(chǔ)模塊)的方法和架構(gòu)。例如,一些實(shí)施方式可提供類似sdram(比如ddr4)的地址引腳定義用于訪問(wèn)非易失性(比如pram或相變存儲(chǔ)器)存儲(chǔ)。
根據(jù)一個(gè)或多個(gè)實(shí)施方式,提供了激活(act)命令擴(kuò)展(act+)。該新act命令可為帶有為擴(kuò)展的尋址能力(比如擴(kuò)展的行地址)添加的又一個(gè)周期的現(xiàn)有的act命令的擴(kuò)展。在另一實(shí)施方式中,該act+命令可為用于擴(kuò)展的尋址能力的新的(單獨(dú)的)命令。
根據(jù)一個(gè)或多個(gè)實(shí)施方式,提供了rd/wr+(例如讀取、寫(xiě)入或其他列地址命令)擴(kuò)展。這些新命令可為帶有為擴(kuò)展的尋址能力(比如擴(kuò)展的列地址)添加的又一個(gè)周期的現(xiàn)有的rd/wr命令的擴(kuò)展。在又一實(shí)施方式中,rd/wr+命令可為用于擴(kuò)展的尋址能力的新的(單獨(dú)的)命令。
根據(jù)其他實(shí)施方式,連同對(duì)應(yīng)的定時(shí)修改一起提供了修改的背靠背行存取/列存取(ras/cas,表示“行存取選通”和“列存取選通”)命令(比如修改的讀取或?qū)懭朊?。例如,可提供新的rd/wrcas(讀取/寫(xiě)入命令和其對(duì)應(yīng)的列選擇位)定義,以便未使用的位(例如在列地址命令期間未使用的行地址位或列地址位)可重新目的化以攜帶擴(kuò)展的行地址,有效增加越過(guò)其他設(shè)置或預(yù)定的(例如架構(gòu)強(qiáng)加的)限制的尋址位的數(shù)量。例如,在一個(gè)或多個(gè)實(shí)施方式中,修改的act中的新的定時(shí)參數(shù)和rd/wr定時(shí)相關(guān)性可用于支持這種新的(或重新目的化的)rd/wr命令。
根據(jù)另一實(shí)施方式,提供了修改的背靠背行存取(cas/cas)命令。例如,可提供新的rd/wr命令以通過(guò)在兩個(gè)cas命令之一中提供擴(kuò)展的列或行地址位支持?jǐn)U展的列(或行)尋址能力。
根據(jù)又一實(shí)施方式,提供了多行緩沖區(qū)組織(例如帶有命令修改和裝置重組)。例如,雖然下面的架構(gòu)僅可支持這么多的行地址,但可提供具有額外的行地址索引的新的裝置組織。例如,在一個(gè)或多個(gè)實(shí)施方式中,可提供新的rd/wr(cas)命令,以便未使用的位(例如在列地址命令期間未使用的行地址位或列地址位)可重新目的化以攜帶擴(kuò)展的地址,比如擴(kuò)展的行地址或擴(kuò)展的列地址。
根據(jù)還一實(shí)施方式,提供了多列緩沖區(qū)組織(例如帶有命令修改和裝置重組)。例如,雖然下面的架構(gòu)僅可支持這么多的列地址,但可提供具有額外的列地址索引的新的裝置組織。例如,在一個(gè)或多個(gè)實(shí)施方式中,可提供新的act(ras)命令,以便未使用的位(例如在列地址命令期間未使用的行地址位)可重新目的化以攜帶擴(kuò)展的地址,比如擴(kuò)展的列地址。
根據(jù)本發(fā)明實(shí)施方式的上述方法和其他方法可基于來(lái)自模塊的信息和支持而配置于存儲(chǔ)模塊的每個(gè)存儲(chǔ)裝置的初始化。
為了易于描述,下列所述主要基于jedecddr4sdram標(biāo)準(zhǔn)(或簡(jiǎn)稱ddr4),其可采用4-位、8-位或16-位寬的dram芯片,但本發(fā)明不限于此。在其他實(shí)施方式中,如對(duì)于本領(lǐng)域普通技術(shù)人員顯而易見(jiàn)的那樣,可應(yīng)用諸如其他sdram標(biāo)準(zhǔn)(包括其他雙倍數(shù)據(jù)速率(ddr)標(biāo)準(zhǔn))的不同標(biāo)準(zhǔn)且仍屬于本發(fā)明的精神和范圍內(nèi)。除非相反描述,當(dāng)涉及ddr4時(shí),用于ddr4sdram的jedec標(biāo)準(zhǔn),jedec固態(tài)技術(shù)協(xié)會(huì)的卷jesd79-4a(2013年11月)管轄,其全部?jī)?nèi)容通過(guò)引用包含在本文中。
此外,貫穿全文的術(shù)語(yǔ)“kb”、“mb”、“gb”和“tb”是指字節(jié)(b,或標(biāo)準(zhǔn)計(jì)算機(jī)架構(gòu)中的8個(gè)位)的二的冪,即1kb=1024字節(jié),1mb=1024kb,1gb=1024mb,及1tb=1024gb。為了更易于描述,dram芯片將假設(shè)為數(shù)據(jù)芯片以及二的冪的數(shù)量(例如每rank4芯、8芯或16芯),盡管實(shí)際中其他數(shù)量的芯片(例如對(duì)于每8個(gè)數(shù)據(jù)芯片的額外芯片)可用于諸如錯(cuò)誤檢測(cè)或修正的功能。還是為了更易于描述,術(shù)語(yǔ)“頁(yè)面”將在本文中與“行”稍微有同義地使用;兩者都涉及對(duì)應(yīng)于特定行的存儲(chǔ)芯片上的存儲(chǔ)器的部分。以此類推,當(dāng)提及存儲(chǔ)硬件時(shí),“芯片”和“裝置”貫穿全文將稍微有同義地使用;兩者都涉及存儲(chǔ)模塊的最小的單獨(dú)可插拔的(或有時(shí)是可尋址的,正如堆棧式存儲(chǔ)芯片)存儲(chǔ)元件。
圖1是根據(jù)本發(fā)明實(shí)施方式的示例存儲(chǔ)模塊100和存儲(chǔ)裝置120的原理圖。
例如,存儲(chǔ)模塊100可為dimm,比如ddr4sdramdimm。存儲(chǔ)模塊100可包括包括引腳互連的印刷電路板(pcb)110、安裝在pcb110上的存儲(chǔ)裝置120(例如存儲(chǔ)芯片,比如隨機(jī)存取存儲(chǔ)器(ram)芯片)及用于連接存儲(chǔ)裝置120至使用存儲(chǔ)模塊100的電子裝置的引腳130,比如工作站或個(gè)人計(jì)算機(jī)中的微處理器。pcb110可在兩面上都具有引腳130和存儲(chǔ)裝置120并且通過(guò)引腳互連,并且存儲(chǔ)裝置120可為堆棧式(例如,使用硅通孔技術(shù)或tsv)。
圖2包括圖2a和圖2b,是根據(jù)本發(fā)明實(shí)施方式的使用擴(kuò)展act(激活)或act+的命令的示例數(shù)據(jù)存取操作的示意圖。
在圖2(及后續(xù)附圖)中,闡釋了各個(gè)定時(shí)參數(shù)(例如trc、tras)。特別相關(guān)處還將描述這些參數(shù);否則,其定義和使用如jedecddr4sdram標(biāo)準(zhǔn)中所提供的或如本領(lǐng)域普通技術(shù)人員已知的那樣。
在ddr4中,3個(gè)引腳用于cid(芯片id或rank),4個(gè)引腳用于體(例如每個(gè)存儲(chǔ)芯片內(nèi)的行和列的單獨(dú)陣列),18個(gè)引腳用于行(和列)尋址。用于ddr4sdram的地址引腳重復(fù)用于行尋址和列尋址。在ddr4中,存儲(chǔ)控制器可存取在不同周期期間在相同引腳上使用2個(gè)命令的sdram地址:act(激活)和rd/wr(讀取/寫(xiě)入)。act命令可激活使用行地址(18個(gè)引腳)的行,加載該行至行緩沖區(qū),而rd/wr命令可使用列地址(10個(gè)引腳)從行緩沖區(qū)選擇對(duì)應(yīng)的列。這里“rd/wr”是讀取(rd)命令或?qū)懭?wr)命令(或其他列地址命令)的簡(jiǎn)寫(xiě),兩類或兩種命令將不再進(jìn)一步區(qū)分,除非如此明確提及(例如“rd/wr”、“rd”和“wr”可同義地使用以指讀取或?qū)懭朊?。
在ddr4中,當(dāng)前的引腳使用和尋址方案不可支持大容量存儲(chǔ)器。例如,假設(shè)2gb每dram芯片連同諸如16個(gè)dram芯片(同時(shí)可尋址)每rank(例如每個(gè)dram芯片在該rank中每次為總計(jì)16×4位=64位的數(shù)據(jù)存取提供4個(gè)位的數(shù)據(jù))以及8個(gè)rank(或多組(可能堆棧的)dram芯片)的芯片配置,當(dāng)前ddr4僅能支持256gb每dimm,。
然而,這些容量?jī)H可在像這樣的精確配置中獲得。在許多情況下,在架構(gòu)定義(預(yù)期)的行和列的數(shù)量與下面的硬件中支持的行和列的實(shí)際數(shù)量之間存在不平衡(例如比起為有效實(shí)施架構(gòu)而設(shè)計(jì)的,硬件中的行太多而列太少,或可能正相反,比如行太少而列太多),實(shí)質(zhì)上浪費(fèi)引腳。為增加總?cè)萘?,或?yàn)閼]及不平衡的行/列數(shù),一個(gè)解決方案就是增加更多引腳。遺憾的是,這樣成本很高,并且可能要修訂當(dāng)前的ddr4標(biāo)準(zhǔn)。
如圖2b中所示,根據(jù)本發(fā)明實(shí)施方式,一個(gè)可能的解決方案可為使用擴(kuò)展的act(act+)命令,在此情況下為雙周期act命令(取代通常的單周期act命令)。參見(jiàn)圖2a并比較標(biāo)準(zhǔn)act命令在ddr4中的實(shí)施。在圖2a和圖2b中(及其他定時(shí)圖),所示定時(shí)從左至右進(jìn)行,有4個(gè)單獨(dú)的水平資源進(jìn)行存取,即從高到低,(i)存儲(chǔ)命令和地址總線,(ii)存儲(chǔ)體,(iii)存儲(chǔ)裝置(例如dram芯片),以及(iv)存儲(chǔ)數(shù)據(jù)總線。簡(jiǎn)言之,構(gòu)成存儲(chǔ)模塊(比如dimm或雙列直插式存儲(chǔ)模塊)上的rank的一組存儲(chǔ)(dram)芯片在體(存儲(chǔ)芯片內(nèi)的邏輯劃分)中存取,每個(gè)體由行構(gòu)成,而每個(gè)行由列構(gòu)成。
每個(gè)dimm可包括多組這種dram芯片或rank。為了易于描述,存取dimm時(shí)將只考慮單個(gè)rank以及該rank內(nèi)的單個(gè)體。act命令可在指定體(例如3個(gè)位或4個(gè)位)及該體內(nèi)的行(例如不超過(guò)18個(gè)位)。在圖2a和圖2b中從左至右,首先存取行(按照act命令所指定的),然后是列(按照rd/wr命令所指定的,比如rd)。這造成了待讀取或待寫(xiě)入數(shù)據(jù)的突發(fā),比如每個(gè)裝置的4或8個(gè)數(shù)據(jù)字,或每個(gè)dimm的32或64個(gè)字節(jié)。每個(gè)裝置的相同行中的4或8個(gè)數(shù)據(jù)字(dimm中的32或64個(gè)相連字節(jié))的進(jìn)一步存取可快速完成。然而,為了存取不同行,預(yù)充電(pre)命令可用于將當(dāng)前行回寫(xiě)入存儲(chǔ)陣列為由隨后的act命令待存取的下一行做準(zhǔn)備。
在圖2b的實(shí)施方式中,使用了擴(kuò)展的act命令(act+)。此處,act命令示為從一個(gè)時(shí)鐘周期擴(kuò)展至兩個(gè)時(shí)鐘周期,例如act可在第二時(shí)鐘周期中提供額外的地址位(act+),以便增加提供的行地址位的數(shù)量。在ddr4中,例如額外的act+時(shí)鐘周期可用于越過(guò)相同的行地址引腳發(fā)送行地址(共36個(gè)位)的另外18個(gè)位(擴(kuò)展位),這也可允許顯著較窄的行(例如較少的列數(shù))尋址相同(或更多)數(shù)量的數(shù)據(jù)。在其他實(shí)施方式中,在act+命令中僅可提供10或12個(gè)行地址位,以便act+命令可有適當(dāng)?shù)倪\(yùn)算碼。
例如,在一些實(shí)施方式中,支持act+命令的存儲(chǔ)裝置可在初始化定時(shí)配置以識(shí)別標(biāo)準(zhǔn)act(單周期)ras命令或新的(雙周期)act/act+協(xié)議。通過(guò)這樣的方式,將僅有一個(gè)act命令,如果正在實(shí)施標(biāo)準(zhǔn)ddr4架構(gòu)則存儲(chǔ)裝置預(yù)期act命令被發(fā)出一次(act),如果正在使用擴(kuò)展的act(act+)協(xié)議則在連續(xù)周期中有兩次。
通過(guò)如上所述的act+命令(例如跨越兩個(gè)周期的36個(gè)行地址位),即使在每行僅包含單個(gè)4-位列的極端情況下,使用此擴(kuò)展的行尋址能力的單個(gè)dram芯片能夠在ddr4架構(gòu)中存取240個(gè)這樣的4-位列(四位元或半字節(jié)),或512gb的數(shù)據(jù)(例如使用4個(gè)位的體地址和36個(gè)位的擴(kuò)展行地址),且引腳數(shù)或引腳成本無(wú)任何改變或增加。這已是在單個(gè)存儲(chǔ)芯片中比ddr4標(biāo)準(zhǔn)為整個(gè)dimm(其可包括不超過(guò)128個(gè)dram芯片)提供的更大的容量。
在一些實(shí)施方式中,較窄的行可通過(guò)pram(相變r(jià)am)充分利用,其可取代傳統(tǒng)sdram芯片以搭建帶有這種act+擴(kuò)展的ddr4dimm。例如,相較于可比的sdram芯片,pram可更能經(jīng)受大量窄行(例如列很少)的考驗(yàn),其可具有用于4-位寬的dram芯片的512-字節(jié)行(例如1024個(gè)列)。
在擴(kuò)展的act命令的另一實(shí)施方式中,act命令可保持不變并簡(jiǎn)單地緊接著稱為“act+”的新的單周期命令以攜帶額外的尋址位(例如10個(gè)或12個(gè)位)。例如,如圖2b中所示,act+命令可緊接著第一act命令以攜帶擴(kuò)展的行信息(例如以類似上述的雙周期act+命令的方式工作)。因?yàn)樾碌腶ct+命令自身可要求指定明顯多于act命令(其在ddr4中具有專用命令位)的位,可用地址位的余下數(shù)量可稍微小于(例如10個(gè)或12個(gè)位而不是18個(gè)位)若標(biāo)準(zhǔn)act命令從單周期延長(zhǎng)至雙周期則將可用的數(shù)量。
圖3是根據(jù)本發(fā)明實(shí)施方式的使用擴(kuò)展讀取(rd+)命令的示例數(shù)據(jù)存取操作的示意圖。
在諸如圖3中所示的其他實(shí)施方式中,rd/wr命令(或任何列地址命令)可類似于對(duì)于act命令的上述修改而進(jìn)行修改以攜帶額外的列信息。例如,dram大小可通過(guò)將列大小通過(guò)使用rd/wr+命令以指定另外的尋址位(例如另10或12個(gè)列尋址位)而從10個(gè)列地址位擴(kuò)大至例如20或22個(gè)列地址位來(lái)擴(kuò)充,而不增加引腳成本或引腳數(shù)。這些技術(shù)的兩者之一(或兩者結(jié)合使用)可顯著增加存儲(chǔ)芯片尋址能力(例如至tb大小或更多)而無(wú)任何引腳成本或引腳數(shù)的改變。
act+或rd/wr+的特定實(shí)施不需要固定在dimm中。例如,在一些實(shí)施方式中,使用哪個(gè)擴(kuò)展的act命令或擴(kuò)展的rd/wr命令系統(tǒng)(如果有)可在初始化中做出選擇(并可在之后的初始化中改變)。
包括圖4a和圖4b的圖4是根據(jù)本發(fā)明實(shí)施方式的使用背靠背ras/cas命令序列的示例數(shù)據(jù)存取操作的示意圖。雖然ras可能本來(lái)已表示“行地址選通”而cas表示“列地址選通”,正如本文中所使用的那樣,這些術(shù)語(yǔ)多半指再存儲(chǔ)芯片讀取或?qū)懭氩僮髦蟹謩e提供行地址和列地址。另參見(jiàn)圖6和下面的描述,例如雙cas(例如背靠背cas)序列以提供額外的地址位。
圖4示出了另外的技術(shù)以提供額外的行/列信息,即使用新的背靠背ras/cas系統(tǒng)。在該機(jī)制中,定義了新的rd/wr(cas),以便另外未使用的地址位(列或行)可攜帶擴(kuò)展的地址信息,并且可比標(biāo)準(zhǔn)rd/wr命令更快地提供命令。例如,在ddr4中,高階行地址位中的三個(gè)連同用于與rd和wr指令一起使用的cas位都是可用的。又例如,下面的存儲(chǔ)裝置可支持比10個(gè)列地址位提供的更少的列,所以這些額外列地址位中的一些可再分配以攜帶擴(kuò)展的行地址位。
再例如,為動(dòng)態(tài)控制列地址命令中可選的特征(比如即時(shí)數(shù)據(jù)突發(fā)長(zhǎng)度)提供的高階行地址位可重新目的化為額外的擴(kuò)展地址位和默認(rèn)為其靜態(tài)設(shè)置的特定動(dòng)態(tài)特征。
與這些列地址改變一起,可引入新的定時(shí)參數(shù)和修改的act及rd/wr定時(shí)相關(guān)性以支持重新目的化的rd/wr命令。這些示出在圖4a和圖4b中,圖4a示出了標(biāo)準(zhǔn)rd/wr協(xié)議(rd/wr指令由rd表示),圖4b示出了修改的ras/cas命令序列。
更詳細(xì)地,在ddr4中,如圖4a中所示,act命令提供了行地址(ras,18位),而隨后的rd/wr命令提供了列地址(cas,10位)。這28(18+10)個(gè)位與不超過(guò)4個(gè)體位一起在構(gòu)成rank(例如4、8或16個(gè)存儲(chǔ)芯片)的每個(gè)dram芯片中尋址數(shù)據(jù)寬度(例如4、8或16個(gè)位)用于該rank的特定(例如64位)讀取或?qū)懭氪嫒?。然而,通過(guò)背靠背發(fā)送ras或cas,專用于ras和cas的位與任何未使用的地址位(例如像rd或wr的cas命令中的三個(gè)未使用的行地址位)可重新配置為提供在不同的格式或故障中尋址的擴(kuò)展的行或列,比如充分利用具有除ddr4中架構(gòu)的那些之外的不同行和列布置的存儲(chǔ)芯片。
此外,對(duì)于擴(kuò)展的行地址,存儲(chǔ)裝置可配置為初始存取act命令中指定的所有行(例如帶有18個(gè)可用的行地址位,以避免在存取數(shù)據(jù)中的延遲),減少在(可能立即)接著的rd命令中通過(guò)剩余的(擴(kuò)展的)行地址位的選擇。例如,存儲(chǔ)裝置可具有用于能夠借助最前的18個(gè)行地址位尋址的每個(gè)可能的行的行緩沖區(qū)。在另一實(shí)施方式中,存儲(chǔ)裝置可開(kāi)始加載所有這樣的行至單個(gè)行緩沖區(qū)中,但一旦提供了行地址的剩余部分則只允許實(shí)際的行加載至行緩沖區(qū)中。
例如,借助可用于在背靠背ras/cas命令序列中尋址的31個(gè)位(18個(gè)ras+10個(gè)cas+3個(gè)未使用的),可在act命令中提供擴(kuò)展的行地址的18個(gè)位,隨后是在緊接著的rd/wr命令中的擴(kuò)展的行地址的剩余的10個(gè)位連同3位(例如8個(gè)列)列地址??倢ぶ纺芰亩黾恿?倍而引腳數(shù)無(wú)任何增加,并且下面的行和列大小可調(diào)節(jié)至更好地適應(yīng)下面的存儲(chǔ)芯片計(jì)數(shù)(比如pram)。換言之,在一些實(shí)施方式中,ras可僅攜帶部分行地址,而cas(可能通過(guò)一些未使用的地址位擴(kuò)展)可攜帶其余的擴(kuò)展的行地址連同列地址(或反之用于擴(kuò)展的列地址,如可用在其他實(shí)施方式中的那樣)。
此命令序列修改可需要修改由存儲(chǔ)控制器使用的定時(shí)參數(shù)以存取存儲(chǔ)模塊。例如,在ddr4中,trcd和tcl可受到影響。此處,trcd(又稱ras至cas延遲)是指act命令與第一個(gè)隨后的rd或wr命令可服務(wù)的定時(shí)之間的(例如正如從act命令的開(kāi)始(或結(jié)束)至rd/wr命令的對(duì)應(yīng)的開(kāi)始(或結(jié)束)所測(cè)量的)最大定時(shí)(例如時(shí)鐘周期)。此外,tcl(或tcas,又稱cas時(shí)延)是指提供cas與列的第一個(gè)數(shù)據(jù)存取在數(shù)據(jù)總線上可用的定時(shí)之間的定時(shí)。在圖4b中,trcd將短于實(shí)際數(shù)據(jù)感知定時(shí),數(shù)據(jù)感知定時(shí)的一部分將由tcl覆蓋,因此tcl變得更長(zhǎng)。在圖4b中,應(yīng)注意的是,總trcd+tcl定時(shí)與圖4a中相同(例如trcd可縮短由tcl延長(zhǎng)的相同量)。
為有助于避免圖4b中更長(zhǎng)tcl定時(shí)的性能問(wèn)題,比如開(kāi)放-頁(yè)面(開(kāi)放-行)策略,在一些實(shí)施方式中,可定義新的定時(shí)參數(shù)tcl_l(長(zhǎng))和tcl_s(短)。此處,tcl_l(例如圖4b中所示的tcl)可與trcd一起使用以首先存取頁(yè)面內(nèi)的列,tcl_s可用于隨后的用于開(kāi)放頁(yè)面的行緩沖區(qū)(例如相同行,不同列)存取。這相似或類同于在有長(zhǎng)的或短的區(qū)別(例如trrd_l和trr-s)的ddr4中已出現(xiàn)的一些定時(shí)參數(shù);存儲(chǔ)控制器可保持追蹤何時(shí)使用tcl_l或tcl_s。對(duì)于這種實(shí)施可不需要額外的命令,并且存儲(chǔ)元件不需要知道不同的tcl。
圖5是根據(jù)本發(fā)明實(shí)施方式的使用背靠背cas/cas(雙cas)命令序列的示例數(shù)據(jù)存取操作的示意圖。
在圖5中,兩個(gè)cas命令(例如背靠背cas或雙cas命令,如作為示例示出的兩個(gè)rd命令,rd和rd+)可用于擴(kuò)展地址。例如,cas命令的一者或兩者可提供額外的(擴(kuò)展的)地址位。該分配可基于下面的存儲(chǔ)裝置配置,將地址位移動(dòng)至兩個(gè)cas命令中較適當(dāng)者以利用存儲(chǔ)裝置的特征。例如,如果存儲(chǔ)裝置支持帶有多于可用單個(gè)cas命令尋址的列的大行,額外的列地址位可在第一個(gè)cas命令中提供,以起到將大行的每一個(gè)有效劃分為許多小行的“邏輯行”地址擴(kuò)展的作用,其每一個(gè)都是在標(biāo)準(zhǔn)構(gòu)架下的最大的可能的行大小。然后第二個(gè)cas命令可起到類似標(biāo)準(zhǔn)cas命令的作用。
對(duì)于另一示例,如果存儲(chǔ)裝置支持非常大量的小行(例如多于原本可尋址的行),第一個(gè)cas命令可為用于在行內(nèi)選擇特定列的標(biāo)準(zhǔn)cas命令,借助用于匹配初始ras命令的每個(gè)可能的對(duì)應(yīng)的行地址的行緩沖區(qū)。然后第二個(gè)cas命令可用作行緩沖區(qū)的選擇,以選擇哪個(gè)行緩沖區(qū)實(shí)際提供(或接收)數(shù)據(jù)。在還一實(shí)施方式中,擴(kuò)展的行地址位可以其他邏輯方式布置(例如在雙cas命令內(nèi)重新分配)以利用增加的尋址能力。
圖6是根據(jù)本發(fā)明其他實(shí)施方式的使用背靠背ras/cas或cas/cas命令序列的示例數(shù)據(jù)存取操作的示意圖。
在這里,兩個(gè)cas命令(例如背靠背cas或雙cas命令,如作為示例示出的兩個(gè)rd命令)可用于比在圖4b的實(shí)施方式中更進(jìn)一步地?cái)U(kuò)展地址。圖6中的第二個(gè)rd命令示出為rd+命令。類似于上述的參照?qǐng)D2b的act+命令,額外的命令可用于提供額外的地址位,比如另外10或12個(gè)地址位。這也可與先前技術(shù)相結(jié)合。
作為無(wú)限制的示例,rd+命令可用于提供列地址,借助提供擴(kuò)展的行地址的剩余的行地址位的第一個(gè)rd命令。在另一實(shí)施方式中,rd+可用于提供擴(kuò)展的列地址的剩余的地址位,借助第一個(gè)rd命令提供初始列地址位。在又一實(shí)施方式中,第一個(gè)rd可緊接著act命令(例如提供額外的行地址位及可能提供一些列地址位作為部分背靠背ras/cas序列),而rd+(或第二個(gè)rd)可延遲至正常列存取定時(shí)以提供全部或部分列地址。
在再一實(shí)施方式中,地址位(比如列地址位)可視情況重新分配在兩個(gè)cas(比如rd或wr)命令之間以適應(yīng)下面的硬件。例如,對(duì)于其(擴(kuò)展的)列地址不適合單個(gè)命令的相同(寬度的)行的連續(xù)存取可具有跨越一對(duì)連貫的rd或wr(cas)命令分割的擴(kuò)展的列地址。
雖然圖6示出act、rd和rd+命令是連續(xù)的,但在相鄰的命令之間可有延遲或間隙,比如在act和rd命令之間,或在rd和rd+命令之間,取決于實(shí)施方式。
圖7是根據(jù)本發(fā)明實(shí)施方式的用于示例擴(kuò)展讀取(rd+)命令的ddr4sdram真值表。
參照?qǐng)D7,rd+命令旨在通過(guò)兩個(gè)命令周期傳送。在此示例中,rd+命令可在初始化時(shí)配置并可通過(guò)利用第三芯片id位c2與rd命令加以區(qū)別(例如對(duì)于rd+的c2=h而對(duì)于rd的c2=l)。雖然這可將堆棧式存儲(chǔ)芯片限制到只有四個(gè),但在其他實(shí)施方式中,不同的位可用于區(qū)分兩個(gè)命令。此外,在圖7中,即時(shí)突發(fā)模式位bc_n還可重新目的化成其擴(kuò)展的地址位a12定義。雖然這可禁用即時(shí)突發(fā)模式選擇,突發(fā)模式仍可通過(guò)模式寄存器設(shè)置按需更改,并且在其他實(shí)施方式中,不同的位可用于擴(kuò)展地址。
因此,圖7的rd+命令可傳送除通常十個(gè)列地址(ca)位、兩個(gè)體組(bg)位和兩個(gè)體地址(ba)位以外的四個(gè)額外的擴(kuò)展地址(ea)位。ea位可用于例如指定在act命令或10位ca中指定的18位行地址(ra)以外的其他行或列地址信息。
此外,圖7的rd+命令具有緊接著第一命令周期的第二命令周期,這次使用未使用的命令代碼(在ddr4架構(gòu)中識(shí)別為留作將來(lái)使用,或rfu),連同二位優(yōu)先字段及10-位讀取id(rid)字段(圖7中所示的三個(gè)剩余的位也是rfu)。當(dāng)存儲(chǔ)裝置具有與ddr4架構(gòu)中所占的相比的額外的容量或存儲(chǔ)空間(例如較多行或緩沖區(qū))時(shí),優(yōu)先和讀取id字段可提供例如額外的信息(例如額外的地址位或緩沖區(qū)選擇位)至存儲(chǔ)裝置。
圖8是根據(jù)本發(fā)明實(shí)施方式的存儲(chǔ)芯片的示例行組織的示意圖。
在一些實(shí)施方式中,提供額外的行/列信息而不增加引腳數(shù)或引腳成本的額外技術(shù)可為采用多行緩沖區(qū)組織。這里,存儲(chǔ)裝置可具有新的內(nèi)部組織以支持額外地址索引,并可利用新的rd/wr(cas)命令系統(tǒng)以傳達(dá)額外信息(比如重新目的化其他未使用的cas位以指定部分?jǐn)U展行地址)。
更詳細(xì)地,如圖8中所示,僅帶有一個(gè)緩沖區(qū)(行緩沖區(qū))815的相較“窄而高”的存儲(chǔ)陣列810(例如許多行但相對(duì)較少列)可分解為僅由多個(gè)較小陣列830的類似架構(gòu)820(其每個(gè)都為“窄而短”,具有少于存儲(chǔ)陣列810的行但相同數(shù)量的列),每個(gè)都具有其自己的緩沖區(qū)(行緩沖區(qū))835。例如,存儲(chǔ)陣列810可具有多于可正常尋址的行(例如多于17或18個(gè)位的地址空間),而陣列架構(gòu)820可具有其所有行都可尋址的陣列830(例如少于或等于17或18個(gè)位的地址空間)。
為了尋址并存取這些行緩沖區(qū)835,在一些實(shí)施方式中,帶有用于目標(biāo)數(shù)據(jù)陣列的行地址的act可發(fā)送至每個(gè)小陣列830。每個(gè)陣列830通過(guò)將信息從該行放入其自己的緩沖區(qū)835的方式響應(yīng)。然后可發(fā)送帶有列地址和陣列id的rd/wr,這將讀取/寫(xiě)入數(shù)據(jù)至目標(biāo)陣列830的緩沖區(qū)(比如圖8中所示的最底下的陣列830)。換言之,擴(kuò)展的行地址可通過(guò)提供act命令中的低階行地址位(行id)和用rd/wr命令的高階行地址位(陣列id)來(lái)支持(比如在cas字段的未使用部分或其他未使用的地址位,例如圖7的rd+命令中的ea或rid位)。這可借助其他技術(shù)存儲(chǔ)芯片(比如pram)提供顯著增加的容量而不添加引腳數(shù)、引腳成本或從發(fā)出act命令至從相應(yīng)的行存取第一數(shù)據(jù)的延遲。
此外,對(duì)于同一組行的其他rd/wr命令(例如共享相同的行id)可通過(guò)使用相同的未使用位(例如ea、rid、未使用的ca)而不用另一act命令來(lái)完成以指定不同的陣列id(其緩沖區(qū)將已從初始act命令加載)。
圖9是根據(jù)本發(fā)明實(shí)施方式的用于示例擴(kuò)展寫(xiě)入(wr+)命令的ddr4sdram真值表。
參照?qǐng)D9,wr+命令是單周期命令。在此示例中,rd+命令可在初始化時(shí)配置并可通過(guò)利用第三芯片id位c2與rd命令加以區(qū)別(例如對(duì)于rd+的c2=h而對(duì)于rd的c2=l)。雖然這可將堆棧式存儲(chǔ)芯片限制到只有四個(gè),但在其他實(shí)施方式中,不同的位可用于區(qū)分兩個(gè)命令。此外,在圖7中,即時(shí)突發(fā)模式位bc_n還可重新目的化成其擴(kuò)展的地址位a12定義。雖然這可禁用即時(shí)突發(fā)模式選擇,突發(fā)模式仍可通過(guò)模式寄存器設(shè)置按需更改,并且在其他實(shí)施方式中,不同的位可用于擴(kuò)展地址。
因此,圖9的wr+命令可傳送除通常十個(gè)列地址(ca)位、兩個(gè)體組(bg)位和兩個(gè)體地址(ba)位以外的四個(gè)額外的擴(kuò)展地址(ea)位。ea位可用于例如指定在act命令或10位ca中指定的18位行地址(ra)以外的其他行或列地址信息。
圖10是根據(jù)本發(fā)明實(shí)施方式的存儲(chǔ)芯片的示例列組織的示意圖。
正如圖8的多行緩沖區(qū)組織,提供額外的行/列信息而不增加引腳數(shù)或引腳成本的額外技術(shù)可為采用如圖10中所示的多行緩沖區(qū)組織。這里,存儲(chǔ)裝置可具有新的內(nèi)部組織以支持額外地址索引,并可利用新的act(ras)命令系統(tǒng)以傳達(dá)額外信息(比如重新目的化其他未使用的ras位以指定部分?jǐn)U展行地址)。
更詳細(xì)地,如圖10中所示,僅帶有一個(gè)緩沖區(qū)(行緩沖區(qū))1015的相較“窄而高”的存儲(chǔ)陣列1010(例如許多行但相對(duì)較少列)可分解為僅由多個(gè)較小陣列1030的類似架構(gòu)1020(其每個(gè)都為“窄而短”,具有少于存儲(chǔ)陣列1010的列但相同數(shù)量的行),每個(gè)都具有其自己的緩沖區(qū)(行緩沖區(qū))1035。例如,存儲(chǔ)陣列1010可具有多于可正常尋址的列(例如多于10個(gè)位的地址空間),而陣列架構(gòu)1020可具有其所有列都可尋址的陣列1030(例如少于或等于10個(gè)位的地址空間)。
為了尋址并存取這些行緩沖區(qū)1035,在一些實(shí)施方式中,帶有用于目標(biāo)數(shù)據(jù)陣列的(相對(duì)較小的)行地址的act可發(fā)送至每個(gè)小陣列1030,其可用所需的行依次加載其對(duì)應(yīng)的行緩沖區(qū)1035。此外,可提供列地址和陣列id(例如在一個(gè)或兩個(gè)隨后的cas命令中,或可能作為部分act命令及一個(gè)或兩個(gè)隨后的cas命令)以識(shí)別陣列1030內(nèi)所需的列及所需的陣列1030(比如來(lái)自圖10中所示左側(cè)的第三陣列1030)。
換言之,擴(kuò)展的列地址可通過(guò)提供act命令中的行地址位(行id)和隨后的rd/wr命令中的低階列地址位(列id)和高階列地址位(陣列id)來(lái)支持,也可能利用act命令中的任何未使用的地址位(比如提供act命令中的陣列id)。這可借助一些存儲(chǔ)芯片(例如那些經(jīng)受大量列考驗(yàn)的)提供顯著增加的容量而不添加引腳數(shù)、引腳成本或從發(fā)出act命令至從相應(yīng)的列存取第一數(shù)據(jù)的延遲。這些技術(shù)和其他技術(shù)還可在適用的情況下結(jié)合,比如將開(kāi)放頁(yè)面與寬列結(jié)合,以便對(duì)于相同寬行的隨后的存取(例如對(duì)于相同的或不同的陣列id)可在正常的cas延遲(tcl)定時(shí)完成,不發(fā)生另一ras延遲。
圖11是根據(jù)本發(fā)明實(shí)施方式的尋址存儲(chǔ)裝置的示例方法的流程圖。
在這里,存儲(chǔ)裝置可旨在使用特定架構(gòu)(比如ddr4sdram)來(lái)存取,而裝置比在正常配置中架構(gòu)支持(例如能夠?qū)ぶ?的具有更多的行或更多的列。然而,根據(jù)本發(fā)明實(shí)施方式,存儲(chǔ)裝置中的行可使用擴(kuò)展的行地址來(lái)存取或者存儲(chǔ)裝置中的列可使用擴(kuò)展的列地址來(lái)存取,并且這些地址都適合下面架構(gòu)的組合的行地址和列地址的部分(例如在兩個(gè)或更多的連續(xù)ras/cas命令中)。
參照?qǐng)D11,在步驟1110中,當(dāng)行地址具有太多位時(shí)(例如存儲(chǔ)裝置具有多于架構(gòu)支持的行),行地址位可分割為第一子集和第二子集,在行地址命令(例如act)中指定第一子集,在下一地址命令(例如act+或rd/wr)中指定第二子集。在步驟1120中,行地址命令可發(fā)出為存儲(chǔ)裝置的行的行存取的全部或部分。例如,當(dāng)存儲(chǔ)裝置具有少于架構(gòu)支持的行時(shí),整個(gè)行地址可在行地址命令中指定,而如果存儲(chǔ)裝置具有多于架構(gòu)支持的行,只有部分行地址(例如第一子集)可在行地址命令中指定,剩余的行地址(例如第二子集)在下一地址命令中指定。
同樣地,在步驟1130中,當(dāng)列地址具有太多位時(shí)(例如存儲(chǔ)裝置具有多于架構(gòu)支持的列),列地址位可分割為第三子集和第四子集,在列地址命令(例如rd/wr或dr/wr+)中指定第四子集,在前一地址命令(例如act、act+或rd/wr)中指定第三子集。在步驟1140中,列地址命令可發(fā)出為行的列存取的全部或部分。例如,當(dāng)存儲(chǔ)裝置具有少于架構(gòu)支持的列時(shí),整個(gè)列地址可在列地址命令中指定,而如果存儲(chǔ)裝置具有多于架構(gòu)支持的列,只有部分列地址(例如第四子集)可在列地址命令中指定,其余的列地址(例如第三子集)在下一地址命令中指定。
如果存儲(chǔ)裝置中需要的地址位(行和列)的總數(shù)量不大于可在行地址命令(例如act)和列地址命令(例如rd/wr)中指定的,則下一地址命令可為列地址命令或前一地址命令可為行地址命令(例如帶有如上所述的背靠背ras/cas)。就是說(shuō),兩個(gè)地址命令(可能背靠背)可足以尋址存儲(chǔ)裝置。
另一方面,如果存儲(chǔ)裝置中需要的地址位(行和列)的總數(shù)量大于可在行地址命令(例如act)和列地址命令(例如rd/wr)中指定的,則下一地址命令或前一地址命令(例如act+或rd/wr)可在行地址命令和列地址命令之間發(fā)出。例如,下一地址命令和前一地址命令可為相同的命令,并可指定擴(kuò)展的行地址位或擴(kuò)展的列地址位或可能兩者兼有。該下一地址命令還可緊接著行地址命令或緊先于列地址命令(例如在如上所述的背靠背cas/cas中)。
總之,本發(fā)明實(shí)施方式針對(duì)用于類sdram的架構(gòu)的新命令和定時(shí)定義,這可實(shí)現(xiàn)比現(xiàn)有sdram架構(gòu)更好的尋址能力。例如,一些實(shí)施方式可針對(duì)新的存儲(chǔ)組織和地址定義,這可實(shí)現(xiàn)比現(xiàn)有sdram架構(gòu)更好的尋址能力。此外,其他實(shí)施方式可針對(duì)可配置的地址擴(kuò)展方法(例如可在存儲(chǔ)芯片初始化或通電時(shí)啟用)。這些實(shí)施方式可支持大容量存儲(chǔ)器而不增加引腳數(shù)或引腳成本。這些實(shí)施方式還可改善地址引腳復(fù)用性。
雖然已闡示并描述了本發(fā)明的某些實(shí)施方式,但本領(lǐng)域普通技術(shù)人員可理解,能夠?qū)λ鰧?shí)施方式進(jìn)行某些修改和變化而不背離如由所附權(quán)利要求所定義的本發(fā)明的精神和范圍及其等同物。