亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

非易失性存儲(chǔ)器模塊及其操作方法與流程

文檔序號(hào):11216197閱讀:1395來(lái)源:國(guó)知局
非易失性存儲(chǔ)器模塊及其操作方法與流程

相關(guān)申請(qǐng)的交叉引用

本申請(qǐng)要求于2016年3月28日提交的申請(qǐng)?zhí)枮?0-2016-0036647的韓國(guó)專利申請(qǐng)的優(yōu)先權(quán),其全部?jī)?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)線。即,用于芯片選擇信號(hào)cs0和cs1的信號(hào)線被分開提供用于各自的存儲(chǔ)器裝置110_0和110_1。因此,由在存儲(chǔ)器裝置110_0和110_1之間的芯片選擇信號(hào)cs0或cs1所選擇的存儲(chǔ)器裝置可以執(zhí)行通過(guò)控制總線cmd/addr_bus指示的操作,并且可以通過(guò)共享的數(shù)據(jù)總線data_bus與控制器100交換信號(hào)。

隨著聯(lián)接到單個(gè)控制器的存儲(chǔ)器裝置的數(shù)量增加,所需的信號(hào)線的數(shù)量也必須增加,這增加了系統(tǒng)設(shè)計(jì)的難度并且增加了制造成本。



技術(shù)實(shí)現(xiàn)要素:

各個(gè)實(shí)施例涉及能夠利用減少數(shù)量的信號(hào)線獨(dú)立地訪問(wèn)其中的易失性存儲(chǔ)器裝置并且能夠優(yōu)先執(zhí)行針對(duì)主機(jī)電源故障的大量數(shù)據(jù)的備份操作的非易失性雙列直插式存儲(chǔ)器模塊。

在一個(gè)實(shí)施例中,非易失性存儲(chǔ)器模塊可以包括:多個(gè)易失性存儲(chǔ)器裝置,其共享通過(guò)其數(shù)據(jù)被傳輸?shù)臄?shù)據(jù)總線和通過(guò)其命令和地址被傳輸?shù)目刂瓶偩€;至少一個(gè)非易失性存儲(chǔ)器裝置;以及控制器,其適于在主機(jī)的電源故障時(shí)將在多個(gè)易失性存儲(chǔ)器裝置中存儲(chǔ)的數(shù)據(jù)備份到非易失性存儲(chǔ)器裝置中,并且在電源故障恢復(fù)時(shí)將在非易失性存儲(chǔ)器裝置中備份的數(shù)據(jù)恢復(fù)到多個(gè)易失性存儲(chǔ)器裝置,控制器包括:命令/地址探聽邏輯,其適于探聽從主機(jī)的存儲(chǔ)器控制器輸入的命令和地址并分析在各個(gè)易失性存儲(chǔ)器裝置中存儲(chǔ)的數(shù)據(jù)的數(shù)量;以及命令/地址控制邏輯,其適于基于命令/地址探聽邏輯的分析結(jié)果以存儲(chǔ)的數(shù)據(jù)的數(shù)量的順序選擇多個(gè)易失性存儲(chǔ)器裝置中的一個(gè),并將所選擇的易失性存儲(chǔ)器裝置的數(shù)據(jù)備份在非易失性存儲(chǔ)器裝置中。

命令/地址控制邏輯可將所選擇的易失性存儲(chǔ)器裝置的命令地址延時(shí)(cal)設(shè)置為第一值,并將剩余易失性存儲(chǔ)器裝置的命令地址延時(shí)設(shè)置為不同于第一值的第二值。

第二值可大于第一值,第二值和第一值之間的差值可以等于或大于行地址與列地址的延時(shí)時(shí)間(trcd:ras與cas的延時(shí))。

第二值和第一值之間的差值可以小于行預(yù)充電時(shí)間(trp)。

命令/地址控制邏輯可以包括:適于當(dāng)編程所述非易失性存儲(chǔ)器裝置的存儲(chǔ)器頁(yè)面時(shí)執(zhí)行用于均勻分布多個(gè)易失性存儲(chǔ)器裝置的刷新周期的分布式刷新操作的邏輯;適于當(dāng)所述非易失性存儲(chǔ)器裝置的新的存儲(chǔ)器頁(yè)面被準(zhǔn)備和寫入時(shí)在低功率下操作多個(gè)易失性存儲(chǔ)器裝置的邏輯,其中多個(gè)易失性存儲(chǔ)器裝置使用低于在正常電源模式中的功率;以及適于在非易失性存儲(chǔ)器裝置的新的存儲(chǔ)器頁(yè)面被寫入之后將多個(gè)易失性存儲(chǔ)器裝置恢復(fù)到正常電源模式的邏輯。

在一個(gè)實(shí)施例中,提供了用于操作非易失性存儲(chǔ)器模塊的方法,其中非易失性存儲(chǔ)器模塊包括:多個(gè)易失性存儲(chǔ)器裝置,其共享通過(guò)其數(shù)據(jù)被傳輸?shù)臄?shù)據(jù)總線和通過(guò)其命令和地址被傳輸?shù)目刂瓶偩€;非易失性存儲(chǔ)器裝置;以及控制器,其根據(jù)主機(jī)電源的故障/恢復(fù)將在多個(gè)易失性存儲(chǔ)器裝置中存儲(chǔ)的數(shù)據(jù)備份在非易失性存儲(chǔ)器裝置中或?qū)⒃诜且资源鎯?chǔ)器裝置中備份的數(shù)據(jù)恢復(fù)到多個(gè)易失性存儲(chǔ)器裝置,該方法可以包括:通過(guò)控制器探聽從主機(jī)的存儲(chǔ)器控制器輸入至多個(gè)易失性存儲(chǔ)器裝置的命令和地址;分析命令和地址并分析在各個(gè)易失性存儲(chǔ)器裝置中存儲(chǔ)的數(shù)據(jù)的數(shù)量;以及當(dāng)檢測(cè)到主機(jī)的電源故障或從主機(jī)的存儲(chǔ)器控制器指示備份時(shí),基于分析結(jié)果以存儲(chǔ)的數(shù)據(jù)的數(shù)量的順序選擇多個(gè)易失性存儲(chǔ)器裝置中的一個(gè),并且將所選擇的易失性存儲(chǔ)器裝置的數(shù)據(jù)備份在非易失性存儲(chǔ)器裝置中。

控制器可將所選擇的易失性存儲(chǔ)器裝置的命令地址延時(shí)(cal)設(shè)置為第一值,并可將剩余易失性存儲(chǔ)器裝置的命令地址延時(shí)設(shè)置為不同于第一值的第二值。

第二值可大于第一值,且第二值和第一值之間的差值可以等于或大于行地址與列地址的延時(shí)時(shí)間(trcd:ras與cas的延遲)。

第二值和第一值之間的差值可以小于行預(yù)充電時(shí)間(trp)。

所選擇的易失性存儲(chǔ)器裝置的數(shù)據(jù)的備份可以包括:當(dāng)編程所述非易失性存儲(chǔ)器裝置的存儲(chǔ)器頁(yè)面時(shí),執(zhí)行用于均勻分布多個(gè)易失性存儲(chǔ)器裝置的刷新周期的分布式刷新操作;當(dāng)所述非易失性存儲(chǔ)器裝置的新的存儲(chǔ)器頁(yè)面被準(zhǔn)備和寫入時(shí),在低電源模式下操作多個(gè)易失性存儲(chǔ)器裝置,其中多個(gè)易失性存儲(chǔ)器裝置使用低于在正常功率模式中的功率;以及在非易失性存儲(chǔ)器裝置的新的存儲(chǔ)器頁(yè)面被寫入之后將多個(gè)易失性存儲(chǔ)器裝置恢復(fù)到正常電源模式。

非易失性存儲(chǔ)器模塊可以包括:易失性存儲(chǔ)器裝置,其適于存儲(chǔ)通過(guò)共用數(shù)據(jù)總線從主機(jī)提供的數(shù)據(jù);非易失性存儲(chǔ)器裝置,其適于備份在易失性存儲(chǔ)器裝置中存儲(chǔ)的數(shù)據(jù);以及控制器,其適于:通過(guò)探聽經(jīng)由共用控制總線從主機(jī)提供至各個(gè)易失性存儲(chǔ)器裝置的命令和地址來(lái)分析在各個(gè)易失性存儲(chǔ)器裝置中存儲(chǔ)的數(shù)據(jù)的數(shù)量;基于分析的結(jié)果以存儲(chǔ)的數(shù)據(jù)的數(shù)量的順序選擇多個(gè)易失性存儲(chǔ)器裝置中的一個(gè);并且在主機(jī)的電源故障時(shí)將所選擇的易失性存儲(chǔ)器裝置的數(shù)據(jù)備份在非易失性存儲(chǔ)器裝置中。

根據(jù)本發(fā)明的實(shí)施例,在非易失性雙列直插式存儲(chǔ)器模塊中利用減少數(shù)量的數(shù)據(jù)總線的信號(hào)線獨(dú)立地訪問(wèn)易失性存儲(chǔ)器裝置是可能的,并且優(yōu)先執(zhí)行針對(duì)主機(jī)電源故障的大量數(shù)據(jù)的備份操作是可能的。

附圖說(shuō)明

圖1a和圖1b是示出根據(jù)常規(guī)技術(shù)的控制器和存儲(chǔ)器裝置之間的總線連接的示例的框圖。

圖2是輔助描述易失性存儲(chǔ)器裝置中pda模式下模式寄存器設(shè)置(mrs)的操作的時(shí)序圖的示例。

圖3是輔助描述易失性存儲(chǔ)器裝置的命令地址延時(shí)(cal)的時(shí)序圖的示例。

圖4是示出根據(jù)一個(gè)實(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的命令地址延時(shí)cal的值之差dcal等于或大于trcd且小于trp時(shí)的優(yōu)點(diǎn)的時(shí)序圖的示例。

圖9是示出根據(jù)一個(gè)實(shí)施例的非易失性雙列直插式存儲(chǔ)器模塊(nvdimm)的示例的配置簡(jiǎn)圖。

圖10是示出根據(jù)另一實(shí)施例的nvdimm的示例的配置簡(jiǎn)圖。

圖11是輔助描述根據(jù)實(shí)施例的nvdimm中備份操作的流程圖的示例。

圖12是輔助描述根據(jù)實(shí)施例的nvdimm中恢復(fù)操作的流程圖的示例。

圖13是輔助描述根據(jù)實(shí)施例的nvdimm中掉電中斷操作的流程圖的示例。

圖14是示出根據(jù)另一實(shí)施例的nvdimm的示例的配置簡(jiǎn)圖。

圖15是輔助描述圖14的實(shí)施例中備份操作的流程圖的示例。

圖16是輔助描述圖14的實(shí)施例中另一備份操作的流程圖的示例。

具體實(shí)施方式

下面將參照附圖更詳細(xì)地描述各個(gè)實(shí)施例。然而,本發(fā)明可體現(xiàn)為不同的形式且不應(yīng)解釋為限于本文闡述的實(shí)施例。相反,這些實(shí)施例被提供使得本公開將是全面且完整的,并將本發(fā)明的范圍充分傳達(dá)給本領(lǐng)域技術(shù)人員。遍及本公開,在本發(fā)明的各個(gè)附圖和實(shí)施例中類似的參考標(biāo)號(hào)指代類似的部件。

本公開涉及一種非易失性雙列直插式存儲(chǔ)器模塊,其中控制器可利用減少數(shù)量的信號(hào)線獨(dú)立訪問(wèn)共享數(shù)據(jù)總線和控制總線的易失性存儲(chǔ)器裝置。下面,為了便于理解根據(jù)實(shí)施例的非易失性雙列直插式存儲(chǔ)器模塊,將對(duì)整個(gè)系統(tǒng)的詳細(xì)配置順序地進(jìn)行說(shuō)明。

易失性存儲(chǔ)器裝置的per-dram可尋址能力(pda)模式

首先,將對(duì)易失性存儲(chǔ)器裝置的pda模式和命令地址延時(shí)(cal)進(jìn)行描述。

圖2是輔助描述易失性存儲(chǔ)器裝置中pda模式下模式寄存器設(shè)置(mrs)的操作的時(shí)序圖的示例的代表。

在pda模式下,對(duì)每個(gè)易失性存儲(chǔ)器裝置執(zhí)行獨(dú)立的模式寄存器組操作。當(dāng)設(shè)置pda模式時(shí),可以根據(jù)第0數(shù)據(jù)焊盤dq0的信號(hào)電平來(lái)確定所有模式寄存器組命令的有效性。如果寫入延時(shí)(wl=al+cwl,其中wl表示寫入延時(shí),al表示附加延時(shí),cwl表示cas寫入延時(shí))后,第0數(shù)據(jù)焊盤dq0的信號(hào)電平為“0”,則采用的所有模式寄存器組命令可被確定為有效,并且如果第0數(shù)據(jù)焊盤dq0的信號(hào)電平為“1”,則采用的所有模式寄存器組命令可被確定為無(wú)效并被忽略。

參照?qǐng)D2,在時(shí)間點(diǎn)201,將模式寄存器設(shè)置命令mrs應(yīng)用到易失性存儲(chǔ)器裝置。在從時(shí)間點(diǎn)201開始經(jīng)過(guò)對(duì)應(yīng)于寫入延時(shí)(wl=al+cwl)的時(shí)間時(shí)的時(shí)間點(diǎn)202,第0數(shù)據(jù)焊盤dq0的信號(hào)電平轉(zhuǎn)變?yōu)椤?”以被保持預(yù)定的時(shí)段。因此,在時(shí)間點(diǎn)201應(yīng)用的模式寄存器設(shè)置命令mrs被確定為有效,并且在從時(shí)間點(diǎn)203開始的模式寄存器組命令循環(huán)時(shí)間(表示為圖2中的“tmrd_pda”)期間,通過(guò)使用與模式寄存器設(shè)置命令mrs一起輸入的地址(未示出)來(lái)執(zhí)行易失性存儲(chǔ)器裝置的設(shè)置操作。

如果第0數(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ǔ)器裝置的命令地址延時(shí)(cal)

圖3是輔助描述易失性存儲(chǔ)器裝置的cal的時(shí)序圖的示例。

cal表示芯片選擇信號(hào)cs和控制信號(hào)之中的通過(guò)控制總線(cmd/addr_bus)待被傳輸?shù)氖S嘈盘?hào)之間的時(shí)間差。如果設(shè)置cal,則易失性存儲(chǔ)器裝置僅將在從芯片選擇信號(hào)cs的啟用時(shí)間開始經(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í)的操作。在芯片選擇信號(hào)cs被啟用為低電平的時(shí)間點(diǎn)301后經(jīng)過(guò)3個(gè)時(shí)鐘的時(shí)間點(diǎn)302,將不同于芯片選擇信號(hào)cs的命令cmd和地址addr應(yīng)用到易失性存儲(chǔ)器裝置。然后,非易失性存儲(chǔ)器裝置可以將在時(shí)間點(diǎn)302應(yīng)用的命令cmd和地址addr確認(rèn)為有效。如果在與芯片選擇信號(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),將命令cmd和地址addr應(yīng)用到易失性存儲(chǔ)器裝置,則易失性存儲(chǔ)器裝置并不將命令cmd和地址addr識(shí)別為有效。

由于還在從芯片選擇信號(hào)cs被啟用的時(shí)間點(diǎn)303和305開始經(jīng)過(guò)對(duì)應(yīng)于cal(3個(gè)時(shí)鐘)的時(shí)間的時(shí)間點(diǎn)304和306,應(yīng)用命令cmd和地址addr,因此在時(shí)間點(diǎn)304和306應(yīng)用的命令cmd和地址addr也可以被易失性存儲(chǔ)器裝置識(shí)別為有效。

雙列直插式存儲(chǔ)器模塊(dimm)的基本配置

圖4是示出根據(jù)實(shí)施例的dimm的基本配置的代表的框圖。

參照?qǐng)D4,dimm可以包括控制器400、第一易失性存儲(chǔ)器裝置410_0、第二易失性存儲(chǔ)器裝置410_1、控制總線cmd/addr_bus以及數(shù)據(jù)總線data_bus。

通過(guò)控制總線cmd/addr_bus將控制信號(hào)從控制器400傳輸?shù)揭资源鎯?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ú)示出在附圖中以表示易失性存儲(chǔ)器裝置410_0和410_1共享相同的芯片選擇信號(hào)cs。地址addr可以包括多個(gè)信號(hào)。例如,地址addr可以包括多位存儲(chǔ)庫(kù)組(bankgroup)地址、多位存儲(chǔ)庫(kù)地址和多位正常地址。時(shí)鐘ck可以從控制器400被傳輸?shù)揭资源鎯?chǔ)器裝置410_0和410_1,用于易失性存儲(chǔ)器裝置410_0和410_1的同步操作。時(shí)鐘ck可以包括時(shí)鐘(ck_t)和反轉(zhuǎn)時(shí)鐘(ck_t)獲得的時(shí)鐘條(clockbar)(ck_c)的差分法來(lái)傳輸。

數(shù)據(jù)總線data_bus可以將多位數(shù)據(jù)data0至data3在控制器400與易失性存儲(chǔ)器裝置410_0和410_1之間傳輸。各個(gè)易失性存儲(chǔ)器裝置410_0和410_1設(shè)置有數(shù)據(jù)焊盤dq0至dq3以分別聯(lián)接到數(shù)據(jù)總線data_bus的數(shù)據(jù)線data0至data3。各個(gè)易失性存儲(chǔ)器裝置410_0和410_1的諸如數(shù)據(jù)焊盤dq0的特定數(shù)據(jù)焊盤可以聯(lián)接到不同的數(shù)據(jù)線data0和data1。指定的數(shù)據(jù)焊盤dq0可以用于設(shè)置識(shí)別控制總線cmd/addr_bus上的控制信號(hào)的延時(shí)。

控制器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中,可以將延時(shí)設(shè)置為不同的值,以允許易失性存儲(chǔ)器裝置410_0和410_1識(shí)別控制總線cmd/addr_bus上的信號(hào),并且可以通過(guò)使用延時(shí)來(lái)訪問(wèn)易失性存儲(chǔ)器裝置410_0和410_1之間期望的易失性存儲(chǔ)器裝置。這將在下文中參照?qǐng)D5至圖7b進(jìn)行詳細(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可以為待通過(guò)控制總線cmd/addr_bus傳輸?shù)目刂菩盘?hào)設(shè)置不同的延時(shí)。延時(shí)可以指諸如芯片選擇信號(hào)cs的參考信號(hào)與控制總線cmd/addr_bus上的信號(hào)中的剩余信號(hào)cmd和addr之間的時(shí)間差。由于第一易失性存儲(chǔ)器裝置410_0和第二易失性存儲(chǔ)器裝置410_1相對(duì)于控制總線cmd/addr_bus被設(shè)置有不同的延時(shí)的事實(shí),第一易失性存儲(chǔ)器裝置410_0和第二易失性存儲(chǔ)器裝置410_1可被控制器400獨(dú)立地訪問(wèn),這將在后文參照?qǐng)D5至圖7b進(jìn)行詳細(xì)說(shuō)明。

如從圖4可以看出,用于識(shí)別第一易失性存儲(chǔ)器裝置410_0和第二易失性存儲(chǔ)器裝置410_1的任何信號(hào)傳輸線并不是分別地分配給第一易失性存儲(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的操作可分為步驟510和步驟520,步驟510用于控制器400為待通過(guò)第一易失性存儲(chǔ)器裝置410_0和第二易失性存儲(chǔ)器裝置410_1的控制總線cmd/addr_bus傳輸?shù)目刂菩盘?hào)設(shè)置不同的延時(shí),步驟520用于控制器400分別地訪問(wèn)第一易失性存儲(chǔ)器裝置410_0和第二易失性存儲(chǔ)器裝置410_1。

在步驟511中,控制器400可以控制第一易失性存儲(chǔ)器裝置410_0和第二易失性存儲(chǔ)器裝置410_1以進(jìn)入pda模式。這可以通過(guò)將命令cmd應(yīng)用為對(duì)應(yīng)于模式寄存器設(shè)置命令(mrs)的組合和將地址addr應(yīng)用為對(duì)應(yīng)于進(jìn)入pda模式的組合來(lái)實(shí)現(xiàn)。

在步驟512中,第一易失性存儲(chǔ)器裝置410_0的命令地址延時(shí)cal可被設(shè)置為“0”。這可以通過(guò)將命令cmd應(yīng)用為對(duì)應(yīng)于模式寄存器設(shè)置命令(mrs)的組合,將地址addr應(yīng)用為對(duì)應(yīng)于cal設(shè)置為“0”的組合,和在寫入延時(shí)wl(wl=al+cwl)從命令cmd的應(yīng)用時(shí)間經(jīng)過(guò)之后,將信號(hào)電平“0”應(yīng)用至對(duì)應(yīng)于第一易失性存儲(chǔ)器裝置410_0的第0數(shù)據(jù)焊盤dq0的第0數(shù)據(jù)線data0來(lái)實(shí)現(xiàn)。參照?qǐng)D6,可以確認(rèn)的是,在時(shí)間點(diǎn)601應(yīng)用用于設(shè)置cal為“0”的命令/地址cmd/addr,并且當(dāng)對(duì)應(yīng)于寫入延時(shí)wl的時(shí)間從時(shí)間點(diǎn)601經(jīng)過(guò)時(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的命令地址延時(shí)cal可被設(shè)置為“3”。這可以通過(guò)將命令cmd應(yīng)用為對(duì)應(yīng)于模式寄存器設(shè)置命令(mrs)的組合,將地址addr應(yīng)用為對(duì)應(yīng)于cal設(shè)置為“3”的組合,和在寫入延時(shí)wl(wl=al+cwl)從命令cmd的應(yīng)用時(shí)間經(jīng)過(guò)之后,將信號(hào)電平“0”應(yīng)用至對(duì)應(yīng)于第二易失性存儲(chǔ)器裝置410_1的第0數(shù)據(jù)焊盤dq0的第1數(shù)據(jù)線data1來(lái)實(shí)現(xiàn)。參照?qǐng)D6,在時(shí)間點(diǎn)603應(yīng)用用于設(shè)置cal為“3”的命令/地址cmd/addr,且當(dāng)對(duì)應(yīng)于寫入延時(shí)wl的時(shí)間從時(shí)間點(diǎn)603經(jīng)過(guò)時(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í)設(shè)置,則pda模式可以在步驟514中結(jié)束。

由于第一易失性存儲(chǔ)器裝置410_0和第二易失性存儲(chǔ)器裝置410_1的命令地址延時(shí)cal彼此不同地設(shè)置,控制器400可以在步驟521中通過(guò)在芯片選擇信號(hào)cs的啟用時(shí)間應(yīng)用命令/地址cmd/addr來(lái)訪問(wèn)第一易失性存儲(chǔ)器裝置410_0,或者可以在步驟522中通過(guò)在從芯片選擇信號(hào)cs的啟用時(shí)間開始3個(gè)時(shí)鐘后應(yīng)用命令/地址cmd/addr來(lái)訪問(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表示其中未指示任何操作的非操作狀態(tài)。

在時(shí)間點(diǎn)701、702、703、704、707、708、709和710的操作過(guò)程中,僅訪問(wèn)第一易失性存儲(chǔ)器裝置410_0和第二易失性存儲(chǔ)器裝置410_1的一個(gè)易失性存儲(chǔ)器裝置是可能的。此外,在時(shí)間點(diǎn)705、706、711和712的操作過(guò)程中,通過(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至圖7描述的實(shí)施例,易失性存儲(chǔ)器裝置410_0和410_1共享控制總線cmd/addr_bus和數(shù)據(jù)總線data_bus,但相對(duì)于控制總線cmd/addr_bus具有不同的延時(shí)。控制器400可以通過(guò)改變通過(guò)控制總線cmd/addr_bus應(yīng)用的信號(hào)的延時(shí),訪問(wèn)易失性存儲(chǔ)器裝置410_0和410_1之間所期望的易失性存儲(chǔ)器裝置。因此,不需要獨(dú)立地控制易失性存儲(chǔ)器裝置410_0和410_1的附加線。

雖然上述實(shí)施例例示了易失性存儲(chǔ)器裝置410_0和410_1被控制器400設(shè)置為具有相對(duì)于控制總線cmd/addr_bus不同的延時(shí),但這僅為了說(shuō)明的目的,且應(yīng)注意易失性存儲(chǔ)器裝置410_0和410_1可以被編程為永久具有不同的延時(shí)。例如,當(dāng)制造易失性存儲(chǔ)器裝置410_0和410_1時(shí),易失性存儲(chǔ)器裝置410_0和410_1相對(duì)于控制總線cmd/addr_bus的延時(shí)可以是固定的,或者在制造易失性存儲(chǔ)器裝置410_0和410_1之后,可通過(guò)永久設(shè)置例如使用熔絲電路的設(shè)置使易失性存儲(chǔ)器裝置410_0和410_1相對(duì)于控制總線cmd/addr_bus的延時(shí)是固定的。

易失性存儲(chǔ)器裝置410_0和410_1之間的命令地址延時(shí)cal的差值可以等于或大于列地址與行地址的延時(shí)時(shí)間trcd(ras與cas的延時(shí))。另外,易失性存儲(chǔ)器裝置410_0和410_1之間的命令地址延時(shí)cal的差值可以小于行預(yù)充電時(shí)間trp。即,dcal(cal差)≥trcd,且dcal<trp。圖8是輔助描述當(dāng)易失性存儲(chǔ)器裝置410_0和410_1的命令地址延時(shí)cal的差值dcal等于或大于trcd且小于trp時(shí)的優(yōu)點(diǎn)的簡(jiǎn)圖的示例。參照?qǐng)D8,基于dcal=3說(shuō)明如下,第一易失性存儲(chǔ)器裝置410_0具有cal=0,第二易失性存儲(chǔ)器裝置410_1具有cal=3,trcd=3以及trp=4,但也可以使用其它值。

參照?qǐng)D8,在時(shí)間點(diǎn)801,可以啟用芯片選擇信號(hào)cs,并且通過(guò)命令/地址cmd/addr可指示激活操作act。然后,第一易失性存儲(chǔ)器裝置410_0可以通過(guò)在時(shí)間點(diǎn)801識(shí)別激活操作act來(lái)執(zhí)行激活操作。

在時(shí)間點(diǎn)802,可以啟用芯片選擇信號(hào)cs,并且通過(guò)命令/地址cmd/addr可指示讀取操作rd。然后,第一易失性存儲(chǔ)器裝置410_0可以通過(guò)在時(shí)間點(diǎn)802識(shí)別讀取操作rd來(lái)執(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可以將由命令/地址cmd/addr指示的讀取操作rd確定為非法的,并且可以不執(zhí)行讀取操作。如果dcal小于trcd,當(dāng)?shù)诙资源鎯?chǔ)器裝置410_1識(shí)別指示給第一易失性存儲(chǔ)器裝置410_0的激活操作act時(shí)可能發(fā)生誤操作。在dcal≥trcd的情況下可以防止這樣的誤操作。另外,在時(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可以將由命令/地址cmd/addr指示的讀取操作rd確定為非法的,并且可以不執(zhí)行讀取操作。

在時(shí)間點(diǎn)804,可以啟用芯片選擇信號(hào)cs,并且通過(guò)命令/地址cmd/addr可指示預(yù)充電操作pcg。然后,第一易失性存儲(chǔ)器裝置410_0可以通過(guò)在時(shí)間點(diǎn)804識(shí)別預(yù)充電操作pcg來(lái)執(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)預(yù)先執(zhí)行,因此甚至可以通過(guò)第二易失性存儲(chǔ)器裝置410_1執(zhí)行預(yù)充電操作。

在時(shí)間點(diǎn)806,可以啟用芯片選擇信號(hào)cs,并且通過(guò)命令/地址cmd/addr可指示激活操作act。然后,第一易失性存儲(chǔ)器裝置410_0可以通過(guò)在時(shí)間點(diǎn)806識(shí)別激活操作act來(lái)執(zhí)行激活操作。如果dcal被設(shè)置為大于trp,則當(dāng)?shù)诙资源鎯?chǔ)器裝置410_1識(shí)別通過(guò)命令/地址cmd/addr指示的激活操作act并且執(zhí)行激活操作時(shí)可能發(fā)生誤操作。當(dāng)dcal<trp時(shí),可以防止這樣的誤操作。

在時(shí)間點(diǎn)807,可以啟用芯片選擇信號(hào)cs,并且通過(guò)命令/地址cmd/addr可指示寫入操作wl。然后,第一易失性存儲(chǔ)器裝置410_0可以通過(guò)在時(shí)間點(diǎn)807識(shí)別寫入操作wl來(lái)執(zhí)行寫入操作。當(dāng)在時(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可以將由命令/地址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可以將由命令/地址cmd/addr指示的寫入操作wl確定為非法的,并且可以不執(zhí)行寫入操作。

如上面參照?qǐng)D8所述的,通過(guò)以滿足dcal(cal差)≥trcd且dcal<trp的方式設(shè)置易失性存儲(chǔ)器裝置410_0和410_1的命令地址延時(shí)cal,可以防止易失性存儲(chǔ)器裝置410_0和410_1執(zhí)行誤操作。

非易失性雙列直插式存儲(chǔ)器模塊(nvdimm)的配置和操作

圖9是示出根據(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是通過(guò)在主機(jī)的電源不穩(wěn)定的情況下將易失性存儲(chǔ)器裝置的數(shù)據(jù)備份在非易失性存儲(chǔ)器裝置中的操作,而在發(fā)生電源故障時(shí)防止數(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將命令、地址和時(shí)鐘提供到第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924。當(dāng)主機(jī)的電源host_vdd和host_vss正常時(shí),第一組易失性存儲(chǔ)器裝置911至914可以分別通過(guò)對(duì)應(yīng)于其的第三數(shù)據(jù)總線data_bus3_1至data_bus3_4將數(shù)據(jù)傳輸至主機(jī)的存儲(chǔ)器控制器9/從主機(jī)的存儲(chǔ)器控制器9接收數(shù)據(jù),并且第二組易失性存儲(chǔ)器裝置921至924可以分別通過(guò)對(duì)應(yīng)于其的第四數(shù)據(jù)總線data_bus4_1至data_bus4_4將數(shù)據(jù)傳輸至主機(jī)的存儲(chǔ)器控制器9/從主機(jī)的存儲(chǔ)器控制器9接收數(shù)據(jù)。即,當(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的供應(yīng)被中斷。然后,輔助電源10的應(yīng)急電源emg_vdd和emg_vss被供應(yīng)至nvdimm900。輔助電源10可通過(guò)大容量電容器例如超級(jí)電容器來(lái)實(shí)現(xiàn),并且可以提供應(yīng)急電源emg_vdd和emg_vss同時(shí)將第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的數(shù)據(jù)備份在非易失性存儲(chǔ)器裝置930中。雖然圖9示出輔助電源10設(shè)置在nvdimm900外,但輔助電源10也可以設(shè)置在nvdimm900內(nèi)。當(dāng)檢測(cè)到主機(jī)的電源host_vdd和host_vss故障時(shí),電源故障檢測(cè)器960會(huì)通知控制器940該故障。

如果電源故障檢測(cè)器960通知主機(jī)的電源host_vdd和host_vss故障,則對(duì)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的控制從主機(jī)的存儲(chǔ)器控制器9改變到nvdimm900的控制器940。之后,寄存器950可以緩沖從控制器940提供的命令、地址和時(shí)鐘,并可以通過(guò)控制總線cmd/addr_bus將命令、地址和時(shí)鐘提供到第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924。第一組易失性存儲(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中。

主機(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中??梢愿鶕?jù)控制器940的控制來(lái)執(zhí)行這樣的恢復(fù)操作,并且在恢復(fù)完成后,對(duì)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的控制會(huì)從nvdimm900的控制器940改變到主機(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)行了描述。關(guān)于與nvdimm中數(shù)據(jù)備份和恢復(fù)相關(guān)的獨(dú)立操作,之后將參照?qǐng)D11和圖12進(jìn)行描述。

第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924可以是dram,或者不僅可以是dram而且可以是不同種類的易失性存儲(chǔ)器裝置。非易失性存儲(chǔ)器裝置930可以是nand閃存。然而,非易失性存儲(chǔ)器裝置930不限于此,并且可以是任何種類的非易失性存儲(chǔ)器裝置,例如nor閃存、電阻ram(rram)、相位ram(pram)、磁ram(mram)或旋轉(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所示出的。

圖10是示出根據(jù)另一實(shí)施例的nvdimm900的示例的配置簡(jiǎn)圖。

圖9和圖10中的nvdimm900可以彼此相同,除了多路復(fù)用器1101至1108和4個(gè)數(shù)據(jù)焊盤dq0至dq3。

通過(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的控制由圖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ú)立地將數(shù)據(jù)傳輸至第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924/從第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924接收數(shù)據(jù)。

在步驟s1120中,確定是否可滿足用于將第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的數(shù)據(jù)備份在非易失性存儲(chǔ)器裝置930中的觸發(fā)條件。例如,檢測(cè)到主機(jī)的電源host_vdd和host_vss故障可滿足觸發(fā)條件??蛇x地,當(dāng)根據(jù)主機(jī)的存儲(chǔ)器控制器9的命令執(zhí)行備份操作時(shí),主機(jī)的存儲(chǔ)器控制器9的用于備份操作的命令可滿足觸發(fā)條件。

在步驟s1130中,對(duì)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的控制可從主機(jī)的存儲(chǔ)器控制器9改變到nvdimm900的控制器940。此外,nvdimm900所用的電源可從主機(jī)的電源host_vdd和host_vss改變到由輔助電源10供給的應(yīng)急電源emg_vdd和emg_vss。而且,當(dāng)控制主體改變?yōu)榭刂破?40時(shí),由第一組易失性存儲(chǔ)器裝置911至914使用的數(shù)據(jù)總線從第三數(shù)據(jù)總線data_bus3_1至data_bus3_4改變到第一數(shù)據(jù)總線data_bus1,由第二組易失性存儲(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上的命令地址延時(shí)cal。

參照?qǐng)D9,各個(gè)第一組易失性存儲(chǔ)器裝置911至914和各個(gè)第二組易失性存儲(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)接。通過(guò)控制器940的命令可以改變由第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924使用的數(shù)據(jù)總線。第一組易失性存儲(chǔ)器裝置911至914的第0數(shù)據(jù)焊盤dq0可以分別聯(lián)接到第一數(shù)據(jù)總線data_bus1的不同數(shù)據(jù)線,第二組易失性存儲(chǔ)器裝置921至924的第0數(shù)據(jù)焊盤dq0可以分別聯(lián)接到第二數(shù)據(jù)總線data_bus2的不同數(shù)據(jù)線。通過(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的命令地址延時(shí)cal設(shè)置為第一值,例如0,并且通過(guò)將除第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921之外的剩余易失性存儲(chǔ)器裝置的命令地址延時(shí)cal設(shè)置為第二值,例如3,來(lái)實(shí)現(xiàn)。

在步驟s1150中,控制器940通過(guò)使用設(shè)置的命令地址延時(shí)cal讀取第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921。例如,控制器400可以通過(guò)訪問(wèn)其命令地址延時(shí)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ǔ)器裝置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之外的剩余易失性存儲(chǔ)器裝置912至914和922至924的命令地址延時(shí)cal被設(shè)置為第二值,例如3,因此它們忽略來(lái)自控制器940的讀取命令。

從參照?qǐng)D4至圖7b進(jìn)行的上述描述,可以理解步驟s1140的方案和步驟s1150的方案,步驟s1140的方案為控制器940獨(dú)立地在共享控制總線cmd/addr_bus與數(shù)據(jù)總線data_bus1和data_bus2的第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924上設(shè)置命令地址延時(shí)cal,步驟s1150的方案為控制器940通過(guò)訪問(wèn)具有指定命令地址延時(shí)cal的第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921來(lái)讀取數(shù)據(jù)。進(jìn)一步地,如上所述,命令地址延時(shí)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ǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921中存儲(chǔ)的數(shù)據(jù)剩余,則控制器940可以通過(guò)在步驟s1140中將第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921的命令地址延時(shí)cal設(shè)置為第一值例如0,并且將除目標(biāo)易失性存儲(chǔ)器裝置911和921之外的剩余易失性存儲(chǔ)器裝置912至914和922至924的命令地址延時(shí)cal設(shè)置為第二值例如3,來(lái)執(zhí)行用于在第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921中存儲(chǔ)的剩余數(shù)據(jù)的讀取操作。

對(duì)于另一實(shí)例,如果將在第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921中存儲(chǔ)的所有數(shù)據(jù)備份,則控制器940可以在步驟s1140中將諸如第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置912和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置922的另外的目標(biāo)存儲(chǔ)器裝置的命令地址延時(shí)cal設(shè)置為第一值,例如0,并且可以將除目標(biāo)易失性存儲(chǔ)器裝置912和922之外的剩余易失性存儲(chǔ)器裝置911、913、914和921、923、924的命令地址延時(shí)cal設(shè)置為第二值,例如3。然后,在步驟s1150中,控制器940可以通過(guò)命令地址延時(shí)cal的設(shè)置讀取目標(biāo)易失性存儲(chǔ)器裝置912和922。盡管未示出,通過(guò)命令地址延時(shí)cal的設(shè)置,可以通過(guò)單獨(dú)地將第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中的每個(gè)易失性存儲(chǔ)器裝置選擇為目標(biāo)易失性存儲(chǔ)器裝置,對(duì)各個(gè)第一組易失性存儲(chǔ)器裝置911至914和各個(gè)第二組易失性存儲(chǔ)器裝置921至924的所有執(zhí)行共享控制總線cmd/addr_bus與數(shù)據(jù)總線data_bus1和data_bus2的第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的選擇性讀取。

如果在步驟s1170中確定非易失性存儲(chǔ)器頁(yè)面已滿,則該過(guò)程繼續(xù)到對(duì)非易失性存儲(chǔ)器頁(yè)面編程的步驟s1180。

當(dāng)對(duì)非易失性存儲(chǔ)器裝置930的存儲(chǔ)器頁(yè)面編程時(shí),有必要檢查不是從第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924讀取的數(shù)據(jù)是否仍然存在。為此目的,在步驟s1180的對(duì)非易失性存儲(chǔ)器裝置930的存儲(chǔ)器頁(yè)面的編程操作過(guò)程中,控制器940可以對(duì)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924執(zhí)行刷新操作。例如,可以對(duì)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924執(zhí)行均勻分布刷新周期的分布式刷新操作,使得在迭代任務(wù)之前打開所有行,并且當(dāng)在各個(gè)第一組易失性存儲(chǔ)器裝置911至914和各個(gè)第二組易失性存儲(chǔ)器裝置921至924中不執(zhí)行刷新時(shí)讀取數(shù)據(jù)。

當(dāng)新的非易失性存儲(chǔ)器頁(yè)面被準(zhǔn)備并寫入時(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ù)至正常電源模式,使得連續(xù)執(zhí)行讀取待備份的數(shù)據(jù)的操作。

在步驟s1190中,確定待備份的數(shù)據(jù)是否剩余在第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中。如果待備份的數(shù)據(jù)沒有剩余,則可以結(jié)束掉電備份操作,并且可以關(guān)閉nvdimm900。如果待備份的數(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í),可以執(zhí)行上電恢復(fù)操作。由于主機(jī)的電源host_vdd和host_vss已恢復(fù)到正常狀態(tài),因此可以通過(guò)主機(jī)的電源host_vdd和host_vss執(zhí)行上電恢復(fù)操作。

在一個(gè)實(shí)例中,在完成以上參照?qǐng)D11所述的備份操作后,nvdimm900可以在關(guān)閉nvdimm900的狀態(tài)下執(zhí)行恢復(fù)操作。在另一實(shí)例中,在備份操作的過(guò)程中,主機(jī)的電源host_vdd和host_vss可以恢復(fù)到正常狀態(tài)。在這種情況下,可以中斷掉電備份操作,并且可以執(zhí)行上電恢復(fù)操作。在任一實(shí)例中,在步驟s1210中,nvdimm900的第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924可處于nvdimm900的控制器940的控制下。

在步驟s1220中,確定是否滿足恢復(fù)條件,如果滿足恢復(fù)條件,則開始從非易失性存儲(chǔ)器裝置930到第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的數(shù)據(jù)的恢復(fù)。

在步驟s1230中,控制器940單獨(dú)設(shè)置共享控制總線cmd/addr_bus與數(shù)據(jù)總線data_bus1和data_bus2的第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924上的命令地址延時(shí)cal。如上參照?qǐng)D11對(duì)備份操作的描述,第一組易失性存儲(chǔ)器裝置911至914可以獨(dú)立地進(jìn)入pda模式,第二組易失性存儲(chǔ)器裝置921至924可以獨(dú)立地進(jìn)入pda模式。

例如,可將第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921的命令地址延時(shí)cal設(shè)置為第三值,例如0,并且可將除目標(biāo)易失性存儲(chǔ)器裝置911和921之外的剩余易失性存儲(chǔ)器裝置912至914和922至924的命令地址延時(shí)cal設(shè)置為第四值,例如3。

在步驟s1240中,通過(guò)命令地址延時(shí)cal將從非易失性存儲(chǔ)器裝置930讀取的數(shù)據(jù)寫入到第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921中,可以執(zhí)行對(duì)第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921的數(shù)據(jù)恢復(fù)。

在步驟s1250中,確定待恢復(fù)的數(shù)據(jù)是否剩余在非易失性存儲(chǔ)器裝置930中。如果待恢復(fù)的數(shù)據(jù)剩余,則該過(guò)程可繼續(xù)到步驟s1230,并且可以對(duì)剩余數(shù)據(jù)執(zhí)行恢復(fù)操作。

例如,如果完成了對(duì)第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921的數(shù)據(jù)恢復(fù),則控制器940在步驟s1230中可以將諸如第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置912和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置922的另外的目標(biāo)存儲(chǔ)器裝置的命令地址延時(shí)cal設(shè)置為第三值,例如0,并且可以將除目標(biāo)易失性存儲(chǔ)器裝置912和922之外的剩余易失性存儲(chǔ)器裝置911、913、914、921、923和924的命令地址延時(shí)cal設(shè)置為第四值,例如3。然后,在步驟s1240中,控制器940可以通過(guò)命令地址延時(shí)cal的設(shè)置將從非易失性存儲(chǔ)器裝置930讀取的數(shù)據(jù)恢復(fù)到目標(biāo)易失性存儲(chǔ)器裝置912和922。通過(guò)單獨(dú)設(shè)置作為各個(gè)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中的目標(biāo)易失性存儲(chǔ)器裝置的每個(gè)易失性存儲(chǔ)器裝置的命令地址延時(shí)cal、將各個(gè)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中除了目標(biāo)易失性存儲(chǔ)器裝置之外的剩余易失性存儲(chǔ)器裝置的命令地址延時(shí)cal設(shè)置為第四值、然后將從非易失性存儲(chǔ)器裝置930讀取的數(shù)據(jù)恢復(fù)到目標(biāo)易失性存儲(chǔ)器裝置中,可以對(duì)各個(gè)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的所有執(zhí)行數(shù)據(jù)恢復(fù)操作。命令地址延時(shí)cal的第三值和第四值之間的差值dcal可以滿足dcal≥trcd和dcal<trp的方式設(shè)置。

如果在步驟s1250中確定沒有剩余待恢復(fù)的數(shù)據(jù),那么為當(dāng)主機(jī)的電源host_vdd和host_vss再次掉電時(shí)做準(zhǔn)備,有必要確保非易失性存儲(chǔ)器裝置930的足夠的存儲(chǔ)容量,以在對(duì)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的控制改變到主機(jī)的存儲(chǔ)器控制器9之前,將在第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中存儲(chǔ)的數(shù)據(jù)備份。

因此,在步驟s1260中,確定用于在非易失性存儲(chǔ)器裝置930中備份數(shù)據(jù)的擦除塊或空白塊是否充足。例如,確定非易失性存儲(chǔ)器裝置930的擦除塊的數(shù)量是否充足以覆蓋第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的全部容量或者當(dāng)前存儲(chǔ)在第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中的數(shù)據(jù)的使用量或有效范圍。如果在非易失性存儲(chǔ)器裝置930中不存在充足的擦除塊,則在步驟s1270中在非易失性存儲(chǔ)器裝置930中擦除新塊。

如果在非易失性存儲(chǔ)器裝置930中存在足夠的擦除塊,則在步驟s1280中對(duì)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的控制從nvdimm900的控制器940改變到主機(jī)的存儲(chǔ)器控制器9,并且完成上電恢復(fù)操作。

此后,nvdimm900可以由主機(jī)的存儲(chǔ)器控制器9使用,并且可以與上面參照?qǐng)D11所述的步驟s1110相同的狀態(tài)操作。例如,第一組易失性存儲(chǔ)器裝置911至914的數(shù)據(jù)總線可以從第一數(shù)據(jù)總線data_bus1改變?yōu)榈谌龜?shù)據(jù)總線data_bus3_1至data_bus3_4,并且第二組易失性存儲(chǔ)器裝置921至924的數(shù)據(jù)總線可以從第二數(shù)據(jù)總線data_bus2改變?yōu)榈谒臄?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)并且可以恢復(fù)主機(jī)的供電。在這種情況下,有必要中斷備份操作并允許nvdimm900的第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924盡快被主機(jī)的存儲(chǔ)器控制器9使用。下面,將對(duì)這樣的掉電中斷操作進(jìn)行描述。

在步驟s1310中,執(zhí)行如上參照?qǐng)D11所述的掉電備份操作。

在步驟s1320中,確定掉電備份操作過(guò)程中主機(jī)的電源host_vss和host_vdd是否恢復(fù)。例如,當(dāng)?shù)綦妭浞莶僮鬟^(guò)程中主機(jī)的電源host_vdd和host_vss恢復(fù)到正常狀態(tài)并被提供給nvdimm900或從主機(jī)的存儲(chǔ)器控制器9接收與其對(duì)應(yīng)的信號(hào)時(shí),可以確定掉電備份操作過(guò)程中主機(jī)的電源host_vdd和host_vss被恢復(fù)。

在掉電中斷操作中,由于nvdimm900尚未完成掉電備份操作,因此nvdimm900還未關(guān)閉并且第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924仍然正在存儲(chǔ)其中的數(shù)據(jù)。因此,可以不需要如上電恢復(fù)操作中的數(shù)據(jù)恢復(fù)過(guò)程。但是,在步驟s1310的數(shù)據(jù)備份過(guò)程中非易失性存儲(chǔ)器裝置930的存儲(chǔ)器頁(yè)面有可能被第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的數(shù)據(jù)占據(jù),可能無(wú)法為主機(jī)的電源host_vdd和host_vss的下一次故障發(fā)生做準(zhǔn)備。因此,在確保非易失性存儲(chǔ)器裝置930的充足空間以備份用于主機(jī)的電源host_vdd和host_vss的下一次故障發(fā)生的nvdimm900的第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的數(shù)據(jù)之后,將對(duì)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的控制改變到主機(jī)的存儲(chǔ)器控制器9可能是必要的。

在步驟s1330中,確定用于在非易失性存儲(chǔ)器裝置930中備份數(shù)據(jù)的擦除塊或空白塊是否充足。例如,確定非易失性存儲(chǔ)器裝置930的擦除塊的數(shù)量是否充足以覆蓋第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的全部容量或者當(dāng)前存儲(chǔ)在第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中的數(shù)據(jù)的使用量或有效范圍。

如果在非易失性存儲(chǔ)器裝置930中存在充足的擦除塊,則在步驟s1340中對(duì)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的控制從nvdimm900的控制器940改變到主機(jī)的存儲(chǔ)器控制器9,并且nvdimm900可以立即由主機(jī)的存儲(chǔ)器控制器9使用。

然而,如果在非易失性存儲(chǔ)器裝置930中不存在充足的擦除塊,則在步驟s1350中在非易失性存儲(chǔ)器裝置930中擦除新塊,以為主機(jī)的電源host_vdd和host_vss的下一次故障發(fā)生做準(zhǔn)備。

此處,從非易失性存儲(chǔ)器裝置930擦除的塊可以已經(jīng)包括從第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924備份的數(shù)據(jù)。如果在掉電中斷操作過(guò)程中主機(jī)的電源host_vdd和host_vss再次發(fā)生故障,則不是從開始執(zhí)行圖11示出的全部掉電備份操作,而是優(yōu)先僅將已備份在擦除塊中的數(shù)據(jù)備份然后繼續(xù)在中斷時(shí)中斷的備份操作可能是有利的,從而可以快速實(shí)施備份任務(wù),并且可以減少具有有限電量的輔助電源10的應(yīng)急電源emg_vdd和emg_vss的消耗。

在步驟s1360中,確定是否滿足將第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的數(shù)據(jù)備份在非易失性存儲(chǔ)器裝置930中的觸發(fā)條件。如上所述,觸發(fā)條件可以是檢測(cè)到主機(jī)的電源host_vdd和host_vss故障或來(lái)自主機(jī)的存儲(chǔ)器控制器9的備份命令。如果不滿足觸發(fā)條件,則該過(guò)程返回到步驟s1330。

當(dāng)確定滿足觸發(fā)條件時(shí),在步驟s1370中將在步驟s1310中備份然后在步驟s1350中擦除的第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的數(shù)據(jù)再次備份。

例如,在s1310中將第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921的數(shù)據(jù)備份在非易失性存儲(chǔ)器裝置930的擦除塊中,然后在步驟s1350中擦除存儲(chǔ)備份數(shù)據(jù)的塊。在這種情況下,nvdimm900的控制器940可以將第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921的命令地址延時(shí)cal設(shè)置為第五值,例如0。然后,在將除了目標(biāo)易失性存儲(chǔ)器裝置911和921之外的剩余易失性存儲(chǔ)器裝置的命令地址延時(shí)cal設(shè)置為第六值,例如3之后,可以通過(guò)命令地址延時(shí)cal的設(shè)置值選擇并讀取正在存儲(chǔ)從非易失性存儲(chǔ)器裝置930擦除的數(shù)據(jù)的易失性存儲(chǔ)器區(qū)域。在步驟s1370中將讀取的數(shù)據(jù)再次備份在非易失性存儲(chǔ)器裝置930中。在完成步驟s1370的選擇性備份操作之后,在步驟s1380中繼續(xù)在掉電中斷操作的啟用時(shí)間中斷的掉電備份操作。

nvdimm的命令/地址探聽

圖14是示出根據(jù)另一實(shí)施例的nvdimm的示例的配置簡(jiǎn)圖。此外,圖14是輔助描述nvdimm的命令/地址探聽操作的概念圖的示例。為了便于理解本實(shí)施例,僅示出nvdimm的內(nèi)部配置。主機(jī)的存儲(chǔ)器控制器9、主機(jī)的存儲(chǔ)器控制器9與第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924之間的聯(lián)接關(guān)系、非易失性存儲(chǔ)器裝置930以及非易失性存儲(chǔ)器裝置930和控制器940之間的聯(lián)接關(guān)系與圖9中示出的那些相同。此外,圖14的配置簡(jiǎn)圖示出作為第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的dram,以及形成于第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中的數(shù)據(jù)焊盤與圖9中示出的那些相同。

參照?qǐng)D14,控制器940可以包括命令/地址探聽邏輯1410和命令/地址控制邏輯1420。命令/地址探聽邏輯1410可以接收并識(shí)別主機(jī)的存儲(chǔ)器控制器9提供的用于第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的命令和地址,即對(duì)主機(jī)的存儲(chǔ)器控制器9提供的用于第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的命令和地址進(jìn)行探聽。命令/地址控制邏輯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將命令、地址和時(shí)鐘提供到第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924。此外,寄存器時(shí)鐘驅(qū)動(dòng)器1440可具有恢復(fù)由主機(jī)的存儲(chǔ)器控制器9或nvdimm的控制器940提供的命令和地址失真的功能。下文,將參照?qǐng)D15和圖16描述通過(guò)命令/地址探聽執(zhí)行掉電備份操作的實(shí)施例。

使用nvdimm的命令/地址探聽的選擇性備份操作

圖15是輔助描述圖14的實(shí)施例中的備份操作的流程圖的示例。

當(dāng)主機(jī)的電源host_vdd和host_vss被正常供應(yīng)時(shí),如上所述,第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924被主機(jī)的存儲(chǔ)器控制器9獨(dú)立地控制。在步驟s1510中,nvdimm的控制器940可以通過(guò)命令/地址探聽邏輯1410探聽從主機(jī)的存儲(chǔ)器控制器9輸入到第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的命令和地址。

在步驟s1520中,命令/地址探聽邏輯1410分析在第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的每個(gè)易失性存儲(chǔ)器裝置中存儲(chǔ)的數(shù)據(jù)的有效區(qū)域(即,數(shù)據(jù)存儲(chǔ)在易失性存儲(chǔ)器中的區(qū)域)。命令/地址探聽邏輯1410可分析在各個(gè)易失性存儲(chǔ)器裝置中存儲(chǔ)的數(shù)據(jù)的有效區(qū)域并累積分析結(jié)果,同時(shí)由主機(jī)的存儲(chǔ)器控制器9執(zhí)行對(duì)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的控制。

在步驟s1530中,確定是否滿足用于將第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的數(shù)據(jù)備份在非易失性存儲(chǔ)器裝置930中的觸發(fā)條件。如上所述,觸發(fā)條件是用于將第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中存儲(chǔ)的數(shù)據(jù)備份在非易失性存儲(chǔ)器裝置930中的條件。例如,檢測(cè)到主機(jī)的電源host_vdd和host_vss故障或者來(lái)自主機(jī)的存儲(chǔ)器控制器9的備份操作的指示可以滿足觸發(fā)條件。

當(dāng)滿足觸發(fā)條件時(shí),基于步驟s1520的累積的分析結(jié)果,在步驟s1540中選擇具有數(shù)據(jù)的有效區(qū)域的易失性存儲(chǔ)器裝置,并且在步驟s1550中將在所選擇的易失性存儲(chǔ)器裝置中存儲(chǔ)的數(shù)據(jù)備份在非易失性存儲(chǔ)器裝置930中。

例如,假定在步驟s1540中選擇的易失性存儲(chǔ)器裝置是上文參照?qǐng)D11所述的第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921。控制器940可以通過(guò)將第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921的命令地址延時(shí)cal設(shè)置為第一值,例如0,并且將除了目標(biāo)易失性存儲(chǔ)器裝置911和921之外的剩余易失性存儲(chǔ)器裝置912至914和922至924的命令地址延時(shí)cal設(shè)置為第二值,例如3,來(lái)選擇性地讀取第一組易失性存儲(chǔ)器裝置911至914的目標(biāo)易失性存儲(chǔ)器裝置911和第二組易失性存儲(chǔ)器裝置921至924的目標(biāo)易失性存儲(chǔ)器裝置921??梢詫⒆x取的數(shù)據(jù)備份在非易失性存儲(chǔ)器裝置930中。

如果有效區(qū)域的數(shù)據(jù)存儲(chǔ)在共享相同的控制總線cmd/addr_bus以及第一數(shù)據(jù)總線data_bus1和第二數(shù)據(jù)總線data_bus2的第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924之中的一些易失性存儲(chǔ)器裝置中,則僅選擇有效區(qū)域的易失性存儲(chǔ)器裝置,并且所選擇的易失性存儲(chǔ)器裝置的命令地址延時(shí)cal可被順序地設(shè)置為第一值,未選擇的易失性存儲(chǔ)器裝置的命令地址延時(shí)cal可被設(shè)置為第二值。通過(guò)僅備份有效區(qū)域的數(shù)據(jù),實(shí)質(zhì)上地縮短備份數(shù)據(jù)所需的時(shí)間是可能的。

使用nvdimm的命令/地址探聽的優(yōu)先備份操作

圖16是輔助描述圖14的實(shí)施例中另一備份操作的流程圖的示例。

當(dāng)主機(jī)的電源host_vdd和host_vss被正常供應(yīng)時(shí),第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924被主機(jī)的存儲(chǔ)器控制器9獨(dú)立地控制。在步驟s1610中,nvdimm的控制器940可以通過(guò)命令/地址探聽邏輯1410探聽從主機(jī)的存儲(chǔ)器控制器9輸入到第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的命令和地址。

在步驟s1620中,命令/地址探聽邏輯1410分析在第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的每個(gè)易失性存儲(chǔ)器裝置中存儲(chǔ)的數(shù)據(jù)的數(shù)量。命令/地址探聽邏輯1410可分析在各個(gè)易失性存儲(chǔ)器裝置中存儲(chǔ)的數(shù)據(jù)的數(shù)量并累積分析結(jié)果,同時(shí)由主機(jī)的存儲(chǔ)器控制器9執(zhí)行對(duì)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的控制。

在步驟s1630中,確定是否滿足用于將第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924的數(shù)據(jù)備份在非易失性存儲(chǔ)器裝置930中的觸發(fā)條件。觸發(fā)條件是用于將第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中存儲(chǔ)的數(shù)據(jù)備份在非易失性存儲(chǔ)器裝置930中的條件。檢測(cè)到主機(jī)的電源host_vdd和host_vss故障或者來(lái)自主機(jī)的存儲(chǔ)器控制器9的備份操作的指示可以滿足觸發(fā)條件。

當(dāng)滿足觸發(fā)條件時(shí),在步驟s1640中各個(gè)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924可以存儲(chǔ)的數(shù)據(jù)的數(shù)量的順序被優(yōu)先化,并且在步驟s1650中根據(jù)優(yōu)先順序?qū)⒃谝资源鎯?chǔ)器裝置中存儲(chǔ)的數(shù)據(jù)備份在非易失性存儲(chǔ)器裝置930中。

例如,具有最大數(shù)量的存儲(chǔ)數(shù)據(jù)的易失性存儲(chǔ)器裝置是在第一組易失性存儲(chǔ)器裝置911至914中的易失性存儲(chǔ)器裝置912和第二組易失性存儲(chǔ)器裝置921至924中的易失性存儲(chǔ)器裝置922??刂破?40可以通過(guò)將易失性存儲(chǔ)器裝置912和922的命令地址延時(shí)cal設(shè)置為第一值,例如0,并且將剩余易失性存儲(chǔ)器裝置911、913、914和921、923、924的命令地址延時(shí)cal設(shè)置為第二值,例如3,來(lái)選擇性地讀取具有最大數(shù)量的存儲(chǔ)數(shù)據(jù)的易失性存儲(chǔ)器裝置912和922。如上所述,將讀取的數(shù)據(jù)備份在非易失性存儲(chǔ)器裝置930中。

在步驟s1640中,根據(jù)優(yōu)先設(shè)置可以對(duì)各個(gè)第一組易失性存儲(chǔ)器裝置911至914和第二組易失性存儲(chǔ)器裝置921至924中的每個(gè)易失性存儲(chǔ)器裝置執(zhí)行備份操作。

如從以上描述中顯而易見的,當(dāng)nvdimm900根據(jù)主機(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ò)將命令地址延時(shí)cal設(shè)置為不同的值獨(dú)立地訪問(wèn)第一組易失性存儲(chǔ)器裝置911至914來(lái)備份和恢復(fù)數(shù)據(jù)。類似地,控制器940可以通過(guò)將命令地址延時(shí)cal設(shè)置為不同的值獨(dú)立地訪問(wèn)第二組易失性存儲(chǔ)器裝置921至924來(lái)備份和恢復(fù)數(shù)據(jù)。

在一個(gè)或多個(gè)示例性實(shí)施例中,本文所描述的功能可以硬件、軟件、固件或它們的任意組合來(lái)實(shí)現(xiàn)。如果以軟件實(shí)現(xiàn),則功能可以作為機(jī)器可讀媒介,即諸如計(jì)算機(jī)可讀媒介的計(jì)算機(jī)程序產(chǎn)品,上的一個(gè)或多個(gè)指令或代碼被存儲(chǔ)或傳輸。計(jì)算機(jī)可讀媒介包括通信媒介,其包括計(jì)算機(jī)存儲(chǔ)媒介和便于計(jì)算機(jī)程序從一個(gè)位置傳輸?shù)搅硪晃恢玫娜魏蚊浇?。存?chǔ)媒介可以是可被計(jì)算機(jī)訪問(wèn)的任何可用媒介。作為非限制性實(shí)例,這種計(jì)算機(jī)可讀媒介可以被ram、rom、eeprom、cd-rom、光盤存儲(chǔ)器裝置、磁盤存儲(chǔ)器裝置、磁存儲(chǔ)裝置或計(jì)算機(jī)訪問(wèn),并且可以包括可用于攜帶或存儲(chǔ)指令或數(shù)據(jù)結(jié)構(gòu)形式的期望的程序代碼的任何媒介。本文所用的磁盤和光盤(disc)包括光碟(cd)、激光盤、光盤、數(shù)字化通用光盤(dvd)、軟盤和藍(lán)光光盤,其中磁盤通常磁性地再現(xiàn)數(shù)據(jù),而光盤光學(xué)地再現(xiàn)數(shù)據(jù)。它們的任意組合旨在被包括在計(jì)算機(jī)可讀媒介的范圍內(nèi)。

雖然為說(shuō)明的目的已經(jīng)描述了各種實(shí)施例,但在不背離如權(quán)利要求限定的本發(fā)明的精神和范圍的情況下可以作出各種變化和修改,這對(duì)于本領(lǐng)域技術(shù)人員將是顯而易見的。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1