TW201535366A - 處理第四代雙倍資料率同步動態隨機存取記憶體中的最大啓動計數限制及目標列再新之技術 - Google Patents
處理第四代雙倍資料率同步動態隨機存取記憶體中的最大啓動計數限制及目標列再新之技術 Download PDFInfo
- Publication number
- TW201535366A TW201535366A TW103146557A TW103146557A TW201535366A TW 201535366 A TW201535366 A TW 201535366A TW 103146557 A TW103146557 A TW 103146557A TW 103146557 A TW103146557 A TW 103146557A TW 201535366 A TW201535366 A TW 201535366A
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- entry
- column
- determining
- activations
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1072—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40611—External triggering or timing of internal or partially internal refresh operations, e.g. auto-refresh or CAS-before-RAS triggered refresh
-
- 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/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1636—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using refresh
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40618—Refresh operations over multiple banks or interleaving
-
- 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/409—Read-write [R-W] circuits
- G11C11/4096—Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/06—Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
- G11C7/08—Control thereof
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40603—Arbitration, priority and concurrent access to memory cells for read/write or refresh operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Dram (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Memory System (AREA)
Abstract
本發明揭示使用減少數目之指示一記憶體列在一啟動週期期間是否啟動的列啟動計數器及指示在一最大啟動窗口內的記憶體列之准許啟動數目的列啟動計數器來有效地追蹤記憶體列之啟動。
Description
本申請案主張於2014年1月15日在美國專利及商標局申請之美國臨時申請案第61,927,636號的權利,該臨時申請案之揭示內容以全文引用的方式併入本文中。
符合示範性實施例之方法及裝置係關於追蹤記憶體之列的啟動,且更特定言之係關於用於使用減少數目之列啟動計數器來有效地追蹤記憶體之列的啟動之方法及裝置。
當動態隨機存取記憶體(DRAM)之目標列在一時間段內被啟動太多次時,儲存於鄰近列(該等列實體上鄰近於目標列)處之資料可能受到干擾或丟失。詳言之,歸因於DRAM設計之增加的密度,儲存於鄰近列處之資料可由於自目標列之頻繁啟動產生之雜訊而損壞。
因此,對於一些DRAM器件,製造商可基於(例
如)DRAM之架構及目標列之啟動可損壞儲存於DRAM之鄰近列中之資料的速率來判定一時間段內的目標列之最大啟動數目。一旦達到時間段中之啟動數目,即應更新鄰近列以避免儲存於鄰近列中之資料的損壞。
一時間段內的目標列之最大啟動數目可習知地
被稱作最大啟動計數(MAC)。MAC係在應更新鄰近列以避免資料損壞之前,在一時間段(即,最大啟動窗口(tMAW))內的目標列之最大啟動數目。
與由目標列之頻繁啟動引起的儲存於鄰近列中
之資料之損壞相關聯之情境可在一個或兩個「侵略者」列以一個「受害者」列為目標時出現。舉例而言,多個目標侵略者列(鄰近受害者列安置於該等目標侵略者列之間)可被頻繁啟動。因此,對於給定受害者列而言,兩個侵略者列的啟動之總和不應超出MAC,此係因為兩個侵略者列之啟動皆可促成儲存於鄰近受害者列處之資料的損壞。
若在最大啟動窗口內達到MAC限制,則在將另
一啟動發送至目標列之前,記憶體控制器可更新DRAM中之所有列、執行目標列更新(TRR)以僅更新鄰近於過度啟動之目標列的列,或者壓製(throttle)目標列之啟動以使得不會達到MAC限制,此處理避免必須執行所有列之完全更新或TRR,但此處理延遲列啟動之完成。
在以上情境中,管理受害者列之MAC因為如下
事實而變得複雜:記憶體控制器(其控制DRAM中之列之啟
動)並不知道該等列之實體定向。因而,記憶體控制器無法追蹤關於給定受害者列之兩個侵略者列之啟動。為了防止超過受害者列之MAC,可將有效MAC值設定成最大啟動窗口中之MAC/2次啟動。
管理MAC限制習知地需要追蹤在最大啟動窗口
內已發送至DRAM之每一列的啟動之數目。真正地追蹤每一列之啟動之數目需要用於每一組之每一列及用於DRAM中之每一階級(rank)的計數器。在具有高達4個階級且每階級16組且每組128K個列之DRAM中,計數器之數目將為4×16×128K=8192K個計數器,其中每一計數器需要N個位元。自記憶體控制器設計之功率/面積角度來看,此數量之計數器及其管理所需之相關聯空間很快變為不可管理的。
示範性實施例可克服以上缺點。然而,並不要求示範性實施例克服以上缺點。
根據一示範性實施例之一態樣,提供一種用於控制一記憶體之記憶體控制器,該記憶體控制器包括:一頁表,其經組配以儲存:包括一第一條目之一第一條目表,該第一條目包含:一第一識別符,其識別在一第一時間段期間啟動的該記憶體之一第一記憶體列;以及一逾時計數器,其指示在該第一時間段期間之一第一剩餘時間;以及包括一第二條目之一第二條目表,該第二條目包含:一第二識別符,其識別在至少一個第二時間段期間啟動的該記
憶體之一第二記憶體列;一啟動計數器,其計數該第二記憶體列之啟動之一數量;以及一第二逾時計數器,其指示在該至少一個第二時間段期間剩餘之一第二時間。
根據一示範性實施例之一態樣,提供一種追蹤一
記憶體之列之啟動的方法,該方法包括:將一頁表儲存於記憶體中,該頁表經組配以儲存:包括一第一條目之一第一條目表,該第一條目包含:一第一識別符,其識別在一第一時間段期間啟動的該記憶體之一第一記憶體列;以及一逾時計數器,其指示在該第一時間段期間剩餘之一第一時間;以及包括一第二條目之一第二條目表,該第二條目包含:一第二識別符,其識別在至少一個第二時間段期間啟動的該記憶體之一第二記憶體列;一啟動計數器,其計數該第二記憶體列之啟動之一數量;以及一第二逾時計數器,其指示在該至少一個第二時間段期間剩餘之一第二時間;以及使用該頁表追蹤該記憶體之該等列之該等啟動。
200、470‧‧‧頁表
210‧‧‧頁表結構(RowOneAct)
220‧‧‧第二條目(RowLeakBuck)
230、250‧‧‧列
240、260‧‧‧逾時計數器(tRCRowCTR)
270‧‧‧啟動計數器
S305、S310、S315、S320、S325、S330、S335、S340、S345、S350、S355‧‧‧步驟
400‧‧‧記憶體控制器
410‧‧‧系統介面
420‧‧‧位址轉譯單元
430‧‧‧主要請求佇列
440‧‧‧仲裁器
450‧‧‧DDR實體層器件(DFI)介面
460‧‧‧選擇器
以上及/或其他態樣將藉由參看附圖詳細地描述示範性實施例而變得更清楚,在該等附圖中:圖1根據一示範性實施例說明DRAM之定時參數。
圖2根據一示範性實施例說明頁表。
圖3根據一示範性實施例說明追蹤記憶體之列之啟動的方法。
圖4根據一示範性實施例說明記憶體控制器。
圖5根據一示範性實施例說明第四代雙倍資料速
率(DDR4)DRAM之器件參數。
圖6根據一示範性實施例說明使用追蹤記憶體之
列之啟動的方法及圖5之器件參數的效能資料測試結果。
現將參看附圖更全面地描述示範性實施例,在附圖中,相同參考數字始終係指相同元件。當在元件清單之前時,諸如「......中之至少一者」的表達修飾元件的整個清單,而非修飾清單中的個別元件。
圖1根據一示範性實施例說明DRAM之定時參數。
藉由理解各種DRAM定時參數(該等參數限制在最大啟動窗口(tMAW)內DRAM中之目標列的可經確證之啟動數目),可減少需要同時進行追蹤以避免違反MAC限制或顯著地影響總DRAM系統之效能的DRAM之列的數目。
如圖1中所說明,DRAM之定時參數可包括DRAM最大啟動窗口(tMAW)及在tMAW內的列之最大啟動數目(tMAC)。如上文所論述,此等參數可由DRAM之製造商決定。
為了實施對MAC之列啟動追蹤,根據一示範性實施例之記憶體控制器包括額外時序參數tRCRow,其係同一目標列之啟動之間的平均時間量,計算如下:
如上所述,值可為有效MAC值。
tRCRow之值可如上所示地初始化,且可根據在
tRCRow窗口期間已啟動之列的啟動數目(ActCTR)在執行期間重設,如下文所示:
包括於tRCRow計算中之ActCTR值係基於可藉
由儲存指示在一或多個tRCRow窗口期間已啟動之特定列之啟動數目之條目的頁表結構計數的最大啟動數目,如下文將論述。此值係藉由ActCTR實施之寬度判定。因此,tRCRow之值可基於在tRCRow窗口期間已啟動之列的啟動數目(ActCTR)之最大值而重設。
額外定時參數可包括更新間隔(tREFI)、完成更
新命令所需之時間(tRFC)、功率限制傳遞參數(tRRD_L及tFAW)、更新定時參數(tMOD)、讀取延遲定時參數(tRCD)及組定時參數(tRAS、tRP及tRC)。同樣,此等參數可由DRAM之製造商基於架構選擇來決定。
圖2根據一示範性實施例說明頁表。
頁表200可包括每組兩個頁表結構以用於使用減少數目之列啟動計數器來有效地追蹤記憶體之列的啟動。
頁表結構(RowOneAct)210可儲存指示在tRCRow窗口期間已啟動之列的條目。舉例而言,RowOneAct 210頁表結構可為用於追蹤tRCRow窗口期間的列之啟動的組之16條目結構。
RowOneAct 210頁表結構可使在tRCRow窗口期
間已啟動之列230與用以追蹤列230之tRCRow窗口之期滿的逾時計數器(tRCRowCTR)240相關聯。
記憶體控制器可將針對列230的一條目執行個體
化至RowOneAct 210頁表結構且在記憶體列之啟動發生時將逾時計數器240初始化為等於tRCRow之值。記憶體控制器亦可在tRCRow流逝(如基於逾時計數器240所判定)後即自RowOneAct 210頁表結構清除一條目。藉此,記憶體控制器可查詢RowOneAct 210頁表結構以識別在tRCRow窗口期間已啟動之列。
第二條目(RowLeakBuck)220可儲存指示在一或
多個tRCRow窗口期間已啟動之特定列之啟動數目的條目。
RowLeakBuck 220頁表結構可將在tRCRow窗口
期間已啟動之列250、用以追蹤列250之一或多個tRCRow窗口之期滿的逾時計數器(tRCRowCTR)260及計數在tRCRow窗口期間已啟動之特定列250之啟動數目的啟動計數器(ActCTR)270相關聯。當將一條目執行個體化至RowLeakBuck 220頁表結構中時,可將逾時計數器260初始化為等於tRCRow之值,或替代地,在將一條目自RowOneAct 210頁表結構移至RowLeakBuck 220頁表結構之情況下,將逾時計數器260初始化為等於逾時計數器240之值的值,如下文將論述。另外,當將一條目執行個體化至RowLeakBuck 220頁表結構中時,可將啟動計數器270初始化為1。
舉例而言,RowLeakBuck 220頁表結構可為組之
8條目結構,其將8位元啟動計數器270用於RowLeakBuck 220頁表結構中之每一列條目250。
每當匹配RowLeakBuck 220頁表結構中之條目
250之特定列經啟動時,啟動計數器270可遞增(例如)一。如上所述,逾時計數器260可在匹配條目250之特定列經啟動之後便被初始化。相反,啟動計數器270可隨著逾時計數器260流逝而每個tRCRow窗口遞減(例如)一。
當逾時計數器260流逝時,若啟動計數器270仍指
示非零數量之啟動,則逾時計數器260可重設為等於tRCRow之值。根據該非零數量之啟動,逾時計數器260之值可基於tRCRow窗口之值而重設,如上文所論述。
藉由考慮如由啟動計數器270指示的啟動之數
量,tRCRow窗口可受到控制以確保最大啟動數目tMAC不會在DRAM最大啟動窗口tMAW內出現。
在逾時計數器260期滿後使啟動計數器270遞減
及重設逾時計數器260之操作可反覆地重複,直至啟動計數器270之值達到零。當啟動計數器270達到零時,可將對應列250之條目自RowLeakBuck 220頁表結構移除。
因此,記憶體控制器可查詢RowLeakBuck 220頁
表結構以識別高度活躍(及可能過度活躍)之列的啟動數目,該等列使更新或壓製啟動成為必需以防止鄰近列之資料損壞。
圖3根據一示範性實施例說明追蹤記憶體之列之
啟動的方法。
如上文所論述,記憶體控制器可執行追蹤記憶體
之列之啟動的方法,以防止由對列之頻繁存取產生的資料損壞。
在步驟S305中,記憶體控制器接收對列進行記憶
體存取之請求。
在步驟S310中,記憶體控制器查詢第二頁表結構
220以判定所請求之列是否匹配第二頁表結構220中之現有條目之列250。
若判定所請求之列匹配第二頁表結構220中之現
有條目之列250(步驟S310-是),則記憶體控制器在步驟S315中藉由比較啟動計數器270與一臨限值來判定所請求之列是否係過度活躍之列。該臨限值可為啟動計數器270之值,其指示所請求之列的啟動數目已達到最大值,如上文所論述。
若記憶體控制器判定所請求之列的啟動數目小
於該臨限值(步驟S315-否),則記憶體控制器在步驟S320中使用於第二頁表結構220之該條目中之記憶體列250的啟動計數器270遞增,且在步驟S355中執行列啟動。
另一方面,若記憶體控制器判定所請求之列的啟
動數目滿足該臨限值(步驟S315-是),則記憶體控制器可在步驟S325中執行更新或記憶體啟動之壓製。此處,若記憶體控制器執行更新,則啟動計數器270可重設為零,或可自第二頁表結構220解除配置列250之條目。替代地,若記憶
體控制器執行壓製,則記憶體控制器可壓製該列之啟動,直至啟動計數器270達到一可接受的下臨限值,如基於由逾時計數器260指示之窗口的連續流逝所判定。
回到記憶體控制器接收到對記憶體存取之請求
(步驟S305),若記憶體控制器判定所請求之列不匹配第二頁表結構220中之現有條目(步驟S310-否),則記憶體控制器在步驟S330中判定所請求之列是否匹配第一頁表結構210中之現有條目。
若判定所請求之列匹配第一頁表結構210中之現
有條目之列230(步驟S330-是),藉此指示所請求之列在當前窗口期間已啟動,則記憶體控制器在步驟S350中判定是否可在第二頁表結構220中配置一額外條目以用於追蹤啟動數目。
若記憶體控制器判定第二頁表結構220充滿作用
中條目,且因此在第二頁表結構220中不可配置一額外條目(步驟S350-是),則記憶體控制器可在步驟S325中執行更新或記憶體啟動之壓製。此處,若記憶體控制器執行更新,則可自第一頁表結構210解除配置列230之條目。替代地,若記憶體控制器執行壓製,則記憶體控制器可壓製列之啟動,直至窗口期滿,如基於逾時計數器240所判定,且可自第一頁表結構210解除配置列230之條目。
另一方面,若記憶體控制器判定第二頁表結構
220未充滿作用中條目(步驟S350-否),則記憶體控制器可在步驟S345中自第一頁表結構210解除配置列230之條目且在
第二頁表結構220中配置用於所請求之列的對應新條目,且在步驟S355中執行列啟動。
返回到記憶體控制器在步驟S330中判定所請求
之列是否匹配第一頁表結構210中之現有條目,若所請求之列不匹配第一頁表結構中之現有條目(步驟S330-否),則記憶體控制器在步驟S335中判定是否可在第一頁表結構210配置一額外條目以用於追蹤一列在該窗口期間是否已啟動。
若記憶體控制器判定第一頁表充滿作用中條
目,且因此不可在第一頁表結構210中配置一一額外條目(步驟S335-是),則記憶體控制器在步驟S350中判定是否可在第二頁表結構220中配置一額外條目以用於追蹤啟動數目,且執行上文所論述之後續判定。
否則,若記憶體控制器判定第一頁表結構210未
充滿作用中條目(步驟S335-否),則記憶體控制器可在第一頁表結構210中配置用於所請求之列的新條目,且在步驟S355中執行列啟動。
圖4根據一示範性實施例說明記憶體控制器。
如圖4中所說明,記憶體控制器400包括系統介面410、位址轉譯單元420、主要請求佇列430、仲裁器440、DDR實體層器件(DFI)介面450、選擇器460及頁表470。
圖4中所說明之頁表470類似於圖2中所說明之頁表200,且因此省略其詳細描述。
系統介面410係至記憶體控制器400所屬之系統
之額外組件的介面,且訊息及資料係經由該介面來傳輸及接收。
位址轉譯單元420針對經由系統介面410接收之記憶體請求執行位址轉譯。
主要請求佇列430儲存經由系統介面410接收且由位址轉譯單元420轉譯之記憶體請求。
仲裁器440將請求信號(Pick Req)輸出至選擇器460以用於自儲存於主要請求佇列430中的經由DFI介面450來處理之請求中進行選擇。
可結合儲存於主要請求佇列中之該等請求來查詢頁表470以判定是否啟動對應於一記憶體請求之一記憶體列。啟動判定之詳細描述已關於圖3在上文論述,且因此省略其詳細描述。
頁表470可進一步接收來自DFI介面450的關於記憶體列之啟動的回饋。
圖5根據一示範性實施例說明第四代雙倍資料速率(DDR4)DRAM之器件參數。圖6根據一示範性實施例說明使用追蹤記憶體之列之啟動的方法及圖5之器件參數的效能資料測試結果。
如圖5中所說明,展示了DDR4 DRAM器件參數。熟練技術人員將理解,DDR4 DRAM器件參數可由製造商決定。
圖6根據一示範性實施例說明使用追蹤記憶體之列之啟動的方法及圖5之器件參數的效能資料測試結果。
如圖中所說明,三個方案(方案1、方案2及方案
3)之效能資料係使用七種訊務型樣(每個啟動一個CAS)及對N列之循環存取(其中N=128K、16、8、6、4、2、1)來展示。效能量度說明在tMAW窗口中多少啟動可被發出至組之比較。根據所說明示範性實施例,在記憶體通道中可存在一個以上組,且假定所有訊務僅送至一個組。
根據圖6中所說明之示範性實施例,第一及第二
方案(方案1及方案2)係實施本發明之特徵之第三方案(方案3)的比較實例。
在第一方案(方案1)中,組經受比普通更新速率
更頻繁之更新以避免達到最大啟動計數約束,因此不需要進入更新(亦即,TRR)模式。
組在47ns(tRC)*300K=14.1ms中可能被啟動
300K(tMAC)次。若在此窗口中更新每一列,則將保證不超過300K次啟動將應用於任何列。
更新之效能額外耗用為
tRFC/tREFI*tMAW/14.1=20.4%。普通更新速率之效能額外耗用為tRFC/tREFI=4.5%。因此,此第一方案之效能額外耗用為1-(1-20.4%)/(1-4.5%)=16.6%。根據該示範性實施例,效能額外耗用對於所有列出的存取型樣係相同的。
在第二方案(方案2)中,將計數器用以追蹤近來
的啟動之數目:使計數器每個tRCRow減小,及在啟動被發送至列時使計數器增加。只要計數器溢位,即起始更新(亦即,TRR模式),或只要啟動計數器達到最大計數器值,即
壓製啟動。
當計數器寬度為19位元時,每個組的總儲存額外
耗用為2432千位元(19位元/列*128K列=2432千位元)。若在計數器溢位發生時使用TRR模式,則tMAW中之溢位數目以(64ms/47ns/300k<5)為界,且因此效能額外耗用可忽略。為了減少儲存額外耗用,可減少每個計數器的位元數目。然而,當將較小計數器用於同一訊務型樣時,溢位數目較大,因此使較高效能額外耗用成為必需的。舉例而言,若計數器寬度為8,則儲存額外耗用為1024千位元/組,且在N=1(僅存取一個列)之情況下,效能降級增加至5.4%。
若未使用TRR模式,則記憶體控制器在計數器達
到最大值時壓製啟動。舉例而言,若N=1(僅存取一個列),則一旦該列之計數器達到最大值(300k),記憶體控制器就僅可在每個tRCRow(213.33ns)發出啟動,因此效能額外耗用為1-47ns/213.ns=77.9%。
在第三方案(方案3)中,實施圖3中所說明之完整
方法。
效能額外耗用與第二方案(方案2)之效能額外耗
用相同。然而,儲存額外耗用低得多。利用此方案,僅需要168(16+(8*19))個計數器位元。因為並非每個列儲存一計數器,所以使用每個條目之列索引(17個列位址位元),此添加另外408個位元(24*17)。
此方案之總儲存(168+408)仍顯著小於其他方
案。效能額外耗用與第二比較方案(方案2)相同,此係因為8
個計數器(如圖2之第二頁表結構220中所實施)在N<=4時足以擷取具有高啟動數量之列。當N>4時,組並未經受針對上文所論述之組配的列錘擊(row hammer)問題。此外,所說明方案(方案3)具有比方案2低的儲存及效能額外耗用,且所說明方案(方案3)具有比第一比較方案(方案1)低得多的效能及功率額外耗用。
值得注意地,對於其他組配(tMAW/tMAC),可
調整計數器之數目(如圖2之第二頁表結構220中所實施)。
示範性實施例之功能可具體化為電腦可讀記錄
媒體中之電腦可讀程式碼。電腦可讀記錄媒體包括其中儲存有電腦可讀資料的所有類型之記錄媒體。電腦可讀記錄媒體之實例包括ROM、RAM、CD-ROM、磁帶、軟性磁碟及光學資料儲存器。此外,記錄媒體可實施為載波(諸如用於網際網路傳輸中之載波)的形式。另外,電腦可讀記錄媒體可經由網路分散至電腦系統,在其中電腦可讀程式碼可以分散方式儲存且執行。
如熟練技術人員亦將理解,可藉由執行某些任務
的軟體及/或硬體組件之任何組合(諸如場可程式化閘陣列(FPGA)或特殊應用積體電路(ASIC))來實施示範性實施例。單元或模組可有利地經組配以駐留於可定址儲存媒體上,且經組配以執行於一或多個處理器或微處理器上。因此,單元或模組可包括(借助於實例)組件(諸如軟體組件、物件導向式軟體組件、類別組件及任務組件)、處理程序、函式、屬性、程序、次常式、程式碼之片段、驅動程式、
韌體、微碼、電路、資料、資料庫、資料結構、表、陣列及變數。組件及單元中所提供之功能性可組合成較少組件及單元或模組,或進一步分成額外組件及單元或模組。
上文已描述許多示範性實施例。儘管如此,將理
解,可進行各種修改。舉例而言,可在所描述技術以不同次序執行之情況下及/或在所描述系統、架構、器件或電路中之組件以不同方式組合及/或藉由其他組件或其等效物替換或補充之情況下達成合適結果。因此,其他實施在以
下申請專利範圍之範疇內。
200‧‧‧頁表
210‧‧‧頁表結構(RowOneAct)
220‧‧‧第二條目(RowLeakBuck)
230、250‧‧‧列
240、260‧‧‧逾時計數器(tRCRowCTR)
270‧‧‧啟動計數器
Claims (20)
- 一種用於控制一記憶體之記憶體控制器,該記憶體控制器包含:一頁表,其經組配以儲存:包括一第一條目之一第一條目表,該第一條目包含:一第一識別符,其識別在一第一時間段期間啟動的該記憶體之一第一記憶體列;以及一逾時計數器,其指示在該第一時間段期間剩餘之一第一時間;以及包括一第二條目之一第二條目表,該第二條目包含:一第二識別符,其識別在至少一個第二時間段期間啟動的該記憶體之一第二記憶體列;一啟動計數器,其計數該第二記憶體列之啟動之一數量;以及一第二逾時計數器,其指示在該至少一個第二時間段期間剩餘之一第二時間。
- 如請求項1之記憶體控制器,其中該第二記憶體列之啟動之該數量促成在一最大啟動窗口期間的該第二記憶體列之准許啟動之一最大數目,該最大啟動窗口為在其中准許該第二記憶體列之該最大數目之准許啟動而不降級儲存於鄰近於該第二記憶體列定位的該記憶體之 一鄰近記憶體列中之資料的一時間段。
- 如請求項1之記憶體控制器,其中該第二記憶體列之啟動之該數量促成在一最大啟動窗口期間的該第二記憶體列之准許啟動之一最大數目,該最大啟動窗口為在其中准許該第二記憶體列的該最大數目之准許啟動而不更新鄰近於該第二記憶體列定位的該記憶體之一鄰近記憶體列的一時間段。
- 如請求項3之記憶體控制器,其中該至少一個第二時間段係在該最大啟動窗口內的該第二記憶體列之該最大數目之准許啟動中之每一者之間的一平均時間量。
- 如請求項4之記憶體控制器,其中該記憶體控制器經組配以:接收啟動該記憶體之一記憶體列之一請求;判定該記憶體列匹配藉由該第二條目之該第二識別符來識別的該第二記憶體列;判定該啟動計數器是否指示准許啟動之該最大數目;以及回應於判定該啟動計數器指示准許啟動之該最大數目而執行該記憶體的一更新操作及該請求之一暫停操作中之一者。
- 如請求項5之記憶體控制器,其中該記憶體控制器經進一步組配以回應於判定該啟動計數器不指示准許啟動之該最大數目而使該啟動計數器增加並啟動該第二記憶體列。
- 如請求項4之記憶體控制器,其中該記憶體控制器經組配以:接收啟動該記憶體之一記憶體列之一請求;判定該記憶體列匹配藉由該第一條目之該第一識別符所識 別的該第一記憶體列;解除配置該第一條目;在該第二條目表中配置該記憶體列之一對應條目;以及啟動該記憶體列。
- 如請求項4之記憶體控制器,其中該記憶體控制器經組配以:接收啟動該記憶體之一記憶體列之一請求;判定該記憶體列不匹配藉由該第一條目之該第一識別符所識別的該第一記憶體列;以及在該第一條目表中配置該記憶體列之一對應條目。
- 如請求項4之記憶體控制器,其中該記憶體控制器經組配以:接收啟動該記憶體之一記憶體列之一請求;判定該記憶體列匹配藉由該第一條目之該第一識別符所識別的該第一記憶體列;判定該第二條目表無法配置對應於該第一記憶體列之一額外條目;以及回應於判定該第二條目表無法配置對應於該第一記憶體列之該額外條目而執行該記憶體之一更新操作及該請求之一暫停操作中之一者。
- 如請求項4之記憶體控制器,其中該記憶體控制器經進一步組配以:根據該第二逾時計數器判定該至少一個第二時間段流逝;以及回應於根據該第二逾時計數器判定該至少一個第二時間段流逝而使該啟動計數器減小。
- 一種追蹤一記憶體之列之啟動的方法,該方法包含:將一頁表儲存於記憶體中,該頁表經組配以儲存:包括一第一條目之一第一條目表,該第一條目包含: 一第一識別符,其識別在一第一時間段期間啟動的該記憶體之一第一記憶體列;以及一逾時計數器,其指示在該第一時間段期間剩餘之一第一時間;以及包括一第二條目之一第二條目表,該第二條目包含:一第二識別符,其識別在至少一個第二時間段期間啟動的該記憶體之一第二記憶體列;一啟動計數器,其計數該第二記憶體列之啟動之一數量;以及一第二逾時計數器,其指示在該至少一個第二時間段期間剩餘之一第二時間;以及使用該頁表追蹤該記憶體之該等列之該等啟動。
- 如請求項11之方法,其中該第二記憶體列之啟動之該數量促成在一最大啟動窗口期間的該第二記憶體列之准許啟動之一最大數目,該最大啟動窗口為在其中准許該第二記憶體列的該最大數目之准許啟動而不降級儲存於鄰近於該第二記憶體列定位的該記憶體之一鄰近記憶體列中之資料的一時間段。
- 如請求項11之方法,其中該第二記憶體列之啟動之該數量促成在一最大啟動窗口期間的該第二記憶體列之准許啟動之一最大數目,該最大啟動窗口為在其中准許該第二記憶體列的該最大數目之准許啟動而不更新鄰近於該第二記憶體列定位的該記憶體之一鄰近記憶體列 的一時間段。
- 如請求項13之方法,其中該至少一個第二時間段係在該最大啟動窗口內的該第二記憶體列之該最大數目之准許啟動中之每一者之間的一平均時間量。
- 如請求項14之方法,其中該追蹤包含:接收啟動該記憶體之一記憶體列之一請求;判定該記憶體列匹配藉由該第二條目之該第二識別符所識別的該第二記憶體列;判定該啟動計數器是否指示准許啟動之該最大數目;以及回應於判定該啟動計數器指示准許啟動之該最大數目而執行該記憶體的一更新操作及該請求之一暫停操作中之一者。
- 如請求項15之方法,其中該追蹤進一步包含:回應於判定該啟動計數器不指示准許啟動之該最大數目而使該啟動計數器增加並啟動該第二記憶體列。
- 如請求項14之方法,其中該追蹤包含:接收啟動該記憶體之一記憶體列之一請求;判定該記憶體列匹配藉由該第一條目之該第一識別符識別的該第一記憶體列;解除配置該第一條目;在該第二條目表中配置該記憶體列之一對應條目;以及啟動該記憶體列。
- 如請求項14之方法,其中該追蹤包含:接收啟動該記憶體之一記憶體列之一請求;判定該記憶體列不匹配藉由該第一條目之該第一識別符識別的該第一記憶體列;以及在該第一條目表中配置該記憶體列之一對應條目。
- 如請求項14之方法,其中該追蹤包含:接收啟動該記憶體之一記憶體列之一請求;判定該記憶體列匹配藉由該第一條目之該第一識別符識別的該第一記憶體列;判定該第二條目表無法配置對應於該第一記憶體列之一額外條目;以及回應於判定該第二條目表無法配置對應於該第一記憶體列之該額外條目而執行該記憶體之一更新操作及該請求之一暫停操作中之一者。
- 如請求項14之方法,其中該追蹤包含:根據該第二逾時計數器來判定該至少一個第二時間段流逝;以及回應於根據該第二逾時計數器來判定該至少一個第二時間段流逝而使該啟動計數器減小。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461927636P | 2014-01-15 | 2014-01-15 | |
US61/927,636 | 2014-01-15 | ||
US14/560,674 | 2014-12-04 | ||
US14/560,674 US9589606B2 (en) | 2014-01-15 | 2014-12-04 | Handling maximum activation count limit and target row refresh in DDR4 SDRAM |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201535366A true TW201535366A (zh) | 2015-09-16 |
TWI646533B TWI646533B (zh) | 2019-01-01 |
Family
ID=53521912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103146557A TWI646533B (zh) | 2014-01-15 | 2014-12-31 | 處理第四代雙倍資料率同步動態隨機存取記憶體中的最大啓動計數限制及目標列再新之技術 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9589606B2 (zh) |
JP (1) | JP6463141B2 (zh) |
KR (1) | KR102223188B1 (zh) |
CN (1) | CN104778013B (zh) |
TW (1) | TWI646533B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220055505A (ko) | 2020-10-20 | 2022-05-04 | 윈본드 일렉트로닉스 코포레이션 | 반도체 기억장치 |
KR20220127095A (ko) | 2021-03-10 | 2022-09-19 | 윈본드 일렉트로닉스 코포레이션 | 반도체 기억장치 |
KR20220144256A (ko) | 2021-04-19 | 2022-10-26 | 윈본드 일렉트로닉스 코포레이션 | 반도체 기억장치 |
TWI784359B (zh) * | 2020-09-14 | 2022-11-21 | 美商谷歌有限責任公司 | 使用共同計數器之記憶體請求逾時 |
US11545207B2 (en) | 2020-09-03 | 2023-01-03 | Windbond Electronics Corp. | Semiconductor memory device |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9236110B2 (en) | 2012-06-30 | 2016-01-12 | Intel Corporation | Row hammer refresh command |
US9384821B2 (en) | 2012-11-30 | 2016-07-05 | Intel Corporation | Row hammer monitoring based on stored row hammer threshold value |
US9286964B2 (en) * | 2012-12-21 | 2016-03-15 | Intel Corporation | Method, apparatus and system for responding to a row hammer event |
US9478263B2 (en) * | 2014-01-17 | 2016-10-25 | Apple Inc. | Systems and methods for monitoring and controlling repetitive accesses to volatile memory |
JP6224483B2 (ja) * | 2014-02-26 | 2017-11-01 | Necプラットフォームズ株式会社 | 半導体記憶装置、メモリアクセス制御方法、およびコンピュータ・プログラム |
CN105159853B (zh) * | 2015-09-25 | 2018-04-24 | 中国船舶重工集团公司第七0九研究所 | 基于fpga的dfi标准ddr3控制器 |
US9812185B2 (en) * | 2015-10-21 | 2017-11-07 | Invensas Corporation | DRAM adjacent row disturb mitigation |
RU2692136C1 (ru) * | 2016-02-22 | 2019-06-21 | ДжФЕ СТИЛ КОРПОРЕЙШН | Способ изготовления листа из текстурированной электротехнической стали |
EP3428294B1 (en) * | 2016-03-09 | 2024-04-24 | JFE Steel Corporation | Method of producing grain-oriented electrical steel sheet |
JP6455468B2 (ja) * | 2016-03-09 | 2019-01-23 | Jfeスチール株式会社 | 方向性電磁鋼板の製造方法 |
US10268585B2 (en) * | 2016-06-28 | 2019-04-23 | Intel Corporation | Memory controller that forces prefetches in response to a present row address change timing constraint |
WO2018100331A1 (en) * | 2016-11-29 | 2018-06-07 | Arm Limited | Storage circuitry responsive to a tag-matching command |
JP7008410B2 (ja) * | 2017-02-10 | 2022-01-25 | キヤノン株式会社 | メモリコントローラおよび方法 |
CN108932205B (zh) * | 2017-05-25 | 2021-01-29 | 华为技术有限公司 | 一种防御RowHammer攻击的方法及设备 |
US11054995B2 (en) * | 2018-09-07 | 2021-07-06 | Micron Technology, Inc. | Row hammer protection for a memory device |
KR102617016B1 (ko) | 2018-09-17 | 2023-12-27 | 삼성전자주식회사 | 자주 접근되는 어드레스를 검출하는 레지스터 클럭 드라이버를 포함하는 메모리 모듈 |
US10726903B2 (en) * | 2018-09-21 | 2020-07-28 | Nanya Technology Corporation | Row-determining circuit, DRAM, and method for refreshing a memory array |
US10825534B2 (en) * | 2018-10-26 | 2020-11-03 | Intel Corporation | Per row activation count values embedded in storage cell array storage cells |
US10969997B2 (en) * | 2018-11-07 | 2021-04-06 | Intel Corporation | Memory controller that filters a count of row activate commands collectively sent to a set of memory banks |
EP3675125A1 (en) * | 2018-12-27 | 2020-07-01 | Secure-IC SAS | Device and method for protecting a memory |
US10943637B2 (en) * | 2018-12-27 | 2021-03-09 | Micron Technology, Inc. | Apparatus with a row-hammer address latch mechanism |
KR20200084599A (ko) | 2019-01-03 | 2020-07-13 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
CN110706733A (zh) * | 2019-08-13 | 2020-01-17 | 浙江工商大学 | 一种dram内存行扰动错误解决方法 |
US11474746B2 (en) * | 2020-12-10 | 2022-10-18 | Advanced Micro Devices, Inc. | Refresh management for DRAM |
KR20220120771A (ko) * | 2021-02-23 | 2022-08-31 | 삼성전자주식회사 | 메모리 장치 및 그것의 동작 방법 |
KR20220145667A (ko) | 2021-04-22 | 2022-10-31 | 삼성전자주식회사 | 적응적 구동 전압을 생성하는 위상 고정 루프 및 이의 동작 방법 |
KR20230072283A (ko) | 2021-11-17 | 2023-05-24 | 삼성전자주식회사 | 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법 |
JP2023130672A (ja) * | 2022-03-08 | 2023-09-21 | ソニーセミコンダクタソリューションズ株式会社 | メモリコントローラおよびメモリ制御方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5883849A (en) * | 1997-06-30 | 1999-03-16 | Micron Technology, Inc. | Method and apparatus for simultaneous memory subarray testing |
US6725337B1 (en) * | 2001-05-16 | 2004-04-20 | Advanced Micro Devices, Inc. | Method and system for speculatively invalidating lines in a cache |
CN100375066C (zh) * | 2005-10-28 | 2008-03-12 | 中国人民解放军国防科学技术大学 | 基于高速缓冲存储器行偏移量实现优先读取存储器的方法 |
JP4208895B2 (ja) * | 2006-05-30 | 2009-01-14 | 株式会社東芝 | キャッシュメモリ装置および処理方法 |
CN101123113B (zh) * | 2007-09-20 | 2010-07-14 | 上海交通大学 | 同步动态随机访问存储器的访问方法及控制装置 |
TWI367486B (en) * | 2007-12-25 | 2012-07-01 | Ind Tech Res Inst | Memory device and refresh method thereof |
US8195891B2 (en) * | 2009-03-30 | 2012-06-05 | Intel Corporation | Techniques to perform power fail-safe caching without atomic metadata |
JP2010237739A (ja) * | 2009-03-30 | 2010-10-21 | Fujitsu Ltd | キャッシュ制御装置,情報処理装置およびキャッシュ制御プログラム |
US9257169B2 (en) * | 2012-05-14 | 2016-02-09 | Samsung Electronics Co., Ltd. | Memory device, memory system, and operating methods thereof |
US8938573B2 (en) * | 2012-06-30 | 2015-01-20 | Intel Corporation | Row hammer condition monitoring |
US9236110B2 (en) * | 2012-06-30 | 2016-01-12 | Intel Corporation | Row hammer refresh command |
-
2014
- 2014-12-04 US US14/560,674 patent/US9589606B2/en active Active
- 2014-12-31 TW TW103146557A patent/TWI646533B/zh active
-
2015
- 2015-01-14 KR KR1020150006906A patent/KR102223188B1/ko active IP Right Grant
- 2015-01-15 CN CN201510021504.6A patent/CN104778013B/zh active Active
- 2015-01-15 JP JP2015005870A patent/JP6463141B2/ja active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11545207B2 (en) | 2020-09-03 | 2023-01-03 | Windbond Electronics Corp. | Semiconductor memory device |
TWI784359B (zh) * | 2020-09-14 | 2022-11-21 | 美商谷歌有限責任公司 | 使用共同計數器之記憶體請求逾時 |
KR20220055505A (ko) | 2020-10-20 | 2022-05-04 | 윈본드 일렉트로닉스 코포레이션 | 반도체 기억장치 |
KR20220127095A (ko) | 2021-03-10 | 2022-09-19 | 윈본드 일렉트로닉스 코포레이션 | 반도체 기억장치 |
KR20220144256A (ko) | 2021-04-19 | 2022-10-26 | 윈본드 일렉트로닉스 코포레이션 | 반도체 기억장치 |
Also Published As
Publication number | Publication date |
---|---|
KR102223188B1 (ko) | 2021-03-05 |
CN104778013B (zh) | 2019-06-25 |
CN104778013A (zh) | 2015-07-15 |
US20150200002A1 (en) | 2015-07-16 |
TWI646533B (zh) | 2019-01-01 |
JP6463141B2 (ja) | 2019-01-30 |
JP2015133119A (ja) | 2015-07-23 |
US9589606B2 (en) | 2017-03-07 |
KR20150085485A (ko) | 2015-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI646533B (zh) | 處理第四代雙倍資料率同步動態隨機存取記憶體中的最大啓動計數限制及目標列再新之技術 | |
KR102048762B1 (ko) | 다이나믹 랜덤 액세스 메모리(dram)를 리프레시하기 위한 방법, 장치 및 시스템 | |
US9348527B2 (en) | Storing data in persistent hybrid memory | |
US11049544B2 (en) | Row hammer correction logic for dram with integrated processor | |
US10564880B2 (en) | Data deduplication method and apparatus | |
US20180039424A1 (en) | Method for accessing extended memory, device, and system | |
US8560767B2 (en) | Optimizing EDRAM refresh rates in a high performance cache architecture | |
JP2019056972A (ja) | メモリシステムおよびメモリシステムの制御方法 | |
US11899580B2 (en) | Cache space management method and apparatus | |
JP2014164769A (ja) | ホストのサービス品質インジケータに重みを割り当てるための装置および方法ならびに記憶媒体 | |
US20180253384A1 (en) | Variable cache for non-volatile memory | |
JP6224483B2 (ja) | 半導体記憶装置、メモリアクセス制御方法、およびコンピュータ・プログラム | |
TW201209573A (en) | Managing memory refreshes | |
US20180004409A1 (en) | Method and apparatus for managing storage device | |
US20160188209A1 (en) | Apparatus and method for issuing access requests to a memory controller | |
US10515671B2 (en) | Method and apparatus for reducing memory access latency | |
AU2014301874B2 (en) | Data writing method and memory system | |
US8732404B2 (en) | Method and apparatus for managing buffer cache to perform page replacement by using reference time information regarding time at which page is referred to | |
US9501414B2 (en) | Storage control device and storage control method for cache processing according to time zones | |
CN113867641B (zh) | 主机内存缓冲管理方法、装置、以及固态硬盘 | |
US20140095825A1 (en) | Semiconductor device and operating method thereof | |
US8793459B2 (en) | Implementing feedback directed NUMA mitigation tuning | |
US9760488B2 (en) | Cache controlling method for memory system and cache system thereof | |
WO2015062371A1 (zh) | 内存分配方法及装置 | |
CN116991476A (zh) | 数据预取方法、装置、电子设备及储存介质 |