TW201734813A - 非揮發性雙列直插式記憶體模組及其操作方法 - Google Patents
非揮發性雙列直插式記憶體模組及其操作方法 Download PDFInfo
- Publication number
- TW201734813A TW201734813A TW105125717A TW105125717A TW201734813A TW 201734813 A TW201734813 A TW 201734813A TW 105125717 A TW105125717 A TW 105125717A TW 105125717 A TW105125717 A TW 105125717A TW 201734813 A TW201734813 A TW 201734813A
- Authority
- TW
- Taiwan
- Prior art keywords
- volatile memory
- memory device
- value
- data
- memory devices
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1456—Hardware arrangements for backup
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/005—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0023—Address circuits or decoders
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/04—Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1048—Data bus control circuits, e.g. precharging, presetting, equalising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2015—Redundant power supplies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/805—Real-time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40618—Refresh operations over multiple banks or interleaving
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Dram (AREA)
- Memory System (AREA)
- Computer Security & Cryptography (AREA)
Abstract
本發明揭示了一種非揮發性記憶體模組,其包括:共用通過其傳輸資料的資料匯流排及通過其傳輸命令和位址的控制匯流排的多個揮發性記憶體裝置;至少一個非揮發性記憶體裝置;以及包括備份邏輯的控制器,當檢測到主機的電源故障或由主機的記憶體控制器指示備份操作時,備份邏輯將在多個揮發性記憶體裝置中儲存的資料備份,其中備份邏輯將多個揮發性記憶體裝置中的一個的命令位址延時(即CAL)設置為第一值,並將剩餘揮發性記憶體裝置的命令位址延時設置為不同於第一值的第二值。
Description
相關申請的交叉引用
本申請案請求於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交換信號。
隨著耦合到單個控制器的記憶體裝置的數量增加,所需的信號線的數量增加,這增加了系統設計的難度並且增加了製造成本。
各個實施例關於一種非揮發性雙列直插式記憶體系統、記憶體模組及操作記憶體模組的方法,其中,當由於主機的電源故障/恢復在非揮發性雙列直插式記憶體模組中執行備份/恢復操作時,通過單獨地存取揮發性記憶體裝置同時減少記憶體模組中資料匯流排的連接線(wiring line)的數量來執行備份/恢復操作。
在一個實施例中,非揮發性記憶體模組可以包括:多個揮發性記憶體裝置,其共用通過其傳輸資料的資料匯流排及通過其傳輸命令和位址的控制匯流排;至少一個非揮發性記憶體裝置;以及控制器,其包括備份邏輯,當檢測到主機的電源故障或由主機的記憶體控制器指示備份操作時,備份邏輯將在多個揮發性記憶體裝置中儲存的資料備份,其中備份邏輯將多個揮發性記憶體裝置中的一個的命令位址延時(CAL, command address latency)設置為第一值,並將剩餘揮發性記憶體裝置的命令位址延時設置為不同於第一值的第二值。
第二值可大於第一值,第二值及第一值之差可以等於或大於行位址與列位址的延遲時間(tRCD:RAS到CAS延遲)。
第二值及第一值之差可以小於行預充電時間(tRP, row precharge time)。
備份邏輯包括:適於當對非揮發性記憶體裝置的記憶體頁面程式設計時對多個揮發性記憶體裝置執行均勻分佈刷新週期的分散式刷新操作的邏輯;適於當非揮發性記憶體裝置的新記憶體頁面被準備並寫入時,在其中多個揮發性記憶體裝置使用低於正常電源模式中的功率的低電源模式下操作多個揮發性記憶體裝置的邏輯;以及適於在非揮發性記憶體裝置的新記憶體頁面被寫入之後將多個揮發性記憶體裝置恢復到正常電源模式的邏輯。
控制器可以進一步包括恢復邏輯,其適於當主機的電源恢復至正常狀態時將在非揮發性記憶體裝置中備份的資料恢復到多個揮發性記憶體裝置,並且恢復邏輯將多個揮發性記憶體裝置中的一個的命令位址延時(CAL)設置為第三值,並將剩餘的揮發性記憶體裝置的命令位址延時設置為不同於第三值的第四值。
第四值可大於第三值,第四值及第三值之差可以等於或大於行位址與列位址的延遲時間(tRCD:RAS到CAS延遲)。
第四值及第三值之差可以小於行預充電時間(tRP)。
恢復邏輯可以包括:適於在完成從非揮發性記憶體裝置到多個揮發性記憶體裝置的資料恢復之後,確定非揮發性記憶體裝置中是否存在用於資料備份的足夠量的擦除區塊的邏輯;適於當非揮發性記憶體裝置中不存在用於資料備份的足夠量的擦除區塊時擦除新區塊的邏輯;以及適於當非揮發性記憶體裝置中存在用於資料備份的足夠量的擦除區塊時將對多個揮發性記憶體裝置的控制從控制器改變到主機的記憶體控制器的邏輯。
在一個實施例中,提供了一種用於操作非揮發性記憶體模組的方法,非揮發性記憶體模組包括:共用通過其傳輸資料的資料匯流排及通過其傳輸命令和位址的控制匯流排的多個揮發性記憶體裝置、非揮發性記憶體裝置以及控制器,該方法可以包括:通過主機的記憶體控制器控制多個揮發性記憶體裝置;檢測主機的電源故障或接收來自主機的記憶體控制器的用於備份操作的指示;將對多個揮發性記憶體裝置的控制從主機的記憶體控制器改變到控制器;通過控制器將多個揮發性記憶體裝置中的一個的命令位址延時(CAL)設置為第一值,並通過控制器將剩餘揮發性記憶體裝置的命令位址延時設置為不同於第一值的第二值;讀取命令位址延時為第一值的揮發性記憶體裝置;以及將讀取的資料備份在非揮發性記憶體裝置中。
第二值可大於第一值,第二值及第一值之差可以等於或大於行位址與列位址的延遲時間(tRCD:RAS到CAS延遲)。
第二值及第一值之差可以小於行預充電時間(tRP)。
備份讀取的資料可以包括:當對非揮發性記憶體裝置的記憶體頁面程式設計時對多個揮發性記憶體裝置執行均勻分佈刷新週期的分散式刷新操作;當非揮發性記憶體裝置的新記憶體頁面被準備並寫入時,在其中多個揮發性記憶體裝置使用低於正常電源模式中的功率的低電源模式下操作多個揮發性記憶體裝置;以及在非揮發性記憶體裝置的新記憶體頁面被寫入後將多個揮發性記憶體裝置恢復到正常電源模式。
該方法可進一步包括:檢測主機的電源恢復或接收來自主機的記憶體控制器的用於恢復操作的指示;通過控制器將多個揮發性記憶體裝置中的一個的命令位址延時(CAL)設置為第三值,並通過控制器將剩餘揮發性記憶體裝置的命令位址延時設置為不同於第三值的第四值;讀取在非揮發性記憶體裝置中備份的資料,並將讀取的資料恢復在命令位址延時為第三值的揮發性記憶體裝置中;以及當待恢復的資料剩餘在非揮發性記憶體裝置中時反覆運算將CAL設置為第三值及第四值以及讀取和恢復。
第四值可大於第三值,第四值及第三值之差可以等於或大於行位址與列位址的延遲時間(tRCD:RAS到CAS延遲)。
第四值及第三值之差可以小於行預充電時間(tRP)。
該方法可進一步包括:確定非揮發性記憶體裝置中是否存在用於資料備份的足夠量的擦除區塊;(vii)當在非揮發性記憶體裝置中不存在用於資料備份的足夠量的擦除區塊時擦除新區塊;以及(viii)當非揮發性記憶體裝置中存在用於資料備份的足夠量的擦除區塊時將對多個揮發性記憶體裝置的控制從控制器改變到主機的記憶體控制器。
一種非揮發性記憶體模組可以包括:適於通過共用資料匯流排儲存從主機提供的資料的揮發性記憶體裝置,適於對在揮發性記憶體裝置中儲存的資料備份的非揮發性記憶體裝置,以及適於在主機的電源故障時將所選擇的揮發性記憶體裝置的資料備份在非揮發性記憶體裝置中的控制器,其中在備份資料中,控制器將所選擇的揮發性記憶體裝置中的一個的命令位址延時(CAL)設置為第一值,並將揮發性記憶體裝置的剩餘揮發性記憶體裝置的命令位址延時設置為第二值。
根據本發明的實施例,當由於主機的電源故障/恢復而在非揮發性雙列直插式記憶體模組中執行備份/恢復操作時,通過在非揮發性雙列直插式記憶體模組中利用減少數量的資料匯流排的信號線存取揮發性記憶體裝置來執行備份/恢復操作是可能的。
下面將參照附圖更詳細地描述各個實施例。然而,本發明可以不同的形式體現且不應解釋為限於本文闡述的實施例。相反,提供這些實施例使得本發明將是全面的及完整的,並將本發明的範圍充分傳達給本領域技術人員。遍及本公開,在本發明的各附圖及實施例中相似的參考標號指代相似的部件。
本發明關於一種非揮發性雙列直插式記憶體模組,其中控制器可利用減少數量的信號線獨立存取共用資料匯流排及控制匯流排的揮發性記憶體裝置。下面,為了便於理解根據實施例的非揮發性雙列直插式記憶體模組,將對整個系統的詳細配置順序地進行說明。
揮發性記憶體裝置的
PER-DRAM
定址能力(
PDA
, PER-DRAM ADDRESSABILITY
)模式
首先,將對揮發性記憶體裝置的PDA模式及命令位址延時(CAL)進行描述。
圖2是輔助描述揮發性記憶體裝置中PDA模式下模式暫存器設置(MRS)的操作的時序圖的示例。
在PDA模式中,對每個揮發性記憶體裝置執行獨立的模式暫存器設置操作。當設置PDA模式時,可以根據第0資料焊盤(data pad)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, active signal)、行位址選通信號(RAS, row address strobe signal)、列位址選通信號(CAS, column address strobe signal)及晶片選擇信號(CS, chip select signal)。雖然晶片選擇信號CS是包含在命令CMD中的信號,但晶片選擇信號CS被單獨地示出在附圖中以表示揮發性記憶體裝置410_0及410_1共用相同的晶片選擇信號CS。位址ADDR可以包括多個信號。例如,位址ADDR可以包括多位元儲存庫群組(bank group)位址、多位元儲存庫位址及多位元正常位址。時脈CK可以從控制器400被傳輸到揮發性記憶體裝置410_0及410_1,用於揮發性記憶體裝置410_0及410_1的同步操作。可以包括時脈(CK_t)及反轉時脈(CK_t)獲得的時脈條(clock bar,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是示出根據實施例的NVDIMM 900的示例的配置簡圖。在圖9中,將對如下示例進行描述:將如上參照圖4-8所述的設置揮發性記憶體裝置的不同CAL及獨立地存取共用資料匯流排及控制匯流排的揮發性記憶體裝置的方案應用於根據實施例的NVDIMM 900。
在圖9中,一起示出了構建NVDIMM記憶體系統的主機的記憶體控制器9及輔助電源10。NVDIMM 900是通過當主機的電源不穩定時將揮發性記憶體裝置的資料備份在非揮發性記憶體裝置中的操作,在發生電源故障時防止資料丟失的記憶體模組。
參照圖9,NVDIMM 900可以包括第一組揮發性記憶體裝置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到NVDIMM 900的供應被中斷。然後,輔助電源10的應急電源EMG_VDD及EMG_VSS被供應到NVDIMM 900。輔助電源10可通過大容量的電容器例如超級電容器來實現,並且當將第一組揮發性記憶體裝置911至914及第二組揮發性記憶體裝置921至924的資料備份在非揮發性記憶體裝置930中時,可以提供應急電源EMG_VDD及EMG_VSS。雖然圖9示出輔助電源10設置在NVDIMM 900外,但輔助電源10也可以設置在NVDIMM 900內。此外,當檢測到主機的電源HOST_VDD及HOST_VSS中的故障時,電源故障檢測器960會通知控制器940故障。
當電源故障檢測器960通知主機的電源HOST_VDD及HOST_VSS中的故障時,對第一組揮發性記憶體裝置911至914及第二組揮發性記憶體裝置921至924的控制從主機的記憶體控制器9改變到NVDIMM 900的控制器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的控制會從NVDIMM 900的控制器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, resistive RAM)、相位RAM(PRAM, phase RAM)、磁RAM(MRAM, magnetic RAM)或旋轉移矩MRAM(STT-MRAM, spin transfer torque MRAM)。
圖9中所示的NVDIMM 900中的元件可以彼此結合或分開。
例如,控制器940、暫存器950及電源故障檢測器960可通過一個晶片來配置或者可通過多個晶片來配置。此外,NVDIMM 900中使用的第一組揮發性記憶體裝置911至914、第二組揮發性記憶體裝置921至924及非揮發性記憶體裝置930的數量可以不同於圖9所示出的。
圖10是示出根據另一實施例的NVDIMM 900的示例的配置簡圖。
圖9及圖10中的NVDIMM 900可以彼此相同,除了多工器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的NVDIMM 900以與以上參照圖9所述的相同方式操作,因此此處省略進一步詳細的描述。
斷電備份操作
圖11是輔助描述根據實施例的NVDIMM 900的備份操作的流程圖的示例。
在步驟S1110中,第一組揮發性記憶體裝置911至914及第二組揮發性記憶體裝置921至924在正常時間與主機的記憶體控制器9通信,並由圖9中示出的NVDIMM 900中的主機的記憶體控制器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。因此,與NVDIMM 900的控制器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改變到NVDIMM 900的控制器940。此外,將被NVDIMM 900使用的電源可從主機的電源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中。當待備份的資料沒有剩餘時,可以結束斷電備份操作,並且可以關閉NVDIMM 900。當待備份的資料剩餘時,該進程可以繼續至步驟S1140,並且對剩餘資料執行備份操作。
通電恢復操作
圖12是輔助描述根據實施例的NVDIMM 900中的恢復操作的流程圖的示例。
當主機的電源HOST_VDD及HOST_VSS恢復到正常狀態或當主機的記憶體控制器9指示恢復操作時,可以執行通電恢復操作。由於主機的電源HOST_VDD及HOST_VSS已恢復到正常狀態,可以通過主機的電源HOST_VDD及HOST_VSS執行通電恢復操作。
在一個實例中,在其中完成以上參照圖11所述的備份操作後關閉NVDIMM 900的狀態下,NVDIMM 900可執行恢復操作。在另一實例中,在備份操作的過程中,主機的電源HOST_VDD及HOST_VSS可以恢復到正常狀態。在這種情況下,可以中斷斷電備份操作,並且可以執行通電恢復操作。在任一實例中,在步驟S1210中,NVDIMM 900的第一組揮發性記憶體裝置911至914及第二組揮發性記憶體裝置921至924可處於NVDIMM 900的控制器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的控制從NVDIMM 900的控制器940改變到主機的記憶體控制器9,並且完成通電恢復操作。
此後,NVDIMM 900可以由主機的記憶體控制器9使用,並且可以在與上文參照圖11所述的步驟S1110相同的狀態操作。例如,第一組揮發性記憶體裝置911至914的資料匯流排可以從第一資料匯流排DATA_BUS1改變為第三資料匯流排DATA_BUS3_1至DATA_BUS3_4,並且第二組揮發性記憶體裝置921至924的資料匯流排可以從第二資料匯流排DATA_BUS2改變為第四資料匯流排DATA_BUS4_1至DATA_BUS4_4。
正如從以上描述中顯而易見的是,當NVDIMM 900由於主機的電源HOST_VDD及HOST_VSS的故障及恢復執行資料的備份及恢復操作時,NVDIMM 900的第一組揮發性記憶體裝置911至914在與控制器940通信時共用控制匯流排CMD/ADDR_BUS及第一資料匯流排DATA_BUS1,NVDIMM 900的第二組揮發性記憶體裝置921至924在與控制器940通信時共用控制匯流排CMD/ADDR_BUS及第二資料匯流排DATA_BUS2。控制器940可以通過將命令位址延時CAL設置為不同的值獨立地存取第一組揮發性記憶體裝置911至914來備份及恢復資料。類似地,控制器940可以通過將命令位址延時CAL設置為不同的值獨立地存取第二組揮發性記憶體裝置921至924來備份及恢復資料。
在一個或多個例示性實施例中,本文所描述的功能可以硬體、軟體、固件或它們的任意組合來實現。如果以軟體實現,則功能可以作為機器可讀媒介,即諸如電腦可讀媒介的電腦程式產品,上的一個或多個命令或代碼被儲存或傳輸。電腦可讀介質包括通信媒介,其包括電腦儲存媒介及便於電腦程式從一個位置傳輸到另一位置的任何媒介。儲存媒介可以是可被電腦存取的任何可用媒介。在非限制性實例中,這種電腦可讀媒介可以被RAM、ROM、EEPROM、CD-ROM、光碟記憶體裝置、磁碟記憶體裝置、磁儲存裝置或電腦存取,並且可以包括可用於攜帶或儲存指令或資料結構形式的期望的程式碼的任何媒介。如本文所用的磁片及光碟(disc)包括壓縮磁碟(CD)、雷射盤、光碟、數位化通用光碟(DVD)、軟碟及藍光光碟,其中磁片通常磁性地再現資料,而光碟光學地再現資料。甚至它們的任意組合應旨在被包括在電腦可讀媒介的範圍內。
雖然為說明的目的已經描述了各個實施例,但在不背離如申請專利範圍限定的本發明的精神及範圍的情況下可以作出各種變化及修改,這對於本領域技術人員將是顯而易見的。
9‧‧‧主機的記憶體控制器
10‧‧‧輔助電源
100‧‧‧控制器
110_0, 110_1‧‧‧記憶體裝置
201~203‧‧‧時間點
301~306‧‧‧時間點
400‧‧‧控制器
410_0, 410_1‧‧‧揮發性記憶體裝置
510~514‧‧‧步驟
520~522‧‧‧步驟
601~604‧‧‧時間點
701~712‧‧‧時間點
801~808‧‧‧時間點
900‧‧‧非揮發性雙列直插式記憶體模組
911~914‧‧‧第一組揮發性記憶體裝置
921~924‧‧‧第二組揮發性記憶體裝置
930‧‧‧非揮發性記憶體裝置
940‧‧‧控制器
950‧‧‧暫存器
960‧‧‧電源故障檢測器
1101~1108‧‧‧多工器
ACT‧‧‧啟動信號
ACTIVE‧‧‧啟用
ADDR‧‧‧位址
CAL‧‧‧命令位址延遲
CS‧‧‧晶片選擇信號線
CK‧‧‧時脈
CMD‧‧‧命令
CMD/ADDR_BUS‧‧‧控制匯流排
DATA_BUS‧‧‧資料匯流排
DQ‧‧‧資料焊盤
EMG‧‧‧應急電源
HOST_VDD‧‧‧主機的電源
HOST_CMD/ADD_BUS‧‧‧主機控制匯流排
HOST_VSS‧‧‧主機的電源
NOP‧‧‧非操作狀態
MRS‧‧‧模式暫存器設置命令
PRECHARGE‧‧‧預充電
PCG‧‧‧預充電操作
RD‧‧‧讀取操作
READ‧‧‧讀取
REFRESH‧‧‧刷新
S1110~S1190‧‧‧步驟
S1210~S1280‧‧‧步驟
tRP‧‧‧行預充電時間
tRCD‧‧‧行位址到列位址的延遲時間
VM‧‧‧揮發性記憶體
WT‧‧‧寫入操作
WRITE‧‧‧寫入
10‧‧‧輔助電源
100‧‧‧控制器
110_0, 110_1‧‧‧記憶體裝置
201~203‧‧‧時間點
301~306‧‧‧時間點
400‧‧‧控制器
410_0, 410_1‧‧‧揮發性記憶體裝置
510~514‧‧‧步驟
520~522‧‧‧步驟
601~604‧‧‧時間點
701~712‧‧‧時間點
801~808‧‧‧時間點
900‧‧‧非揮發性雙列直插式記憶體模組
911~914‧‧‧第一組揮發性記憶體裝置
921~924‧‧‧第二組揮發性記憶體裝置
930‧‧‧非揮發性記憶體裝置
940‧‧‧控制器
950‧‧‧暫存器
960‧‧‧電源故障檢測器
1101~1108‧‧‧多工器
ACT‧‧‧啟動信號
ACTIVE‧‧‧啟用
ADDR‧‧‧位址
CAL‧‧‧命令位址延遲
CS‧‧‧晶片選擇信號線
CK‧‧‧時脈
CMD‧‧‧命令
CMD/ADDR_BUS‧‧‧控制匯流排
DATA_BUS‧‧‧資料匯流排
DQ‧‧‧資料焊盤
EMG‧‧‧應急電源
HOST_VDD‧‧‧主機的電源
HOST_CMD/ADD_BUS‧‧‧主機控制匯流排
HOST_VSS‧‧‧主機的電源
NOP‧‧‧非操作狀態
MRS‧‧‧模式暫存器設置命令
PRECHARGE‧‧‧預充電
PCG‧‧‧預充電操作
RD‧‧‧讀取操作
READ‧‧‧讀取
REFRESH‧‧‧刷新
S1110~S1190‧‧‧步驟
S1210~S1280‧‧‧步驟
tRP‧‧‧行預充電時間
tRCD‧‧‧行位址到列位址的延遲時間
VM‧‧‧揮發性記憶體
WT‧‧‧寫入操作
WRITE‧‧‧寫入
[圖1A及圖1B]圖1A及圖1B是示出根據習知技術的控制器及記憶體裝置之間的匯流排連接的示例的方塊圖。 [圖2]是輔助描述揮發性記憶體裝置中PDA模式下模式暫存器設置(mode register set,MRS)的操作的時序圖的示例。 [圖3]是輔助描述揮發性記憶體裝置的命令位址延時(CAL)的時序圖的示例。 [圖4]是示出根據實施例的雙列直插式記憶體模組(DIMM, dual in-line memory module)的基本配置的方塊圖。 [圖5]是輔助描述圖4所示的DIMM的操作的流程圖的示例。 [圖6]是輔助描述圖5的操作512及513的時序圖的示例。 [圖7]是輔助描述圖5的操作521及522的時序圖的示例。 [圖8]是輔助描述當揮發性記憶體裝置410_0及410_1的命令地址延時CAL的值之差dCAL等於或大於tRCD且小於tRP時的優點的時序圖的示例。 [圖9]是示出根據實施例的非揮發性雙列直插式記憶體模組(NVDIMM, nonvolatile dual in-line memory module)的示例的配置簡圖。 [圖10]是示出根據另一實施例的NVDIMM的示例的配置簡圖。 [圖11]是輔助描述根據實施例的NVDIMM中備份操作的流程圖的示例。 [圖12]是輔助描述根據實施例的NVDIMM中恢復操作的流程圖的示例。
9‧‧‧主機的記憶體控制器
10‧‧‧輔助電源
900‧‧‧非揮發性雙列直插式記憶體模組
911~914‧‧‧第一組揮發性記憶體裝置
921~924‧‧‧第二組揮發性記憶體裝置
930‧‧‧非揮發性記憶體裝置
940‧‧‧控制器
950‧‧‧暫存器
960‧‧‧電源故障檢測器
DATA_BUS‧‧‧資料匯流排
DQ‧‧‧資料焊盤
HOST_VDD‧‧‧主機的電源
HOST_CMD/ADD_BUS‧‧‧主機控制匯流排
HOST_VSS‧‧‧主機的電源
VM‧‧‧揮發性記憶體
Claims (23)
- 一種非揮發性記憶體模組,其包括: 多個揮發性記憶體裝置,其適於共用通過其傳輸資料的資料匯流排及通過其傳輸命令及位址的控制匯流排; 至少一個非揮發性記憶體裝置;以及 控制器,其包括備份邏輯,當檢測到主機的電源故障或由所述主機的記憶體控制器指示備份操作時,所述備份邏輯將在所述多個揮發性記憶體裝置中儲存的資料備份, 其中所述備份邏輯將所述多個揮發性記憶體裝置中的一個的命令位址延時即CAL設置為第一值,並將剩餘揮發性記憶體裝置的命令位址延時設置為不同於所述第一值的第二值。
- 如1所述的非揮發性記憶體模組,其中所述第二值大於所述第一值,並且所述第二值及所述第一值之差等於或大於行地址與列地址的延遲時間(tRCD:RAS到CAS延時)。
- 如2所述的非揮發性記憶體模組,其中所述第二值及所述第一值之差小於行預充電時間(tRP, row precharge time)。
- 如1所述的非揮發性記憶體模組,其中所述備份邏輯包括: 適於當對所述非揮發性記憶體裝置的記憶體頁面程式設計時對所述多個揮發性記憶體裝置執行均勻分佈刷新週期的分散式刷新操作的邏輯; 適於當所述非揮發性記憶體裝置的新記憶體頁面被準備並寫入時,在其中所述多個揮發性記憶體裝置使用低於正常電源模式中的功率的低電源模式下操作所述多個揮發性記憶體裝置的邏輯;以及 適於在所述非揮發性記憶體裝置的新記憶體頁面被寫入之後將所述多個揮發性記憶體裝置恢復到所述正常電源模式的邏輯。
- 如2所述的非揮發性記憶體模組,其中所述備份邏輯包括: 適於當對所述非揮發性記憶體裝置的記憶體頁面程式設計時對所述多個揮發性記憶體裝置執行均勻分佈刷新週期的分散式刷新操作的邏輯; 適於當所述非揮發性記憶體裝置的新記憶體頁面被準備並寫入時,在其中所述多個揮發性記憶體裝置使用低於正常電源模式中的功率的低電源模式下操作所述多個揮發性記憶體裝置的邏輯;以及 適於在所述非揮發性記憶體裝置的新記憶體頁面被寫入之後將所述多個揮發性記憶體裝置恢復到所述正常電源模式的邏輯。
- 如3所述的非揮發性記憶體模組,其中所述備份邏輯包括: 適於當對所述非揮發性記憶體裝置的記憶體頁面程式設計時對所述多個揮發性記憶體裝置執行均勻分佈刷新週期的分散式刷新操作的邏輯; 適於當所述非揮發性記憶體裝置的新記憶體頁面被準備並寫入時,在其中所述多個揮發性記憶體裝置使用低於正常電源模式中的功率的低電源模式下操作所述多個揮發性記憶體裝置的邏輯;以及 適於在所述非揮發性記憶體裝置的新記憶體頁面被寫入之後將所述多個揮發性記憶體裝置恢復到所述正常電源模式的邏輯。
- 如1所述的非揮發性記憶體模組, 其中所述控制器進一步包括恢復邏輯,其適於當所述主機的電源恢復至正常狀態時將在所述非揮發性記憶體裝置中備份的資料恢復到所述多個揮發性記憶體裝置,並且 其中所述恢復邏輯將所述多個揮發性記憶體裝置中的一個的命令位址延時即CAL設置為第三值,並將剩餘揮發性記憶體裝置的命令位址延時設置為不同於所述第三值的第四值。
- 如7所述的非揮發性記憶體模組,其中所述第四值大於所述第三值,所述所述第四值及所述第三值之差等於或大於行地址與列地址的延遲時間(tRCD:RAS到CAS延時)。
- 如8所述的非揮發性記憶體模組,其中所述第四值及所述第三值之差小於行預充電時間(tRP)。
- 如7所述的非揮發性記憶體模組,其中所述恢復邏輯包括: 適於在完成從所述非揮發性記憶體裝置到所述多個揮發性記憶體裝置的資料恢復之後,確定所述非揮發性記憶體裝置中是否存在用於資料備份的足夠量的擦除區塊的邏輯; 適於當所述非揮發性記憶體裝置中不存在用於資料備份的足夠量的擦除區塊時擦除新區塊的邏輯;以及 適於當所述非揮發性記憶體裝置中存在用於資料備份的足夠量的擦除區塊時將對所述多個揮發性記憶體裝置的控制從所述控制器改變到所述主機的記憶體控制器的邏輯。
- 如8所述的非揮發性記憶體模組,其中所述恢復邏輯包括: 適於在完成從所述非揮發性記憶體裝置到所述多個揮發性記憶體裝置的資料恢復之後,確定所述非揮發性記憶體裝置中是否存在用於資料備份的足夠量的擦除區塊的邏輯; 適於當所述非揮發性記憶體裝置中不存在用於資料備份的足夠量的擦除區塊時擦除新區塊的邏輯;以及 適於當所述非揮發性記憶體裝置中存在用於資料備份的足夠量的擦除區塊時將對所述多個揮發性記憶體裝置的控制從所述控制器改變到所述主機的記憶體控制器的邏輯。
- 如9所述的非揮發性記憶體模組,其中所述恢復邏輯包括: 適於在完成從所述非揮發性記憶體裝置到所述多個揮發性記憶體裝置的資料恢復之後,確定所述非揮發性記憶體裝置中是否存在用於資料備份的足夠量的擦除區塊的邏輯; 適於當所述非揮發性記憶體裝置中不存在用於資料備份的足夠量的擦除區塊時擦除新區塊的邏輯;以及 適於當所述非揮發性記憶體裝置中存在用於資料備份的足夠量的擦除區塊時將對所述多個揮發性記憶體裝置的控制從所述控制器改變到所述主機的記憶體控制器的邏輯。
- 一種用於操作非揮發性記憶體模組的方法,所述非揮發性記憶體模組包括:共用通過其傳輸資料的資料匯流排及通過其傳輸命令及位址的控制匯流排的多個揮發性記憶體裝置、非揮發性記憶體裝置以及控制器,所述方法包括: 通過主機的記憶體控制器控制所述多個揮發性記憶體裝置; 檢測所述主機的電源故障或接收來自所述主機的記憶體控制器的用於備份操作的指示; 將對所述多個揮發性記憶體裝置的控制從所述主機的記憶體控制器改變到所述控制器; 通過所述控制器將所述多個揮發性記憶體裝置中的一個的命令位址延時即CAL設置為第一值,並通過所述控制器將剩餘揮發性記憶體裝置的命令位址延時設置為不同於所述第一值的第二值; 讀取所述命令位址延時為所述第一值的揮發性記憶體裝置;以及 將讀取的資料備份在所述非揮發性記憶體裝置中。
- 如13所述的方法,其中所述第二值大於所述第一值,並且所述第二值及所述第一值之差等於或大於行地址與列地址的延遲時間(tRCD:RAS到CAS延時)。
- 如14所述的方法,其中所述第二值及所述第一值之差小於行預充電時間(tRP)。
- 如13所述的方法,其中備份讀取的資料包括: 當對所述非揮發性記憶體裝置的記憶體頁面程式設計時對所述多個揮發性記憶體裝置執行均勻分佈刷新週期的分散式刷新操作; 當所述非揮發性記憶體裝置的新記憶體頁面被準備並寫入時,在其中所述多個揮發性記憶體裝置使用低於正常電源模式中的功率的低電源模式下操作所述多個揮發性記憶體裝置;以及 在所述非揮發性記憶體裝置的新記憶體頁面被寫入後將所述多個揮發性記憶體裝置恢復到所述正常電源模式。
- 如13所述的方法,其進一步包括: 檢測所述主機的電源恢復或接收來自所述主機的記憶體控制器的用於恢復操作的指示; 通過所述控制器將所述多個揮發性記憶體裝置中的一個的命令位址延時即CAL設置為第三值,並通過所述控制器將剩餘揮發性記憶體裝置的命令位址延時設置為不同於所述第三值的第四值; 讀取在所述非揮發性記憶體裝置中備份的資料,並將所讀取的資料恢復在所述命令位址延時為所述第三值的揮發性記憶體裝置中;以及 當待恢復的資料剩餘在所述非揮發性記憶體裝置中時反覆運算將CAL設置為所述第三值及所述第四值以及讀取及恢復。
- 如17所述的方法,其中所述第四值大於所述第三值,並且所述第四值及所述第三值之差等於或大於行地址與列地址的延遲時間(tRCD:RAS到CAS延時)。
- 如18所述的方法,其中所述第四值及所述第三值之差小於行預充電時間(tRP)。
- 如17所述的方法,其進一步包括: 確定所述非揮發性記憶體裝置中是否存在用於資料備份的足夠量的擦除區塊; 當在所述非揮發性記憶體裝置中不存在用於資料備份的足夠量的擦除區塊時,擦除新區塊;以及 當所述非揮發性記憶體裝置中存在用於資料備份的足夠量的擦除區塊時,將對所述多個揮發性記憶體裝置的控制從所述控制器改變到所述主機的記憶體控制器。
- 一種非揮發性記憶體模組,其包括: 揮發性記憶體裝置,其適於通過共用資料匯流排儲存從主機提供的資料; 非揮發性記憶體裝置,其適於對在所述揮發性記憶體裝置中儲存的資料備份;以及 控制器其適於在所述主機的電源故障時將所選擇的揮發性記憶體裝置的資料備份在所述非揮發性記憶體裝置中, 其中在備份所述資料中,所述控制器將所選擇的揮發性記憶體裝置中的一個的命令位址延時即CAL設置為第一值,並將所述揮發性記憶體裝置的剩餘揮發性記憶體裝置的命令位址延時設置為第二值。
- 如21所述的非揮發性記憶體模組, 其中在備份所述資料中,所述控制器根據設置為所述第一值及所述第二值的CAL控制各個所述揮發性記憶體裝置以讀取儲存在其中的資料;以及 其中在備份所述資料中,所述控制器控制所述非揮發性記憶體裝置以儲存從所述各個所述揮發性記憶體裝置讀取的資料。
- 如22所述的非揮發性記憶體模組, 其中所述控制器進一步將所述揮發性記憶體裝置中的一個的命令位址延時即CAL設置為第三值,將所述揮發性記憶體裝置的剩餘揮發性記憶體裝置的命令位址延時設置為第四值;以及 其中所述控制器根據設置為所述第三值及所述第四值的CAL進一步控制各個所述揮發性記憶體裝置以恢復在所述非揮發性記憶體裝置中備份的資料。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160036644A KR102535738B1 (ko) | 2016-03-28 | 2016-03-28 | 비휘발성 듀얼 인 라인 메모리 시스템, 메모리 모듈, 및 메모리 모듈의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201734813A true TW201734813A (zh) | 2017-10-01 |
Family
ID=59898911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105125717A TW201734813A (zh) | 2016-03-28 | 2016-08-12 | 非揮發性雙列直插式記憶體模組及其操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10083090B2 (zh) |
KR (1) | KR102535738B1 (zh) |
CN (1) | CN107239367B (zh) |
TW (1) | TW201734813A (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102353859B1 (ko) * | 2017-11-01 | 2022-01-19 | 삼성전자주식회사 | 컴퓨팅 장치 및 비휘발성 듀얼 인라인 메모리 모듈 |
CN108647115A (zh) * | 2018-04-12 | 2018-10-12 | 郑州云海信息技术有限公司 | 一种实现非易失性内存芯片数据保护的方法及系统 |
CN108806737A (zh) * | 2018-06-14 | 2018-11-13 | 深圳市爱协生科技有限公司 | 芯片内数据处理方法、模块、芯片及计算机设备 |
US10789015B2 (en) * | 2019-03-01 | 2020-09-29 | Micron Technology, Inc. | Background operations in memory |
CN110018929B (zh) * | 2019-04-11 | 2020-11-10 | 苏州浪潮智能科技有限公司 | 一种数据备份方法、装置、设备及存储介质 |
FR3096490A1 (fr) * | 2019-06-28 | 2020-11-27 | Orange | Procédé itératif et dispositif de détection d’une zone approximative occupée par le code informatique d’un noyau d’un système d’exploitation dans une mémoire |
CN110286860B (zh) * | 2019-06-28 | 2021-06-15 | 联想(北京)有限公司 | 信息处理方法、信息处理系统和电子设备 |
US11176986B2 (en) | 2019-12-30 | 2021-11-16 | Advanced Micro Devices, Inc. | Memory context restore, reduction of boot time of a system on a chip by reducing double data rate memory training |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6453370B1 (en) * | 1998-11-16 | 2002-09-17 | Infineion Technologies Ag | Using of bank tag registers to avoid a background operation collision in memory systems |
US6963516B2 (en) * | 2002-11-27 | 2005-11-08 | International Business Machines Corporation | Dynamic optimization of latency and bandwidth on DRAM interfaces |
US7386687B2 (en) * | 2005-01-07 | 2008-06-10 | Sony Computer Entertainment Inc. | Methods and apparatus for managing a shared memory in a multi-processor system |
US20070260841A1 (en) | 2006-05-02 | 2007-11-08 | Hampel Craig E | Memory module with reduced access granularity |
US8874831B2 (en) | 2007-06-01 | 2014-10-28 | Netlist, Inc. | Flash-DRAM hybrid memory module |
US7865679B2 (en) * | 2007-07-25 | 2011-01-04 | AgigA Tech Inc., 12700 | Power interrupt recovery in a hybrid memory subsystem |
US8325554B2 (en) * | 2008-07-10 | 2012-12-04 | Sanmina-Sci Corporation | Battery-less cache memory module with integrated backup |
JP4930555B2 (ja) | 2009-07-09 | 2012-05-16 | 富士通株式会社 | 制御装置、制御方法およびストレージシステム |
WO2012049705A1 (en) * | 2010-10-12 | 2012-04-19 | Hitachi, Ltd. | Memory data backup system and memory data backup control method |
US8687451B2 (en) * | 2011-07-26 | 2014-04-01 | Inphi Corporation | Power management in semiconductor memory system |
KR20150120558A (ko) * | 2014-04-17 | 2015-10-28 | 에스케이하이닉스 주식회사 | 휘발성 메모리 장치, 이를 포함하는 메모리 모듈 및 메모리 모듈의 동작 방법 |
KR20150133350A (ko) * | 2014-05-19 | 2015-11-30 | 에스케이하이닉스 주식회사 | 메모리 모듈 및 이의 동작 방법 |
KR20150145465A (ko) * | 2014-06-19 | 2015-12-30 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
KR102076196B1 (ko) * | 2015-04-14 | 2020-02-12 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 모듈 및 메모리 모듈의 동작 방법 |
-
2016
- 2016-03-28 KR KR1020160036644A patent/KR102535738B1/ko active IP Right Grant
- 2016-08-12 TW TW105125717A patent/TW201734813A/zh unknown
- 2016-08-23 US US15/244,849 patent/US10083090B2/en active Active
- 2016-10-14 CN CN201610898904.XA patent/CN107239367B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
KR20170111354A (ko) | 2017-10-12 |
KR102535738B1 (ko) | 2023-05-25 |
US10083090B2 (en) | 2018-09-25 |
US20170277594A1 (en) | 2017-09-28 |
CN107239367A (zh) | 2017-10-10 |
CN107239367B (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107239367B (zh) | 非易失性双列直插式存储器模块及其操作方法 | |
US9471517B1 (en) | Memory system, memory module and method to backup and restore system using command address latency | |
CN107239408B (zh) | 非易失性存储器模块及其操作方法 | |
US7782703B2 (en) | Semiconductor memory having a bank with sub-banks | |
CN107239366B (zh) | 非易失性双列直插式存储器系统的掉电中断 | |
JP7216247B1 (ja) | バンク割り当てを備えたマルチポート不揮発性メモリデバイスおよび関連するシステムおよび方法 | |
CN107239368B (zh) | 非易失性存储器模块及其操作方法 | |
KR20180068095A (ko) | 반도체 장치 및 이를 포함하는 반도체 시스템 | |
US9502095B1 (en) | Memory system | |
US10475486B2 (en) | Electronic devices | |
KR20230109533A (ko) | 인메모리 연산을 위한 메모리 장치, 메모리 모듈, 및 메모리 장치의 동작 방법 | |
JP2020123416A (ja) | 揮発性メモリデバイス及びその揮発性メモリデバイスにおける効率的なデータ移動方法 |