相關(guān)申請(qǐng)的交叉引用
本申請(qǐng)要求于2016年3月28日提交的申請(qǐng)?zhí)枮?0-2016-0036643的韓國(guó)專利申請(qǐng)的優(yōu)先權(quán),其全部公開(kāi)內(nèi)容通過(guò)引用并入本文。
示例性實(shí)施例涉及半導(dǎo)體存儲(chǔ)器技術(shù),更具體地涉及一種能夠利用數(shù)量減少的信號(hào)線單獨(dú)地訪問(wèn)其中的易失性存儲(chǔ)器裝置的非易失性雙列直插式存儲(chǔ)器模塊及其操作方法。
背景技術(shù):
在大多數(shù)情況下,單個(gè)控制器被聯(lián)接至兩個(gè)或多個(gè)存儲(chǔ)器裝置并控制兩個(gè)或多個(gè)存儲(chǔ)器裝置。
如圖1a所示,當(dāng)用于命令和地址的控制總線cmd/addr_bus0和在控制器100和存儲(chǔ)器裝置110_0之間的數(shù)據(jù)總線data_bus0與控制總線cmd/addr_bus1和在控制器100和存儲(chǔ)器裝置110_1之間的數(shù)據(jù)總線data_bus1分離時(shí),控制器100可以單獨(dú)地控制存儲(chǔ)器裝置110_0和存儲(chǔ)器裝置110_1。例如,當(dāng)讀取操作在存儲(chǔ)器裝置110_0中執(zhí)行時(shí),寫入操作可在存儲(chǔ)器裝置110_1中執(zhí)行。
如圖1b所示,當(dāng)控制總線cmd/addr_bus和數(shù)據(jù)總線data_bus由多個(gè)存儲(chǔ)器裝置110_0和110_1共享時(shí),用于片選信號(hào)cs0和cs1的信號(hào)線被分別提供。即,分別為相應(yīng)的存儲(chǔ)器裝置110_0和110_1提供用于片選信號(hào)cs0和cs1的信號(hào)線。在這種情況下,通過(guò)在存儲(chǔ)器裝置110_0和110_1之間的片選信號(hào)cs0或cs1選擇的存儲(chǔ)器裝置可通過(guò)控制總線cmd/addr_bus執(zhí)行指示的操作,并且可通過(guò)共享的數(shù)據(jù)總線data_bus與控制器100交換信號(hào)。
當(dāng)聯(lián)接至單個(gè)控制器的存儲(chǔ)器裝置的數(shù)量增加時(shí),所需的信號(hào)線的數(shù)量增加,這增加系統(tǒng)設(shè)計(jì)的難度并且增加制造成本。
技術(shù)實(shí)現(xiàn)要素:
各個(gè)實(shí)施例涉及一種能夠利用數(shù)量減少的信號(hào)線單獨(dú)地訪問(wèn)其中的易失性存儲(chǔ)器裝置并能夠?qū)τ行^(qū)域的數(shù)據(jù)的執(zhí)行備份操作以防主機(jī)電源故障的非易失性雙列直插式存儲(chǔ)器模塊。
在實(shí)施例中,非易失性存儲(chǔ)器模塊可以包括:多個(gè)易失性存儲(chǔ)器裝置,其共享傳輸數(shù)據(jù)的數(shù)據(jù)總線和傳輸命令和地址的控制總線;至少一個(gè)非易失性存儲(chǔ)器裝置;以及控制器,其適于在主機(jī)電源故障時(shí)將存儲(chǔ)在多個(gè)易失性存儲(chǔ)器裝置中的數(shù)據(jù)備份至非易失性存儲(chǔ)器裝置中,并且在電源故障恢復(fù)時(shí)將備份在非易失性存儲(chǔ)器裝置中的數(shù)據(jù)恢復(fù)至多個(gè)易失性存儲(chǔ)器裝置中,控制器包括:命令/地址監(jiān)聽(tīng)邏輯,其適于監(jiān)聽(tīng)從主機(jī)的存儲(chǔ)器控制器輸入的命令和地址并分析存儲(chǔ)在各個(gè)易失性存儲(chǔ)器裝置中的數(shù)據(jù)的有效區(qū)域;和命令/地址控制邏輯,其適于基于命令/地址監(jiān)聽(tīng)邏輯的分析結(jié)果選擇具有數(shù)據(jù)的有效區(qū)域的易失性存儲(chǔ)器裝置并將選擇的易失性存儲(chǔ)器備份至非易失性存儲(chǔ)器裝置中。
命令/地址控制邏輯可將用于識(shí)別具有數(shù)據(jù)的有效區(qū)域的易失性存儲(chǔ)器裝置的命令地址延遲(cal)設(shè)置成第一值,并將剩余的易失性存儲(chǔ)器裝置的命令地址延遲設(shè)置成不同于第一值的第二值。
第二值可大于第一值,第二值和第一值之間的差值可以等于或大于行地址到列地址的延遲時(shí)間(trcd:ras到cas延遲)。
第二值和第一值之間的差值可以小于行預(yù)充電時(shí)間(trp)。
命令/地址控制邏輯可以包括:邏輯,其針對(duì)多個(gè)非易失性存儲(chǔ)器裝置執(zhí)行用于均勻分布刷新周期的分布式刷新操作同時(shí)編程非易失存儲(chǔ)器裝置的存儲(chǔ)器頁(yè)面;邏輯,其在低功率模式下操作多個(gè)易失性存儲(chǔ)器裝置,其中多個(gè)易失性存儲(chǔ)器裝置使用低于正常功率模式的功率,同時(shí)非易失性存儲(chǔ)器裝置的新的存儲(chǔ)器頁(yè)面被準(zhǔn)備并寫入;以及邏輯,其適于在非易失性存儲(chǔ)器裝置的新的存儲(chǔ)器頁(yè)面被寫入之后將多個(gè)易失性存儲(chǔ)器裝置恢復(fù)至正常功率模式。
在實(shí)施例中,非易失性存儲(chǔ)器模塊的操作方法,非易失性存儲(chǔ)器模塊包括:多個(gè)易失性存儲(chǔ)器裝置,其共享傳輸數(shù)據(jù)的數(shù)據(jù)總線和傳輸命令和地址的控制總線;非易失性存儲(chǔ)器裝置;以及控制器,其根據(jù)主機(jī)電源的故障/恢復(fù)將存儲(chǔ)在易失性存儲(chǔ)器裝置中的數(shù)據(jù)備份至或?qū)浞菰诜且资源鎯?chǔ)器裝置中的數(shù)據(jù)恢復(fù)至多個(gè)易失性存儲(chǔ)器裝置中;方法可以包括:通過(guò)控制器監(jiān)聽(tīng)從主機(jī)的存儲(chǔ)器控制器輸入至多個(gè)易失性存儲(chǔ)器裝置的命令和地址;分析命令和地址并分析存儲(chǔ)在各個(gè)易失性存儲(chǔ)器裝置中的數(shù)據(jù)的有效區(qū)域;基于分析的結(jié)果選擇具有數(shù)據(jù)的有效區(qū)域的易失性存儲(chǔ)器裝置,并且當(dāng)檢測(cè)到主機(jī)電源故障時(shí)或從主機(jī)的存儲(chǔ)器控制器指示備份時(shí)將選擇的易失性存儲(chǔ)備份至非易失性存儲(chǔ)器裝置中。
控制器可將用于識(shí)別具有數(shù)據(jù)的有效區(qū)域的易失性存儲(chǔ)器裝置的命令地址延遲(cal)設(shè)置成第一值,并將剩余的易失性存儲(chǔ)器裝置的命令地址延遲設(shè)置成不同于第一值的第二值。
第二值可大于第一值,第二值和第一值之間的差值可以等于或大于行地址到列地址的延遲時(shí)間(trcd:ras到cas延遲)。
第二值和第一值之間的差值可以小于行預(yù)充電時(shí)間(trp)。
選擇的易失性存儲(chǔ)器的備份可以包括:針對(duì)多個(gè)非易失性存儲(chǔ)器裝置執(zhí)行用于均勻分布刷新周期的分布式刷新操作同時(shí)編程非易失存儲(chǔ)器裝置的存儲(chǔ)器頁(yè)面;在較低功率模式下操作多個(gè)易失性存儲(chǔ)器裝置,其中多個(gè)易失性存儲(chǔ)器裝置使用低于正常功率模式的功率,同時(shí)非易失性存儲(chǔ)器裝置的新的存儲(chǔ)器頁(yè)面被準(zhǔn)備并寫入;和在非易失性存儲(chǔ)器裝置的新的存儲(chǔ)器頁(yè)面被寫入后將多個(gè)易失性存儲(chǔ)器裝置恢復(fù)至正常功率模式。
非易失性存儲(chǔ)器模塊可以包括:易失性存儲(chǔ)器裝置,其適于存儲(chǔ)通過(guò)共用數(shù)據(jù)總線從主機(jī)提供的數(shù)據(jù),非易失性存儲(chǔ)器裝置,其適于備份存儲(chǔ)在易失性存儲(chǔ)器裝置中的數(shù)據(jù),以及控制器,其適于:通過(guò)監(jiān)聽(tīng)通過(guò)共用控制總線從主機(jī)提供至各個(gè)易失性存儲(chǔ)器裝置的命令和地址分析存儲(chǔ)在各個(gè)易失性存儲(chǔ)器裝置中的數(shù)據(jù)的有效區(qū)域;基于分析的結(jié)果在易失性存儲(chǔ)器裝置之中選擇具有數(shù)據(jù)的有效區(qū)域的一個(gè)或多個(gè)易失性存儲(chǔ)器裝置;當(dāng)主機(jī)電源故障時(shí)將選擇的易失性存儲(chǔ)器裝置的數(shù)據(jù)備份至非易失性存儲(chǔ)器裝置中。
根據(jù)本發(fā)明的實(shí)施例,有可能在非易失性雙列直插式存儲(chǔ)器模塊中利用數(shù)量減小的總線的信號(hào)線單獨(dú)地訪問(wèn)易失性存儲(chǔ)器裝置,并且當(dāng)主機(jī)的電源發(fā)生故障時(shí)有可能對(duì)有效區(qū)域的數(shù)據(jù)執(zhí)行備份操作。
附圖說(shuō)明
圖1a和圖1b是說(shuō)明根據(jù)常規(guī)技術(shù)的在控制器和存儲(chǔ)器裝置之間的總線連接的示例的框圖。
圖2是幫助描述易失性存儲(chǔ)器裝置中pda模式下模式寄存器組(mrs)的操作的定時(shí)圖的示例。
圖3是幫助描述易失性存儲(chǔ)器裝置的命令地址延遲(cal)的定時(shí)圖的示例。
圖4是說(shuō)明根據(jù)實(shí)施例的雙列直插式存儲(chǔ)器模塊(dimm)的基本配置的框圖。
圖5是幫助描述圖4所示的dimm的操作的流程圖的示例。
圖6是幫助描述圖5的操作512和513的定時(shí)圖的示例。
圖7a和7b是幫助描述圖5的操作521和522的定時(shí)圖的示例。
圖8是幫助描述當(dāng)易失性存儲(chǔ)器裝置410_0和410_1的命令地址延遲cal的值中的差值dcal等于或大于trcd且小于trp時(shí)的優(yōu)點(diǎn)的定時(shí)圖的示例。
圖9是說(shuō)明根據(jù)實(shí)施例的非易失性雙列直插式存儲(chǔ)器模塊(nvdimm)的示例的配置簡(jiǎn)圖。
圖10是說(shuō)明根據(jù)另一實(shí)施例的nvdimm的示例的配置簡(jiǎn)圖。
圖11是幫助描述根據(jù)實(shí)施例的nvdimm中備份操作的流程圖的示例。
圖12是幫助描述根據(jù)實(shí)施例的nvdimm中恢復(fù)操作的流程圖的示例。
圖13是幫助描述根據(jù)實(shí)施例的nvdimm中電源關(guān)閉中斷操作的流程圖的示例。
圖14是說(shuō)明根據(jù)另一實(shí)施例的nvdimm的示例的配置簡(jiǎn)圖。
圖15是幫助描述圖14的實(shí)施例中的備份操作的流程圖的示例。
圖16是幫助描述圖14的實(shí)施例中的另一備份操作的流程圖的示例。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述各個(gè)實(shí)施例。然而,本發(fā)明可體現(xiàn)為不同的形式且不應(yīng)解釋為限于本文闡述的實(shí)施例。相反,提供這些實(shí)施例使得本公開(kāi)將更徹底和完整并向本領(lǐng)域技術(shù)人員充分傳達(dá)本發(fā)明的范圍。在整個(gè)公開(kāi)中,在本發(fā)明的各附圖和實(shí)施例中相似的參考標(biāo)號(hào)始終指代相似的部件。
本發(fā)明涉及一種非易失性雙列直插式存儲(chǔ)器模塊,其中控制器可利用數(shù)量減少的信號(hào)線單獨(dú)地訪問(wèn)共享數(shù)據(jù)總線和控制總線的易失性存儲(chǔ)器裝置。在下文中,為了便于理解根據(jù)實(shí)施例的非易失性雙列直插式存儲(chǔ)器模塊,將對(duì)整個(gè)系統(tǒng)的詳細(xì)配置順序地進(jìn)行描述。
易失性存儲(chǔ)器裝置的單個(gè)dram可尋址性(pda)模式
首先,將描述易失性存儲(chǔ)器裝置的pda模式和命令地址延遲(cal)。
圖2是幫助描述易失性存儲(chǔ)器裝置中pda模式下模式寄存器設(shè)置(mrs)的操作的定時(shí)圖的示例。
在pda模式下,對(duì)于每個(gè)易失性存儲(chǔ)器裝置執(zhí)行獨(dú)立的模式寄存器設(shè)置操作。當(dāng)pda模式被設(shè)置時(shí),所有模式寄存器設(shè)置命令的有效性可以根據(jù)第0個(gè)數(shù)據(jù)焊盤(datapad)dq0的信號(hào)電平來(lái)確定。如果在寫入延遲(wl=al+cwl,其中wl表示寫入延遲,al表示附加延遲,cwl表示cas寫入延遲)后,第0個(gè)數(shù)據(jù)焊盤dq0的信號(hào)電平為'0',則應(yīng)用的所有模式寄存器設(shè)置命令可被確定為有效,并且如果第0個(gè)數(shù)據(jù)焊盤dq0的信號(hào)電平為'1',則應(yīng)用的所有模式寄存器設(shè)置命令可被確定為無(wú)效并可被忽略。
參照?qǐng)D2,在時(shí)間點(diǎn)201處,模式寄存器設(shè)置命令mrs被應(yīng)用到易失性存儲(chǔ)器裝置。在時(shí)間點(diǎn)201經(jīng)過(guò)對(duì)應(yīng)于寫入延遲(wl=al+cwl)的時(shí)間的時(shí)間點(diǎn)202處,第0個(gè)數(shù)據(jù)焊盤dq0的信號(hào)電平轉(zhuǎn)變?yōu)椤?”并保持預(yù)定的時(shí)間段。因此,在時(shí)間點(diǎn)201應(yīng)用的模式寄存器設(shè)置命令mrs被確定為有效,并且在從時(shí)間點(diǎn)203的模式寄存器設(shè)置命令周期時(shí)間(圖2中表示為“tmrd_pda”)期間,通過(guò)使用與模式寄存器設(shè)置命令mrs一起輸入的地址(未示出)來(lái)執(zhí)行易失性存儲(chǔ)器裝置的設(shè)置操作。
如果第0個(gè)數(shù)據(jù)焊盤dq0的信號(hào)電平在時(shí)間點(diǎn)202被連續(xù)保持為“1”,則在時(shí)間點(diǎn)201應(yīng)用的模式寄存器設(shè)置命令mrs被確定為無(wú)效,并因此被忽略。也就是說(shuō),并不執(zhí)行易失性存儲(chǔ)器裝置的設(shè)置操作。
易失性存儲(chǔ)器裝置的命令地址延遲(cal)
圖3是幫助描述易失性存儲(chǔ)器裝置的cal的定時(shí)圖的示例。
cal表示片選信號(hào)cs和通過(guò)控制總線(cmd/addr_bus)傳輸?shù)目刂菩盘?hào)之中的其余信號(hào)之間的時(shí)間差。當(dāng)cal被設(shè)置時(shí),易失性存儲(chǔ)器裝置僅將從片選信號(hào)cs的啟用時(shí)間開(kāi)始經(jīng)過(guò)對(duì)應(yīng)于cal的時(shí)間之后輸入的控制信號(hào)確定為有效。cal的值可以通過(guò)模式寄存器設(shè)置(mrs)來(lái)設(shè)置。
圖3示出當(dāng)cal被設(shè)置成3個(gè)時(shí)鐘周期時(shí)的操作。在時(shí)間點(diǎn)301后經(jīng)過(guò)3個(gè)時(shí)鐘并且片選信號(hào)cs被啟用為低電平時(shí)的時(shí)間點(diǎn)302處,不同于片選信號(hào)cs的命令cmd和地址addr被應(yīng)用到易失性存儲(chǔ)器裝置。然后,非易失性存儲(chǔ)器裝置可認(rèn)為在時(shí)間點(diǎn)302處應(yīng)用的命令cmd和地址addr有效。如果命令cmd和地址addr在與片選信號(hào)cs被啟用的時(shí)間點(diǎn)301相同的時(shí)間點(diǎn)或從片選信號(hào)cs被啟用的時(shí)間點(diǎn)301經(jīng)過(guò)1個(gè)時(shí)鐘或2個(gè)時(shí)鐘的時(shí)間點(diǎn)被應(yīng)用至易失性存儲(chǔ)器裝置,則易失性存儲(chǔ)器裝置不會(huì)認(rèn)為命令cmd和地址addr有效。
由于命令cmd和地址addr也在從時(shí)間點(diǎn)303和305經(jīng)過(guò)對(duì)應(yīng)于cal的時(shí)間(3個(gè)時(shí)鐘)的時(shí)間點(diǎn)304和306并且片選信號(hào)cs被啟用時(shí)應(yīng)用,所以在時(shí)間點(diǎn)304和306處應(yīng)用的命令cmd和地址addr可被易失性存儲(chǔ)器裝置認(rèn)為有效。
雙列直插式存儲(chǔ)器模塊(dimm)的基本配置
圖4是說(shuō)明根據(jù)實(shí)施例的dimm的基本配置的框圖。
參照?qǐng)D4,dimm可以包括控制器400、第一易失性存儲(chǔ)器裝置410_0、第二易失性存儲(chǔ)器裝置410_1、控制總線cmd/addr_bus以及數(shù)據(jù)總線data_bus。
控制信號(hào)通過(guò)控制總線cmd/addr_bus從控制器400傳輸至易失性存儲(chǔ)器裝置410_0和410_1??刂菩盘?hào)可以包括命令cmd、地址addr和時(shí)鐘ck。命令cmd可以包括多個(gè)信號(hào)。例如,命令cmd可以包括激活信號(hào)(act)、行地址選通信號(hào)(ras)、列地址選通信號(hào)(cas)和片選信號(hào)(cs)。雖然片選信號(hào)cs是包含在命令cmd中的信號(hào),但片選信號(hào)cs在附圖中被單獨(dú)示出以表示共享相同的片選信號(hào)cs的易失性存儲(chǔ)器裝置410_0和410_1。地址addr可以包括多個(gè)信號(hào)。例如,地址addr可以包括多位存儲(chǔ)體組地址,多位存儲(chǔ)體地址和多位正常地址。時(shí)鐘ck可以從控制器400被傳輸?shù)揭资源鎯?chǔ)器裝置410_0和410_1,用于易失性存儲(chǔ)器裝置410_0和410_1的同步操作。時(shí)鐘ck可以包括時(shí)鐘(ck_t)和通過(guò)反轉(zhuǎn)時(shí)鐘(ck_t)獲得的時(shí)鐘條(ck_c)的差分法來(lái)傳輸。
數(shù)據(jù)總線data_bus可以在控制器400與易失性存儲(chǔ)器裝置410_0和410_1之間傳輸多位數(shù)據(jù)data0至data3。各自易失性存儲(chǔ)器裝置410_0和410_1設(shè)有分別與數(shù)據(jù)總線data_bus的數(shù)據(jù)線data0至data3聯(lián)接的數(shù)據(jù)焊盤dq0至dq3。各自易失性存儲(chǔ)器裝置410_0和410_1的特定的數(shù)據(jù)焊盤諸如數(shù)據(jù)焊盤dq0可被聯(lián)接至不同的數(shù)據(jù)線data0至data1。指定的數(shù)據(jù)焊盤dq0可以用于設(shè)置識(shí)別控制總線cmd/addr_bus上的控制信號(hào)的延遲。
控制器400可以通過(guò)控制總線cmd/addr_bus控制易失性存儲(chǔ)器裝置410_0和410_1,并且可以通過(guò)數(shù)據(jù)總線data_bus與易失性存儲(chǔ)器裝置410_0和410_1交換數(shù)據(jù)??刂破?00可被設(shè)置在dimm中,可以將用于允許易失性存儲(chǔ)器裝置410_0和410_1識(shí)別控制總線cmd/addr_bus上的信號(hào)的延遲設(shè)置成不同的值,并且可以通過(guò)使用延遲訪問(wèn)易失性存儲(chǔ)器裝置410_0和410_1之間所需的易失性存儲(chǔ)器裝置。這將參照?qǐng)D5至圖7b在下文中詳細(xì)說(shuō)明。
第一易失性存儲(chǔ)器裝置410_0和第二易失性存儲(chǔ)器裝置410_1可以共享控制總線cmd/addr_bus和數(shù)據(jù)總線data_bus。第一易失性存儲(chǔ)器裝置410_0和第二易失性存儲(chǔ)器裝置410_1還可共享片選信號(hào)cs。第一易失性存儲(chǔ)器裝置410_0和第二易失性存儲(chǔ)器裝置410_1可設(shè)置有用于通過(guò)控制總線cmd/addr_bus傳輸?shù)目刂菩盘?hào)的不同延遲。延遲可以指參考信號(hào)例如片選信號(hào)cs與控制總線cmd/addr_bus上的信號(hào)中的其余信號(hào)cmd和addr之間的時(shí)間差。由于第一易失性存儲(chǔ)器裝置410_0和第二易失性存儲(chǔ)器裝置410_1相對(duì)于控制總線cmd/addr_bus被設(shè)置有不同延遲的事實(shí),第一易失性存儲(chǔ)器裝置410_0和第二易失性存儲(chǔ)器裝置410_1可通過(guò)控制器400單獨(dú)地訪問(wèn),這將參照?qǐng)D5至圖7b在下文中詳細(xì)說(shuō)明。
如從圖4可以看出,用于識(shí)別第一易失性存儲(chǔ)器裝置410_0和第二易失性存儲(chǔ)器裝置410_1的任何信號(hào)傳輸線并不被單獨(dú)分配給第一易失性存儲(chǔ)器裝置410_0和第二易失性存儲(chǔ)器裝置410_1。然而,控制器400可以分別地訪問(wèn)第一易失性存儲(chǔ)器裝置410_0和第二易失性存儲(chǔ)器裝置410_1,這將在下面進(jìn)行描述。
dimm的基本cal設(shè)置操作
圖5是幫助描述圖4所示的dimm的操作的流程圖的示例。
參照?qǐng)D5,dimm的操作可被分為針對(duì)控制器400為通過(guò)第一非易失性存儲(chǔ)器裝置410_0的控制總線cmd/addr_bus和第二非易失性存儲(chǔ)器裝置410_1的控制總線cmd/addr_bus傳輸?shù)目刂菩盘?hào)設(shè)置不同的延遲的步驟510以及針對(duì)控制器400分別訪問(wèn)第一非易失性存儲(chǔ)器裝置410_0和第二非易失性存儲(chǔ)器裝置410_1的步驟520。
在步驟511處,控制器400可以控制第一易失性存儲(chǔ)器裝置410_0和第二易失性存儲(chǔ)器裝置410_1進(jìn)入pda模式。這可以通過(guò)應(yīng)用對(duì)應(yīng)于模式寄存器設(shè)置命令(mrs)的命令cmd和應(yīng)用作為對(duì)應(yīng)于pda進(jìn)入模式的組合的地址addr來(lái)實(shí)現(xiàn)。
在步驟512處,第一易失性存儲(chǔ)器裝置410_0的命令地址延遲cal可被設(shè)置成0'。這可以在從命令cmd的應(yīng)用時(shí)間經(jīng)過(guò)寫入延遲wl(wl=al+cwl)之后通過(guò)下列操作來(lái)實(shí)現(xiàn):將命令cmd應(yīng)用為對(duì)應(yīng)于模式寄存器設(shè)置命令(mrs)的組合、將地址addr應(yīng)用為對(duì)應(yīng)于cal設(shè)置成“0”的組合以及將“0”的信號(hào)電平應(yīng)用至對(duì)應(yīng)于第一易失性存儲(chǔ)器裝置410_0的第0個(gè)數(shù)據(jù)焊盤dq0的第0個(gè)數(shù)據(jù)線data0。參照?qǐng)D6,可以確認(rèn)用于將cal設(shè)置成'0'的命令/地址cmd/addr在時(shí)間點(diǎn)601處被應(yīng)用,當(dāng)從時(shí)間點(diǎn)601經(jīng)過(guò)對(duì)應(yīng)于寫入延遲wl的時(shí)間時(shí),數(shù)據(jù)線data0在時(shí)間點(diǎn)602處具有'0'的電平。由于數(shù)據(jù)線data1在時(shí)間點(diǎn)602處具有“1”的電平,所以第二易失性存儲(chǔ)器裝置410_1忽略在時(shí)間點(diǎn)601處應(yīng)用的命令cmd。
在步驟513處,第二易失性存儲(chǔ)器裝置410_1的命令地址延遲cal可被設(shè)置成'3'。這可以在從命令cmd的應(yīng)用時(shí)間經(jīng)過(guò)寫入延遲wl(wl=al+cwl)之后通過(guò)下列操作來(lái)實(shí)現(xiàn):將命令cmd應(yīng)用為對(duì)應(yīng)于模式寄存器設(shè)置命令(mrs)的組合、將地址addr應(yīng)用為對(duì)應(yīng)于cal設(shè)置成“3”的組合以及將“0”的信號(hào)電平應(yīng)用至對(duì)應(yīng)于第二易失性存儲(chǔ)器裝置410_1的第0個(gè)數(shù)據(jù)焊盤dq0的第1個(gè)數(shù)據(jù)線data1。參照?qǐng)D6,用于將cal設(shè)置成'3'的命令/地址cmd/addr在時(shí)間點(diǎn)603處被應(yīng)用,當(dāng)從時(shí)間點(diǎn)603經(jīng)過(guò)對(duì)應(yīng)于寫入延遲wl的時(shí)間時(shí),數(shù)據(jù)線data1在時(shí)間點(diǎn)604處具有'0'的電平。由于數(shù)據(jù)線data0在時(shí)間點(diǎn)604處具有“1”的電平,所以第一易失性存儲(chǔ)器裝置410_0忽略在時(shí)間點(diǎn)603處應(yīng)用的命令cmd。如果易失性存儲(chǔ)器裝置410_0和410_1的延遲設(shè)置被完成,則pda模式可以在步驟514處結(jié)束。
由于第一易失性存儲(chǔ)器裝置410_0和第二易失性存儲(chǔ)器裝置410_1的命令地址延遲cal被彼此不同地設(shè)置,所以控制器400可以通過(guò)在步驟521處在片選信號(hào)cs的啟用時(shí)間應(yīng)用命令/地址cmd/addr訪問(wèn)第一易失性存儲(chǔ)器裝置410_0或者可以通過(guò)在步驟522處在從片選信號(hào)cs的啟用時(shí)間3個(gè)時(shí)鐘后應(yīng)用命令/地址cmd/addr訪問(wèn)第二易失性存儲(chǔ)器裝置410_1。
圖7a和圖7b是表示圖5的操作521和522的定時(shí)圖。參照?qǐng)D7a和圖7b,在與片選信號(hào)cs的啟用時(shí)間相同的時(shí)間點(diǎn)701、703、705、707、709和711處應(yīng)用的命令cmd被第一易失性存儲(chǔ)器裝置410_0識(shí)別并操作第一易失性存儲(chǔ)器裝置410_0,在從片選信號(hào)cs的啟用時(shí)間的3個(gè)時(shí)鐘之后的時(shí)間點(diǎn)702、704、706、708、710和712處應(yīng)用的命令cmd被第二易失性存儲(chǔ)器裝置410_1識(shí)別并操作第二易失性存儲(chǔ)器裝置410_1。在附圖中,參考符號(hào)nop表示其中未執(zhí)行操作的非操作狀態(tài)。
在時(shí)間點(diǎn)701、702、703、704、707、708、709和710處的操作中,有可能僅訪問(wèn)第一易失性存儲(chǔ)器裝置410_0和第二易失性存儲(chǔ)器裝置410_1中的一個(gè)易失性存儲(chǔ)器裝置。此外,在時(shí)間點(diǎn)705、706、711和712處的操作中,可通過(guò)在片選信號(hào)cs的啟用時(shí)間應(yīng)用有效命令cmd以及在從片選信號(hào)cs的啟用時(shí)間的3個(gè)時(shí)鐘之后應(yīng)用有效命令cmd有可能訪問(wèn)第一易失性存儲(chǔ)器裝置410_0和第二易失性存儲(chǔ)器裝置410_1兩者。
根據(jù)參照?qǐng)D4至圖7b以上描述的實(shí)施例,易失性存儲(chǔ)器裝置410_0和410_1共享控制總線cmd/addr_bus和數(shù)據(jù)總線data_bus,但相對(duì)于控制總線cmd/addr_bus具有不同的延遲??刂破?00可以通過(guò)改變通過(guò)控制總線cmd/addr_bus應(yīng)用的信號(hào)的延遲,訪問(wèn)在易失性存儲(chǔ)器裝置410_0和410_1之間期望被訪問(wèn)的易失性存儲(chǔ)器裝置。因此,不需要單獨(dú)地控制易失性存儲(chǔ)器裝置410_0和410_1的附加線。
雖然上述實(shí)施例例示了,易失性存儲(chǔ)器裝置410_0和410_1通過(guò)控制器400被設(shè)置成具有相對(duì)于控制總線cmd/addr_bus不同的延遲,但這僅為了說(shuō)明性的目的,將注意的是,易失性存儲(chǔ)器裝置410_0和410_1可以被編程為永久地具有不同的延遲。例如,當(dāng)制造易失性存儲(chǔ)器裝置410_0和410_1時(shí),易失性存儲(chǔ)器裝置410_0和410_1相對(duì)于控制總線cmd/addr_bus的延遲可被固定,或者在制造易失性存儲(chǔ)器裝置410_0和410_1之后,易失性存儲(chǔ)器裝置410_0和410_1相對(duì)于控制總線cmd/addr_bus的延遲可通過(guò)永久設(shè)置例如使用熔絲電路設(shè)置被固定。
此外,易失性存儲(chǔ)器裝置410_0和410_1之間的命令地址延遲cal的差值可以等于或大于從行地址至列地址的延遲時(shí)間trcd,即ras到cas延遲。另外,易失性存儲(chǔ)器裝置410_0和410_1之間的命令地址延遲cal的差值可以小于行預(yù)充電時(shí)間trp。即,dcal(cal差值)≥trcd,dcal<trp。
圖8是幫助描述易失性存儲(chǔ)器裝置410_0和410_1的命令地址延遲cal的差值dcal等于或大于trcd且小于trp時(shí)的優(yōu)點(diǎn)的簡(jiǎn)圖的示例。參照?qǐng)D8,下文將在該假設(shè)下進(jìn)行說(shuō)明,即當(dāng)?shù)谝灰资源鎯?chǔ)器裝置410_0具有cal=0且第二易失性存儲(chǔ)器裝置410_1具有cal=3,trcd=3和trp=4時(shí),dcal=3。
參照?qǐng)D8,在時(shí)間點(diǎn)801處,片選信號(hào)cs可被啟用,激活操作act可通過(guò)命令/地址cmd/addr指示。然后,第一易失性存儲(chǔ)器裝置410_0可以通過(guò)在時(shí)間點(diǎn)801處識(shí)別激活操作act執(zhí)行激活操作。
在時(shí)間點(diǎn)802處,片選信號(hào)cs可被啟用,讀取操作rd可通過(guò)命令/地址cmd/addr被指示。然后,第一易失性存儲(chǔ)器裝置410_0可以通過(guò)在時(shí)間點(diǎn)802處識(shí)別讀取操作rd執(zhí)行讀取操作。此外,在時(shí)間點(diǎn)801啟用片選信號(hào)cs后經(jīng)過(guò)3個(gè)時(shí)鐘的時(shí)間點(diǎn)802處,第二易失性存儲(chǔ)器裝置410_1可以從命令/地址cmd/addr識(shí)別讀取操作rd。然而,由于激活操作尚未在第二易失性存儲(chǔ)器裝置410_1中執(zhí)行,所以第二易失性存儲(chǔ)器裝置410_1可以將通過(guò)命令/地址cmd/addr指示的讀取操作rd確定為非法的,并且可以不執(zhí)行讀取操作。如果dcal小于trcd,則當(dāng)?shù)诙资源鎯?chǔ)器裝置410_1識(shí)別指示給第一易失性存儲(chǔ)器裝置410_0的激活操作act時(shí),可能發(fā)生誤操作。當(dāng)dcal≥trcd時(shí)可以防止這種誤操作。此外,當(dāng)在時(shí)間點(diǎn)802啟用片選信號(hào)cs后經(jīng)過(guò)3個(gè)時(shí)鐘的時(shí)間點(diǎn)803處,第二易失性存儲(chǔ)器裝置410_1可以從命令/地址cmd/addr識(shí)別讀取操作rd。然而,由于激活操作尚未在第二易失性存儲(chǔ)器裝置410_1中執(zhí)行,所以第二易失性存儲(chǔ)器裝置410_1可以將通過(guò)命令/地址cmd/addr指示的讀取操作rd確定為非法的,并且可以不執(zhí)行讀取操作。
在時(shí)間點(diǎn)804處,片選信號(hào)cs可被啟用,預(yù)充電操作pcg可通過(guò)命令/地址cmd/addr被指示。然后,第一易失性存儲(chǔ)器裝置410_0可以通過(guò)在時(shí)間點(diǎn)804處識(shí)別預(yù)充電操作pcg執(zhí)行預(yù)充電操作。在時(shí)間點(diǎn)804處啟用片選信號(hào)cs后經(jīng)過(guò)3個(gè)時(shí)鐘的時(shí)間點(diǎn)805處,第二易失性存儲(chǔ)器裝置410_1可以從命令/地址cmd/addr識(shí)別預(yù)充電操作pcg并且可以執(zhí)行預(yù)充電操作。由于預(yù)充電操作不用考慮激活操作是否已經(jīng)被提前執(zhí)行,所以預(yù)充電操作甚至可以通過(guò)第二易失性存儲(chǔ)器裝置410_1來(lái)執(zhí)行。
在時(shí)間點(diǎn)806處,片選信號(hào)cs可被啟用,激活操作act可通過(guò)命令/地址cmd/addr被指示。然后,第一易失性存儲(chǔ)器裝置410_0可以通過(guò)在時(shí)間點(diǎn)806處識(shí)別激活操作act執(zhí)行激活操作。如果dcal被設(shè)置成大于trp,則當(dāng)?shù)诙资源鎯?chǔ)器裝置410_1識(shí)別通過(guò)命令/地址cmd/addr指示的激活操作act時(shí),可能發(fā)生誤操作。由于dcal<trp,所以可以防止這種誤操作。
在時(shí)間點(diǎn)807處,片選信號(hào)cs可被啟用,寫入操作wl可通過(guò)命令/地址cmd/addr被指示。然后,第一易失性存儲(chǔ)器裝置410_0可以通過(guò)在時(shí)間點(diǎn)807處識(shí)別寫入操作wl執(zhí)行寫入操作。在時(shí)間點(diǎn)806啟用片選信號(hào)cs后經(jīng)過(guò)3個(gè)時(shí)鐘的時(shí)間點(diǎn)807處,第二易失性存儲(chǔ)器裝置410_1可以從命令/地址cmd/addr識(shí)別寫入操作wl。然而,由于激活操作尚未在第二易失性存儲(chǔ)器裝置410_1中執(zhí)行,所以第二易失性存儲(chǔ)器裝置410_1可以將通過(guò)命令/地址cmd/addr指示的寫入操作wl確定為非法的,并且可以不執(zhí)行寫入操作。在時(shí)間點(diǎn)807啟用片選信號(hào)cs后經(jīng)過(guò)3個(gè)時(shí)鐘的時(shí)間點(diǎn)808處,第二易失性存儲(chǔ)器裝置410_1可以從命令/地址cmd/addr識(shí)別寫入操作wl。然而,第二易失性存儲(chǔ)器裝置410_1可以將通過(guò)命令/地址cmd/addr指示的寫入操作wl確定為非法的,并且可以不執(zhí)行寫入操作。
如上面參照?qǐng)D8所述,通過(guò)設(shè)置易失性存儲(chǔ)器裝置410_0和410_1的命令地址延遲cal,以這種方式滿足dcal(cal差值)≥trcd且dcal<trp,有可能防止易失性存儲(chǔ)器裝置410_0和410_1執(zhí)行誤操作。
非易失性雙列直插式存儲(chǔ)器模塊(nvdimm)的配置和操作
圖9是說(shuō)明根據(jù)實(shí)施例的nvdimm900的示例的配置簡(jiǎn)圖。在圖9中,將描述參照?qǐng)D4-圖8以上所述的用于設(shè)置易失性存儲(chǔ)器裝置的不同cal和單獨(dú)地訪問(wèn)共享數(shù)據(jù)總線和控制總線的易失性存儲(chǔ)器裝置的方案應(yīng)用于根據(jù)實(shí)施例的nvdimm900的示例。
圖9一起示出構(gòu)建nvdimm存儲(chǔ)器系統(tǒng)的主機(jī)的存儲(chǔ)器控制器9和輔助電源10。nvdimm900是在發(fā)生電源故障時(shí)通過(guò)在主機(jī)的電源不穩(wěn)定時(shí)將易失性存儲(chǔ)器裝置的數(shù)據(jù)備份在非易失性存儲(chǔ)器裝置中防止數(shù)據(jù)丟失的存儲(chǔ)器模塊。
參照?qǐng)D9,nvdimm900可以包括第一組易失性存儲(chǔ)器裝置911至914、第二組易失性存儲(chǔ)器裝置921至924、非易失性存儲(chǔ)器裝置930、控制器940、寄存器950、電源故障檢測(cè)器960、第一數(shù)據(jù)總線data_bus1、第二數(shù)據(jù)總線data_bus2、控制總線cmd/addr_bus、多個(gè)第三數(shù)據(jù)總線data_bus3_1至data_bus3_4以及多個(gè)第四數(shù)據(jù)總線data_bus4_1至data_bus4_4。
當(dāng)主機(jī)的電源host_vdd和host_vss處于正常時(shí),寄存器950可通過(guò)主機(jī)控制總線host_cmd/addr_bus緩沖從主機(jī)的存儲(chǔ)器控制器9提供的命令、地址和時(shí)鐘,并可以通過(guò)控制總線cmd/addr_bus為第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924提供命令、地址和時(shí)鐘。當(dāng)主機(jī)的電源host_vdd和host_vss處于正常時(shí),第一組易失性存儲(chǔ)器裝置911至914可以分別通過(guò)對(duì)應(yīng)的第三數(shù)據(jù)總線data_bus3_1至data_bus3_4從主機(jī)的存儲(chǔ)器控制器9接收數(shù)據(jù)/或者將數(shù)據(jù)傳輸至主機(jī)的存儲(chǔ)器控制器9,第二組易失性存儲(chǔ)器裝置921至924可以分別通過(guò)對(duì)應(yīng)的第四數(shù)據(jù)總線data_bus4_1至data_bus4_4從主機(jī)的存儲(chǔ)器控制器9接收數(shù)據(jù)或者將數(shù)據(jù)傳輸至主機(jī)的存儲(chǔ)器控制器9。即,當(dāng)主機(jī)的電源host_vdd和host_vss處于正常時(shí),第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924可以通過(guò)第三數(shù)據(jù)總線data_bus3_1至data_bus3_4和第四數(shù)據(jù)總線data_bus4_1至data_bus4_4中的對(duì)應(yīng)的一個(gè)與主機(jī)的存儲(chǔ)器控制器9單獨(dú)地通信。
如果當(dāng)形成主機(jī)的電源host_vdd和host_vss的電壓電平變得不穩(wěn)定時(shí),電源故障檢測(cè)器960檢測(cè)到主機(jī)的電源host_vdd和host_vss故障,則主機(jī)的電源host_vdd和host_vss到nvdimm900的供電被中斷。然后,輔助電源10的應(yīng)急電源emg_vdd和emg_vss被供給至nvdimm900。輔助電源10可通過(guò)大容量的電容器例如超級(jí)電容器來(lái)實(shí)現(xiàn),并且可供應(yīng)應(yīng)急電源emg_vdd和emg_vss同時(shí)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的數(shù)據(jù)被備份在非易失性存儲(chǔ)器裝置930中。雖然圖9說(shuō)明輔助電源10設(shè)置在nvdimm900外部,但是輔助電源10也可以設(shè)置在nvdimm900內(nèi)部。當(dāng)主機(jī)的電源host_vdd和host_vss故障被檢測(cè)到時(shí),電源故障檢測(cè)器960可通知控制器940故障。
當(dāng)從電源故障檢測(cè)器960接收到主機(jī)的電源host_vdd和host_vss故障的通知時(shí),對(duì)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的控制從主機(jī)的存儲(chǔ)器控制器9改變到nvdimm900的控制器940。然后,寄存器950可以緩沖從控制器940提供的命令、地址和時(shí)鐘,并可以通過(guò)控制總線cmd/addr_bus為第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924提供命令、地址和時(shí)鐘。第一組易失性存儲(chǔ)器裝置911至914可以通過(guò)第一數(shù)據(jù)總線data_bus1與控制器940交換數(shù)據(jù),第二組易失性存儲(chǔ)器裝置921至924可以通過(guò)第二數(shù)據(jù)總線data_bus2與控制器940交換數(shù)據(jù)??刂破?40可以通過(guò)控制總線cmd/addr_bus、第一數(shù)據(jù)總線data_bus1和第二數(shù)據(jù)總線data_bus2讀取第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的數(shù)據(jù),并且可以將讀取的數(shù)據(jù)存儲(chǔ)即備份在非易失性存儲(chǔ)器裝置930中。
當(dāng)主機(jī)的電源host_vdd和host_vss發(fā)生故障時(shí)被備份在非易失性存儲(chǔ)器裝置930中的第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的數(shù)據(jù)可在主機(jī)的電源host_vdd和host_vss恢復(fù)至正常狀態(tài)之后被傳輸至和存儲(chǔ)在第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中。這種恢復(fù)操作可以根據(jù)控制器940的控制來(lái)執(zhí)行,并且在恢復(fù)完成后,對(duì)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的控制可從nvdimm900的控制器940恢復(fù)至主機(jī)的存儲(chǔ)器控制器9。
第一組易失性存儲(chǔ)器裝置911至914共享與控制器940通信的相同的控制總線cmd/addr_bus和數(shù)據(jù)總線data_bus1。類似地,第二組易失性存儲(chǔ)器裝置921至924共享與控制器940通信的相同控制總線cmd/addr_bus和數(shù)據(jù)總線data_bus2。然而,控制器940可以單獨(dú)地訪問(wèn)第一組易失性存儲(chǔ)器裝置911至914之中的單個(gè)易失性存儲(chǔ)器裝置,并且可以單獨(dú)地訪問(wèn)第二組易失性存儲(chǔ)器裝置921至924之中的單個(gè)易失性存儲(chǔ)器裝置。就這一點(diǎn)而言,參照?qǐng)D2-8結(jié)合共享控制總線cmd/addr_bus和數(shù)據(jù)總線data_bus的dimm的配置和操作進(jìn)行描述。稍后將參照?qǐng)D11和圖12描述關(guān)于與nvdimm中數(shù)據(jù)備份和恢復(fù)相關(guān)聯(lián)的單獨(dú)操作。
第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924可以是dram,或者不僅可以是dram而且可以是不同種類的易失性存儲(chǔ)器裝置。非易失性存儲(chǔ)器裝置930可以是nand閃存。然而,非易失性存儲(chǔ)器裝置930不限于此,并且可以是任何種類的易失性存儲(chǔ)器裝置,例如nor閃存、電阻ram(rram)、相位ram(pram)、磁ram(mram)或旋轉(zhuǎn)移轉(zhuǎn)矩mram(stt-mram)。
圖9所示的nvdimm900中的組件可以彼此結(jié)合或分離。
例如,控制器940、寄存器950和電源故障檢測(cè)器960可通過(guò)一個(gè)芯片來(lái)配置或者可通過(guò)多個(gè)芯片來(lái)配置。此外,nvdimm900中使用的第一組易失性存儲(chǔ)器裝置911至914、第二組易失性存儲(chǔ)器裝置921至924和非易失性存儲(chǔ)器裝置930的數(shù)量可以與圖9所示出的數(shù)量不同。
圖10是說(shuō)明根據(jù)另一實(shí)施例的nvdimm900的示例的配置簡(jiǎn)圖。
除了多路復(fù)用器1101至1108和4個(gè)數(shù)據(jù)焊盤dq0至dq3之外,圖9和圖10中的nvdimms900可以彼此相同。
通過(guò)多路復(fù)用器1101至1104,當(dāng)?shù)谝唤M易失性存儲(chǔ)器裝置911至914與主機(jī)的存儲(chǔ)器控制器9通信時(shí),第一組易失性存儲(chǔ)器裝置911至914的數(shù)據(jù)焊盤dq0至dq3可以與第三數(shù)據(jù)總線data_bus3_1至data_bus3_4聯(lián)接;當(dāng)?shù)谝唤M易失性存儲(chǔ)器裝置911至914與控制器940通信時(shí),第一組易失性存儲(chǔ)器裝置911至914的數(shù)據(jù)焊盤dq0至dq3可以與第一數(shù)據(jù)總線data_bus1聯(lián)接。
通過(guò)多路復(fù)用器1105至1108,當(dāng)?shù)诙M易失性存儲(chǔ)器裝置921至924與主機(jī)的存儲(chǔ)器控制器9通信時(shí),第二組易失性存儲(chǔ)器裝置921至924的數(shù)據(jù)焊盤dq0至dq3可以與第四數(shù)據(jù)總線data_bus4_1至data_bus4_4聯(lián)接;當(dāng)?shù)诙M易失性存儲(chǔ)器裝置921至924與控制器940通信時(shí),第二組易失性存儲(chǔ)器裝置921至924的數(shù)據(jù)焊盤dq0至dq3可以與第二數(shù)據(jù)總線data_bus2聯(lián)接。
由于除了增加多路復(fù)用器1101至1108和第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至9244的每個(gè)中使用4個(gè)數(shù)據(jù)焊盤dq0至dq3之外,圖10的nvdimm900與參照?qǐng)D9所述的相同方式操作,所以本文將省略進(jìn)一步詳細(xì)的描述。
斷電備份操作
圖11是幫助描述根據(jù)實(shí)施例的nvdimm900中的備份操作的流程圖的示例。
在步驟s1110處,第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924在正常時(shí)間與主機(jī)的存儲(chǔ)器控制器9通信,對(duì)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的控制通過(guò)圖9示出的nvdimm900中的主機(jī)的存儲(chǔ)器控制器9執(zhí)行。第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924共享相同的控制總線cmd/addr_bus。數(shù)據(jù)總線data_bus3_1至data_bus3_4和data_bus4_1至data_bus4_4被分別提供至第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924。因此,與nvdimm900的控制器940不同,主機(jī)的存儲(chǔ)器控制器9可以單獨(dú)地從第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924接收數(shù)據(jù)或者將數(shù)據(jù)傳輸至第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924。
在步驟s1120處,確定是否可滿足在非易失性存儲(chǔ)器裝置930中備份第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的數(shù)據(jù)的觸發(fā)條件。例如,檢測(cè)主機(jī)的電源host_vdd和host_vss的故障可滿足觸發(fā)條件??蛇x地,當(dāng)備份操作根據(jù)主機(jī)的存儲(chǔ)器控制器9的命令被執(zhí)行時(shí),通過(guò)主機(jī)的存儲(chǔ)器控制器9針對(duì)備份操作的指令可滿足觸發(fā)條件。
在步驟s1130處,對(duì)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的控制可從主機(jī)的存儲(chǔ)器控制器9改變至nvdimm900的控制器940。此外,nvdimm900所用的電源從主機(jī)的電源host_vdd和host_vss改變到通過(guò)輔助電源10供給的應(yīng)急電源emg_vdd和emg_vss。另外,當(dāng)控制對(duì)象被改變成控制器940時(shí),通過(guò)第一組易失性存儲(chǔ)器裝置911至914使用的數(shù)據(jù)總線從第三數(shù)據(jù)總線data_bus3_1至data_bus3_4被改變成第一數(shù)據(jù)總線data_bus1,通過(guò)第二組易失性存儲(chǔ)器裝置921至924使用的數(shù)據(jù)總線從第四數(shù)據(jù)總線data_bus4_1至data_bus4_4被改變成第二數(shù)據(jù)總線data_bus2。
在步驟s1140處,控制器940單獨(dú)地設(shè)置共享控制總線cmd/addr_bus與數(shù)據(jù)總線data_bus1和data_bus2的第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924上的命令地址延遲cal。
參照?qǐng)D9,各自第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924包括8個(gè)數(shù)據(jù)焊盤dq0至dq7。在數(shù)據(jù)焊盤dq0至dq7之中,4個(gè)數(shù)據(jù)焊盤dq0至dq3可以與第一數(shù)據(jù)總線data_bus1和第二數(shù)據(jù)總線data_bus2聯(lián)接,其余的4個(gè)數(shù)據(jù)焊盤dq4至dq7可以與第三數(shù)據(jù)總線data_bus3_1至data_bus3_4和第四數(shù)據(jù)總線data_bus4_1至data_bus4_4聯(lián)接。第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924使用的數(shù)據(jù)總線可通過(guò)控制器940的指令來(lái)改變。第一組易失性存儲(chǔ)器裝置911至914的第0個(gè)數(shù)據(jù)焊盤dq0可以與第一數(shù)據(jù)總線data_bus1的不同數(shù)據(jù)線分別聯(lián)接,第二組易失性存儲(chǔ)器裝置921至924的第0個(gè)數(shù)據(jù)盤dq0可以與第二數(shù)據(jù)總線data_bus2的不同數(shù)據(jù)線分別聯(lián)接。通過(guò)此,第一組易失性存儲(chǔ)器裝置911至914可以單獨(dú)地進(jìn)入pda模式,第二組易失性存儲(chǔ)器裝置921至924可以單獨(dú)地進(jìn)入pda模式。
例如,這可以通過(guò)將目標(biāo)易失性存儲(chǔ)器裝置例如各自第一組易失性存儲(chǔ)器裝置911至914的易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的易失性存儲(chǔ)器裝置921的命令地址延遲cal設(shè)置成第一值,例如0;并且通過(guò)將除各自第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921之外的其余的易失性存儲(chǔ)器裝置的命令地址延遲cal設(shè)置成第二值,例如3來(lái)實(shí)現(xiàn)。
在步驟s1150處,控制器940通過(guò)使用設(shè)置的命令地址延遲cal讀取各自第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921。例如,控制器400可以通過(guò)訪問(wèn)各自第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921,讀取各自第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921,其中命令地址延遲cal通過(guò)在片選信號(hào)cs的啟用時(shí)間處應(yīng)用命令/地址cmd/addr被設(shè)置成第一值,例如0。由于除各自第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921之外的其余的易失性存儲(chǔ)器裝置912至914和922至924的命令地址延遲cal被設(shè)置成第二值,例如3,所以它們忽視來(lái)自控制器940的讀取命令。
從參照?qǐng)D4至圖7b進(jìn)行的上述描述,可以理解步驟s1140的方案和步驟s1150的方案,步驟s1140的方案是控制器940單獨(dú)地設(shè)置共享控制總線cmd/addr_bus與數(shù)據(jù)總線data_bus1和data_bus2的第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924上的命令地址延遲cal,步驟s1150的方案是控制器940通過(guò)訪問(wèn)各自第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921讀取數(shù)據(jù),其中數(shù)據(jù)具有指定的命令地址延遲cal。此外,如上所述,命令地址延遲cal的第一值和第二值之間的差dcal可以滿足dcal≥trcd和dcal<trp的方式來(lái)設(shè)置。
在步驟s1160處,當(dāng)從易失性存儲(chǔ)器裝置讀取的數(shù)據(jù)被寫入到非易失性存儲(chǔ)器裝置930中時(shí),執(zhí)行數(shù)據(jù)備份操作。例如,從各自第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和各自第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921讀取的數(shù)據(jù)可被備份在非易失性存儲(chǔ)器裝置930的頁(yè)面中。
在步驟s1170處,確定非易失性存儲(chǔ)器頁(yè)面是否已滿(即,頁(yè)面的數(shù)據(jù)寫入被完成)。如果非易失性存儲(chǔ)頁(yè)面不滿,則過(guò)程可以返回到步驟s1140。
例如,如果存儲(chǔ)在各自第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921中的數(shù)據(jù)保留,則控制器940可以在步驟s1140處通過(guò)將各自第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921的命令地址延遲cal設(shè)置成第一值例如0,并且將除目標(biāo)易失性存儲(chǔ)器裝置911和921之外的其余的易失性存儲(chǔ)器裝置912至914和922至924的命令地址延遲cal設(shè)置成第二值例如3執(zhí)行對(duì)存儲(chǔ)在各自第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921中的其余數(shù)據(jù)的讀取操作。
對(duì)于另一示例,當(dāng)存儲(chǔ)在各自第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921中的所有數(shù)據(jù)被備份時(shí),則在步驟s1140處,控制器940可以將另外的目標(biāo)存儲(chǔ)器裝置例如各自第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置912和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置922的命令地址延遲cal設(shè)置成第一值例如0,并且可以將除目標(biāo)易失性存儲(chǔ)器裝置912和922之外的其余的易失性存儲(chǔ)器裝置911、913、914和921、923、924的命令地址延遲cal設(shè)置成第二值例如3。然后,在步驟s1150處,控制器940可以通過(guò)命令地址延遲cal的設(shè)置讀取目標(biāo)易失性存儲(chǔ)器裝置912和922。盡管未示出,但是通過(guò)命令地址延遲cal的設(shè)置,共享控制總線cmd/addr_bus與數(shù)據(jù)總線data_bus1和data_bus2的第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的選擇性讀取可以通過(guò)將各自第一組易失性存儲(chǔ)器裝置911至914和各自第二組易失性存儲(chǔ)器裝置921至924中的每個(gè)易失性存儲(chǔ)器裝置選擇為目標(biāo)易失性存儲(chǔ)器裝置對(duì)所有各自第一組易失性存儲(chǔ)器裝置911至914和各自第二組易失性存儲(chǔ)器裝置921至924來(lái)執(zhí)行。
當(dāng)在步驟s1170處確定非易失性存儲(chǔ)頁(yè)面已滿時(shí),過(guò)程繼續(xù)至非易失性存儲(chǔ)頁(yè)面被編程的步驟s1180。
當(dāng)編程非易失存儲(chǔ)器裝置930的存儲(chǔ)器頁(yè)面時(shí),有必要檢查不是從第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924讀取的數(shù)據(jù)是否仍然存在。因此,在步驟s1180的對(duì)非易失存儲(chǔ)器裝置930的存儲(chǔ)器頁(yè)面的編程操作期間,控制器940可以對(duì)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924執(zhí)行刷新操作。例如,均勻分布刷新周期的分布式刷新操作可針對(duì)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924執(zhí)行,使得在重復(fù)任務(wù)之前所有行被打開(kāi),并且當(dāng)刷新不被執(zhí)行時(shí)讀取各自第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中的數(shù)據(jù)。
當(dāng)新的非易失性存儲(chǔ)器頁(yè)面被準(zhǔn)備并寫入(即s1160-s1180)時(shí),第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924可以在低功率模式下操作,其中第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924使用比正常功率模式低的功率。在新的非易失性存儲(chǔ)器頁(yè)面被準(zhǔn)備并寫入后,當(dāng)待備份的數(shù)據(jù)仍然保留在第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中并且待編程的存儲(chǔ)器頁(yè)面存在于非易失性存儲(chǔ)器裝置930中時(shí),第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924被恢復(fù)至正常功率模式,使得讀取待備份的數(shù)據(jù)的操作被連續(xù)地執(zhí)行。
在步驟s1190處,確定待備份的數(shù)據(jù)是否保留在第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中。當(dāng)待備份的數(shù)據(jù)不保留時(shí),則掉電備份操作可以結(jié)束,并且nvdimm900可被關(guān)閉。如果待備份的數(shù)據(jù)保留,則過(guò)程可以繼續(xù)至步驟s1140,并且對(duì)其余數(shù)據(jù)的備份操作被執(zhí)行。
通電恢復(fù)操作
圖12是幫助描述根據(jù)實(shí)施例的nvdimm900中的恢復(fù)操作的流程圖的示例。
當(dāng)主機(jī)的電源host_vdd和host_vss恢復(fù)至正常狀態(tài)或當(dāng)主機(jī)的存儲(chǔ)器控制器9指示恢復(fù)操作時(shí),通電恢復(fù)操作可被執(zhí)行。由于主機(jī)的電源host_vdd和host_vss已恢復(fù)至正常狀態(tài),所以通電恢復(fù)操作可以通過(guò)主機(jī)的電源host_vdd和host_vss被執(zhí)行。
在示例中,在完成參照?qǐng)D11如上所述的備份操作之后,nvdimm900可以在關(guān)閉nvdimm900的狀態(tài)下執(zhí)行恢復(fù)操作。在另一示例中,在備份操作的過(guò)程中,主機(jī)的電源host_vdd和host_vss可以恢復(fù)至正常狀態(tài)。在這種情況下,斷電備份操作可以被中斷,通電恢復(fù)操作可被執(zhí)行。在任一示例中,在步驟s1210處,nvdimm900的第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924可處于nvdimm900的控制器940的控制下。
在步驟s1220處,確定是否滿足恢復(fù)條件,如果滿足恢復(fù)條件,則開(kāi)始數(shù)據(jù)從非易失性存儲(chǔ)器裝置930至第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的恢復(fù)。
在步驟s1230處,控制器940單獨(dú)地設(shè)置共享控制總線cmd/addr_bus與數(shù)據(jù)總線data_bus1和data_bus2的第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924上的命令地址延遲cal。如參照?qǐng)D11對(duì)備份操作的以上描述,第一組易失性存儲(chǔ)器裝置911至914可以單獨(dú)地進(jìn)入pda模式,第二組易失性存儲(chǔ)器裝置921至924可以單獨(dú)地進(jìn)入pda模式。
例如,各自第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中的目標(biāo)易失性存儲(chǔ)器裝置911和921的命令地址延遲cal可被設(shè)置成第三值例如0,除目標(biāo)易失性存儲(chǔ)器裝置911和921之外的其余的易失性存儲(chǔ)器裝置912至914和922至924的命令地址延遲cal可被設(shè)置成第四值例如3。
在步驟s1240處,到各自第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置911和921的數(shù)據(jù)恢復(fù)可通過(guò)命令地址延遲cal將從非易失性存儲(chǔ)器裝置930讀取的數(shù)據(jù)寫入各自第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置911和921中被執(zhí)行。
在步驟s1250處,確定待恢復(fù)的數(shù)據(jù)是否保留在非易失性存儲(chǔ)器裝置930中。如果待恢復(fù)的數(shù)據(jù)保留,則過(guò)程可繼續(xù)至步驟s1230,恢復(fù)操作可針對(duì)其余的數(shù)據(jù)執(zhí)行。
例如,當(dāng)對(duì)于各自第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置911和921的數(shù)據(jù)恢復(fù)被完成時(shí),在步驟s1230處,控制器940可以將另外的目標(biāo)存儲(chǔ)器裝置例如各自第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置912和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置922的命令地址延遲cal設(shè)置成第三值例如0,并且控制器940可以將除目標(biāo)易失性存儲(chǔ)器裝置912和922之外的其余的易失性存儲(chǔ)器裝置911、913、914和921、923、924的命令地址延遲cal設(shè)置成第四值例如3。然后,在步驟s1240處,控制器940可以通過(guò)命令地址延遲cal的設(shè)置將從非易失性存儲(chǔ)器裝置930讀取的數(shù)據(jù)恢復(fù)至目標(biāo)易失性存儲(chǔ)器裝置912和922。數(shù)據(jù)恢復(fù)操作可通過(guò)下列操作針對(duì)所有各自第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924執(zhí)行:?jiǎn)为?dú)地設(shè)置作為各自第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中的目標(biāo)易失性存儲(chǔ)器裝置的每個(gè)易失性存儲(chǔ)器裝置的命令地址延遲cal、將各個(gè)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中除了目標(biāo)易失性存儲(chǔ)器裝置之外的其余的易失性存儲(chǔ)器裝置的命令地址延遲cal設(shè)置成第四值,然后將從非易失性存儲(chǔ)器裝置930讀取的數(shù)據(jù)恢復(fù)至目標(biāo)易失性存儲(chǔ)器裝置中。命令地址延遲cal的第三值和第四值之間的差值dcal可被設(shè)置成滿足dcal≥trcd且dcal<trp。
當(dāng)在步驟s1250處確定待恢復(fù)的數(shù)據(jù)不保留,為當(dāng)主機(jī)的電源host_vdd和host_vss再次斷電時(shí)做準(zhǔn)備時(shí),有必要確保非易失性存儲(chǔ)器裝置930的足夠存儲(chǔ)容量以在對(duì)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的控制改變到主機(jī)的存儲(chǔ)器控制器9之前備份存儲(chǔ)在第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中的數(shù)據(jù)。
在步驟s1260處,確定擦除塊或空白塊針對(duì)在非易失性存儲(chǔ)器裝置930中備份數(shù)據(jù)是否足夠。例如,確定擦除塊的量是否足以覆蓋第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的整個(gè)容量或者目前存儲(chǔ)在非易失性存儲(chǔ)器裝置930的第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中的數(shù)據(jù)的使用量或有效范圍。如果在非易失性存儲(chǔ)器裝置930中不存在足夠的擦除塊,則在步驟s1270處,新的塊在非易失性存儲(chǔ)器裝置930中被擦除。
當(dāng)在非易失性存儲(chǔ)器裝置930中存在足夠的擦除塊時(shí),則在步驟s1280處,對(duì)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的控制從nvdimm900的控制器940被改變至主機(jī)的存儲(chǔ)器控制器9,并且通電恢復(fù)操作被完成。
此后,nvdimm900可以通過(guò)主機(jī)的存儲(chǔ)器控制器9使用,并且可以如上參照?qǐng)D11所述的步驟s1110的相同狀態(tài)下操作。例如,用于第一組易失性存儲(chǔ)器裝置911至914的數(shù)據(jù)總線可以從第一數(shù)據(jù)總線data_bus1被改變成第三數(shù)據(jù)總線data_bus3_1至data_bus3_4,用于第二組易失性存儲(chǔ)器裝置921至924的數(shù)據(jù)總線可以從第二數(shù)據(jù)總線data_bus2被改變成第四數(shù)據(jù)總線data_bus4_1至data_bus4_4。
斷電中斷操作
圖13是幫助描述根據(jù)實(shí)施例的nvdimm900中的斷電中斷操作的流程圖的示例。
當(dāng)電源故障檢測(cè)器960檢測(cè)到主機(jī)的電源host_vdd和host_vss發(fā)生故障或者主機(jī)的存儲(chǔ)器控制器9指示備份操作時(shí),斷電備份操作如上參照?qǐng)D11被執(zhí)行。就這一點(diǎn)而言,當(dāng)執(zhí)行斷電備份操作時(shí),主機(jī)的電源host_vdd和host_vss可被恢復(fù)至正常狀態(tài)并且來(lái)自主機(jī)的電源供應(yīng)可被重新開(kāi)始。因此,有必要中斷備份操作并允許主機(jī)的存儲(chǔ)器控制器9盡可能快地使用第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924。下面,將描述這種斷電中斷操作。
在步驟s1310處,執(zhí)行如上參照?qǐng)D1所述的斷電備份操作。
在步驟s1320處,確定在斷電備份操作期間,主機(jī)的電源host_vss和host_vdd是否被恢復(fù)。例如,當(dāng)在斷電備份操作期間,主機(jī)的電源host_vdd和host_vss返回至正常狀態(tài)并被供給至nvdimm900或與其對(duì)應(yīng)的信號(hào)從主機(jī)的存儲(chǔ)器控制器9被接收時(shí),可以確定在斷電備份操作期間,主機(jī)的電源host_vdd和host_vss得以恢復(fù)。
在斷電中斷操作期間,由于nvdimm900尚未完成斷電備份操作,所以nvdimm900未被關(guān)閉并且第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924仍然將數(shù)據(jù)存儲(chǔ)在其中。因此,可以不需要如在通電恢復(fù)操作中的數(shù)據(jù)恢復(fù)過(guò)程。然而,在步驟s1310的數(shù)據(jù)備份期間,存在非易失性存儲(chǔ)器裝置930的存儲(chǔ)器頁(yè)面被第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的數(shù)據(jù)占據(jù)的機(jī)會(huì),因此不可能為主機(jī)的電源host_vdd和host_vss再次發(fā)生故障做準(zhǔn)備。因此,在確保非易失性存儲(chǔ)器裝置930中備份第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的數(shù)據(jù)的足夠空間用于主機(jī)的電源host_vdd和host_vss的故障再次發(fā)生之后,可有必要對(duì)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的控制被改變到主機(jī)的存儲(chǔ)器控制器9。
在步驟s1330處,確定擦除塊或空塊對(duì)于在非易失性存儲(chǔ)器裝置930中備份數(shù)據(jù)的是否足夠。
例如,確定擦除塊的量是否足以覆蓋第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中的整個(gè)容量或者目前存儲(chǔ)在非易失性存儲(chǔ)器裝置930的第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中的數(shù)據(jù)的使用量或有效范圍。
當(dāng)在非易失性存儲(chǔ)器裝置930中存在足夠的擦除塊時(shí),在步驟s1340處,對(duì)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的控制從nvdimm900的控制器940改變至主機(jī)的存儲(chǔ)器控制器9,并且主機(jī)的存儲(chǔ)器控制器9可立即使用nvdimm900。
然而,當(dāng)在非易失性存儲(chǔ)器裝置930中不存在足夠的擦除塊時(shí),在步驟s1350處,新的塊在非易失性存儲(chǔ)器裝置930中被擦除以為主機(jī)的電源host_vdd和host_vss的故障再次發(fā)生做準(zhǔn)備。
這里,從非易失性存儲(chǔ)器裝置930擦除的塊可以包括從第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924備份的數(shù)據(jù)。當(dāng)在斷電中斷操作而不是從一開(kāi)始執(zhí)行圖11說(shuō)明的整個(gè)斷電備份操作期間,主機(jī)的電源host_vdd和host_vss再次發(fā)生故障時(shí),優(yōu)先僅備份在擦除塊中備份的數(shù)據(jù)然后重新開(kāi)始在中斷時(shí)間中斷的備份操作是有利的,使得備份任務(wù)可被快速地實(shí)施,并且具有有限功率量的輔助電源10的應(yīng)急電源emg_vdd和emg_vss的消耗可得到降低。
在步驟s1360處,確定用于將第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的數(shù)據(jù)備份在非易失性存儲(chǔ)器裝置930中的觸發(fā)條件是否被滿足。如上所述,觸發(fā)條件可以是對(duì)主機(jī)的電源host_vdd和host_vss的故障檢測(cè)或來(lái)自主機(jī)的存儲(chǔ)器控制器9的備份命令。當(dāng)不滿足觸發(fā)條件時(shí),過(guò)程返回至步驟s1330。
當(dāng)確定觸發(fā)條件被滿足時(shí),在步驟s1310處備份然后在步驟s1350處被擦除的第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的數(shù)據(jù)在步驟s1370處被再次備份。
例如,可以假設(shè)在步驟s1310處,各自第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置911和921的數(shù)據(jù)被備份在非易失性存儲(chǔ)器裝置930中的擦除塊中,然后在步驟s1350處,存儲(chǔ)備份數(shù)據(jù)的塊被擦除。因此,nvdimm900的控制器940可以將各自第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置911和921的命令地址延遲cal設(shè)置成第五值例如0。然后,在將除了目標(biāo)易失性存儲(chǔ)器裝置911和921之外的其余的易失性存儲(chǔ)器裝置的命令地址延遲cal設(shè)置成第六值例如3之后,正在存儲(chǔ)在步驟s1350處從非易失性存儲(chǔ)器裝置930擦除的數(shù)據(jù)的易失性存儲(chǔ)器區(qū)域可以通過(guò)命令地址延遲cal的設(shè)置值被選擇并讀取。在步驟s1370處,讀取的數(shù)據(jù)被再次備份在非易失性存儲(chǔ)器裝置930中。在步驟s1370的選擇性備份操作被完成之后,在步驟s1380處,在斷電中斷操作的啟用時(shí)間中斷的斷電備份操作可被重新開(kāi)始。
nvdimm的命令/地址監(jiān)聽(tīng)
圖14是說(shuō)明根據(jù)另一實(shí)施例的nvdimm的示例的配置簡(jiǎn)圖。圖14是幫助描述nvdimm的命令/地址監(jiān)聽(tīng)操作的概念圖。為了便于理解本實(shí)施例,僅示出nvdimm的內(nèi)部配置。主機(jī)的存儲(chǔ)器控制器9、主機(jī)的存儲(chǔ)器控制器9和第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924、非易失性存儲(chǔ)器裝置930之間的聯(lián)接關(guān)系以及非易失性存儲(chǔ)器裝置930和控制器940之間的聯(lián)接關(guān)系與圖9所示相同。此外,圖14的配置簡(jiǎn)圖說(shuō)明作為第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的dram,形成在第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中的數(shù)據(jù)焊盤與圖9中示出的數(shù)據(jù)焊盤相同。
參照?qǐng)D14,控制器940可以包括命令/地址監(jiān)聽(tīng)邏輯1410和命令/地址控制邏輯1420。命令/地址監(jiān)聽(tīng)邏輯1410可以接收并識(shí)別即監(jiān)聽(tīng)用于從主機(jī)的存儲(chǔ)器控制器9提供的用于第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的命令和地址。命令/地址控制邏輯1420可為第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924提供命令和地址,從而控制第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924。
從命令/地址控制邏輯1420輸出的控制器940的命令和地址通過(guò)多路復(fù)用器1450被傳輸?shù)郊拇嫫鲿r(shí)鐘驅(qū)動(dòng)器(rcd)1440。寄存器時(shí)鐘驅(qū)動(dòng)器1440可以緩沖從主機(jī)的存儲(chǔ)器控制器9或nvdimm的控制器940提供的命令、地址和時(shí)鐘,并且可以通過(guò)控制總線cmd/addr_bus為第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924提供命令、地址和時(shí)鐘。此外,寄存器時(shí)鐘驅(qū)動(dòng)器1440可具有恢復(fù)從主機(jī)的存儲(chǔ)器控制器9或nvdimm的控制器940提供的命令和地址的任何失真的功能。此后,將參照?qǐng)D15和圖16描述通過(guò)命令/地址監(jiān)聽(tīng)執(zhí)行斷電備份操作的實(shí)施例。
使用nvdimm的命令/地址監(jiān)聽(tīng)的選擇性備份操作
圖15是幫助描述圖14的實(shí)施例中的備份操作的流程圖的示例。
當(dāng)主機(jī)的電源host_vdd和host_vss如上所述正常供電時(shí),第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924被主機(jī)的存儲(chǔ)器控制器9單獨(dú)地控制。在步驟s1510處,nvdimm的控制器940可以通過(guò)命令/地址監(jiān)聽(tīng)邏輯1410監(jiān)聽(tīng)從主機(jī)的存儲(chǔ)器控制器9輸入到第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的命令和地址。
在步驟s1520處,命令/地址監(jiān)聽(tīng)邏輯1410分析存儲(chǔ)在第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的每個(gè)易失性存儲(chǔ)器裝置中的數(shù)據(jù)的有效區(qū)域(即數(shù)據(jù)被存儲(chǔ)在易失性存儲(chǔ)器中的區(qū)域)。命令/地址監(jiān)聽(tīng)邏輯1410可分析存儲(chǔ)在各個(gè)易失性存儲(chǔ)器裝置中的數(shù)據(jù)的有效區(qū)域并積累分析結(jié)果,同時(shí)對(duì)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的控制通過(guò)主機(jī)的存儲(chǔ)器控制器9來(lái)執(zhí)行。
在步驟s1530處,確定用于將第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的數(shù)據(jù)備份在非易失性存儲(chǔ)器裝置930中的觸發(fā)條件是否被滿足。如上所述,觸發(fā)條件是用于將存儲(chǔ)在第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中的數(shù)據(jù)備份在非易失性存儲(chǔ)區(qū)裝置930中的條件。例如,對(duì)主機(jī)的電源host_vdd和host_vss的故障檢測(cè)或者對(duì)來(lái)自主機(jī)的存儲(chǔ)器控制器9的備份操作的指示可以滿足觸發(fā)條件。
當(dāng)觸發(fā)條件被滿足時(shí),具有數(shù)據(jù)的有效區(qū)域的易失性存儲(chǔ)器裝置基于步驟s1520的積累的分析結(jié)果在步驟s1540處被選擇,并且在步驟s1550處,在所選擇的易失性存儲(chǔ)器裝置中存儲(chǔ)的數(shù)據(jù)被備份在非易失性存儲(chǔ)器裝置930中。
例如,假定在步驟s1540處選擇的易失性存儲(chǔ)器裝置是如上參照?qǐng)D11所述的各自第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置911和921??刂破?40可以通過(guò)下列操作選擇性地讀取各個(gè)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置911和921:將各自第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置911和921的命令地址延遲cal設(shè)置成第一值例如0,并且將除了目標(biāo)易失性存儲(chǔ)器裝置911和921之外的其余的易失性存儲(chǔ)器裝置912至914和922至924的命令地址延遲cal設(shè)置成第二值例如3。讀取的數(shù)據(jù)可被備份在非易失性存儲(chǔ)器裝置930中。
當(dāng)有效區(qū)域的數(shù)據(jù)被存儲(chǔ)在共享相同的控制總線cmd/addr_bus以及第一數(shù)據(jù)總線data_bus1和第二數(shù)據(jù)總線data_bus2的第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924之中的一些易失性存儲(chǔ)器裝置中時(shí),僅有效區(qū)域的易失性存儲(chǔ)器裝置被選擇,所選擇的易失性存儲(chǔ)器裝置的命令地址延遲cal可被順序地設(shè)置成第一值,未選擇的易失性存儲(chǔ)器裝置的命令地址延遲cal可被設(shè)置成第二值。因此,通過(guò)僅備份有效區(qū)域的數(shù)據(jù),可可能大幅縮短備份數(shù)據(jù)所需的時(shí)間。
使用nvdimm的命令/地址監(jiān)聽(tīng)的優(yōu)先備份操作
圖16是幫助描述圖14的實(shí)施例中另一備份操作的流程圖的示例。
當(dāng)主機(jī)的電源host_vdd和host_vss被正常供電時(shí),第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924通過(guò)主機(jī)的存儲(chǔ)器控制器9單獨(dú)地控制。在步驟s1610處,nvdimm的控制器940可以通過(guò)命令/地址監(jiān)聽(tīng)邏輯1410監(jiān)聽(tīng)從主機(jī)的存儲(chǔ)器控制器9輸入到第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的命令和地址。
在步驟s1620處,命令/地址監(jiān)聽(tīng)邏輯1410分析在第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中的每個(gè)易失性存儲(chǔ)器裝置中存儲(chǔ)的數(shù)據(jù)的量。命令/地址監(jiān)聽(tīng)邏輯1410可分析在各個(gè)易失性存儲(chǔ)器裝置中存儲(chǔ)的數(shù)據(jù)的量并積累分析結(jié)果,同時(shí)對(duì)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的控制通過(guò)主機(jī)的存儲(chǔ)器控制器9來(lái)執(zhí)行。
在步驟s1630處,確定用于將第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的數(shù)據(jù)備份在非易失性存儲(chǔ)器裝置930中的觸發(fā)條件是否被滿足。觸發(fā)條件是用于將第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中存儲(chǔ)的數(shù)據(jù)備份在非易失性存儲(chǔ)區(qū)裝置930中的條件。對(duì)主機(jī)的電源host_vdd和host_vss的故障檢測(cè)或者對(duì)來(lái)自主機(jī)的存儲(chǔ)器控制器9的備份操作的指示可以滿足觸發(fā)條件。
當(dāng)觸發(fā)條件被滿足時(shí),在步驟s1640處,各自第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924可按照存儲(chǔ)的數(shù)據(jù)的量被優(yōu)先化,并且在步驟s1650處,在易失性存儲(chǔ)器裝置中存儲(chǔ)的數(shù)據(jù)根據(jù)優(yōu)先順序被備份在非易失性存儲(chǔ)器裝置930中。
例如,具有最大存儲(chǔ)的數(shù)據(jù)量的易失性存儲(chǔ)器裝置是在第一組易失性存儲(chǔ)器裝置911至914中的易失性存儲(chǔ)器裝置912和第二組易失性存儲(chǔ)器裝置921至924中的易失性存儲(chǔ)器裝置922。控制器940可以通過(guò)將易失性存儲(chǔ)器裝置912和922的命令地址延遲cal設(shè)置成第一值例如0,并且將其余的易失性存儲(chǔ)器裝置911、913、914和921、923、924的命令地址延遲cal設(shè)置成第二值例如3選擇性地讀取具有最大存儲(chǔ)的數(shù)據(jù)量的易失性存儲(chǔ)器裝置912和922。如上所述,讀取的數(shù)據(jù)被備份在非易失性存儲(chǔ)器裝置930中。
在步驟s1640處,備份操作可根據(jù)優(yōu)先級(jí)設(shè)置針對(duì)各自第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中的每個(gè)易失性存儲(chǔ)器裝置執(zhí)行。
如從以上描述顯而易見(jiàn)的是,當(dāng)nvdimm900通過(guò)主機(jī)的電源host_vdd和host_vss的故障和恢復(fù)執(zhí)行數(shù)據(jù)的備份和恢復(fù)操作時(shí),nvdimm900的第一組易失性存儲(chǔ)器裝置911至914共享與控制器940通信的控制總線cmd/addr_bus和第一數(shù)據(jù)總線data_bus1,nvdimm900的第二組易失性存儲(chǔ)器裝置921至924共享與控制器940通信的控制總線cmd/addr_bus和第二數(shù)據(jù)總線data_bus2??刂破?40可以通過(guò)將命令地址延遲cal設(shè)置成不同的值單獨(dú)地訪問(wèn)第一組易失性存儲(chǔ)器裝置911至914備份和恢復(fù)數(shù)據(jù)。類似地,控制器940可以通過(guò)將命令地址延遲cal設(shè)置成不同的值單獨(dú)地訪問(wèn)第二組易失性存儲(chǔ)器裝置921至924備份和恢復(fù)數(shù)據(jù)。
在一個(gè)或多個(gè)示例性實(shí)施例中,本文所描述的功能可在硬件、軟件、固件或它們的任意組合中實(shí)現(xiàn)。如果在軟件中實(shí)現(xiàn),則功能可以作為機(jī)器可讀介質(zhì)即計(jì)算機(jī)程序產(chǎn)品諸如計(jì)算機(jī)可讀介質(zhì)上的一個(gè)或多個(gè)命令或代碼被存儲(chǔ)或傳輸。計(jì)算機(jī)可讀介質(zhì)包括通信介質(zhì),其包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和便于計(jì)算機(jī)程序從一個(gè)位置傳輸?shù)搅硪晃恢玫娜魏谓橘|(zhì)。存儲(chǔ)介質(zhì)可以是可被計(jì)算機(jī)訪問(wèn)的任何可用介質(zhì)。在非限制性示例中,這種計(jì)算機(jī)可讀介質(zhì)可以被ram、rom、eeprom、cd-rom,光盤存儲(chǔ)器裝置、磁盤存儲(chǔ)器裝置、磁存儲(chǔ)器裝置或計(jì)算機(jī)訪問(wèn),并且可以包括可用于以命令或數(shù)據(jù)結(jié)構(gòu)的形式攜帶或存儲(chǔ)所需程序代碼的任何介質(zhì)。本文所用的磁盤和盤(disc)包括壓縮盤(cd)、激光盤、光盤、數(shù)字多功能光盤(dvd)、軟盤和藍(lán)光光盤,其中磁盤通常重放數(shù)據(jù)磁性地但光盤光盤,其中磁盤通常通過(guò)磁性方式再現(xiàn)數(shù)據(jù),而盤通過(guò)光學(xué)方式再現(xiàn)數(shù)據(jù)。它們的任意組合應(yīng)包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。
雖然已經(jīng)描述了各個(gè)實(shí)施例用于說(shuō)明的目的,但對(duì)于本領(lǐng)域技術(shù)人員將是顯而易見(jiàn)的是,在不脫離如下述權(quán)利要求書限定的本發(fā)明的精神和范圍的情況下可以作出各種變化和變型。