TWI737703B - Nonvolatile memory module and method for operating a storage device - Google Patents
Nonvolatile memory module and method for operating a storage device Download PDFInfo
- Publication number
- TWI737703B TWI737703B TW106110214A TW106110214A TWI737703B TW I737703 B TWI737703 B TW I737703B TW 106110214 A TW106110214 A TW 106110214A TW 106110214 A TW106110214 A TW 106110214A TW I737703 B TWI737703 B TW I737703B
- Authority
- TW
- Taiwan
- Prior art keywords
- internal operation
- internal
- command
- volatile memory
- memory module
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing circuits
-
- 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
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
Abstract
Description
本申請案基於35 USC § 119主張於2016年4月20日提出申請的美國臨時專利申請案第62/325,051號的權利。於2016年5月18日提出申請且名稱為「計算系統、非揮發性記憶體模組以及儲存裝置的方法(Computing System,Nonvolatile Memory Module and Method of Storage Device)」的韓國專利申請案第10-2016-0061012號。該兩個申請案全文併入本案供參考。 This application claims the rights of U.S. Provisional Patent Application No. 62/325,051 filed on April 20, 2016 based on 35 USC § 119. Korean Patent Application No. 10- No. 2016-0061012. The full texts of the two applications are incorporated into this case for reference.
本文所述一或多個實施例是有關於計算系統、非揮發性記憶體模組、以及儲存裝置的方法。 One or more embodiments described herein are related to computing systems, non-volatile memory modules, and storage device methods.
已嘗試開發能夠與現有計算系統的各種介面相容的非揮發性記憶體。舉例而言,已嘗試藉由將快閃記憶體(或工作記憶體)安裝於與電腦系統的主記憶體或工作記憶體相同的插槽或通道上來使用快閃記憶體作為資料儲存裝置或工作記憶體。然而,已證明該些嘗試具有缺陷。 Attempts have been made to develop non-volatile memory compatible with various interfaces of existing computing systems. For example, try to use flash memory as a data storage device or work by installing flash memory (or working memory) in the same slot or channel as the main memory or working memory of the computer system Memory. However, these attempts have proven to be flawed.
根據一或多個實施例,一種操作儲存裝置的方法包括:向外部裝置發送對於內部操作的內部操作時間的請求;自所述外部裝置接收與所述請求對應的內部操作命令;以及基於所述內部操作命令在所述內部操作時間期間實行所述內部操作。請求所述內部操作時間可包括使用異步事件請求命令的因應訊息而將所述請求傳遞至所述外部裝置。所述對於內部操作時間的請求可包括將包括實行所述內部操作所需要的內部操作時間的訊息傳遞至所述外部裝置。 According to one or more embodiments, a method of operating a storage device includes: sending a request for an internal operation time of an internal operation to an external device; receiving an internal operation command corresponding to the request from the external device; and based on the The internal operation command executes the internal operation during the internal operation time. Requesting the internal operation time may include transmitting the request to the external device using a response message of an asynchronous event request command. The request for the internal operation time may include transmitting a message including the internal operation time required to perform the internal operation to the external device.
根據一或多個其他實施例,一種非揮發性記憶體模組包括:至少一個揮發性記憶體;至少一個非揮發性記憶體;以及記憶體控制電路,用以控制所述至少一個揮發性記憶體及所述至少一個非揮發性記憶體,其中所述記憶體控制電路用以在欲實行內部操作時將內部操作請求訊息傳遞至外部裝置、自所述外部裝置接收與所述內部操作請求訊息對應的內部操作命令、並基於所述內部操作命令在內部操作時間期間來實行內部操作,且其中所述內部操作請求訊息包括所述內部操作時間。 According to one or more other embodiments, a non-volatile memory module includes: at least one volatile memory; at least one non-volatile memory; and a memory control circuit for controlling the at least one volatile memory And the at least one non-volatile memory, wherein the memory control circuit is used to transmit an internal operation request message to an external device, and receive and receive the internal operation request message from the external device when an internal operation is to be performed Corresponding internal operation command and implement internal operation during internal operation time based on said internal operation command, and wherein said internal operation request message includes said internal operation time.
根據一或多個其他實施例,一種記憶體模組包括:多個動態隨機存取記憶體(dynamic random access memory,DRAM);以及記憶體控制電路,用以基於命令及位址來控制所述動態隨機存取記憶體,其中所述記憶體控制電路用以:將對於內部操作的內部操作時間的請求傳遞至主機;自所述主機接收與所述請求對應的內部操作時間同意/拒絕資訊;以及基於所述內部操作時間同 意/拒絕資訊實行所述內部操作的全部或一部分。 According to one or more other embodiments, a memory module includes: a plurality of dynamic random access memories (DRAM); and a memory control circuit for controlling the A dynamic random access memory, wherein the memory control circuit is used to: transmit a request for the internal operation time of the internal operation to the host; receive the internal operation time approval/rejection information corresponding to the request from the host; And based on the internal operating time The consent/rejection information implements all or part of the internal operation described.
根據一或多個其他實施例,一種動態隨機存取記憶體包括:記憶體胞元陣列;以及再新控制器,用以將關於內部操作的請求的訊息傳遞至外部裝置、接收與所述訊息對應的內部操作命令、且在內部操作時間期間執行所述內部操作,其中所述內部操作是所述記憶體胞元陣列的再新操作且其中所述訊息包括關於所述內部操作時間的資訊。 According to one or more other embodiments, a dynamic random access memory includes: a memory cell array; and a renewed controller for transmitting a message about an internal operation request to an external device, receiving and receiving the message Corresponding internal operation command and execute the internal operation during internal operation time, wherein the internal operation is a renew operation of the memory cell array and wherein the message includes information about the internal operation time.
根據一或多個其他實施例,一種設備包括:訊號線;以及控制器,用以基於所述訊號線上的訊號來控制至少一個揮發性記憶體或至少一個非揮發性記憶體,其中所述控制器用以在欲實行內部操作時將內部操作請求訊息傳遞至外部裝置、自所述外部裝置接收與所述內部操作請求訊息對應的內部操作命令、並基於所述內部操作命令在內部操作時間期間來實行內部操作,且其中所述內部操作請求訊息包括所述內部操作時間。 According to one or more other embodiments, an apparatus includes: a signal line; and a controller for controlling at least one volatile memory or at least one non-volatile memory based on a signal on the signal line, wherein the control The device is used to transmit an internal operation request message to an external device when an internal operation is to be performed, receive an internal operation command corresponding to the internal operation request message from the external device, and receive an internal operation command based on the internal operation command during the internal operation time. Perform internal operation, and wherein the internal operation request message includes the internal operation time.
10、20、40:計算系統 10, 20, 40: computing system
41:處理器 41: processor
42:記憶體模組 42: Memory module
43:非揮發性記憶體 43: Non-volatile memory
50:資料伺服器系統 50: Data Server System
51:資料庫管理系統/相關資料庫管理系統 51: Database Management System/Related Database Management System
52:快取伺服器 52: Cache server
53:應用伺服器 53: application server
100:主機/主機裝置 100: host/host device
100a:主機 100a: host
200:儲存裝置 200: storage device
211、212、213、214、215、400:動態隨機存取記憶體 211, 212, 213, 214, 215, 400: dynamic random access memory
220:記憶體模組控制器 220: Memory Module Controller
300:非揮發性記憶體模組 300: Non-volatile memory module
310L:第一非揮發性記憶體 310L: the first non-volatile memory
310R:第二非揮發性記憶體 310R: second non-volatile memory
320L:第一揮發性記憶體 320L: the first volatile memory
320R:第二揮發性記憶體 320R: second volatile memory
330L:第一資料緩衝器 330L: the first data buffer
330R:第二資料緩衝器 330R: second data buffer
340:記憶體控制電路 340: Memory control circuit
410:記憶體胞元陣列 410: Memory cell array
420:再新控制器 420: New controller
ACT:現用命令 ACT: Active command
ADDR:位址引腳 ADDR: address pin
CAD:第二命令/位址 CAD: second command/address
CAN:第一命令/位址 CAN: First command/address
CH:記憶體通道 CH: memory channel
CH1:第一通道 CH1: The first channel
CH2:第二通道 CH2: second channel
CMD:命令引腳 CMD: Command pin
D0、D1、D2、D3、D4、D5、D6、D7:資料 D0, D1, D2, D3, D4, D5, D6, D7: data
DB:資料緩衝器 DB: data buffer
DIMM:記憶體模組 DIMM: memory module
DIMM1:第一記憶體模組/記憶體模組 DIMM1: the first memory module/memory module
DIMM2:第二記憶體模組/記憶體模組 DIMM2: second memory module/memory module
DQ:資料/資料引腳 DQ: data/data pin
IOP、IOPA:內部操作命令 IOP, Iopa: internal operation commands
IOPB:內部操作命令/第二內部操作命令 IOPB: internal operation command/second internal operation command
MSG:訊息引腳/訊息通道 MSG: message pin/message channel
NVDIMM:非揮發性記憶體模組 NVDIMM: Non-volatile memory module
PRE:預充電命令 PRE: Precharge command
RD:讀取命令/位址 RD: Read command/address
RT1:內部操作時間/第一內部操作時間 RT1: internal operation time/first internal operation time
RT2:第二內部操作時間 RT2: Second internal operation time
RT3、RTk:內部操作時間 RT3, RTk: internal operation time
S110、S120、S210、S220、S230:操作 S110, S120, S210, S220, S230: Operation
藉由參照附圖詳細闡述示例性實施例,各種特徵對熟習此項技術者而言將變得顯而易見,在附圖中:圖1說明計算系統的實施例。 By describing the exemplary embodiments in detail with reference to the accompanying drawings, various features will become apparent to those skilled in the art. In the accompanying drawings: FIG. 1 illustrates an embodiment of a computing system.
圖2說明儲存裝置的實施例。 Figure 2 illustrates an embodiment of a storage device.
圖3說明內部操作時間請求及計算系統的因應的實施例。 FIG. 3 illustrates an embodiment of the internal operation time request and the response of the computing system.
圖4說明計算系統的另一實施例。 Figure 4 illustrates another embodiment of a computing system.
圖5說明非揮發性記憶體模組的實施例。 FIG. 5 illustrates an embodiment of a non-volatile memory module.
圖6說明主機介面時序的實施例。 Figure 6 illustrates an embodiment of the host interface timing.
圖7說明主機介面時序的另一實施例。 Figure 7 illustrates another embodiment of the host interface timing.
圖8說明計算系統的另一實施例。 Figure 8 illustrates another embodiment of a computing system.
圖9說明多重記憶體模組的時序的實施例。 FIG. 9 illustrates an embodiment of the timing of multiple memory modules.
圖10說明計算系統的另一實施例。 Figure 10 illustrates another embodiment of a computing system.
圖11說明計算系統的另一實施例。 Figure 11 illustrates another embodiment of a computing system.
圖12說明動態隨機存取記憶體的實施例。 Figure 12 illustrates an embodiment of a dynamic random access memory.
圖13說明計算系統的另一實施例。 Figure 13 illustrates another embodiment of a computing system.
圖14說明主機的操作方法的實施例。 Fig. 14 illustrates an embodiment of the operation method of the host.
圖15說明儲存裝置的內部操作方法的實施例。 FIG. 15 illustrates an embodiment of the internal operation method of the storage device.
圖16說明資料伺服器系統的實施例。 Figure 16 illustrates an embodiment of a data server system.
圖1說明可包括主機100及儲存裝置200的計算系統10的實施例。計算系統10可為例如電腦、可攜式電腦、超行動個人電腦(ultra-mobile personal computer,UMPC)、工作站、資料伺服器、隨身型易網機(net-book)、個人數位助理(personal digital assistant,PDA)、網路平板(web tablet)、無線電話、行動電話、智慧型電話、電子書、可攜式多媒體播放器(portable multimedia player,PMP)、數位照相機、數位音訊記錄器/播放器、數位圖片/視訊記錄器/播放器、可攜式遊戲機、導航系統、黑盒子(block box)、3D電視、能夠在無線環境下傳輸及接收資訊的裝置、構成
家庭網路的各種電子裝置中的一者、構成電腦網路的各種電子裝置中的一者、構成電傳網路(telematics network)的各種電子裝置中的一者、無線射頻識別(radio-frequency identification,RFID)、或構成計算系統的各種電子裝置中的一者。
FIG. 1 illustrates an embodiment of a
主機100可控制計算系統10的總體運作。在實施例中,主機100可包括至少一個處理器、中央處理單元(central processing unit,CPU)、圖形處理單元(graphic processing unit,GPU)、記憶體控制器等。在實施例中,處理器可包括通用微處理器、多核處理器、數位訊號處理器(digital signal processor,DSP)、應用專用積體電路(application specific integrated circuit,ASIC)或其組合。在實施例中,記憶體控制器可被實作成控制儲存裝置200。
The
在實施例中,主機100可基於儲存裝置200的請求向儲存裝置200提供指示同意或拒絕內部操作時間的資訊。所述內部操作時間可為實行儲存裝置200的內部操作的時間。
In an embodiment, the
在實施例中,可基於命令或資料的類型來傳遞或確定內部操作時間同意/拒絕資訊。在另一實施例中,可經由主機100與儲存裝置200之間的單獨的線來傳輸內部操作時間同意/拒絕資訊。
In an embodiment, the internal operation time approval/rejection information can be transmitted or determined based on the type of command or data. In another embodiment, the internal operation time approval/rejection information can be transmitted via a separate line between the
在圖1中,說明其中主機100基於儲存裝置200的請求而將內部操作時間傳遞至儲存裝置200的實施例。在另一實施例中,主機裝置100可基於內部策略而非儲存裝置200的請求來將內部操作時間同意/拒絕資訊傳遞至儲存裝置200。
In FIG. 1, an embodiment in which the
儲存裝置200可連接至主機100以儲存關於主機100的操作的資料。儲存裝置200可為揮發性記憶體、非揮發性記憶體或其組合中的至少一者。舉例而言,儲存裝置200可為:雙列直插記憶體模組(dual in-line memory module,DIMM)、非揮發性雙列直插記憶體模組(nonvolatile dual in-line memory module,NVDIMM)、固態驅動機(solid state drive,SSD)、通用快閃儲存器(universal flash storage,UFS)、嵌式多媒體卡(embedded multimedia card,eMMC)、安全數位(secure digital,SD)卡、動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(static RAM,SRAM)、反及式快閃記憶體、垂直反及式快閃記憶體、相變隨機存取記憶體(phase change RAM,PRAM)、或電阻式隨機存取記憶體(resistive RAM,RRAM)。
The
在實施例中,儲存裝置200可基於雙倍資料速率(double data rate,DDR)介面標準而連接至主機100。舉例而言,儲存裝置200可由DDRx系列(x為整數)中的任一者實作。儲存裝置200可經由除雙倍資料速率介面之外的各種類型的通訊介面連接至主機100。舉例而言,通訊介面可符合以下通訊標準:非揮發性記憶體高速規格(non-volatile memory express,NVMe)、周邊組件互連高速規格(peripheral component interconnect express,PCIe)、串列先進技術附接(serial AT attachment,SATA)、小型電腦系統介面(small computer system interface,SCSI)、串列附接小型電腦系統介面(serial attached SCSI,SAS)、通用儲存匯流排
(universal storage bus,USB)附接小型電腦系統介面(USB attached SCSI,UAS)、網際網絡小型電腦系統介面(internet small computer system interface,iSCSI)、光纖通道、或光纖網際網路通道(fiber channel over Ethernet,FCoE)。
In an embodiment, the
在實施例中,當根據內部策略確定欲實行內部操作時,儲存裝置200可自主機100請求內部操作的內部操作時間。在實施例中,可以訊息型式將內部操作時間請求傳遞至主機100。
In an embodiment, when it is determined that the internal operation is to be performed according to the internal policy, the
在實施例中,具有內部操作時間請求的訊息傳輸至主機100可經由主機100與儲存裝置200之間的至少一個資料通道、至少一個時鐘通道、至少一個控制通道、至少一個專用訊息通道、或其組合。舉例而言,當經由資料通道傳輸內部操作時間請求時,所述內部操作時間請求可包含於與異步命令對應的因應訊息中。異步命令可包括異步事件請求命令。異步事件可用於將儲存裝置200的狀況、錯誤及健康資訊告知主機100的軟體或控制器。
In an embodiment, the message with the internal operation time request can be transmitted to the
上述內部操作時間請求可以訊息型式傳遞。在另一實施例中,可以訊號型式向主機100提供內部操作時間請求以請求選擇與內部操作的內部操作時間對應的暫存器。
The above internal operation time request can be transmitted in the form of a message. In another embodiment, the internal operation time request may be provided to the
在實施例中,儲存裝置200可被實作成在接收主機100的內部操作時間同意/拒絕資訊之後實行內部操作。內部操作可包括與例如再新、時序校準、製程-電壓-溫度(process-voltage-temperature,PVT)補償、內部資料傳輸、或另一操作相關聯的各種操作。在實施例中,可根據內部操作時間同
意/拒絕資訊來實行內部操作的全部或一部分。為此,內部操作時間同意/拒絕資訊可更包括關於執行內部操作的全部或一部分的資訊。
In an embodiment, the
在根據實施例的計算系統10中,儲存裝置200可直接自主機100請求儲存裝置200的內部操作的內部操作時間。主機100可基於所述請求在內部操作時間期間將關於時間的授權傳遞至儲存裝置200。因此,儲存裝置200可充分地實行內部操作。舉例而言,主機100可同意對儲存裝置200進行內部操作的內部操作時間。
In the
圖2說明由記憶體模組實作的儲存裝置200的實施例。參照圖2,儲存裝置200可包括多個動態隨機存取記憶體211至214以及記憶體模組控制器(RCD)220。動態隨機存取記憶體211至動態隨機存取記憶體214中的每一者可在記憶體模組控制器220的控制下輸入及輸出資料DQ。圖2中的動態隨機存取記憶體211至動態隨機存取記憶體214的數目是4,但在另一實施例中可為不同的數目。
FIG. 2 illustrates an embodiment of a
記憶體模組控制器220可自主機100接收命令及/或位址並控制動態隨機存取記憶體211至動態隨機存取記憶體214的輸入操作/輸出操作。在實施例中,記憶體模組控制器220可基於內部策略向主機100發送對於內部操作的內部操作時間請求。在實施例中,記憶體模組控制器220可基於自主機100傳輸的內部操作時間同意/拒絕資訊來實行內部操作。
The
在實施例中,儲存裝置200可更包括用於奇偶校驗(parity)的動態隨機存取記憶體215。在實施例中,儲存裝置200可更包括在主機100與動態隨機存取記憶體211至動態隨機存取記憶體214之間對資料DQ進行緩衝的資料緩衝器DB。在實施例中,儲存裝置200可被實作成滿足DDRx同步動態隨機存取記憶體(synchronous dynamic random access memory,SDRAM)規格。舉例而言,儲存裝置200可被實作成滿足下一代DDR4 SDRAM規格。內部操作時間可例如以暫存器設定方式來實作。
In an embodiment, the
圖3說明計算系統10中基於暫存器組(register set)方式的內部操作時間請求及因應的實施例。參照圖3,儲存裝置200可包括儲存多個內部操作時間RT1至RTk(k是為2或大於2的自然數)的暫存器組。舉例而言,第一內部操作時間RT1可為與16個時鐘對應的時間且第二內部操作時間RT2可為與8個時鐘對應的時間。
FIG. 3 illustrates an embodiment of the internal operation time request and response based on the register set method in the
主機100的記憶體控制器可基於儲存裝置200的內部操作時間請求而向儲存裝置200發送暫存器選擇訊號。所述暫存器選擇訊號可為用於自暫存器組的暫存器中選擇與內部操作時間請求對應的暫存器的訊號。舉例而言,暫存器選擇訊號可包括內部操作時間同意/拒絕資訊。在實施例中,所述暫存器組可位於圖2中的記憶體模組控制器220中或位於不同的位置中。
The memory controller of the
圖1至圖3中的計算系統10是針對內部操作時間來闡述實施例。在另一實施例中,可在發出內部操作請求及因應於所述
內部操作請求的內部操作命令的上下文中闡述計算系統10。
The
圖4說明可包括主機100a及非揮發性記憶體模組(NVDIMM)300的計算系統20的另一實施例。主機100a可自非揮發性記憶體模組300接收內部操作請求、基於內部操作請求發出內部操作命令IOP、以及將所發出內部操作命令IOP發送至非揮發性記憶體模組300。內部操作命令IOP可包括內部操作的內部操作時間。在實施例中,內部操作命令IOP可更包括與同意或拒絕內部操作請求對應的資訊。
FIG. 4 illustrates another embodiment of a
在實施例中,可例如經由資料引腳、資料選通引腳、位址/命令引腳、控制訊號引腳、訊息專用引腳或其組合將內部操作請求傳輸至主機100a。在實施例中,內部操作命令IOP可藉由命令/位址引腳、預留供未來使用(reserved future use,RFU)的引腳、或其組合而產生。
In an embodiment, the internal operation request can be transmitted to the
當根據內部策略欲實行內部操作時,非揮發性記憶體模組300可向主機100a發送內部操作請求。內部操作請求可被實作為例如訊息/訊號型式。舉例而言,以訊息/訊號型式傳遞的內部操作請求可包括內部操作的內部操作時間。
When an internal operation is to be performed according to the internal strategy, the
在實施例中,非揮發性記憶體模組300可經由DDRx介面(x為自然數)連接至主機100a。舉例而言,非揮發性記憶體模組300可被實作成滿足下一代DDR4 SDRAM規格。
In an embodiment, the
在實施例中,可由例如符合電子裝置工程聯合委員會(joint electronic device engineering council,JEDEC)標準的非揮
發性雙列直插記憶體模組(NVDIMM)來實作非揮發性記憶體模組300。非揮發性雙列直插記憶體模組可為即使在意外斷電或系統故障、或者即使在系統正常結束的同時發生電力中斷時仍保持資料的記憶體模組。非揮發性雙列直插記憶體模組可用於改良應用效能、從資料安全系統的故障進行恢復的時間、以及固態驅動機的耐用性及可靠性。
In an embodiment, for example, a non-volatile electronic device conforming to the joint electronic device engineering council (JEDEC) standard can be used.
Develop a dual in-line memory module (NVDIMM) to implement the
非揮發性雙列直插記憶體模組可具有各種形式。非揮發性雙列直插記憶體模組的一個實施例是以記憶體速度或近似記憶體速度進行存取的可按位元組定址的記憶體映射裝置。支援DDR4 SDRAM的非揮發性雙列直插記憶體模組可供許多硬體供應商中的任一者商用。非揮發性雙列直插記憶體模組的另一實施例是位於互連通道上的快閃裝置模組。此種非揮發性雙列直插記憶體模組可例如藉由主機的驅動器區塊進行存取。當出現前端快取未中(front-end cache miss)時,可對快閃裝置進行存取。非揮發性雙列直插記憶體模組的另一實施例是具有可快速存取的動態隨機存取記憶體及高容量非揮發性記憶體的所有優點的模組。 Non-volatile dual in-line memory modules can have various forms. One embodiment of the non-volatile dual in-line memory module is a memory mapping device that can be accessed at or near memory speed and can be addressed by byte. Non-volatile dual in-line memory modules that support DDR4 SDRAM are commercially available from any of many hardware vendors. Another embodiment of the non-volatile dual in-line memory module is a flash device module located on the interconnection channel. Such non-volatile dual in-line memory modules can be accessed, for example, through the drive block of the host. When a front-end cache miss occurs, the flash device can be accessed. Another embodiment of the non-volatile dual in-line memory module is a module with all the advantages of fast-access dynamic random access memory and high-capacity non-volatile memory.
非揮發性記憶體模組300可包括訊息通道,內部操作請求訊息經由所述訊息通道被傳輸至主機100a。在實施例中,可使用DQ通道、DQS通道、時鐘通道、控制訊號通道、或其組合來作為訊息通道。在另一實施例中,訊息通道可具有用於傳遞內部操作請求訊息的專用通道。
The
在實施例中,內部操作請求訊息可包括自將實行內部操
作的非揮發性記憶體模組300請求內部操作時間,以使得主機100a不會向非揮發性記憶體模組300發送新命令達預定時間。在另一實施例中,即便主機100a發出新命令達預定時間,接收到內部操作命令的非揮發性記憶體模組300仍可忽略所述新命令。
In an embodiment, the internal operation request message may include the self-initiated internal operation
The configured
在實施例中,內部操作時間可例如基於非揮發性記憶體模組300所實行的內部操作的種類而變化。舉例而言,再新操作的內部操作時間可為約幾微秒。內部資料傳輸操作的內部操作時間可為例如約幾百微秒。
In an embodiment, the internal operation time may vary based on the type of internal operation performed by the
在實施例中,當接收到內部操作請求時,主機100a可同意或拒絕內部操作請求。舉例而言,若主機100a同意內部操作請求,則主機100a可發出與內部操作請求對應的內部操作命令IOP並將內部操作命令IOP發送至非揮發性記憶體模組300。舉例而言,若主機100a拒絕內部操作請求,則非揮發性記憶體模組300可推遲內部操作。在實施例中,非揮發性記憶體模組300可在沒有來自主機100a的中斷指令的情況下在內部操作時間期間實行內部操作。
In an embodiment, when an internal operation request is received, the
圖5說明非揮發性記憶體模組300可包括第一非揮發性記憶體310L及第二非揮發性記憶體310R、第一揮發性記憶體320L及第二揮發性記憶體320R、第一資料緩衝器330L及第二資料緩衝器330R、以及記憶體控制電路(memory control circuit,MMCD)340的另一實施例。
5 illustrates that the
第一非揮發性記憶體310L及第二非揮發性記憶體310R
中的每一者可包括至少一個非揮發性記憶體。在實施例中,所述至少一個非揮發性記憶體可為反及式快閃記憶體、垂直反及式快閃記憶體(vertical NAND flash memory,VNAND)、反或快閃記憶體、電阻式隨機存取記憶體(RRAM)、相變隨機存取記憶體(PRAM)、磁阻式隨機存取記憶體(magneto-resistive random access memory,MRAM)、鐵電式隨機存取記憶體(ferroelectric random access memory,FRAM)、自旋轉移矩磁性隨機存取記憶體(spin transfer torque random access memory,STT-RAM)、或閘流體隨機存取記憶體(thyristor RAM,TRAM)。
First
另外,非揮發性記憶體可被實作成具有三維陣列結構。在實施例中,提供一種三維(three-dimensional,3D)記憶體陣列。所述3D記憶體陣列可以單片形式形成於記憶體胞元陣列的一或多個物理層階(physical level),所述記憶體胞元陣列具有位於矽基板上方的主動區域以及與該些記憶體胞元的操作相關聯的電路系統,無論相關聯的電路系統是位於基板上方還是基板內。相關聯的電路系統位於此基板上方或此基板內。用語「以單片形式」可對應於將陣列的每一層階的各層直接沈積於所述陣列的每一下伏層階(underlying level)的層上。 In addition, non-volatile memory can be implemented with a three-dimensional array structure. In an embodiment, a three-dimensional (3D) memory array is provided. The 3D memory array may be monolithically formed at one or more physical levels of the memory cell array. The memory cell array has an active area on a silicon substrate and is connected to the memory cell array. The circuit system associated with the operation of the soma, regardless of whether the associated circuit system is located above or inside the substrate. The associated circuit system is located above or inside the substrate. The term "in a monolithic form" may correspond to directly depositing each layer of each level of the array on the layer of each underlying level of the array.
在實施例中,3D記憶體陣列包括被垂直地定向成使得至少一個記憶體胞元位於另一記憶體胞元之上的垂直反及串(vertical NAND string)。所述至少一個記憶體胞元可包括電荷陷獲層。每一垂直反及串可包括位於記憶體胞元之上的至少一個選 擇電晶體。至少一個選擇電晶體可具有與記憶體胞元相同的結構且可與記憶體胞元以單片形式一起形成。 In an embodiment, the 3D memory array includes a vertical NAND string oriented vertically such that at least one memory cell is located above another memory cell. The at least one memory cell may include a charge trapping layer. Each vertical reverse and string may include at least one option located on the memory cell Selective transistor. The at least one selective transistor may have the same structure as the memory cell and may be formed together with the memory cell in a monolithic form.
三維記憶體陣列包括多個層階且具有在各層階之間共享的字元線或位元線。以下關於由三星電子公司採用的包括多個層階的三維記憶體陣列的示例性配置(其中字元線及/或位元線在各層級之間共享)的檔案併入本案供參考:美國專利第7,679,133號、第8,553,466號、第8,654,587號及第8,559,235號以及美國專利公開案第2011/0233648號。非揮發性記憶體可應用於其中使用絕緣層作為電荷儲存層的電荷陷獲快閃記憶體(charge trap flash,CTF)以及其中使用導電性浮閘作為電荷儲存層的快閃記憶體裝置。 The three-dimensional memory array includes multiple levels and has word lines or bit lines shared between the levels. The following files about an exemplary configuration of a three-dimensional memory array including multiple levels (where character lines and/or bit lines are shared among the levels) adopted by Samsung Electronics are incorporated in this case for reference: US Patent No. 7,679,133, No. 8,553,466, No. 8,654,587 and No. 8,559,235 and US Patent Publication No. 2011/0233648. Non-volatile memory can be applied to charge trap flash (CTF) in which an insulating layer is used as a charge storage layer and flash memory devices in which a conductive floating gate is used as a charge storage layer.
第一揮發性記憶體320L及第二揮發性記憶體320R中的每一者可包括至少一個動態隨機存取記憶體。在實施例中,所述至少一個動態隨機存取記憶體可由雙埠動態隨機存取記憶體來實作。舉例而言,所述至少一個動態隨機存取記憶體的第一埠可連接至第一非揮發性記憶體310L及第二非揮發性記憶體310R中的至少一者,且所述至少一個動態隨機存取記憶體的第二埠可連接至第一資料緩衝器330L及第二資料緩衝器330R中的對應一者。
Each of the first
記憶體控制電路340可被實作成自主機100a接收命令或位址並產生用於控制第一非揮發性記憶體310L及第二非揮發性記憶體310R的第一命令/位址CAN或用於控制第一揮發性記憶體320L及第二揮發性記憶體320R的第二命令/位址CAD。
The
在實施例中,記憶體控制電路340可發出對於內部操作
的內部操作請求並將所述內部操作請求發送至主機100a。在實施例中,記憶體控制電路340可自主機100a接收內部操作命令IOP並基於所接收內部操作命令IOP實行內部操作。內部操作命令IOP可包括內部操作的內部操作時間。
In an embodiment, the
圖5中的非揮發性記憶體模組300可包括相對於記憶體控制電路340而排列於左側上的至少一第一非揮發性記憶體310L、至少一第一揮發性記憶體320L、及第一資料緩衝器330L、以及相對於記憶體控制電路340而排列於右側上的至少一第二非揮發性記憶體310R、至少一第二揮發性記憶體320R、及第二資料緩衝器330R。在另一實施例中,非揮發性記憶體模組300可具有記憶體、記憶體控制電路、緩衝器等的不同的排列。
The
圖6說明與非揮發性記憶體模組300的內部操作請求對應的主機介面的時序的實施例。在此實施例中,可經由主機100a與非揮發性記憶體模組300之間的主機介面而將內部操作請求傳遞至主機100a。主機介面可為例如記憶體內部通道。在實施例中,內部操作請求可包括用以完成內部操作的內部操作時間或關於內部操作時間的資訊。
FIG. 6 illustrates an embodiment of the timing of the host interface corresponding to the internal operation request of the
當經由訊息引腳MSG將包括內部操作請求的訊息傳遞至主機100a時,亦可將與內部操作時間對應的資訊發送至主機100a。與內部操作時間對應的資訊可經由資料引腳DQ0至資料引腳DQ7傳遞。在一個實施例中,與內部操作時間對應的資訊可經由例如CKE引腳、CS引腳、CK引腳、或ODT引腳等命令/位址
引腳CA傳輸。
When the message including the internal operation request is transmitted to the
與內部操作時間相關的資訊可藉由訊息引腳MSG的雙態觸變而選擇性地傳輸至主機100a。在實施例中,訊息引腳MSG的連續雙態觸變頻率可表示內部操作時間。舉例而言,訊息引腳MSG的連續雙態觸變頻率可為內部操作的時間。
The information related to the internal operation time can be selectively transmitted to the
在一個實施例中,訊息中的內部操作請求可為對於所有庫或部分庫的內部操作請求。若主機100a同意對所有庫的內部操作請求,則非揮發性記憶體模組300可對所有庫實行內部操作,同時主機100a不能對非揮發性記憶體模組300進行存取。若主機100a同意對部分庫的內部操作請求,則可僅對藉由內部操作請求而自部分庫中選擇的庫實行內部操作。在此種情形中,可所選擇庫之外的其他庫進行存取以進行讀取/寫入操作。
In one embodiment, the internal operation request in the message may be an internal operation request for all libraries or some libraries. If the
在實施例中,若接收到內部操作請求及與內部操作時間對應的資訊,則主機100a可確定是否同意或拒絕所述內部操作請求。
In an embodiment, if an internal operation request and information corresponding to the internal operation time are received, the
若同意內部操作請求,則主機100a可發出內部操作命令IOP,以使得非揮發性記憶體模組300開始內部操作。然後,主機100a在內部操作時間期間可不發出對非揮發性記憶體模組300進行存取的新命令。
If the internal operation request is approved, the
若拒絕內部操作請求,則主機100a可藉由不實行一個內部操作命令來忽略內部操作請求並發出用於通知拒絕內部操作請求的命令。非揮發性記憶體模組300可辨識主機100a的拒絕通知
並延遲或放棄執行內部操作。在一個實施例中,內部操作時間同意/拒絕資訊可不處於非揮發性記憶體模組300的內部操作請求中。
If the internal operation request is rejected, the
圖7說明用於非揮發性記憶體模組300的內部操作請求的主機介面的時序的另一實施例。在此實施例中,可在兩操作步驟式程序(two-operation procedure)中提供內部操作請求。
FIG. 7 illustrates another embodiment of the timing of the host interface for the internal operation request of the
在第一個操作中,非揮發性記憶體模組300可經由訊息通道MSG僅將請求進行內部操作的訊號發送至主機100a,並將內部操作時間相關資訊(時間資訊)儲存於非揮發性記憶體模組300的緩衝區域中。
In the first operation, the
在第二個操作中,主機100a可對緩衝區域進行讀取以發出用於提取內部操作的內部操作時間的讀取命令。在一個實施例中,主機100a可基於所讀取時間資訊發出內部操作命令IOP。然後,非揮發性記憶體模組300可基於內部操作命令IOP而在內部操作時間期間實行內部操作。
In the second operation, the
另外,在第二個操作中,主機100a發出用於提取緩衝區域的內部操作時間的讀取命令。在另一實施例中,非揮發性記憶體模組300可基於主機100a的內部操作命令IOP而讀取儲存於緩衝區域中的內部操作時間同意/拒絕資訊並實行內部操作達所讀取內部操作時間。
In addition, in the second operation, the
圖8說明包括連接至一個記憶體通道的兩個記憶體模組的計算系統的另一實施例。參照圖8,主機可經由一個記憶體通道 CH連接至第一記憶體模組DIMM1及第二記憶體模組DIMM2。第一記憶體模組DIMM1及第二記憶體模組DIMM2中的每一者可實行內部操作。為便於說明,以下假設第二記憶體模組DIMM2實行內部操作。 FIG. 8 illustrates another embodiment of a computing system including two memory modules connected to one memory channel. Referring to Figure 8, the host can pass through a memory channel CH is connected to the first memory module DIMM1 and the second memory module DIMM2. Each of the first memory module DIMM1 and the second memory module DIMM2 can perform internal operations. For ease of description, the following assumes that the second memory module DIMM2 performs internal operations.
圖9說明在圖8所示計算系統的第二記憶體模組DIMM2實行內部操作時,第一記憶體模組DIMM1及第二記憶體模組DIMM2的時序的實施例。 FIG. 9 illustrates an embodiment of the timing of the first memory module DIMM1 and the second memory module DIMM2 when the second memory module DIMM2 of the computing system shown in FIG. 8 performs internal operations.
參照圖8及圖9,第二記憶體模組DIMM2可基於內部操作命令IOP在內部操作時間期間實行內部操作。內部操作可為在第二記憶體模組DIMM2中實行的資料傳輸操作。主機可在實行內部操作的同時,禁止對第二記憶體模組DIMM2進行的存取。即使主機不對第二記憶體模組DIMM2進行存取,主機仍可對處於空閒狀態的第一記憶體模組DIMM1進行存取。舉例而言,在圖9中,第一記憶體模組DIMM1可依序地接收預充電命令PRE、現用命令ACT、及讀取命令/位址RD以及輸出與讀取命令/位址RD對應的資料D0至資料D7。然後,第一記憶體模組DIMM1可繼續實行下一讀取操作。 8 and 9, the second memory module DIMM2 can perform internal operations during the internal operation time based on the internal operation command IOP. The internal operation can be a data transfer operation performed in the second memory module DIMM2. The host can prohibit access to the second memory module DIMM2 while performing internal operations. Even if the host does not access the second memory module DIMM2, the host can still access the first memory module DIMM1 in an idle state. For example, in FIG. 9, the first memory module DIMM1 can sequentially receive the precharge command PRE, the active command ACT, and the read command/address RD, and output the corresponding command/address RD. Data D0 to Data D7. Then, the first memory module DIMM1 can continue to perform the next read operation.
計算系統可在主機與第一記憶體模組DIMM1之間的資料通訊之後隱藏第二記憶體模組DIMM2的內部操作。由於第二記憶體模組DIMM2的內部操作被隱藏,因此系統的效能可得到提高。 The computing system can hide the internal operation of the second memory module DIMM2 after the data communication between the host and the first memory module DIMM1. Since the internal operation of the second memory module DIMM2 is hidden, the performance of the system can be improved.
表一說明由計算系統的主機發出的內部操作命令的實施例。參照表一,主機可基於記憶體模組DIMM/非揮發性記憶體模組NVDIMM的內部操作請求而在同意所述內部操作時發出內部操作命令IOPA及內部操作命令IOPB。內部操作命令IOPA可指示對記憶體模組DIMM/非揮發性記憶體模組NVDIMM的所有庫進行內部操作。第二內部操作命令IOPB可指示對記憶體模組DIMM/非揮發性記憶體模組NVDIMM的單個庫進行內部操作。 Table 1 illustrates an example of internal operation commands issued by the host computer of the computing system. Referring to Table 1, the host can issue the internal operation command IOPA and the internal operation command IOPB when agreeing to the internal operation based on the internal operation request of the memory module DIMM/non-volatile memory module NVDIMM. The internal operation command IOPA can instruct to perform internal operations on all banks of the memory module DIMM/non-volatile memory module NVDIMM. The second internal operation command IOPB can instruct to perform internal operations on a single bank of the memory module DIMM/non-volatile memory module NVDIMM.
在實施例中,如同表一中一樣,可利用位址引腳來區分所有庫的內部操作及單個庫的內部操作。在實施例中,內部操作命令IOPA及內部操作命令IOPB可由命令/位址引腳的特定組合產生。此種組合可被預留以供典型DDR4 SDRAM未來使用(reserved future use,RFU)。在實施例中,與內部操作命令IOPA及內部操作命令IOPB相關聯的命令/位址引腳可包括CKE、CS、CAS、RAS、ACT、庫位址及位址引腳。 In an embodiment, as in Table 1, the address pins can be used to distinguish the internal operations of all libraries and the internal operations of a single library. In an embodiment, the internal operation command IOPA and the internal operation command IOPB can be generated by a specific combination of command/address pins. This combination can be reserved for typical DDR4 SDRAM (reserved future use, RFU). In an embodiment, the command/address pins associated with the internal operation command IOPA and the internal operation command IOPB may include CKE, CS, CAS, RAS, ACT, bank address and address pins.
在實施例中,內部操作命令IOPA及內部操作命令IOPB可包括根據應用於位址引腳的程式化值而變化的內部操作時間。舉例而言,程式化值可被程式化成與位址引腳A0至位址引腳A9對應。 In an embodiment, the internal operation command IOPA and the internal operation command IOPB may include an internal operation time that varies according to the programmed value applied to the address pin. For example, the programmed value can be programmed to correspond to the address pin A0 to the address pin A9.
在圖8及圖9中,一個計算系統將兩個可彼此相同的記憶體模組DIMM1及記憶體模組DIMM2連接至一個記憶體通道。在另一實施例中,計算系統可將記憶體模組DIMM及非揮發性記憶體模組NVDIMM連接至一個記憶體通道。 In FIG. 8 and FIG. 9, a computing system connects two memory modules DIMM1 and a memory module DIMM2 that can be identical to each other to a memory channel. In another embodiment, the computing system can connect the memory module DIMM and the non-volatile memory module NVDIMM to one memory channel.
圖10說明伺服器系統的實施例。參照圖10,計算系統可將記憶體模組DIMM及非揮發性記憶體模組NVDIMM連接至一個記憶體通道。主機可在對非揮發性記憶體模組NVDIMM實行上述內部操作的同時對記憶體模組DIMM進行存取,反之亦然。舉例而言,主機可在對記憶體模組DIMM實行上述內部操作的同時對非揮發性記憶體模組NVDIMM進行存取。 Figure 10 illustrates an embodiment of a server system. 10, the computing system can connect the memory module DIMM and the non-volatile memory module NVDIMM to one memory channel. The host can access the memory module DIMM while performing the above-mentioned internal operations on the non-volatile memory module NVDIMM, and vice versa. For example, the host can access the non-volatile memory module NVDIMM while performing the above-mentioned internal operations on the memory module DIMM.
在圖10中的計算系統中,記憶體模組DIMM及非揮發性記憶體模組NVDIMM連接至一個記憶體通道。在一個實施例中,計算系統包括分別連接至的兩個記憶體通道的記憶體模組DIMM及非揮發性記憶體模組NVDIMM。 In the computing system in FIG. 10, the memory module DIMM and the non-volatile memory module NVDIMM are connected to a memory channel. In one embodiment, the computing system includes a memory module DIMM and a non-volatile memory module NVDIMM connected to two memory channels respectively.
圖11說明計算系統的另一實施例。參照圖11,主機可經由第一通道CH1而與記憶體模組DIMM進行連接且經由第二通道CH2而與非揮發性記憶體模組NVDIMM進行連接。主機可在對非揮發性記憶體模組NVDIMM實行上述內部操作的同時對記憶體模組DIMM進行存取。此實施例可適用於例如以晶片形式而非記憶體模組形式實作的動態隨機存取記憶體。 Figure 11 illustrates another embodiment of a computing system. 11, the host can connect to the memory module DIMM through the first channel CH1 and connect to the non-volatile memory module NVDIMM through the second channel CH2. The host can access the memory module DIMM while performing the above-mentioned internal operations on the non-volatile memory module NVDIMM. This embodiment can be applied to, for example, a dynamic random access memory implemented in the form of a chip instead of a memory module.
圖12說明可包括記憶體胞元陣列410及再新控制器420的動態隨機存取記憶體400的實施例。記憶體胞元陣列410可包
括分別排列於字元線與位元線的交叉點處的多個動態隨機存取記憶體胞元。再新控制器420可實行動態隨機存取記憶體胞元的再新操作。在實施例中,再新控制器420可基於主機或外部裝置的再新命令實行再新操作。
FIG. 12 illustrates an embodiment of a dynamic
在實施例中,再新控制器420可在欲實行內部操作時自主機/外部裝置請求內部操作時間。主機/外部裝置可基於內部操作時間請求向再新控制器420發送內部操作時間同意/拒絕資訊。再新控制器420可接收內部操作時間同意/拒絕資訊以在內部操作時間期間實行再新操作。在實施例中,再新控制器420可對所有庫或部分庫實行再新操作。此一實施例可適用於例如其中使用電阻作為位元的3DX點(Xpoint)記憶體。
In an embodiment, the
圖13說明可包括處理器41、記憶體模組(雙列直插記憶體模組)42、以及非揮發性記憶體(nonvolatile memory,NVM)43的計算系統40的實施例。處理器41可控制記憶體模組42及非揮發性記憶體43。在實施例中,處理器41可基於記憶體模組42的內部操作請求發出內部操作命令。
FIG. 13 illustrates an embodiment of a
記憶體模組42可經由雙倍資料速率介面連接至處理器41。記憶體模組42可在欲實行內部操作時向處理器41發送內部操作請求。另外,記憶體模組42可被實作成基於來自處理器41的內部操作命令實行內部操作。
The
非揮發性記憶體43可經由DDR-T(交易)介面連接至處理器41。在此種情形中,記憶體模組42可實行非揮發性記憶體
43的快取功能。在實施例中,非揮發性記憶體43可為3D-X點記憶體。此一實施例可適用於例如非揮發性記憶體43的內部操作。
The
圖14說明一種操作主機的方法的實施例。在此種方法中,主機可自連接至記憶體通道的各種類型的儲存裝置(雙列直插記憶體模組、非揮發性雙列直插記憶體模組、動態隨機存取記憶體、非揮發性記憶體、固態驅動機、嵌式多媒體卡、安全數位卡、Unix檔案系統(Unix file system,UFS)等)接收用於實行內部操作的內部操作時間請求(S110)。主機可基於內部操作時間請求來同意或拒絕內部操作(例如,儲存操作)。主機可發出與內部操作時間請求對應的內部操作命令。所發出的內部操作命令可包括內部操作時間(S120)。可將所發出的內部操作命令傳遞至儲存裝置,且儲存裝置可基於內部操作命令在內部操作時間期間實行內部操作。 Figure 14 illustrates an embodiment of a method of operating a host. In this method, the host can connect to the memory channel of various types of storage devices (dual in-line memory module, non-volatile dual in-line memory module, dynamic random access memory, non-volatile memory). The volatile memory, solid-state drive, embedded multimedia card, secure digital card, Unix file system (Unix file system, UFS), etc.) receive an internal operation time request for implementing internal operations (S110). The host may approve or reject internal operations (for example, storage operations) based on the internal operation time request. The host can issue an internal operation command corresponding to the internal operation time request. The issued internal operation command may include the internal operation time (S120). The issued internal operation command can be transferred to the storage device, and the storage device can perform the internal operation during the internal operation time based on the internal operation command.
圖15說明一種操作儲存裝置的方法的實施例。參照圖14至圖15,在此種方法中,儲存裝置可根據內部策略確定是否將實行內部操作且可將對於內部操作的內部操作時間請求發送至主機(S210)。可以各種形式(例如,訊息形式或訊號形式)將內部操作時間請求傳遞至主機。舉例而言,儲存裝置可被實作成向主機發送包括內部操作時間請求的訊息。 Figure 15 illustrates an embodiment of a method of operating a storage device. Referring to FIGS. 14 to 15, in this method, the storage device can determine whether internal operations will be performed according to internal policies and can send internal operation time requests for internal operations to the host (S210). The internal operation time request can be transmitted to the host in various forms (for example, a message form or a signal form). For example, the storage device can be implemented to send a message including an internal operation time request to the host.
然後,儲存裝置可自主機接收包括指示同意或拒絕內部操作時間的資訊的內部操作命令(S220)。儲存裝置可基於內部操作命令實行內部操作的全部或一部分(S230)。 Then, the storage device may receive an internal operation command including information indicating approval or rejection of the internal operation time from the host (S220). The storage device may perform all or part of the internal operation based on the internal operation command (S230).
在實施例中,當內部操作命令包括指示同意內部操作時間的資訊時,儲存裝置可在實行內部操作時忽略由主機發出的新命令。在實施例中,當內部操作命令包括指示拒絕內部操作時間的資訊時,儲存裝置可接收或處理由主機發出的新命令。儲存裝置可在實行內部操作的同時接收並緩衝由主機發出的新命令。儲存裝置可基於新命令而在保持內部操作之後,首先處理來自主機的新命令。此實施例可適用於例如資料伺服器。 In an embodiment, when the internal operation command includes information indicating that the internal operation time is approved, the storage device can ignore the new command issued by the host when performing the internal operation. In an embodiment, when the internal operation command includes information indicating the rejection of the internal operation time, the storage device may receive or process a new command issued by the host. The storage device can receive and buffer new commands issued by the host while performing internal operations. The storage device may first process the new command from the host after maintaining the internal operation based on the new command. This embodiment can be applied to, for example, a data server.
圖16說明可包括相關資料庫管理系統(related database management system,RDBMS)51、快取伺服器52、及應用伺服器53的資料伺服器系統50的實施例。快取伺服器52可基於來自資料庫管理系統51的去能通知(disable notification)而維持及刪除彼此不同的鍵-值對(key and value pairs)。相關資料庫管理系統51、快取伺服器52、或應用伺服器53中的至少一者可由參照圖1至圖15闡述的主機、記憶體模組DIMM、非揮發性記憶體模組NVDIMM、動態隨機存取記憶體或非揮發性記憶體實作。
16 illustrates an embodiment of a
可藉由將由電腦、處理器、控制器或其他訊號處理裝置執行的碼或指令來實行本文所述的方法、製程及/或操作。所述電腦、處理器、控制器或其他訊號處理裝置可為本文所述者或除了本文所述元件之外的元件。由於詳細闡述了作為形成方法(或電腦、處理器、控制器或其他訊號處理裝置的操作)的基礎的演算法,因此用於實作所述方法實施例的操作的碼或指令可將電腦、處理器、控制器或其他訊號處理裝置轉變成用於實行本文所述方 法的專用處理器。 The methods, processes, and/or operations described herein can be implemented by codes or instructions to be executed by a computer, processor, controller, or other signal processing device. The computer, processor, controller, or other signal processing device may be those described herein or components other than those described herein. Since the algorithm that forms the basis of the method (or the operation of a computer, processor, controller, or other signal processing device) is described in detail, the code or instruction used to implement the operation of the method embodiment can be used for the computer, The processor, controller, or other signal processing device is transformed into the method used to implement the methods described herein. Dedicated processor for law.
本文中所揭露的實施例的控制器、處理器及其他處理特徵可實作於邏輯中,所述邏輯例如可包括硬體、軟體或同時包括兩者。當至少部分地實作於硬體中時,控制器、處理器、及其他處理特徵可為例如包括但不限於以下積體電路的各種積體電路中的任一者:應用專用積體電路、現場可程式化閘陣列、邏輯閘的組合、系統晶片、微處理器、或另一種類型的處理或控制電路。 The controllers, processors, and other processing features of the embodiments disclosed herein may be implemented in logic, which may include hardware, software, or both. When implemented at least partially in hardware, the controller, processor, and other processing features can be, for example, any of various integrated circuits including but not limited to the following integrated circuits: application-specific integrated circuits, Field programmable gate array, combination of logic gates, system chip, microprocessor, or another type of processing or control circuit.
當至少部分地實作於軟體中時,控制器、處理器及其他處理特徵可包括例如用於儲存將例如由電腦、處理器、微處理器、控制器或其他訊號處理裝置執行的碼或指令的記憶體或其他儲存裝置。所述電腦、處理器、微處理器、控制器或其他訊號處理裝置可為本文所述者或除本文所述元件之外的元件。由於詳細闡述了作為形成方法(或電腦、處理器、微處理器、控制器或其他訊號處理裝置的操作)的基礎的演算法,因此用於實作所述方法實施例的操作的碼或指令可將電腦、處理器、控制器或其他訊號處理裝置轉變成用於實行本文所述方法的專用處理器。 When implemented at least partially in software, the controller, processor, and other processing features may include, for example, codes or instructions for storing, for example, a computer, processor, microprocessor, controller, or other signal processing device. Memory or other storage device. The computer, processor, microprocessor, controller, or other signal processing device may be those described herein or components other than those described herein. Since the algorithm that is the basis of the formation method (or the operation of a computer, processor, microprocessor, controller or other signal processing device) is described in detail, the code or instruction used to implement the operation of the method embodiment A computer, processor, controller, or other signal processing device can be transformed into a dedicated processor for implementing the methods described herein.
根據上述實施例中的一或多者,儲存裝置可直接自主機請求進行儲存裝置的內部操作的內部操作時間,且主機可基於所述請求而在內部操作時間期間將關於時間的授權傳遞至儲存裝置。因此,儲存裝置可充分地實行內部操作。 According to one or more of the above embodiments, the storage device can directly request the internal operation time of the internal operation of the storage device from the host, and the host can transfer the authorization regarding time to the storage during the internal operation time based on the request. Device. Therefore, the storage device can fully perform internal operations.
本文中已揭露了各種示例性實施例,且儘管使用具體用語,但該些用語僅用於且應被解釋為通常意義及闡述性意義,而 並非用於限制目的。在某些情形中,除非另外指明,否則結合特定實施例所闡述的特徵、特性、及/或元件可單獨使用或與結合其他實施例所闡述的特徵、特性、及/或元件組合使用。因此,應理解,在不背離在申請專利範圍中所述的實施例的精神及範圍的條件下,可作出形式及細節上的各種改變。 Various exemplary embodiments have been disclosed herein, and although specific terms are used, these terms are only used and should be interpreted as general and explanatory meanings, and Not for restrictive purposes. In some cases, unless otherwise specified, the features, characteristics, and/or elements described in conjunction with specific embodiments may be used alone or in combination with features, characteristics, and/or elements described in conjunction with other embodiments. Therefore, it should be understood that various changes in form and details can be made without departing from the spirit and scope of the embodiments described in the scope of the patent application.
100a:主機 100a: host
300:非揮發性記憶體模組 300: Non-volatile memory module
310L:第一非揮發性記憶體 310L: the first non-volatile memory
310R:第二非揮發性記憶體 310R: second non-volatile memory
320L:第一揮發性記憶體 320L: the first volatile memory
320R:第二揮發性記憶體 320R: second volatile memory
330L:第一資料緩衝器 330L: the first data buffer
330R:第二資料緩衝器 330R: second data buffer
340:記憶體控制電路 340: Memory control circuit
CAD:第二命令/位址 CAD: second command/address
CAN:第一命令/位址 CAN: First command/address
DB:資料緩衝器 DB: data buffer
DQ:資料 DQ: Information
Claims (20)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662325051P | 2016-04-20 | 2016-04-20 | |
US62/325,051 | 2016-04-20 | ||
KR1020160061012A KR102646721B1 (en) | 2016-04-20 | 2016-05-18 | Computing system, nonvolatile memory module and operating method of storage device |
KR10-2016-0061012 | 2016-05-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201738764A TW201738764A (en) | 2017-11-01 |
TWI737703B true TWI737703B (en) | 2021-09-01 |
Family
ID=60301524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106110214A TWI737703B (en) | 2016-04-20 | 2017-03-28 | Nonvolatile memory module and method for operating a storage device |
Country Status (3)
Country | Link |
---|---|
KR (1) | KR102646721B1 (en) |
CN (1) | CN107452423B (en) |
TW (1) | TWI737703B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7048289B2 (en) * | 2017-12-08 | 2022-04-05 | キオクシア株式会社 | Information processing equipment and methods |
TWI708150B (en) * | 2018-05-08 | 2020-10-21 | 華碩電腦股份有限公司 | Motherboard and memory module |
KR20220135504A (en) * | 2021-03-30 | 2022-10-07 | 삼성전자주식회사 | Data Storage device and operating method of data Storage device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200633427A (en) * | 2004-12-16 | 2006-09-16 | Ibm | Usage consciousness in HTTP/HTML for reducing unused data flow across a network |
TW200905473A (en) * | 2007-05-28 | 2009-02-01 | Sandisk Il Ltd | Management of internal operations by a storage device |
US20140064009A1 (en) * | 2012-08-30 | 2014-03-06 | SK Hynix Inc. | Memory device |
US20140071778A1 (en) * | 2012-09-11 | 2014-03-13 | International Business Machines Corporation | Memory device refresh |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005208746A (en) * | 2004-01-20 | 2005-08-04 | Victor Co Of Japan Ltd | Storage device control method and storage operation instruction device control method |
JP4615896B2 (en) * | 2004-05-25 | 2011-01-19 | 富士通セミコンダクター株式会社 | Semiconductor memory device and control method of semiconductor memory device |
KR100918299B1 (en) * | 2007-04-25 | 2009-09-18 | 삼성전자주식회사 | Flash memory device including a row decoder having no bad bolck data storage means and control method thereof |
KR101962874B1 (en) * | 2012-04-24 | 2019-03-27 | 삼성전자주식회사 | Memory device, memory controller, memory system and method of operating the same |
KR102088403B1 (en) * | 2013-08-08 | 2020-03-13 | 삼성전자 주식회사 | Storage device, computer system comprising the same, and operating method thereof |
US9459810B2 (en) * | 2013-12-30 | 2016-10-04 | Sandisk Technologies Llc | Storage module and method for configuring command attributes |
KR102159119B1 (en) * | 2014-05-21 | 2020-09-23 | 에스케이하이닉스 주식회사 | Semiconductor Memory Apparatus |
CN104505117B (en) * | 2014-12-30 | 2017-10-03 | 华中科技大学 | A kind of dynamic memory refresh method and refresh controller |
-
2016
- 2016-05-18 KR KR1020160061012A patent/KR102646721B1/en active IP Right Grant
-
2017
- 2017-03-28 TW TW106110214A patent/TWI737703B/en active
- 2017-04-17 CN CN201710248135.3A patent/CN107452423B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200633427A (en) * | 2004-12-16 | 2006-09-16 | Ibm | Usage consciousness in HTTP/HTML for reducing unused data flow across a network |
TW200905473A (en) * | 2007-05-28 | 2009-02-01 | Sandisk Il Ltd | Management of internal operations by a storage device |
US20140064009A1 (en) * | 2012-08-30 | 2014-03-06 | SK Hynix Inc. | Memory device |
US20140071778A1 (en) * | 2012-09-11 | 2014-03-13 | International Business Machines Corporation | Memory device refresh |
Also Published As
Publication number | Publication date |
---|---|
TW201738764A (en) | 2017-11-01 |
KR20170120470A (en) | 2017-10-31 |
CN107452423B (en) | 2022-11-04 |
KR102646721B1 (en) | 2024-03-14 |
CN107452423A (en) | 2017-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9971697B2 (en) | Nonvolatile memory module having DRAM used as cache, computing system having the same, and operating method thereof | |
US11438016B2 (en) | Error detection code generation circuits of semiconductor devices, memory controllers including the same and semiconductor memory devices including the same | |
TWI724254B (en) | Semiconductor apparatus, memory module and operation method thereof | |
US11481149B2 (en) | Memory module and memory system relating thereto | |
US11023396B2 (en) | Memory system including DRAM cache and cache management method thereof | |
US11869571B2 (en) | Memory device, a controller for controlling the same, a memory system including the same, and a method of operating the same | |
US10019367B2 (en) | Memory module, computing system having the same, and method for testing tag error thereof | |
TWI557562B (en) | Integrated circuit memory device | |
US11789808B2 (en) | Memory devices for performing repair operation, memory systems including the same, and operating methods thereof | |
US10599363B2 (en) | Nonvolatile memory capable of outputting data using wraparound scheme, computing system having the same, and read method thereof | |
US20180285252A1 (en) | Optimized memory access bandwidth devices, systems, and methods for processing low spatial locality data | |
US10929064B2 (en) | Methods of operating mixed device type memory modules, and processors and systems configured for operating the same | |
TWI737703B (en) | Nonvolatile memory module and method for operating a storage device | |
US11593031B2 (en) | Operating method of host device and storage device using credit | |
US10976368B2 (en) | Memory apparatus relating to determination of a failed region and test method thereof, memory module and system using the same | |
US20180095692A1 (en) | Selective memory mode authorization enforcement | |
US20240134568A1 (en) | Computational storage device, method for operating the computational storage device and method for operating host device | |
US20230112776A1 (en) | Operation method of memory module, operation method of memory controller, and operation method of memory system |