CN105702277B - 存储器系统和存储器控制器 - Google Patents

存储器系统和存储器控制器 Download PDF

Info

Publication number
CN105702277B
CN105702277B CN201610027385.XA CN201610027385A CN105702277B CN 105702277 B CN105702277 B CN 105702277B CN 201610027385 A CN201610027385 A CN 201610027385A CN 105702277 B CN105702277 B CN 105702277B
Authority
CN
China
Prior art keywords
memory
activation
volatile
mram
volatile memory
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.)
Active
Application number
CN201610027385.XA
Other languages
English (en)
Other versions
CN105702277A (zh
Inventor
S·M·阿拉姆
T·安德烈
D·古戈尔
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.)
Everspin Technologies Inc
Original Assignee
Everspin Technologies Inc
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 Everspin Technologies Inc filed Critical Everspin Technologies Inc
Publication of CN105702277A publication Critical patent/CN105702277A/zh
Application granted granted Critical
Publication of CN105702277B publication Critical patent/CN105702277B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • 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/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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
    • 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/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
    • 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/4091Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
    • 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/4094Bit-line management or control 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C14/00Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
    • G11C14/0009Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a DRAM cell
    • G11C14/0036Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a DRAM cell and the nonvolatile element is a magnetic RAM [MRAM] element or ferromagnetic cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1042Read-write modes for single port memories, i.e. having either a random port or a serial port using interleaving techniques, i.e. read-write of one part of the memory while preparing another part
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/04Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter
    • 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/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2272Latency related aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Dram (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)

Abstract

本申请涉及用于使DRAM和MRAM访问交错的存储器控制器和方法。描述了用于使不同等待时间和页面尺寸的易失性和非易失性存储器交错的存储器控制和方法,其中,单个DDR3存储器控制器与许多存储器模块通信,其至少包括与例如动态随机存取存储器(DRAM)的易失性存储器集成在不同序列或通道中的例如自旋扭矩磁随机存取存储器的非易失性存储器。

Description

存储器系统和存储器控制器
本申请是本申请人于2011年12月16日提交的申请号为 201180066332.4、发明名称为“用于使DRAM和MRAM访问交错的存储器控制器和方法”的发明专利申请的分案申请。
技术领域
在本文中描述的示例性实施例一般地涉及存储器控制器,并且更具体地涉及存储器系统和方法,其包括用于使具有不同等待时间和页面尺寸的同步动态随机存取存储器(SDRAM)和自旋扭矩磁性随机存取存储器(ST-MRAM)交错的存储器控制器。
背景技术
计算机的速度很大部分由处理器的速度和在处理器与存储器之间快速地移动数据的能力确定。从存储器进行的数据传输已随着处理器与存储器之间的多通道或多路径的使用而增加。
等待时间指的是在存储器与处理器之间传送数据时的延迟,并且通常按时钟循环来测量。该处理器通常比存储器更快,因此其必须当存储器的适当段在数据能够被传送回到处理器之前被定位并被读取时延迟(等待)。存储在存储器中的数据以组定义。一个序列是在第一方向上(列)的多个组,并且一个通道是在第二方向上(行)的多个组。用于访问存储器的过程包括行和列识别所需的多个时钟循环及读或写指令。SDRAM与具有同步接口的系统总线同步,并且因此在对控制输入进行响应之前等待时钟信号且因此与计算机的系统总线同步。
存储器控制器管理到和来自存储器的数据的流动。其可以是单独芯片或被集成到另一芯片例如处理器中。用于数据传输的带宽可以包 括一行的数千个位。双倍数据速率(DDR)存储器控制器驱动存储器,其中,在存储器时钟的上升和下降访问上传输数据。此DDR存储器控制器允许在不增加时钟速率或不增加总线宽度的情况下向存储器双倍传输数据。DDR2使最小读或写单元加倍至四个连续字。DDR3将最小读或写单元再次加倍至八个连续字。这在不必改变内部操作的时钟速率、仅仅是宽度的情况下提供了带宽和外部总线速率的另一加倍。此增加的读或写单元的不利方面是等待时间的增加。
虽然访问SDRAM的存储器控制器和方法是已知的,且访问例如 ST-MRAM的其他类型的存储器的存储器控制器和方法是已知的,但并不知晓描述单个存储器控制器对SDRAM和ST-MRAM二者访问和交错。ST-MRAM利用替换方法以便对磁性隧道结(MTJ)元件进行编程,其具有进一步简化MRAM存储单元并降低写功率的潜力。不同于其中借助于外场来执行编程的常规MRAM,ST-MRAM编程是通过驱动电流直接地通过MTJ以改变自由层的极化方向来实现的。
DDR3ST-MRAM具有比DDR3DRAM更长的激活和预充电操作等待时间。在激活操作期间,从存储器阵列读取一页数据并存储在本地数据仓库锁存器中以用于到本地数据仓库锁存器的后续读和写操作。激活操作可以由激活命令或执行相同操作的任何其他命令发起。在预充电操作期间,来自本地数据仓库锁存器的数据被写回到存储器阵列,并且作为结果,该页在没有新的激活操作的情况下被认为是关闭或不可访问的。预充电操作可以由预充电或自动-预充电命令或执行相同操作的任何其他命令发起。除激活和预充电操作等待时间之外, ST-MRAM的页面尺寸(例如512位)小于DRAM的页面尺寸(达到16k位)。因此,ST-MRAM中的打开页面在ST-MRAM芯片中的本地数据仓库锁存器中具有较少数量的位。由于页面尺寸差异,在对 ST-MRAM的激活操作之后读或写整个页面的读和写操作(响应于读或写命令的操作,从或向本地数据仓库锁存器读或写较小组的数据位,例如128位)的数目小于DRAM的操作的数目。当系统使用DDR3 ST-MRAM和DRAM(由于存储器的高密度或来自ST-MRAM存储器部分要求的非易失性)二者时,将需要两个或更多存储器控制器以管理ST-MRAM和DRAM中的不同等待时间和页面尺寸。除现有 DDR3DRAM通道之外,DDR3ST-MRAM还将需要与其自己的存储器控制器相关联的专用通道(更多地址、数据、控制引脚和路由)。
相应地,期望的是提供用于在序列或通道级上使由SDRAM和 ST-MRAM组成的存储器交错并减少其等待时间的存储器控制器和方法。此外,根据结合附图及前述技术领域和背景技术进行的后续详细描述和所附权利要求,示例性实施例的其他期望特征和特性将变得显而易见。
发明内容
提出了用于单独编程的激活和预充电等待时间以及用于非易失性存储器的页面尺寸的使易失性和非易失性存储器访问交错的设备和方法。
一种存储器系统包括:存储器,包括包括第一部分和第二部分的多个易失性存储器组;以及至少一个非易失性存储器组,包括与第一部分和第二部分以序列或列中的一个配置的至少第三部分;以及存储器控制器,被耦合到易失性存储器组和非易失性存储器组,并被配置成使激活、读、写和预充电操作对第一、第二和第三部分的应用同步。
使易失性和非易失性存储器访问交错的第一示例性方法包括包括第一部分和第二部分的多个易失性存储器组以及至少一个非易失性存储器组,该非易失性存储器组包括与第一部分和第二部分以序列或列中的一个配置的至少第三部分,该方法包括使激活、读、写和预充电操作对第一、第二和第三部分的应用同步。
使易失性和非易失性存储器访问交错的第二示例性方法包括a) 接收激活操作发起命令;b)确定序列地址是否等于非易失性存储器序列地址;c)如果步骤b)为否,则在易失性存储器序列中发起激活操作;d)将易失性存储器等待时间计数器复位为A;e)如果A不等于易失性存储器等待时间,则增量A并重复步骤e);f)如果A等于易失性存储器等待时间,则执行易失性存储器读/写操作;g)发起易失性存储器预充电操作;h)将易失性存储器预充电等待时间计数器复位为B;i)如果B不等于易失性存储器预充电等待时间,则增量B 并重复步骤i)直至B等于易失性存储器预充电等待时间;j)如果步骤b)为是,则在非易失性存储器序列中发起激活操作;k)将非易失性存储器激活等待时间计数器复位为C;l)如果C不等于非易失性存储器等待时间,则增量C并重复步骤l);m)如果C等于非易失性存储器等待时间,则执行非易失性存储器读/写操作;n)发起非易失性存储器预充电操作;o)将非易失性存储器预充电等待时间计数器复位为D;以及p)如果D不等于非易失性存储器预充电等待时间,则增量D并重复步骤p)直至D等于非易失性存储器预充电等待时间。
使易失性和非易失性存储器访问交错的第三示例性方法包括使易失性和非易失性存储器访问交错,包括a)在易失性存储器序列和非易失性存储器序列中发起激活操作;b)将易失性存储器激活等待时间计数器复位为A;c)如果A不等于易失性存储器激活等待时间,则增量A并重复步骤c);d)如果A等于易失性存储器,执行易失性存储器读/写操作;e)发起易失性存储器预充电操作;f)将易失性存储器预充电等待时间计数器复位为B;g)如果B不等于易失性存储器预充电等待时间,则增量B并重复步骤g)直至B等于易失性存储器预充电等待时间;h)在步骤a)之后,将非易失性存储器激活等待时间计数器复位为C;i)如果C不等于非易失性存储器等待时间,则增量C并重复步骤i);j)如果C等于非易失性存储器等待时间,则执行非易失性存储器读/写操作;k)发起非易失性存储器预充电操作;l)将非易失性存储器预充电等待时间计数器复位为D;以及m) 如果D不等于非易失性存储器预充电等待时间,则增量D并重复m) 直至D等于非易失性存储器预充电等待时间。
使易失性和非易失性存储器访问交错的第四示例性方法包括a) 在非易失性存储器和易失性存储器中发起激活操作;b)将非易失性存储器激活等待时间计数器设置成C;c)将非易失性存储器已激活标志设置成NO;d)如果C不等于非易失性存储器激活等待时间,则增量C并重复步骤d);e)如果C等于非易失性存储器激活等待时间,则将非易失性存储器已激活标志设置成YES;f)在步骤a)之后,将易失性存储器激活等待时间计数器设置成A;g)如果A不等于易失性存储器激活等待时间,则增量A并重复步骤g);h)如果A等于易失性存储器激活等待时间,则发起读/写操作;i)如果非易失性存储器已激活标志是NO,则将易失性存储器的数据总线部分识别为有效并完成仅用于易失性存储器的读/写操作;j)如果非易失性存储器已激活标志是YES,则将非易失性存储器和易失性存储器的数据总线部分识别为有效并完成易失性和非易失性存储器二者的读/写操作;k) 如果存在未决的更多读/写操作,则发起读/写操作并从步骤i)开始重复;l)如果不再有未决的读/写操作,则在非易失性存储器和易失性存储器中发起预充电操作;m)将易失性存储器预充电等待时间计数器复位为B;n)如果B不等于易失性存储器预充电等待时间,则增量B并重复步骤n)直至B等于易失性存储器预充电等待时间;o) 在步骤l)之后,将非易失性存储器预充电等待时间计数器复位为D; p)如果D不等于非易失性预充电等待时间,则增量D并重复步骤p) 直至D等于非易失性预充电等待时间。
附图说明
下面将结合以下附图来描述本发明,其中,相似的附图标记表示相似的元件,并且
图1是根据第一示例性实施例的处理器与存储器之间的存储器控制器的方框图;
图2是为其配置第一示例性实施例的第一示例性方法的流程图;
图3是为其配置第二示例性实施例的第一示例性方法的流程图;
图4是根据第二示例性实施例的处理器与存储器之间的存储器控制器的方框图;
图5是根据第三示例性实施例的处理器与存储器之间的存储器控制器的方框图;
图6是为其配置第二和第三示例性实施例的第三示例性方法的流程图;以及
图7是根据示例性实施例的存储器控制器的方框图。
具体实施方式
以下详细描述本质上仅仅是说明性的,并且并不意图限制本主题或本申请的实施例和此类实施例的使用。在本文中被描述为示例性的任何实施方式不一定被理解为相比于其他实施方式而言是优选的或有利的。此外,不存在受到在前述技术领域、背景技术、发明内容和以下详细描述中提出的任何明示或默示理论的束缚的意图。
描述了存储器互连系统和方法,其中,主机芯片或可独立应用的芯片中的单个DDR3存储器控制器与许多存储器模块通信,所述许多存储器模块包括与动态随机存取存储器(DRAM)集成在不同的序列或通道中的至少一个自旋扭矩磁随机存取存储器(ST-MRAM)。虽然根据DRAM和ST-MRAM描述了示例性实施例,但该实施例将包括存储器系统,该存储器系统包括具有不同等待时间和页面尺寸的任何不同类型的存储器,例如易失性和非易失性存储器。
根据第一实施例,ST-MRAM与DRAM序列交错,其中,一序列的ST-MRAM芯片与来自另一DRAM芯片序列的那些DRAM芯片共享地址和数据总线。为每个序列提供了单独的芯片选择(CS)线。在用于DRAM和ST-MRAM两个序列的CS为高的情况下,可以同时地在DRAM和ST-MRAM二者中发起用于一个地址的激活操作。 DRAM序列中的激活操作将比在ST-MRAM序列中更早地完成。因此,存储器控制器通过一旦DRAM激活操作完成就断言适当的CS 信号而仅在DRAM序列中发起读或写操作。ST-MRAM序列中的激活操作在此时间期间可以正在进行中。稍后当ST-MRAM的激活操作完成时,发起对ST-MRAM序列的读或写操作。这使得能够在没有由于较长等待时间ST-MRAM而引起的减慢的情况下实现无缝DRAM 访问。DDR3存储器控制器包括用于激活和预充电等待时间及用于 ST-MRAM的页面尺寸的可编程寄存器。存储器控制器还包括用于 ST-MRAM的序列地址的可编程寄存器。可以在运行时间期间通过软件对这些寄存器进行编程。当DDR3存储器控制器从主机芯片接收到存储器访问命令时,其将存储器地址的序列地址部分与ST-MRAM可编程序列地址寄存器相比较。如果序列地址指示ST-MRAM存储器访问,则控制器从可编程寄存器检索激活、预充电等待时间以及页面尺寸。控制器的硬件实施方式还将包含与DRAM分开的用于ST-MRAM 的激活和预充电超时计数器,以指示相应的存储器激活和预充电完成的时间。
根据存储器互连系统的第二和第三实施例,ST-MRAM数据通道与DRAM交错,其中,数据总线的仅一部分被连接到ST-MRAM,而其余部分被连接到DRAM。地址总线被与ST-MRAM和DRAM二者共享。CS控制信号对于第二实施例而言可以是共享的,或者对于第三实施例而言可以是分开的。对于第二和第三两个实施例而言,在CS 为高的情况下,可以同时地在DRAM和ST-MRAM二者中发起用于一个地址的激活操作。DRAM中的激活操作将比在ST-MRAM中更早地完成。随后,存储器控制器在共享CS信号的情况下在DRAM和 ST-MRAM二者中发起读或写操作。被连接到DRAM的那部分数据总线将提供正确的读数据,而被连接到ST-MRAM的那部分数据总线将不会提供正确的读数据,因为ST-MRAM中的激活操作尚未完成。存储器控制器将忽视来自ST-MRAM的那部分数据,而仅将DRAM 的数据总线用于有效数据。来自ST-MRAM的那部分数据稍后在 ST-MRAM激活操作完成之后被读取。
DDR3存储器控制器包括用于激活和预充电等待时间及用于 ST-MRAM的页面尺寸的可编程寄存器。存储器控制器还包括用于 ST-MRAM的数据通道地址的可编程寄存器。可以在运行时间期间通过软件对这些寄存器进行编程。当DDDR3存储器控制器从主机芯片接收到存储器访问命令时,其从用于连接有ST-MRAM的数据通道的上述可编程寄存器检索激活、预充电等待时间和页面尺寸。数据通道的其余部分遵循DRAM等待时间和页面尺寸。控制器的硬件实施方式还将包含与DRAM分开的用于ST-MRAM的激活和PRECHAGE 超时计数器,以指示相应的存储器激活和预充电完成的时间。
对于在本文中描述的存储器互连系统的任何实施例而言,DDR3 存储器控制器还包含用于将来自主机芯片的存储器命令排队的队列。存储器命令可以由于其独有的序列或通道地址而被分类到DRAM和 ST-MRAM存储器访问。用于存储器控制器的操作方法包括以下操作排队和发起算法:(a)ST-MRAM激活操作可以从激活操作的队列中比DRAM激活操作更早地被发起,(b)控制器中的ST-MRAM激活操作忙碌标志(由超时计数器提供)将ST-MRAM读/写操作排队,同时DRAM存储器访问操作可被发起,(c)在在ST-MRAM中发起预充电操作以关闭开放行之前,ST-MRAM中的更多读/写操作被排成队。由于ST-MRAM中的较长激活和预充电操作等待时间,排队算法等待并将更高数目(高于DRAM的)的读/写操作排队以保证在关闭开放行之前不存在用于已开放ST-MRAM行的未决读/写操作;因此,ST-MRAM预充电操作不如DRAM预充电操作那么频繁,(d) 在ST-MRAM和DRAM预充电操作的系列中,可以更早地发起ST-MRAM预充电操作以隐藏较长的等待时间;(e)当从ST-MRAM 和DRAM请求全页面访问时,由于与DRAM的页面尺寸差异,用于开放页面的ST-MRAM存储器读/写操作被执行不同的次数。
在本文中可以根据功能和/或逻辑块部件并参考可以由各种计算部件或设备执行的操作、处理任务以及功能的符号表示来描述技术和工艺。此类操作、任务以及功能有时被称为计算机执行的、计算机化的、软件实现的或计算机实现的。实际上,一个或多个处理器设备可以通过操作表示系统存储器中的存储器位置处的数据位的电信号来执行所述操作、任务和功能以及信号的其他处理。其中保持数据位的存储器位置是具有对应于该数据位的特定电、磁、光、电阻或有机性质的物理位置。应认识到的是图中所示的各种时钟部件可以用被配置成执行指定功能的任何数目的硬件、软件和/或固件部件来实现。例如,系统或部件的实施例可以采用各种集成电路部件,例如存储器元件、数字信号处理元件、逻辑元件、查找表等,其可以在一个或多个微处理器或其他控制器件的控制下执行多种功能。
为了简短起见,在本文中可能未详细地描述与数据处理有关的常规技术以及某些系统和子系统(及其单独操作部件)的其他功能方面。此外,包含在本文中的各种图中所示的连接线意图表示各种元件之间的示例性功能关系和/或物理耦合。应注意的是在本主题的实施例中可以存在许多替换或附加功能关系或物理连接。
图1是包括使数据传输在处理器104与存储器106之间交错的存储器控制器102的存储器系统100的第一示例性实施例的方框图。存储器控制器102和处理器104可以存在于同一芯片108上,并且其可以存在于单独芯片(未示出)上。存储器106包括第一序列112的易失性存储器114,优选地为DRAM,以及将磁隧道结用于数据存储的第二序列116的非易失性存储器118,优选地为ST-MRAM。易失性存储器114包括多个易失性存储器元件122,每个易失性存储器元件 122包括多个易失性存储器组124。非易失性存储器118包括至少一个非易失性存储器元件126,每个非易失性存储器元件126包括多个非易失性存储器组128。
第一和第二CS线路132、133分别地从存储器控制器102向每个易失性存储器元件122提供第一和第二CS信号,并且第一和第二CS 线路134、135分别地从存储器控制器102向每个非易失性存储器元件 126提供第一和第二CS信号。在另一实施例(未示出)中,第一和第二CS线路132、133可以是从存储器控制器102到每个易失性存储器元件122的同一个CS线路,并且第一和第二CS线路134、135可以是从存储器控制器102到每个非易失性存储器元件126的同一个CS 线路。第一地址/数据总线136将存储器控制器102耦合到易失性存储器元件122中的一个和非易失性存储器元件126中的一个。同样地,第二地址/数据总线138将存储器控制器102耦合到易失性存储器元件 122中的一个和非易失性存储器元件126中的一个。虽然仅示出了两个地址/数据总线136、138,但应理解的是多个地址/数据总线中的每一个耦合一对易失性和非易失性存储器元件122、126中的每一个。
非易失性存储器118与易失性存储器114序列交错,其中,非易失性存储器芯片的序列与来自易失性存储器芯片的另一序列的那些共享地址和数据总线。为每个序列提供了单独的CS线132、134。在用于两个序列的CS为高的情况下,可以同时地在易失性存储器114和非易失存储器118二者中发起用于一个地址的激活操作。易失性存储器序列112中的激活操作将比在非易失性存储器序列116中的更早地完成。因此,存储器控制器102通过一旦易失性存储器激活操作完成就断言CS信号而仅在易失性存储器序列112中发起读或写操作。非易失性存储器序列116中的激活操作在此时间期间可以正在进行中。稍后当非易失性存储器的激活操作完成时,发起非易失性存储器序列 116中的读或写操作。这使得能够没有由于较长等待时间非易失性存储器而引起的减慢的情况下实现无缝易失性存储器访问。
图2、3和6是图示出适合于使用存储器控制器以便使DRAM和 MRAM访问交错的方法200、300、600的示例性实施例的流程图。结合方法200、300、600执行的各种任务可以由软件、硬件、固件或其任何组合来执行。出于说明性目的,方法200、300的以下描述可以参考上文结合图1所述的元件,并且方法600的描述可以参考随后结合图4和5所述的元件。实际上,可以由所述系统的不同元件,例如,处理器、显示器元件或数据通信部件来执行方法200、300、600的各部分。应认识到的是方法200、300、600可以包括任何数目的附加或替换任务,图2、3、6中所示的任务不需要按照所示顺序来执行,并且可以将方法200、300、600集成到具有在本文中未详细描述的附加功能的更全面的程序或过程中。此外,可以将图1、4、5中所示的任务中的一个或多个从方法200、300、600的实施例省略,只要预定的总体功能保持完整即可。
参考图2,用于单个激活操作、后面是图1的实施例的读/写和预充电操作的操作的第一示例性方法200的流程图,包括通过发布激活命令发起激活操作202,确定序列地址是否等于ST-MRAM地址204。如果不是,则向DRAM序列发布激活命令206,DRAM序列在DRAM 序列中发起激活操作,并且将DRAM激活等待时间计数器A复位 208。如果DRAM激活等待时间计数器A不等于DRAM激活等待时间210,则将DRAM激活等待时间计数器A增量212。如果DRAM激活等待时间计数器A等于DRAM激活等待时间210,则发布214 DRAM读/写命令以发起DRAM读/写操作,发布216DRAM预充电命令以发起DRAM预充电操作,并且将DRAM预充电等待时间计数器B复位218。如果DRAM预充电等待时间计数器B不等于DRAM 预充电等待时间220,则将DRAM预充电等待时间计数器B增量222。如果是,则过程200完成。
返回参考步骤204,如果序列地址等于ST-MRAM地址204,则向ST-MRAM序列发布224激活命令以在ST-MRAM序列中发起激活操作,并且将ST-MRAM激活等待时间计数器C复位226。如果 ST-MRAM激活等待时间计数器C不等于ST-MRAM激活等待时间 228,则将ST-MRAMACTIVAT等待时间计数器C增量230。如果 ST-MRAM激活等待时间计数器C确实等于ST-MRAM激活等待时间228,则发布232ST-MRAM读/写命令以在ST-MRAM中发起读/ 写操作,发布234ST-MRAM预充电命令以在ST-MRAM中发起预充电操作,并将ST-MRAM预充电等待时间计数器D复位236。如果 ST-MRAM预充电等待时间计数器D不等于ST-MRAM预充电等待时间238,则将ST-MRAM预充电等待时间计数器D增量240。如果 ST-MRAM预充电等待时间计数器D确实等于ST-MRAM预充电等待时间238,则过程200完成。
参考图3,是用于同时发布激活命令的操作的第二示例性方法300 的流程图,同时发布激活命令的操作用于同时发起激活操作、后面是对图1的实施例的交错DRAM和ST-MRAM二者的读/写和预充电操作。方法300包括向DRAM和ST-MRAM序列发布302激活命令以在DRAM和ST-MRAM序列二者中发起激活操作。将DRAM激活等待时间计数器A复位304,并且如果DRAM激活等待时间计数器 A不等于DRAM激活等待时间306,则将DRAM激活等待时间计数器A增量308。如果DRAM激活等待时间计数器A确实等于DRAM 激活等待时间306,则发布310DRAM读/写命令以发起DRAM读/ 写操作,发布312DRAM预充电命令以发起DRAM预充电操作,并将DRAM预充电等待时间计数器B复位314。如果DRAM预充电等待时间计数器B不等于DRAM预充电等待时间316,则将DRAM 预充电等待时间计数器B增量318。
返回参考步骤302,当发布激活命令时,将ST-MRAM激活等待时间计数器C复位320。如果ST-MRAM激活等待时间计数器C 不等于ST-MRAM激活等待时间322,则将ST-MRAM激活等待时间计数器C增量324。如果ST-MRAM激活等待时间计数器C确实等于ST-MRAM激活等待时间322,则发布326ST-MRAM读/写命令以发起ST-MRAM读/写操作,发布328ST-MRAM预充电命令以发起ST-MRAM预充电操作,并将ST-MRAM预充电等待时间计数器D复位330。如果ST-MRAM预充电等待时间计数器D不等于 ST-MRAM预充电等待时间332,则将ST-MRAM预充电等待时间计数器D增量334。当ST-MRAM预充电等待时间计数器D等于 ST-MRAM预充电等待时间332时,并且当DRAM预充电等待时间计数器B等于DRAM预充电等待时间316时,该过程完成。
图3的这种方法图示出用于同时激活操作的激活命令的同时发布作为示例。激活操作还可以接连地发起。还可以针对同时的预充电操作同时地发布到DRAM和ST-MRAM二者的预充电或自动-预充电命令。
图4是包括使数据传输在处理器404与存储器406之间交错的存储器控制器402的存储器系统400的第二示例性实施例的方框图。存储器控制器402和处理器404可以存在于同一芯片408上,并且其可以存在于单独芯片(未示出)上。存储器406包括多个易失性存储器元件414,优选地DRAM,以及使用磁隧道结以用于数据存储的至少一个非易失性存储器元件418,优选地ST-MRAM。易失性存储器414 包括多个易失性存储器元件422,每个易失性存储器元件包括多个易失性存储器组424。非易失性存储器包括至少一个非易失性存储器元件426,每个非易失性存储器元件包括多个非易失性存储器组428。
CS线432从存储器控制器402向每个易失性存储器元件422和每个非易失性存储器元件426提供CS信号。地址总线437将存储器控制器402耦合到每个易失性存储器元件422和每个非易失性存储器元件426。第一数据线439将存储器控制器402耦合到易失性存储器元件424中的一个且第二数据线440将存储器控制器402耦合到非易失性存储器元件426中的一个。虽然仅示出了两个数据线439、440,但应理解的是多个数据线中的每一个分别地耦合易失性和非易失性存储器元件424、426中的每一个。
在操作中,第一数据总线439被连接到易失性存储器414,而第二部分440被连接到非易失性存储器418。地址总线437被非易失性存储器418和易失性存储器414二者共享。CS线432被耦合到易失性存储器414和非易失性存储器418。在CS为高的情况下,可以同时地在易失性存储器414和非易失性存储器418二者中发起用于一个地址的激活操作。易失性存储器414中的激活操作将比在非易失性存储器 418中的更早地完成。随后,存储器控制器402在易失性存储器414 和非易失性存储器418二者中发起读或写操作。被连接到易失性存储器414的数据总线439将提供正确的读数据,而被连接到非易失性存储器418的数据总线440将不会提供正确的读数据,因为非易失性存储器418中的激活操作尚未完成。存储器控制器402将忽视来自非易失性存储器418的那部分数据且仅使用易失性存储器414的数据总线439用于有效数据。在非易失性存储器激活操作完成之后读取来自非易失性存储器418的数据。
图5是包括使数据传输在处理器504与存储器506之间交错的存储器控制器502的存储器系统500的第三示例性实施例的方框图。存储器控制器502和处理器504可以存在于同一芯片508上,并且其可以存在于单独芯片(未示出)上。存储器506包括多个易失性存储器元件514,优选地为DRAM,以及使用磁隧道结以用于数据存储的至少一个非易失性存储器元件518,优选地为ST-MRAM。易失性存储器514包括多个易失性存储器元件522,每个易失性存储器元件包括多个易失性存储器组524。非易失性存储器包括多个非易失性存储器元件526,每个非易失性存储器元件包括多个非易失性存储器组528。
第一CS线532从存储器控制器502向每个易失性存储器元件522 提供第一CS信号,并且第二CS线533从存储器控制器502向每个非易失性存储器元件526提供第二CS信号。地址总线537将存储器控制器502耦合到每个易失性存储器元件522和每个非易失性存储器元件526。第一数据线539将存储器控制器502耦合到易失性存储器元件522中的一个且第二数据线540将存储器控制器502耦合到非易失性存储器元件526中的一个。虽然仅示出了两个数据总线539、540,但应理解的是多个数据总线中的每一个分别地耦合易失性和非易失性存储器元件522、526中的每一个。
在操作中,数据总线539的第一部分与易失性存储器514耦合,并且数据总线540的第二部分耦合到非易失性存储器518。地址总线 537被非易失性存储器518和易失性存储器514二者共享。第一CS 线532被与易失性存储器514耦合且第二CS线533被耦合到非易失性存储器518。在两个CS线532、533上的CS信号为高的情况下,可以同时地在易失性存储器514和非易失性存储器518二者中发起用于一个地址的激活操作。易失性存储器514中的激活操作将比在非易失性存储器518中的更早地完成。随后,存储器控制器502通过断言 CS线路532和533二者来在易失性存储器514和非易失性存储器518 二者中或通过断言CS线532而仅在易失性存储器514中发起读或写操作。被连接到易失性存储器514的那部分数据总线将提供正确的读数据,而被连接到非易失性存储器518的那部分数据总线将不会提供正确的读数据,因为非易失性存储器518中的激活操作尚未完成。存储器控制器502将忽视来自非易失性存储器518的那部分数据且仅将易失性存储器514的数据总线用于有效数据。在非易失存储器518激活操作完成之后,读取来自非易失性存储器518的那部分数据。在访问来自非易失性存储器518的那部分数据的同时,存储器控制器502 通过断言CS线532和533二者而在易失性存储器514和非易失性存储器518二者中或者通过断言CS线533而仅在非易失性存储器518 中发起读或写操作。被连接到非易失性存储器518的那部分数据总线 540将提供正确的读数据。
参考图6,是用于同时发起激活命令的操作第二示例性方法600 的流程图,后面是对图4和5的实施例的交错DRAM和ST-MRAM 二者的读/写和预充电命令,包括向DRAM和ST-MRAM通道发布602 激活命令以在DRAM和ST-MRAM二者中发起激活操作。响应于此,在步骤604中,将ST-MRAM激活等待时间计数器C复位并将 ST-MRAM_激活D标志设置成NO(否)。如果ST-MRAM激活等待时间计数器C不等于ST-MRAM激活等待时间606,则将 ST-MRAM激活等待时间计数器C增量608。如果ST-MRAM激活等待时间计数器C等于ST-MRAM激活等待时间606,则将 ST-MRAM_已激活标志设置成YES(是)610。
将DRAM激活等待时间计数器A复位612,并且如果不等于 DRAM激活等待时间614,则将DRAM激活等待时间计数器增量 616。如果DRAM激活等待时间计数器A等于DRAM激活等待时间 614,则发布617读/写命令以发起读/写操作。如果ST-MRAM_已激活标志不是YES618,则响应于最近发布的读/写命令617将DRAM 的数据总线部分设置为有效620,并重复步骤617。如果在步骤618 中,ST-MRAM_已激活D标志是YES,则响应于最近发布的读/写命令617将DRAM和ST-MRAM二者的数据总线部分设置为有效622。如果存在用于激活命令602的未决的更多读/写命令624,则重复步骤 617,但是如果为NO,则发布预充电命令626以同时地在DRAM和 ST-MRAM中发起预充电操作并发起步骤628和634。在步骤628中,将DRAM预充电等待时间计数器B复位,并且如果DRAM预充电等待时间计数器B不等于DRAM预充电等待时间,则将DRAM预充电等待时间计数器B增量632。如果DRAM预充电等待时间计数器B等于DRAM预充电等待时间630。在步骤634中,将ST-MRAM 预充电等待时间计数器D复位,并且如果不等于ST-MRAM预充电等待时间,则将其增量638。当ST-MRAM预充电等待时间计数器D 等于ST-MRAM预充电等待时间636时,并且当DRAM预充电等待时间计数器B等于DRAM预充电等待时间630时,该过程完成。
耦合在处理器104与存储器106之间的存储器系统700的存储器控制器702包括可编程寄存器ST-MRAM定时寄存器704以单独地对用于ST-MRAM的激活和预充电等待时间进行编程。在DRAM定时寄存器706中对DRAM定时等待时间进行编程。存储器控制器702 还包括ST-MRAM通道/序列地址寄存器708以对哪个序列或通道地址ST-MRAM被连接进行编程。存储器控制器还包括可编程寄存器 ST-MRAM页面尺寸寄存器712以与DRAM分开地对用于ST-MRAM 的页面尺寸进行编程。在DRAM页面尺寸寄存器714中对DRAM页面尺寸进行编程。可以通过软件在运行时间期间对上述寄存器进行编程,或者可以在系统启动时间期间从另一非易失性存储器源或熔丝 (fuse)加载。
存储器控制器702还可以包括ST-MRAM通道/序列地址映射逻辑716,其在从主机芯片718的任何输入存储器访问中将序列或通道地址解码以识别该访问是否是对于ST-MRAM的。当DDR3存储器控制器702从主机芯片718接收到存储器访问命令时,在图1中所示的序列交错的情况下,其将存储器地址的序列地址部分与非易失性存储器可编程ST-MRAM通道/序列地址寄存器708相比较。如果序列地址指示非易失性存储器访问,则存储器控制器702从可编程 ST-MRAM定时寄存器704和ST-MRAM页面尺寸寄存器712检索激活、预充电等待时间和页面尺寸。在图4和5中所示的通道交错的情况下,当DDR3存储器控制器702从主机芯片718接收到存储器访问命令时,其将存储器地址的通道地址部分与非易失性存储器可编程ST-MRAM通道/序列地址寄存器708相比较。如果通道地址指示非易失性存储器访问,则存储器控制器702从可编程ST-MRAM定时寄存器704和ST-MRAM页面尺寸寄存器712检索激活、预充电等待时间和页面尺寸。
存储器控制器702的硬件实施方式还将包含用于非易失性存储器而不是易失性存储器的被耦合到用于ST-MRAM 720的激活和预充电超时计数器的ST-MRAM活动(Live)激活和预充电地址寄存器728 以指示何时相应的非易失性存储器激活和预充电完成。用于易失性存储器的被耦合到用于DRAM 724的激活和预充电超时计数器的单独 DRAM活动激活和预充电地址寄存器722指示相应的易失性存储器激活和预充电何时完成。因此,单独地管理用于非易失性和易失性存储器的不同等待时间以增加存储器系统的带宽。
存储器控制器702的硬件实施方式还包含存储器访问排序器 726,其将来自主机芯片718的存储器访问命令排队并发布易失性和非易失性存储器命令以发起用于增加的带宽的易失性和非易失性存储器操作。存储器命令和关联操作由于其独有的序列或通道地址可以被分类到DRAM(易失性)和ST-MRAM(非易失性)存储器访问中。存储器访问排序器726实现了用于存储器控制器的操作方法,其包括以下操作排队和发起算法:(a)ST-MRAM激活操作可以从激活操作的队列中比DRAM激活操作更早地被发起,(b)控制器中的 ST-MRAM激活操作忙碌标志(由超时计数器提供)将ST-MRAM 读/写操作排队,同时DRAM存储器访问操作可被发起,(c)在在 ST-MRAM中发起预充电操作以关闭开放行之前,使ST-MRAM中的更多读/写操作排成队。由于ST-MRAM中的较长激活和预充电操作等待时间,排队算法等待并将更高数目(高于DRAM)的读/写操作排队以保证在关闭开放行之前在已开放ST-MRAM行中没有未决读/ 写操作;因此,ST-MRAM预充电操作不如DRAM预充电操作那么频繁,(d)在ST-MRAM和DRAM预充电操作的序列中,可以更早地发起ST-MRAM预充电操作以隐藏较长的等待时间;(e)当从 ST-MRAM和DRAM请求全页面访问时,,用于一个开放页面的 ST-MRAM存储器读/写操作由于与DRAM的页面尺寸差异被执行不同的次数。
可以使用有限状态机和逻辑电路来完成用于存储器访问排序器 726、ST-MRAM活动激活和预充电地址寄存器728、用于ST-MRAM 的激活和预充电超时计数器720、DRAM活动激活和预充电地址寄存器722以及用于DRAM的激活和预充电超时计数器724的硬件实施方式。存储器控制器702可以包含其他块。
处理器104可以用通用目的的处理器、内容可访问存储器、数字信号处理器、专用集成电路、现场可编程门阵列、任何适当的可编程逻辑器件、离散门或晶体管逻辑、离散硬件部件或被设计成执行本文所述功能的任何组合来实施或实现。处理器器件可以实现为微处理器、控制器、微控制器或状态机。此外,处理器器件可以实现为计算设备的组合,例如数字信号处理器和微处理器、多个微处理器、与数字信号处理器核相结合的一个或多个微处理器或任何其他此类配置的组合。
虽然在本文中公开的所述示例性实施例针对各种存储器结构,但本发明不一定局限于示例性实施例,该示例性实施例图示出可适用于多种半导体器件的本发明的发明方面。因此,上文公开的特定实施例仅仅是说明性的,并且不应将其理解为对本发明的限制,因为可以以对于受益于本文中的讲授内容的本领域的技术人员而言显而易见的不同但等价的方式来修改和实施本发明。因此,先前的描述并不意图使本发明局限于所阐述的特定形式,相反,意图覆盖可以包括在由所附权利要求定义的本发明的精神和范围内的此类替换、修改和等价物,因此本领域的技术人员应理解的是其可以在不脱离采取其最宽泛形式的本发明的精神和范围的情况下进行各种变更、置换和更改。
上文已相对于特定实施例描述了益处、其他优点以及问题的解决方案。然而,不应将该益处、优点、问题的解决方案以及可以促使任何益处、优点或解决方案发生或变得更加明显的任何元素理解为任何或所有权利要求的关键、所需或必不可少的特征或元素。在本文中所使用的术语“包括”、“包含”或其任何其他变体意图覆盖非排他性包括,使得包括一列元件的过程、方法、制品或设备不仅包括该元件,而且可以包括未明确列出或此类过程、方法、制品或设备所固有的其他元件。
虽然在前述详细描述中已提出了至少一个示例性实施例,但应认识到的是存在许多的变体。还应认识到的是示例性实施例仅仅是示例,并且并不意图以任何方式限制本发明的范围、可适用性或配置。相反,前述详细描述将为本领域的技术人员提供用于实现本发明的示例性实施例的方便指导方针,应理解的是在不脱离如在所附权利要求中所阐述的本发明的范围的情况下可以对在示例性实施例中描述的元件的功能和布置方面进行各种改变。

Claims (20)

1.一种存储器系统,包括:
易失性存储器,包括易失性存储器阵列,其中在对所述易失性存储器的激活操作期间,所述易失性存储器被配置为从所述易失性存储器阵列读取一页易失性数据并将该页易失性数据存储在所述易失性存储器的数据仓库锁存器中;
非易失性存储器,包括非易失性存储器阵列,其中在对所述非易失性存储器的激活操作期间,所述非易失性存储器被配置为从所述非易失性存储器阵列读取一页非易失性数据并将该页非易失性数据存储在所述非易失性存储器的数据仓库锁存器中,其中所述非易失性存储器的激活等待时间比所述易失性存储器的激活等待时间长;
耦合到所述易失性存储器和所述非易失性存储器的共享数据总线;
耦合到所述易失性存储器和所述非易失性存储器的共享地址总线;以及
耦合到所述共享数据总线和所述共享地址总线的存储器控制器,所述存储器控制器被配置为:
发起在所述易失性存储器和所述非易失性存储器中的激活操作,包括从所述存储器控制器通过所述共享地址总线向所述易失性存储器和所述非易失性存储器二者都发送用于所述激活操作的地址;以及
发起对所述易失性存储器和所述非易失性存储器的读取操作,其中所述存储器控制器被配置为通过所述共享数据总线接收用于对所述易失性存储器和所述非易失性存储器的读取操作的数据。
2.根据权利要求1的存储器系统,其中,所述易失性存储器是动态随机存取存储器DRAM,以及所述非易失性存储器是自旋扭矩磁性随机存取存储器ST-MRAM。
3.根据权利要求2的存储器系统,其中,所述DRAM是DDR3 DRAM,以及所述ST-MRAM是DDR3 ST-MRAM,以使得所述易失性存储器和所述非易失性存储器二者都被配置为接收DDR3激活命令和DDR3预充电命令。
4.根据权利要求1的存储器系统,还包括:
耦合到所述易失性存储器和所述存储器控制器的第一芯片选择信号,其中发起在所述易失性存储器中的激活操作或读取操作包括断言所述第一芯片选择信号;和
耦合到所述非易失性存储器和所述存储器控制器的第二芯片选择信号,其中发起在所述非易失性存储器中的激活操作或读取操作包括断言所述第二芯片选择信号。
5.根据权利要求4的存储器系统,其中,所述存储器控制器还包括:
第一寄存器,存储所述易失性存储器的激活等待时间;和
第二寄存器,存储所述非易失性存储器的激活等待时间。
6.根据权利要求5的存储器系统,其中所述第一寄存器和所述第二寄存器是可编程寄存器。
7.根据权利要求1的存储器系统,其中所述存储器控制器还被配置为:
在所述易失性存储器中的激活操作完成后且在所述非易失性存储器中的激活操作正在进行时,发起仅在所述易失性存储器中的读取操作。
8.根据权利要求7的存储器系统,还包括:
耦合到所述易失性存储器和所述存储器控制器的第一芯片选择信号,其中发起在所述易失性存储器中的激活操作和读取操作包括断言所述第一芯片选择信号;和
耦合到所述非易失性存储器和所述存储器控制器的第二芯片选择信号,其中发起在所述非易失性存储器中的激活操作包括断言所述第二芯片选择信号。
9.根据权利要求7的存储器系统,其中所述存储器控制器还被配置为:
在所述易失性存储器中的激活操作完成后,发起仅在所述易失性存储器中的写操作。
10.根据权利要求1的存储器系统,其中所述存储器控制器还包括存储所述易失性存储器和所述非易失性存储器的预充电等待时间的寄存器。
11.根据权利要求1的存储器系统,其中所述存储器控制器还包括存储所述非易失性存储器的页面尺寸的寄存器。
12.一种存储器系统,包括:
易失性存储器,包括易失性存储器阵列,其中在对所述易失性存储器的激活操作期间,所述易失性存储器被配置为从所述易失性存储器阵列读取一页易失性数据并将该页易失性数据存储在所述易失性存储器的数据仓库锁存器中;
非易失性存储器,包括非易失性存储器阵列,其中在对所述非易失性存储器的激活操作期间,所述非易失性存储器被配置为从所述非易失性存储器阵列读取一页非易失性数据并将该页非易失性数据存储在所述非易失性存储器的数据仓库锁存器中,其中所述非易失性存储器的激活等待时间比所述易失性存储器的激活等待时间长;
耦合到所述易失性存储器和所述非易失性存储器的数据总线,其中所述数据总线的第一部分耦合到所述易失性存储器,所述数据总线的第二部分耦合到所述非易失性存储器;
耦合到所述易失性存储器和所述非易失性存储器的共享地址总线;以及
耦合到所述数据总线和所述共享地址总线的存储器控制器,所述存储器控制器被配置为:
发起在所述易失性存储器和所述非易失性存储器中的激活操作,包括从所述存储器控制器通过所述共享地址总线向所述易失性存储器和所述非易失性存储器二者都发送用于每个激活操作的地址;以及
发起对所述易失性存储器和所述非易失性存储器的读取操作,其中所述存储器控制器被配置为通过所述数据总线的所述第一部分接收用于对所述易失性存储器的读取操作的数据,以及通过所述数据总线的所述第二部分接收用于对所述非易失性存储器的读取操作的数据。
13.根据权利要求12的存储器系统,还包括:
耦合到所述易失性存储器和所述存储器控制器的第一芯片选择信号,其中发起在所述易失性存储器中的激活操作或读取操作包括断言所述第一芯片选择信号;和
耦合到所述非易失性存储器和所述存储器控制器的第二芯片选择信号,其中发起在所述非易失性存储器中的激活操作或读取操作包括断言所述第二芯片选择信号。
14.根据权利要求12的存储器系统,其中,所述存储器控制器还包括:
第一寄存器,存储所述易失性存储器的激活等待时间;和
第二寄存器,存储所述非易失性存储器的激活等待时间。
15.根据权利要求12的存储器系统,还包括耦合到所述易失性存储器、所述非易失性存储器和所述存储器控制器的共享芯片选择信号,并且其中所述存储器控制器还被配置为:
发起针对同时在所述易失性存储器和所述非易失性存储器中的第一地址的激活操作,其中发起所述针对第一地址的激活操作包括所述存储器控制器断言所述共享芯片选择信号;
在针对所述易失性存储器中的所述第一地址的所述激活操作完成之后并且在针对所述非易失性存储器中的所述第一地址的所述激活操作完成之前,在所述易失性存储器和所述非易失性存储器二者中都发起读取操作,其中所述发起读取操作包括所述存储器控制器断言所述共享芯片选择信号;以及
从所述非易失性存储器中忽略与所述读取操作对应的数据部分,其中所述数据部分是从所述非易失性存储器通过所述数据总线的所述第二部分接收到的。
16.一种存储器控制器,包括:
第一寄存器,存储用于动态随机存取存储器DRAM的激活等待时间;
第二寄存器,存储用于自旋扭矩磁性随机存取存储器ST-MRAM的激活等待时间,其中用于ST-MRAM的激活等待时间比用于DRAM的激活等待时间长;以及
耦合到所述第一寄存器和所述第二寄存器的存储器访问排序器,其中所述存储器访问排序器被配置为:
在所述DRAM和所述ST-MRAM二者中发起激活,其中所述发起激活包括:
通过共享地址总线向所述DRAM和所述ST-MRAM输出地址;
断言与所述DRAM对应的第一芯片选择信号;
断言与所述ST-MRAM对应的第二芯片选择信号;以及
发起在所述DRAM中的读取操作,其中在在所述DRAM中的所述激活完成之后而在所述ST-MRAM中的所述激活正在进行时发起所述读取操作,其中发起在所述DRAM中的读取操作包括:
通过共享地址总线向所述DRAM和所述ST-MRAM输出地址;以及
断言与所述DRAM对应的第一芯片选择信号。
17.根据权利要求16的存储器控制器,还包括:
第三寄存器,存储用于所述ST-MRAM的预充电等待时间;
第四寄存器,存储用于所述DRAM的预充电等待时间;和
第五寄存器,存储用于所述ST-MRAM的页面尺寸。
18.根据权利要求16的存储器控制器,还包括:
用于将存储器命令排队的队列,其中所述存储器命令被分类到DRAM和ST-MRAM存储器访问。
19.根据权利要求16的存储器控制器,其中所述存储器访问排序器被实现为有限状态机。
20.根据权利要求16的存储器控制器,其中所述存储器访问排序器还被配置为发起在所述ST-MRAM中的写操作,其中在在所述ST-MRAM中的所述激活完成之后发起所述写操作,其中发起在所述ST-MRAM中的写操作包括:
通过共享地址总线向所述DRAM和所述ST-MRAM输出地址;以及
断言与所述ST-MRAM对应的第二芯片选择信号。
CN201610027385.XA 2010-12-17 2011-12-16 存储器系统和存储器控制器 Active CN105702277B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201061424355P 2010-12-17 2010-12-17
US61/424,355 2010-12-17
CN201180066332.4A CN103354939B (zh) 2010-12-17 2011-12-16 用于使dram和mram访问交错的存储器控制器和方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201180066332.4A Division CN103354939B (zh) 2010-12-17 2011-12-16 用于使dram和mram访问交错的存储器控制器和方法

Publications (2)

Publication Number Publication Date
CN105702277A CN105702277A (zh) 2016-06-22
CN105702277B true CN105702277B (zh) 2018-05-08

Family

ID=46234205

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201180066332.4A Active CN103354939B (zh) 2010-12-17 2011-12-16 用于使dram和mram访问交错的存储器控制器和方法
CN201610027385.XA Active CN105702277B (zh) 2010-12-17 2011-12-16 存储器系统和存储器控制器

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201180066332.4A Active CN103354939B (zh) 2010-12-17 2011-12-16 用于使dram和mram访问交错的存储器控制器和方法

Country Status (4)

Country Link
US (3) US9135965B2 (zh)
EP (2) EP3467832B1 (zh)
CN (2) CN103354939B (zh)
WO (1) WO2012083211A1 (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103354939B (zh) * 2010-12-17 2016-03-16 艾沃思宾技术公司 用于使dram和mram访问交错的存储器控制器和方法
US8607089B2 (en) 2011-05-19 2013-12-10 Intel Corporation Interface for storage device access over memory bus
KR20130134918A (ko) * 2012-05-31 2013-12-10 삼성전자주식회사 불휘발성 메모리를 포함하는 컴퓨터 시스템 및 컴퓨터 시스템의 동작방법
US9092327B2 (en) 2012-12-10 2015-07-28 Qualcomm Incorporated System and method for allocating memory to dissimilar memory devices using quality of service
US9110795B2 (en) 2012-12-10 2015-08-18 Qualcomm Incorporated System and method for dynamically allocating memory in a memory subsystem having asymmetric memory components
US8959298B2 (en) 2012-12-10 2015-02-17 Qualcomm Incorporated System and method for managing performance of a computing device having dissimilar memory types
US9378793B2 (en) 2012-12-20 2016-06-28 Qualcomm Incorporated Integrated MRAM module
CN105340017A (zh) * 2013-07-09 2016-02-17 惠普发展公司,有限责任合伙企业 对包括非兼容性存储器技术或与其接合的存储器模块的写入流控制
WO2015012858A1 (en) 2013-07-26 2015-01-29 Hewlett-Packard Development Company, L.P. First data in response to second read request
US9606916B2 (en) * 2013-09-13 2017-03-28 Samsung Electronics Co., Ltd. Semiconductor devices including application processor connected to high-bandwidth memory and low-bandwidth memory, and channel interleaving method thereof
US11551735B2 (en) 2015-03-11 2023-01-10 Rambus, Inc. High performance, non-volatile memory module
KR20170071872A (ko) * 2015-12-16 2017-06-26 삼성전자주식회사 메모리 컨트롤러, 전자 장치 및 메모리 컨트롤러의 제어 방법
US9837135B2 (en) 2016-03-03 2017-12-05 Samsung Electronics Co., Ltd. Methods for addressing high capacity SDRAM-like memory without increasing pin cost
US9830086B2 (en) * 2016-03-03 2017-11-28 Samsung Electronics Co., Ltd. Hybrid memory controller for arbitrating access to volatile and non-volatile memories in a hybrid memory group
KR102558947B1 (ko) * 2016-08-25 2023-07-25 에스케이하이닉스 주식회사 데이터 저장 장치
JP2018049381A (ja) * 2016-09-20 2018-03-29 東芝メモリ株式会社 メモリ制御回路、メモリシステムおよびプロセッサシステム
US10747463B2 (en) 2017-08-04 2020-08-18 Micron Technology, Inc. Apparatuses and methods for accessing hybrid memory system
US10394456B2 (en) 2017-08-23 2019-08-27 Micron Technology, Inc. On demand memory page size
US11210019B2 (en) * 2017-08-23 2021-12-28 Micron Technology, Inc. Memory with virtual page size
US10572168B2 (en) * 2017-11-16 2020-02-25 International Business Machines Corporation DRAM bank activation management
US10558613B1 (en) * 2018-07-19 2020-02-11 EMC IP Holding Company LLC Storage system with decrement protection of reference counts
US10983724B2 (en) 2018-09-14 2021-04-20 Micron Technology, Inc. Controller with distributed sequencer components
US10896707B2 (en) * 2018-12-17 2021-01-19 Arm Limited Selective clock adjustment during read and/or write memory operations
TWI715114B (zh) * 2019-07-22 2021-01-01 瑞昱半導體股份有限公司 記憶體分時控制的方法及相關系統
CN112289353B (zh) * 2019-07-25 2024-03-12 上海磁宇信息科技有限公司 一种优化的具有ecc功能的mram系统及其操作方法
US10929301B1 (en) 2019-08-22 2021-02-23 Micron Technology, Inc. Hierarchical memory systems
US11893276B2 (en) 2020-05-21 2024-02-06 Micron Technology, Inc. Apparatuses and methods for data management in a memory device
DE102021103872A1 (de) 2020-07-13 2022-01-13 Samsung Electronics Co., Ltd. Nichtflüchtige speichervorrichtung, die eine hocheffiziente e/a-schnittstelle unterstützt
KR20220008428A (ko) 2020-07-13 2022-01-21 삼성전자주식회사 고효율 입출력 인터페이스를 지원하는 불휘발성 메모리 장치
WO2022139637A1 (en) * 2020-12-22 2022-06-30 Telefonaktiebolaget Lm Ericsson (Publ) Snapshotting pending memory writes using non-volatile memory
CN114415937B (zh) * 2021-12-06 2024-06-21 北京航空航天大学 一种非易失存储的存储控制器及控制方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1993682A (zh) * 2004-08-30 2007-07-04 株式会社瑞萨科技 半导体集成电路
CN101573760A (zh) * 2007-01-22 2009-11-04 美光科技公司 具有处于相同分级层级的易失性及非易失性存储器装置的存储器系统及方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5301278A (en) 1988-04-29 1994-04-05 International Business Machines Corporation Flexible dynamic memory controller
US5587961A (en) * 1996-02-16 1996-12-24 Micron Technology, Inc. Synchronous memory allowing early read command in write to read transitions
US20020154633A1 (en) * 2000-11-22 2002-10-24 Yeshik Shin Communications architecture for storage-based devices
JP4722305B2 (ja) * 2001-02-27 2011-07-13 富士通セミコンダクター株式会社 メモリシステム
US6895522B2 (en) * 2001-03-15 2005-05-17 Micron Technology, Inc. Method and apparatus for compensating duty cycle distortion in a data output signal from a memory device by delaying and distorting a reference clock
FI20021620A (fi) * 2002-09-10 2004-03-11 Nokia Corp Muistirakenne, järjestelmä ja elektroniikkalaite sekä menetelmä muistipiirin yhteydessä
US7420874B2 (en) 2005-04-06 2008-09-02 Rambus Inc. Integrated circuit memory device, system and method having interleaved row and column control
US7702839B2 (en) 2005-04-12 2010-04-20 Nokia Corporation Memory interface for volatile and non-volatile memory devices
US20080140724A1 (en) 2006-12-06 2008-06-12 David Flynn Apparatus, system, and method for servicing object requests within a storage controller
US7593263B2 (en) 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
US7539062B2 (en) 2006-12-20 2009-05-26 Micron Technology, Inc. Interleaved memory program and verify method, device and system
US8427891B2 (en) 2007-04-17 2013-04-23 Rambus Inc. Hybrid volatile and non-volatile memory device with a shared interface circuit
KR100909965B1 (ko) * 2007-05-23 2009-07-29 삼성전자주식회사 버스를 공유하는 휘발성 메모리 및 불휘발성 메모리를구비하는 반도체 메모리 시스템 및 불휘발성 메모리의 동작제어 방법
US7577021B2 (en) * 2007-11-21 2009-08-18 Magic Technologies, Inc. Spin transfer MRAM device with separated CPP assisted writing
US8478928B2 (en) 2009-04-23 2013-07-02 Samsung Electronics Co., Ltd. Data storage device and information processing system incorporating data storage device
US8284594B2 (en) * 2009-09-03 2012-10-09 International Business Machines Corporation Magnetic devices and structures
US8375173B2 (en) 2009-10-09 2013-02-12 Qualcomm Incorporated Accessing a multi-channel memory system having non-uniform page sizes
US10360143B2 (en) * 2010-07-01 2019-07-23 Qualcomm Incorporated Parallel use of integrated non-volatile memory and main volatile memory within a mobile device
CN103354939B (zh) * 2010-12-17 2016-03-16 艾沃思宾技术公司 用于使dram和mram访问交错的存储器控制器和方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1993682A (zh) * 2004-08-30 2007-07-04 株式会社瑞萨科技 半导体集成电路
CN101573760A (zh) * 2007-01-22 2009-11-04 美光科技公司 具有处于相同分级层级的易失性及非易失性存储器装置的存储器系统及方法

Also Published As

Publication number Publication date
US9740431B2 (en) 2017-08-22
CN103354939B (zh) 2016-03-16
EP2652741A4 (en) 2016-07-06
EP2652741B1 (en) 2019-02-20
EP2652741A1 (en) 2013-10-23
US20120155160A1 (en) 2012-06-21
US9135965B2 (en) 2015-09-15
CN105702277A (zh) 2016-06-22
WO2012083211A1 (en) 2012-06-21
CN103354939A (zh) 2013-10-16
US20160019139A1 (en) 2016-01-21
EP3467832B1 (en) 2020-05-20
US20160350031A1 (en) 2016-12-01
EP3467832A1 (en) 2019-04-10
US9418001B2 (en) 2016-08-16

Similar Documents

Publication Publication Date Title
CN105702277B (zh) 存储器系统和存储器控制器
US11693783B2 (en) Apparatuses and methods for cache operations
US10915263B2 (en) Apparatuses and methods for partitioned parallel data movement
KR102491651B1 (ko) 비휘발성 메모리 모듈, 그것을 포함하는 컴퓨팅 시스템, 및 그것의 동작 방법
CN105474319B (zh) 用于配置混合存储器模块的存储器的i/o的设备及方法
US20190088306A1 (en) Burst length defined page size and related methods
US20130329491A1 (en) Hybrid Memory Module
US11481149B2 (en) Memory module and memory system relating thereto
CN108701081A (zh) 用于同时存取非易失性存储器的多个分区的设备和方法
CN110176260A (zh) 支持跳跃计算模式的存储器器件及其操作方法
CN109003640A (zh) 存储器中子阵列之间的数据传送
CN102084428A (zh) 多模式存储器装置和方法
CN106856097A (zh) 半导体器件和包括它的半导体系统
CN105940381A (zh) 存储器访问期间的数据重排序
CN108604168A (zh) 用于基于管芯终止的命令的技术
CN109891397A (zh) 用于固态装置中的操作系统高速缓冲存储器的设备及方法
TWI699763B (zh) 記憶體系統及其控制方法
TW201839758A (zh) 用於記憶體內操作之裝置及方法
WO2021056541A1 (zh) 处理数据的方法和设备
CN109690509A (zh) 存储器装置配置命令
US20150153966A1 (en) Memory device for multiple processors and memory system having the same
WO2016180063A1 (zh) 写请求的处理方法和内存控制器
US11941299B2 (en) MRAM access coordination systems and methods via pipeline in parallel
US20150262631A1 (en) Semiconductor memory device
US20240201900A1 (en) Memory device and storage device including the same

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant