麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

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

文檔序號:11216120閱讀:1859來源:國知局
非易失性存儲器模塊及其操作方法與流程

相關申請的交叉引用

本申請要求于2016年3月28日提交的申請號為10-2016-0036643的韓國專利申請的優先權,其全部公開內容通過引用并入本文。

示例性實施例涉及半導體存儲器技術,更具體地涉及一種能夠利用數量減少的信號線單獨地訪問其中的易失性存儲器裝置的非易失性雙列直插式存儲器模塊及其操作方法。



背景技術:

在大多數情況下,單個控制器被聯接至兩個或多個存儲器裝置并控制兩個或多個存儲器裝置。

如圖1a所示,當用于命令和地址的控制總線cmd/addr_bus0和在控制器100和存儲器裝置110_0之間的數據總線data_bus0與控制總線cmd/addr_bus1和在控制器100和存儲器裝置110_1之間的數據總線data_bus1分離時,控制器100可以單獨地控制存儲器裝置110_0和存儲器裝置110_1。例如,當讀取操作在存儲器裝置110_0中執行時,寫入操作可在存儲器裝置110_1中執行。

如圖1b所示,當控制總線cmd/addr_bus和數據總線data_bus由多個存儲器裝置110_0和110_1共享時,用于片選信號cs0和cs1的信號線被分別提供。即,分別為相應的存儲器裝置110_0和110_1提供用于片選信號cs0和cs1的信號線。在這種情況下,通過在存儲器裝置110_0和110_1之間的片選信號cs0或cs1選擇的存儲器裝置可通過控制總線cmd/addr_bus執行指示的操作,并且可通過共享的數據總線data_bus與控制器100交換信號。

當聯接至單個控制器的存儲器裝置的數量增加時,所需的信號線的數量增加,這增加系統設計的難度并且增加制造成本。



技術實現要素:

各個實施例涉及一種能夠利用數量減少的信號線單獨地訪問其中的易失性存儲器裝置并能夠對有效區域的數據的執行備份操作以防主機電源故障的非易失性雙列直插式存儲器模塊。

在實施例中,非易失性存儲器模塊可以包括:多個易失性存儲器裝置,其共享傳輸數據的數據總線和傳輸命令和地址的控制總線;至少一個非易失性存儲器裝置;以及控制器,其適于在主機電源故障時將存儲在多個易失性存儲器裝置中的數據備份至非易失性存儲器裝置中,并且在電源故障恢復時將備份在非易失性存儲器裝置中的數據恢復至多個易失性存儲器裝置中,控制器包括:命令/地址監聽邏輯,其適于監聽從主機的存儲器控制器輸入的命令和地址并分析存儲在各個易失性存儲器裝置中的數據的有效區域;和命令/地址控制邏輯,其適于基于命令/地址監聽邏輯的分析結果選擇具有數據的有效區域的易失性存儲器裝置并將選擇的易失性存儲器備份至非易失性存儲器裝置中。

命令/地址控制邏輯可將用于識別具有數據的有效區域的易失性存儲器裝置的命令地址延遲(cal)設置成第一值,并將剩余的易失性存儲器裝置的命令地址延遲設置成不同于第一值的第二值。

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

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

命令/地址控制邏輯可以包括:邏輯,其針對多個非易失性存儲器裝置執行用于均勻分布刷新周期的分布式刷新操作同時編程非易失存儲器裝置的存儲器頁面;邏輯,其在低功率模式下操作多個易失性存儲器裝置,其中多個易失性存儲器裝置使用低于正常功率模式的功率,同時非易失性存儲器裝置的新的存儲器頁面被準備并寫入;以及邏輯,其適于在非易失性存儲器裝置的新的存儲器頁面被寫入之后將多個易失性存儲器裝置恢復至正常功率模式。

在實施例中,非易失性存儲器模塊的操作方法,非易失性存儲器模塊包括:多個易失性存儲器裝置,其共享傳輸數據的數據總線和傳輸命令和地址的控制總線;非易失性存儲器裝置;以及控制器,其根據主機電源的故障/恢復將存儲在易失性存儲器裝置中的數據備份至或將備份在非易失性存儲器裝置中的數據恢復至多個易失性存儲器裝置中;方法可以包括:通過控制器監聽從主機的存儲器控制器輸入至多個易失性存儲器裝置的命令和地址;分析命令和地址并分析存儲在各個易失性存儲器裝置中的數據的有效區域;基于分析的結果選擇具有數據的有效區域的易失性存儲器裝置,并且當檢測到主機電源故障時或從主機的存儲器控制器指示備份時將選擇的易失性存儲備份至非易失性存儲器裝置中。

控制器可將用于識別具有數據的有效區域的易失性存儲器裝置的命令地址延遲(cal)設置成第一值,并將剩余的易失性存儲器裝置的命令地址延遲設置成不同于第一值的第二值。

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

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

選擇的易失性存儲器的備份可以包括:針對多個非易失性存儲器裝置執行用于均勻分布刷新周期的分布式刷新操作同時編程非易失存儲器裝置的存儲器頁面;在較低功率模式下操作多個易失性存儲器裝置,其中多個易失性存儲器裝置使用低于正常功率模式的功率,同時非易失性存儲器裝置的新的存儲器頁面被準備并寫入;和在非易失性存儲器裝置的新的存儲器頁面被寫入后將多個易失性存儲器裝置恢復至正常功率模式。

非易失性存儲器模塊可以包括:易失性存儲器裝置,其適于存儲通過共用數據總線從主機提供的數據,非易失性存儲器裝置,其適于備份存儲在易失性存儲器裝置中的數據,以及控制器,其適于:通過監聽通過共用控制總線從主機提供至各個易失性存儲器裝置的命令和地址分析存儲在各個易失性存儲器裝置中的數據的有效區域;基于分析的結果在易失性存儲器裝置之中選擇具有數據的有效區域的一個或多個易失性存儲器裝置;當主機電源故障時將選擇的易失性存儲器裝置的數據備份至非易失性存儲器裝置中。

根據本發明的實施例,有可能在非易失性雙列直插式存儲器模塊中利用數量減小的總線的信號線單獨地訪問易失性存儲器裝置,并且當主機的電源發生故障時有可能對有效區域的數據執行備份操作。

附圖說明

圖1a和圖1b是說明根據常規技術的在控制器和存儲器裝置之間的總線連接的示例的框圖。

圖2是幫助描述易失性存儲器裝置中pda模式下模式寄存器組(mrs)的操作的定時圖的示例。

圖3是幫助描述易失性存儲器裝置的命令地址延遲(cal)的定時圖的示例。

圖4是說明根據實施例的雙列直插式存儲器模塊(dimm)的基本配置的框圖。

圖5是幫助描述圖4所示的dimm的操作的流程圖的示例。

圖6是幫助描述圖5的操作512和513的定時圖的示例。

圖7a和7b是幫助描述圖5的操作521和522的定時圖的示例。

圖8是幫助描述當易失性存儲器裝置410_0和410_1的命令地址延遲cal的值中的差值dcal等于或大于trcd且小于trp時的優點的定時圖的示例。

圖9是說明根據實施例的非易失性雙列直插式存儲器模塊(nvdimm)的示例的配置簡圖。

圖10是說明根據另一實施例的nvdimm的示例的配置簡圖。

圖11是幫助描述根據實施例的nvdimm中備份操作的流程圖的示例。

圖12是幫助描述根據實施例的nvdimm中恢復操作的流程圖的示例。

圖13是幫助描述根據實施例的nvdimm中電源關閉中斷操作的流程圖的示例。

圖14是說明根據另一實施例的nvdimm的示例的配置簡圖。

圖15是幫助描述圖14的實施例中的備份操作的流程圖的示例。

圖16是幫助描述圖14的實施例中的另一備份操作的流程圖的示例。

具體實施方式

下面將參照附圖更詳細地描述各個實施例。然而,本發明可體現為不同的形式且不應解釋為限于本文闡述的實施例。相反,提供這些實施例使得本公開將更徹底和完整并向本領域技術人員充分傳達本發明的范圍。在整個公開中,在本發明的各附圖和實施例中相似的參考標號始終指代相似的部件。

本發明涉及一種非易失性雙列直插式存儲器模塊,其中控制器可利用數量減少的信號線單獨地訪問共享數據總線和控制總線的易失性存儲器裝置。在下文中,為了便于理解根據實施例的非易失性雙列直插式存儲器模塊,將對整個系統的詳細配置順序地進行描述。

易失性存儲器裝置的單個dram可尋址性(pda)模式

首先,將描述易失性存儲器裝置的pda模式和命令地址延遲(cal)。

圖2是幫助描述易失性存儲器裝置中pda模式下模式寄存器設置(mrs)的操作的定時圖的示例。

在pda模式下,對于每個易失性存儲器裝置執行獨立的模式寄存器設置操作。當pda模式被設置時,所有模式寄存器設置命令的有效性可以根據第0個數據焊盤(datapad)dq0的信號電平來確定。如果在寫入延遲(wl=al+cwl,其中wl表示寫入延遲,al表示附加延遲,cwl表示cas寫入延遲)后,第0個數據焊盤dq0的信號電平為'0',則應用的所有模式寄存器設置命令可被確定為有效,并且如果第0個數據焊盤dq0的信號電平為'1',則應用的所有模式寄存器設置命令可被確定為無效并可被忽略。

參照圖2,在時間點201處,模式寄存器設置命令mrs被應用到易失性存儲器裝置。在時間點201經過對應于寫入延遲(wl=al+cwl)的時間的時間點202處,第0個數據焊盤dq0的信號電平轉變為“0”并保持預定的時間段。因此,在時間點201應用的模式寄存器設置命令mrs被確定為有效,并且在從時間點203的模式寄存器設置命令周期時間(圖2中表示為“tmrd_pda”)期間,通過使用與模式寄存器設置命令mrs一起輸入的地址(未示出)來執行易失性存儲器裝置的設置操作。

如果第0個數據焊盤dq0的信號電平在時間點202被連續保持為“1”,則在時間點201應用的模式寄存器設置命令mrs被確定為無效,并因此被忽略。也就是說,并不執行易失性存儲器裝置的設置操作。

易失性存儲器裝置的命令地址延遲(cal)

圖3是幫助描述易失性存儲器裝置的cal的定時圖的示例。

cal表示片選信號cs和通過控制總線(cmd/addr_bus)傳輸的控制信號之中的其余信號之間的時間差。當cal被設置時,易失性存儲器裝置僅將從片選信號cs的啟用時間開始經過對應于cal的時間之后輸入的控制信號確定為有效。cal的值可以通過模式寄存器設置(mrs)來設置。

圖3示出當cal被設置成3個時鐘周期時的操作。在時間點301后經過3個時鐘并且片選信號cs被啟用為低電平時的時間點302處,不同于片選信號cs的命令cmd和地址addr被應用到易失性存儲器裝置。然后,非易失性存儲器裝置可認為在時間點302處應用的命令cmd和地址addr有效。如果命令cmd和地址addr在與片選信號cs被啟用的時間點301相同的時間點或從片選信號cs被啟用的時間點301經過1個時鐘或2個時鐘的時間點被應用至易失性存儲器裝置,則易失性存儲器裝置不會認為命令cmd和地址addr有效。

由于命令cmd和地址addr也在從時間點303和305經過對應于cal的時間(3個時鐘)的時間點304和306并且片選信號cs被啟用時應用,所以在時間點304和306處應用的命令cmd和地址addr可被易失性存儲器裝置認為有效。

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

圖4是說明根據實施例的dimm的基本配置的框圖。

參照圖4,dimm可以包括控制器400、第一易失性存儲器裝置410_0、第二易失性存儲器裝置410_1、控制總線cmd/addr_bus以及數據總線data_bus。

控制信號通過控制總線cmd/addr_bus從控制器400傳輸至易失性存儲器裝置410_0和410_1。控制信號可以包括命令cmd、地址addr和時鐘ck。命令cmd可以包括多個信號。例如,命令cmd可以包括激活信號(act)、行地址選通信號(ras)、列地址選通信號(cas)和片選信號(cs)。雖然片選信號cs是包含在命令cmd中的信號,但片選信號cs在附圖中被單獨示出以表示共享相同的片選信號cs的易失性存儲器裝置410_0和410_1。地址addr可以包括多個信號。例如,地址addr可以包括多位存儲體組地址,多位存儲體地址和多位正常地址。時鐘ck可以從控制器400被傳輸到易失性存儲器裝置410_0和410_1,用于易失性存儲器裝置410_0和410_1的同步操作。時鐘ck可以包括時鐘(ck_t)和通過反轉時鐘(ck_t)獲得的時鐘條(ck_c)的差分法來傳輸。

數據總線data_bus可以在控制器400與易失性存儲器裝置410_0和410_1之間傳輸多位數據data0至data3。各自易失性存儲器裝置410_0和410_1設有分別與數據總線data_bus的數據線data0至data3聯接的數據焊盤dq0至dq3。各自易失性存儲器裝置410_0和410_1的特定的數據焊盤諸如數據焊盤dq0可被聯接至不同的數據線data0至data1。指定的數據焊盤dq0可以用于設置識別控制總線cmd/addr_bus上的控制信號的延遲。

控制器400可以通過控制總線cmd/addr_bus控制易失性存儲器裝置410_0和410_1,并且可以通過數據總線data_bus與易失性存儲器裝置410_0和410_1交換數據。控制器400可被設置在dimm中,可以將用于允許易失性存儲器裝置410_0和410_1識別控制總線cmd/addr_bus上的信號的延遲設置成不同的值,并且可以通過使用延遲訪問易失性存儲器裝置410_0和410_1之間所需的易失性存儲器裝置。這將參照圖5至圖7b在下文中詳細說明。

第一易失性存儲器裝置410_0和第二易失性存儲器裝置410_1可以共享控制總線cmd/addr_bus和數據總線data_bus。第一易失性存儲器裝置410_0和第二易失性存儲器裝置410_1還可共享片選信號cs。第一易失性存儲器裝置410_0和第二易失性存儲器裝置410_1可設置有用于通過控制總線cmd/addr_bus傳輸的控制信號的不同延遲。延遲可以指參考信號例如片選信號cs與控制總線cmd/addr_bus上的信號中的其余信號cmd和addr之間的時間差。由于第一易失性存儲器裝置410_0和第二易失性存儲器裝置410_1相對于控制總線cmd/addr_bus被設置有不同延遲的事實,第一易失性存儲器裝置410_0和第二易失性存儲器裝置410_1可通過控制器400單獨地訪問,這將參照圖5至圖7b在下文中詳細說明。

如從圖4可以看出,用于識別第一易失性存儲器裝置410_0和第二易失性存儲器裝置410_1的任何信號傳輸線并不被單獨分配給第一易失性存儲器裝置410_0和第二易失性存儲器裝置410_1。然而,控制器400可以分別地訪問第一易失性存儲器裝置410_0和第二易失性存儲器裝置410_1,這將在下面進行描述。

dimm的基本cal設置操作

圖5是幫助描述圖4所示的dimm的操作的流程圖的示例。

參照圖5,dimm的操作可被分為針對控制器400為通過第一非易失性存儲器裝置410_0的控制總線cmd/addr_bus和第二非易失性存儲器裝置410_1的控制總線cmd/addr_bus傳輸的控制信號設置不同的延遲的步驟510以及針對控制器400分別訪問第一非易失性存儲器裝置410_0和第二非易失性存儲器裝置410_1的步驟520。

在步驟511處,控制器400可以控制第一易失性存儲器裝置410_0和第二易失性存儲器裝置410_1進入pda模式。這可以通過應用對應于模式寄存器設置命令(mrs)的命令cmd和應用作為對應于pda進入模式的組合的地址addr來實現。

在步驟512處,第一易失性存儲器裝置410_0的命令地址延遲cal可被設置成0'。這可以在從命令cmd的應用時間經過寫入延遲wl(wl=al+cwl)之后通過下列操作來實現:將命令cmd應用為對應于模式寄存器設置命令(mrs)的組合、將地址addr應用為對應于cal設置成“0”的組合以及將“0”的信號電平應用至對應于第一易失性存儲器裝置410_0的第0個數據焊盤dq0的第0個數據線data0。參照圖6,可以確認用于將cal設置成'0'的命令/地址cmd/addr在時間點601處被應用,當從時間點601經過對應于寫入延遲wl的時間時,數據線data0在時間點602處具有'0'的電平。由于數據線data1在時間點602處具有“1”的電平,所以第二易失性存儲器裝置410_1忽略在時間點601處應用的命令cmd。

在步驟513處,第二易失性存儲器裝置410_1的命令地址延遲cal可被設置成'3'。這可以在從命令cmd的應用時間經過寫入延遲wl(wl=al+cwl)之后通過下列操作來實現:將命令cmd應用為對應于模式寄存器設置命令(mrs)的組合、將地址addr應用為對應于cal設置成“3”的組合以及將“0”的信號電平應用至對應于第二易失性存儲器裝置410_1的第0個數據焊盤dq0的第1個數據線data1。參照圖6,用于將cal設置成'3'的命令/地址cmd/addr在時間點603處被應用,當從時間點603經過對應于寫入延遲wl的時間時,數據線data1在時間點604處具有'0'的電平。由于數據線data0在時間點604處具有“1”的電平,所以第一易失性存儲器裝置410_0忽略在時間點603處應用的命令cmd。如果易失性存儲器裝置410_0和410_1的延遲設置被完成,則pda模式可以在步驟514處結束。

由于第一易失性存儲器裝置410_0和第二易失性存儲器裝置410_1的命令地址延遲cal被彼此不同地設置,所以控制器400可以通過在步驟521處在片選信號cs的啟用時間應用命令/地址cmd/addr訪問第一易失性存儲器裝置410_0或者可以通過在步驟522處在從片選信號cs的啟用時間3個時鐘后應用命令/地址cmd/addr訪問第二易失性存儲器裝置410_1。

圖7a和圖7b是表示圖5的操作521和522的定時圖。參照圖7a和圖7b,在與片選信號cs的啟用時間相同的時間點701、703、705、707、709和711處應用的命令cmd被第一易失性存儲器裝置410_0識別并操作第一易失性存儲器裝置410_0,在從片選信號cs的啟用時間的3個時鐘之后的時間點702、704、706、708、710和712處應用的命令cmd被第二易失性存儲器裝置410_1識別并操作第二易失性存儲器裝置410_1。在附圖中,參考符號nop表示其中未執行操作的非操作狀態。

在時間點701、702、703、704、707、708、709和710處的操作中,有可能僅訪問第一易失性存儲器裝置410_0和第二易失性存儲器裝置410_1中的一個易失性存儲器裝置。此外,在時間點705、706、711和712處的操作中,可通過在片選信號cs的啟用時間應用有效命令cmd以及在從片選信號cs的啟用時間的3個時鐘之后應用有效命令cmd有可能訪問第一易失性存儲器裝置410_0和第二易失性存儲器裝置410_1兩者。

根據參照圖4至圖7b以上描述的實施例,易失性存儲器裝置410_0和410_1共享控制總線cmd/addr_bus和數據總線data_bus,但相對于控制總線cmd/addr_bus具有不同的延遲。控制器400可以通過改變通過控制總線cmd/addr_bus應用的信號的延遲,訪問在易失性存儲器裝置410_0和410_1之間期望被訪問的易失性存儲器裝置。因此,不需要單獨地控制易失性存儲器裝置410_0和410_1的附加線。

雖然上述實施例例示了,易失性存儲器裝置410_0和410_1通過控制器400被設置成具有相對于控制總線cmd/addr_bus不同的延遲,但這僅為了說明性的目的,將注意的是,易失性存儲器裝置410_0和410_1可以被編程為永久地具有不同的延遲。例如,當制造易失性存儲器裝置410_0和410_1時,易失性存儲器裝置410_0和410_1相對于控制總線cmd/addr_bus的延遲可被固定,或者在制造易失性存儲器裝置410_0和410_1之后,易失性存儲器裝置410_0和410_1相對于控制總線cmd/addr_bus的延遲可通過永久設置例如使用熔絲電路設置被固定。

此外,易失性存儲器裝置410_0和410_1之間的命令地址延遲cal的差值可以等于或大于從行地址至列地址的延遲時間trcd,即ras到cas延遲。另外,易失性存儲器裝置410_0和410_1之間的命令地址延遲cal的差值可以小于行預充電時間trp。即,dcal(cal差值)≥trcd,dcal<trp。

圖8是幫助描述易失性存儲器裝置410_0和410_1的命令地址延遲cal的差值dcal等于或大于trcd且小于trp時的優點的簡圖的示例。參照圖8,下文將在該假設下進行說明,即當第一易失性存儲器裝置410_0具有cal=0且第二易失性存儲器裝置410_1具有cal=3,trcd=3和trp=4時,dcal=3。

參照圖8,在時間點801處,片選信號cs可被啟用,激活操作act可通過命令/地址cmd/addr指示。然后,第一易失性存儲器裝置410_0可以通過在時間點801處識別激活操作act執行激活操作。

在時間點802處,片選信號cs可被啟用,讀取操作rd可通過命令/地址cmd/addr被指示。然后,第一易失性存儲器裝置410_0可以通過在時間點802處識別讀取操作rd執行讀取操作。此外,在時間點801啟用片選信號cs后經過3個時鐘的時間點802處,第二易失性存儲器裝置410_1可以從命令/地址cmd/addr識別讀取操作rd。然而,由于激活操作尚未在第二易失性存儲器裝置410_1中執行,所以第二易失性存儲器裝置410_1可以將通過命令/地址cmd/addr指示的讀取操作rd確定為非法的,并且可以不執行讀取操作。如果dcal小于trcd,則當第二易失性存儲器裝置410_1識別指示給第一易失性存儲器裝置410_0的激活操作act時,可能發生誤操作。當dcal≥trcd時可以防止這種誤操作。此外,當在時間點802啟用片選信號cs后經過3個時鐘的時間點803處,第二易失性存儲器裝置410_1可以從命令/地址cmd/addr識別讀取操作rd。然而,由于激活操作尚未在第二易失性存儲器裝置410_1中執行,所以第二易失性存儲器裝置410_1可以將通過命令/地址cmd/addr指示的讀取操作rd確定為非法的,并且可以不執行讀取操作。

在時間點804處,片選信號cs可被啟用,預充電操作pcg可通過命令/地址cmd/addr被指示。然后,第一易失性存儲器裝置410_0可以通過在時間點804處識別預充電操作pcg執行預充電操作。在時間點804處啟用片選信號cs后經過3個時鐘的時間點805處,第二易失性存儲器裝置410_1可以從命令/地址cmd/addr識別預充電操作pcg并且可以執行預充電操作。由于預充電操作不用考慮激活操作是否已經被提前執行,所以預充電操作甚至可以通過第二易失性存儲器裝置410_1來執行。

在時間點806處,片選信號cs可被啟用,激活操作act可通過命令/地址cmd/addr被指示。然后,第一易失性存儲器裝置410_0可以通過在時間點806處識別激活操作act執行激活操作。如果dcal被設置成大于trp,則當第二易失性存儲器裝置410_1識別通過命令/地址cmd/addr指示的激活操作act時,可能發生誤操作。由于dcal<trp,所以可以防止這種誤操作。

在時間點807處,片選信號cs可被啟用,寫入操作wl可通過命令/地址cmd/addr被指示。然后,第一易失性存儲器裝置410_0可以通過在時間點807處識別寫入操作wl執行寫入操作。在時間點806啟用片選信號cs后經過3個時鐘的時間點807處,第二易失性存儲器裝置410_1可以從命令/地址cmd/addr識別寫入操作wl。然而,由于激活操作尚未在第二易失性存儲器裝置410_1中執行,所以第二易失性存儲器裝置410_1可以將通過命令/地址cmd/addr指示的寫入操作wl確定為非法的,并且可以不執行寫入操作。在時間點807啟用片選信號cs后經過3個時鐘的時間點808處,第二易失性存儲器裝置410_1可以從命令/地址cmd/addr識別寫入操作wl。然而,第二易失性存儲器裝置410_1可以將通過命令/地址cmd/addr指示的寫入操作wl確定為非法的,并且可以不執行寫入操作。

如上面參照圖8所述,通過設置易失性存儲器裝置410_0和410_1的命令地址延遲cal,以這種方式滿足dcal(cal差值)≥trcd且dcal<trp,有可能防止易失性存儲器裝置410_0和410_1執行誤操作。

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

圖9是說明根據實施例的nvdimm900的示例的配置簡圖。在圖9中,將描述參照圖4-圖8以上所述的用于設置易失性存儲器裝置的不同cal和單獨地訪問共享數據總線和控制總線的易失性存儲器裝置的方案應用于根據實施例的nvdimm900的示例。

圖9一起示出構建nvdimm存儲器系統的主機的存儲器控制器9和輔助電源10。nvdimm900是在發生電源故障時通過在主機的電源不穩定時將易失性存儲器裝置的數據備份在非易失性存儲器裝置中防止數據丟失的存儲器模塊。

參照圖9,nvdimm900可以包括第一組易失性存儲器裝置911至914、第二組易失性存儲器裝置921至924、非易失性存儲器裝置930、控制器940、寄存器950、電源故障檢測器960、第一數據總線data_bus1、第二數據總線data_bus2、控制總線cmd/addr_bus、多個第三數據總線data_bus3_1至data_bus3_4以及多個第四數據總線data_bus4_1至data_bus4_4。

當主機的電源host_vdd和host_vss處于正常時,寄存器950可通過主機控制總線host_cmd/addr_bus緩沖從主機的存儲器控制器9提供的命令、地址和時鐘,并可以通過控制總線cmd/addr_bus為第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924提供命令、地址和時鐘。當主機的電源host_vdd和host_vss處于正常時,第一組易失性存儲器裝置911至914可以分別通過對應的第三數據總線data_bus3_1至data_bus3_4從主機的存儲器控制器9接收數據/或者將數據傳輸至主機的存儲器控制器9,第二組易失性存儲器裝置921至924可以分別通過對應的第四數據總線data_bus4_1至data_bus4_4從主機的存儲器控制器9接收數據或者將數據傳輸至主機的存儲器控制器9。即,當主機的電源host_vdd和host_vss處于正常時,第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924可以通過第三數據總線data_bus3_1至data_bus3_4和第四數據總線data_bus4_1至data_bus4_4中的對應的一個與主機的存儲器控制器9單獨地通信。

如果當形成主機的電源host_vdd和host_vss的電壓電平變得不穩定時,電源故障檢測器960檢測到主機的電源host_vdd和host_vss故障,則主機的電源host_vdd和host_vss到nvdimm900的供電被中斷。然后,輔助電源10的應急電源emg_vdd和emg_vss被供給至nvdimm900。輔助電源10可通過大容量的電容器例如超級電容器來實現,并且可供應應急電源emg_vdd和emg_vss同時第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的數據被備份在非易失性存儲器裝置930中。雖然圖9說明輔助電源10設置在nvdimm900外部,但是輔助電源10也可以設置在nvdimm900內部。當主機的電源host_vdd和host_vss故障被檢測到時,電源故障檢測器960可通知控制器940故障。

當從電源故障檢測器960接收到主機的電源host_vdd和host_vss故障的通知時,對第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的控制從主機的存儲器控制器9改變到nvdimm900的控制器940。然后,寄存器950可以緩沖從控制器940提供的命令、地址和時鐘,并可以通過控制總線cmd/addr_bus為第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924提供命令、地址和時鐘。第一組易失性存儲器裝置911至914可以通過第一數據總線data_bus1與控制器940交換數據,第二組易失性存儲器裝置921至924可以通過第二數據總線data_bus2與控制器940交換數據。控制器940可以通過控制總線cmd/addr_bus、第一數據總線data_bus1和第二數據總線data_bus2讀取第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的數據,并且可以將讀取的數據存儲即備份在非易失性存儲器裝置930中。

當主機的電源host_vdd和host_vss發生故障時被備份在非易失性存儲器裝置930中的第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的數據可在主機的電源host_vdd和host_vss恢復至正常狀態之后被傳輸至和存儲在第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924中。這種恢復操作可以根據控制器940的控制來執行,并且在恢復完成后,對第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的控制可從nvdimm900的控制器940恢復至主機的存儲器控制器9。

第一組易失性存儲器裝置911至914共享與控制器940通信的相同的控制總線cmd/addr_bus和數據總線data_bus1。類似地,第二組易失性存儲器裝置921至924共享與控制器940通信的相同控制總線cmd/addr_bus和數據總線data_bus2。然而,控制器940可以單獨地訪問第一組易失性存儲器裝置911至914之中的單個易失性存儲器裝置,并且可以單獨地訪問第二組易失性存儲器裝置921至924之中的單個易失性存儲器裝置。就這一點而言,參照圖2-8結合共享控制總線cmd/addr_bus和數據總線data_bus的dimm的配置和操作進行描述。稍后將參照圖11和圖12描述關于與nvdimm中數據備份和恢復相關聯的單獨操作。

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

圖9所示的nvdimm900中的組件可以彼此結合或分離。

例如,控制器940、寄存器950和電源故障檢測器960可通過一個芯片來配置或者可通過多個芯片來配置。此外,nvdimm900中使用的第一組易失性存儲器裝置911至914、第二組易失性存儲器裝置921至924和非易失性存儲器裝置930的數量可以與圖9所示出的數量不同。

圖10是說明根據另一實施例的nvdimm900的示例的配置簡圖。

除了多路復用器1101至1108和4個數據焊盤dq0至dq3之外,圖9和圖10中的nvdimms900可以彼此相同。

通過多路復用器1101至1104,當第一組易失性存儲器裝置911至914與主機的存儲器控制器9通信時,第一組易失性存儲器裝置911至914的數據焊盤dq0至dq3可以與第三數據總線data_bus3_1至data_bus3_4聯接;當第一組易失性存儲器裝置911至914與控制器940通信時,第一組易失性存儲器裝置911至914的數據焊盤dq0至dq3可以與第一數據總線data_bus1聯接。

通過多路復用器1105至1108,當第二組易失性存儲器裝置921至924與主機的存儲器控制器9通信時,第二組易失性存儲器裝置921至924的數據焊盤dq0至dq3可以與第四數據總線data_bus4_1至data_bus4_4聯接;當第二組易失性存儲器裝置921至924與控制器940通信時,第二組易失性存儲器裝置921至924的數據焊盤dq0至dq3可以與第二數據總線data_bus2聯接。

由于除了增加多路復用器1101至1108和第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至9244的每個中使用4個數據焊盤dq0至dq3之外,圖10的nvdimm900與參照圖9所述的相同方式操作,所以本文將省略進一步詳細的描述。

斷電備份操作

圖11是幫助描述根據實施例的nvdimm900中的備份操作的流程圖的示例。

在步驟s1110處,第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924在正常時間與主機的存儲器控制器9通信,對第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的控制通過圖9示出的nvdimm900中的主機的存儲器控制器9執行。第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924共享相同的控制總線cmd/addr_bus。數據總線data_bus3_1至data_bus3_4和data_bus4_1至data_bus4_4被分別提供至第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924。因此,與nvdimm900的控制器940不同,主機的存儲器控制器9可以單獨地從第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924接收數據或者將數據傳輸至第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924。

在步驟s1120處,確定是否可滿足在非易失性存儲器裝置930中備份第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的數據的觸發條件。例如,檢測主機的電源host_vdd和host_vss的故障可滿足觸發條件。可選地,當備份操作根據主機的存儲器控制器9的命令被執行時,通過主機的存儲器控制器9針對備份操作的指令可滿足觸發條件。

在步驟s1130處,對第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的控制可從主機的存儲器控制器9改變至nvdimm900的控制器940。此外,nvdimm900所用的電源從主機的電源host_vdd和host_vss改變到通過輔助電源10供給的應急電源emg_vdd和emg_vss。另外,當控制對象被改變成控制器940時,通過第一組易失性存儲器裝置911至914使用的數據總線從第三數據總線data_bus3_1至data_bus3_4被改變成第一數據總線data_bus1,通過第二組易失性存儲器裝置921至924使用的數據總線從第四數據總線data_bus4_1至data_bus4_4被改變成第二數據總線data_bus2。

在步驟s1140處,控制器940單獨地設置共享控制總線cmd/addr_bus與數據總線data_bus1和data_bus2的第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924上的命令地址延遲cal。

參照圖9,各自第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924包括8個數據焊盤dq0至dq7。在數據焊盤dq0至dq7之中,4個數據焊盤dq0至dq3可以與第一數據總線data_bus1和第二數據總線data_bus2聯接,其余的4個數據焊盤dq4至dq7可以與第三數據總線data_bus3_1至data_bus3_4和第四數據總線data_bus4_1至data_bus4_4聯接。第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924使用的數據總線可通過控制器940的指令來改變。第一組易失性存儲器裝置911至914的第0個數據焊盤dq0可以與第一數據總線data_bus1的不同數據線分別聯接,第二組易失性存儲器裝置921至924的第0個數據盤dq0可以與第二數據總線data_bus2的不同數據線分別聯接。通過此,第一組易失性存儲器裝置911至914可以單獨地進入pda模式,第二組易失性存儲器裝置921至924可以單獨地進入pda模式。

例如,這可以通過將目標易失性存儲器裝置例如各自第一組易失性存儲器裝置911至914的易失性存儲器裝置911和第二組易失性存儲器裝置921至924的易失性存儲器裝置921的命令地址延遲cal設置成第一值,例如0;并且通過將除各自第一組易失性存儲器裝置911至914的目標易失性存儲器裝置911和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置921之外的其余的易失性存儲器裝置的命令地址延遲cal設置成第二值,例如3來實現。

在步驟s1150處,控制器940通過使用設置的命令地址延遲cal讀取各自第一組易失性存儲器裝置911至914的目標易失性存儲器裝置911和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置921。例如,控制器400可以通過訪問各自第一組易失性存儲器裝置911至914的目標易失性存儲器裝置911和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置921,讀取各自第一組易失性存儲器裝置911至914的目標易失性存儲器裝置911和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置921,其中命令地址延遲cal通過在片選信號cs的啟用時間處應用命令/地址cmd/addr被設置成第一值,例如0。由于除各自第一組易失性存儲器裝置911至914的目標易失性存儲器裝置911和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置921之外的其余的易失性存儲器裝置912至914和922至924的命令地址延遲cal被設置成第二值,例如3,所以它們忽視來自控制器940的讀取命令。

從參照圖4至圖7b進行的上述描述,可以理解步驟s1140的方案和步驟s1150的方案,步驟s1140的方案是控制器940單獨地設置共享控制總線cmd/addr_bus與數據總線data_bus1和data_bus2的第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924上的命令地址延遲cal,步驟s1150的方案是控制器940通過訪問各自第一組易失性存儲器裝置911至914的目標易失性存儲器裝置911和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置921讀取數據,其中數據具有指定的命令地址延遲cal。此外,如上所述,命令地址延遲cal的第一值和第二值之間的差dcal可以滿足dcal≥trcd和dcal<trp的方式來設置。

在步驟s1160處,當從易失性存儲器裝置讀取的數據被寫入到非易失性存儲器裝置930中時,執行數據備份操作。例如,從各自第一組易失性存儲器裝置911至914的目標易失性存儲器裝置911和各自第二組易失性存儲器裝置921至924的目標易失性存儲器裝置921讀取的數據可被備份在非易失性存儲器裝置930的頁面中。

在步驟s1170處,確定非易失性存儲器頁面是否已滿(即,頁面的數據寫入被完成)。如果非易失性存儲頁面不滿,則過程可以返回到步驟s1140。

例如,如果存儲在各自第一組易失性存儲器裝置911至914的目標易失性存儲器裝置911和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置921中的數據保留,則控制器940可以在步驟s1140處通過將各自第一組易失性存儲器裝置911至914的目標易失性存儲器裝置911和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置921的命令地址延遲cal設置成第一值例如0,并且將除目標易失性存儲器裝置911和921之外的其余的易失性存儲器裝置912至914和922至924的命令地址延遲cal設置成第二值例如3執行對存儲在各自第一組易失性存儲器裝置911至914的目標易失性存儲器裝置911和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置921中的其余數據的讀取操作。

對于另一示例,當存儲在各自第一組易失性存儲器裝置911至914的目標易失性存儲器裝置911和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置921中的所有數據被備份時,則在步驟s1140處,控制器940可以將另外的目標存儲器裝置例如各自第一組易失性存儲器裝置911至914的目標易失性存儲器裝置912和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置922的命令地址延遲cal設置成第一值例如0,并且可以將除目標易失性存儲器裝置912和922之外的其余的易失性存儲器裝置911、913、914和921、923、924的命令地址延遲cal設置成第二值例如3。然后,在步驟s1150處,控制器940可以通過命令地址延遲cal的設置讀取目標易失性存儲器裝置912和922。盡管未示出,但是通過命令地址延遲cal的設置,共享控制總線cmd/addr_bus與數據總線data_bus1和data_bus2的第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的選擇性讀取可以通過將各自第一組易失性存儲器裝置911至914和各自第二組易失性存儲器裝置921至924中的每個易失性存儲器裝置選擇為目標易失性存儲器裝置對所有各自第一組易失性存儲器裝置911至914和各自第二組易失性存儲器裝置921至924來執行。

當在步驟s1170處確定非易失性存儲頁面已滿時,過程繼續至非易失性存儲頁面被編程的步驟s1180。

當編程非易失存儲器裝置930的存儲器頁面時,有必要檢查不是從第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924讀取的數據是否仍然存在。因此,在步驟s1180的對非易失存儲器裝置930的存儲器頁面的編程操作期間,控制器940可以對第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924執行刷新操作。例如,均勻分布刷新周期的分布式刷新操作可針對第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924執行,使得在重復任務之前所有行被打開,并且當刷新不被執行時讀取各自第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924中的數據。

當新的非易失性存儲器頁面被準備并寫入(即s1160-s1180)時,第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924可以在低功率模式下操作,其中第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924使用比正常功率模式低的功率。在新的非易失性存儲器頁面被準備并寫入后,當待備份的數據仍然保留在第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924中并且待編程的存儲器頁面存在于非易失性存儲器裝置930中時,第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924被恢復至正常功率模式,使得讀取待備份的數據的操作被連續地執行。

在步驟s1190處,確定待備份的數據是否保留在第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924中。當待備份的數據不保留時,則掉電備份操作可以結束,并且nvdimm900可被關閉。如果待備份的數據保留,則過程可以繼續至步驟s1140,并且對其余數據的備份操作被執行。

通電恢復操作

圖12是幫助描述根據實施例的nvdimm900中的恢復操作的流程圖的示例。

當主機的電源host_vdd和host_vss恢復至正常狀態或當主機的存儲器控制器9指示恢復操作時,通電恢復操作可被執行。由于主機的電源host_vdd和host_vss已恢復至正常狀態,所以通電恢復操作可以通過主機的電源host_vdd和host_vss被執行。

在示例中,在完成參照圖11如上所述的備份操作之后,nvdimm900可以在關閉nvdimm900的狀態下執行恢復操作。在另一示例中,在備份操作的過程中,主機的電源host_vdd和host_vss可以恢復至正常狀態。在這種情況下,斷電備份操作可以被中斷,通電恢復操作可被執行。在任一示例中,在步驟s1210處,nvdimm900的第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924可處于nvdimm900的控制器940的控制下。

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

在步驟s1230處,控制器940單獨地設置共享控制總線cmd/addr_bus與數據總線data_bus1和data_bus2的第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924上的命令地址延遲cal。如參照圖11對備份操作的以上描述,第一組易失性存儲器裝置911至914可以單獨地進入pda模式,第二組易失性存儲器裝置921至924可以單獨地進入pda模式。

例如,各自第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924中的目標易失性存儲器裝置911和921的命令地址延遲cal可被設置成第三值例如0,除目標易失性存儲器裝置911和921之外的其余的易失性存儲器裝置912至914和922至924的命令地址延遲cal可被設置成第四值例如3。

在步驟s1240處,到各自第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置911和921的數據恢復可通過命令地址延遲cal將從非易失性存儲器裝置930讀取的數據寫入各自第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置911和921中被執行。

在步驟s1250處,確定待恢復的數據是否保留在非易失性存儲器裝置930中。如果待恢復的數據保留,則過程可繼續至步驟s1230,恢復操作可針對其余的數據執行。

例如,當對于各自第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置911和921的數據恢復被完成時,在步驟s1230處,控制器940可以將另外的目標存儲器裝置例如各自第一組易失性存儲器裝置911至914的目標易失性存儲器裝置912和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置922的命令地址延遲cal設置成第三值例如0,并且控制器940可以將除目標易失性存儲器裝置912和922之外的其余的易失性存儲器裝置911、913、914和921、923、924的命令地址延遲cal設置成第四值例如3。然后,在步驟s1240處,控制器940可以通過命令地址延遲cal的設置將從非易失性存儲器裝置930讀取的數據恢復至目標易失性存儲器裝置912和922。數據恢復操作可通過下列操作針對所有各自第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924執行:單獨地設置作為各自第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924中的目標易失性存儲器裝置的每個易失性存儲器裝置的命令地址延遲cal、將各個第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924中除了目標易失性存儲器裝置之外的其余的易失性存儲器裝置的命令地址延遲cal設置成第四值,然后將從非易失性存儲器裝置930讀取的數據恢復至目標易失性存儲器裝置中。命令地址延遲cal的第三值和第四值之間的差值dcal可被設置成滿足dcal≥trcd且dcal<trp。

當在步驟s1250處確定待恢復的數據不保留,為當主機的電源host_vdd和host_vss再次斷電時做準備時,有必要確保非易失性存儲器裝置930的足夠存儲容量以在對第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的控制改變到主機的存儲器控制器9之前備份存儲在第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924中的數據。

在步驟s1260處,確定擦除塊或空白塊針對在非易失性存儲器裝置930中備份數據是否足夠。例如,確定擦除塊的量是否足以覆蓋第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的整個容量或者目前存儲在非易失性存儲器裝置930的第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924中的數據的使用量或有效范圍。如果在非易失性存儲器裝置930中不存在足夠的擦除塊,則在步驟s1270處,新的塊在非易失性存儲器裝置930中被擦除。

當在非易失性存儲器裝置930中存在足夠的擦除塊時,則在步驟s1280處,對第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的控制從nvdimm900的控制器940被改變至主機的存儲器控制器9,并且通電恢復操作被完成。

此后,nvdimm900可以通過主機的存儲器控制器9使用,并且可以如上參照圖11所述的步驟s1110的相同狀態下操作。例如,用于第一組易失性存儲器裝置911至914的數據總線可以從第一數據總線data_bus1被改變成第三數據總線data_bus3_1至data_bus3_4,用于第二組易失性存儲器裝置921至924的數據總線可以從第二數據總線data_bus2被改變成第四數據總線data_bus4_1至data_bus4_4。

斷電中斷操作

圖13是幫助描述根據實施例的nvdimm900中的斷電中斷操作的流程圖的示例。

當電源故障檢測器960檢測到主機的電源host_vdd和host_vss發生故障或者主機的存儲器控制器9指示備份操作時,斷電備份操作如上參照圖11被執行。就這一點而言,當執行斷電備份操作時,主機的電源host_vdd和host_vss可被恢復至正常狀態并且來自主機的電源供應可被重新開始。因此,有必要中斷備份操作并允許主機的存儲器控制器9盡可能快地使用第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924。下面,將描述這種斷電中斷操作。

在步驟s1310處,執行如上參照圖1所述的斷電備份操作。

在步驟s1320處,確定在斷電備份操作期間,主機的電源host_vss和host_vdd是否被恢復。例如,當在斷電備份操作期間,主機的電源host_vdd和host_vss返回至正常狀態并被供給至nvdimm900或與其對應的信號從主機的存儲器控制器9被接收時,可以確定在斷電備份操作期間,主機的電源host_vdd和host_vss得以恢復。

在斷電中斷操作期間,由于nvdimm900尚未完成斷電備份操作,所以nvdimm900未被關閉并且第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924仍然將數據存儲在其中。因此,可以不需要如在通電恢復操作中的數據恢復過程。然而,在步驟s1310的數據備份期間,存在非易失性存儲器裝置930的存儲器頁面被第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的數據占據的機會,因此不可能為主機的電源host_vdd和host_vss再次發生故障做準備。因此,在確保非易失性存儲器裝置930中備份第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的數據的足夠空間用于主機的電源host_vdd和host_vss的故障再次發生之后,可有必要對第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的控制被改變到主機的存儲器控制器9。

在步驟s1330處,確定擦除塊或空塊對于在非易失性存儲器裝置930中備份數據的是否足夠。

例如,確定擦除塊的量是否足以覆蓋第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924中的整個容量或者目前存儲在非易失性存儲器裝置930的第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924中的數據的使用量或有效范圍。

當在非易失性存儲器裝置930中存在足夠的擦除塊時,在步驟s1340處,對第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的控制從nvdimm900的控制器940改變至主機的存儲器控制器9,并且主機的存儲器控制器9可立即使用nvdimm900。

然而,當在非易失性存儲器裝置930中不存在足夠的擦除塊時,在步驟s1350處,新的塊在非易失性存儲器裝置930中被擦除以為主機的電源host_vdd和host_vss的故障再次發生做準備。

這里,從非易失性存儲器裝置930擦除的塊可以包括從第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924備份的數據。當在斷電中斷操作而不是從一開始執行圖11說明的整個斷電備份操作期間,主機的電源host_vdd和host_vss再次發生故障時,優先僅備份在擦除塊中備份的數據然后重新開始在中斷時間中斷的備份操作是有利的,使得備份任務可被快速地實施,并且具有有限功率量的輔助電源10的應急電源emg_vdd和emg_vss的消耗可得到降低。

在步驟s1360處,確定用于將第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的數據備份在非易失性存儲器裝置930中的觸發條件是否被滿足。如上所述,觸發條件可以是對主機的電源host_vdd和host_vss的故障檢測或來自主機的存儲器控制器9的備份命令。當不滿足觸發條件時,過程返回至步驟s1330。

當確定觸發條件被滿足時,在步驟s1310處備份然后在步驟s1350處被擦除的第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的數據在步驟s1370處被再次備份。

例如,可以假設在步驟s1310處,各自第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置911和921的數據被備份在非易失性存儲器裝置930中的擦除塊中,然后在步驟s1350處,存儲備份數據的塊被擦除。因此,nvdimm900的控制器940可以將各自第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置911和921的命令地址延遲cal設置成第五值例如0。然后,在將除了目標易失性存儲器裝置911和921之外的其余的易失性存儲器裝置的命令地址延遲cal設置成第六值例如3之后,正在存儲在步驟s1350處從非易失性存儲器裝置930擦除的數據的易失性存儲器區域可以通過命令地址延遲cal的設置值被選擇并讀取。在步驟s1370處,讀取的數據被再次備份在非易失性存儲器裝置930中。在步驟s1370的選擇性備份操作被完成之后,在步驟s1380處,在斷電中斷操作的啟用時間中斷的斷電備份操作可被重新開始。

nvdimm的命令/地址監聽

圖14是說明根據另一實施例的nvdimm的示例的配置簡圖。圖14是幫助描述nvdimm的命令/地址監聽操作的概念圖。為了便于理解本實施例,僅示出nvdimm的內部配置。主機的存儲器控制器9、主機的存儲器控制器9和第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924、非易失性存儲器裝置930之間的聯接關系以及非易失性存儲器裝置930和控制器940之間的聯接關系與圖9所示相同。此外,圖14的配置簡圖說明作為第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的dram,形成在第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924中的數據焊盤與圖9中示出的數據焊盤相同。

參照圖14,控制器940可以包括命令/地址監聽邏輯1410和命令/地址控制邏輯1420。命令/地址監聽邏輯1410可以接收并識別即監聽用于從主機的存儲器控制器9提供的用于第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的命令和地址。命令/地址控制邏輯1420可為第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924提供命令和地址,從而控制第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924。

從命令/地址控制邏輯1420輸出的控制器940的命令和地址通過多路復用器1450被傳輸到寄存器時鐘驅動器(rcd)1440。寄存器時鐘驅動器1440可以緩沖從主機的存儲器控制器9或nvdimm的控制器940提供的命令、地址和時鐘,并且可以通過控制總線cmd/addr_bus為第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924提供命令、地址和時鐘。此外,寄存器時鐘驅動器1440可具有恢復從主機的存儲器控制器9或nvdimm的控制器940提供的命令和地址的任何失真的功能。此后,將參照圖15和圖16描述通過命令/地址監聽執行斷電備份操作的實施例。

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

圖15是幫助描述圖14的實施例中的備份操作的流程圖的示例。

當主機的電源host_vdd和host_vss如上所述正常供電時,第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924被主機的存儲器控制器9單獨地控制。在步驟s1510處,nvdimm的控制器940可以通過命令/地址監聽邏輯1410監聽從主機的存儲器控制器9輸入到第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的命令和地址。

在步驟s1520處,命令/地址監聽邏輯1410分析存儲在第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的每個易失性存儲器裝置中的數據的有效區域(即數據被存儲在易失性存儲器中的區域)。命令/地址監聽邏輯1410可分析存儲在各個易失性存儲器裝置中的數據的有效區域并積累分析結果,同時對第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的控制通過主機的存儲器控制器9來執行。

在步驟s1530處,確定用于將第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的數據備份在非易失性存儲器裝置930中的觸發條件是否被滿足。如上所述,觸發條件是用于將存儲在第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924中的數據備份在非易失性存儲區裝置930中的條件。例如,對主機的電源host_vdd和host_vss的故障檢測或者對來自主機的存儲器控制器9的備份操作的指示可以滿足觸發條件。

當觸發條件被滿足時,具有數據的有效區域的易失性存儲器裝置基于步驟s1520的積累的分析結果在步驟s1540處被選擇,并且在步驟s1550處,在所選擇的易失性存儲器裝置中存儲的數據被備份在非易失性存儲器裝置930中。

例如,假定在步驟s1540處選擇的易失性存儲器裝置是如上參照圖11所述的各自第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置911和921。控制器940可以通過下列操作選擇性地讀取各個第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置911和921:將各自第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置911和921的命令地址延遲cal設置成第一值例如0,并且將除了目標易失性存儲器裝置911和921之外的其余的易失性存儲器裝置912至914和922至924的命令地址延遲cal設置成第二值例如3。讀取的數據可被備份在非易失性存儲器裝置930中。

當有效區域的數據被存儲在共享相同的控制總線cmd/addr_bus以及第一數據總線data_bus1和第二數據總線data_bus2的第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924之中的一些易失性存儲器裝置中時,僅有效區域的易失性存儲器裝置被選擇,所選擇的易失性存儲器裝置的命令地址延遲cal可被順序地設置成第一值,未選擇的易失性存儲器裝置的命令地址延遲cal可被設置成第二值。因此,通過僅備份有效區域的數據,可可能大幅縮短備份數據所需的時間。

使用nvdimm的命令/地址監聽的優先備份操作

圖16是幫助描述圖14的實施例中另一備份操作的流程圖的示例。

當主機的電源host_vdd和host_vss被正常供電時,第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924通過主機的存儲器控制器9單獨地控制。在步驟s1610處,nvdimm的控制器940可以通過命令/地址監聽邏輯1410監聽從主機的存儲器控制器9輸入到第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的命令和地址。

在步驟s1620處,命令/地址監聽邏輯1410分析在第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924中的每個易失性存儲器裝置中存儲的數據的量。命令/地址監聽邏輯1410可分析在各個易失性存儲器裝置中存儲的數據的量并積累分析結果,同時對第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的控制通過主機的存儲器控制器9來執行。

在步驟s1630處,確定用于將第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的數據備份在非易失性存儲器裝置930中的觸發條件是否被滿足。觸發條件是用于將第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924中存儲的數據備份在非易失性存儲區裝置930中的條件。對主機的電源host_vdd和host_vss的故障檢測或者對來自主機的存儲器控制器9的備份操作的指示可以滿足觸發條件。

當觸發條件被滿足時,在步驟s1640處,各自第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924可按照存儲的數據的量被優先化,并且在步驟s1650處,在易失性存儲器裝置中存儲的數據根據優先順序被備份在非易失性存儲器裝置930中。

例如,具有最大存儲的數據量的易失性存儲器裝置是在第一組易失性存儲器裝置911至914中的易失性存儲器裝置912和第二組易失性存儲器裝置921至924中的易失性存儲器裝置922。控制器940可以通過將易失性存儲器裝置912和922的命令地址延遲cal設置成第一值例如0,并且將其余的易失性存儲器裝置911、913、914和921、923、924的命令地址延遲cal設置成第二值例如3選擇性地讀取具有最大存儲的數據量的易失性存儲器裝置912和922。如上所述,讀取的數據被備份在非易失性存儲器裝置930中。

在步驟s1640處,備份操作可根據優先級設置針對各自第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924中的每個易失性存儲器裝置執行。

如從以上描述顯而易見的是,當nvdimm900通過主機的電源host_vdd和host_vss的故障和恢復執行數據的備份和恢復操作時,nvdimm900的第一組易失性存儲器裝置911至914共享與控制器940通信的控制總線cmd/addr_bus和第一數據總線data_bus1,nvdimm900的第二組易失性存儲器裝置921至924共享與控制器940通信的控制總線cmd/addr_bus和第二數據總線data_bus2。控制器940可以通過將命令地址延遲cal設置成不同的值單獨地訪問第一組易失性存儲器裝置911至914備份和恢復數據。類似地,控制器940可以通過將命令地址延遲cal設置成不同的值單獨地訪問第二組易失性存儲器裝置921至924備份和恢復數據。

在一個或多個示例性實施例中,本文所描述的功能可在硬件、軟件、固件或它們的任意組合中實現。如果在軟件中實現,則功能可以作為機器可讀介質即計算機程序產品諸如計算機可讀介質上的一個或多個命令或代碼被存儲或傳輸。計算機可讀介質包括通信介質,其包括計算機存儲介質和便于計算機程序從一個位置傳輸到另一位置的任何介質。存儲介質可以是可被計算機訪問的任何可用介質。在非限制性示例中,這種計算機可讀介質可以被ram、rom、eeprom、cd-rom,光盤存儲器裝置、磁盤存儲器裝置、磁存儲器裝置或計算機訪問,并且可以包括可用于以命令或數據結構的形式攜帶或存儲所需程序代碼的任何介質。本文所用的磁盤和盤(disc)包括壓縮盤(cd)、激光盤、光盤、數字多功能光盤(dvd)、軟盤和藍光光盤,其中磁盤通常重放數據磁性地但光盤光盤,其中磁盤通常通過磁性方式再現數據,而盤通過光學方式再現數據。它們的任意組合應包括在計算機可讀介質的范圍內。

雖然已經描述了各個實施例用于說明的目的,但對于本領域技術人員將是顯而易見的是,在不脫離如下述權利要求書限定的本發明的精神和范圍的情況下可以作出各種變化和變型。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 东莞市| 扎鲁特旗| 陇南市| 会同县| 当阳市| 博爱县| 平远县| 宜兰县| 白城市| 白玉县| 郁南县| 依兰县| 河间市| 巧家县| 宜都市| 尼玛县| 莱阳市| 时尚| 犍为县| 赣榆县| 黎平县| 安化县| 沧源| 常宁市| 谢通门县| 安仁县| 封丘县| 获嘉县| 五大连池市| 鄂托克旗| 凉城县| 济南市| 乌兰浩特市| 万盛区| 黄平县| 黄山市| 丹江口市| 万山特区| 横峰县| 安泽县| 新宾|