CN107844430A - 存储器系统和处理器系统 - Google Patents

存储器系统和处理器系统 Download PDF

Info

Publication number
CN107844430A
CN107844430A CN201710177591.3A CN201710177591A CN107844430A CN 107844430 A CN107844430 A CN 107844430A CN 201710177591 A CN201710177591 A CN 201710177591A CN 107844430 A CN107844430 A CN 107844430A
Authority
CN
China
Prior art keywords
memory
address
data
access
dram
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
CN201710177591.3A
Other languages
English (en)
Other versions
CN107844430B (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.)
Japanese Businessman Panjaya Co ltd
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 CN107844430A publication Critical patent/CN107844430A/zh
Application granted granted Critical
Publication of CN107844430B publication Critical patent/CN107844430B/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
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses
    • 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
    • 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

存储器系统和处理器系统
本申请以日本申请2016-183393(申请日2016年9月20日)为基础,根据该申请享受优先的权益。本申请通过参照该申请而包含该申请的所有内容。
技术领域
本发明的实施方式涉及一种存储器系统和处理器系统。
背景技术
在包含主机处理器和主存储器的存储器系统中,主存储器例如具备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是表示存储器系统的例子的图。
图2是表示存储器系统的例子的图。
图3是表示存储器系统的例子的图。
图4是表示存储器系统的例子的图。
图5是表示三个存储器间的数据移动的例子的图。
图6是表示DRAM的例子的图。
图7是表示缓冲存储器(DRAM的读出放大器)的例子的图。
图8是表示还原存储器(redeem memory)的例子的图。
图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(还原存储器命中表)的例子的图。
(附图标记说明)
10:处理器;11:主存储器;12:CPU;13:高速缓存存储器;14:控制器;15:LUT;16:写入驱动器/汇集器;17:接口部;18:指令处理部;19:地址处理部;20:数据缓冲器;MD:DRAM;MB:缓冲存储器;MR:还原存储器。
具体实施方式
以下,参照附图说明实施例。
(存储器系统)
图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间,且具备LUT15以及还原存储器MR
CPU 12例如具备多个CPU核。多个CPU核是能够相互并行地进行不同数据处理的要素。近年来,由于CPU核数量的增加(例如,8核、16核等),处理器10的处理能力得到提高,且主存储器11的存储器容量增大(例如,100GB等),因此处理器10以及主存储器11间的数据转送能力的提高成为紧急的课题。
高速缓存存储器13是解决该课题的一种技术。高速缓存存储器12例如具备能够高速存取的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的存取是通过激活(activate)存储器单元阵列内的一行来进行的。激活一行意味着接通一行、即与一根字线连接的存储器单元内的选择晶体管。激活一行的动作例如被称为行打开动作(row-open operation)或者页打开动作(page-openoperation)。另外,被激活的一行例如被称为打开行(opened row)或者打开页(openedpage)。
另一方面,在DRAM MD中,使一行无效(deactivate)意味着断开一行、即与一根字线连接的存储器单元内的选择晶体管。使一行无效的动作例如被称为行关闭动作(row-close operation)或者页关闭动作(page-close operation)。另外,被无效的一行例如被称为关闭行(closed row)或者关闭页(closed page)。在一行被无效的状态下,为接下来的存取做准备而进行位线的预充电动作等。
缓冲存储器MB例如能够存储在DRAM MD的被激活的一行中的多个存储器单元(与一根字线连接的多个存储器单元)中存储的数据(以下称为页数据)。缓冲存储器MB作为高速缓存存储器来发挥功能,该高速缓存存储器具有处理器10内的高速缓存存储器(例如,L1~L3高速缓存)13的存储器分层与主存储器11内的DRAM MD的存储器分层间的存储器分层。
例如,在成为存取对象的数据存储在缓冲存储器MB内的情况下(缓冲存储器命中(hit)的情况下),处理器10通过不存取DRAM MD而存取缓冲存储器MB来使向主存储器11的存取高速化。
还原存储器MR是如下要素:即使在成为存取对象的数据未存储在缓冲存储器MB内的情况下(缓冲存储器未命中(miss)的情况下),不存取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所管理的相同地址的数据不会同时存储在这两个存储器内。
即作为主存储器11中的数据的正式保存场所的DRAM MD以及作为高速缓存存储器的缓冲存储器MB这两者、或者作为主存储器11中的数据的正式保存场所的DRAM MD以及作为高速缓存存储器的还原存储器MR这两者即使有时同时存储相同地址的数据,还原存储器MR以及缓冲存储器MB这两者也不会同时存储相同地址的数据。
还原存储器MR作为主存储器11内的高速缓存存储器来发挥功能,因此希望是能够高速存取的存储器。另外,从后述的存储器存取控制的关系考虑,希望还原存储器MR具有比缓冲存储器MB的存储器容量大的存储器容量。而且,为了实现存储器系统的低功耗化、且消除因刷新等导致的存取限制,希望还原存储器MR是非易失性存储器、或者具有非常长的数据保留时间的易失性存储器。
作为这种存储器,例如有MRAM(磁盘随机存取存储器)、ReRAM(电阻变化存储器)等非易失性RAM、或者将存储器单元内的选择晶体管的沟道设为氧化物半导体(例如IGZO等)的DRAM(ULR DRAM:Ultra Long Retention DRAM,超长保留DRAM)。
存储在缓冲存储器MB内的页数据例如在写入动作中缓冲存储器命中的情况下被更新。因而,缓冲存储器MB内的页数据例如通过写入动作被更新,另一方面是没有写回作为正式保存场所的DRAM MD的所谓的脏数据(dirty data)。
同样地,存储在还原存储器MR内的页数据例如在写入动作中还原存储器命中的情况下也被更新。因而,还原存储器MR内的页数据例如通过写入动作也被更新,另一方面是没有写回作为正式保存场所的DRAM MD的所谓的脏数据。
这些脏数据最终被写回作为正式保存场所的DRAM MD而成为干净数据(cleandata)。
在本实施例的存储器系统中,例如图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
一个存储器单元Uij具备串联连接的电容器Cij以及晶体管(FET:Field EffectTransistor:场效应管)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属于一个组,例如属于页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)、且浮动(floating)即可。在这种情况下,当将字线WLi设为激活时,位线BLj的电位根据存储在存储器单元Uij内的数据、即蓄积在电容器Cij内的电荷量而变化。
存储在存储器单元Uij内的数据(读出数据)能够通过由读出放大器SAj感测该位线BLj的电位变化来检测。
图7表示缓冲存储器的例子。
缓冲存储器MB是DRAM MD的读出放大器SAj
存储器单元Uij、电容器Cij、晶体管Tij、字线WLi、以及位线BLj分别与图6所示的存储器单元Uij、电容器Cij、晶体管Tij、字线WLi以及位线BLj相对应。
Qpre是用于在读出/写入动作(页关闭动作)中将预充电电位Vpre施加到位线BLj的晶体管(例如,N沟道FET)。例如,在读出/写入动作中,当控制信号为激活(例如高电平)时,晶体管Qpre为接通(ON),Vpre=Vdd/2被转送到位线BLj。当控制信号为非激活(例如低电平)时,晶体管Qpre成为断开(OFF)。
Qclamp是作为用于在读出/写入动作中将位线BLj电连接到读出放大器SAj的开关元件(钳位电路)而发挥功能。Qclamp例如是N沟道FET。在读出/写入动作中,当控制信号为激活时,晶体管Qclamp成为接通,位线BLj与读出放大器SAj电连接。当控制信号为非激活时,晶体管Qclamp为断开。
读出放大器SAj具备SRAM即进行了触发器连接的两个逆变器电路。当控制信号(读出放大器使能信号)为激活时,读出放大器SAj为动作状态。另外,当控制信号为非激活时,读出放大器SAj为非动作状态。
读出放大器SAj具备两个输入输出节点S1、S2。读出/写入数据例如从输入输出节点S1被输入输出。
Qeq是均衡两个输入输出节点S1、S2的电位的晶体管(均衡电路)。Qeq例如是N沟道FET。当控制信号为激活时,晶体管Qeq为接通,两个输入输出节点S1、S2的电位被均衡。当控制信号为非激活时,晶体管Qeq为断开。
Qrst是对两个输入输出节点S1、S2的电位进行复位的晶体管(例如N沟道FET)。当控制信号为激活时,晶体管Qrst为接通,两个输入输出节点S1、S2的电位被复位。当控制信号为非激活时,晶体管Qrst为断开。
(还原存储器)
图8表示还原存储器的例子。
在本例中,还原存储器MR是MRAM。另外,还原存储器MR的读出放大器SAj与上述的DRAM MD同样地能够作为缓冲存储器MB来使用。但是,还原存储器MR的读出放大器SAj也可以不作为缓冲存储器MB来使用。
还原存储器MR具备配置成阵列状的多个存储器单元X00~Xij。一个存储器单元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属于一个组,例如属于页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由控制信号控制、且具备串联连接的P沟道FET Qa_p以及N沟道FET Qa_n。第2驱动器/汇集器D/S_b由控制信号控制、且具备串联连接的P沟道FET Qb_p以及N沟道FET Qb_n。
在写入动作中,当控制信号为激活时,第1驱动器/汇集器D/S_a与位线BLj电连接。
例如在“0”-写入中,写入脉冲通过将控制信号设定为“0”并将控制信号设定为“1”来产生。其中,“0”与接地电位Vss相对应,“1”与电源电位Vdd相对应。以下相同。
在这种情况下,写入电流在从磁阻效应元件MTJij向晶体管Tij的方向上流过,且磁阻效应元件MTJij变化为低电阻状态。作为结果,“0”被写入到存储器单元Uij
另外,在“1”-写入中,写入脉冲通过将控制信号设定为“1”并将控制信号设定为“0”来产生。
在这种情况下,写入电流在从晶体管Tij向磁阻效应元件MTJij的方向上流过,且磁阻效应元件MTJij变化为高电阻状态。作为结果,“1”被写入到存储器单元Uij
另一方面,在读出动作中,控制信号被设定为非激活,第1驱动器/汇集器D/S_a被从位线BLj电切断。另外,控制信号被设定为“1”。在这种情况下,接地电位Vss被施加到源极线SLj
(存储器存取控制)
说明图1~图4的控制器14所进行的存储器存取控制的例子。
图10是表示存储器存取控制的例子的流程图。
首先,控制器14检查是否发出了对DRAM进行存取的指令(步骤ST00)。
控制器14当确认发出了对DRAM进行存取的指令时,根据LUT15检查成为存取对象的数据是否存储在缓冲存储器内(步骤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(leastrecently used:最近最少使用)等指标。
MRU意味着最近最频繁使用的数据,即最终存取时刻至当前时刻为止的期间(aperiod 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所示,优选例如经由控制器14进行数据从还原存储器MR向缓冲存储器MB的移动。
这之后,执行页关闭动作(步骤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这三种情况,在这些中的图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表示与应用例有关的存储器系统。
这些应用例例如是对在DIMM(dual-inline memory module)等存储器模块中搭载DRAM(包含缓冲存储器)的传统技术应用了本实施例的情况的例子。
在图18的例子中,主存储器(DRAM模块)11D具备多个存储体BA0、BA1、…BAn(n为2以上的自然数)。例如,一个存储体BAk具备DRAM MD_k以及缓冲存储器MB_k。其中,k是1~n中的一个。一个存储体BAk既可以与一个封装产品(芯片)相对应,或者多个存储体BA0、BA1、…BAn也可以包含在一个封装产品、或者多个封装产品之中。
另外,控制器14搭载于处理器10内,并且还原存储器MR搭载于控制器14内。
在这种情况下,主存储器11例如设为传统的DRAM模块,本实施例能够通过变更控制器14的构造以及存储器存取控制(算法)来执行。
在图19的例子中,主存储器11具备DRAM模块11D以及还原存储器模块11R
DRAM模块11D具备多个存储体BA0、BA1、…BAn。例如,一个存储体BAk具备DRAM MD_k以及缓冲存储器MB_k。其中,k是1~n中的一个。一个存储体BAk既可以与一个封装产品相对应,或者多个存储体BA0、BA1、…BAn也可以包含在一个封装产品、或者多个封装产品之中。
还原存储器模块11R也具备多个存储体BA0、BA1、…BAn。例如,一个存储体BAk具备还原存储器MR_k以及读出放大器(也可以作为缓冲存储器来使用)SAk。其中,k是1~n中的一个。一个存储体BAk既可以与一个封装产品相对应,或者多个存储体BA0、BA1、…BAn也可以包含在一个封装产品、或者多个封装产品之中。
在这种情况下,本实施例能够通过对传统的DRAM模块11D追加新的还原存储器模块11R、且变更控制器14的构造以及存储器存取控制(算法)来执行。
在图20的例子中,主存储器(DRAM模块)11D具备控制器14、多个存储体BA0、BA1、…BAn以及还原存储器MR
控制器14例如与一个封装产品相对应。
一个存储体BAk例如具备DRAM MD_k以及缓冲存储器MB_k。其中,k是1~n中的一个。一个存储体BAk既可以与一个封装产品相对应,或者多个存储体BA0、BA1、…BAn也可以包含在一个封装产品、或者多个封装产品之中。
还原存储器MR例如与一个封装产品相对应。
在这种情况下,本实施例能够例如通过在DRAM模块11D内混装控制器14以及还原存储器MR、且变更控制器14的构造以及存储器存取控制(算法)来执行。
在图21的例子中,主存储器(DRAM模块)11D具备控制器14、以及多个存储体BA0、BA1、…BAn。另外,控制器14具备还原存储器MR
控制器14例如与一个封装产品相对应。
一个存储体BAk例如具备DRAM MD_k以及缓冲存储器MB_k。其中,k是1~n中的一个。一个存储体BAk既可以与一个封装产品相对应,或者多个存储体BA0、BA1、…BAn也可以包含在一个封装产品、或者多个封装产品之中。
在这种情况下,本实施例能够例如通过在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地址成为无效。
(总结)
以上,根据实施例,能够提高主机处理器以及主存储器间的数据转送能力。
说明了本发明的几个实施方式,但是这些实施方式是作为例子提示的,没有意图限定发明的范围。这些实施方式能够以其它的各种的方式实施,能够在不超出发明的精神的范围内进行各种的省略、替换、变更。这些实施方式、其变形与包含在发明的范围、精神内同样地,包含在权利要求书所记载的发明和与其均等的范围内。

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存储器的读出放大器而发挥功能。
CN201710177591.3A 2016-09-20 2017-03-23 存储器系统和处理器系统 Active CN107844430B (zh)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
CN107844430A true CN107844430A (zh) 2018-03-27
CN107844430B CN107844430B (zh) 2021-07-30

Family

ID=61621105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710177591.3A Active CN107844430B (zh) 2016-09-20 2017-03-23 存储器系统和处理器系统

Country Status (4)

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

Cited By (1)

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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102664041A (zh) * 2012-05-22 2012-09-12 安徽大学 一种基于bist控制的可编程sram时序控制系统
CN103221929A (zh) * 2010-12-12 2013-07-24 拉塞尔·汉米尔顿·菲什 存储器缓存架构中的cpu
US20130262778A1 (en) * 2012-03-28 2013-10-03 International Business Machines Corporation Data cache block deallocate requests in a multi-level cache hierarchy
WO2015034082A1 (ja) * 2013-09-06 2015-03-12 株式会社 東芝 メモリ制御回路およびキャッシュメモリ
US9268708B2 (en) * 2010-09-28 2016-02-23 Texas Instruments Incorporated Level one data cache line lock and enhanced snoop protocol during cache victims and writebacks to maintain level one data cache and level two cache coherence

Family Cites Families (6)

* 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 络达科技股份有限公司 可执行外部程序码的集成电路和方法
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 華邦電子股份有限公司 記憶體編程方法以及記憶體裝置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9268708B2 (en) * 2010-09-28 2016-02-23 Texas Instruments Incorporated Level one data cache line lock and enhanced snoop protocol during cache victims and writebacks to maintain level one data cache and level two cache coherence
CN103221929A (zh) * 2010-12-12 2013-07-24 拉塞尔·汉米尔顿·菲什 存储器缓存架构中的cpu
US20130262778A1 (en) * 2012-03-28 2013-10-03 International Business Machines Corporation Data cache block deallocate requests in a multi-level cache hierarchy
CN102664041A (zh) * 2012-05-22 2012-09-12 安徽大学 一种基于bist控制的可编程sram时序控制系统
WO2015034082A1 (ja) * 2013-09-06 2015-03-12 株式会社 東芝 メモリ制御回路およびキャッシュメモリ

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JOHN L. HENNESSY等: "《Computer Architecture -A Quantitative Approach(Fourth Edition)》", 31 December 2007, MORGAN-KAUFMANN PUBLISHERS *
KI CHUL CHUN等: "A 3T Gain Cell Embedded DRAM Utilizing Preferential Boosting for High Density and Low Power On-Die Caches", 《IEEE JOURNAL OF SOLID-STATE CIRCUITS》 *
顾本源: "铁电存储器", 《物理》 *

Cited By (1)

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

Also Published As

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

Similar Documents

Publication Publication Date Title
Lee et al. Tiered-latency DRAM: A low latency and low cost DRAM architecture
KR960003227B1 (ko) 데이타 전송방법과 그것을 사용한 반도체 메모리 장치 및 그 전송방법
US8966181B2 (en) Memory hierarchy with non-volatile filter and victim caches
US7301791B2 (en) Semiconductor device
CN111383676A (zh) 存储器装置、存储器系统及相关方法
CN105518784B (zh) 具有用于高可靠性操作的存储控制器的数据处理器和方法
US8650355B2 (en) Non-volatile resistive sense memory on-chip cache
US8954672B2 (en) System and method for cache organization in row-based memories
US11580029B2 (en) Memory system, computing system, and methods thereof for cache invalidation with dummy address space
JP2005056452A (ja) メモリ及び半導体装置
US11456025B2 (en) Hybrid memory module
US6178479B1 (en) Cycle-skipping DRAM for power saving
US7209404B2 (en) Low power memory sub-system architecture
CN107783910B (zh) 存储器系统以及处理器系统
JP2004334996A (ja) 半導体装置
Sun et al. Improving energy efficiency of write-asymmetric memories by log style write
Chen et al. Process variation aware data management for magnetic skyrmions racetrack memory
US20060190678A1 (en) Static random access memory (SRAM) compatible, high availability memory array and method employing synchronous dynamic random access memory (DRAM) in conjunction with a single DRAM cache and tag
CN107844430A (zh) 存储器系统和处理器系统
CN110543430A (zh) 一种使用mram的存储装置
CN107844263A (zh) 存储器系统及处理器系统
TW202121178A (zh) 控制資料讀寫裝置與方法
Wang Architecture-level Designs using Emerging Non-volatile Memories
JP2000113668A (ja) 半導体集積回路装置
JP2000235787A (ja) メモリlsi

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: 20220228

Address after: Tokyo

Patentee after: Japanese businessman Panjaya Co.,Ltd.

Address before: Tokyo

Patentee before: TOSHIBA MEMORY Corp.

TR01 Transfer of patent right