TW201814495A - 記憶體系統及處理器系統 - Google Patents

記憶體系統及處理器系統 Download PDF

Info

Publication number
TW201814495A
TW201814495A TW106108162A TW106108162A TW201814495A TW 201814495 A TW201814495 A TW 201814495A TW 106108162 A TW106108162 A TW 106108162A TW 106108162 A TW106108162 A TW 106108162A TW 201814495 A TW201814495 A TW 201814495A
Authority
TW
Taiwan
Prior art keywords
memory
address
dram
data
access
Prior art date
Application number
TW106108162A
Other languages
English (en)
Other versions
TWI612466B (zh
Inventor
野口紘希
藤田忍
Original Assignee
東芝記憶體股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 東芝記憶體股份有限公司 filed Critical 東芝記憶體股份有限公司
Application granted granted Critical
Publication of TWI612466B publication Critical patent/TWI612466B/zh
Publication of TW201814495A publication Critical patent/TW201814495A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4091Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/005Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/406Management or control of the refreshing or charge-regeneration cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40603Arbitration, priority and concurrent access to memory cells for read/write or refresh operations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/251Local memory within processor subsystem
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1673Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1675Writing or programming circuits or methods

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)
  • Databases & Information Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本發明係關於一種記憶體系統及處理器系統。 本發明可提高主處理器及主記憶體間之資料傳送能力。 記憶體系統具備:第1記憶體,其包含第1位址;第2記憶體,其可記憶第1記憶體之資料;第3記憶體;及控制器,其控制朝第1、第2、第3記憶體之存取。控制器發出進行朝第1記憶體之第1位址之第1存取之命令,該命令指示朝第1位址之寫入動作,且在對應於第1位址之資料未記憶於第2及第3記憶體之情形下,替代第1存取而對第3記憶體存取。

Description

記憶體系統及處理器系統
本發明之實施方式係關於一種記憶體系統及處理器系統。
在包含主處理器及主記憶體之記憶體系統中,主記憶體具備例如DRAM(動態隨機存取記憶體)。然而,DRAM具有為了資料保持而必須定期再新之特質。因而,在以DRAM為主記憶體之情形下,主處理器及主記憶體間之資料傳送能力被DRAM之再新限制。
本發明所欲解決之課題在於提供一種能夠提高主處理器及主記憶體間之資料傳送能力的記憶體系統及處理器系統。 本實施方式之記憶體系統具備:第1記憶體,其包含第1位址;第2記憶體,其可記憶對應於前述第1記憶體之前述第1位址之資料;第3記憶體;及控制器,其控制朝前述第1、第2、及第3記憶體之存取;且前述控制器在發出進行朝前述第1位址之第1存取之命令,且對應於前述第1位址之前述資料記憶於前述第2記憶體內之第1情形下,替代前述第1存取進行朝前述第2記憶體之第2存取;在發出前述命令,且對應於前述第1位址之前述資料記憶於前述第3記憶體之第2位址內之第2情形下,替代前述第1存取進行朝前述第3記憶體之前述第2位址之第3存取;在發出前述命令,前述命令指示朝前述第1位址之寫入動作,且前述第1及第2情形以外之第3情形下,替代前述第1存取進行朝前述第3記憶體之第3位址之第4存取。 根據本實施例,能夠提高主處理器及主記憶體間之資料傳送能力。
以下,一面參照圖式一面說明實施例。 (記憶體系統) 圖1至圖4顯示記憶體系統之例。 本實施例所應用之記憶體系統具備:處理器(主機)10、及主記憶體11。 記憶體系統為例如個人電腦、包含可攜式終端機之電子機器、包含數位靜態相機及視訊攝影機之攝像裝置、平板型電腦、智慧型手機、遊戲機、汽車導航系統、印表機、掃描器、或伺服系統等。 在圖1之例中,處理器10具備:CPU 12、快取記憶體13、及控制器14,且控制器14具備LUT(look-up table,查找表)15。又,主記憶體11具備:DRAM MD 、緩衝記憶體MB 、及補償記憶體(redeem memory)MR 。 在圖2之例中,處理器10具備:CPU 12、快取記憶體13、及控制器14,且控制器14具備:LUT 15、及補償記憶體MR 。又,主記憶體11具備:DRAM MD 、及緩衝記憶體MB 。 在圖3之例中,處理器10具備:CPU 12、及快取記憶體13。又,主記憶體11具備:DRAM MD 、緩衝記憶體MB 、及補償記憶體MR 。控制器14連接於處理器10及主記憶體11之間,且具備LUT 15。 在圖4之例中,處理器10具備:CPU 12、及快取記憶體13。又,主記憶體11具備:DRAM MD 、及緩衝記憶體MB 。控制器14連接於處理器10及主記憶體11之間,且具備:LUT 15、及補償記憶體MR 。 CPU 12具備例如複數個CPU核心。複數個CPU核心為能夠使不同之資料處理彼此並行地進行之要件。近年來,由於利用CPU核心數之增加(例如8核心、16核心等)而提高處理器10之處理能力,且主記憶體11之記憶體容量增大(例如100吉位元組等),故處理器10及主記憶體11間之資料傳送能力之提高成為緊急之課題。 快取記憶體13為一種解決該課題之技術。快取記憶體13藉由具備例如可高速存取之SRAM(靜態隨機存取記憶體),將記憶於DRAM MD 內之資料快取,而解決該課題。然而,SRAM由於待機電力大,且單元面積大,故無法大容量化。 因而,本實施例之記憶體系統具備3種記憶體,例如DRAM MD 、緩衝記憶體MB 、及補償記憶體MR 。 DRAM MD 為主記憶體11之資料之正式之儲存部位。緩衝記憶體MB 及補償記憶體MR 為用於處理器10對記憶於DRAM MD 內之資料高速存取的要件。 緩衝記憶體MB 例如為SRAM。緩衝記憶體MB 例如作為DRAM MD 之感測放大器而發揮機能。 DRAM MD 及緩衝記憶體MB 具有以下之特徵。 朝DRAM MD 之存取係藉由使記憶單元陣列內之1列啟動(activate)而進行。所謂使1列啟動,係意味著將連接於1列即1條字元線之記憶體單元內之選擇電晶體導通。使1列啟動之動作被稱為例如列開啟動作(row-open operation)或頁開啟動作(page-open operation)。又,被啟動之1列被稱為例如被開啟之列(opened row)或被開啟之頁(opened page)。 另一方面,所謂在DRAM MD 中將1列去啟動(deactivate),係意味著將連接於1列即1條字元線之記憶體單元內之選擇電晶體關斷。將1列去啟動之動作被稱為例如列關閉動作(row-close operation)或頁關閉動作(page-close operation)。又,被去啟動之1列被稱為例如被關閉之列(closed row)或被關閉之頁(closed page)。在1列被去啟動之狀態下準備下一存取,並進行位元線之預充電動作等。 緩衝記憶體MB 例如可記憶在DRAM MD 之被啟動之1列內之複數個記憶體單元(連接於1條字元線之複數個記憶體單元)內所記憶之資料(以下稱為頁資料)。緩衝記憶體MB 係作為快取記憶體而發揮機能,該快取記憶體具有處理器10內之快取記憶體(例如L1~L3快取)13之記憶體階層與主記憶體11內之DRAM MD 之記憶體階層之間之記憶體階層。 例如,處理器10藉由在成為存取對象之資料記憶於緩衝記憶體MB 內之情形(緩衝記憶體命中之情形)下,不對DRAM MD 存取,而是對緩衝記憶體MB 存取,藉而使朝主記憶體11之存取高速化。 補償記憶體MR 為如下之要件,即:即便在成為存取對象之資料未記憶於緩衝記憶體MB 內之情形(緩衝記憶體未命中之情形下)下,亦不對DRAM MD 存取,亦即於在DRAM MD 中不進行頁開啟/關閉動作(列開啟/關閉動作)下,可進行成為存取對象之資料之讀出/寫入動作。 例如,在緩衝記憶體未命中之情形下,一般而言,在DRAM MD 中,首先進行頁關閉動作,之後,為了存取成為存取對象之新的頁(列),而必須進行頁開啟動作。然而,如此之頁開啟/關閉動作使朝主記憶體11之存取延遲。 因而,即便在緩衝記憶體未命中之情形下,亦會在成為存取對象之資料記憶於補償記憶體MR 內之情形(補償記憶體命中之情形)下,使朝DRAM MD 之存取延遲,亦即在DRAM MD 中使頁開啟/關閉動作(列開啟/關閉動作)延遲,在當前時點,可在補償記憶體MR 中執行成為存取對象之資料之讀出/寫入動作。 又,在寫入動作中,即便在緩衝記憶體未命中之情形下,且在成為存取對象之資料未記憶於補償記憶體MR 內之情形(補償記憶體未命中之情形)下,亦能夠在當前時點,藉由將寫入資料記憶於補償記憶體MR ,而使朝DRAM MD 之存取亦即DRAM MD 之頁開啟/關閉動作(列開啟/關閉動作)延遲。 補償記憶體MR 具有與緩衝記憶體MB 之記憶體階層相同之記憶體階層。亦即,補償記憶體MR 與緩衝記憶體MB 相同地作為快取記憶體而發揮機能,該快取記憶體具有處理器10內之快取記憶體13之記憶體階層與主記憶體11內之DRAM MD 之記憶體階層之間之記憶體階層。 由於補償記憶體MR 之記憶體階層與緩衝記憶體MB 之記憶體階層相同,故處理器10所管理之同一位址之資料不會同時記憶於該等2個記憶體內。 具體而言,即便存在有主記憶體11之資料之正式之儲存部位即DRAM MD 及作為快取記憶體之緩衝記憶體MB 的兩者或主記憶體11之資料之正式之儲存部位即DRAM MD 及作為快取記憶體之補償記憶體MR 的兩者同時記憶同一位址之資料之情形,補償記憶體MR 及緩衝記憶體MB 之兩者亦不會同時記憶同一位址之資料。 補償記憶體MR 由於作為主記憶體11內之快取記憶體而發揮機能,故較佳者係為可高速存取之記憶體。又,補償記憶體MR 就在後述之記憶體存取控制之關係上而言較佳者係具有較緩衝記憶體MB 之記憶體容量大之記憶體容量。再者,為了追求記憶體系統之低耗電化,且消除因再新等導致之存取限制,而補償記憶體MR 較佳者係為非揮發性記憶體、或具有非常長之資料保持時間之揮發性記憶體。 作為如此之記憶體,存在有例如MRAM(magnetic random access memory,磁性隨機存取記憶體)、ReRAM(電阻變化記憶體)等之非揮發性RAM、或以記憶體單元內之選擇電晶體之通道為氧化物半導體(例如IGZO等)之DRAM(ULR DRAM:Ultra Long Retention DRAM,超長保持DRAM)。 記憶於緩衝記憶體MB 內之頁資料例如在寫入動作中於緩衝記憶體命中之情形下被再新。因而,緩衝記憶體MB 內之頁資料為例如利用寫入動作被更新,而另一方面不會被回寫至正式之儲存部位即DRAM MD 的所謂之已變更資料(dirty data)。 相同地,記憶於補償記憶體MR 內之頁資料例如在寫入動作中於補償記憶體命中之情形下亦被更新。因而,補償記憶體MR 內之頁資料亦為例如利用寫入動作被更新,而另一方面不會回寫至正式之儲存部位即DRAM MD 之所謂之已變更資料。 該等已變更資料最終回寫至正式之儲存部位即DRAM MD ,而成為乾淨資料(clean data)。 在本實施例之記憶體系統中,例如,如圖5所示,3種記憶體亦即DRAM MD 、緩衝記憶體MB 、及補償記憶體MR 間之資料之移動被控制為環狀。 首先,DRAM MD 內之頁資料利用例如頁開啟動作移動至緩衝記憶體MB 內(圖5之箭頭T1)。其次,緩衝記憶體MB 內之頁資料利用例如頁關閉動作移動至補償記憶體MR 內(圖5之箭頭T2)。最後,補償記憶體MR 內之頁資料在特定時期被回寫至DRAM MD 內(圖5之箭頭T3)。 將補償記憶體MR 內之頁資料回寫至DRAM MD 內之特定時期係例如設定為於空間在補償記憶體MR 消失之後。又,由於即便為空間在補償記憶體MR 消失之後,而在無需緊接著將新的頁資料寫入至補償記憶體MR 時,亦不會對處理器10之性能(資料處理能力)造成影響,故於空間在補償記憶體MR 消失之後,在滿足特定條件時,將補償記憶體MR 內之頁資料回寫至DRAM MD 內。 該特定條件例如為朝主記憶體11之存取無一定期間,或在DRAM MD 中進行再新,且再新對象之頁存在於補償記憶體MR 內等。 將補償記憶體MR 內之頁資料回寫至DRAM MD 內之特定時期除上述以外,還可設定為例如在處理器10內之資料處理量少之時期。如上述之時期係緣於處理器10及主記憶體11間之資料傳送量亦為少,在DRAM MD 內之頁開啟/關閉動作不會對處理器10之性能造成影響之故。 如上述之時期為例如在處理器(複數個CPU核心)10進入低耗電模式後,或處理器10內之複數個CPU核心中的動作狀態之CPU核心數成為特定數目以下後,或在將處理器(複數個CPU核心)10之最大資料處理量設定為100%時,當前之資料處理量為特定%以下,或者在遮斷記憶體系統(DRAM MD )之電源等之產生將DRAM MD 之資料回寫至存儲裝置(HDD、SSD等)之必要性後。 在產生將DRAM MD 之資料回寫至存儲裝置之必要性之情形下,緩衝記憶體MB 內之頁資料因頁關閉動作而不移動至補償記憶體MR 內。在此一情形下,緩衝記憶體MB 內之頁資料在頁關閉動作前被回寫至DRAM MD 內(圖5之箭頭T4)。又,在頁關閉動作後,補償記憶體MR 內之頁資料被回寫至DRAM MD 內(圖5之箭頭T3)。 根據如此之一系列之資料控制,例如在處理器10進行資料處理之期間,可抑制在DRAM MD 之頁開啟/關閉動作之發生。因而,在該期間內,處理器10及主記憶體11間之資料傳送能力提高,且記憶體系統之性能提高。 以上之資料控制係由控制器14控制。控制器14為了進行如上述之資料控制而具備顯示有效資料存在於何處之LUT 15。LUT 15可預先記憶於處理器10內之RAM,而自其獲取,或亦可預先記憶於DRAM MD 內,而自其獲取。由控制器14進行之資料控制之具體例將於下文敘述。 (DRAM) 圖6顯示DRAM之例。 DRAM MD 具備配置為陣列狀之複數個記憶體單元U00 ~Uij 。緩衝記憶體MB 為DRAM MD 之感測放大器SAj 。 1個記憶體單元Uij 具備串聯連接之電容器Cij 及電晶體(FET:Field Effect Transistor,場效電晶體)Tij 。其中,i為例如0、1、2、…1023,j為例如0、1、2、…4095。 電容器Cij 具備第1及第2電極,電晶體Tij 具備:電流路徑,其具有第1及第2端子;及控制端子,其控制該電流路徑之導通/關斷。電晶體Tij 之第1端子連接於電容器Cij 之第1電極。 位元線BLj 連接於電晶體Tij 之第2端子,並在第1方向上延伸。位元線BLj 連接於緩衝記憶體MB 亦即感測放大器SAj 。字元線WLi 連接於電晶體Tij 之控制端子,在與第1方向交叉之第2方向上延伸。電容器Cij 之第2電極被設定為例如接地電位VSS 。 與字元線WLi 連接之複數個記憶體單元Ui0 ~Uij 屬1個群組例如頁PGi 內。記憶於頁PGi 內之記憶體單元Ui0 ~Uij 之資料為頁資料。又,在DRAM MD 中,頁開啟/關閉動作係以頁單位進行。 複數個感測放大器SA0 ~SAj 係對應於複數個行CoL0 ~CoLj 而設置。 在如此之DRAM MD 中,寫入動作係例如藉由使位元線BLj 自預充電電位(例如Vdd /2)變化為相應於寫入資料之值之電位而進行。 例如,於在記憶體單元Uij 寫入1位元資料(0或1)之情形下,只要如下述般即可,即:在寫入資料為0時,自感測放大器SAj 朝位元線BLj 傳送接地電位VSS ,在寫入資料為1時,自感測放大器SAj 朝位元線BLj 傳送電源電位Vdd 。 又,讀出動作只要係例如將位元線BLj 設定為預充電電位(例如Vdd /2)且浮動即可。在此一情形下,若將字元線WLi 設定為有效,則相應於記憶於記憶體單元Uij 內之資料亦即蓄積於電容器Cij 之電荷量,而位元線BLj 之電位變化。 記憶於記憶體單元Uij 內之資料(讀出資料)藉由利用感測放大器SAj 感測該位元線BLj 之電位變化而能夠檢測出。 圖7顯示緩衝記憶體之例。 緩衝記憶體MB 為DRAM MD 之感測放大器SAj 。 記憶體單元Uij 、電容器Cij 、電晶體Tij 、字元線WLi 、及位元線BLj 分別對應於圖6所示之記憶體單元Uij 、電容器Cij 、電晶體Tij 、字元線WLi 、及位元線BLj 。 Qpre 係在讀出/寫入動作(頁關閉動作)中,用於將預充電電位Vpre 施加至位元線BLj 之電晶體(例如N通道FET)。例如,在讀出/寫入動作中,若控制信號φpre 變為有效(例如高位準),則電晶體Qpre 變為導通,Vpre =Vdd /2被傳送至位元線BLj。若控制信號φpre 變為非有效(例如低位準),則電晶體Qpre 變為關斷。 Qclamp 係作為在讀出/寫入動作中用於將位元線BLj電性連接於感測放大器SAj 之開關元件(嵌位電路)而發揮機能。Qclamp 為例如N通道FET。在讀出/寫入動作中,若控制信號φclamp 變為有效,則電晶體Qclamp 變為導通,位元線BLj與感測放大器SAj 電性連接。若控制信號φclamp 變為非有效,則電晶體Qclamp 變為關斷。 感測放大器SAj 具備SRAM亦即被觸發器連結之2個反相器電路。若控制信號(感測放大器致能信號) φSE 變為有效,則感測放大器SAj 變為動作狀態。又,若控制信號φSE 變為非有效,則感測放大器SAj 變為非動作狀態。 感測放大器SAj 具備2個輸入/輸出節點S1、S2。讀出/寫入資料係例如自輸入/輸出節點S1輸入/輸出。 Qeq 為將2個輸入/輸出節點S1、S2之電位等化之電晶體(等化電路)。Qeq 為例如N通道FET。若控制信號φeq 變為有效,則電晶體Qeq 變為導通,2個輸入/輸出節點S1、S2之電位被等化。若控制信號φeq 變為非有效,則電晶體Qeq 變為關斷。 Qrst 為將2個輸入/輸出節點S1、S2之電位重設之電晶體(例如N通道FET)。若控制信號φrst 變為有效,則電晶體Qrst 變為導通,2個輸入/輸出節點S1、S2之電位被重設。若控制信號φrst 變為非有效,則電晶體Qrst 變為關斷。 (補償記憶體) 圖8顯示補償記憶體之例。 在本例中,補償記憶體MR 為MRAM。又,補償記憶體MR 之感測放大器SAj 係與上述之DRAM MD 相同地可用作緩衝記憶體MB 。惟,補償記憶體MR 之感測放大器SAj 亦可不用作緩衝記憶體MB 。 補償記憶體 MR 具備:配置為陣列狀之複數個記憶體單元X00 ~Xij 。1個記憶體單元Xij 具備:串聯連接之磁阻效應元件MTJij 及電晶體(FET)Qij 。其中,i為例如0、1、2、…1023,j為例如0、1、2、…4095。 磁阻效應元件MTJij 具備第1及第2電極,電晶體Qij 具備:電流路徑,其具有第1及第2端子;及控制端子,其控制該電流路徑之導通/關斷。電晶體Qij 之第1端子連接於磁阻效應元件MTJij 之第1電極。 位元線BLj 連接於磁阻效應元件MTJij 之第2電極,並在第1方向上延伸。位元線BLj 連接於緩衝記憶體MB 亦即感測放大器SAj 。源極線SLj 連接於電晶體Qij 之第2端子並在第1方向上延伸。字元線WLi 連接於電晶體Qij 之控制端子,並在與第1方向交叉之第2方向上延伸。 連接於字元線WLi 之複數個記憶體單元Xi0 ~Xij 屬1個群組例如頁PGi 內。記憶於頁PGi 內之記憶體單元Xi0 ~Xij 之資料為頁資料。 複數個感測放大器SA0 ~SAj 係對應於複數個行CoL0 ~CoLj 而設置。 圖9顯示補償記憶體之感測放大器之例。 記憶體單元Xij 、磁阻效應元件MTJij 、電晶體Qij 、字元線WLi 、位元線BLj 、及源極線SLj 分別對應於圖8所示之記憶體單元Xij 、磁阻效應元件MTJij 、電晶體Qij 、字元線WLi 、位元線BLj 、及源極線SLj 。 Qpre 及Qclamp 對應於圖7之Qpre 及Qclamp 。 惟,Qpre 係在讀出動作中用於將預充電電位Vpre 施加至位元線BLj 之電晶體(例如N通道FET),並在寫入動作中維持關斷。 又,Qclamp 係作為在讀出動作中用於將位元線BLj電性連接於感測放大器SAj 之開關元件(嵌位電路)而發揮機能。亦即,在寫入動作中,Qclamp 維持關斷。 感測放大器SAj 係與圖7之感測放大器SAj 相同。 惟,補償記憶體MR 之感測放大器SAj 係在讀出動作中使用,在寫入動作中不使用。 Qeq 及Qrst 對應於圖7之Qeq 及Qrst 。由於該等電晶體Qeq 、Qrst 之機能與圖7之電晶體Qeq 、Qrst 之機能相同,故省略此處之說明。 補償記憶體MR 具備寫入驅動器/接受器16。 寫入驅動器/接受器16具備:第1驅動器/接受器D/S_a、及第2驅動器/接受器D/S_b。 第1驅動器/接受器D/S_a被控制信號φa 控制,且具備串聯連接之P通道FET Qa_p及N通道FET Qa_n。第2驅動器/接受器D/S_b被控制信號φb 控制,且具備串聯連接之P通道FET Qb_p及N通道FET Qb_n。 在寫入動作中,若控制信號φw 變為有效,則第1驅動器/接受器D/S_a與位元線BLj 電性連接。 例如,在「0」-寫入中,寫入脈衝係藉由將控制信號φa 設定為「0」,並將控制信號φb 設定為「1」而產生。其中,「0」對應於接地電位VSS ,「1」對應於電源電位Vdd 。以下為相同。 在此一情形下,寫入電流在自磁阻效應元件MTJij 朝向電晶體Tij 之方向上流動,且磁阻效應元件MTJij 變化為低電阻狀態。其結果為,在記憶體單元Uij 中寫入「0」。 又,在「1」-寫入中,寫入脈衝藉由將控制信號φa 設定為「1」,將控制信號φb 設定為「0」而產生。 在此一情形下,寫入電流在自電晶體Tij 朝向磁阻效應元件MTJij 之方向上流動,且磁阻效應元件MTJij 變化為高電阻狀態。其結果為,在記憶體單元Uij 中寫入「1」。 另一方面,在讀出動作中,控制信號φw 被設定為非有效,第1驅動器/接受器D/S_a自位元線BLj 被電性切斷。又,控制信號φb 被設定為「1」。在此一情形下,接地電位VSS 被施加至源極線SLj 。 (記憶體存取控制) 說明圖1至圖4之控制器14之記憶體存取控制之例。 圖10係顯示記憶體存取控制之例之流程圖。 首先,控制器14檢查是否發出對DRAM存取之命令(步驟ST00)。 若控制器14確認已發出對DRAM存取之命令,則基於LUT 15檢查成為存取對象之資料是否記憶於緩衝記憶體內(步驟ST01)。 若控制器14確認成為存取對象之資料記憶於緩衝記憶體內(緩衝記憶體命中),則對緩衝記憶體存取,並執行讀出/寫入動作(步驟ST02)。 例如,如圖11A所示,在成為存取對象之資料被列位址RA_x指定,且列位址RA_x之資料(頁資料)PG_x被讀出至緩衝記憶體MB 內之情形下,則可對緩衝記憶體MB 存取,並對頁資料PG_x之全部或一部分執行讀出/寫入動作。 另一方面,若控制器14確認成為存取對象之資料未記憶於緩衝記憶體內(緩衝記憶體未命中),則基於LUT 15檢查成為存取對象之資料是否記憶於補償記憶體內(步驟ST03)。 若控制器14確認成為存取對象之資料記憶於補償記憶體內(補償記憶體命中),則對補償記憶體存取,並執行讀出/寫入動作(步驟ST04)。 例如,如圖11A所示,在成為存取對象之資料被列位址RA_y指定,且列位址RA_y之資料(頁資料)PG_y被讀出至補償記憶體MR 之列位址ReA_y之情形下,可對補償記憶體MR 之列位址ReA_y存取,並對頁資料PG_y之全部或一部分執行讀出/寫入動作。 此外,亦可調換步驟ST01與步驟ST03之順序。 又,若控制器14在確認成為存取對象之資料未記憶於緩衝記憶體內(緩衝記憶體未命中),且亦未記憶於補償記憶體內(補償記憶體未命中),則檢查來自處理器之指示為寫入動作或還是為讀出動作(步驟ST05)。 在來自處理器之指示為寫入動作之情形下,控制器14對補償記憶體存取,並執行寫入動作(步驟ST06)。 例如,如圖11B所示,在成為存取對象之資料被列位址RA_z指定,且列位址RA_z之資料(頁資料)PG_z未被讀出至緩衝記憶體MB 及補償記憶體MR 之情形下,將列位址RA_z之資料寫入至補償記憶體MR 之位址ReA_z。 此處,緩衝記憶體及補償記憶體之資料管理係以頁單位或附掩碼之頁單位進行。 例如,利用頁開啟動作自DRAM被讀出至緩衝記憶體之資料係以頁單位進行管理。又,利用頁關閉動作自緩衝記憶體移動至補償記憶體之資料亦以頁單位進行管理。此係緣於利用如此之路徑,記憶於緩衝記憶體內或補償記憶體內之頁資料之全部可用作有效資料之故。 相對於此,在緩衝記憶體未命中及補償記憶體未命中之寫入動作中,自處理器寫入至補償記憶體之資料係以頁單位或附掩碼之頁單位進行管理。 亦即,於在成為存取對象之頁(列)內之全部之位元寫入資料之情形下,寫入至補償記憶體之頁資料之全部為有效資料。因而,在此一情形下,寫入至補償記憶體之資料係以頁單位進行管理。 又,於在成為存取對象之頁(列)內之一部分之位元寫入資料之情形下,寫入至補償記憶體之頁資料之全部不會變為有效資料。亦可有例如成為存取對象之頁內之一部分之位元(有效資料)被寫入至補償記憶體內,其餘之位元(有效資料)存在於DRAM內之情形。 因而,在此一情形下,寫入至補償記憶體之資料係以附掩碼之頁單位進行管理。所謂以附掩碼之頁單位管理,係意味著將頁資料之一部分之位元作為有效資料進行管理,將其餘之位元作為無效資料(附掩碼)進行管理。 在緩衝記憶體未命中、補償記憶體未命中,且來自處理器之指示為寫入動作之情形下,在結束對補償記憶體之寫入動作後,檢查在補償記憶體是否存在空間(步驟ST07)。 在因對補償記憶體之寫入動作,而導致空間在補償記憶體消失之情形下,執行補償記憶體之空間控制(步驟ST08)。 針對補償記憶體之空間控制,一面參照圖13一面進行說明。 首先,檢查DRAM是否為頁開啟狀態(步驟ST21)。在DRAM為頁開啟狀態之情形下,執行頁關閉動作(步驟ST22)。在頁開啟狀態時,記憶於緩衝記憶體內之資料(已變更資料)在進行頁關閉動作前被回寫至DRAM內。 例如,如圖14所示,在列位址RA_x之頁資料PG_x被讀出至緩衝記憶體MB 之情形下,控制器14在將頁資料PG_x自緩衝記憶體MB 回寫至DRAM MD 後,執行頁關閉動作。 其次,決定自補償記憶體逐出(evict)之資料(步驟ST23)。 自補償記憶體逐出之資料係以補償記憶體之列位址單位亦即頁單位或附掩碼之頁單位進行。 例如,控制器14係以補償記憶體之列位址單位管理記憶於補償記憶體內之資料之使用頻率。使用頻率利用例如MRU(most recently used,最近最常使用)、或LRU(least recently used,最近最少使用)等之指標。 MRU係意味著最近最常使用之資料亦即自最終存取時點至當前時點為止之期間(a period from a final access time to a present time)為最小之資料。又,LRU係意味著最近最少使用之資料亦即自最終存取時點起直至當前時點為止之期間為最大之資料。 控制器14將例如包含LRU之列位址之資料選擇為來自補償記憶體之逐出之對象亦即自補償記憶體朝DRAM之回寫之對象。 此外,步驟ST23可與步驟ST21~ST22並行地進行,或亦可與該等步驟相比在之前進行。 其次,控制器14檢查成為來自補償記憶體之逐出之對象的列位址之資料是否1頁全部有效(步驟ST24)。 在成為來自補償記憶體之逐出之對象的列位址之資料1頁全部無效之情形下,亦即在成為來自補償記憶體之逐出之對象的列位址之資料為附掩碼之頁資料之情形下,基於LUT 15存取對應於該列位址之DRAM之列位址,並利用頁開啟動作將頁資料自DRAM讀出至緩衝記憶體(步驟ST25)。 例如,如圖14所示,在成為逐出之對象之補償記憶體MR 之列位址ReA_y之資料為附掩碼之頁資料,且對應於列位址ReA_y之DRAM MD 之列位址為RA_y之情形下,將列位址RA_y之資料自DRAM MD 讀出至緩衝記憶體MB 。 之後,控制器14使成為逐出之對象之資料自補償記憶體移動至緩衝記憶體(步驟ST26)。 例如,在不經由步驟ST25之情形下,頁資料(有效資料)之全部自補償記憶體被傳送至緩衝記憶體。又,在經由步驟ST25之情形下,頁資料之一部分(有效資料)自補償記憶體被傳送至緩衝記憶體,並覆寫在緩衝記憶體內之頁資料上。 且,緩衝記憶體之資料被回寫至DRAM。 此處,較佳者係如圖14所示,例如,自補償記憶體MR 朝緩衝記憶體MB 之資料之移動經由控制器14而進行。 之後,執行頁關閉動作(步驟ST27)。 例如,如圖14所示,控制器14在將列位址RA_y之資料自緩衝記憶體MB 回寫至DRAM MD 後,執行頁關閉動作。 最後,於在步驟ST21為頁開啟狀態之情形下,控制器14為了再次將在步驟ST22中被關閉之頁自DRAM讀出至緩衝記憶體,並返回至執行補償記憶體之空間控制之前之狀態,而執行頁開啟動作(步驟ST28~ST29)。 例如,如圖14所示,於在步驟ST22被關閉之列位址為ReA_x之情形下,控制器14將列位址RA_x之頁資料PG_x自DRAM MD 讀出至緩衝記憶體MB 。 根據以上之步驟,補償記憶體之空間控制完成。 返回圖10之記憶體存取控制之說明。 在緩衝記憶體未命中、補償記憶體未命中、且來自處理器之指示為讀出動作之情形下,控制器14對DRAM存取,並執行讀出動作(步驟ST09~ST13)。 具體而言,首先,檢查DRAM是否為頁開啟狀態(步驟ST09)。在DRAM為頁開啟狀態之情形下,控制器14使被讀出至緩衝記憶體內之頁資料移動至補償記憶體(步驟ST10)。又,控制器14製作顯示DRAM之列位址與補償記憶體之列位址之對應關係的LUT。 使緩衝記憶體之資料移動至補償記憶體係緣於由於被讀出至緩衝記憶體之資料在短時間內再次成為存取對象之可能性高,故與回寫至DRAM相比,較佳者係移動至無頁開啟/關閉動作之可高速存取之補償記憶體之故。 控制器14在使頁資料自緩衝記憶體移動至補償記憶體後,執行頁關閉動作(步驟ST11)。 例如,如圖11C所示,在列位址RA_x之頁資料PG_x被讀出至緩衝記憶體MB 之情形下,控制器14在使頁資料PG_x自緩衝記憶體MB 移動至補償記憶體MR 後,執行頁關閉動作。較佳者係頁資料PG_x自緩衝記憶體MB 經由控制器14寫入至補償記憶體MR 之列位址ReA_x。 其次,控制器14利用頁開啟動作將成為存取對象之DRAM之列位址之頁資料自DRAM讀出至緩衝記憶體(步驟ST12)。 例如,如圖11C所示,在成為存取對象之DRAM之列位址為RA_y之情形下,控制器14利用頁開啟動作將列位址RA_y之頁資料PG_y自DRAM MD 讀出至緩衝記憶體MB 。 之後,控制器14對緩衝記憶體MB 存取,並自緩衝記憶體MB讀出處理器所需要之資料(步驟ST13)。 例如,如圖11C所示,在處理器所需要之資料亦即成為存取對象之資料為頁資料PG_y之一部分之情形下,控制器自緩衝記憶體MB 讀出該頁資料PG_y之一部分。 如此,僅在緩衝記憶體未命中、補償記憶體未命中、且來自處理器之指示為讀出動作之情形下,對DRAM存取,並執行頁開啟/關閉動作。 換言之其係意味著在上述以外之情形下即在緩衝記憶體命中(步驟ST01)、補償記憶體命中(步驟ST03)、及緩衝記憶體未命中、補償記憶體未命中、且來自處理器之指示為寫入動作之情形下,在當前時點,能夠在不進行DRAM之頁開啟/關閉動作下使其等延遲。 因而,在處理器必須進行朝主記憶體之存取時,不會發生因頁開啟/關閉動作而導致朝主記憶體之存取速度降低的事態。 圖12顯示比較例。 在比較例中,在緩衝記憶體未命中之情形下一定會發生DRAM之頁開啟/關閉動作。 在本實施例中,將圖12之緩衝記憶體未命中之情形分為圖11A、圖11B、及圖11C之3種情形,在其等中之圖11A及圖11B之情形下,在能夠使頁開啟/關閉動作延遲之點上具有特徵。 最後,檢查在補償記憶體是否存在空間(步驟ST07)。 此係緣於,於在步驟ST09為頁開啟狀態之情形下,由於控制器14使緩衝記憶體之頁資料移動至補償記憶體,而產生空間在補償記憶體消失之可能性之故。 因而,設想空間在補償記憶體消失之情形,控制器14在自緩衝記憶體讀出處理器所需要之資料後(步驟ST13),檢查在補償記憶體是否存在空間(步驟ST07)。 另外,於在補償記憶體不存在空間之情形下,如上述般,執行補償記憶體之空間控制(圖13)(步驟ST08)。 根據以上之步驟,記憶體存取控制完成。 在上述之記憶體存取控制(圖10)中,補償記憶體之空間控制(圖13)係於在步驟ST07之時點在補償記憶體不存在空間之情形下執行。 然而,控制器14在上述以外之情形下亦能夠執行補償記憶體之空間控制。 例如,如圖15所示,於自處理器朝主記憶體之存取無一定期間之情形下,控制器14亦可執行補償記憶體之空間控制(圖13)(步驟ST31~ST32)。 又,如圖16所示,在進行DRAM之再新,且再新對象之列位址(頁)存在於補償記憶體內之情形下,控制器14亦可執行補償記憶體之空間控制(圖13)(步驟ST41~ST42)。 又,如上述般,記憶於補償記憶體內之資料為已變更資料。因而,最終,記憶於補償記憶體內之資料回寫至正式之儲存部位即DRAM,且必須設定為乾淨資料。 圖17顯示自補償記憶體朝DRAM之回寫動作之例。 首先,控制器14檢查是否滿足特定條件(步驟ST51)。 該特定條件為例如:處理器(複數個CPU核心)進入低耗電模式,或處理器內之複數個CPU核心中之動作狀態之CPU核心數為特定數目以下,或在將處理器(複數個CPU核心)之最大資料處理量設定為100%時,當前之資料處理量為特定%以下,或者產生遮斷記憶體系統(DRAM)之電源等之將DRAM之資料回寫至存儲裝置之必要性等。 其次,控制器14若確認滿足特定條件,則檢查DRAM是否為頁開啟狀態(步驟ST52)。在DRAM為頁開啟狀態之情形,執行頁關閉動作(步驟ST53)。在頁開啟狀態時記憶於緩衝記憶體內之資料(已變更資料)在進行頁關閉動作前被回寫至DRAM內。 之後,控制器14以頁單位、或附掩碼之頁單位將頁資料自補償記憶體回寫至DRAM(步驟ST54)。 此外,在將補償記憶體內之全部之頁資料回寫至DRAM之情形下,控制器14重複進行頁開啟/關閉動作。 (應用例) 圖18至圖21顯示應用例之記憶體系統。 該等應用例為例如將本實施例應用於將DRAM(包含緩衝記憶體)搭載於DIMM(dual-inline memory module,雙列直插式記憶體模組)等之記憶體模組之習用之技術之情形之例。 在圖18之例中,主記憶體(DRAM模組)11D 具備複數個記憶庫BA0 、BA1 、…BAn (n為2以上之自然數)。例如,1個記憶庫BAK 具備:DRAM MD_k 、及緩衝記憶體MB_k 。其中,k為1~n中之一者。1個記憶庫BAK 可對應於1個封裝件產品(晶片),或亦可為複數個記憶庫BA0 、BA1 、…BAn 包含於1個封裝件產品或複數個封裝件產品之內。 又,控制器14搭載於處理器10內,且補償記憶體MR 搭載於控制器14內。 在此一情形下,主記憶體11採用例如習用之DRAM模組,本實施例可藉由變更控制器14之構造及記憶體存取控制(演算法)而執行。 在圖19之例中,主記憶體11具備:DRAM模組11D 、及補償記憶體模組11R 。 DRAM模組11D 具備複數個記憶庫BA0 、BA1 、…BAn 。例如,1個記憶庫BAK 具備:DRAM MD_k 、及緩衝記憶體MB_k 。其中,k為1~n中之一者。1個記憶庫BAk 可對應於1個封裝件產品,或亦可為複數個記憶庫BA0 、BA1 、…BAn 包含於1個封裝件產品或複數個封裝件產品之內。 補償記憶體模組11R 亦具備複數個記憶庫BA0 、BA1 、…BAn 。例如,1個記憶庫BAK 具備:補償記憶體MR_k 、及感測放大器(可用作緩衝記憶體)SAk 。其中,k為1~n中之一者。1個記憶庫BAK 可對應於1個封裝件產品,或亦可為複數個記憶庫BA0 、BA1 、…BAn 包含於1個封裝件產品或複數個封裝件產品之內。 在此一情形下,本實施例在習用之DRAM模組11D 內追加新的補償記憶體模組11R ,且可藉由變更控制器14之構造及記憶體存取控制(演算法)而執行。 在圖20之例中,主記憶體(DRAM模組)11D 具備:控制器14、複數個記憶庫BA0 、BA1 、…BAn 、及補償記憶體MR 。 控制器14對應於例如1個封裝件產品。 1個記憶庫BAK 具備例如DRAM MD_k 、及緩衝記憶體MB_k 。其中,k為1~n中之一者。1個記憶庫BAk 可對應於1個封裝件產品,或亦可為複數個記憶庫BA0 、BA1 、…BAn 包含於1個封裝件產品或複數個封裝件產品之內。 補償記憶體MR 對應於例如1個封裝件產品。 在此一情形下,本實施例可藉由例如在DRAM模組11D 內混合搭載控制器14及補償記憶體MR ,且變更控制器14之構造及記憶體存取控制(演算法)而執行。 在圖21之例中,主記憶體(DRAM模組)11D 具備:控制器14、及複數個記憶庫BA0 、BA1 、…BAn 。又,控制器14具備補償記憶體MR 。 控制器14對應於例如1個封裝件產品。 1個記憶庫BAK 具備例如DRAM MD_k 、及緩衝記憶體MB_k 。其中,k為1~n中之一者。1個記憶庫BAK 可對應於1個封裝件產品,或亦可為複數個記憶庫BA0 、BA1 、…BAn 包含於1個封裝件產品或複數個封裝件產品之內。 在此一情形下,本實施例可藉由例如在DRAM模組11D 內混合搭載包含補償記憶體MR 之控制器14,且變更控制器14之構造及記憶體存取控制(演算法)而執行。 圖22至圖24分別顯示圖18至圖21之控制器14內之LUT 15之例。 圖22為緩衝記憶體命中表之例。 緩衝記憶體命中表係針對複數個記憶庫BA0 、BA1 、…BAn 之各者,在頁資料是否被快取於緩衝記憶體MB 內、及在頁資料被快取於緩衝記憶體MB 內之情形下,規定被快取於緩衝記憶體MB 內之頁資料之DRAM位址(列位址)。 例如,在列位址RA0_x之頁資料被讀出至記憶庫BA0 之緩衝記憶體MB 之情形下,對應於記憶庫BA0 之標示被設定為1,對應於記憶庫BA0 之DRAM位址變為RA0_x。 又,在列位址RA0_y之頁資料被讀出至記憶庫BA1 之緩衝記憶體MB 之情形下,對應於記憶庫BA1 之標示被設定為1,對應於記憶庫BA1 之DRAM位址變為RA0_y。 再者,在列位址RA0_z之頁資料被讀出至記憶庫BAn 之緩衝記憶體MB 之情形下,對應於記憶庫BAn 之標示被設定為1,對應於記憶庫BAn 之DRAM位址變為RA0_z。 圖23為補償記憶體命中表之例。 該表對應於圖18、圖20、及圖21之應用例。 亦即,圖18、圖20、及圖21所示之補償記憶體位址ReA_0、…ReA_7、及DRAM位址RA0_a、RA0_b、RA0_c、RA1_d、RA1_e、…RAn_f、RAn_g和圖23所示之補償記憶體位址ReA_0、…ReA_7、及DRAM位址RA0_a、RA0_b、RA0_c、RA1_d、RA1_e、…RAn_f、RAn_g彼此對應。 補償記憶體命中錶針對複數個補償記憶體位址(列位址)ReA_0、ReA_1、…ReA_7之各者,規定記憶於該位址內之頁資料為何處之DRAM(記憶庫)之何處之列位址的頁資料。 例如,在記憶於補償記憶體位址ReA_0之頁資料為記憶庫BA0 內之DRAM位址(列位址)RA0_a之頁資料之情形下,對應於補償記憶體位址ReA_0之標示變為1,對應於補償記憶體位址ReA_0之記憶庫變為BA0 ,且對應於補償記憶體位址ReA_0之DRAM位址變為RA0_a。 又,在記憶於補償記憶體位址ReA_1之頁資料為記憶庫BA0 內之DRAM位址(列位址)RA0_b之頁資料之情形下,對應於補償記憶體位址ReA_1之標示變為1,對應於補償記憶體位址ReA_1之記憶庫變為BA0 ,且對應於補償記憶體位址ReA_1之DRAM位址變為RA0_b。 再者,在記憶於補償記憶體位址ReA_6之頁資料為記憶庫BAn 內之DRAM位址(列位址)RAn_g之頁資料之情形下,對應於補償記憶體位址ReA_6之標示變為1,對應於補償記憶體位址ReA_6之記憶庫變為BAn ,且對應於補償記憶體位址ReA_6之DRAM位址變為RAn_g。 此外,在頁資料未記憶於補償記憶體位址ReA_7之情形下,亦即於在補償記憶體位址ReA_7存在空間之情形下,對應於補償記憶體位址ReA_7之標示變為0,對應於補償記憶體位址ReA_7之記憶庫及DRAM位址變為無效。 圖24為補償記憶體命中表之例。 該表對應於圖19之應用例。 亦即,圖19所示之補償記憶體位址ReA_0、…ReA_7、及DRAM位址RA0_a、RA0_b、RA0_c、RA1_d、RA1_e、…RAn_f、RAn_g和圖24所示之補償記憶體位址ReA_0、…ReA_7、及DRAM位址RA0_a、RA0_b、RA0_c、RA1_d、RA1_e、…RAn_f、RAn_g彼此對應。 在圖19之應用例中,DRAM模組11D 之複數個記憶庫BA0 、BA1 、…BAn 和補償記憶體模組11R 之複數個記憶庫BA0 、BA1 、…BAn 一一對應。因而,補償記憶體命中表係就每一記憶庫而設置。 在各記憶庫中,補償記憶體命中表規定補償記憶體位址(列位址)與DRAM位址之關係。 例如,在記憶庫BA0 中,在記憶於補償記憶體位址ReA_0之頁資料為DRAM位址(列位址)RA0_a之頁資料之情形下,對應於補償記憶體位址ReA_0之標示變為1,且對應於補償記憶體位址ReA_0之DRAM位址變為RA0_a。 又,在記憶庫BA1 中,在記憶於補償記憶體位址ReA_0之頁資料為DRAM位址(列位址)RA1_d之頁資料之情形下,對應於補償記憶體位址ReA_0之標示變為1,且對應於補償記憶體位址ReA_0之DRAM位址變為RA1_d。 再者,在記憶庫BAn 中,在記憶於補償記憶體位址ReA_0之頁資料為DRAM位址(列位址)RAn_f之頁資料之情形下,對應於補償記憶體位址ReA_0之標示變為1,且對應於補償記憶體位址ReA_0之DRAM位址變為RAn_f。 此外,在各記憶庫中,在頁資料未記憶於補償記憶體位址之情形下,亦即於在補償記憶體位址存在空間之情形下,對應於該補償記憶體位址之標示變為0,對應於該補償記憶體位址之DRAM位址變為無效。 (總結) 以上,根據實施例能夠提高主處理器及主記憶體間之資料傳送能力。 雖然說明了本發明之若干個實施方式,但該等實施方式係作為例子而提出者,並非意圖限定本發明之範圍。該等實施方式可以其他各種方式實施,在不脫離本發明之要旨之範圍內能夠進行各種省略、置換、變更。該等實施方式及其變化係與包含於發明之範圍及要旨內相同地,包含於申請專利範圍所記載之發明及其均等之範圍內。 本發明申請案以日本發明申請案2016-183393(申請日2016年9月20日)為基礎,根據該發明申請案而享有優先利益。本發明申請案藉由參照該發明申請案而包含該發明申請案之所有內容。
10‧‧‧處理器/主機
11‧‧‧主記憶體
11D‧‧‧主記憶體/DRAM模組
11R‧‧‧補償記憶體模組
12‧‧‧中央處理單元
13‧‧‧快取記憶體
14‧‧‧控制器
15‧‧‧查找表
16‧‧‧寫入驅動器/接受器
BA0‧‧‧記憶庫
BA1‧‧‧記憶庫
BAn‧‧‧記憶庫
BL0‧‧‧位元線
BL1‧‧‧位元線
BLj‧‧‧位元線
C00‧‧‧電容器
C01‧‧‧電容器
C0j‧‧‧電容器
Ci0‧‧‧電容器
Ci1‧‧‧電容器
Cij‧‧‧電容器
CoL0‧‧‧行
CoL1‧‧‧行
CoLj‧‧‧行
D/S_a‧‧‧第1驅動器/接受器
D/S_b‧‧‧第2驅動器/接受器
MB‧‧‧緩衝記憶體
MB_0‧‧‧緩衝記憶體
MB_1‧‧‧緩衝記憶體
MB_n‧‧‧緩衝記憶體
MD‧‧‧動態隨機存取記憶體
MD_0‧‧‧動態隨機存取記憶體
MD_1‧‧‧動態隨機存取記憶體
MD_n‧‧‧動態隨機存取記憶體
MR‧‧‧補償記憶體
MR_0‧‧‧補償記憶體
MR_1‧‧‧補償記憶體
MR_n‧‧‧補償記憶體
MTJ00‧‧‧磁阻效應元件
MTJ01‧‧‧磁阻效應元件
MTJ0j‧‧‧磁阻效應元件
MTJi0‧‧‧磁阻效應元件
MTJi1‧‧‧磁阻效應元件
MTJij‧‧‧磁阻效應元件
PG0‧‧‧頁
PGi‧‧‧頁
PG_x‧‧‧資料/頁資料
PG_y‧‧‧資料/頁資料
PG_z‧‧‧資料/頁資料
Q00‧‧‧電晶體(FET)
Q01‧‧‧電晶體(FET)
Q0j‧‧‧電晶體(FET)
Qa_p‧‧‧P通道FET
Qa_n‧‧‧N通道FET
Qb_p‧‧‧P通道FET
Qb_n‧‧‧N通道FET
Qclamp‧‧‧電晶體
Qep‧‧‧電晶體
Qi0‧‧‧電晶體(FET)
Qi1‧‧‧電晶體(FET)
Qij‧‧‧電晶體(FET)
Qpre‧‧‧電晶體
Qrst‧‧‧電晶體
RA0_a‧‧‧DRAM位址
RA0_b‧‧‧DRAM位址
RA0_c‧‧‧DRAM位址
RA0_x‧‧‧列位址
RA0_y‧‧‧列位址
RA0_z‧‧‧列位址
RA1_d‧‧‧DRAM位址
RA1_e‧‧‧DRAM位址
RAn_f‧‧‧DRAM位址
RAn_g‧‧‧DRAM位址
RA_x‧‧‧列位址
RA_y‧‧‧列位址
RA_z‧‧‧列位址
ReA_0‧‧‧補償記憶體位址
ReA_1‧‧‧補償記憶體位址
ReA_2‧‧‧補償記憶體位址
ReA_3‧‧‧補償記憶體位址
ReA_4‧‧‧補償記憶體位址
ReA_5‧‧‧補償記憶體位址
ReA_6‧‧‧補償記憶體位址
ReA_7‧‧‧補償記憶體位址
ReA_x‧‧‧列位址
ReA_y‧‧‧列位址
ReA_z‧‧‧位址
S1‧‧‧輸入/輸出節點
S2‧‧‧輸入/輸出節點
SA0‧‧‧感測放大器
SA1‧‧‧感測放大器
SAj‧‧‧感測放大器
SL0‧‧‧源極線
SL1‧‧‧源極線
SLj‧‧‧源極線
T1‧‧‧箭頭
T2‧‧‧箭頭
T3‧‧‧箭頭
T4‧‧‧箭頭
Ti0‧‧‧電晶體
Ti1‧‧‧電晶體
Tij‧‧‧電晶體
U00‧‧‧記憶體單元
U01‧‧‧記憶體單元
U0j‧‧‧記憶體單元
Ui0‧‧‧記憶體單元
Ui1‧‧‧記憶體單元
Uij‧‧‧記憶體單元
Vdd‧‧‧電源電位
VSS‧‧‧接地電位
Vpre‧‧‧預充電電位
WL0‧‧‧字元線
WL1‧‧‧字元線
WLi‧‧‧字元線
X00‧‧‧記憶體單元
X01‧‧‧記憶體單元
X0j‧‧‧記憶體單元
Xi0‧‧‧記憶體單元
Xi1‧‧‧記憶體單元
Xij‧‧‧記憶體單元
φa‧‧‧控制信號
φb‧‧‧控制信號
φclamp‧‧‧控制信號
φeq‧‧‧控制信號
φpre‧‧‧控制信號
φrst‧‧‧控制信號
φSE‧‧‧控制信號/感測放大器致能信號
φw‧‧‧控制信號
圖1係顯示記憶體系統之例之圖。 圖2係顯示記憶體系統之例之圖。 圖3係顯示記憶體系統之例之圖。 圖4係顯示記憶體系統之例之圖。 圖5係顯示在3個記憶體間之資料移動之例之圖。 圖6係顯示DRAM之例之圖。 圖7係顯示緩衝記憶體(DRAM之感測放大器)之例之圖。 圖8係顯示補償記憶體之例之圖。 圖9係顯示補償記憶體之感測放大器之例之圖。 圖10係顯示記憶體存取控制(memory access controlling)之例之流程圖。 圖11A係將圖10之記憶體存取控制可視化(visualize)之圖。 圖11B係將圖10之記憶體存取控制可視化之圖。 圖11C係將圖10之記憶體存取控制可視化之圖。 圖12係顯示作為比較例之記憶體存取控制之流程圖。 圖13係顯示補償記憶體之空間控制(memory space controlling)之例的流程圖。 圖14係將圖13之補償記憶體之空間控制可視化之圖。 圖15係顯示補償記憶體之空間控制之條件之流程圖。 圖16係顯示補償記憶體之空間控制之條件之流程圖。 圖17係顯示自補償記憶體朝DRAM之回寫動作(write back operation)之例之流程圖。 圖18係顯示第1應用例之圖。 圖19係顯示第2應用例之圖。 圖20係顯示第3應用例之圖。 圖21係顯示第4應用例之圖。 圖22係顯示LUT(緩衝記憶體命中表)之例之圖。 圖23係顯示LUT(補償記憶體命中表)之例之圖。 圖24係顯示LUT(補償記憶體命中表)之例之圖。

Claims (6)

  1. 一種記憶體系統,其具備:第1記憶體,其包含第1位址;第2記憶體,其可記憶對應於前述第1記憶體之前述第1位址之資料;第3記憶體;及控制器,其控制朝前述第1、第2、及第3記憶體之存取;且 前述控制器, 在發出進行朝前述第1位址之第1存取之命令,且對應於前述第1位址之前述資料記憶於前述第2記憶體內之第1情形下,替代前述第1存取進行朝前述第2記憶體之第2存取; 在發出前述命令,且對應於前述第1位址之前述資料記憶於前述第3記憶體之第2位址內之第2情形下,替代前述第1存取進行朝前述第3記憶體之前述第2位址之第3存取; 在發出前述命令,前述命令指示朝前述第1位址之寫入動作,且前述第1及第2情形以外之第3情形下,替代前述第1存取進行朝前述第3記憶體之第3位址之第4存取。
  2. 一種處理器系統,其具備:第1記憶體,其包含第1位址;第2記憶體,其可記憶對應於前述第1記憶體之前述第1位址之資料;第3記憶體;控制器,其控制朝前述第1、第2、及第3記憶體之存取;及處理器,其包含CPU核心;且 前述控制器, 在利用前述處理器發出進行朝前述第1位址之第1存取之命令,且對應於前述第1位址之前述資料記憶於前述第2記憶體內之第1情形下,替代前述第1存取進行朝前述第2記憶體之第2存取; 在利用前述處理器發出前述命令,且對應於前述第1位址之前述資料記憶於前述第3記憶體之第2位址內之第2情形下,替代前述第1存取進行朝前述第3記憶體之前述第2位址之第3存取; 在利用前述處理器發出前述命令,前述命令指示朝前述第1位址之寫入動作,且前述第1及第2情形以外之第3情形下,替代前述第1存取進行朝前述第3記憶體之第3位址之第4存取。
  3. 一種記憶體系統,其具備:第1記憶體,其包含第1位址;第2記憶體,其可記憶對應於前述第1記憶體之前述第1位址之資料;第3記憶體;及控制器,其基於對前述第1記憶體存取之命令,控制朝前述第1、第2、及第3記憶體之存取;且 前述第2及第3記憶體為配置於同一記憶體階層內之前述第1記憶體之快取記憶體; 在對應於前述第1位址之前述資料記憶於前述第2記憶體內之情形下,對應於前述第1位址之前述資料不記憶於前述第3記憶體內,且在對應於前述第1位址之前述資料記憶於前述第3記憶體內之情形下,對應於前述第1位址之前述資料不記憶於前述第2記憶體內。
  4. 一種處理器系統,其具備:第1記憶體,其包含第1位址;第2記憶體,其可記憶對應於前述第1記憶體之前述第1位址之資料;第3記憶體;控制器,其基於對前述第1記憶體存取之命令,控制朝前述第1、第2、及第3記憶體之存取;及處理器,其發出前述命令;且 前述第2及第3記憶體為配置於同一記憶體階層內之前述第1記憶體之快取記憶體; 在對應於前述第1位址之前述資料記憶於前述第2記憶體內之情形下,對應於前述第1位址之前述資料不記憶於前述第3記憶體內,且在對應於前述第1位址之前述資料記憶於前述第3記憶體內之情形下,對應於前述第1位址之前述資料不會記憶於前述第2記憶體內。
  5. 如請求項1或3之記憶體系統,其中前述第2記憶體作為前述第1記憶體之感測放大器而發揮機能。
  6. 如請求項2或4之處理器系統,其中前述第2記憶體作為前述第1記憶體之感測放大器而發揮機能。
TW106108162A 2016-09-20 2017-03-13 記憶體系統及處理器系統 TWI612466B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP??2016-183393 2016-09-20
JP2016183393A JP2018049387A (ja) 2016-09-20 2016-09-20 メモリシステム及びプロセッサシステム

Publications (2)

Publication Number Publication Date
TWI612466B TWI612466B (zh) 2018-01-21
TW201814495A true TW201814495A (zh) 2018-04-16

Family

ID=61621105

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106108162A TWI612466B (zh) 2016-09-20 2017-03-13 記憶體系統及處理器系統

Country Status (4)

Country Link
US (1) US20180081801A1 (zh)
JP (1) JP2018049387A (zh)
CN (1) CN107844430B (zh)
TW (1) TWI612466B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114500886A (zh) * 2022-01-28 2022-05-13 北京拙河科技有限公司 一种按列分段的图像处理系统与方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7408832B2 (en) * 2006-03-21 2008-08-05 Mediatek Inc. Memory control method and apparatuses
US7761656B2 (en) * 2007-08-22 2010-07-20 Advanced Micro Devices, Inc. Detection of speculative precharge
CN102385503B (zh) * 2010-09-01 2014-03-19 络达科技股份有限公司 可执行外部程序码的集成电路和方法
US8904115B2 (en) * 2010-09-28 2014-12-02 Texas Instruments Incorporated Cache with multiple access pipelines
US20120151232A1 (en) * 2010-12-12 2012-06-14 Fish Iii Russell Hamilton CPU in Memory Cache Architecture
US8874852B2 (en) * 2012-03-28 2014-10-28 International Business Machines Corporation Data cache block deallocate requests in a multi-level cache hierarchy
CN102664041B (zh) * 2012-05-22 2015-01-21 安徽大学 一种基于bist控制的可编程sram时序控制系统
JP6130758B2 (ja) * 2013-09-06 2017-05-17 株式会社東芝 メモリ制御回路およびキャッシュメモリ
US9733847B2 (en) * 2014-06-02 2017-08-15 Micron Technology, Inc. Systems and methods for transmitting packets in a scalable memory system protocol
US9836277B2 (en) * 2014-10-01 2017-12-05 Samsung Electronics Co., Ltd. In-memory popcount support for real time analytics
TWI587302B (zh) * 2014-12-09 2017-06-11 華邦電子股份有限公司 記憶體編程方法以及記憶體裝置

Also Published As

Publication number Publication date
TWI612466B (zh) 2018-01-21
CN107844430A (zh) 2018-03-27
JP2018049387A (ja) 2018-03-29
CN107844430B (zh) 2021-07-30
US20180081801A1 (en) 2018-03-22

Similar Documents

Publication Publication Date Title
KR102151659B1 (ko) 데이터 캐싱
US7301791B2 (en) Semiconductor device
US20180040358A1 (en) Nonvolatile memory
US7791976B2 (en) Systems and methods for dynamic power savings in electronic memory operation
US7379347B1 (en) Memory device and method for performing write operations in such a memory device
US9606743B2 (en) Semiconductor memory device and driving method of the same
US9412443B2 (en) Processor system having variable capacity memory
US10867681B2 (en) SRAM memory having subarrays with common IO block
KR100977339B1 (ko) 반도체 장치
KR102363670B1 (ko) 메모리 장치 및 메모리 장치의 동작 방법
JP5498526B2 (ja) キャッシュシステム
TWI612466B (zh) 記憶體系統及處理器系統
JP5992592B1 (ja) キャッシュメモリシステム
CN107038126A (zh) 存储系统
JP6039772B1 (ja) メモリシステム
KR101831226B1 (ko) 차세대 메모리로 구성된 캐시의 제어 장치 및 그 방법
US20090144507A1 (en) APPARATUS AND METHOD FOR IMPLEMENTING REFRESHLESS SINGLE TRANSISTOR CELL eDRAM FOR HIGH PERFORMANCE MEMORY APPLICATIONS
KR20190123106A (ko) 영상을 pcm에 저장하기 위한 장치 및 방법
US20090144504A1 (en) STRUCTURE FOR IMPLEMENTING REFRESHLESS SINGLE TRANSISTOR CELL eDRAM FOR HIGH PERFORMANCE MEMORY APPLICATIONS
JP2010092528A (ja) 不揮発性半導体記憶装置
JPH03205680A (ja) 行列配置の複数の記憶セルを有する記憶装置