TWI663542B - Memory system - Google Patents
Memory system Download PDFInfo
- Publication number
- TWI663542B TWI663542B TW106108075A TW106108075A TWI663542B TW I663542 B TWI663542 B TW I663542B TW 106108075 A TW106108075 A TW 106108075A TW 106108075 A TW106108075 A TW 106108075A TW I663542 B TWI663542 B TW I663542B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- accessed
- access
- substrate
- address
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/313—In storage device
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
本發明之實施形態係關於記憶體系統及處理器系統。
本發明提供一種使用非揮發記憶體,且防止存取性能降低,亦可提高資料寫入時之可靠性之記憶體系統及處理器系統者。
一態樣之記憶體系統具備:第1記憶體,其就每個第1資料尺寸被存取;第2記憶體,其就每個小於上述第1資料尺寸之第2資料尺寸被存取,可較上述第1記憶體更高速存取;及第3記憶體,其存儲用以將對上述第2記憶體存取之位址轉換成對上述第1記憶體存取之位址之位址轉換資訊;且上述第1記憶體及上述第3記憶體為非揮發記憶體。
Description
本發明之實施形態係關於記憶體系統及處理器系統。
作為處理器之主記憶體,先前使用DRAM(Dynamic Random Access Memory:動態隨機存取記憶體)。然而,DRAM需要定期刷新,會導致消耗電力增大。因此,提出有一種取代DRAM將大容量之非揮發記憶體作為主記憶體使用之技術。
然而,非揮發記憶體之寫入速度較DRAM慢,或重寫耐數亦較DRAM差之情況不少。
一態樣之記憶體系統具備:第1記憶體,其就每個第1資料尺寸被存取;第2記憶體,其就每個小於上述第1資料尺寸之第2資料尺寸被存取,可較上述第1記憶體更高速存取;及第3記憶體,其存儲用以將對上述第2記憶體存取之位址轉換成對上述第1記憶體存取之位址之位址轉換資訊;且上述第1記憶體及上述第3記憶體為非揮發記憶體。
1‧‧‧記憶體系統
2‧‧‧處理器系統
3‧‧‧處理器
4‧‧‧第1基板
5‧‧‧第2基板
6‧‧‧第3基板
7‧‧‧多核心單元
8‧‧‧末級快取
9‧‧‧TLB
10‧‧‧頁面表格
11‧‧‧DRAM控制電路
12‧‧‧DRAM驅動電路
13‧‧‧SCM控制電路
14‧‧‧SCM驅動電路
15‧‧‧核心
16‧‧‧分散共用快取
21‧‧‧第1記憶體
22‧‧‧第4記憶體
23‧‧‧第2記憶體
24‧‧‧第3記憶體
25‧‧‧第1控制電路
26‧‧‧第2控制電路
27‧‧‧I/F切換電路
31‧‧‧I/F控制電路
S1~S12‧‧‧步驟
S21~S32‧‧‧步驟
S41~S52‧‧‧步驟
圖1係顯示第1實施形態之處理器系統之概略構成之方塊圖。
圖2係顯示第1實施形態之處理器系統之處理動作之流程圖。
圖3係顯示第2實施形態之處理器系統之概略構成之方塊圖。
圖4係顯示第3記憶體之資料構成之圖。
圖5係顯示第2實施形態之處理器系統之處理動作之流程圖。
圖6係顯示第3實施形態之處理器系統之概略構成之方塊圖。
圖7係顯示第3實施形態之處理器系統之處理動作之流程圖。
以下,一面參照圖式,一面對本發明之實施形態進行說明。
(第1實施形態)
圖1係顯示第1實施形態之內置有記憶體系統1之處理器系統2之概略構成之方塊圖。圖1之處理器系統2具備具有處理器3之第1基板4、與構成記憶體系統1之第2基板5及第3基板6。
第1基板4亦可包含一個或複數個半導體晶片。處理器3具有複數個多核心單元7、末級快取8、TLB(Translation Lookaside Buffer:轉換後備緩衝器)9、頁面表格(PT)10、DRAM控制電路11、DRAM驅動電路12、SCM(Storage Class Memory:儲存級記憶體)控制電路13、及SCM驅動電路14。另,處理器3具備圖1所圖示以外之各種電路區塊,但於圖1中予以省略。
各多核心單元7具有複數個核心15、及複數個核心15共用之分散共用快取16。另,雖於圖1中予以省略,但各核心15於其內部具有至少1階層之個別快取(例如L1快取)。分散共用快取16係藉由對應之多核心單元7內之複數個核心15存取之快取記憶體(例如L2快取)。
末級快取8係經階層化之快取記憶體中之存取優先度最低之快取記憶體。末級快取8係藉由複數個多核心單元7而存取。
處理器3於進行存取請求之位址未於末級快取8搜索出之情形時,對安裝有SCM(Storage Class Memory:儲存級記憶體,第1記憶體)21之第2基板5,或安裝有第4記憶體(例如DRAM)22之第3基板6存取。SCM21與第4記憶體22為同一階層之記憶體,即所謂主記憶體。處理器3於主記憶映像上之第1位址空間分配有SCM21,於其他第2位址空間分配有第4記憶體22。以下,說明第4記憶體22為DRAM之例。
SCM控制電路13控制對於安裝有SCM21(Storage Class Memory)之第2基板5之存取。SCM驅動電路14按照來自SCM控制電路13之指示,執行對SCM21之存取。
DRAM控制電路11控制對於安裝有DRAM22之第3基板6之存取。DRAM驅動電路12按照來自DRAM控制電路11之指示,驅動DRAM22。
第2基板5與第3基板6較理想為以可根據需要增減記憶體容量之方式,具備裝卸自如之介面功能。例如,安裝有DRAM22之第3基板6亦可為遵照DIMM(Dual Inline Memory Module:雙列直插式記憶體模組)規格之記憶體模組。同樣,第2基板5亦可為經規格化之記憶體模組。
於本實施形態中,將安裝於第2基板5之記憶體之至少一部分稱作SCM21。更具體而言,第2基板5具有第1記憶體21、第2記憶體23、第3記憶體24、第1控制電路25、第2控制電路26、及I/F切換電路27。第2基板5上之各構成零件亦可以一個或複數個半導體晶片構成。
第1記憶體21就每個第1資料尺寸被存取。於本實施形態中,將第1資料尺寸稱作區段尺寸。區段尺寸之具體值無特別限制。作為一例,區段尺寸具有4k位元組之頁面之1000頁面量之資料尺寸。第1記憶體21假設為非揮發記憶體。非揮發記憶體之具體種類無限制。第1記憶體21為大容量之
非揮發記憶體,例如,較理想為可大容量化之交叉點型三維構造之非揮發記憶體。作為具體之一例,第1記憶體21亦可為相變化記憶體(PCM:Phase Change Random Access Memory)或電阻變化記憶體(ReRAM:Resistance Random Access Memory)等,於本實施形態中稱作SCM。
第2記憶體23就每個小於第1資料尺寸之第2資料尺寸被存取,可較第1記憶體21高速存取。第2資料尺寸例如為頁面尺寸。1頁面例如為4k位元組。
於本實施形態中,第1記憶體21與第2記憶體23配置於處理器3之各不相同之位址空間,藉由處理器3發行之位址,決定對第1記憶體21與第2記憶體23之何者存取。第2記憶體23可為揮發記憶體,亦可為非揮發記憶體。作為一例,第2記憶體23以可較第1記憶體21高速存取之DRAM22構成。如上述,第3基板6上之第4記憶體22亦配置於處理器3之特定之位址空間,結果,第1實施形態之處理器3可對第1記憶體21、第2記憶體23及第4記憶體22之任一者指定位址而存取。
第3記憶體24存儲用以對第1記憶體21存取之頁面位址轉換資訊。頁面位址轉換資訊係用以將頁面位址轉換成區段單位之位址之資訊。由於第1記憶體21以區段單位存儲資料,故可藉由以頁面轉換資訊轉換成區段單位之位址而存取。如此,位址轉換資訊係將對第2記憶體23存取之位址轉換成對第1記憶體21存取之位址之資訊。
第3記憶體24假設為非揮發記憶體。於更具體之一例中,第3記憶體24係記憶體容量小於第1記憶體21,且可較第1記憶體21高速存取之非揮發記憶體。作為第3記憶體24使用之非揮發記憶體例如為MRAM(Magnetoresistive Random Access Memory:磁阻式隨機存取記
憶體)。於MRAM中,例如STT(Spin Transfer Torque:自旋轉移力矩)-MRAM亦為利用自旋電子且以TMR(Tunnel Magneto Resistance:隧道型磁電阻)效果為動作原理之非揮發記憶體,由於具有高速存取性能,故可成為第3記憶體24之候選。
如此,於本實施形態中,第2基板5上之第1記憶體21與第3記憶體24為非揮發記憶體,第2記憶體23為揮發記憶體。作為一例,於本實施形態中,設第1記憶體21為MRAM以外之SCM21,設第2記憶體23為DRAM22,設第3記憶體24為MRAM。
藉由處理器3進行存取請求之位址,決定應對第2基板5上之第1記憶體(SCM)21、第2記憶體(DRAM)23、第3基板6上之第4記憶體(DRAM)22之何者存取。對第2基板5上之第1記憶體(SCM)21或第2記憶體(DRAM)23存取之情形時,藉由來自SCM控制電路13之控制,I/F切換電路27選擇第1控制電路25與第2控制電路26之任一者,傳達來自處理器3之存取請求。第1控制電路25根據來自處理器3之存取請求,基於第3記憶體24內之位址轉換資訊,控制對於第1記憶體(SCM)21之存取。第2控制電路26根據來自處理器3之存取請求,控制對於第2記憶體(DRAM)23之存取。
圖2係顯示第1實施形態之處理器系統2之處理動作之流程圖。該流程圖係於處理器3對記憶體系統1進行存取請求(寫入請求或讀取請求)時開始。
首先,判定是否於核心15之個別快取搜索出(步驟S1)。於個別快取搜索出之情形時,對個別快取存取並結束圖2之處理。於個別快取產生錯誤之情形時,判定是否於分散共用快取16搜索出(步驟S2)。於分散共用快取16搜索出之情形時,對分散共用快取16存取並結束圖2之處理。於分散
共用快取16產生錯誤之情形時,判定是否於TLB9搜索出(步驟S3)。於TLB9產生錯誤之情形時,對頁面表格10之條目(PTE)存取,取得頁面位址(步驟S4)。步驟S3中於TLB9搜索出之情形時,或步驟S4之處理結束之情形時,判定取得之頁面位址是否於末級快取(LLC)8搜索出(步驟S5)。於末級快取8搜索出之情形時,進行對末級快取8之存取,結束圖2之處理。
步驟S5中判定於末級快取8產生錯誤之情形時,確認處理器3進行存取請求之頁面位址,判定應對第2基板5與第3基板6之何者存取(步驟S6)。
判斷應對第2基板5存取之情形時,對第2基板5存取(步驟S7),基於頁面位址,判斷應對第1記憶體21存取,抑或是應對第2記憶體23存取(步驟S8)。判斷應對第1記憶體21存取之情形時,參照第3記憶體24內之位址轉換資訊,將頁面位址轉換成區段位址(步驟S9),且使用轉換後之區段位址對第1記憶體(SCM)存取,並結束圖2之處理(步驟S10)。於步驟S8中判斷應對第2記憶體23存取之情形時,以頁面位址對第2記憶體(DRAM)23存取,並結束圖2之處理(步驟S11)。
於步驟S6中判斷應對第3基板6存取之情形時,對第3基板6內之第4記憶體(DRAM)22存取並結束圖2之處理(步驟S12)。
如此,於第1實施形態中,與安裝有第4記憶體(DRAM)22之第3基板6分開設置安裝有第1記憶體(SCM)21與第2記憶體(DRAM)23之第2基板5,處理器3可將第3基板6上之第4記憶體(DRAM)22、與第2基板5上之第1記憶體(SCM)21及第2記憶體(DRAM)23分別於不同之位址存取。
於第2基板5,除第1記憶體(SCM)21外,亦混載有第2記憶體(DRAM)23或第3記憶體24(MRAM)等揮發記憶體與非揮發記憶體,藉由使用該等記憶體,可補償SCM21之缺點即低存取性能。如此,於本實施
形態中,以揮發記憶體與非揮發記憶體構成主記憶體。若僅以揮發記憶體構成主記憶體,則當處理器系統2之電源斷開時,會導致主記憶體內之所有資料被刪除,但於本實施形態中,由於對主記憶體之一部分使用非揮發記憶體,故即使電源斷開亦將欲留下之資料存儲至非揮發記憶體,藉此於電源再次接通時無需於主記憶體負載資料,可使處理器系統2全體之處理高速化。
又,本實施形態係對第1記憶體(SCM)21以區段單位進行存取,例如對以DRAM22構成之第2記憶體23以頁面單位進行存取,因此相對於存取速度較慢之SCM21,以更大之資料尺寸進行存取,故可高速存取。如此,即使於第1記憶體21與第2記憶體23存取之資料尺寸不同,亦由於在第3記憶體24存儲有位址轉換資訊,故可尤其順暢地對第1記憶體21與第2記憶體23存取。
(第2實施形態)
圖3係顯示第2實施形態之處理器系統2之概略構成之方塊圖。圖3之處理器系統2係第2基板5之構成之一部分與圖1不同。於圖3中,對與圖1共通之構成部分標註相同符號,以下以不同點為中心進行說明。
圖3之處理器系統2內之第2基板5具有第1記憶體21、第2記憶體23、第3記憶體24、及I/F控制電路31。即,圖3之第2基板5係構成為將圖1之第2基板5上之第1控制電路25、第2控制電路26、及I/F切換電路27置換成I/F控制電路31。
於第1實施形態中,顯示第2基板5上之第1記憶體(SCM)21與第2記憶體(DRAM)23配置於處理器3之各不相同之位址空間之例,但於本實施形態中,第2記憶體23係作為第1記憶體21之快取記憶體使用,第2記憶體23
未配置於處理器3之位址空間。
第2基板5上之第3記憶體24不僅存儲有與第1實施形態相同之位址轉換資訊,亦存儲有用以將第2記憶體23作為第1記憶體21之快取記憶體使用之快取管理資訊。
第2基板5上之I/F控制電路31係基於第3記憶體24內之位址轉換資訊與快取管理資訊,控制對於第1記憶體21與第2記憶體23之存取。快取管理資訊包含存儲至第2記憶體23之資料與位址之對應關係、或重寫旗標(Dirty Flag)、有效旗標等各種旗標資訊等。
處理器3決定對具有第1記憶體(SCM)21及第2記憶體(DRAM)23之第2基板5、與具有第4記憶體(DRAM)22之第3基板6之何者存取。於對第2基板5存取之情形時,SCM控制電路13經由SCM驅動電路14,對I/F控制電路31指示存取。I/F控制電路31參照第3記憶體24內之位址轉換資訊與快取管理資訊,對第1記憶體(SCM)21與第2記憶體(DRAM)23之任一者存取。於對第3基板6存取之情形時,DRAM控制電路11經由DRAM驅動電路12,控制對於第4記憶體(DRAM)22之存取。
圖4係顯示第3記憶體24(未標示)之資料構成之圖。第3記憶體24將有效旗標資訊、重寫旗標資訊、物理頁面序號(PPN:Physical Page Number)、區段資訊、第1旗標資訊(1st Flag)、第2旗標資訊(2nd Flag)、及快取位址建立關聯並存儲。該等資訊相當於位址轉換資訊與快取管理資訊。
處理器3進行存取請求時所指定之物理位址係以物理頁面序號與頁面偏移構成。第1記憶體21之位址係以區段ID、區段偏移、及頁面偏移構成。快取位址係以快取標記、快取索引、及頁面偏移構成。
有效旗標資訊係表示對應之資料是否有效之資訊。重寫旗標資訊係
表示是否將第2記憶體23內之對應之資料寫回至第1記憶體21之資訊。
第1旗標資訊係表示第1記憶體21內之各資料是否亦存在於第2記憶體23之資訊。第2旗標資訊係表示是否容許將第2記憶體23內之各資料趕出之鎖定用資訊。此外,亦可設置表示第2記憶體23內之各資料是否為LRU(Least Recently Used:最近最少使用)資料之旗標資訊等。
如此,第3記憶體24存儲有用以對第1記憶體21與第2記憶體23存取之位址轉換資訊與快取管理資訊。因此,I/F控制電路31可藉由參照第3記憶體24而進行對於第1記憶體21與第2記憶體23之存取控制,可較圖1簡化第2基板5上之構成。
圖5係顯示第2實施形態之處理器系統2之處理動作之流程圖。步驟S21~S27與圖2之步驟S1~S7相同。於步驟S27中對第2基板5存取後,對第3記憶體(MRAM)24存取(步驟S28)。參照第3記憶體24內之快取管理資訊,確認與處理器3之存取請求相應之頁面位址,判斷應對第1記憶體21與第2記憶體23之何者存取(步驟S29)。判斷應對第1記憶體21存取之情形時,對第1記憶體2(SCM)1存取(步驟S30),判斷應對第2記憶體23存取之情形時,對第2記憶體(DRAM)23存取(步驟S31)。
於步驟S26中判斷應對第3基板6存取之情形時,與圖2之步驟S12相同,對第3基板6內之第4記憶體(DRAM)22存取並結束圖5之處理(步驟S32)。
如此,於第2實施形態中,由於將第2基板5上之第2記憶體(DRAM)23作為第1記憶體(SCM)21之快取記憶體使用,故可使對第2基板5之存取高速化。因此,即使將低速之第1記憶體(SCM)21安裝於第2基板5,亦藉由將高速之第2記憶體(DRAM)23作為快取記憶體使用,而可補償
SCM21之缺點。因此,可不降低存取性能,以揮發記憶體與非揮發記憶體構成主記憶體。
(第3實施形態)
圖6係顯示第3實施形態之處理器系統2之概略構成之方塊圖。圖6之處理器系統2係設第2基板5內之第2記憶體23取代DRAM22為MRAM,除此以外為與圖3相同之構成。
第2記憶體23之記憶體容量小於第1記憶體21,因此若設第2記憶體23為非揮發記憶體,則可使存取速度較同樣以非揮發記憶體構成之第1記憶體21更高速化之可能性較高。而且,MRAM具有存取速度較MRAM以外之非揮發記憶體快之特徵,因此若設第2記憶體23為MRAM,設第1記憶體21為例如MRAM以外之非揮發記憶體,則可使第2記憶體23之存取速度較第1記憶體21之存取速度頗為高速化,將第2記憶體23作為第1記憶體21之快取記憶體使用時,可謀求存取速度之提高。
又,於第2實施形態中,顯示設第2記憶體23為DRAM22等揮發記憶體之例,但若設第2記憶體23為揮發記憶體,則於電源切斷時或系統重置時等,需要使第2記憶體23內之所有有效資料待避至第1記憶體21之處理,處理之迅速性受損。若設第2記憶體23為非揮發記憶體,則即使斷開電源,亦由於資料未被刪除,故而無需使資料待避,可謀求處理之高速化。
圖7係顯示第3實施形態之處理器系統2之處理動作之流程圖。圖7除步驟S51之處理與圖5之步驟S31不同外,與圖5之處理相同。於步驟S51中,判斷應對第2基板5上之第2記憶體23存取之情形時,對第2記憶體23即MRAM存取。
如此,於第3實施形態中,由於設作為第2基板5上之快取記憶體使用之第2記憶體23為MRAM,故可較第1記憶體21更高速地對第2記憶體23存取,且於電源切斷時等無需使第2記憶體23內之資料待避,可容易對第2記憶體23進行存取控制。
另,可將上述實施形態總結為以下之技術案。
技術案1
一種記憶體系統,其具備:第1記憶體,其就每個第1資料尺寸被存取;第2記憶體,其就每個小於上述第1資料尺寸之第2資料尺寸被存取,可較上述第1記憶體更高速存取;及第3記憶體,其存儲用以對上述第1記憶體存取之位址轉換資訊;且上述第1記憶體及上述第3記憶體為非揮發記憶體。
技術案2
根據技術案1,具備:介面切換電路,其根據來自處理器之存取請求,切換對上述第1記憶體存取,抑或是對上述第2記憶體存取;第1控制電路,其基於上述位址轉換資訊,控制對於上述第1記憶體之存取;及第2控制電路,其控制對於上述第2記憶體之存取。
技術案3
如技術方案1之記憶體系統,根據技術案1,上述第2記憶體之存取優先度高於上述第1記憶體,且存儲存儲至上述第1記憶體之資料或應存儲之資料;且上述第3記憶體除上述位址轉換資訊外,亦存儲用以將上述第2記憶
體作為上述第1記憶體之快取記憶體使用之快取管理資訊。
技術案4
上述快取管理資訊包含表示存儲至上述第1記憶體之資料是否亦存在於上述第2記憶體之第1旗標資訊。
技術案5
根據技術案4,上述快取管理資訊包含表示是否容許將存儲至上述第2記憶體之資料趕出之第2旗標資訊。
技術案6
根據技術案4或5,具備介面控制電路,其根據來自處理器之存取請求,基於上述位址轉換資訊及上述快取管理資訊,控制對於上述第1記憶體及上述第2記憶體之存取。
技術案7
根據技術案1至6中任一者,上述第3記憶體之記憶體容量小於上述第1記憶體,可較上述第1記憶體更高速存取。
技術案8
根據技術案1至7中任一者,上述第2記憶體為揮發記憶體。
技術案9
根據技術案1至7中任一者,上述第2記憶體為非揮發記憶體。
技術案10
根據技術案9,上述第2記憶體為具有與上述第1記憶體不同之記憶胞構造之非揮發記憶體。
技術案11
根據技術案1至10中任一者,具備第4記憶體,其係藉由與上述第1記
憶體不同之位址而由處理器存取;且上述第4記憶體為揮發記憶體。
技術案12
根據技術案1至11中任一者,上述第3記憶體為MRAM(Magnetoresistive Random Access Memory)。
技術案13
一種處理器系統,其具備:處理器;及記憶體系統,其係藉由處理器存取;且上述記憶體系統具備:第1記憶體,其就每個第1資料尺寸被存取;第2記憶體,其就每個小於上述第1資料尺寸之第2資料尺寸被存取,可較上述第1記憶體更高速存取;及第3記憶體,其存儲用以對上述第1記憶體存取之位址轉換資訊;且上述第1記憶體及上述第3記憶體為非揮發記憶體。
雖已說明本發明之若干實施形態,但該等實施形態係作為例子提示者,並未意欲限定發明之範圍。該等新穎之實施形態係可以其他多種形態實施,於不脫離發明之主旨之範圍內,可進行多種省略、置換、變更。該等實施形態或其變化係包含於發明之範圍或主旨,且包含於申請專利範圍所記載之發明及其均等之範圍內。
本申請案以日本專利申請案2016-183344(申請日:9月20日/2016年)為基礎,自該申請案享受優先之利益。藉由參照該申請案而包含該申請案之全部內容。
Claims (10)
- 一種記憶體系統,其具備:第1記憶體,其就每個第1資料尺寸被存取;第2記憶體,其就每個小於上述第1資料尺寸之第2資料尺寸被存取,可較上述第1記憶體更高速存取;及第3記憶體,其存儲用以將對上述第2記憶體存取之位址轉換成對上述第1記憶體存取之位址之位址轉換資訊;且上述第1記憶體及上述第3記憶體為非揮發記憶體。
- 如請求項1之記憶體系統,其具備:介面切換電路,其根據來自處理器之存取請求,切換對上述第1記憶體存取,抑或是對上述第2記憶體存取;第1控制電路,其基於上述位址轉換資訊,控制對於上述第1記憶體之存取;及第2控制電路,其控制對於上述第2記憶體之存取。
- 如請求項1之記憶體系統,其中上述第2記憶體之存取優先度高於上述第1記憶體,且存儲已存儲至上述第1記憶體之資料或應存儲之資料;且上述第3記憶體除上述位址轉換資訊外,亦存儲用以將上述第2記憶體作為上述第1記憶體之快取記憶體使用之快取管理資訊。
- 如請求項3之記憶體系統,其中上述快取管理資訊包含表示存儲至上述第1記憶體之資料是否亦存在於上述第2記憶體之第1旗標資訊。
- 如請求項4之記憶體系統,其中上述快取管理資訊包含表示是否容許將存儲至上述第2記憶體之資料趕出之第2旗標資訊。
- 如請求項4或5之記憶體系統,其具備介面控制電路,該介面控制電路根據來自處理器之存取請求,基於上述位址轉換資訊及上述快取管理資訊,控制對於上述第1記憶體及上述第2記憶體之存取。
- 如請求項1至5中任一項之記憶體系統,其中上述第3記憶體之記憶體容量小於上述第1記憶體,可較上述第1記憶體更高速存取。
- 如請求項1至5中任一項之記憶體系統,其中上述第2記憶體為揮發記憶體。
- 如請求項1之記憶體系統,其中上述第2記憶體為非揮發記憶體。
- 如請求項9之記憶體系統,其中上述第2記憶體為具有與上述第1記憶體不同之記憶胞構造之非揮發記憶體。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP??2016-183344 | 2016-09-20 | ||
| JP2016183344A JP2018049385A (ja) | 2016-09-20 | 2016-09-20 | メモリシステムおよびプロセッサシステム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201814493A TW201814493A (zh) | 2018-04-16 |
| TWI663542B true TWI663542B (zh) | 2019-06-21 |
Family
ID=61620571
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW106108075A TWI663542B (zh) | 2016-09-20 | 2017-03-10 | Memory system |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US10423536B2 (zh) |
| JP (1) | JP2018049385A (zh) |
| CN (1) | CN107844264B (zh) |
| TW (1) | TWI663542B (zh) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10956071B2 (en) | 2018-10-01 | 2021-03-23 | Western Digital Technologies, Inc. | Container key value store for data storage devices |
| US10769062B2 (en) | 2018-10-01 | 2020-09-08 | Western Digital Technologies, Inc. | Fine granularity translation layer for data storage devices |
| KR102735043B1 (ko) | 2018-10-19 | 2024-11-26 | 삼성전자주식회사 | 반도체 장치 |
| US10740231B2 (en) * | 2018-11-20 | 2020-08-11 | Western Digital Technologies, Inc. | Data access in data storage device including storage class memory |
| US11650742B2 (en) | 2019-09-17 | 2023-05-16 | Micron Technology, Inc. | Accessing stored metadata to identify memory devices in which data is stored |
| US11494311B2 (en) | 2019-09-17 | 2022-11-08 | Micron Technology, Inc. | Page table hooks to memory types |
| US10963396B1 (en) | 2019-09-17 | 2021-03-30 | Micron Technology, Inc. | Memory system for binding data to a memory namespace |
| US11269780B2 (en) | 2019-09-17 | 2022-03-08 | Micron Technology, Inc. | Mapping non-typed memory access to typed memory access |
| US11016905B1 (en) | 2019-11-13 | 2021-05-25 | Western Digital Technologies, Inc. | Storage class memory access |
| US11249921B2 (en) | 2020-05-06 | 2022-02-15 | Western Digital Technologies, Inc. | Page modification encoding and caching |
| JP7517188B2 (ja) * | 2021-02-04 | 2024-07-17 | 株式会社デンソー | エンジン制御装置 |
| CN120848817A (zh) * | 2025-09-23 | 2025-10-28 | 济南浪潮数据技术有限公司 | 边缘节点的数据存储系统和方法、装置及存储介质 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI454915B (zh) * | 2011-09-30 | 2014-10-01 | Intel Corp | 實施具有不同操作模式之多階記憶體階層的設備與方法 |
| TWI460588B (zh) * | 2009-07-17 | 2014-11-11 | Toshiba Kk | Memory management device and memory information processing device |
| US8914568B2 (en) * | 2009-12-23 | 2014-12-16 | Intel Corporation | Hybrid memory architectures |
| TWI468938B (zh) * | 2011-09-30 | 2015-01-11 | Intel Corp | 用於配備具有可組態分區之不變性隨機存取記憶體的平台儲存階層之方法,設備及系統 |
| US9280497B2 (en) * | 2012-12-21 | 2016-03-08 | Dell Products Lp | Systems and methods for support of non-volatile memory on a DDR memory channel |
| US20160253123A1 (en) * | 2014-03-19 | 2016-09-01 | Bruce Ledley Jacob | NVMM: An Extremely Large, Logically Unified, Sequentially Consistent Main-Memory System |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4049297B2 (ja) * | 2001-06-11 | 2008-02-20 | 株式会社ルネサステクノロジ | 半導体記憶装置 |
| US6834327B2 (en) * | 2002-02-08 | 2004-12-21 | Hewlett-Packard Development Company, L.P. | Multilevel cache system having unified cache tag memory |
| CN101673245B (zh) * | 2008-09-09 | 2016-02-03 | 株式会社东芝 | 包括存储器管理装置的信息处理装置和存储器管理方法 |
| US8250282B2 (en) | 2009-05-14 | 2012-08-21 | Micron Technology, Inc. | PCM memories for storage bus interfaces |
| JP2013030552A (ja) | 2011-07-27 | 2013-02-07 | Toshiba Corp | 不揮発性半導体記憶装置 |
| US8868843B2 (en) * | 2011-11-30 | 2014-10-21 | Advanced Micro Devices, Inc. | Hardware filter for tracking block presence in large caches |
| US9323662B2 (en) * | 2012-12-31 | 2016-04-26 | SanDisk Technologies, Inc. | Flash memory using virtual physical addresses |
| US9547594B2 (en) * | 2013-03-15 | 2017-01-17 | Intel Corporation | Instructions to mark beginning and end of non transactional code region requiring write back to persistent storage |
| JP6088951B2 (ja) * | 2013-09-20 | 2017-03-01 | 株式会社東芝 | キャッシュメモリシステムおよびプロセッサシステム |
| CN103810126B (zh) * | 2014-01-27 | 2017-06-13 | 上海新储集成电路有限公司 | 混合dram存储器及降低该dram存储器刷新时功耗的方法 |
-
2016
- 2016-09-20 JP JP2016183344A patent/JP2018049385A/ja active Pending
-
2017
- 2017-03-09 CN CN201710136121.2A patent/CN107844264B/zh active Active
- 2017-03-10 TW TW106108075A patent/TWI663542B/zh active
- 2017-03-10 US US15/455,483 patent/US10423536B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI460588B (zh) * | 2009-07-17 | 2014-11-11 | Toshiba Kk | Memory management device and memory information processing device |
| US8914568B2 (en) * | 2009-12-23 | 2014-12-16 | Intel Corporation | Hybrid memory architectures |
| TWI454915B (zh) * | 2011-09-30 | 2014-10-01 | Intel Corp | 實施具有不同操作模式之多階記憶體階層的設備與方法 |
| TWI468938B (zh) * | 2011-09-30 | 2015-01-11 | Intel Corp | 用於配備具有可組態分區之不變性隨機存取記憶體的平台儲存階層之方法,設備及系統 |
| US9280497B2 (en) * | 2012-12-21 | 2016-03-08 | Dell Products Lp | Systems and methods for support of non-volatile memory on a DDR memory channel |
| US20160253123A1 (en) * | 2014-03-19 | 2016-09-01 | Bruce Ledley Jacob | NVMM: An Extremely Large, Logically Unified, Sequentially Consistent Main-Memory System |
Also Published As
| Publication number | Publication date |
|---|---|
| US20180081820A1 (en) | 2018-03-22 |
| CN107844264B (zh) | 2022-07-26 |
| US10423536B2 (en) | 2019-09-24 |
| TW201814493A (zh) | 2018-04-16 |
| CN107844264A (zh) | 2018-03-27 |
| JP2018049385A (ja) | 2018-03-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI663542B (zh) | Memory system | |
| US8954672B2 (en) | System and method for cache organization in row-based memories | |
| US9740613B2 (en) | Cache memory system and processor system | |
| US10379746B2 (en) | Information processing apparatus, storage device, and computer program product | |
| US20210406170A1 (en) | Flash-Based Coprocessor | |
| US20160378652A1 (en) | Cache memory system and processor system | |
| US10031854B2 (en) | Memory system | |
| US11188467B2 (en) | Multi-level system memory with near memory capable of storing compressed cache lines | |
| JP2011258189A (ja) | プロセッサ・メインメモリのための持続性メモリ | |
| US11126573B1 (en) | Systems and methods for managing variable size load units | |
| US10387304B2 (en) | Virtual transfer of data between memory and storage domains | |
| US11704018B2 (en) | Memory management device capable of managing memory address translation table using heterogeneous memories and method of managing memory address thereby | |
| JP2021530028A (ja) | 記憶システムをメインメモリとして使用するための方法および装置 | |
| JP6027562B2 (ja) | キャッシュメモリシステムおよびプロセッサシステム | |
| US10198359B2 (en) | Systems and methods for addressing a cache with split-indexes | |
| US10691608B2 (en) | Memory device accessed in consideration of data locality and electronic system including the same | |
| US20200089426A1 (en) | Management device, information processing apparatus, and memory control method | |
| US11474717B2 (en) | Memory systems having semiconductor memory modules therein that support page fault processing | |
| US20170109086A1 (en) | Memory system | |
| JP2018049672A (ja) | メモリシステムおよびプロセッサシステム | |
| US20160103766A1 (en) | Lookup of a data structure containing a mapping between a virtual address space and a physical address space | |
| US10402325B2 (en) | Memory system | |
| US10423540B2 (en) | Apparatus, system, and method to determine a cache line in a first memory device to be evicted for an incoming cache line from a second memory device | |
| KR101831226B1 (ko) | 차세대 메모리로 구성된 캐시의 제어 장치 및 그 방법 | |
| Xie et al. | Coarse-granularity 3D Processor Design |