非易失性雙列直插式存儲器模塊及其操作方法與流程
2023-10-25 06:11:05 2

相關申請的交叉引用
本申請要求於2016年3月28日提交的申請號為10-2016-0036644的韓國專利申請的優先權,其公開內容通過引用整體併入本文。
示例性實施例涉及一種半導體存儲器技術,且更特別地,涉及一種能夠利用減少數量的信號線獨立地訪問其中的易失性存儲器裝置的非易失性雙列直插式存儲器模塊,以及其操作方法。
背景技術:
在大多數情況下,單個控制器聯接到兩個或更多個存儲器裝置並控制兩個或更多個存儲器裝置。
如圖1a所示,當控制器100和存儲器裝置110_0之間的用於命令和地址的控制總線cmd/addr_bus0和數據總線data_bus0與控制器100和存儲器裝置110_1之間的控制總線cmd/addr_bus1和數據總線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交換信號。
隨著聯接到單個控制器的存儲器裝置的數量增加,所需的信號線的數量增加,這增加了系統設計的難度並且增加了製造成本。
技術實現要素:
各個實施例涉及一種非易失性雙列直插式存儲器系統、存儲器模塊和操作存儲器模塊的方法,其中,當由於主機的電源故障/恢復在非易失性雙列直插式存儲器模塊中執行備份/恢復操作時,通過單獨地訪問易失性存儲器裝置同時減少存儲器模塊中數據總線的連接線(wiringline)的數量來執行備份/恢復操作。
在一個實施例中,非易失性存儲器模塊可以包括:多個易失性存儲器裝置,其共享通過其傳輸數據的數據總線和通過其傳輸命令和地址的控制總線;至少一個非易失性存儲器裝置;以及控制器,其包括備份邏輯,當檢測到主機的電源故障或由主機的存儲器控制器指示備份操作時,備份邏輯將在多個易失性存儲器裝置中存儲的數據備份,其中備份邏輯將多個易失性存儲器裝置中的一個的命令地址延時(cal)設置為第一值,並將剩餘易失性存儲器裝置的命令地址延時設置為不同於第一值的第二值。
第二值可大於第一值,第二值和第一值之差可以等於或大於行地址與列地址的延時時間(trcd:ras到cas延遲)。
第二值和第一值之差可以小於行預充電時間(trp)。
備份邏輯包括:適於當對非易失性存儲器裝置的存儲器頁面編程時對多個易失性存儲器裝置執行均勻分布刷新周期的分布式刷新操作的邏輯;適於當非易失性存儲器裝置的新存儲器頁面被準備並寫入時,在其中多個易失性存儲器裝置使用低於正常電源模式中的功率的低電源模式下操作多個易失性存儲器裝置的邏輯;以及適於在非易失性存儲器裝置的新存儲器頁面被寫入之後將多個易失性存儲器裝置恢復到正常電源模式的邏輯。
控制器可以進一步包括恢復邏輯,其適於當主機的電源恢復至正常狀態時將在非易失性存儲器裝置中備份的數據恢復到多個易失性存儲器裝置,並且恢復邏輯將多個易失性存儲器裝置中的一個的命令地址延時(cal)設置為第三值,並將剩餘的易失性存儲器裝置的命令地址延時設置為不同於第三值的第四值。
第四值可大於第三值,第四值和第三值之差可以等於或大於行地址與列地址的延時時間(trcd:ras到cas延時)。
第四值和第三值之差可以小於行預充電時間(trp)。
恢復邏輯可以包括:適於在完成從非易失性存儲器裝置到多個易失性存儲器裝置的數據恢復之後,確定非易失性存儲器裝置中是否存在用於數據備份的足夠量的擦除塊的邏輯;適於當非易失性存儲器裝置中不存在用於數據備份的足夠量的擦除塊時擦除新塊的邏輯;以及適於當非易失性存儲器裝置中存在用於數據備份的足夠量的擦除塊時將對多個易失性存儲器裝置的控制從控制器改變到主機的存儲器控制器的邏輯。
在一個實施例中,提供了一種用於操作非易失性存儲器模塊的方法,非易失性存儲器模塊包括:共享通過其傳輸數據的數據總線和通過其傳輸命令和地址的控制總線的多個易失性存儲器裝置、非易失性存儲器裝置以及控制器,該方法可以包括:通過主機的存儲器控制器控制多個易失性存儲器裝置;檢測主機的電源故障或接收來自主機的存儲器控制器的用於備份操作的指示;將對多個易失性存儲器裝置的控制從主機的存儲器控制器改變到控制器;通過控制器將多個易失性存儲器裝置中的一個的命令地址延時(cal)設置為第一值,並通過控制器將剩餘易失性存儲器裝置的命令地址延時設置為不同於第一值的第二值;讀取命令地址延時為第一值的易失性存儲器裝置;以及將讀取的數據備份在非易失性存儲器裝置中。
第二值可大於第一值,第二值和第一值之差可以等於或大於行地址與列地址的延時時間(trcd:ras到cas延時)。
第二值和第一值之差可以小於行預充電時間(trp)。
備份讀取的數據可以包括:當對非易失性存儲器裝置的存儲器頁面編程時對多個易失性存儲器裝置執行均勻分布刷新周期的分布式刷新操作;當非易失性存儲器裝置的新存儲器頁面被準備並寫入時,在其中多個易失性存儲器裝置使用低於正常電源模式中的功率的低電源模式下操作多個易失性存儲器裝置;以及在非易失性存儲器裝置的新存儲器頁面被寫入後將多個易失性存儲器裝置恢復到正常電源模式。
該方法可進一步包括:檢測主機的電源恢復或接收來自主機的存儲器控制器的用於恢復操作的指示;通過控制器將多個易失性存儲器裝置中的一個的命令地址延時(cal)設置為第三值,並通過控制器將剩餘易失性存儲器裝置的命令地址延時設置為不同於第三值的第四值;讀取在非易失性存儲器裝置中備份的數據,並將讀取的數據恢復在命令地址延時為第三值的易失性存儲器裝置中;以及當待恢復的數據剩餘在非易失性存儲器裝置中時迭代將cal設置為第三值和第四值以及讀取和恢復。
第四值可大於第三值,第四值和第三值之差可以等於或大於行地址與列地址的延時時間(trcd:ras到cas延時)。
第四值和第三值之差可以小於行預充電時間(trp)。
該方法可進一步包括:確定非易失性存儲器裝置中是否存在用於數據備份的足夠量的擦除塊;(vii)當在非易失性存儲器裝置中不存在用於數據備份的足夠量的擦除塊時擦除新塊;以及(viii)當非易失性存儲器裝置中存在用於數據備份的足夠量的擦除塊時將對多個易失性存儲器裝置的控制從控制器改變到主機的存儲器控制器。
一種非易失性存儲器模塊可以包括:適於通過共用數據總線存儲從主機提供的數據的易失性存儲器裝置,適於對在易失性存儲器裝置中存儲的數據備份的非易失性存儲器裝置,以及適於在主機的電源故障時將所選擇的易失性存儲器裝置的數據備份在非易失性存儲器裝置中的控制器,其中在備份數據中,控制器將所選擇的易失性存儲器裝置中的一個的命令地址延時(cal)設置為第一值,並將易失性存儲器裝置的剩餘易失性存儲器裝置的命令地址延時設置為第二值。
根據本發明的實施例,當由於主機的電源故障/恢復而在非易失性雙列直插式存儲器模塊中執行備份/恢復操作時,通過在非易失性雙列直插式存儲器模塊中利用減少數量的數據總線的信號線訪問易失性存儲器裝置來執行備份/恢復操作是可能的。
附圖說明
圖1a和圖1b是示出根據常規技術的控制器和存儲器裝置之間的總線連接的示例的框圖。
圖2是輔助描述易失性存儲器裝置中pda模式下模式寄存器設置(moderegisterset,mrs)的操作的時序圖的示例。
圖3是輔助描述易失性存儲器裝置的命令地址延時(cal)的時序圖的示例。
圖4是示出根據實施例的雙列直插式存儲器模塊(dimm)的基本配置的框圖。
圖5是輔助描述圖4所示的dimm的操作的流程圖的示例。
圖6是輔助描述圖5的操作512和513的時序圖的示例。
圖7是輔助描述圖5的操作521和522的時序圖的示例。
圖8是輔助描述當易失性存儲器裝置410_0和410_1的命令地址延時cal的值之差dcal等於或大於trcd且小於trp時的優點的時序圖的示例。
圖9是示出根據實施例的非易失性雙列直插式存儲器模塊(nvdimm)的示例的配置簡圖。
圖10是示出根據另一實施例的nvdimm的示例的配置簡圖。
圖11是輔助描述根據實施例的nvdimm中備份操作的流程圖的示例。
圖12是輔助描述根據實施例的nvdimm中恢復操作的流程圖的示例。
具體實施方式
下面將參照附圖更詳細地描述各個實施例。然而,本發明可以不同的形式體現且不應解釋為限於本文闡述的實施例。相反,提供這些實施例使得本發明將是全面的和完整的,並將本發明的範圍充分傳達給本領域技術人員。遍及本公開,在本發明的各附圖和實施例中相似的參考標號指代相似的部件。
本發明涉及一種非易失性雙列直插式存儲器模塊,其中控制器可利用減少數量的信號線獨立訪問共享數據總線和控制總線的易失性存儲器裝置。下面,為了便於理解根據實施例的非易失性雙列直插式存儲器模塊,將對整個系統的詳細配置順序地進行說明。
易失性存儲器裝置的per-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的時間之後輸入的控制信號確定為有效。可以通過模式寄存器設置(mrs)來設置cal的值。
圖3示出當cal被設置為3個時鐘周期時的操作。在晶片選擇信號cs被啟用為低電平的時間點301後經過3個時鐘的時間點302,將不同於晶片選擇信號cs的命令cmd和地址addr應用到易失性存儲器裝置。然後,易失性存儲器裝置可以將在時間點302應用的命令cmd和地址addr識別為有效。當在與晶片選擇信號cs被啟用的時間點301相同的時間點或在從晶片選擇信號cs被啟用的時間點301開始經過1個時鐘或2個時鐘的時間點,將命令cmd和地址addr應用到易失性存儲器裝置時,易失性存儲器裝置並不將命令cmd和地址addr識別為有效。
由於還在從晶片選擇信號cs被啟用的時間點303和305開始經過對應於cal的時間例如3個時鐘的時間點304和306應用命令cmd和地址addr,在時間點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被單獨地示出在附圖中以表示易失性存儲器裝置410_0和410_1共享相同的晶片選擇信號cs。地址addr可以包括多個信號。例如,地址addr可以包括多位存儲庫組(bankgroup)地址、多位存儲庫地址和多位正常地址。時鐘ck可以從控制器400被傳輸到易失性存儲器裝置410_0和410_1,用於易失性存儲器裝置410_0和410_1的同步操作。可以包括時鐘(ck_t)和反轉時鐘(ck_t)獲得的時鐘條(clockbar,ck_c)的差分法來傳輸時鐘ck。
數據總線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的操作可分為步驟510和步驟520,步驟510是控制器400為通過第一易失性存儲器裝置410_0和第二易失性存儲器裝置410_1的控制總線cmd/addr_bus傳輸的控制信號設置不同的延時,步驟520是控制器400單獨訪問第一易失性存儲器裝置410_0和第二易失性存儲器裝置410_1。
在步驟511,控制器400可以控制第一易失性存儲器裝置410_0和第二易失性存儲器裝置410_1以進入pda模式。這可以通過應用對應於模式寄存器設置命令(mrs)的命令cmd和應用作為對應於進入pda模式的組合的地址addr來實現。
在步驟512,第一易失性存儲器裝置410_0的命令地址延時cal可被設置為「0」。這可以通過應用作為對應於模式寄存器設置命令(mrs)的組合的命令cmd、應用作為對應於cal設置為「0」的組合的地址addr、以及在從命令cmd的應用時間開始經過寫入延時wl(wl=al+cwl)之後將信號電平「0」應用至對應於第一易失性存儲器裝置410_0的第0數據焊盤dq0的第0數據線data0來實現。參照圖6,在時間點601應用用於設置cal為「0」的命令/地址cmd/addr,並且在從時間點601開始經過對應於寫入延時wl的時間的時間點602,數據線data0具有電平「0」。由於在時間點602數據線data1具有電平「1」,因此第二易失性存儲器裝置410_1忽略在時間點601應用的命令cmd。
在步驟513,第二易失性存儲器裝置410_1的命令地址延時cal可被設置為「3」。這可以通過應用作為對應於模式寄存器設置命令(mrs)的組合的命令cmd、應用作為對應於cal設置為「3」的組合的地址addr以及在從命令cmd的應用時間開始經過寫入延時wl(wl=al+cwl)之後將信號電平「0」應用至對應於第二易失性存儲器裝置410_1的第0數據焊盤dq0的第1數據線data1來實現。參照圖6,在時間點603應用用於設置cal為「3」的命令/地址cmd/addr,並且在從時間點603開始經過對應於寫入延時wl的時間的時間點604,數據線data1具有電平「0」。由於數據線data0在時間點604具有電平「1」,第一易失性存儲器裝置410_0忽略在時間點603應用的命令cmd。當完成易失性存儲器裝置410_0和410_1的延時設置時,可以在步驟514結束pda模式。
由於第一易失性存儲器裝置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具有不同的延時。通過改變經由控制總線cmd/addr_bus應用的信號的延時,控制器400可以訪問期望在易失性存儲器裝置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時的dcal=3,trcd=3和trp=4進行描述。
參照圖8,在時間點801,可以啟用晶片選擇信號cs,通過命令/地址cmd/addr可指示激活操作act。然後,第一易失性存儲器裝置410_0可以通過在時間點801識別激活操作act來執行激活操作。
在時間點802,可以啟用晶片選擇信號cs,並通過命令/地址cmd/addr可指示讀取操作rd。然後,第一易失性存儲器裝置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,通過命令/地址cmd/addr可指示預充電操作pcg。然後,第一易失性存儲器裝置410_0可以通過在時間點804識別預充電操作pcg來執行預充電操作。在時間點804啟用晶片選擇信號cs後經過3個時鐘的時間點805,第二易失性存儲器裝置410_1可以從命令/地址cmd/addr識別預充電操作pcg並且可以執行預充電操作。由於預充電操作不用考慮是否已經在先執行激活操作,因此甚至可以通過第二易失性存儲器裝置410_1執行預充電操作。
在時間點806,可以啟用晶片選擇信號cs,通過命令/地址cmd/addr可指示激活操作act。然後,第一易失性存儲器裝置410_0可以通過在時間點806識別激活操作act來執行激活操作。如果dcal被設置為大於trp,當第二易失性存儲器裝置410_1從時間點806識別通過命令/地址cmd/addr指示的激活操作act並執行激活操作時可能發生誤操作。由於dcal<trp,可以防止這樣的誤操作。
在時間點807,可以啟用晶片選擇信號cs,通過命令/地址cmd/addr可指示寫入操作wt。然後,第一易失性存儲器裝置410_0可以通過在時間點807識別寫入操作wt來執行寫入操作。在時間點806啟用晶片選擇信號cs後經過3個時鐘的時間點807,第二易失性存儲器裝置410_1可以從命令/地址cmd/addr識別寫入操作wt。然而,由於激活操作尚未在第二易失性存儲器裝置410_1中執行,第二易失性存儲器裝置410_1可以將由命令/地址cmd/addr指示的寫入操作wt確定為非法的,並且可以不執行寫入操作。在時間點807啟用晶片選擇信號cs後經過3個時鐘的時間點808,第二易失性存儲器裝置410_1可以從命令/地址cmd/addr識別寫入操作wt。然而,第二易失性存儲器裝置410_1可以將由命令/地址cmd/addr指示的寫入操作wt確定為非法的,並且可以不執行寫入操作。
如上面參照圖8所述,通過以滿足dcal(cal差)≥trcd且dcal<trp的這種方式設置易失性存儲器裝置410_0和410_1的命令地址延時cal,防止易失性存儲器裝置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獨立地通信。
當電源故障檢測器960檢測到由於形成主機的電源host_vdd和host_vss的電壓電平變得不穩定導致的主機的電源host_vdd和host_vss中的故障時,主機的電源host_vdd和host_vss到nvdimm900的供應被中斷。然後,輔助電源10的應急電源emg_vdd和emg_vss被供應到nvdimm900。輔助電源10可通過大容量的電容器例如超級電容器來實現,並且當將第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的數據備份在非易失性存儲器裝置930中時,可以提供應急電源emg_vdd和emg_vss。雖然圖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恢復至正常狀態之後,主機的電源host_vdd和host_vss發生故障時備份在非易失性存儲器裝置930中的第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的數據可以被傳輸至和存儲在第一組易失性存儲器裝置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的配置和操作進行描述。關於與nvdimm中數據備份和恢復相關的獨立操作,之後將參照圖11和圖12進行描述。
第一組易失性存儲器裝置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的示例的配置簡圖。
圖9和圖10中的nvdimm900可以彼此相同,除了多路復用器1101至1108和4個數據焊盤dq0至dq3。
通過多路復用器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通信,並由圖9中示出的nvdimm900中的主機的存儲器控制器9執行對第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的控制。當第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924共享相同的控制總線cmd/addr_bus時,分別為第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924提供數據總線data_bus3_1至data_bus3_4和data_bus4_1至data_bus4_4。因此,與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聯接。通過控制器940的命令可以改變由第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924使用的數據總線。第一組易失性存儲器裝置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。例如,通過在晶片選擇信號cs的啟用時間應用命令/地址cmd/addr,控制器400可以通過訪問其命令地址延時cal被設置為第一值例如0的第一組易失性存儲器裝置911至914的目標易失性存儲器裝置911和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置921,讀取第一組易失性存儲器裝置911至914的目標易失性存儲器裝置911和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置921。由於除第一組易失性存儲器裝置911至914的目標易失性存儲器裝置911和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置921之外的剩餘易失性存儲器裝置912至914和922至924的命令地址延時cal被設置為第二值,例如3,剩餘易失性存儲器裝置912至914和922至924忽略來自控制器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來讀取數據,其中目標易失性存儲器裝置911和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中存儲的所有數據被備份時,控制器940可以在步驟s1140中將另外的目標易失性存儲器裝置,例如第一組易失性存儲器裝置911至914的目標易失性存儲器裝置912和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置922,的命令地址延時cal設置為第一值,例如0,並且可以將除目標易失性存儲器裝置912和922之外的剩餘易失性存儲器裝置911、913、914、921、923和924的命令地址延時cal設置為第二值,例如3。然後,在步驟s1150中,控制器940可以通過命令地址延時cal的設置讀取目標易失性存儲器裝置912和922。儘管未示出,但通過命令地址延時cal的設置,可以通過將第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924中的每個易失性存儲器裝置單獨地選擇為目標易失性存儲器裝置,對第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的所有執行共享控制總線cmd/addr_bus與數據總線data_bus1和data_bus2的第一組易失性存儲器裝置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中不執行刷新時讀取數據。
當準備了新非易失性存儲器頁面並寫入時,第一組易失性存儲器裝置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中的目標易失性存儲器裝置911和第二組易失性存儲器裝置921至924中的目標易失性存儲器裝置921的命令地址延時cal設置為第三值例如0,並且將除目標易失性存儲器裝置911和921之外的剩餘易失性存儲器裝置912至914和922至924的命令地址延時cal設置為第四值例如3。
在步驟s1240中,通過命令地址延時cal將從非易失性存儲器裝置930讀取的數據寫入到第一組易失性存儲器裝置911至914的目標易失性存儲器裝置911和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置921中,可以執行第一組易失性存儲器裝置911至914的目標易失性存儲器裝置911和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置921的數據恢復。
在步驟s1250中,確定待恢復的數據是否剩餘在非易失性存儲器裝置930中。如果剩餘待恢復的數據,則該進程可繼續至步驟s1230,並且可以對剩餘數據執行恢復操作。
例如,如果第一組易失性存儲器裝置911至914的目標易失性存儲器裝置911和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置921的數據恢復完成,則控制器940在步驟s1230中可以將另外的目標易失性存儲器裝置例如第一組易失性存儲器裝置911至914的目標易失性存儲器裝置912和第二組易失性存儲器裝置921至924的目標易失性存儲器裝置922的命令地址延時cal設置為第三值例如0,並且可以將除目標易失性存儲器裝置912和922之外的剩餘易失性存儲器裝置911、913、914、921、923和924的命令地址延時cal設置為第四值例如3。然後,在步驟s1240中,控制器940可以通過命令地址延時cal的設置將從非易失性存儲器裝置930讀取的數據恢復到目標易失性存儲器裝置912和922。通過單獨設置在第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924中的每個作為目標易失性存儲器裝置的易失性存儲器裝置的命令地址延時cal,將在第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924中的除了目標易失性存儲器裝置之外的剩餘易失性存儲器裝置的命令地址延時cal設置為第四值,以及然後將從非易失性存儲器裝置930讀取的數據恢復到目標易失性存儲器裝置中,可以對所有第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924執行數據恢復操作。命令地址延時cal的第三值和第四值之差dcal可以滿足dcal≥trcd和dcal<trp的方式設置。
當在步驟s1250中確定沒有剩餘待恢復的數據時,為當主機的電源host_vdd和host_vss再次掉電時做準備,有必要確保非易失性存儲器裝置930的足夠的存儲容量,以在對第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924的控制改變到主機的存儲器控制器9之前,將在第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924中存儲的數據備份。
因此,在步驟s1260中,確定用於在非易失性存儲器裝置930中備份數據的擦除塊或空白塊是否足夠。例如,確定非易失性存儲器裝置930的擦除塊的量是否足夠以覆蓋第一組易失性存儲器裝置911至914和第二組易失性存儲器裝置921至924中的整個容量或者目前存儲在第一組易失性存儲器裝置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。
正如從以上描述中顯而易見的是,當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)、軟盤和藍光光碟,其中磁碟通常磁性地再現數據,而光碟光學地再現數據。甚至它們的任意組合應旨在被包括在計算機可讀媒介的範圍內。
雖然為說明的目的已經描述了各個實施例,但在不背離如權利要求限定的本發明的精神和範圍的情況下可以作出各種變化和修改,這對於本領域技術人員將是顯而易見的。