TWI814393B - 記憶體裝置、控制邏輯電路和控制記憶體裝置的方法 - Google Patents
記憶體裝置、控制邏輯電路和控制記憶體裝置的方法 Download PDFInfo
- Publication number
- TWI814393B TWI814393B TW111119289A TW111119289A TWI814393B TW I814393 B TWI814393 B TW I814393B TW 111119289 A TW111119289 A TW 111119289A TW 111119289 A TW111119289 A TW 111119289A TW I814393 B TWI814393 B TW I814393B
- Authority
- TW
- Taiwan
- Prior art keywords
- address
- column
- access number
- entry
- address entry
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000012544 monitoring process Methods 0.000 claims abstract description 35
- 230000015654 memory Effects 0.000 claims description 148
- 230000016571 aggressive behavior Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 4
- 102100021568 B-cell scaffold protein with ankyrin repeats Human genes 0.000 description 3
- 101000971155 Homo sapiens B-cell scaffold protein with ankyrin repeats Proteins 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 241001589086 Bellapiscis medius Species 0.000 description 1
- 241000724291 Tobacco streak virus Species 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 235000012431 wafers Nutrition 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Classifications
-
- 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/408—Address circuits
- G11C11/4087—Address decoders, e.g. bit - or word line decoders; Multiple line decoders
-
- 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
- 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
-
- 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
- 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/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- 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/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Logic Circuits (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本發明提供一種控制列錘的方法,所述方法在表示在列錘監視時間框期間存取的位址條目與存取數之間的相關性的位址表中交換第一位址條目與具有最小第二存取數目的第二位址條目,且隨機地交換第一位址條目與具有並非為最大值的第三存取數目的第三位址條目,由此防止駭客模式的列錘攻擊輕易執行。
Description
本揭露是關於半導體記憶體裝置,且更具體而言,是關於一種記憶體裝置及控制所述記憶體裝置的方法,所述記憶體裝置對列錘位址隨機地執行平坦化操作及隨機選擇操作以防止造成列錘資訊丟失的駭客模式列錘攻擊。
相關申請的交叉參考
本申請案基於以下申請案且主張以下申請案的優先權:在韓國智慧財產局於2021年5月26日申請的韓國專利申請案第10-2021-0067897號及於2021年10月13日申請的韓國專利申請案第10-2021-0135933號,所述申請案的揭露內容以全文引用的方式併入本文中。
動態隨機存取記憶體(Dynamic random access memory;DRAM)為將資料的每一位元儲存於記憶胞中的一種隨機存取半導體記憶體。使用半導體晶片的系統使用DRAM作為系統的主記憶體或工作記憶體來儲存由主機使用的資料或指令及/或來執行計算操作。一般而言,DRAM在主機的控制下寫入資料或讀取資料。在執行計算操作時,主機自DRAM檢索指令及/或資料,執行所述指令及/或使用所述資料來執行計算操作。當計算操作存在結果時,主機將結果寫入DRAM。
為了提高DRAM的容量及整合度,已減小DRAM的胞大小。歸因於繁重工作量,一些基於DRAM的系統間或經歷斷續故障。故障可歸因於對單一記憶體列的重複存取,例如列錘事件而發生。因為鄰近於重複地存取的記憶胞列的記憶胞由於列錘條件而受到干擾,故可發生資料損壞。由列錘條件影響的記憶胞可由目標刷新操作刷新。
為了管理列錘條件,DRAM可在預設時間期間監視存取位址當中密集地存取的錘位址。DRAM可將錘位址儲存於位址儲存器的有限數目個暫存器中;產生指示實體地鄰近於對應於錘位址的記憶胞列的記憶胞列的位址的錘刷新位址,及連接至對應於錘刷新位址的記憶胞列的目標刷新記憶胞。
然而,出於干擾DRAM的列錘管理操作的目的,攻擊者可使用假目標列錘位址。由於包含假目標列錘位址的存取位址是新儲存於位址儲存器中的,故儲存於位址儲存器中的列錘位址可能被逐出位址儲存器且所監視的列錘資訊可能丟失。問題在於被逐出的錘位址易受列錘的攻擊。
因此,需要針對列錘位址被惡意地逐出位址儲存器以導致列錘資訊丟失的駭客模式列錘攻擊的對策。
本揭露提供一種記憶體裝置及一種操作所述記憶體裝置的方法,所述記憶體裝置包含控制邏輯電路以用於防止密集地存取的列錘位址被惡意地逐出位址儲存器以導致列錘資訊丟失的駭客模式列錘攻擊。
根據實施例,記憶體裝置包含包含多個記憶胞列的記憶胞陣列。控制邏輯電路經組態以在列錘監視時間框期間監視關於多個記憶胞列當中的記憶胞列的列位址,且將列位址作為位址條目儲存於儲存位址條目的存取數目的位址表中。刷新控制電路經組態以在列錘監視時間框期間刷新實體地鄰近於對應於儲存於位址表中的具有最大存取數目的位址條目的另一記憶胞列的記憶胞列。控制邏輯電路對儲存於位址表中的位址條目執行基於計數器的平坦化操作及隨機交換操作。
根據另一實施例,控制邏輯電路包含指示在列錘監視時間框期間存取的列位址與存取數目之間的相關性的邏輯電路。位址表儲存對應於第一列位址及第一存取數目的第一位址條目。第一交換電路經組態以自位址表選擇具有第二存取數目的第二位址條目,所述第二存取數目為位址表中的最小存取數目;且執行交換第一位址條目與第二位址條目的第一交換操作。第二交換電路經組態以自位址表選擇具有第三存取數目的第三位址條目且執行與第一位址條目及第三位址條目相關的第二交換操作。第三存取數目並非為位址表中的最大值。
根據另一實施例,操作包含多個記憶胞列的記憶體裝置的方法包含在列錘監視時間框期間監視關於多個記憶胞列當中的第一記憶胞列的第一列位址。將對應於第一列位址及第一存取數目的第一位址條目儲存於位址表中。自位址表選擇具有第二存取數目的第二位址條目,所述第二存取數目為位址表中的最小存取數目。執行與第一位址條目及第二位址條目相關的第一交換操作。自位址表隨機地選擇具有第三存取數目的第三位址條目,所述第三存取數目不具有位址表中的最大值。執行與第一位址條目及第三位址條目相關的第二交換操作。在列錘監視時間框期間刷新實體地鄰近於對應於儲存於位址表中的具有最大存取數目的位址條目的另一記憶胞列的記憶胞列。
圖1為示出根據本揭露的實例實施例的包含用於控制列錘的記憶體裝置的系統的圖。
參考圖1,系統100可包含主機裝置110及記憶體裝置120。主機裝置110可經由記憶體匯流排130以通信方式連接至記憶體裝置120。
舉例而言,主機裝置110可包含計算系統,諸如電腦、筆記本電腦、伺服器、工作站、便攜式通信終端機、個人數位助理(personal digital assistant;PDA)、便攜式多媒體播放器(portable multimedia player;PMP)、智慧型手機或可穿戴式裝置。替代地,主機裝置110可包含包含於計算系統中的一些組件,諸如圖形卡。
主機裝置110可為系統100中執行一般計算操作的功能區塊且可對應於中央處理單元(central processing unit;CPU)、數位信號處理器(digital signal processor;DSP)、圖形處理單元(graphics processing unit;GPU)或應用程式處理器(application processor;AP)。主機裝置110可包含管理傳輸至記憶體裝置120及自記憶體裝置120接收的資料的記憶體控制器112。
記憶體控制器112可根據主機裝置110的記憶體請求存取記憶體裝置120。記憶體控制器112可包含用於執行與記憶體裝置120的介接操作的記憶體實體層介面(記憶體PHY),諸如選擇對應於記憶體位置的列及行,將資料寫入記憶體位置或讀取所寫入資料。記憶體PHY可包含針對記憶體控制器112與記憶體裝置120之間的有效通信所需的信號、頻率、時序、驅動、詳細操作參數以及功能性提供的實體層或電層及邏輯層。根據電子裝置工程聯合委員會(joint electron device engineering council;JEDEC)標準,記憶體PHY可支持雙資料速率(double data rate;DDR)及/或低功率雙資料速率(low power double data rate;LPDDR)協定特徵。
記憶體控制器112可經由記憶體匯流排130連接至記憶體裝置120。為了圖式簡潔起見,時脈信號CK、命令/位址信號CA、資料DQ以及晶片選擇信號CS示出為各自經由記憶體控制器112與記憶體裝置120之間的記憶體匯流排130的一個信號線提供,但實際上可各自經由多個信號線或匯流排提供。在記憶體控制器112與記憶體裝置120之間的信號線可連接至其連接件。連接件可包含接腳、滾珠、信號線或其他硬體組件。
時脈信號CK可經由記憶體匯流排130的時脈信號線自記憶體控制器112傳輸至記憶體裝置120。命令/位址信號CA可經由記憶體匯流排130當中的命令/位址匯流排自記憶體控制器112傳輸至記憶體裝置120。晶片選擇信號CS可經由記憶體匯流排130當中的晶片選擇線自記憶體控制器112傳輸至記憶體裝置120。舉例而言,當晶片選擇信號CS激活至邏輯高位準時經由命令/位址匯流排傳輸的信號可指示命令信號。資料DQ可經由由雙向信號線構成的記憶體匯流排130的資料匯流排自記憶體控制器112傳輸至記憶體裝置120或自記憶體裝置120傳輸至記憶體控制器112。
記憶體裝置120可向其寫入資料DQ或自其讀取資料DQ且在記憶體控制器112的控制下執行刷新操作。舉例而言,記憶體裝置120可包含雙資料速率同步動態隨機存取記憶體(double data rate synchronous dynamic random access memory;DDR SDRAM)裝置。然而本揭露的範疇不限於此,且記憶體裝置120可包含揮發性記憶體裝置中的任一者諸如LPDDR SDRAM、寬輸入/輸出(input/output;I/O)動態隨機存取記憶體(DRAM)、高頻寬記憶體(high bandwidth memory;HBM)以及混合式記憶體立方體(hybrid memory cube;HMC)。記憶體裝置120可包含記憶胞陣列200及列錘控制電路210。
記憶胞陣列200可包含多個字元線、多個位元線以及形成於多個字元線及多個位元線的交叉點處的多個記憶胞。記憶胞陣列200的記憶胞可包含揮發性記憶胞,例如DRAM胞。
列錘控制電路210可控制干擾列錘資訊的駭客模式的列錘自儲存用於記憶胞陣列200的至少一個列錘位址的位址表丟失。列錘控制電路210可對儲存於位址表中的列錘位址執行平坦化操作及隨機選擇操作以防止具有較小存取數目的列錘位址被逐出暫存器。由列錘控制電路210對列錘位址隨機地執行平坦化操作及隨機選擇操作,且因此攻擊者可能不確定列錘是如何由記憶體裝置120控制的。由於列錘控制操作的隨機性,故駭客模式列錘攻擊可能不會輕易執行。因此,列錘控制電路210可防止列錘資訊丟失且防止駭客模式列錘攻擊輕易執行。
圖2為示出根據本揭露的實施例的記憶體裝置的方塊圖。圖2示出作為DRAM實施的圖1的記憶體裝置120。可注意,圖2中所示出的DRAM的組態為實例且並非實際DRAM的組態。此外,本揭露不受圖2中所示出的DRAM的實例組態限制。
參考圖1及圖2,記憶體裝置120可包含記憶胞陣列200、列解碼器202、行解碼器206、輸入/輸出閘控電路208、控制邏輯電路220、位址緩衝器230、刷新控制電路240、資料輸入緩衝器260以及資料輸出緩衝器270。儘管圖2中未示出,但記憶體裝置120可更包含時脈緩衝器、模式暫存器集合(mode register set;MRS)、組控制邏輯、電壓產生電路等。
位址緩衝器230可自記憶體控制器112接收包含組位址、列位址ROW_ADDR以及行位址COL_ADDR的位址ADDR。位址緩衝器230可將所接收的組位址提供至組控制邏輯,將所接收的列位址ROW_ADDR提供至列解碼器202以及將所接收的行位址COL_ADDR提供至行解碼器206。
記憶胞陣列200可包含在矩陣中以列及行配置的多個記憶胞。記憶胞陣列200可包含連接至多個記憶胞的多個字元線WL及多個位元線BL。多個字元線WL可連接至多個記憶胞的列,且多個位元線BL可連接至多個記憶胞的行。可藉由連接至多個位元線BL的感測放大器感測及擴增連接至經激活的字元線WL的記憶胞的資料。
記憶胞陣列200可包含第一組BANK1至第四組BANK4。組控制邏輯可產生回應於組位址的組控制信號,且回應於組控制信號,可激活對應於第一組BANK1至第四組BANK4當中的組位址的組的列解碼器202及行解碼器206。儘管本發明實施例示出包含四個組的記憶體裝置120的實例,但取決於實施例,記憶體裝置120可包含任何數目個組。
列解碼器202及行解碼器206可經配置以對應於第一組BANK1至第四組BANK4中的每一者,且連接至對應於組位址的組的列解碼器202及行解碼器206可經激活。列解碼器202可解碼自位址緩衝器230所接收到的列位址ROW_ADDR以選擇對應於多個字元線WL當中的列位址ROW_ADDR的字元線WL,且可將所選擇的字元線WL連接至激活多個字元線WL的字元線驅動器。
行解碼器206可選擇記憶胞陣列200的多個位元線BL當中的某些位元線BL。行解碼器206可在突發模式下基於行位址COL_ADDR解碼逐漸增加+1的突發位址以產生行選擇信號,且可將由行選擇信號選擇的位元線BL連接至輸入/輸出閘控電路208。突發位址指代用於讀取及/或寫入命令可根據突發長度BL存取的行位置的位址。
輸入/輸出閘控電路208可包含用於儲存由行選擇信號選擇的位元線BL的讀取資料的讀取資料鎖存器及用於將寫入資料寫入記憶胞陣列200的寫入驅動器。儲存於輸入/輸出閘控電路208的讀取資料鎖存器中的讀取資料可經由資料輸出緩衝器270提供至資料匯流排,且作為資料DQ輸出至主機裝置110。作為資料DQ自主機裝置輸出的寫入資料可經由連接至資料匯流排的資料輸入緩衝器260及經由輸入/輸出閘控電路208的寫入驅動器寫入記憶胞陣列200。
控制邏輯電路220可接收時脈信號CK及命令CMD且產生用於控制操作時序及/或記憶體裝置120的記憶體操作的控制信號。控制邏輯電路220可將控制信號提供至記憶體裝置120的電路以如由MRS儲存的操作及控制參數中的設置進行操作。控制邏輯電路220可藉由使用控制信號自記憶胞陣列200讀取資料且將資料寫入記憶胞陣列200。儘管控制邏輯電路220及位址緩衝器230示出為圖2中的單獨組件,但控制邏輯電路220及位址緩衝器230可實施為一個不可分離的組件。此外,儘管命令CMD及位址ADDR示出為圖2中的單獨信號,但位址可視為包含於如LPDDR標準等建議的命令中。
控制邏輯電路220可經組態以偵測在列錘監視時間框期間密集地存取的列錘位址且執行實體地鄰近於對應於列錘位址的記憶胞列的記憶胞列的目標刷新操作。控制邏輯電路220可將存取位址儲存於位址表中且可對儲存於位址表中的位址條目執行平坦化操作及隨機選擇操作。
控制邏輯電路220可對位址表中的位址條目隨機地執行平坦化操作及隨機選擇操作以防止具有較小存取數目的位址條目被逐出位址表。歸因於在每一列錘監視時間框期間對位址條目執行的平坦化操作及隨機選擇操作的隨機性,控制邏輯電路220可防止駭客試圖將列錘位址惡意地逐出位址儲存器的駭客模式列錘攻擊輕易執行。
控制邏輯電路220可包含在列錘監視時間框期間控制駭客模式的假目標列錘的列錘控制電路210。列錘控制電路210在下文參考圖3描述。在以下實施例中,描述列錘控制電路210控制駭客模式的假目標列錘,但本揭露的實施例不限於此。舉例而言,列錘控制電路210可描述為對應於控制邏輯電路220中提供的組態,且控制邏輯電路220可描述為控制駭客模式的假目標列錘。
回應於刷新命令CMD,控制邏輯電路220可控制刷新控制電路240藉由將刷新計數值增加+1而執行正常刷新操作。此外,控制邏輯電路220可控制刷新控制電路240基於列錘位址RH_ADDR執行目標列刷新操作。刷新控制電路240可產生對應於將對其執行正常刷新操作及/或目標列刷新操作的記憶胞列的刷新位址REF_ADDR。
圖3為示出根據本揭露的實施例的列錘控制電路的方塊圖。圖4為示出圖2的記憶體裝置的刷新操作的圖。圖5為示出重新組態的圖3的位址表的實例的原理圖。圖6為示出圖3的列錘控制電路的隨機數產生器的圖。在下文中,列錘控制電路統指在硬體、韌體、軟體或其組合中實施的用於控制或管理列錘的電路。
參考圖2及圖3,列錘控制電路210可經組態以監視在記憶胞陣列200中的一或多個記憶胞列上的列錘及偵測某一記憶胞列的列錘。某一記憶胞列指代在預設時間週期期間具有最大存取數目或最大激活命令數目的記憶胞列。如圖4中所示出,預設時間週期可設置為JEDEC標準中所定義的約32毫秒或約64毫秒的刷新視窗時間tREFw。根據實施例,預設時間週期可設置為圖4的基本刷新率時間tREFi。基本刷新率定義為32毫秒刷新視窗中約8K的刷新命令REFRESH的數目。在下文中,預設時間週期可稱為由控制邏輯電路220設置的列錘監視時間框或時間視窗。
列錘控制電路210可偵測在列錘監視時間框期間密集地存取的列錘位址且防止駭客模式的假目標列錘。列錘控制電路210可包含位址表310、第一交換電路320、比較器電路330、隨機數產生器340以及第二交換電路350。位址表310可包含分配至位址儲存器312及計數器儲存器314的暫存器。
如圖5中所示出,位址表310的位址儲存器312及計數器儲存器314可儲存用於激活記憶胞陣列200的記憶胞列的存取位址及存取數目。示出為圖5中的實例的位址表310包含四個暫存器且可根據時間點T1至時間點T3重新組態。
假定在圖5中,存取數目為12的0x02位址條目、存取數目為31的0x06位址條目、存取數目為15的0x0A位址條目以及存取數目為27的0x0C位址條目在預設狀態下預先儲存於位址表310的位址儲存器312及計數器儲存器314中。
當在時間T1處應用對應於0x0A記憶胞列的存取位址時,儲存於位址儲存器312中的0x0A位址條目的存取數目遞增1,且因此存取數目可自15增加至16。當在時間T2處應用對應於0x02記憶胞列的存取位址時,儲存於位址儲存器312中的0x02位址條目的存取數目遞增1,且因此存取數目可自12增加至13。隨後,在時間T3處,可應用對應於0x0E記憶胞列的存取位址。新0x0E位址條目可儲存於位址表310中,且因為位址表310已滿故不存在自由空間。因此,最小存取數目為13的0x02位址條目可能被逐出,且0x0E位址條目可以存取數目1儲存於自由空間中。將逐出的0x02位址條目為在位址表310中具有最小存取的位址,但隨著0x02位址條目被逐出位址表310,0x02位址上的列錘資料可能丟失。
以此方式,攻擊者可使用儲存於位址表310中的假目標條目以便致使列錘位址被逐出位址表310。為了防止駭客模式的模式,諸如假目標條目,列錘控制電路210可對儲存於位址表310中的位址條目隨機地執行平坦化操作及隨機選擇操作。
圖3中,列錘控制電路210可接收用於激活記憶胞陣列200的記憶胞列的存取位址且將具有第一存取數目(例如,1)的第一位址條目儲存於位址表310的自由空間中。當位址表310中不存在自由空間時,第一交換電路320可自位址表310選擇具有第二存取數目的第二位址條目且執行交換第一位址條目與第二位址條目的第一交換操作。第二存取數目可設置為儲存於位址表310中存取數目當中最小的存取數目。
當交換第一位址條目與第二位址條目時,第一交換電路320可將第一位址條目的存取數目設置為自第二存取數目增加1的第一值。因此,第一位址條目的存取數目可自第一存取數目改變為第二存取數目+1。以此方式執行的第一交換操作可稱為基於計數器的平坦化操作。
比較器電路330可自位址表310隨機地選擇具有第三存取數目的第三位址條目。第三存取數目可設置為儲存於位址表310中並非為存取數目當中的最大值的存取數目。
隨機數產生器340可經組態以隨機地選擇由比較器電路330選擇的並非最大值的存取數目的位址中的一者。隨機數產生器340可藉由使用用以產生隨機數的演算法而產生隨機數。舉例而言,隨機數產生器340可根據線性同餘隨機數產生演算法、中間平方隨機數產生演算法、梅森旋轉隨機數產生演算法(Mersenne Twister random number generation algorithm)等產生隨機數且輸出所述隨機數。此外,隨機數產生器340可具有用於產生隨機數的硬體邏輯。
舉例而言,隨機數產生器340可組態為基於原生多項式產生及輸出線形隨機數序列的線性回饋移位暫存器(linear feedback shift register;LFSR)。如圖6中所示出,LFSR可包含移位暫存器單元601、回饋常數單元602以及線性回饋函數單元603。
參考圖6,移位暫存器單元601可包含n個移位暫存器S
0、移位暫存器S
1、…移位暫存器S
n-1,移位暫存器S
0、移位暫存器S
1、…移位暫存器S
n-1可接收且移位線性回饋函數單元603的輸出P,且移位暫存器S
0、移位暫存器S
1、…移位暫存器S
n-1可將其輸出分別一對一地傳輸至回饋常數單元602的級。
回饋常數單元602將模式0及模式1的值作為原生多項式的係數,且將指示連接狀態的C
i(C
0=1,I=1、2、…)的值輸出至移位暫存器單元601。回饋常數單元602可接收自移位暫存器單元601輸出的位元s
0、位元s
1、…、位元s
n-1,且將輸出及其常數值C
i(C
0=1,I=1、2、…)傳輸至線性回饋函數單元603。
線性回饋函數單元603可接收自回饋常數單元602輸出的位元s
0、位元s
1、…、位元s
n-1,根據等式1產生輸出P以及將輸出P傳輸至移位暫存器單元601。
等式1
P=
s
0 +C
1s
1 +…+
C
n-1s
n-1
以下為線性回饋移位暫存器(LFSR)的操作過程。線性回饋函數單元603可計算且輸出輸出P。隨後,移位暫存器單元601輸出所有位元s
0、位元s
1、…、位元s
n-1且接收及移位線性回饋函數單元603的輸出P。移位暫存器S
0、移位暫存器S
1、…移位暫存器S
n-1將位元s
0、位元s
1、…、位元s
n-1輸出至回饋常數單元602。每當重複操作過程,自移位暫存器單元601輸出的所有位元s
0、位元s
1、…、位元s
n-1可輸出為隨機值。基於自移位暫存器單元601輸出的隨機值,比較器電路330可自位址表310隨機地選擇具有並非為最大值的第三存取數目的位址條目。
返回參考圖3,第二交換電路350可執行與第三位址條目及第一位址條目相關的第二交換操作,所述第三位址條目具有由比較器電路330及隨機數產生器340自位址表310隨機地選出的第三存取數目。第二交換操作可為隨機交換操作,其中第一位址條目的第二存取數目+1與第三存取數目交換。根據實施例,第二交換操作可為隨機交換操作,其中第一位址條目與第三位址條目交換。
圖7為示出根據本揭露的實施例的控制邏輯電路的操作的流程圖。
結合圖1至圖6參考圖7,系統100可在操作S710中執行初始化。當系統100通電時,記憶體控制器112及記憶體裝置120可根據預設方法執行初始設置操作。可在記憶體裝置120的初始化中設置預設操作參數。舉例而言,可設置列錘監視時間框tREFi。此外,位址表310可重設為已清除每一列錘監視時間框tREFi。
在操作S720中,控制邏輯電路220可執行監視列錘的操作。在監視列錘的操作(操作S720)中,控制邏輯電路220可計數在列錘監視時間框tREFi期間存取的位址的存取數目,且將存取位址及存取數目儲存於位址表310中。
在操作S730中,控制邏輯電路220可對操作S720中所獲得且儲存於位址表310中的存取位址條目執行基於計數器的平坦化操作及隨機交換操作。將參考圖8詳細描述平坦化操作及隨機交換操作S730。
在操作S740中,控制邏輯電路220可判定列錘監視時間框tREFi是否流逝。當列錘監視時間框tREFi尚未流逝(NO)時,過程可繼續進行操作S720。控制邏輯電路220可在操作S720中對存取位址重複列錘監視操作。否則,當列錘監視時間框tREFi已流逝(YES)時,過程可繼續進行操作S750。
在操作S750中,控制邏輯電路220可基於位址條目執行目標列刷新操作,所述位址條目具有儲存於位址表310中的位址條目的存取數目當中的最大存取數目。控制邏輯電路220可將具有最大存取數目的位址條目作為列錘位址RH_ADDR提供至刷新控制電路240。刷新控制電路240可產生指示實體地鄰近於對應於列錘位址RH_ADDR的記憶胞列的記憶胞列的位址的錘刷新位址及連接至對應於錘刷新位址的記憶胞列的目標刷新記憶胞。在執行操作S750的目標列刷新操作之後,過程繼續進行操作S710,且因此可清除位址表310中的位址條目及存取數目。
圖8為示出根據本揭露的實施例的控制邏輯電路的操作的流程圖。圖8為具體地解釋參考圖7所描述的基於計數器的平坦化操作及隨機交換操作S730的流程圖。圖9至圖11為示出根據圖8的操作流程在每一時間點Ta至時間點Td重新組態位址表310的圖。
首先,根據參考圖所7描述的列錘監視操作(操作S720),控制邏輯電路220可將存取位址條目及存取數目儲存於位址表310中。假定位址表310中的位址儲存器312及計數器儲存器314由如圖9中所示出的四個暫存器構成。舉例而言,假定存取數目為32的0x02位址條目、存取數目為15的0x06位址條目、存取數目為8的0x0A位址條目以及存取數目為92的0x0C位址條目預先儲存於圖9的位址表310中的位址儲存器312及計數器儲存器314中。
結合圖1至圖7參考圖8,在操作S800中,控制邏輯電路220可接收第一列位址連同列激活命令。在操作S810中,控制邏輯電路220可判定所接收的第一列位址是否匹配儲存於位址表310中的位址條目。作為判定的結果,當所接收的第一列位址匹配位址條目(YES)時,過程可繼續進行操作S820,且當所接收的第一列位址並不匹配位址條目(NO)時,過程可繼續進行操作S830。在操作S820中,控制邏輯電路220可使匹配的位址條目的計數值遞增1。
在操作S830中,因為位址表310的位址條目已滿,控制邏輯電路220可判定是否不存在自由空間。作為判定的結果,當存在自由空間(NO)時,過程可繼續進行操作S840,且當不存在自由空間時,過程可繼續進行操作S831。在操作S840中,控制邏輯電路220可將第一列位址條目儲存於位址表310的自由空間中。
在操作S831中,控制邏輯電路220可對位址表310的位址條目執行基於計數器的平坦化操作。控制邏輯電路220可自儲存於位址表310中的位址條目當中選擇具有最小存取數目的位址條目。控制邏輯電路220可藉由使用第一交換電路320交換具有最小存取數目的位址條目與第一列位址條目。
可在圖9的時間點Ta及時間點Tb處執行操作S831。在時間點Ta處,可存取0x0E位址條目。當所接收的0x0E位址條目並不匹配儲存於位址表310中的位址條目(操作S810)且位址表310中不存在自由空間(操作S830)時,控制邏輯電路220可選擇最小存取數目為8的0x0A位址條目。第一交換電路320可交換所選擇的0x0A位址條目與0x0E位址條目。0x0E位址條目可由待儲存於位址表310中的0x0A位址條目替換。在此情況下,第一交換電路320可儲存藉由使存取數目為8的所交換的0x0A位址條目遞增第一值(例如,1)獲得的0x0E位址條目的存取數目。舉例而言,0x0E位址條目的存取數目可儲存為9。
在操作S832中,控制邏輯電路220可對位址表310的位址條目執行隨機選擇操作。控制邏輯電路220可藉由使用隨機數產生器340隨機地選擇位址表310的位址條目中的任一者。
在操作S833中,控制邏輯電路220可藉由使用比較器電路330來判定藉由在操作S832中的隨機選擇操作所選擇的位址條目的存取數目是否不是最大值。作為判定的結果,當存取數目為最大值(NO)時,過程可繼續進行操作S832,且當存取數目並非為最大值(YES)時,過程可繼續進行操作S834。可重複操作S832及操作S833直至具有除最大值以外的存取數目的位址條目經選擇。
可在圖10的時間點Tc處執行操作S832及操作S833。在時間點Tc處,比較器電路330可自位址表310選擇除作為最大值的存取數目92外的存取數目32及存取數目15中的一者。舉例而言,可由比較器電路330選擇存取數目15。
在操作S834中,控制邏輯電路220可對位址表310的位址條目執行隨機交換操作。控制邏輯電路220可藉由使用第二交換電路350交換由比較器電路330所選擇的並非為最大值的存取數目與第一列位址條目的存取數目。
可在圖11的時間點Td處執行操作S834。在時間點Td處,第二交換電路350可交換在操作S832及操作S833中所選擇的並非為最大存取數目的存取數目15與0x0E位址條目的存取數目9。因此,0x0E位址條目的存取數目可自9改變至15,且0x06位址條目的存取數目可自15改變至9。根據實施例,0x0E位址條目可與0x06位址條目交換,而並非僅藉由多個存取遞增。
攻擊者可能無法確定以此方式對儲存於位址表310中的位址條目隨機地執行平坦化操作及隨機交換操作S730。此外,歸因於在每一列錘監視時間框期間的平坦化操作及隨機交換操作S730的隨機性,駭客模式的假目標列錘攻擊可能無法輕易執行。因此,控制邏輯電路220可防止列錘資訊丟失且防止駭客模式列錘攻擊輕易執行。
圖12為示出根據本揭露的實例實施例的用於控制列錘的記憶體裝置的視圖。圖12示出在HBM中實施的圖1的記憶體裝置120。可注意,圖12中所示出的HBM組態作為實例提供且並非為實際HBM組態。此外,本揭露不受圖12中所示出的HBM組態的實例的限制。在下文中,使用附接至不同圖式中的相同圖示元件符號的下標(例如,120a的a)以區分具有類似或相同功能的多個電路。出於便於描述起見,在下文中可將記憶體裝置120a稱為HBM。
參考圖1及圖12,HBM 120a可經由JEDEC標準的HBM協定連接至主機裝置110。HBM協定為三維堆疊記憶體(例如,DRAM)的高效能隨機存取記憶體(RAM)介面。與其他DRAM技術相比,HBM 120a通常實現更寬頻寬,同時在實質上較小外觀尺寸中消耗較少功率(例如,DDR4、圖形DDR5(GDDR5)等等)。
HBM 120a可藉由包含具有與彼此無關的介面的多個通道CH1至通道CH8而具有高頻寬。HBM 120a可包含多個晶粒,例如邏輯晶粒910(910(或緩衝器晶粒))及堆疊於邏輯晶粒910上的一或多個核心晶粒920。圖12示出第一核心晶粒921至第四核心晶粒924設置於HBM 120a中的實例,但核心晶粒920的數目可不同地變化。核心晶粒920可稱為記憶體晶粒。
第一核心晶粒921至第四核心晶粒924中的每一者可包含一或多個通道。圖12示出第一核心晶粒921至第四核心晶粒924中的每一者包含兩個通道且HBM 120a包含八個通道CH1至通道CH8的實例。舉例而言,第一核心晶粒921可包含第一通道CH1及第三通道CH3,第二核心晶粒922可包含第二通道CH2及第四通道CH4,第三核心晶粒923可包含第五通道CH5及第七通道CH7以及第四核心晶粒924可包含第六通道CH6及第八通道CH8。
邏輯晶粒910可包含與主機裝置110通信的介面電路911,且經由介面電路911自主機裝置110接收命令/位址信號及資料。主機裝置110可經由對應於第一通道CH1至第八通道CH8的匯流排130傳輸命令/位址信號及資料,且匯流排130可經形成以劃分為用於每一通道或匯流排130的一些可由至少兩個通道共用。介面電路911可將命令/位址信號及資料傳輸至主機裝置110經由其請求記憶體操作或算術處理的通道。此外,根據本揭露的實例實施例,核心晶粒920中的每一者或通道中的每一者可包含處理器內記憶體(processor-in-memory;PIM)電路。
主機裝置110可提供命令/位址信號及資料使得多個算術操作或內核的至少一些可由HBM 120a執行,且由主機裝置110指定的通道的PIM電路可執行算術處理。舉例而言,當所接收的命令/位址信號指示算術處理時,對應通道的PIM電路可藉由使用自主機裝置110提供的寫入資料及/或自對應通道讀取的資料執行算術處理。在另一實例中,當經由HBM 120a的對應通道所接收的命令/位址信號指示記憶體操作時,可執行對資料的存取操作。
根據實施例,第一通道CH1至第八通道CH8中的每一者可包含多個組,且一或多個處理元件可設置於第一通道CH1至第八通道CH8中的每一者中的PIM電路中。舉例而言,每一通道中的處理元件的數目可等於組的數目或當處理元件的數目小於組的數目時,可在至少兩個組當中共用一個處理元件。第一通道CH1至第八通道CH8中的每一者中的PIM電路可執行由主機裝置110卸載的內核。
根據實施例,第一通道CH1至第八通道CH8中的每一者可包含參考圖1至圖11所描述的列錘控制電路210。第一通道CH1至第八通道CH8中的每一者可包含表示在列錘監視時間框tREFi期間存取的列位址與存取數目之間的相關性的邏輯電路,且邏輯電路可包含儲存對應於第一列位址的第一位址條目及第一存取數目的位址表。第一通道CH1至第八通道CH8中的每一者可執行平坦化操作及隨機選擇操作,藉由所述操作將第一位址條目與具有位址表中的最小第二存取數目的第二位址條目交換,且可隨機地執行交換第一位址條目與具有第三存取數目的第三位址條目的隨機交換操作,所述第三存取數目並非為位址表中的最大值。因此,第一通道CH1至第八通道CH8中的每一者可防止具有較小存取數目的位址條目被逐出暫存器且可防止駭客模式列錘攻擊輕易執行。
此外,邏輯晶粒910可更包含矽穿孔(through silicon via;TSV)區912、HBM實體層介面(HBM physical layer interface;HBM PHY)區913以及串行器/解串器(serializer/deserializer;SERDES)區914。TSV區912為其中形成用於與核心晶粒920通信的TSV的區,且為其中形成對應於第一通道CH1至第八通道CH8的匯流排130的區。當第一通道CH1至第八通道CH8中的每一者具有128位元的頻寬時,TSV可包含用於1024位元的資料輸入/輸出的組態。
HBM PHY區913可包含用於與記憶體控制器112及第一通道CH1至第八通道CH8通信的多個輸入/輸出電路,且例如,HBM PHY區913可包含用於將第一通道CH1至第八通道CH8連接至記憶體控制器112的一或多個互連電路。HBM PHY區913可包含針對記憶體控制器112與第一通道CH1至第八通道CH8之間的有效通信所需的信號、頻率、時序、驅動、詳細操作參數以及功能性提供的實體層或電層及邏輯層。HBM PHY區913可執行記憶體介接,諸如針對對應通道選擇對應於記憶胞的列及行,將資料寫入記憶胞或自記憶胞讀取所寫入的資料。HBM PHY區913可支持JEDEC標準的HBM協定的特徵。
SERDES區914為在主機裝置110的處理器的處理輸送量增加及對記憶體頻寬的需求增加時提供JEDEC標準的SERDES介面的區。SERDES區914可包含SERDES傳輸器、SERDES接收器以及控制器。SERDES傳輸器可包含並列至串列電路及傳輸器,接收並列資料流且串列化所接收的並列資料流。SERDES接收器可包含接收放大器、等化器、時脈與資料恢復電路以及用以接收串列資料流且並列化所接收的串列資料流的串列至並列電路。控制器可包含誤差偵測電路、誤差校正電路以及暫存器,諸如先進先出儲存器(first in first out;FIFO)。
圖13為示出根據本揭露的實施例的包含用於控制列錘的記憶體裝置的系統的方塊圖。
參考圖13,系統1000可包含攝影機1100、顯示器1200、音頻處理器1300、數據機1400、DRAM 1500a及DRAM 1500b、快閃記憶體1600a及快閃記憶體1600b、I/O裝置1700a及I/O裝置1700b以及應用程式處理器(AP)1800。系統1000可實施為膝上型電腦、行動電話、智慧型手機、平板個人電腦(personal computer;PC)、可穿戴式裝置、醫療裝置,或物聯網(internet of things;IOT)裝置。此外,系統1000可實施為伺服器或PC。
攝影機1100可根據使用者的控制捕獲靜態影像或移動影像,且可將所捕獲的影像或影像資料儲存在其中或將所捕獲的影像或影像資料傳輸至顯示器1200。音頻處理器1300可處理包含在快閃記憶體1600a及快閃記憶體1600b或網路的內容中的音頻資料。數據機1400可調變信號,且經由有線/無線通信傳輸所調變的信號,且接收器可接收及解調變所調變的信號以獲得原始信號。I/O裝置1700a及I/O裝置1700b可包含具有數位輸入功能及/或數位輸出功能的裝置,諸如通用串列匯流排(Universal Serial Bus;USB)或儲存器、數位攝影機、安全數位(secure digital;SD)卡、數位多功能光碟(digital versatile disc;DVD)、網路配接器以及觸控式螢幕。
AP 1800可使用控制器1810及介面1830完全控制系統1000的操作。AP 1800可控制顯示器1200使得儲存於快閃記憶體1600a及快閃記憶體1600b中的部分內容顯示於顯示器1200上。當經由I/O裝置1700a及I/O裝置1700b接收到使用者輸入時,AP 1800可執行對應於使用者輸入的控制操作。AP 1800可包含加速器區塊,其為人工智慧(artificial intelligence;AI)資料算術的專用電路,或可包含自AP 1800分離的加速器1820。DRAM 1500b可另外安裝於加速器區塊或加速器1820中。加速器1820可包含執行AP 1800的某一功能的功能區塊,加速器1820可包含:GPU,其為用於處理圖形資料的功能區塊;神經處理單元(neural processing unit;NPU),其為用於執行AI計算及推理的區塊;以及資料處理單元(data processing unit;DPU),其為用於傳輸資料的區塊。
系統1000可包含多個DRAM 1500a及DRAM 1500b。AP 1800可經由符合JEDEC標準的命令及模式暫存器(MRS)設置控制DRAM 1500a及DRAM 1500b或可將用於通信的DRAM介面協定設置為使用公司特定功能,諸如低電壓、高速以及可靠性及循環冗餘檢查(cyclic redundancy Check;CRC)/錯誤校正碼(error correction code;ECC)功能。舉例而言,AP 1800可經由符合JEDEC標準的介面,諸如LPDDR4或LPDDR5與DRAM 1500a通信,且加速器區塊或加速器1820可設置用於通信的新DRAM介面協定以控制具有比DRAM 1500a更高的頻寬的用於加速器1820的DRAM 1500b。
圖13中僅示出DRAM 1500a及DRAM 1500b,但不限於此,且當滿足AP 1800或加速器1820的頻寬、反應速率以及電壓條件時,可使用任何類型的記憶體,諸如相變隨機存取記憶體、(phase-change random access memory;PRAM)、靜態隨機存取記憶體(static random access memory;SRAM)、磁性隨機存取記憶體(magnetic random access memory;MRAM)、電阻性隨機存取記憶體(resistive random access memory;RRAM)、鐵電體隨機存取記憶體(ferroelectrics random access memory;FRAM)或混合式隨機存取記憶體。與I/O裝置1700a及I/O裝置1700b或快閃記憶體1600a及快閃記憶體1600b相比,DRAM 1500a及DRAM 1500b具有相對較低延遲及相對較小頻寬。DRAM 1500a及DRAM 1500b在系統1000接通時可經初始化,在操作系統及應用程式資料加載時用作操作系統及應用程式資料的暫時性儲存器或用作各種軟體程式碼的執行空間。
DRAM 1500a及DRAM 1500b可執行加法/減法/乘法/除法操作、向量操作、位址算術或快速傅立葉變換(fast Fourier transform;FFT)算術。此外,DRAM 1500a及DRAM 1500b可執行用於推斷的功能。此處,可藉由使用人造神經網路的深度學習演算法執行推斷。深度學習演算法可包含經由各種資料學習模型的訓練操作及藉由使用所學習的模型識別資料的推斷操作。在實施例中,由使用者經由攝影機1100捕獲的影像經信號處理且儲存於DRAM 1500b中,且加速器區塊或加速器1820可藉由使用用於儲存於DRAM 1500b中的資料的函數及推斷執行識別資料的AI資料算術。
系統1000可包含具有比DRAM 1500a及DRAM 1500b的容量更大的容量的多個儲存器或多個快閃記憶體1600a及快閃記憶體1600b。加速器區塊或加速器1820可藉由使用快閃記憶體裝置1600a及快閃記憶體裝置1600b執行訓練操作及AI資料算術。在實施例中,藉由使用包含於記憶體控制器1610中的計算裝置,快閃記憶體1600a及快閃記憶體1600b可更有效地執行由AP 1800及/或加速器1820執行的訓練操作及推斷AI資料算術。快閃記憶體1600a及快閃記憶體1600b可儲存藉由攝影機1100拍攝的圖像或經由資料網路傳輸的資料。舉例而言,快閃記憶體1600a及快閃記憶體1600b可儲存擴增實境/虛擬實境及高清晰度(high definition;HD)或超高清晰度(ultra-high definition;UHD)內容。快閃記憶體1600a及快閃記憶體1600b中的每一者可將資訊儲存於快閃記憶體裝置1620中。
系統1000中的DRAM 1500a及DRAM 1500b可包含參考圖1至圖11所描述的列錘控制電路。DRAM 1500a及DRAM 1500b可包含表示在列錘監視時間框期間存取的列位址與存取數目之間的相關性的邏輯電路,且邏輯電路可包含儲存對應於第一列位址及第一存取數目的第一位址條目的位址表。DRAM 1500a及DRAM 1500b可執行平坦化操作及交換第一位址條目與具有位址表中的最小第二存取數目的第二位址條目的隨機選擇操作,且可隨機地執行交換第一位址條目與具有第三存取數目的第三位址條目的隨機交換操作,所述第三存取數目並非為位址表中的最大值。因此,DRAM 1500a及DRAM 1500b可防止具有較小存取數目的位址條目被逐出暫存器且防止駭客模式列錘攻擊輕易執行。
由於在領域中為傳統的,因此可就執行所描述的一或多個功能的區塊而言描述及示出實施例。本文中可稱為單元或模組或類似者的此等區塊藉由以下實體地實施,且可視情況由韌體及/或軟體來驅動:諸如邏輯閘的類比電路及/或數位電路、積體電路、微處理器、微控制器、記憶體電路、被動電子組件、主動電子組件、光學組件、固線式電路以及類似者。電路可例如體現在一或多個半導體晶片中,或體現於諸如印刷電路板及類似者的基底支撐件上。構成區塊的電路可由專用硬體或由處理器(例如,一或多個程式化微處理器及相關聯的電路系統)實施或藉由專用硬體的組合來實施以執行區塊的一些功能;且由處理器實施以執行區塊的其他功能。在不脫離本揭露的範疇的情況下,實施例的每一區塊可實體分離成兩個或多於兩個介接區塊及離散區塊。同樣,在不脫離本揭露的範疇的情況下,實施例的區塊可實體組合成較複雜區塊。實施例的態樣可經由儲存於非暫時性儲存媒體內且由處理器執行的指令實現。
雖然本揭露已參考其實施例進行具體繪示及描述,但應理解,可在不脫離以下申請專利範圍的精神及範疇的情況下進行形式及細節的各種改變。
100:系統
110:主機裝置
112、1610:記憶體控制器
120、120a:記憶體裝置
130:記憶體匯流排
200:記憶胞陣列
202:列解碼器
206:行解碼器
208:輸入/輸出閘控電路
210:列錘控制電路
220:控制邏輯電路
230:位址緩衝器
240:刷新控制電路
260:資料輸入緩衝器
270:資料輸出緩衝器
310:位址表
312:位址儲存器
314:計數器儲存器
320:第一交換電路
330:比較器電路
340:隨機數產生器
350:第二交換電路
601:移位暫存器單元
602:回饋常數單元
603:線性回饋函數單元
910:邏輯晶粒
911:介面電路
912、TSV:矽穿孔區
913:高頻寬記憶體實體層介面
914:序列器/解除序列器
920:核心晶粒
921:第一核心晶粒
922:第二核心晶粒
923:第三核心晶粒
924:第四核心晶粒
1000:系統
1100:攝影機
1200:顯示器
1300:音頻處理器
1400:數據機
1500a、1500b:動態隨機存取記憶體
1600a、1600b:快閃記憶體
1620:快閃記憶體裝置
1700a、1700b:輸入/輸出裝置
1800:應用程式處理器
1810:控制器
1820:加速器
1830:介面
ADDR:位址
BANK1:第一組
BANK2:第二組
BANK3:第三組
BANK4:第四組
BL:位元線
C
1、C
n-2、C
n-1:恆定值
CA:命令/位址信號
CH1、CH2、CH3、CH4、CH5、CH6、CH7、CH8:通道
CK::信號
CMD:命令
COL_ADDR:行位址
CS:晶片選擇信號
DQ:資料
P:輸出
REF_ADDR:刷新位址
RH_ADDR:列錘地址
ROW_ADDR:列位址
S
1、S
n-2、S
n-1:移位暫存器
S710、S720、S730、S740、S750、S800、S810、S820、S830、S831、S832、S833、S834、S840:操作
T1、T2、T3、Ta、Tb、Tc、Td:時間點
tREFi:列錘監視時間框
tREFw:刷新視窗時間
WL:字元線
將自結合隨附圖式進行的以下詳細描述將更清楚地理解本揭露的實施例,其中:
圖1為示出根據本揭露的實例實施例的包含用於控制列錘的記憶體裝置的系統的圖。
圖2為示出根據本揭露的實例實施例的記憶體裝置的方塊圖。
圖3為示出根據本揭露的實施例的列錘控制電路的方塊圖。
圖4為示出圖2的記憶體裝置的刷新操作的圖。
圖5為示出重新組態圖3的位址表的實例的圖。
圖6為示出圖3的列錘控制電路的隨機數產生器的圖。
圖7為示出根據本揭露的實施例的控制邏輯電路的操作的流程圖。
圖8為示出根據本揭露的實施例的控制邏輯電路的操作的流程圖。
圖9至圖11為示出根據圖8的操作針對每一時間點Ta至時間點Td重新組態的位址表的圖。
圖12為示出根據本揭露的實例實施例的用於控制列錘的記憶體裝置的視圖。
圖13為示出根據本揭露的實例實施例的包含用於控制列錘的記憶體裝置的系統的方塊圖。
210:列錘控制電路
310:位址表
312:位址儲存器
314:計數器儲存器
320:第一交換電路
330:比較器電路
340:隨機數產生器
350:第二交換電路
Claims (20)
- 一種記憶體裝置,包括: 記憶胞陣列,包含多個記憶胞列; 控制邏輯電路,經組態以在列錘監視時間框的期間監視關於所述多個記憶胞列當中的記憶胞列的列位址,且將所述列位址作為位址條目儲存於儲存所述位址條目的存取數目的位址表中;以及 刷新控制電路,經組態以在所述列錘監視時間框的期間刷新實體地鄰近於對應於儲存於所述位址表中的具有最大存取數目的位址條目的另一記憶胞列的記憶胞列,其中 所述控制邏輯電路對儲存於所述位址表中的所述位址條目執行基於計數器的平坦化操作及隨機交換操作。
- 如請求項1所述的記憶體裝置,其中所述控制邏輯電路接收第一列位址且將所述第一列位址作為具有第一存取數目的第一位址條目儲存於所述位址表的自由空間中。
- 如請求項2所述的記憶體裝置,其中所述第一存取數目設置為1。
- 如請求項1所述的記憶體裝置,其中: 所述控制邏輯電路接收第一列位址,當所述位址表中不存在自由空間時自所述位址表選擇具有第二存取數目的第二位址條目,以及執行交換對應於所述第一列位址的第一位址條目與所述第二位址條目的第一交換操作,且 所述第二存取數目為所述位址表中的最小存取數目。
- 如請求項4所述的記憶體裝置,其中所述控制邏輯電路藉由將所述第一位址條目的所述存取數目設置為藉由使所述第二存取數目遞增1所獲得的第一值來執行所述基於計數器的平坦化操作。
- 如請求項5所述的記憶體裝置,其中: 所述控制邏輯電路自所述位址表隨機地選擇具有第三存取數目的第三位址條目及執行與所述第一位址條目及所述第三位址條目相關的第二交換操作,且 所述第三存取數目並非為所述位址表中的最大值。
- 如請求項6所述的記憶體裝置,其中所述第二交換操作為交換所述第一位址條目的所述第一值的所述存取數目與所述第三存取數目的隨機交換操作。
- 如請求項6所述的記憶體裝置,其中所述第二交換操作為交換所述第一位址條目與所述第三位址條目的隨機交換操作。
- 如請求項1所述的記憶體裝置,其中所述控制邏輯電路在所述列錘監視時間框流逝之後將所述位址表重設為自由空間。
- 如請求項1所述的記憶體裝置,其中所述控制邏輯電路使用在所述記憶體裝置中所指定的基本刷新率時間作為所述列錘監視時間框。
- 一種控制邏輯電路,包括: 邏輯電路,指示在列錘監視時間框的期間所存取的列位址與存取數目之間的相關性,且包含儲存對應於第一列位址及第一存取數目的第一位址條目的位址表; 第一交換電路,經組態以自所述位址表選擇具有第二存取數目的第二位址條目,所述第二存取數目為所述位址表中的最小存取數目,且執行交換所述第一位址條目與所述第二位址條目的第一交換操作;以及 第二交換電路,經組態以自所述位址表選擇具有第三存取數目的第三位址條目,且執行與所述第一位址條目及所述第三位址條目相關的第二交換操作,其中 所述第三存取數目並非為所述位址表中的最大值。
- 如請求項11所述的控制邏輯電路,其中所述控制邏輯電路更包括經組態以自所述位址表隨機地選擇所述第三位址條目的隨機數產生器。
- 如請求項11所述的控制邏輯電路,其中所述第一交換電路在交換所述第一位址條目與所述第二位址條目時將藉由使所述第二存取數目遞增1所獲得的第一值設置為所述第一位址條目的存取數目,且對儲存於所述位址表中的位址條目執行平坦化操作。
- 如請求項13所述的控制邏輯電路,其中所述第二交換電路執行交換所述第一位址條目的所述第一值的所述存取數目與所述第三存取數目的隨機交換操作。
- 如請求項13所述的控制邏輯電路,其中所述第二交換電路執行交換所述第一位址條目與所述第三位址條目的隨機交換操作。
- 如請求項11所述的控制邏輯電路,其中所述邏輯電路在所述列錘監視時間框流逝之後將所述位址表重設為自由空間。
- 如請求項11所述的控制邏輯電路,其中在包含所述控制邏輯電路的記憶體裝置中所定義的基本刷新率時間用作所述列錘監視時間框。
- 一種操作包含多個記憶胞列的記憶體裝置的方法,所述方法包括; 在列錘監視時間框的期間監視關於所述多個記憶胞列當中的第一記憶胞列的第一列位址; 將對應於所述第一列位址及第一存取數目的第一位址條目儲存於位址表中; 自所述位址表選擇具有第二存取數目的第二位址條目,所述第二存取數目為所述位址表中的最小存取數目; 執行與所述第一位址條目及所述第二位址條目相關的第一交換操作; 自所述位址表隨機地選擇具有第三存取數目的第三位址條目,所述第三存取數目並不具有所述位址表中的最大值; 執行與所述第一位址條目及所述第三位址條目相關的第二交換操作;以及 在所述列錘監視時間框的期間刷新實體地鄰近於對應於儲存於所述位址表中的具有最大存取數目的位址條目的另一記憶胞列的記憶胞列。
- 如請求項18所述的方法,其中將對應於所述第一列位址及所述第一存取數目的所述第一位址條目儲存於所述位址表中更包括將具有所述第一存取數目的所述第一位址條目儲存於所述位址表的自由空間中。
- 如請求項19所述的方法,其中所述第一存取數目設置為1。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0067897 | 2021-05-26 | ||
KR20210067897 | 2021-05-26 | ||
KR1020210135933A KR20220159860A (ko) | 2021-05-26 | 2021-10-13 | 로우 해머 제어 방법 및 메모리 장치 |
KR10-2021-0135933 | 2021-10-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202303601A TW202303601A (zh) | 2023-01-16 |
TWI814393B true TWI814393B (zh) | 2023-09-01 |
Family
ID=81388814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111119289A TWI814393B (zh) | 2021-05-26 | 2022-05-24 | 記憶體裝置、控制邏輯電路和控制記憶體裝置的方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US12027199B2 (zh) |
EP (1) | EP4095701A1 (zh) |
CN (1) | CN115410619A (zh) |
TW (1) | TWI814393B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230114414A1 (en) * | 2021-09-28 | 2023-04-13 | Advanced Micro Devices, Inc. | Method and apparatus for protecting memory devices via a synergic approach |
US20230385206A1 (en) * | 2022-05-31 | 2023-11-30 | Microsoft Technology Licensing, Llc | Detecting and mitigating memory attacks |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9431085B2 (en) * | 2014-03-28 | 2016-08-30 | Synopsys, Inc. | Most activated memory portion handling |
US9824754B2 (en) * | 2013-03-12 | 2017-11-21 | Intel Corporation | Techniques for determining victim row addresses in a volatile memory |
US20190198090A1 (en) * | 2017-12-27 | 2019-06-27 | Micron Technology, Inc. | Systems and methods for performing row hammer refresh operations in redundant memory |
US20190347019A1 (en) * | 2018-05-09 | 2019-11-14 | Samsung Electronics Co., Ltd. | Memory devices performing refresh operations with row hammer handling and memory systems including such memory devices |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9236110B2 (en) | 2012-06-30 | 2016-01-12 | Intel Corporation | Row hammer refresh command |
US8938573B2 (en) | 2012-06-30 | 2015-01-20 | Intel Corporation | Row hammer condition monitoring |
KR20170024307A (ko) | 2015-08-25 | 2017-03-07 | 삼성전자주식회사 | 내장형 리프레쉬 콘트롤러 및 이를 포함하는 메모리 장치 |
US9812185B2 (en) | 2015-10-21 | 2017-11-07 | Invensas Corporation | DRAM adjacent row disturb mitigation |
US10950288B2 (en) | 2019-03-29 | 2021-03-16 | Intel Corporation | Refresh command control for host assist of row hammer mitigation |
US11354408B2 (en) | 2019-08-15 | 2022-06-07 | Nxp Usa, Inc. | Technique for detecting and thwarting row-hammer attacks |
US11854595B2 (en) * | 2021-03-15 | 2023-12-26 | Changxin Memory Technologies, Inc. | Refresh circuit and memory |
US12119044B2 (en) * | 2021-12-08 | 2024-10-15 | Samsung Electronics Co., Ltd. | Memory devices and methods for controlling row hammer |
-
2022
- 2022-03-29 US US17/707,034 patent/US12027199B2/en active Active
- 2022-04-27 EP EP22170235.0A patent/EP4095701A1/en active Pending
- 2022-05-16 CN CN202210531918.3A patent/CN115410619A/zh active Pending
- 2022-05-24 TW TW111119289A patent/TWI814393B/zh active
-
2024
- 2024-05-21 US US18/669,714 patent/US20240304234A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9824754B2 (en) * | 2013-03-12 | 2017-11-21 | Intel Corporation | Techniques for determining victim row addresses in a volatile memory |
US9431085B2 (en) * | 2014-03-28 | 2016-08-30 | Synopsys, Inc. | Most activated memory portion handling |
US20190198090A1 (en) * | 2017-12-27 | 2019-06-27 | Micron Technology, Inc. | Systems and methods for performing row hammer refresh operations in redundant memory |
US20190347019A1 (en) * | 2018-05-09 | 2019-11-14 | Samsung Electronics Co., Ltd. | Memory devices performing refresh operations with row hammer handling and memory systems including such memory devices |
Also Published As
Publication number | Publication date |
---|---|
US20220383935A1 (en) | 2022-12-01 |
US20240304234A1 (en) | 2024-09-12 |
CN115410619A (zh) | 2022-11-29 |
EP4095701A9 (en) | 2023-01-11 |
US12027199B2 (en) | 2024-07-02 |
EP4095701A1 (en) | 2022-11-30 |
TW202303601A (zh) | 2023-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI814393B (zh) | 記憶體裝置、控制邏輯電路和控制記憶體裝置的方法 | |
US12119044B2 (en) | Memory devices and methods for controlling row hammer | |
US20230128653A1 (en) | Memory device and method for controlling row hammer | |
US11961548B2 (en) | Memory device and method for controlling row hammer | |
US20220293162A1 (en) | Randomization of directed refresh management (drfm) pseudo target row refresh (ptrr) commands | |
US20230205428A1 (en) | Memory module and memory system including row hammer counter chip and operating method thereof | |
CN115910146A (zh) | 存储器装置和存储器装置的操作方法 | |
CN117809718A (zh) | 存储器设备、具有存储器设备的存储器系统及其操作方法 | |
CN116092547A (zh) | 存储器装置、存储器系统及该存储器装置的操作方法 | |
KR20220159860A (ko) | 로우 해머 제어 방법 및 메모리 장치 | |
TWI855414B (zh) | 記憶體裝置及控制邏輯電路 | |
US20240160732A1 (en) | Memory device, operating method of memory device, and memory system | |
US20240096391A1 (en) | Memory devices and methods thereof for managing row hammer events therein | |
US11804254B2 (en) | Memory device and method of refreshing memory device based on temperature | |
KR20240068513A (ko) | 메모리 장치, 메모리 장치의 동작 방법 및 메모리 시스템 | |
US20240257896A1 (en) | Memory device including repair circuit and operating method thereof | |
KR20230086543A (ko) | 로우 해머 제어 방법 및 메모리 장치 | |
CN118016117A (zh) | 存储器设备、存储器设备的操作方法和存储器系统 | |
KR20240115586A (ko) | 리프레쉬 동작을 관리하는 메모리 컨트롤러 및 그 동작방법 |