CN107844429A - 存储器控制电路、存储器系统以及处理器系统 - Google Patents

存储器控制电路、存储器系统以及处理器系统 Download PDF

Info

Publication number
CN107844429A
CN107844429A CN201710132921.7A CN201710132921A CN107844429A CN 107844429 A CN107844429 A CN 107844429A CN 201710132921 A CN201710132921 A CN 201710132921A CN 107844429 A CN107844429 A CN 107844429A
Authority
CN
China
Prior art keywords
write
destination
address
information
processor
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201710132921.7A
Other languages
English (en)
Other versions
CN107844429B (zh
Inventor
野口纮希
藤田忍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kioxia Corp
Original Assignee
Toshiba Memory Corp
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 Toshiba Memory Corp filed Critical Toshiba Memory Corp
Publication of CN107844429A publication Critical patent/CN107844429A/zh
Application granted granted Critical
Publication of CN107844429B publication Critical patent/CN107844429B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • 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/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • 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/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • 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/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/205Hybrid memory, e.g. using both volatile and non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/50Control mechanisms for virtual memory, cache or TLB
    • G06F2212/502Control mechanisms for virtual memory, cache or TLB using adaptive policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management

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)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Abstract

本发明提供一种存储器控制电路、存储器系统以及处理器系统。存储器控制电路具备:写入目的地选择部,针对处理器在第1存储装置中写入数据的每个地址区域,将第1存储装置内的易失性存储器及非易失性存储器中的某一个选择为写入目的地;写入控制部,进行在由写入目的地选择部选择了的写入目的地中写入应写入的地址区域的数据的控制;以及存取信息登记部,针对每个地址区域,将作为写入目的地的易失性存储器或者非易失性存储器的选择信息、和切换了地址区域内的连续的地址群的页面的次数信息对应起来登记,写入目的地选择部如果从处理器有新的写入请求,则根据在存取信息登记部中登记了的信息,选择写入目的地。

Description

存储器控制电路、存储器系统以及处理器系统
本申请以日本专利申请2016-183303(申请日:9月20日/2016年)为基础,从该申请享受优先的利益。通过参照该申请,包括该申请的全部内容。
技术领域
本发明的实施方式涉及存储器控制电路、存储器系统以及处理器系统。
背景技术
在便携信息终端中使用的处理器要求低消耗电力。因此,进行用非易失性存储器置换高速缓冲存储器、主存储器的研究。
MRAM(Magnetoresistive Random Access Memory,磁阻随机存取存储器)在各种非易失性存储器中作为可同时满足高的改写耐受性、高速地进行读出和写入的动作性能、以及可高集成的单元面积这3个特征的存储器得到瞩目。将MRAM用作高速缓冲存储器时的动作速度相比于其他非易失性存储器更高速、且面积效率比以往的存储器更高,能够将大容量的高速的高速缓冲存储器搭载于处理器,所以针对MRAM寄予大的期待。特别,在MRAM中,使用了被称为STT-MRAM(Spin Transfer Torque MRAM)的垂直磁性的自旋注入的方式的写入电流和写入延迟非常小,能够进行高速动作,所以期待广泛的应用。
作为主存储器以往使用的DRAM(Dynamic RAM)在一根字线上连接了多个存储器单元,为了驱动字线花费时间。如果一旦驱动字线,则能够针对在相同的字线上连接了的多个存储器单元高速地进行存取。因此,DRAM能够针对连续的地址区域进行高速存取。但是,如果想要对不连续的地址区域进行存取,则为了驱动与不连续的地址区域对应的字线而花费时间,所以存取速度显著降低。
相对于此,在MRAM的情况下,无论针对连续的地址区域和不连续的地址区域中的哪一个,在存取速度中都没什么差异,但对连续的地址区域进行存取时的存取速度有比DRAM劣化的可能性。
这样,可以说DRAM面向连续的地址区域的写入,相对于此,MRAM面向不连续的地址区域的写入。
发明内容
一个技术方案的存储器控制电路具备:
写入目的地选择部,针对处理器在第1存储装置中写入数据的每个地址区域,将所述第1存储装置内的易失性存储器及非易失性存储器中的某一个选择为写入目的地;
写入控制部,进行在由所述写入目的地选择部选择的写入目的地中写入应写入的地址区域的数据的控制;以及
存取信息登记部,针对每个所述地址区域,将作为写入目的地的所述易失性存储器或者所述非易失性存储器的选择信息、和切换了所述地址区域内的连续的地址群的页面的次数信息对应起来登记,
所述写入目的地选择部如果从所述处理器有新的写入请求,则根据在所述存取信息登记部中登记的信息,选择所述写入目的地。
附图说明
图1是示出一个实施方式的处理器系统的概略结构的框图。
图2A是示出使多个处理器芯、共有高速缓冲存储器、存储器控制电路以及MRAM成为单片的例子的框图。
图 2B是示出使多个处理器芯和存储器控制电路单片化,使DRAM和MRAM分别为不同的存储器基板的例子的框图。
图2C是示出与处理器芯的芯片独立地,设置安装了DRAM、MRAM以及存储器控制电路的芯片或者基板的例子的框图。
图3是说明处理器、主存储器、DRAM以及MRAM的地址的图。
图4是示出存取信息登记部的数据结构的图。
图5是示出处理器进行了存取请求的情况下的处理器系统的处理次序的一个例子的流程图。
图6是示出写入目的地选择部进行的存取信息登记部的更新处理的流程图。
图7是接着图6的流程图。
图8是示出第2实施方式的存取信息登记部的数据结构的图。
图9是示出第2实施方式的数据写入处理的一个例子的流程图。
图10是示出第3实施方式的数据写入处理的一个例子的流程图。
图11是示出第4实施方式的数据写入处理的一个例子的流程图。
图12是示出OS进行的分配处理的第1例的流程图。
图13是示出OS进行的分配处理的第2例的流程图。
(附图标记说明)
1:存储器控制电路;2:存储器系统;3:处理器系统;4:处理器;5:DRAM;6:MRAM;11:调停部;12:页面切换次数计数部;13:写入目的地选择部;14:存取信息登记部;15:分配部;16:DRAM控制器;17:MRAM控制器;18:DRAM驱动部;19:MRAM驱动部;22:处理器芯;23:共有高速缓冲存储器;28:TLB;29:页面表格。
具体实施方式
以下,参照附图,说明本公开的实施方式。
图1是示出一个实施方式的具备存储器控制电路1以及存储器系统2的处理器系统3的概略结构的框图。图1的处理器系统3具备多个处理器4、和内置存储器控制电路1的存储器系统2。此外,处理器系统3也可以具备单一的处理器4。
存储器系统2具有存储器控制电路1、DRAM5、以及MRAM6。DRAM5和MRAM6分别可用作主存储器7的一部分。DRAM5和MRAM6的存储器容量的比率是任意的。DRAM5和MRAM6的具体的种类、规格等没有限制。另外,DRAM5是易失性存储器的代表例,也可以使用DRAM5以外的易失性存储器。同样地,MRAM6是非易失性存储器的代表例,也可以使用MRAM6以外的非易失性存储器。
存储器控制电路1具备调停部11、页面切换次数计数部12、写入目的地选择部13、存取信息登记部14、分配部15、DRAM控制器16、MRAM控制器17、DRAM驱动部18、以及MRAM驱动部19。分配部15、DRAM控制器16、MRAM控制器17、DRAM驱动部18、以及MRAM驱动部19是写入控制部。
调停部11调停来自多个处理器4的存取请求,决定优先等级。调停部11具有暂时地储存来自多个处理器4的存取请求的队列21。队列21暂时地储存多个处理器4所发行了的包括存取命令、地址、以及数据的存取请求信息。队列21由例如寄存器构成。
页面切换次数计数部12针对每个页面,对在由处理器4执行写入请求时产生的页面的切换次数、即把页面打开或者关闭的次数进行计数。在此,页面是指,处理器4为了存储器存取而指定的连续的地址群的存储器区域,是例如几k字节的存储器区域。存储器存取是以页面单位进行。为了存取某个页面的存储器区域,必须驱动对应的字线。将与页面对应的字线的驱动称为页面的打开。另外,将停止与页面对应的字线的驱动称为页面的关闭。在本说明书中,将把页面打开或者关闭的次数称为页面的切换次数。
写入目的地选择部13针对处理器4对主存储器7写入数据的单位即地址区域的每一个,将主存储器7内的DRAM5和MRAM6中的某一个选择为写入目的地。在此,地址区域是指,例如,通过执行处理器4的处理单位即线程而被存取的主存储器7的地址范围,通过一个线程存取的地址区域是确定的,如果线程不同,则通常是存取的地址区域也不同。有在通过一个线程存取的地址区域中,包括多个页面地址的情况。在该情况下,每当变更存取的页面时,需要进行页面的打开以及关闭处理。写入目的地选择部13针对各线程的每一个,选择在DRAM5和MRAM6中的哪一个中写入数据。
存取信息登记部14针对处理器4进行了写入请求的各地址区域的每一个,将作为写入目的地的易失性存储器或者非易失性存储器的选择信息、和切换了页面的次数信息对应起来登记。写入目的地选择部13如果从处理器4有新的写入请求,则根据在存取信息登记部14中登记了的信息,选择写入目的地,并且更新存取信息登记部14的登记信息。更详细而言,写入目的地选择部13在处理器发行了向在存取信息登记部14中未登记的写入目的地的写入请求的情况、或者存取信息登记部14内的次数信息被更新了的情况下,更新存取信息登记部14内的选择信息。
分配部15依照写入目的地选择部13所选择出的写入目的地,对DRAM控制器16和MRAM控制器17的一方,通知处理器4的写入请求。DRAM控制器16依照处理器4的写入请求,进行针对DRAM5的写入控制。DRAM驱动部18依照DRAM5的规格,控制对DRAM5发送地址、数据、控制信号的定时。MRAM控制器17依照处理器4的写入请求,进行针对MRAM6的写入控制。MRAM驱动部19依照MRAM6的规格,控制对MRAM6发送地址、数据、控制信号的定时。
图1的存储器控制电路1既可以与处理器4一起单片化,也可以是与处理器4独立的芯片。另外,图1的存储器控制电路1也可以与DRAM5和MRAM6的至少一方单片化。作为图1的存储器控制电路1的代表性的安装方式,有图2A、图2B、图2C这三种。当然,还可以考虑图2A、图2B、图2C以外的安装方式。
图2A示出了使多个处理器芯22、共有高速缓冲存储器23、存储器控制电路1、以及MRAM6成为单片的例子。通过单片化,能够缩短在处理器芯22、存储器控制电路1以及MRAM6之间收发的信号的传输延迟,噪声的影响也能够降低。此外,在图2A中,DRAM5安装于DRAM基板24。此外,图1的处理器4包括图2A的多个处理器芯22和共有高速缓存23。此外,既可以是多个处理器4共有一个共有高速缓存23,也可以是一个处理器4内的多个处理器芯22共有一个共有高速缓存23。
图2B示出了对多个处理器芯22和存储器控制电路1进行单片化,使DRAM5和MRAM6分别为不同的存储器基板24、25的例子。在图2B的情况下,能够个别地增减DRAM5和MRAM6的存储器容量,所以通用性变高。
图2C示出了与处理器芯22的芯片独立地,设置安装了DRAM5、MRAM6以及存储器控制电路1的芯片或者基板26的例子。MRAM6也可以与存储器控制电路1一体地形成。在处理器芯22的芯片内设置了混合存储器控制器27,该控制器在与安装了存储器控制电路1等的芯片或者基板之间,高速地收发数据、地址、控制信号。
图3是说明处理器4、主存储器7、DRAM5以及MRAM6的地址的图。处理器4发行假想地址。将处理器4所发行了的假想地址通过TLB(Translation Lookaside Buffer,快速重编址缓冲器)28或者页面表格(PT)29变换为物理地址。物理地址被用于存取主存储器7。写入目的地选择部13将物理地址变换为用于存取DRAM5或者MRAM6的地址。写入目的地选择部13变换了的地址被登记到存取信息登记部14。
如从图3可知,用于存取DRAM5的地址空间与用于存取MRAM6的地址空间独立地设置。针对每个地址区域,对DRAM5或者MRAM6分配用于存取主存储器7的地址空间。该分配动态地变更。即,写入目的地选择部13根据DRAM5和MRAM6的空闲容量、各地址区域的页面切换次数,对DRAM5或者MRAM6动态地分配各地址区域。
图4是示出存取信息登记部14的数据结构的图。图4的存取信息登记部14针对各线程的每一个,将各线程的物理地址、线程ID、页面切换次数、以及所选择的DRAM5或者MRAM6的地址(在本说明书中还称为混合地址)对应起来登记。页面切换次数是每隔一定时间被更新,所以从当前向过去追溯了的多个页面切换次数的信息被登记到存取信息登记部14中。
写入目的地选择部13如果有来自处理器4的写入请求,则参照存取信息登记部14,选择DRAM5和MRAM6中的某一个,决定写入地址。写入目的地选择部13如果在存取信息登记部14中登记了的页面切换次数中无大的变化,则依照在存取信息登记部14中登记了的DRAM5或者MRAM6的选择信息,选择DRAM5或者MRAM6。另一方面,在存取信息登记部14中登记了的页面切换次数中有大的变化的情况、或者在存取信息登记部14中未登记的地址区域的情况下,写入目的地选择部13根据页面切换次数,切换DRAM5或者MRAM6的选择。在该情况下,写入目的地选择部13更新存取信息登记部14的登记信息。
图5是示出处理器4进行了存取请求(例如写入请求)的情况下的处理器系统3的处理次序的一个例子的流程图。该流程图示出了处理器系统1具备针对各处理器4的每一个设置的个别高速缓冲存储器、在多个处理器4中共有的共有高速缓冲存储器23、TLB28、以及页面表格29的例子。个别高速缓冲存储器是存取优先级最高的存储器。共有高速缓冲存储器23是存取优先级比个别高速缓冲存储器低,但存取优先级比主存储器7高的存储器。共有高速缓冲存储器23还被称为末级(last level)高速缓冲存储器。共有高速缓冲存储器23具有比个别高速缓冲存储器大的存储器容量。TLB28和页面表格29具有将处理器4所发行的假想地址变换为物理地址的变换表格。TLB28的变换表格比页面表格29的变换表格小,但能够比页面表格29更高速地进行向物理地址的变换。在页面表格29中,登记了关于在主存储器7中储存的所有数据的地址变换信息,其中的一部分登记于TLB28中。
关于图5的流程图,在处理器4进行了存取请求时,开始处理。首先,判定进行了存取请求的地址是否命中个别高速缓冲存储器(步骤S1)。在命中了的情况下,针对个别高速缓冲存储器进行存取即可,所以结束图5的处理。
在步骤S1未命中个别高速缓冲存储器的情况下,存取TLB28,判定是否命中(步骤S2)。在未命中TLB28的情况下,存取页面表格29的条目信息(以下,页面表格条目或者PTE)(步骤S3)。
在步骤S2中命中了TLB28的情况、或者在步骤S3中存取了页面表格29的情况下,使用命中了TLB28的地址变换信息、或者存取页面表格29而取得了的地址变换信息,存取共有高速缓冲存储器23,判定是否命中(步骤S4)。在命中了共有高速缓冲存储器23的情况下,针对共有高速缓冲存储器23进行存取即可,所以结束图5的处理。
在步骤S4中未命中共有高速缓冲存储器23的情况下,将来自处理器4的存取请求储存到调停部11内的队列21(步骤S5)。接下来,写入目的地选择部13根据在存取信息登记部14中登记了的信息,选择DRAM5和MRAM6中的某一个,决定应存取的地址(步骤S6)。接下来,分配部15根据写入目的地选择部13所决定了的地址,判断应存取DRAM5、还是应存取MRAM6(步骤S7)。在判断为应存取DRAM5的情况下,经由DRAM控制器16和DRAM驱动部18存取DRAM5(步骤S8)。在存取DRAM5时打开了新的页面的情况下,对页面切换次数进行递增计数(步骤S9)。在步骤S7中判断为应存取MRAM6的情况下,经由MRAM控制器17和MRAM驱动部19存取MRAM6(步骤S10)。在存取MRAM6时打开了新的页面的情况下,对页面切换次数进行递增计数(步骤S11)。
图6以及图7是示出写入目的地选择部13进行的存取信息登记部14的更新处理的流程图。这些流程图示出了写入目的地选择部13实时地进行存取信息登记部14的更新处理的例子。
将图6以及图7的更新处理分成2个阶段来进行。如果有来自处理器4的存取请求(在该情况下为写入请求),则首先如图6所示,对MRAM6和DRAM5中的空闲容量多的一方,进行写入有写入请求的数据的处理。
接下来,如图7所示,进行将DRAM5内的数据中的页面切换次数多的数据与MRAM6内的页面切换次数少的数据调换的处理。以下,依次说明图6和图7的处理。
关于图6的流程图,在处理器4进行了新的存取请求时,开始处理。首先,判定在MRAM6中是否有空闲区域(步骤S21、第1空闲区域判定部)。如果判定为在MRAM6中有空闲区域,则判定在DRAM5中是否有空闲区域(步骤S22、第2空闲区域判定部)。如果判定为在DRAM5中有空闲区域,则选择DRAM5和MRAM6中的空闲区域多的一方,确保用于数据写入的区域(步骤S23)。接下来,取得确保的区域的地址(步骤S24)。取得了的地址被送到分配部15。分配部15通过地址确定是DRAM5还是MRAM6,在确定的一方中写入数据。
如果在步骤S22中判定为在DRAM5中无空闲区域,则在MRAM6中确保用于数据写入的区域(步骤S25),之后,进行上述步骤S24的处理。
如果在步骤S21中判定为在MRAM6中无空闲区域,则判定在DRAM5中是否有空闲区域(步骤S26)。如果判定为在DRAM5中有空闲区域,则在DRAM5中确保用于数据写入的区域(步骤S27),之后,进行上述步骤S24的处理。在步骤S26中判定为在DRAM5中无空闲区域的情况下,表示在DRAM5和MRAM6中的哪一个中都无空闲区域,返回无法确保区域的意思的差错(error)(步骤S28),结束处理。
通过图6的处理,在DRAM5和MRAM6中的某一个中写入了数据之后,开始图7的处理。首先,对处理器4执行的各线程的页面切换次数进行一定时间的计数(步骤S31)。接下来,将处理器4在一定时间的期间执行的各线程的页面切换次数按照降序排列(步骤S32、排序部)。接下来,按照在一定时间的期间在DRAM5中储存了的各线程的数据中的、页面切换次数从多到少的顺序,取得页面切换次数(步骤S33)。接下来,取得在MRAM6中储存了的各线程的数据中的、最小的页面切换次数(步骤S34)。
判定在步骤S33中取得了的页面切换次数是否多于在步骤S34中取得了的最小的页面切换次数(步骤S35)。在该判定为“否”的情况下,重复步骤S31以后的处理。在步骤S35的判定为“是”的情况下,判定可否在DRAM5和MRAM6中调换在步骤S33和S34中取得了的数据彼此(步骤S36)。如果判定为可调换,则在DRAM5和MRAM6中调换这些线程的数据彼此(步骤S37)。
接下来,判定调换了的线程数是否达到预定的阈值(步骤S38),如果尚未到达,则重复步骤S33以后的处理。如果在步骤S38中判定为达到,则重复步骤S31以后的处理。
在步骤S36中判定为不可调换的情况下,考虑为在MRAM6中无空闲容量。在该情况下,既可以仅送出MRAM6内的页面切换次数的最小值的线程、或者也可以将其他线程也合起来从MRAM6送出。由此,执行与DRAM5内的线程的调换处理(步骤S39),之后进行步骤S38以后的处理。
这样,在第1实施方式中,如果在处理器4执行各线程时针对主存储器7进行写入请求,则根据各线程的每一个的页面切换次数,选择DRAM5和MRAM6中的某一方,进行数据的写入。更具体而言,关于页面切换次数多的线程,在MRAM6中写入数据,关于页面切换次数少的线程,在DRAM5中写入数据。由此,在连续的地址区域中写入数据时,在DRAM5中写入数据,所以能够发挥DRAM5的特征而高速地进行数据写入。另外,在不连续的地址区域中写入数据时,在MRAM6中写入数据,所以即使频繁地发生页面的打开/关闭,也没有数据写入速度降低的担心。
另外,在第1实施方式中,如果从处理器4有写入请求,则首先对DRAM5和MRAM6中的、空闲容量多的一方写入数据,之后,在一定期间内,对在DRAM5和MRAM6中储存了的各线程的数据的页面切换次数进行计数,进行计数的数量多的线程的数据向MRAM6调换、计数的数量少的线程的数据向DRAM5调换的处理。由此,能够进行数据写入的实时处理,能够使向主存储器7的数据写入高速化。
(第2实施方式)
在第1实施方式中,针对处理器4执行的各线程的每一个,将页面切换次数登记到存取信息登记部14,根据登记了的页面切换次数,选择DRAM5和MRAM6中的某一个来写入了数据,但在第2实施方式中,针对处理器4新追加的页面表格条目的每一个,将页面切换次数登记到存取信息登记部14,根据登记了的页面切换次数,选择DRAM5和MRAM6中的某一个来写入数据。
在此,页面表格条目是指,用于存取页面表格29的条目信息。在页面表格29中,登记了关于在主存储器7中储存了的所有地址的地址变换信息。地址变换信息是指,表示处理器4所发行的假想地址、和用于存取主存储器7的物理地址的对应关系的信息。在处理器4针对主存储器7进行存取的情况下,检索页面表格29。在页面表格29内未登记应存取的地址的情况下,新生成页面表格条目。针对预先决定了的每个地址区域,设置了页面表格条目。该情况下的地址区域是指,通过将用于存取页面的假想地址群变换为物理地址群的地址变换信息存取的主存储器7内的一部分的存储区域,是例如将几k字节作为单位的连续的地址范围。写入目的地选择部13针对各页面表格条目的每一个,选择在DRAM5和MRAM6中的哪一个中写入数据。
第2实施方式的处理器系统3的块结构与图1相同。图8是示出第2实施方式的存取信息登记部14的数据结构的图。图8的存取信息登记部14针对各页面表格条目的每一个,将各页面表格条目的物理地址、页面表格条目的ID(PTE ID)、页面切换次数、以及所选择的DRAM5或者MRAM6的地址对应起来登记。
与第1实施方式同样地,写入目的地选择部13如果处理器4进行写入请求,则根据存取信息登记部14的登记信息,选择DRAM5和MRAM6中的某一个,进行数据写入。另外,写入目的地选择部13在各页面表格条目的页面切换次数中产生了变化的情况下,根据该页面切换次数,更新DRAM5和MRAM6的选择,将其更新信息登记到存取信息登记部14。
在第2实施方式中,与第1实施方式同样地,如果处理器4进行写入请求,则通过实时处理,进行选择DRAM5和MRAM6中的某一个来写入数据、并且将DRAM5和MRAM6的储存数据根据各页面表格条目的页面切换次数调换的处理。
在第2实施方式中,与第1实施方式同样地,首先通过与图6同样的处理,在DRAM5和MRAM6中的某一个空闲区域多的一方中,储存从处理器4有写入请求的数据。之后,在第2实施方式中,进行图9的处理。图9是示出第2实施方式的数据写入处理的一个例子的流程图。
首先,对通过处理器4存取的各页面表格条目的页面切换次数进行一定时间的计数(步骤S41)。接下来,将处理器4在一定时间的期间存取的各页面表格条目的页面切换次数按照降序排列(步骤S42)。接下来,按照在一定时间的期间在DRAM5中储存了的各页面表格条目的数据中的、页面切换次数从多到少的顺序,取得页面切换次数(步骤S43)。接下来,取得在MRAM6中储存了的各页面表格条目的数据中的、页面切换次数的最小值(步骤S44)。
判定在步骤S43中取得了的页面切换次数是否多于在步骤S44中取得了的页面切换次数(步骤S45)。在该判定为“否”的情况下,重复步骤S41以后的处理。在步骤S45的判定为“是”的情况下,判定可否将在步骤S43和S34中取得了的数据彼此在DRAM5和MRAM6中调换(步骤S46)。如果判定为可调换,则将这些页面表格条目的数据彼此在DRAM5和MRAM6中调换(步骤S47)。
接下来,判定调换了的数据数是否达到预定的阈值(步骤S48),如果尚未达到,则重复步骤S43以后的处理。如果在步骤S48中判定为达到,则重复步骤S41以后的处理。
在步骤S46中判定为不可调换的情况下,考虑为在MRAM6中无空闲容量。在该情况下,既可以仅送出MRAM6内的页面切换次数的最小值的页面表格条目、或者也可以将其他页面表格条目也从MRAM6送出。由此,执行与DRAM5内的页面表格条目的调换处理(步骤S47),之后进行步骤S46以后的处理。
这样,在第2实施方式中,如果处理器4进行写入请求,而追加新的页面表格条目,则根据追加了的页面表格条目的页面切换次数,选择DRAM5和MRAM6中的某一方,进行数据的写入。
更具体而言,关于页面切换次数多的页面表格条目,在MRAM6中写入数据,关于页面切换次数少的页面表格条目,在DRAM5中写入数据。由此,在连续的地址区域中写入数据时在DRAM5中写入数据,所以能够发挥DRAM5的特征而高速地进行数据写入。另外,在不连续的地址区域中写入数据时在MRAM6中写入数据,所以即使频繁地发生页面的打开/关闭,也无数据写入速度降低的担心。
另外,即使在第2实施方式中,也按照与第1实施方式同样的处理次序,进行数据写入,所以能够进行实时处理,能够使向主存储器7的数据写入高速化。
(第3实施方式)
在第3实施方式中,在处理器4执行线程时,并非根据页面切换次数实时地调换DRAM5和MRAM6内的数据,而仅关于在主存储器7中新写入的数据,根据页面切换次数,选择DRAM5和MRAM6中的某一个并写入。
在第3实施方式中,也通过与图6同样的处理(初始写入控制部的处理),在DRAM5和MRAM6中的某一个空闲区域多的一方中,储存从处理器4有写入请求的数据。之后,在第3实施方式中,进行图10的处理。
图10是示出第3实施方式的数据写入处理的一个例子的流程图。首先,针对处理器4执行的各线程的每一个,在一定时间的期间,对页面切换次数进行计数(步骤S51)。接下来,计算处理器4当前执行中的全部线程的页面切换次数的平均值(步骤S52)。
接下来,判定进行了写入请求的线程的页面切换次数是否大于在步骤S52中计算了的平均值(步骤S53、平均值检测部)。如果判定为大于平均值,则判定在MRAM6中是否有空闲区域(步骤S54)。如果判定为在MRAM6中有空闲区域,则决定用于将进行了写入请求的线程的数据写入到MRAM6的地址(步骤S55)。
如果在步骤S54中判定为在MRAM6中无空闲区域,则优先地选择在MRAM6中储存了的线程的数据中的、页面切换次数小的数据并从MRAM6移动到DRAM5来确保区域,决定用于对该区域写入进行了写入请求的线程的数据的地址(步骤S56)。
如果在步骤S53中,判定为进行了写入请求的线程的页面切换次数是在步骤S52中计算的平均值以下,则判定在DRAM5中是否有空闲区域(步骤S57)。如果判定为在DRAM5中有空闲区域,则决定用于将进行了写入请求的线程的数据写入到DRAM5的地址(步骤S58)。
如果在步骤S57中判定为在DRAM5中无空闲区域,则优先地选择在DRAM5中储存了的线程的数据中的、页面切换次数大的数据并从DRAM5移动到MRAM6来确保区域,决定用于对该区域写入进行了写入请求的线程的数据的地址(步骤S59)。
这样,在第3实施方式中,在主存储器7中进行数据写入时,比较执行中的全部线程的页面切换次数,关于页面切换次数比平均值小的线程,在DRAM5中写入数据,关于页面切换次数比平均值大的线程,在MRAM6中写入数据。由此,虽然无法实时地更新MRAM6和DRAM5内的数据,但在新写入数据时,根据页面切换次数,选择是DRAM5还是MRAM6而写入,所以能够以比第1及第2实施方式少的处理量,使向主存储器7的数据写入高速化。
(第4实施方式)
在第4实施方式中,在处理器4追加新的页面表格条目时,并非将DRAM5和MRAM6内的数据根据页面切换次数实时地调换,而仅关于在主存储器7中新写入的数据,根据页面切换次数,选择DRAM5和MRAM6中的某一个而写入。
在第4实施方式中,也通过与图6同样的处理,在DRAM5和MRAM6中的某一个空闲区域多的一方中,储存从处理器4有写入请求的数据。之后,在第4实施方式中,进行图11的处理。
图11是示出第4实施方式的数据写入处理的一个例子的流程图。首先,针对通过处理器4存取的各页面表格条目的每一个,在一定时间的期间,对页面切换次数进行计数(步骤S61)。接下来,计算处理器4当前执行中的全部页面表格条目的页面切换次数的平均值(步骤S62)。
接下来,判定进行了写入请求的页面表格条目的页面切换次数是否大于在步骤S62中计算的平均值(步骤S63)。如果判定为大于平均值,则判定在MRAM6中是否有空闲区域(步骤S64)。如果判定为在MRAM6中有空闲区域,则决定用于将进行了写入请求的页面表格条目的数据写入到MRAM6的地址(步骤S65)。
如果在步骤S64中判定为在MRAM6中无空闲区域,则优先地选择在MRAM6中储存了的页面表格条目的数据中的、页面切换次数小的数据并从MRAM6移动到DRAM5来确保区域,决定用于对该区域写入进行了写入请求的页面表格条目的数据的地址(步骤S66)。
如果在步骤S63中,判定为进行了写入请求的页面表格条目的页面切换次数是在步骤S62中计算的平均值以下,则判定在DRAM5中是否有空闲区域(步骤S67)。如果判定为在DRAM5中有空闲区域,则决定用于将进行了写入请求的页面表格条目的数据写入到DRAM5的地址(步骤S68)。
如果在步骤S67中判定为在DRAM5中无空闲区域,则优先地选择在DRAM5中储存了的页面表格条目的数据中的、页面切换次数大的数据并从DRAM5移动到MRAM6来确保区域,决定用于对该区域写入进行了写入请求的页面表格条目的数据的地址(步骤S69)。
这样,在第4实施方式中,在主存储器7中进行数据写入时,比较执行中的全部页面表格条目的页面切换次数,关于页面切换次数小于平均值的页面表格条目,在DRAM5中写入数据,关于页面切换次数大于平均值的页面表格条目,在MRAM6中写入数据。由此,虽然无法实时地更新MRAM6和DRAM5内的数据,但在新写入数据时,根据页面切换次数,选择是DRAM5还是MRAM6而写入,所以能够以比第1及第2实施方式更少的处理量,使向主存储器7的数据写入高速化。
(第5实施方式)
上述第1~第4实施方式的处理的至少一部分能够通过软件进行。例如,也可以操作系统(以下OS)进行第1~第4实施方式中的写入目的地选择部13、存取信息登记部14以及分配部15的处理。由此,即使是不具有写入目的地选择部13、存取信息登记部14以及分配部15的功能的存储器控制电路1,也能够通过OS的功能,实现实质上与图1同样的块结构的存储器控制电路1。因此,作为硬件,使用既存的存储器控制电路1,同时通过OS的功能,分开使用DRAM5和MRAM6,能够使向主存储器7的数据写入高速化。
另外,在通过软件将向主存储器7的写入数据分配给DRAM5和MRAM6的情况下,相比于用硬件进行分配处理的情况,自由度提高。
例如,在第1~第4实施方式中,根据一定时间的期间的处理器4的执行状况,进行分配处理,但在用软件进行分配处理的情况下,还能够在执行之前解析处理器4执行的预定的程序,事先进行分配处理。
图12是示出OS进行的分配处理的第1例的流程图,图13是示出OS进行的分配处理的第2例的流程图。在图12和图13中,在从处理器4有写入请求时,都并非实时地分配DRAM5和MRAM6内的数据,而仅将有写入请求的数据写入到DRAM5和MRAM6中的某一个。
在图12的第1例中,首先,事先由OS解析处理器4执行的预定的各线程的程序,事先掌握页面切换次数,针对各线程的每一个,决定写入到DRAM5和MRAM6中的哪一个(步骤S71)。接下来,如果处理器4执行各线程,来进行数据的写入请求(步骤S72),则在步骤S71中决定了的DRAM5或者MRAM6中写入数据(步骤S73)。
在图13的第2例中,首先,事先解析处理器4所存取的预定的各页面表格条目的程序,事先掌握页面切换次数,针对各页面表格条目的每一个,决定写入到DRAM5和MRAM6中的哪一个(步骤S81)。接下来,如果处理器4执行各页面表格条目,而进行数据的写入请求(步骤S82),则在步骤S81中决定了的DRAM5或者MRAM6中写入数据(步骤S83)。
这样,在第5实施方式中,在有从处理器4向主存储器7的写入请求时,通过软件,进行选择DRAM5和MRAM6中的某一个而写入的分配处理,所以不必大幅变更处理器系统3内的硬件,能够削减部件成本。另外,通过利用软件进行分配处理,易于给分配处理的具体的内容带来自由度。例如,能够在处理器4执行线程之前,事先解析处理器4执行的程序,针对各线程的每一个,决定写入到DRAM5和MRAM6中的哪一个。因此,能够迅速地进行分配处理。
此外,能够将上述实施方式总结为以下的技术方案。
技术方案1
一种存储器控制电路,具备:
写入目的地选择部,针对处理器在第1存储装置中写入数据的每个地址区域,将所述第1存储装置内的易失性存储器及非易失性存储器中的某一个选择为写入目的地;
写入控制部,进行在由所述写入目的地选择部选择的写入目的地中写入应写入的地址区域的数据的控制;以及
存取信息登记部,针对每个所述地址区域,将作为写入目的地的所述易失性存储器或者所述非易失性存储器的选择信息、和切换所述地址区域内的连续的地址群的页面的次数信息对应起来登记,
所述写入目的地选择部如果从所述处理器有新的写入请求,则根据在所述存取信息登记部中登记的信息,选择所述写入目的地。
技术方案2
根据技术方案1,所述写入目的地选择部如果从所述处理器有新的写入请求,则根据在所述存取信息登记部中登记的信息,选择所述写入目的地,并且更新所述存取信息登记部的登记信息。
技术方案3
根据技术方案2,所述写入目的地选择部在所述处理器发行了向在所述存取信息登记部中未登记的写入目的地的写入请求的情况、或者所述存取信息登记部内的所述次数信息被更新了的情况下,更新所述存取信息登记部内的所述选择信息。
技术方案4
根据技术方案1至3中的任意一个,所述地址区域是通过作为所述处理器执行的处理的线程来进行存取的所述第1存储装置内的一部分存储区域。
技术方案5
根据技术方案4,所述处理器执行的所述线程包括处理内容不同的多个线程,
所述存取信息登记部针对每个所述线程,将确定所述地址区域的物理地址信息、识别所述线程的识别信息、切换通过所述线程进行存取的所述页面的次数信息、以及作为写入目的地的所述易失性存储器或者所述非易失性存储器的选择信息对应起来登记。
技术方案6
根据技术方案1至3中的任意一个,所述地址区域是根据将用于存取所述页面的假想地址群变换为物理地址群的地址变换信息进行存取的所述第1存储装置内的一部分存储区域。
技术方案7
根据技术方案6,所述存取信息登记部针对每个所述地址变换信息,将确定所述地址区域的物理地址信息、识别所述线程的识别信息、切换根据所述地址变换信息进行存取的所述页面的次数信息、以及作为写入目的地的所述易失性存储器或者所述非易失性存储器的选择信息对应起来登记。
技术方案8
根据技术方案1至7中的任意一个,所述写入目的地选择部在存取优先等级比所述第1存储装置高的第2存储装置内不存在所述处理器所发行了的写入请求地址的情况下,将所述易失性存储器或者所述非易失性存储器选择为写入目的地。
技术方案9
根据技术方案1至8中的任意一个,具备:
第1空闲区域判定部,判定在所述非易失性存储器中是否有空闲区域;以及
第2空闲区域判定部,判定在所述易失性存储器中是否有空闲区域,
所述写入目的地选择部如果判定为在所述非易失性存储器以及所述易失性存储器中有空闲区域,则将空闲区域多的一方选择为所述写入目的地,如果判定为在所述非易失性存储器中有空闲区域、并且在所述易失性存储器中无空闲区域,则将所述非易失性存储器选择为所述写入目的地,如果判定为在所述易失性存储器中有空闲区域、并且在所述非易失性存储器中无空闲区域,则将所述易失性存储器选择为所述写入目的地。
技术方案10
根据技术方案9,所述写入目的地选择部根据在所述易失性存储器中存储的地址区域的所述次数信息,针对每个所述地址区域,决定是否使所述易失性存储器内的数据移动到所述非易失性存储器。
技术方案11
根据技术方案9或者10,具备:将在所述易失性存储器中存储的数据,针对每个所述地址区域,根据所述次数信息重新排列的排序部,
所述写入控制部根据由所述排序部重新排列的每个所述地址区域的数据,使所述页面的切换次数更多的所述地址区域的数据移动到所述非易失性存储器。
技术方案12
根据技术方案1至8中的任意一个,具备:在预定时间内,针对每个所述地址区域,对所述页面的切换次数进行计数,求出所述页面的切换次数的平均值的平均值检测部,
所述写入目的地选择部根据比较与从所述处理器有写入请求的数据对应的所述页面的切换次数与所述平均值而得到的结果,将所述易失性存储器或者所述非易失性存储器选择为所述写入目的地。
技术方案13
根据技术方案12,所述写入目的地选择部
在与从所述处理器有写入请求的数据对应的所述页面的切换次数大于所述平均值的情况下,如果在所述非易失性存储器中有空闲区域,则将所述非易失性存储器选择为所述写入目的地,如果在所述非易失性存储器中无空闲区域,则使所述非易失性存储器内的所述页面的切换次数更少的所述地址区域的数据移动到所述易失性存储器而将所述非易失性存储器选择为所述写入目的地,
在与从所述处理器有写入请求的数据对应的所述页面的切换次数是所述平均值以下的情况下,如果在所述易失性存储器中有空闲区域,则将所述易失性存储器选择为所述写入目的地,如果在所述易失性存储器中无空闲区域,则使所述易失性存储器内的所述页面的切换次数更多的所述地址区域的数据移动到所述非易失性存储器而将所述易失性存储器选择为所述写入目的地。
技术方案14
一种存储器系统,具备:
第1存储装置,具有非易失性存储器、和易失性存储器;
写入目的地选择部,针对处理器在所述第1存储装置中写入数据的每个地址区域,将所述第1存储装置内的所述易失性存储器及所述非易失性存储器中的某一个选择为写入目的地;
写入控制部,进行在由所述写入目的地选择部选择的写入目的地中写入应写入的地址区域的数据的控制;以及
存取信息登记部,针对每个所述地址区域,将作为写入目的地的所述易失性存储器或者所述非易失性存储器的选择信息、和切换所述地址区域内的连续的地址群的页面的次数信息对应起来登记,
所述写入目的地选择部如果从所述处理器有新的写入请求,则根据在所述存取信息登记部中登记的信息,选择所述写入目的地。
技术方案15
一种处理器系统,具备:
处理器;
第1存储装置,通过所述处理器存取,具有非易失性存储器、和易失性存储器;
写入目的地选择部,针对所述处理器在所述第1存储装置中写入数据的每个地址区域,将所述第1存储装置内的所述易失性存储器及所述非易失性存储器中的某一个选择为写入目的地;
写入控制部,进行在由所述写入目的地选择部选择的写入目的地中写入应写入的地址区域的数据的控制;以及
存取信息登记部,针对每个所述地址区域,将作为写入目的地的所述易失性存储器或者所述非易失性存储器的选择信息、和切换所述地址区域内的连续的地址群的页面的次数信息对应起来登记,
所述写入目的地选择部如果从所述处理器有新的写入请求,则根据在所述存取信息登记部中登记的信息,选择所述写入目的地。

Claims (10)

1.一种存储器控制电路,其特征在于,具备:
写入目的地选择部,针对处理器在第1存储装置中写入数据的地址区域的每一个,将所述第1存储装置内的易失性存储器及非易失性存储器中的某一个选择为写入目的地;
写入控制部,进行在由所述写入目的地选择部选择的写入目的地中写入应写入的地址区域的数据的控制;以及
存取信息登记部,针对每个所述地址区域,将作为写入目的地的所述易失性存储器或者所述非易失性存储器的选择信息、和切换所述地址区域内的连续的地址群的页面的次数信息对应起来登记,
所述写入目的地选择部如果从所述处理器有新的写入请求,则根据在所述存取信息登记部中登记的信息,选择所述写入目的地。
2.根据权利要求1所述的存储器控制电路,其特征在于,
所述写入目的地选择部如果从所述处理器有新的写入请求,则根据在所述存取信息登记部中登记的信息,选择所述写入目的地,并且更新所述存取信息登记部的登记信息。
3.根据权利要求2所述的存储器控制电路,其特征在于,
所述写入目的地选择部在所述处理器发行了向在所述存取信息登记部中未登记的写入目的地的写入请求的情况、或者所述存取信息登记部内的所述次数信息被更新了的情况下,更新所述存取信息登记部内的所述选择信息。
4.根据权利要求1至3中的任意一项所述的存储器控制电路,其特征在于,
所述地址区域是通过作为所述处理器执行的处理的线程来进行存取的所述第1存储装置内的一部分存储区域。
5.根据权利要求4所述的存储器控制电路,其特征在于,
所述处理器执行的所述线程包括处理内容不同的多个线程,
所述存取信息登记部针对每个所述线程,将确定所述地址区域的物理地址信息、识别所述线程的识别信息、切换通过所述线程进行存取的所述页面的次数信息、以及作为写入目的地的所述易失性存储器或者所述非易失性存储器的选择信息对应起来登记。
6.根据权利要求1至3中的任意一项所述的存储器控制电路,其特征在于,
所述地址区域是根据将用于存取所述页面的假想地址群变换为物理地址群的地址变换信息进行存取的所述第1存储装置内的一部分存储区域。
7.根据权利要求6所述的存储器控制电路,其特征在于,
所述存取信息登记部针对每个所述地址变换信息,将确定所述地址区域的物理地址信息、识别所述线程的识别信息、切换根据所述地址变换信息进行存取的所述页面的次数信息、以及作为写入目的地的所述易失性存储器或者所述非易失性存储器的选择信息对应起来登记。
8.根据权利要求1至7中的任意一项所述的存储器控制电路,其特征在于,
所述写入目的地选择部在存取优先等级比所述第1存储装置高的第2存储装置内不存在所述处理器所发行的写入请求地址的情况下,将所述易失性存储器或者所述非易失性存储器选择为写入目的地。
9.根据权利要求1至8中的任意一项所述的存储器控制电路,其特征在于,具备:
第1空闲区域判定部,判定在所述非易失性存储器中是否有空闲区域;以及
第2空闲区域判定部,判定在所述易失性存储器中是否有空闲区域,
所述写入目的地选择部如果判定为在所述非易失性存储器以及所述易失性存储器中有空闲区域,则将空闲区域多的一方选择为所述写入目的地,如果判定为在所述非易失性存储器中有空闲区域、并且在所述易失性存储器中无空闲区域,则将所述非易失性存储器选择为所述写入目的地,如果判定为在所述易失性存储器中有空闲区域、并且在所述非易失性存储器中无空闲区域,则将所述易失性存储器选择为所述写入目的地。
10.根据权利要求9所述的存储器控制电路,其特征在于,
所述写入目的地选择部根据在所述易失性存储器中存储的地址区域的所述次数信息,针对每个所述地址区域,决定是否使所述易失性存储器内的数据移动到所述非易失性存储器。
CN201710132921.7A 2016-09-20 2017-03-08 存储器控制电路、存储器系统以及处理器系统 Active CN107844429B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016183303A JP2018049381A (ja) 2016-09-20 2016-09-20 メモリ制御回路、メモリシステムおよびプロセッサシステム
JP2016-183303 2016-09-20

Publications (2)

Publication Number Publication Date
CN107844429A true CN107844429A (zh) 2018-03-27
CN107844429B CN107844429B (zh) 2021-07-13

Family

ID=61621007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710132921.7A Active CN107844429B (zh) 2016-09-20 2017-03-08 存储器控制电路、存储器系统以及处理器系统

Country Status (4)

Country Link
US (1) US10585587B2 (zh)
JP (1) JP2018049381A (zh)
CN (1) CN107844429B (zh)
TW (1) TWI651642B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111104180A (zh) * 2019-12-11 2020-05-05 惠州Tcl移动通信有限公司 应用程序优化方法、装置、存储介质及电子设备
CN111599397A (zh) * 2019-02-20 2020-08-28 夏普株式会社 控制装置及控制方法
CN114026544A (zh) * 2019-07-01 2022-02-08 三菱电机株式会社 数据处理装置、数据处理系统、数据转存方法及程序

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019121195A (ja) 2018-01-05 2019-07-22 東芝メモリ株式会社 メモリシステム及びプロセッサシステム
US11968843B2 (en) * 2018-06-28 2024-04-23 Taiwan Semiconductor Manufacturing Co., Ltd. Processing core and MRAM memory unit integrated on a single chip
US10901657B2 (en) 2018-11-29 2021-01-26 International Business Machines Corporation Dynamic write credit buffer management of non-volatile dual inline memory module
US11269780B2 (en) 2019-09-17 2022-03-08 Micron Technology, Inc. Mapping non-typed memory access to typed memory access
US11494311B2 (en) * 2019-09-17 2022-11-08 Micron Technology, Inc. Page table hooks to memory types
US11650742B2 (en) 2019-09-17 2023-05-16 Micron Technology, Inc. Accessing stored metadata to identify memory devices in which data is stored
US10963396B1 (en) 2019-09-17 2021-03-30 Micron Technology, Inc. Memory system for binding data to a memory namespace
CN117472795A (zh) * 2020-05-29 2024-01-30 超聚变数字技术有限公司 存储介质管理方法及服务器

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120155160A1 (en) * 2010-12-17 2012-06-21 Everspin Technologies, Inc. Memory controller and method for interleaving dram and mram accesses
CN102768645A (zh) * 2012-06-14 2012-11-07 国家超级计算深圳中心(深圳云计算中心) 混合缓存的固态硬盘预取方法和固态硬盘ssd
US8364894B2 (en) * 2008-10-16 2013-01-29 Silicon Motion, Inc. Data update method and flash memory apparatus utilizing a cache block
US20130198437A1 (en) * 2010-01-27 2013-08-01 Takashi Omizo Memory management device and memory management method
US20140085972A1 (en) * 2011-05-26 2014-03-27 Kabushiki Kaisha Toshiba Semiconductor memory device, memory system and access method to semiconductor memory device
US20140173268A1 (en) * 2011-08-19 2014-06-19 Kabushiki Kaisha Toshiba Information processing apparatus, method for controlling information processing apparatus, non-transitory recording medium storing control tool, host device, non-transitory recording medium storing performance evaluation tool, and performance evaluation method for external memory device
US9002202B2 (en) * 2012-03-31 2015-04-07 Tejas Networks Limited Method and system for reducing the resource utilization of switch fabric in a SONET/SDH multiplexer by switching data on a TU level
CN105023608A (zh) * 2014-04-29 2015-11-04 华邦电子股份有限公司 闪速存储器及坏区块的管理方法
CN105653468A (zh) * 2015-07-21 2016-06-08 上海磁宇信息科技有限公司 一种使用mram的存储设备
US20160197623A1 (en) * 2014-01-06 2016-07-07 Micron Technology, Inc. Read threshold calibration for ldpc
CN105786717A (zh) * 2016-03-22 2016-07-20 华中科技大学 软硬件协同管理的dram-nvm层次化异构内存访问方法及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5798719A (en) * 1994-07-29 1998-08-25 Discovision Associates Parallel Huffman decoder
US6622225B1 (en) * 2000-08-31 2003-09-16 Hewlett-Packard Development Company, L.P. System for minimizing memory bank conflicts in a computer system
TWI398770B (zh) 2008-07-08 2013-06-11 Phison Electronics Corp 用於快閃記憶體的資料存取方法、儲存系統與控制器
US9678863B2 (en) 2012-06-12 2017-06-13 Sandisk Technologies, Llc Hybrid checkpointed memory
US10073779B2 (en) 2012-12-28 2018-09-11 Intel Corporation Processors having virtually clustered cores and cache slices
US9898410B2 (en) 2013-09-10 2018-02-20 Intel Corporation Hybrid main memory using a fine-grain level of remapping
JP6088951B2 (ja) 2013-09-20 2017-03-01 株式会社東芝 キャッシュメモリシステムおよびプロセッサシステム
US9704563B2 (en) * 2014-12-08 2017-07-11 Intel Corporation Apparatus, method and system for performing successive writes to a bank of a dynamic random access memory

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8364894B2 (en) * 2008-10-16 2013-01-29 Silicon Motion, Inc. Data update method and flash memory apparatus utilizing a cache block
US20130198437A1 (en) * 2010-01-27 2013-08-01 Takashi Omizo Memory management device and memory management method
US20120155160A1 (en) * 2010-12-17 2012-06-21 Everspin Technologies, Inc. Memory controller and method for interleaving dram and mram accesses
US20140085972A1 (en) * 2011-05-26 2014-03-27 Kabushiki Kaisha Toshiba Semiconductor memory device, memory system and access method to semiconductor memory device
US20140173268A1 (en) * 2011-08-19 2014-06-19 Kabushiki Kaisha Toshiba Information processing apparatus, method for controlling information processing apparatus, non-transitory recording medium storing control tool, host device, non-transitory recording medium storing performance evaluation tool, and performance evaluation method for external memory device
US9002202B2 (en) * 2012-03-31 2015-04-07 Tejas Networks Limited Method and system for reducing the resource utilization of switch fabric in a SONET/SDH multiplexer by switching data on a TU level
CN102768645A (zh) * 2012-06-14 2012-11-07 国家超级计算深圳中心(深圳云计算中心) 混合缓存的固态硬盘预取方法和固态硬盘ssd
US20160197623A1 (en) * 2014-01-06 2016-07-07 Micron Technology, Inc. Read threshold calibration for ldpc
CN105023608A (zh) * 2014-04-29 2015-11-04 华邦电子股份有限公司 闪速存储器及坏区块的管理方法
CN105653468A (zh) * 2015-07-21 2016-06-08 上海磁宇信息科技有限公司 一种使用mram的存储设备
CN105786717A (zh) * 2016-03-22 2016-07-20 华中科技大学 软硬件协同管理的dram-nvm层次化异构内存访问方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SHUICHI OIKAWA: "Integration methods of main memory and file system management for non-volatile main memory and implications of file system structures", 《16TH IEEE INTERNATIONAL SYMPOSIUM ON OBJECT/COMPONENT/SERVICE-ORIENTED REAL-TIME DISTRIBUTED COMPUTING (ISORC 2013)》 *
吴章玲: "基于PCM的大数据存储与管理研究综述", 《计算机研究与发展》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111599397A (zh) * 2019-02-20 2020-08-28 夏普株式会社 控制装置及控制方法
CN111599397B (zh) * 2019-02-20 2024-04-09 深圳通锐微电子技术有限公司 控制装置及控制方法
CN114026544A (zh) * 2019-07-01 2022-02-08 三菱电机株式会社 数据处理装置、数据处理系统、数据转存方法及程序
CN114026544B (zh) * 2019-07-01 2023-03-24 三菱电机株式会社 数据处理装置、数据处理系统、数据转存方法及记录介质
CN111104180A (zh) * 2019-12-11 2020-05-05 惠州Tcl移动通信有限公司 应用程序优化方法、装置、存储介质及电子设备
CN111104180B (zh) * 2019-12-11 2021-08-03 惠州Tcl移动通信有限公司 应用程序优化方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
US20180081555A1 (en) 2018-03-22
TWI651642B (zh) 2019-02-21
TW201814491A (zh) 2018-04-16
JP2018049381A (ja) 2018-03-29
CN107844429B (zh) 2021-07-13
US10585587B2 (en) 2020-03-10

Similar Documents

Publication Publication Date Title
CN107844429A (zh) 存储器控制电路、存储器系统以及处理器系统
CN105095116B (zh) 缓存替换的方法、缓存控制器和处理器
CN108701081A (zh) 用于同时存取非易失性存储器的多个分区的设备和方法
CN104850501B (zh) 一种ddr存储器访存地址映射方法及访存地址映射单元
US7020751B2 (en) Write back cache memory control within data processing system
TW201935248A (zh) 多層記憶體系統之預測資料協作
CN105068940B (zh) 一种基于Bank划分的自适应页策略确定方法
CN110059033A (zh) 数据中心中的共享存储器控制器
CN110389718A (zh) 存储系统及非易失性存储器的控制方法
CN103593324B (zh) 一种具有自学习功能的快速启动低功耗计算机片上系统
CN105612499A (zh) 混合高速缓存管理
WO2003007155A1 (fr) Dispositif a circuit integre
WO2014120215A1 (en) Adaptive granularity row-buffer cache
US10956045B2 (en) Apparatus and method for issuing access requests to a memory controller
CN109558338A (zh) 存储器中的动态页面分配
CN109582600A (zh) 一种数据处理方法及装置
CN106557442A (zh) 一种芯片系统
CN108959113A (zh) 用于闪存感知堆存储器管理的方法和系统
CN115168247B (zh) 用于并行处理器中动态共享存储空间的方法及相应处理器
CN107562645A (zh) 一种内存页管理方法及计算设备
CN109582613A (zh) 用于存储器访问和调度的系统、方法和装置
CN108694133A (zh) 用于即时高速缓存关联性的装置、方法和系统
US10372337B2 (en) Write request processing method and memory controller
CN100354844C (zh) 总线仲裁器和总线仲裁方法
JP2002007373A (ja) 半導体装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: Tokyo

Patentee after: TOSHIBA MEMORY Corp.

Address before: Tokyo

Patentee before: Japanese businessman Panjaya Co.,Ltd.

Address after: Tokyo

Patentee after: Kaixia Co.,Ltd.

Address before: Tokyo

Patentee before: TOSHIBA MEMORY Corp.

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20220701

Address after: Tokyo

Patentee after: Japanese businessman Panjaya Co.,Ltd.

Address before: Tokyo

Patentee before: TOSHIBA MEMORY Corp.

TR01 Transfer of patent right