TW201640497A - 記憶體模組、記憶體模組的模組控制器及記憶體模組的操作方法 - Google Patents
記憶體模組、記憶體模組的模組控制器及記憶體模組的操作方法 Download PDFInfo
- Publication number
- TW201640497A TW201640497A TW104130468A TW104130468A TW201640497A TW 201640497 A TW201640497 A TW 201640497A TW 104130468 A TW104130468 A TW 104130468A TW 104130468 A TW104130468 A TW 104130468A TW 201640497 A TW201640497 A TW 201640497A
- Authority
- TW
- Taiwan
- Prior art keywords
- volatile memory
- value
- module
- unit
- memory
- 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
-
- 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
-
- 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
- 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
- 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
- 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/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/205—Hybrid memory, e.g. using both volatile and non-volatile memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
Abstract
一種用於記憶體模組的操作方法,該方法包括:與主機通訊;從主機接收備份指令;讀取揮發性記憶體的設置值並將讀取的設置值儲存作為第一儲存值;將適用於備份操作的設置值設置在揮發性記憶體中;透過將儲存在揮發性記憶體中的資料儲存在非揮發性記憶體中來執行備份操作;將第一儲存值設置在揮發性記憶體中;以及恢復與主機的通訊。
Description
本發明的示例性實施例關於一種記憶體模組、記憶體模組的模組控制器及記憶體模組的操作方法。
本申請要求2015年5月7日提交的申請號為10-2015-0063584的韓國專利申請的優先權,其全部內容透過引用合併於此。
一般地,在資料處理系統(諸如,個人電腦(PC)、工作站、伺服器電腦或通訊系統)中,包括已經安裝在模組板上的多個記憶體晶片的記憶體模組被用作記憶體以用於儲存資料。
安裝在大多數用在資料處理系統中的記憶體模組上的記憶體晶片是揮發性記憶體,例如,DRAM。雖然揮發性記憶體能夠高速操作,但是其具有在電源中斷時資料丟失的特性。為了防止揮發性記憶體的資料丟失,最近已經出現了使用非揮發性雙列直插式記憶體模組(non-volatile dual in line memory module,NVDIMM)的記憶體模組。非揮發性記憶體與揮發性記憶體一起安裝在NVDIMM上。在這種記憶體模組中,在主機的電源故障期間,透過使用輔助電源將揮發性記憶體的資料備份至非揮發性記憶體來防止資料丟失。
各種實施例針對一種能夠備份並恢復揮發性記憶體的資料的包括非揮發性記憶體的記憶體模組,以及記憶體模組的操作方法。
在實施例中,一種包括揮發性記憶體、非揮發性記憶體和模組控制器的記憶體模組的操作方法可以包括:透過揮發性記憶體來與主機通訊;透過模組控制器來從主機接收備份指令;透過模組控制器來讀取揮發性記憶體的設置值,並且將讀取的設置值儲存作為第一儲存值;透過模組控制器來將適用於備份操作的設置值設置在揮發性記憶體中;透過將儲存在揮發性記憶體中的資料儲存在非揮發性記憶體中來透過模組控制器執行備份操作;透過模組控制器來將第一儲存值設置在揮發性記憶體中;以及透過揮發性記憶體來恢復與主機的通訊。
記憶體模組還可以包括暫存器,暫存器適用於緩衝來自主機的指令和位址並且將指令和位址傳送至揮發性記憶體。操作方法還可以包括:透過模組控制器來讀取暫存器的設置值,並且將讀取的設置值儲存作為第二儲存值;以及在接收備份指令與執行備份操作之間,透過模組控制器來將適用於備份操作的設置值設置在暫存器中。
操作方法還可以包括:在執行備份操作與恢復通訊之間,透過模組控制器來將第二儲存值設置在暫存器中。
在恢復通訊之後,操作方法還可以包括:從主機接收恢復指令;透過模組控制器來將適用於恢復操作的設置值設置在揮發性記憶體中;透過將儲存在非揮發性記憶體中的資料儲存在揮發性記憶體中來透過模組控制器執行恢復操作;以及透過模組控制器來將第一儲存值設置在揮發性記憶體中。
在實施例中,一種記憶體模組可以包括:揮發性記憶體;非揮發性記憶體;以及模組控制器,適用於:回應於來自主機的備份指令來讀取揮發性記憶體的設置值;將讀取的設置值儲存作為第一儲存值;將適用於備份操作的設置值設置在揮發性記憶體中;透過將揮發性記憶體的資料儲存在非揮發性記憶體中來執行備份操作;以及在備份操作完成之後,將第一儲存值設置在揮發性記憶體中。
回應於來自主機的恢復指令,模組控制器還可以適用於:將適用於恢復操作的設置值設置在揮發性記憶體中;透過將非揮發性記憶體的資料儲存至揮發性記憶體來執行恢復操作;以及在恢復操作完成之後,將第一儲存值設置在揮發性記憶體中。
記憶體模組還包括暫存器,暫存器適用於緩衝來自主機的指令和位址,並將指令和位址傳送至揮發性記憶體。回應於備份指令,模組控制器還適用於:讀取暫存器的設置值,並將讀取的設置值儲存作為第二儲存值;將適用於備份操作的值設置在暫存器中;以及在備份操作完成之後,將第二儲存值設置在暫存器中。回應於恢復指令,記憶體模組控制器還可以適用於:將適用於恢復操作的值設置在暫存器中;以及在恢復操作完成之後,將第二儲存值設置在暫存器中。
在實施例中,一種記憶體模組的模組控制器可以包括:揮發性記憶體介面;非揮發性記憶體介面;設置值儲存單元;以及控制邏輯,適用於:回應於來自主機的備份指令而透過揮發性記憶體介面來讀取揮發性記憶體的設置值;將讀取的設置值儲存在設置值儲存單元中作為第一儲存值;透過揮發性記憶體介面來將適用於備份操作的值設置在揮發性記憶體中;透過經由揮發性
記憶體介面讀取揮發性記憶體的資料來執行備份操作,以及透過非揮發性記憶體介面來將讀取的資料儲存在非揮發性記憶體中;以及在備份操作完成之後,透過揮發性記憶體介面來將儲存在設置值儲存單元中的第一儲存值設置在揮發性記憶體中。
模組控制器還可以包括系統管理匯流排接收單元;以及系統管理匯流排發送單元。回應於備份指令,控制邏輯還可以適用於:透過系統管理匯流排接收單元來讀取暫存器的設置值;將讀取的設置值儲存在設置值儲存單元中作為第二儲存值;以及在備份操作完成之後,透過系統管理匯流排發送單元來將儲存在設置值儲存單元中的第二儲存值設置在暫存器中。
回應於恢復指令,控制邏輯還可以適用於:透過揮發性記憶體介面來將適用於恢復操作的值設置在揮發性記憶體中;透過系統管理匯流排發送單元來將適用於恢復操作的值設置在暫存器中;透過非揮發性記憶體介面來讀取非揮發性記憶體的資料;透過揮發性記憶體介面來將讀取資料儲存在揮發性記憶體中;在恢復操作完成之後,透過揮發性記憶體介面來將儲存在設置值儲存單元中的第一儲存值設置在揮發性記憶體中;以及透過系統管理匯流排發送單元來將儲存在設置值儲存單元中的第二儲存值設置在暫存器中。
在實施例中,一種包括揮發性記憶體單元和非揮發性記憶體單元的記憶體模組的操作方法可以包括:保持用於揮發性記憶體單元的正常操作的設置值;將揮發性記憶體單元設置為適用於備份操作;透過將資料從揮發性記憶體單元傳送至非揮發性記憶體單元來執行備份操作;以及透過使用保持的設置值來將揮發性記憶體單元設置為適用於正常操作。
在實施例中,一種包括揮發性記憶體單元和非揮發性記憶體單
元的記憶體模組的操作方法可以包括:保持用於揮發性記憶體單元的正常操作的設置值;將揮發性記憶體單元設置為適用於恢復操作;透過將備份的資料從非揮發性記憶體單元傳送至揮發性記憶體單元來執行恢復操作;以及透過使用保持的設置值來將揮發性記憶體單元設置為適用於正常操作。
在實施例中,一種記憶體模組可以包括:揮發性記憶體單元;非揮發性記憶體單元;以及模組控制器,適用於:保持用於揮發性記憶體單元的正常操作的設置值;將揮發性記憶體單元設置為適用於備份操作;透過將資料從揮發性記憶體單元傳送至非揮發性記憶體單元來執行備份操作;以及透過使用保持的設置值來將揮發性記憶體單元設置為適用於正常操作。
揮發性記憶體單元可以包括:一個或更多個揮發性記憶體;以及暫存器,適用於在外部與揮發性記憶體之間緩衝以及傳送指令和資料。模組控制器可以包括:揮發性記憶體介面,適用於在模組控制器與揮發性記憶體之間傳送指令和資料;非揮發性記憶體介面,適用於在模組控制器與非揮發性記憶體單元之間傳送指令和資料;設置值儲存單元,適用於保持用於正常操作的設置值;以及系統管理匯流排單元,適用於在模組控制器與暫存器之間傳送指令和資料。
在實施例中,一種記憶體模組可以包括:揮發性記憶體單元;非揮發性記憶體單元;以及模組控制器,適用於:保持用於揮發性記憶體單元的正常操作的設置值;將揮發性記憶體單元設置為適用於恢復操作;透過將備份的資料從非揮發性記憶體單元傳送至揮發性記憶體單元來執行恢復操作;以及透過使用保持的設置值來將揮發性記憶體單元設置為適用於正常操作。
1‧‧‧記憶體控制器
100‧‧‧記憶體模組
110‧‧‧揮發性記憶體
120‧‧‧非揮發性記憶體
130‧‧‧模組控制器
140‧‧‧暫存器
151‧‧‧第一多工器(MUX1)
152‧‧‧第二多工器(MUX2)
160‧‧‧串列存在檢測器(SPD)
210‧‧‧控制邏輯
220‧‧‧揮發性記憶體介面(I/F)
230‧‧‧非揮發性記憶體介面(I/F)
241‧‧‧系統管理匯流排接收(SMBUS RX)單元
242‧‧‧系統管理匯流排發送(SMBUS TX)單元
250‧‧‧設置值儲存單元
CTRL‧‧‧控制訊號
CTRL_HOST‧‧‧控制匯流排
CTRL_MODULE‧‧‧控制匯流排
DATA‧‧‧資料匯流排
DATA_HOST‧‧‧資料匯流排
DATA_MODULE‧‧‧資料匯流排
SMBUS‧‧‧系統管理匯流排
S301~S319‧‧‧步驟
S401~S417‧‧‧步驟
〔圖1〕是圖示根據本發明的實施例的記憶體模組的方塊圖。
〔圖2〕是圖示圖1中示出的模組控制器的方塊圖。
〔圖3〕是圖示圖1中示出的記憶體模組的備份操作的流程圖。
〔圖4〕是圖示圖1中示出的記憶體模組的恢復操作的流程圖。
下面將參照附圖來更詳細地描述各種實施例。然而,本發明可以以不同的形式來體現並且不應該被解釋為局限於本文中所闡述的實施例。更確切地說,這些實施例被提供,使得本公開將是徹底和完整的,且將把本發明的範圍充分地傳達給本領域技術人員。貫穿本公開,相同的元件符號在本發明的各種附圖和實施例中始終指代相同的部分。
圖1是圖示根據本發明的實施例的記憶體模組100的方塊圖。
參照圖1,記憶體模組100可以包括揮發性記憶體110、非揮發性記憶體120、模組控制器130、暫存器140、第一多工器(MUX1)151、第二多工器(MUX2)152和串列存在檢測器(serial presence detector,SPD)160。圖1也示出了主機的記憶體控制器1。
用於控制揮發性記憶體110的指令、位址和時脈可以分別透過控制匯流排CTRL_HOST和CTRL_MODULE來從記憶體控制器1和模組控制器130傳送。揮發性記憶體110的讀取資料和寫入資料可以分別透過資料匯流排DATA_HOST和DATA_MODULE來傳送至記憶體控制器1和模組控制器130。
第一多工器151可以在正常操作期間透過控制匯流排
CTRL_HOST來將記憶體控制器1耦接至暫存器140,以及在備份操作或恢復操作期間透過控制匯流排CTRL_MODULE來將模組控制器130耦接至暫存器140。第一多工器151可以在模組控制器130的控制下操作。第二多工器152可以在正常操作期間透過資料匯流排DATA_HOST來將記憶體控制器1耦接至揮發性記憶體110,以及在備份操作或恢復操作期間透過資料匯流排DATA_MODULE來將模組控制器130耦接至揮發性記憶體110。第二多工器152可以在模組控制器130的控制下操作。
正常操作可以表示揮發性記憶體110與記憶體控制器1之間的資料通訊。備份操作可以表示從揮發性記憶體110至非揮發性記憶體120的資料傳送。恢復操作可以表示從非揮發性記憶體120至揮發性記憶體110的資料傳送。
暫存器140可以緩衝透過第一多工器151而從記憶體控制器1和模組控制器130提供的訊號,並且將緩衝的訊號提供給揮發性記憶體110。暫存器140可以是暫存器時脈驅動器(register clock driver,RCD)。
揮發性記憶體110可以由被暫存器140緩衝的控制訊號CTRL來控制,並且可以透過資料匯流排DATA和第二多工器152來執行與記憶體控制器1和模組控制器130的資料通訊。結果,揮發性記憶體110可以在正常操作期間與記憶體控制器1通訊,以及可以在備份操作或恢復操作期間與模組控制器130通訊。揮發性記憶體110可以是DRAM。圖1示例性地示出單塊揮發性記憶體110,揮發性記憶體110的數目可以根據設計而改變。
非揮發性記憶體120可以在備份操作或恢復操作期間與模組控制器130通訊,並且可以在模組控制器130的控制下執行讀取操作和寫入操作。
非揮發性記憶體120可以是NAND快閃記憶體,本發明將不局限於此。非揮發性記憶體120可以是所有類型的非揮發性記憶體(例如,NOR快閃記憶體、電阻式RAM(RRAM)、相變RAM(PRAM)、磁性RAM(MRAM)和自旋轉移力矩MRAM(STT-MRAM))中的一種或更多種。圖1示例性地示出單塊非揮發性記憶體120,非揮發性記憶體120的數目可以根據設計而改變。
SPD 160可以儲存關於記憶體模組100的資訊,例如,關於包括在記憶體模組100中的記憶體的類型和容量的資訊。此外,SPD 160可以將透過系統管理匯流排SMBUS來將關於記憶體模組100的資訊傳送至記憶體控制器1,該系統管理匯流排SMBUS將記憶體控制器1與SPD 160耦接,將記憶體控制器1與模組控制器130耦接,以及將模組控制器130與暫存器140耦接。
模組控制器130可以分別回應於透過系統管理匯流排SMBUS而從記憶體控制器1提供的備份指令和恢復指令來控制備份操作和恢復操作。
在備份操作期間,模組控制器130可以將揮發性記憶體110和暫存器140設置為適用於備份操作,並且可以控制從揮發性記憶體110至非揮發性記憶體120的資料傳送。在資料傳送之後,模組控制器130可以將揮發性記憶體110和暫存器140設置為適用於正常操作,並且可以終止備份操作。
在恢復操作期間,模組控制器130可以將揮發性記憶體110和暫存器140設置為適用於恢復操作,並且可以控制從非揮發性記憶體120至揮發性記憶體110的資料傳送。在資料傳送之後,模組控制器130可以將揮發性記憶體110和暫存器140設置為適用於正常操作,並且可以終止恢復操作。
將參照圖3至圖4來描述記憶體模組100的備份操作和恢復操作。
圖2是圖示圖1中示出的模組控制器130的方塊圖。
參照圖2,模組控制器130可以包括控制邏輯210、揮發性記憶體介面(I/F)220、非揮發性記憶體I/F 230、系統管理匯流排接收(SMBUS RX)單元241、系統管理匯流排發送(SMBUS TX)單元242以及設置值儲存單元250。
揮發性記憶體I/F 220可以是用於與揮發性記憶體110通訊的介面。當揮發性記憶體110是DRAM時,揮發性記憶體I/F 220可以遵守JEDEC標準。
非揮發性記憶體I/F 230可以是用於與非揮發性記憶體120通訊的介面。當非揮發性記憶體120是NAND快閃記憶體時,非揮發性記憶體I/F 230可以遵守各種快閃記憶體標準中的一種或更多種。
SMBUS RX單元241可以透過系統管理匯流排SMBUS來從記憶體控制器1和暫存器140接收資訊。例如,SMBUS RX單元241可以透過系統管理匯流排SMBUS來從記憶體控制器1接收備份指令和恢復指令。此外,SMBUS RX單元241可以透過系統管理匯流排SMBUS來從暫存器140接收暫存器140的設置資訊。SMBUS TX單元242可以透過系統管理匯流排SMBUS來將資訊發送到暫存器140。例如,模組控制器130可以透過系統管理匯流排SMBUS來將暫存器140的設置資訊發送至暫存器140。
設置值儲存單元250可以在備份操作和恢復操作期間儲存揮發性記憶體110和暫存器140的用於正常操作的設置值。
控制邏輯210可以針對備份操作和恢復操作來控制揮發性記憶體I/F 220、非揮發性記憶體I/F 230、SMBUS RX單元241、SMBUS TX單元242
以及設置值儲存單元250。
圖3是圖示圖1中示出的記憶體模組130的備份操作的流程圖。
參照圖3,在步驟S301處,在正常操作期間,記憶體控制器1和揮發性記憶體110可以彼此通訊。揮發性記憶體110可以在記憶體控制器1的控制下執行操作(諸如,讀取操作和寫入操作)。
在步驟S303處,記憶體控制器1可以透過系統管理匯流排SMBUS來將用於備份操作的備份指令提供給模組控制器130。
在步驟S305處,回應於備份指令的模組控制器130可以讀取揮發性記憶體110的設置值,並且將讀取的設置值儲存在設置值儲存單元250中作為第一設置值。第一設置值可以包括用於揮發性記憶體110的正常操作的各種定時參數和電壓的值(諸如,寫入延遲和讀取延遲)。模組控制器130可以透過控制匯流排CTRL_MODULE來將用來讀取模式暫存器設置(mode register set,MRS)值的指令提供給揮發性記憶體110,並且可以透過資料匯流排DATA_MODULE來接收揮發性記憶體110的設置值。
在步驟S307處,模組控制器130可以讀取暫存器140的設置值,並且將讀取的設置值儲存在設置值儲存單元250中作為第二設置值。第二設置值可以包括用於暫存器140的正常操作的各種定時參數和電壓的值。模組控制器130可以透過系統管理匯流排SMBUS來將配置暫存器讀取指令提供給暫存器140,並且可以透過系統管理匯流排SMBUS來接收暫存器140的設置值。
在步驟S309處,模組控制器130可以為揮發性記憶體110設置設置值,使得揮發性記憶體110適用於備份操作。在正常操作期間,揮發性記憶體110可以與記憶體控制器1高速通訊。與此相反,在備份操作期間,資料
可以從揮發性記憶體110傳送至非揮發性記憶體120,因為非揮發性記憶體120以比揮發性記憶體110低的速度工作,因此揮發性記憶體110可以低速地工作以便與非揮發性記憶體120同步。因此,在備份操作期間,需要根據非揮發性記憶體120的低速操作來設置揮發性記憶體110的各種定時參數和電壓。可以在步驟S309處執行這種設置。模組控制器130可以透過經由控制匯流排CTRL_MODULE、第一多工器151和暫存器140將MRS指令和設置值提供至揮發性記憶體110來執行設置揮發性記憶體110以用於備份操作。
在步驟S311處,模組控制器130可以為暫存器140設置設置值,使得暫存器140適用於備份操作。在正常操作期間,暫存器140可以高速工作。然而,暫存器140可以在備份操作期間低速操作。因此,在備份操作期間,需要根據非揮發性記憶體120的低速操作來設置暫存器140。在步驟S311處可以執行這種設置。模組控制器130可以透過系統管理匯流排SMBUS來執行設置暫存器140以用於備份操作。
在步驟S313處,可以執行備份操作。模組控制器130可以使用揮發性記憶體I/F 220來讀取揮發性記憶體110的資料,以及使用非揮發性記憶體I/F 230來將讀取的資料儲存在非揮發性記憶體120中。
在備份操作完成之後,模組控制器130可以分別在步驟S315和步驟S317處將儲存在設置值儲存單元250中的第一設置值和第二設置值設置給揮發性記憶體110和暫存器140。揮發性記憶體110和暫存器140可以因步驟S315和步驟S317而被重置為適用於高速的正常操作。
在步驟S319處,可以在記憶體控制器1與揮發性記憶體110之間恢復正常操作。
參照圖3,模組控制器130可以在備份操作完成之後將揮發性記憶體110和暫存器140的設置值恢復為它們的原始值以用於正常操作。因此,揮發性記憶體110和暫存器140可以與記憶體控制器1正常通訊。
圖4是圖示圖1中示出的記憶體模組130的恢復操作的流程圖。恢復操作可以在參照圖3而描述的備份操作之後開始。
在步驟S401處,記憶體控制器1可以透過系統管理匯流排SMBUS來將用於恢復操作的恢復指令提供給模組控制器130。
在步驟S403和步驟S405處,回應於恢復指令的模組控制器130可以執行與參照圖3描述的步驟S305和步驟S307相同的操作,以用於備份揮發性記憶體110和暫存器140的用於正常操作的設置值。當設置值儲存單元250保持步驟S305和步驟S307的第一設置值和第二設置值時,可以省略步驟S403和步驟S405。
在步驟S407和步驟S409處,模組控制器130可以為揮發性記憶體110和暫存器140設置設置值,使得揮發性記憶體110和暫存器140適用於恢復操作,除了對備份操作和恢復操作的適用性之外,這與參照圖3而描述的步驟S309和步驟S311相同。由於與步驟S309和步驟S311相同的理由,因此可以執行步驟S407和步驟S409。
在步驟S411處,可以執行恢復操作。模組控制器130可以使用非揮發性記憶體I/F 230來讀取非揮發性記憶體120的資料,以及使用揮發性記憶體I/F 220來將讀取的資料寫入揮發性記憶體110中。
在恢復操作完成之後,在步驟S413和步驟S415處,模組控制器130可以執行與參照圖3而描述的步驟S315和步驟S317相同的操作。揮發
性記憶體110和暫存器140可以因步驟S413和步驟S415而被重置為適用於高速的正常操作。
在步驟S417處,可以在記憶體控制器1與揮發性記憶體110之間恢復正常操作。
參照圖4,模組控制器130可以在恢復操作完成之後將揮發性記憶體110和暫存器140的設置值恢復為它們的原始值以用於正常操作。因此,揮發性記憶體110和暫存器140可以與記憶體控制器1正常通訊。
根據本發明的實施例,包括揮發性記憶體和非揮發性記憶體的記憶體模組可以回應於來自主機的指令來執行備份操作和恢復操作以及正常操作。
雖然已經出於說明的目的而描述了各種實施例,但是對於本領域技術人員來說將明顯的是,在不脫離如所附請求項限定的本發明的精神和範圍的情況下,可以做出各種改變和變型。
1‧‧‧記憶體控制器
100‧‧‧記憶體模組
110‧‧‧揮發性記憶體
120‧‧‧非揮發性記憶體
130‧‧‧模組控制器
140‧‧‧暫存器
151‧‧‧第一多工器(MUX1)
152‧‧‧第二多工器(MUX2)
160‧‧‧串列存在檢測器(SPD)
CTRL‧‧‧控制訊號
CTRL_HOST‧‧‧控制匯流排
CTRL_MODULE‧‧‧控制匯流排
DATA‧‧‧資料匯流排
DATA_HOST‧‧‧資料匯流排
DATA_MODULE‧‧‧資料匯流排
SMBUS‧‧‧系統管理匯流排
Claims (20)
- 一種記憶體模組的操作方法,該記憶體模組包括揮發性記憶體、非揮發性記憶體和模組控制器,該操作方法包括:透過揮發性記憶體來與主機通訊;透過模組控制器來從主機接收備份指令;透過模組控制器來讀取揮發性記憶體的設置值,並且將讀取的設置值儲存作為第一儲存值;透過模組控制器來將適用於備份操作的設置值設置在揮發性記憶體中;透過模組控制器將儲存在揮發性記憶體中的資料儲存在非揮發性記憶體中來執行備份操作;透過模組控制器來將第一儲存值設置在揮發性記憶體中;以及透過揮發性記憶體來恢復與主機的通訊。
- 如請求項1所述的操作方法,其中,記憶體模組還包括暫存器,該暫存器適用於緩衝來自主機的指令和位址並且將該指令和該位址傳送至揮發性記憶體,以及該操作方法還包括:透過模組控制器來讀取暫存器的設置值,並且將讀取的設置值儲存作為第二儲存值;以及在接收備份指令與執行備份操作之間,透過模組控制器來將適用於備份操作的設置值設置在暫存器中。
- 如請求項2所述的操作方法,還包括: 在執行備份操作與恢復通訊之間,透過模組控制器來將第二儲存值設置在暫存器中。
- 如請求項1所述的操作方法,還包括:在恢復通訊之後,從主機接收恢復指令;透過模組控制器來將適用於恢復操作的設置值設置在揮發性記憶體中;透過將儲存在非揮發性記憶體中的資料儲存在揮發性記憶體中來透過模組控制器執行恢復操作;以及透過模組控制器來將第一儲存值設置在揮發性記憶體中。
- 如請求項3所述的操作方法,還包括:在恢復通訊之後,從主機接收恢復指令;透過模組控制器來將適用於恢復操作的設置值設置在揮發性記憶體中;透過模組控制器來將適用於恢復操作的設置值設置在暫存器中;透過將儲存在非揮發性記憶體中的資料儲存在揮發性記憶體中來透過模組控制器執行恢復操作;透過模組控制器來將第一儲存值設置在揮發性記憶體中;以及透過模組控制器來將第二儲存值設置在暫存器中。
- 一種記憶體模組,包括:揮發性記憶體;非揮發性記憶體;以及模組控制器,適用於: 回應於來自主機的備份指令來讀取揮發性記憶體的設置值;將讀取的設置值儲存作為第一儲存值;將適用於備份操作的設置值設置在揮發性記憶體中;透過將揮發性記憶體的資料儲存在非揮發性記憶體中來執行備份操作;以及在備份操作完成之後,將第一儲存值設置在揮發性記憶體中。
- 如請求項6所述的記憶體模組,其中,回應於來自主機的恢復指令,模組控制器還適用於:將適用於恢復操作的設置值設置在揮發性記憶體中;透過將非揮發性記憶體的資料儲存至揮發性記憶體來執行恢復操作;以及在恢復操作完成之後,將第一儲存值設置在揮發性記憶體中。
- 如請求項6所述的記憶體模組,還包括暫存器,暫存器適用於緩衝來自主機的指令和位址,並將該指令和該位址傳送至揮發性記憶體,其中,回應於備份指令,模組控制器還適用於:讀取暫存器的設置值,並將讀取的設置值儲存作為第二儲存值;將適用於備份操作的值設置在暫存器中;以及在備份操作完成之後,將第二儲存值設置在暫存器中。
- 如請求項7所述的記憶體模組,還包括暫存器,暫存器適用於緩衝來自主機的指令和位址,並將該指令和該位址傳送至揮發性記憶體, 其中,回應於備份指令,模組控制器還適用於:讀取暫存器的設置值,並將讀取的設置值儲存作為第二儲存值;將適用於備份操作的值設置在暫存器中;在備份操作完成之後,將第二儲存值設置在暫存器中;以及其中,回應於恢復指令,記憶體模組控制器還適用於:將適用於恢復操作的值設置在暫存器中;以及在恢復操作完成之後,將第二儲存值設置在暫存器中。
- 如請求項8所述的記憶體模組,其中,記憶體模組控制器透過揮發性記憶體協定來與揮發性記憶體通訊,以及其中,記憶體模組控制器透過系統管理匯流排來與暫存器通訊。
- 一種記憶體模組的模組控制器,包括:揮發性記憶體介面;非揮發性記憶體介面;設置值儲存單元;以及控制邏輯,適用於:回應於來自主機的備份指令而透過揮發性記憶體介面來讀取揮發性記憶體的設置值;將讀取的設置值儲存在設置值儲存單元中作為第一儲存值;透過揮發性記憶體介面來將適用於備份操作的值設置在揮發性記憶體中; 透過經由揮發性記憶體介面讀取揮發性記憶體的資料來執行備份操作,以及透過非揮發性記憶體介面來將讀取的資料儲存在非揮發性記憶體中;以及在備份操作完成之後,透過揮發性記憶體介面來將儲存在設置值儲存單元中的第一儲存值設置在揮發性記憶體中。
- 如請求項11所述的模組控制器,還包括:系統管理匯流排接收單元;以及系統管理匯流排發送單元,其中,回應於備份指令,控制邏輯還適用於:透過系統管理匯流排接收單元來讀取暫存器的設置值;將讀取的設置值儲存在設置值儲存單元中作為第二儲存值;以及在備份操作完成之後,透過系統管理匯流排發送單元來將儲存在設置值儲存單元中的第二儲存值設置在暫存器中。
- 如請求項12所述的模組控制器,其中,回應於恢復指令,控制邏輯還適用於:透過揮發性記憶體介面來將適用於恢復操作的值儲存在揮發性記憶體中;透過系統管理匯流排發送單元來將適用於恢復操作的值設置在暫存器中;透過非揮發性記憶體介面來讀取非揮發性記憶體的資料;透過揮發性記憶體介面來將讀取的資料儲存在揮發性記憶體中;在恢復操作完成之後,透過揮發性記憶體介面來將儲存在設置值儲存單元中的第一儲存值設置在揮發性記憶體中;以及 透過系統管理匯流排發送單元來將儲存在設置值儲存單元中的第二儲存值設置在暫存器中。
- 如請求項12所述的模組控制器,其中,備份指令透過系統管理匯流排接收單元來提供。
- 如請求項13所述的模組控制器,其中,恢復指令透過系統管理匯流排接收單元來提供。
- 一種記憶體模組的操作方法,該記憶體模組包括揮發性記憶體單元和非揮發性記憶體單元,該方法包括:保持用於揮發性記憶體單元的正常操作的設置值;將揮發性記憶體單元設置為適用於備份操作;透過將資料從揮發性記憶體單元傳送至非揮發性記憶體單元來執行備份操作;以及透過使用保持的設置值來將揮發性記憶體單元設置為適用於該正常操作。
- 一種記憶體模組的操作方法,該記憶體模組包括揮發性記憶體單元和非揮發性記憶體單元,該方法包括:保持用於揮發性記憶體單元的正常操作的設置值;將揮發性記憶體單元設置為適用於恢復操作;透過將備份的資料從非揮發性記憶體單元傳送至揮發性記憶體單元來執行恢復操作;以及透過使用保持的設置值來將揮發性記憶體單元設置為適用於該正常操作。
- 一種記憶體模組,包括:揮發性記憶體單元;非揮發性記憶體單元;以及模組控制器,適用於:保持用於揮發性記憶體單元的正常操作的設置值;將揮發性記憶體單元設置為適用於備份操作;透過將資料從揮發性記憶體單元傳送至非揮發性記憶體單元來執行備份操作;以及透過使用保持的設置值來將揮發性記憶體單元設置為適用於該正常操作。
- 如請求項18所述的記憶體模組,其中,揮發性記憶體單元包括:一個或更多個揮發性記憶體;以及暫存器,適用於在外部與揮發性記憶體之間緩衝以及傳送指令和資料,以及其中,模組控制器包括:揮發性記憶體介面,適用於在模組控制器與揮發性記憶體之間傳送指令和資料;非揮發性記憶體介面,適用於在模組控制器與非揮發性記憶體單元之間傳送指令和資料;設置值儲存單元,適用於保持用於該正常操作的設置值;以及 系統管理匯流排單元,適用於在模組控制器與暫存器之間傳送指令和資料。
- 一種記憶體模組,包括:揮發性記憶體單元;非揮發性記憶體單元;以及模組控制器,適用於:保持用於揮發性記憶體單元的正常操作的設置值;將揮發性記憶體單元設置為適用於恢復操作;透過將備份的資料從非揮發性記憶體單元傳送至揮發性記憶體單元來執行恢復操作;以及透過使用保持的設置值來將揮發性記憶體單元設置為適用於該正常操作。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150063584A KR20160131359A (ko) | 2015-05-07 | 2015-05-07 | 메모리 모듈, 메모리 모듈의 모듈 콘트롤러 및 메모리 모듈의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201640497A true TW201640497A (zh) | 2016-11-16 |
Family
ID=57223257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104130468A TW201640497A (zh) | 2015-05-07 | 2015-09-15 | 記憶體模組、記憶體模組的模組控制器及記憶體模組的操作方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US20160328163A1 (zh) |
KR (1) | KR20160131359A (zh) |
CN (1) | CN106126369B (zh) |
TW (1) | TW201640497A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448771A (zh) * | 2020-03-27 | 2021-09-28 | 瑞昱半导体股份有限公司 | 存储器控制器与数据处理方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10198198B2 (en) * | 2016-01-11 | 2019-02-05 | Toshiba Memory Corporation | Storage device that stores setting values for operation thereof |
KR102469098B1 (ko) * | 2018-03-21 | 2022-11-23 | 에스케이하이닉스 주식회사 | 불휘발성 메모리 장치, 불휘발성 메모리 장치의 동작 방법 및 이를 포함하는 데이터 저장 장치 |
CN110825547B (zh) * | 2019-09-23 | 2024-04-12 | 京信网络系统股份有限公司 | 一种基于smbus的pcie卡异常恢复装置及方法 |
US20220066681A1 (en) * | 2020-08-27 | 2022-03-03 | Micron Technology, Inc. | Bubble break register in semiconductor device |
KR20220091794A (ko) | 2020-12-24 | 2022-07-01 | 삼성전자주식회사 | 반도체 장치 및 이를 포함하는 전자 장치 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020108018A1 (en) * | 2001-02-05 | 2002-08-08 | Han-Ping Chen | Memory module control and status |
US20080010419A1 (en) * | 2006-07-06 | 2008-01-10 | Rom-Shen Kao | System and Method for Issuing Commands |
CN100543873C (zh) * | 2006-11-23 | 2009-09-23 | 中兴通讯股份有限公司 | 一种基于双口ram实现数据速率转换的装置和方法 |
US8200885B2 (en) * | 2007-07-25 | 2012-06-12 | Agiga Tech Inc. | Hybrid memory system with backup power source and multiple backup an restore methodology |
JP5406178B2 (ja) * | 2008-04-16 | 2014-02-05 | パナソニック株式会社 | 再生装置、再生方法、プログラム |
US8452917B2 (en) * | 2008-09-15 | 2013-05-28 | Diablo Technologies Inc. | Load reduction dual in-line memory module (LRDIMM) and method for programming the same |
US7990797B2 (en) * | 2009-02-11 | 2011-08-02 | Stec, Inc. | State of health monitored flash backed dram module |
US8065562B2 (en) * | 2009-06-26 | 2011-11-22 | Seagate Technology Llc | Systems, methods and devices for backup power control in data storage devices |
JP5524551B2 (ja) * | 2009-09-16 | 2014-06-18 | キヤノン株式会社 | メモリコントローラおよびその制御方法 |
US8090988B2 (en) * | 2009-11-24 | 2012-01-03 | Virtium Technology, Inc. | Saving information to flash memory during power failure |
US9032231B1 (en) * | 2010-07-21 | 2015-05-12 | Arris Enterprises, Inc. | Power saving for broadband communications devices |
CN102918509B (zh) * | 2011-05-31 | 2014-06-04 | 华为技术有限公司 | 数据读写方法、装置和存储系统 |
US20140337589A1 (en) * | 2012-04-30 | 2014-11-13 | David G. Carpenter | Preventing a hybrid memory module from being mapped |
US10372551B2 (en) * | 2013-03-15 | 2019-08-06 | Netlist, Inc. | Hybrid memory system with configurable error thresholds and failure analysis capability |
JP6135276B2 (ja) * | 2013-04-23 | 2017-05-31 | 富士通株式会社 | ストレージ装置、制御装置、および制御プログラム |
US9684475B2 (en) * | 2014-02-28 | 2017-06-20 | Dell Products, L.P. | Multi-mode hybrid storage drive |
-
2015
- 2015-05-07 KR KR1020150063584A patent/KR20160131359A/ko unknown
- 2015-09-15 US US14/855,132 patent/US20160328163A1/en not_active Abandoned
- 2015-09-15 TW TW104130468A patent/TW201640497A/zh unknown
- 2015-12-08 CN CN201510896877.8A patent/CN106126369B/zh active Active
-
2018
- 2018-10-23 US US16/168,230 patent/US20190065320A1/en not_active Abandoned
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448771A (zh) * | 2020-03-27 | 2021-09-28 | 瑞昱半导体股份有限公司 | 存储器控制器与数据处理方法 |
US11436105B2 (en) | 2020-03-27 | 2022-09-06 | Realtek Semiconductor Corp. | Data processing method and memory controller utilizing the same |
TWI791966B (zh) * | 2020-03-27 | 2023-02-11 | 瑞昱半導體股份有限公司 | 記憶體控制器與資料處理方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20160131359A (ko) | 2016-11-16 |
CN106126369A (zh) | 2016-11-16 |
US20160328163A1 (en) | 2016-11-10 |
CN106126369B (zh) | 2020-11-20 |
US20190065320A1 (en) | 2019-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11886754B2 (en) | Apparatuses and methods for configuring I/Os of memory for hybrid memory modules | |
TW201640497A (zh) | 記憶體模組、記憶體模組的模組控制器及記憶體模組的操作方法 | |
KR102649322B1 (ko) | 메모리 장치, 메모리 시스템, 및 메모리 장치의 동작 방법 | |
CN108351816B (zh) | 用于在数据存储设备上执行数据拷贝操作的方法 | |
EP3304326A1 (en) | Memory device specific self-refresh entry and exit | |
TW201636859A (zh) | 記憶體系統、記憶體模組及其操作方法 | |
US20180203816A1 (en) | System including hot plug module and memory module | |
KR20070003515A (ko) | 메모리 장치들과의 통신을 위한 시스템 및 방법 | |
US10915254B2 (en) | Technologies for contemporaneous access of non-volatile and volatile memory in a memory device | |
US20160349817A1 (en) | Power protected memory with centralized storage | |
US11320999B2 (en) | System and method for retaining DRAM data when reprogramming reconfigureable devices with DRAM memory controllers incorporating a data maintenance block | |
US20180019007A1 (en) | Data processing systems and a plurality of memory modules | |
US9508400B1 (en) | Storage device and operating method thereof | |
TWI688864B (zh) | 儲存設備及儲存方法 | |
EP3341847B1 (en) | System and method for retaining dram data when reprogramming reconfigurable devices with dram memory controllers incorporating a data maintenance block colocated with a memory module or subsystem |