CN108733581B - 交叉点存储器阵列寻址 - Google Patents

交叉点存储器阵列寻址 Download PDF

Info

Publication number
CN108733581B
CN108733581B CN201810239216.1A CN201810239216A CN108733581B CN 108733581 B CN108733581 B CN 108733581B CN 201810239216 A CN201810239216 A CN 201810239216A CN 108733581 B CN108733581 B CN 108733581B
Authority
CN
China
Prior art keywords
address
memory
row
array
column
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
CN201810239216.1A
Other languages
English (en)
Other versions
CN108733581A (zh
Inventor
W.H.崔
W.帕金森
Z.班迪克
J.奥图尔
M.利克-博登
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.)
SanDisk Technologies LLC
Original Assignee
SanDisk Technologies LLC
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 SanDisk Technologies LLC filed Critical SanDisk Technologies LLC
Publication of CN108733581A publication Critical patent/CN108733581A/zh
Application granted granted Critical
Publication of CN108733581B publication Critical patent/CN108733581B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • G11C13/0026Bit-line or column circuits
    • 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
    • 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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0851Cache with interleaved addressing
    • 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/0877Cache access modes
    • G06F12/0882Page mode
    • 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/0877Cache access modes
    • G06F12/0886Variable-length word access
    • 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/22Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
    • G11C11/225Auxiliary circuits
    • G11C11/2253Address circuits or decoders
    • G11C11/2255Bit-line or column 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/22Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
    • G11C11/225Auxiliary circuits
    • G11C11/2273Reading 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/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/22Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
    • G11C11/225Auxiliary circuits
    • G11C11/2275Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • G11C13/0028Word-line or row circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/06Arrangements for interconnecting storage elements electrically, e.g. by wiring
    • G11C5/066Means for reducing external access-lines for a semiconductor memory clip, e.g. by multiplexing at least address and data signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0004Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0007Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising metal oxide memory material, e.g. perovskites
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • G11C2013/0054Read is performed on a reference element, e.g. cell, and the reference sensed value is used to compare the sensed value of the selected cell
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/18Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals

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)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

公开了用于存储器阵列寻址的设备、系统、方法和计算程序产品。寻址电路配置为接收用于多个存储器区域的阵列上的操作的地址。地址包含行地址和列地址,两者复用到地址中并且与用于操作的激活命令一起被接收。用于多个存储器区域的阵列的行缓冲器配置为储存来自多个存储器区域的由所复用的行和列地址识别的数据。基于与用于操作的随后的命令一起接收到的第二地址,从行缓冲器选择操作的数据。

Description

交叉点存储器阵列寻址
相关申请的交叉引用
本申请要求Won Ho Choi等人于2017年4月14日提交的标题为“CROSS-POINTMEMORY ARRAY ADDRESSING”的美国临时专利申请第62/485,735号的权益;本申请还要求Won Ho Choi等人于2017年6月28日提交的标题为“CROSS-POINT MEMORY ARRAYADDRESSING”的美国专利申请第15/636,499号的权益,以上申请通过引用并入本文中。
技术领域
在各种实施例中,本公开涉及非易失性和/或易失性存储器,并且更特别地涉及交叉点存储器寻址。
背景技术
对每个读取进行单独的感测操作可以将延迟引入到读取操作中。然而,存储器装置可能不具有足够大的缓冲器来储存比读取操作所请求的数据更多的数据,和/或可能不接收足够寻址信息来撷取比读取操作所请求的数据更多的数据。
发明内容
呈现了用于存储器阵列寻址的设备。在一个实施例中,设备包含多个存储器区域的阵列。在某些实施例中,寻址电路配置为接收多个存储器区域的阵列上的操作的地址。在一些实施例中,地址包括行地址和列地址,两者复用到地址中并且与用于操作的激活命令一起被接收。在又一个实施例中,用于多个存储器区域的阵列的行缓冲器配置为储存来自多个存储器区域的由所复用的行和列地址识别的数据。在某些实施例中,基于与用于操作的随后的命令一起接收到的第二地址,从行缓冲器选择操作的数据。
呈现了用于存储器阵列寻址的一个或多个设备。在一个实施例中,设备包含用于将对于集成电路裸芯的非易失性存储器瓦片的阵列上的操作接收到的地址解码成阵列部分、行地址和/或列地址的构件。在某些实施例中,地址与用于操作的激活命令一起被接收。在又一个实施例中,装置包含构件用于将阵列部分、行地址和列地址所识别的数据加载到用于非易失性存储器瓦片的阵列的行缓冲器。在某些实施例中,行缓冲器设置为朝向与非易失性存储器瓦片的阵列相同的集成电路裸芯的边缘。在某些实施例中,设备包含用于使用来自行缓冲器的数据来服务用于操作的多个随后的命令的构件,并且多个随后的命令中的每一个包含附加的地址,该附加的地址用于识别来自行缓冲器的数据的子集。
呈现了用于存储器阵列寻址的方法。在一个实施例中,方法包含从用于存储器裸芯上的读取操作的激活命令的行地址提取行地址和列地址。在又一个实施例中,方法包含感测来自由存储器裸芯中的所提取的行地址和列地址识别的存储器单元的数据。在某些实施例中,方法包含将感测到的数据加载到存储器裸芯的行缓冲器中。在一个实施例中,方法包含响应于读取操作的读取命令,迭代地传输来自行缓冲器数据的部分。在一些实施例中,读取命令的行地址识别来自行缓冲器数据的部分。
呈现了包括非暂时性计算机可读储存介质的计算机程序产品。在某些实施例中,计算机可读储存介质储存计算机可用的程序代码,其可执行以进行关于本公开的方法、设备和系统所描述的操作中的一个或多个。
附图说明
参考附图中示出的具体实施例,下面包含更多具体的说明。应当理解,这些附图仅描绘了本公开的某些实施例,并且因此不被认为是对其范围的限制,通过使用附图利用附加特征和细节来描述和解释本公开,其中:
图1是示出交叉点存储器阵列寻址的系统的一个实施例的示意性框图;
图2是示出交叉点存储器阵列寻址的系统的另一个实施例的示意性框图;
图3是示出交叉点存储器阵列寻址的系统的又一个实施例的示意性框图;
图4是示出在交叉点存储器阵列上的操作的时序的实施例的示意性框图;
图5是示出交叉点存储器阵列的地址的一个实施例的示意性框图;
图6是示出交叉点存储器阵列寻址的方法的一个实施例的示意性流程图;以及
图7是示出交叉点存储器阵列寻址的方法的又一个实施例的示意性流程图。
具体实施方式
本公开的方面可以体现为设备、系统、方法或计算机程序产品。相应地,本公开的方面可以采取如下形式:整个硬件实施例、整个软件实施例(包含固件、驻留软件、微代码等)、或者将软件和硬件方面组合的实施例,该些形式总体上可以在本文中称为“电路”、“模块”、“设备”或“系统”。此外,本公开的方面可以采取计算机程序产品的形式,该计算机程序产品体现在储存计算机可读和/或可执行程序代码的一个或多个非暂时性计算机可读储存介质中。
已经将本说明书中所描述的许多功能性单元标记为模块,以便更特别地强调它们实现方式的独立性。例如,模块可以实现为包括定制的VLSI电路或门阵列的硬件电路,诸如逻辑芯片、晶体管或其它分立组件的现成的半导体。模块还可以实现为可编程的硬件装置,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑装置等。
模块还可以至少部分地实现为由各种类型的处理器执行的软件。例如,可执行代码的识别模块可以包括计算机指令的一个或多个物理块或者一个或多个逻辑块,该计算机指令例如可以组织为对象、进程或函数。尽管如此,识别模块的可执行文件不需要在物理上位于一起,但是可以包括储存在不同位置的不同的指令,当在逻辑上连接在一起时,该不同位置构成模块并且实现该模块所声明(state)的目的。
确实,可执行代码的模块可以包含单个指令或许多指令,并且甚至可以分布在若干个不同代码段之上、不同程序之中、跨越若干个存储器装置等。在模块和模块的部分在软件中实现的情况下,可以将软件部分储存在一个或多个计算机可读和/或可执行储存介质上。可以利用一个或多个计算机可读储存介质中的任何组合。例如,计算机可读储存介质可以包含但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统的设备或装置,或前述的任何适当的组合,但是将不包含传播信号。在本文件的情景下,计算机可读和/或可执行储存介质可以是任何有形的和/或非暂时性的介质,其可以含有或储存由指令执行系统、设备、处理器或装置使用或与其组合使用的程序。
用于进行本公开的方面的操作的计算机程序代码可以以一种或多种程序语言的任何组合来编写,该程序语言包含诸如Python、Java、Smalltalk、C++、C#、Objective C等的面向对象的程序语言,诸如“C”程序语言、脚本程序语言和/或其它类似的程序语言的常规进程程序语言。可以在用户的计算机中的一个或多个上、和/或数据网络等之上的远程计算机或服务器上部分地或完整地执行程序代码。
如本文所使用的组件包括有形的、物理的、非暂时性的装置。例如,组件可以实现为包括定制的VLSI电路、门阵列或其它集成电路的硬件电路,诸如逻辑芯片、晶体管或其它分立装置的现成的半导体装置,和/或其它机械的或电气装置。组件还可以实现为可编程的硬件装置,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑装置等。组件可以包括一个或多个硅集成电路装置(例如,芯片、裸芯、裸芯平面、封装)或其它分立电气装置,该组件通过印刷电路板(PCB)等的电线与一个或多个其它组件电通信。在某些实施例中,本文所描述的模块中的每一个可以替代地由组件来体现或者实现为组件。
如本文所使用的电路包括一个或多个电气的和/或电子的组件的集合,该组件提供一个或多个电流路径。在某些实施例中,电路可以包含电流的返回路径,使得该电路是闭合回路。然而,在另一个实施例中,不包含电流的返回路径的组件的集合可以称为电路(例如,开环回路)。例如,无论集成电路是否耦接到地(作为电流的返回路径),集成电路可以称为电路。在各种实施例中,电路可以包含集成电路的部分、集成电路、集成电路的集合、具有或不具有集成电路装置的非集成的电气和/或电气的组件的集合等。在一个实施例中,电路可以包含定制的VLSI电路、门阵列或其它集成电路,诸如逻辑芯片、晶体管或其它分立装置的现成的半导体装置,和/或其它机械的或电气的装置。电路还可以实现为可编程的硬件装置(诸如现场可编程门阵列、可编程的阵列逻辑、可编程逻辑装置等)中的综合电路(例如,实现为固件、网络列表等)。电路可以包括一个或多个硅集成电路装置(例如,芯片、裸芯、裸芯平面、封装)或其它分立电气装置,该电路通过印刷电路板(PCB)等的电线与一个或多个其它组件电通信。在某些实施例中,本文所描述的模块中的每一个可以由电路来体现或者实现为电路。
贯穿本说明书的对“一个实施例”、“实施例”或类似的语言的参考意味着结合实施例所描述的特定特征、结构或特性包含在本公开的至少一个实施例中。因而,除非以其它方式明确地指定,否则贯穿本说明书的短语“在一个实施例中”、“在实施例中”和类似的语言的出现可能但不一定都是指相同的实施例,而是意味着“一个或多个但非全部的实施例”。除非以其它方式明确地指定,否则术语“包含”、“包括”、“具有”及其变型意味着“包含但不限于”。除非以其它方式明确地指定,否则项目的列举列表不隐含任何或全部术语是互相排斥的和/或互相包容的。除非以其它方式明确指定,否则术语“一”,“一个”、“该”也指“一个或多个”。
下面参考根据本公开的实施例的方法、设备、系统和计算机程序产品的示例性流程图和/或示例性框图来描述本公开的方面。应当理解,可以通过计算机程序指令来实现示意性流程图和/或示意性框图中的每个框、以及示意性流程图和/或示意性框图中的框的组合。这些计算机程序指令可以提供给计算机的处理器或其它可编程数据处理设备以制造机器(produce machine),使得经由处理器或其它可编程数据处理设备执行的指令创建用于实现在示意性流程图和/或示意性框图的一个或多个框中指定的功能和/或动作的构件。
还应该注意的是,在一些替代性实现方式中,框中所指出的功能可以不按照附图中指出的顺序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以实质上同时执行,或者框有时可以以相反的顺序执行。其它步骤和方法可以设想为在功能、逻辑或效果上等同于所示附图的一个或多个块或其部分。虽然在流程图和/或框图中可以采用各种箭头类型和线型,但是它们被理解为不限制相应实施例的范围。例如,箭头可以指示所描绘的实施例的列举步骤之间的未指定持续时间的等待或监控时段。
在以下的详细描述中,参考形成其一部分的附图。前述概述仅是说明性的,并不意图以任何方式进行限制。除了以上描述的说明性方面、实施例和特征,通过参考附图和以下的详细描述,其它方面、实施例和特征将变得明显。每个图中的元素的描述可以指代前面的图的元素。相同编号可以指图中的相同元件,包含相同元件的替代实施例。
图1是示出交叉点存储器阵列的系统100的一个实施例的框图。系统100包括非易失性的和/或易失性存储器装置120的一个或多个寻址电路150。在某些实施例中,替代或除了使用行地址和列地址来访问数据,该行地址与用于数据操作的激活命令(例如,行地址选择和/或RAS)一起被接收,该列地址与随后的命令(例如,列地址选择和/或CAS)一起被接收,寻址电路150配置为接收行地址和列地址的两者,它们复用到相同地址中并且与用于数据操作的激活命令一起被接收(例如,可以将行地址和列地址组合为相同RAS信号/命令内的第一行地址和第二行地址)。在其它实施例中,寻址电路150所接收的相同地址还包含阵列部分,识别用于数据操作的多个存储器区域(例如,存储器块、瓦片、核心、存储条(Bank)、存储条组、裸芯、裸芯平面)。
如本文所使用的激活命令包括命令、信号和/或请求,其触发、用信号通知和/或请求用于一个或多个随后的命令、信号和/或请求的准备行为。例如,激活命令可以包括预先定义的信号(例如,命令信号ACT是低;命令信号CS和RAS是低,而命令信号CAS和WE是高;等等)、预先定义的命令(例如,打开行命令)等。对于诸如动态随机存取存储器(DRAM)、同步DRAM(SDRAM)等的易失性存储器,在某些实施例中,激活命令可以预充电和/或打开用于读取和/或写入命令的行。在某些实施例中,寻址电路150可以接收用于非易失性存储器阵列(诸如下面描述的储存类存储器(SCM))的激活命令,并且在代替仅预先充电或打开行,寻址电路150可以将用于多个随后操作的数据加载、复制和/或预取到读取缓冲器中。例如,响应于激活命令,寻址电路150可以将来自多个存储器区域的数据加载到共享的行缓冲器中,以准备一个或多个随后的读取和/或写入/编程命令。在一个实施例中,寻址电路150可以支持两个或更多不同类型的激活命令,诸如快速页模式的激活命令,响应于该命令,寻址电路150预取和/或以其它方式加载比所请求的数据更多的数据来填充行缓冲器;遗留模式(legacy mode)激活,响应于该命令,寻址电路150打开和/或激活所识别的行而不是将数据预取到行中;和/或其它类型的激活命令。
激活命令可以包括一个或多个地址(诸如行地址、存储条地址、存储条组地址和/或其它地址),来向寻址电路150指示为随后的命令、信号和/或请求准备的存储器位置。在接收第二地址(例如,CAS信号/命令的行地址)之前,使用与激活命令一起接收到的地址(例如,使用行地址和列地址,其复用到所接收的地址中作为两个行地址和/或作为相同行地址的两个部分),寻址电路150可以将用于读取操作的数据加载(例如,对于读取操作感测来自存储器阵列的数据、对于编程或写入操作加载和/或锁存写入数据)到行缓冲器中。寻址电路150可以使用第二地址作为索引或偏移以用于撷取已经储存在行缓冲器中的数据。
在某些实施例中,寻址电路150可以与第一命令(例如,激活命令)一起接收较大的地址(例如,较多的地址位),并且与随后的命令(例如,读取和/或写入/编程命令)一起接收一个或多个较小的地址(例如,较少的地址位)。例如,在一个实施例中,激活命令可以包括具有阵列地址部分的地址(例如,瓦片地址和/或存储条地址)、第一行地址部分和第二行地址部分(例如,列地址),其中每一个一起复用到相同地址中(例如,阵列地址部分的4位、第一行地址部分的11位、第二地址部分的11位等);并且随后读取和/或写入/编程命令可以包括单个列地址(例如,用作识别已经在行缓冲器中的数据的索引或偏移的7位列地址)。在某些实施例中,通过在随后的命令中用较少的地址位在第一命令(例如,激活命令)中的前载(front-load)地址位随后的,寻址电路150可以将足够的数据预取和/或加载到行缓冲器中,用于多个随后的命令,这减少多个随后的命令的延迟,因为当随后的命令被寻址电路150接收时,数据已经在行缓冲器中。
行缓冲器中所储存的数据可以来自多个存储器区域(例如,存储器块、瓦片、核心、存储条(Bank)、存储条组、裸芯、裸芯平面等),该多个存储器区域由与激活命令一起接收到的地址的阵列部分(例如,每存储器区域一位、每存储器区域一字节、或者每存储器区域的其它预先定义数量的位)来识别。例如,行缓冲器可以由多个存储器区域共享,而不是位于与单个存储器区域一起,并且可以位于集成电路裸芯和/或芯片的边缘,靠近输入/输出垫、DRR电路、数据路径等。
以这种方式,在某些实施例中,因为在与用于一个或多个相关联数据操作的随后的命令(例如,读取命令、编程和/或写入命令等)一起接收到随后的地址之前,数据将已经储存在行缓冲器中,所以通过将行地址和列地址复用到与激活命令一起接收到的单个行地址中(例如,将行地址分成行地址和列地址),寻址电路150可以减少一个或多个相关联数据操作的延迟。在一个实施例中,在没有对于存储器阵列的存储器区域的附加的感测操作的情况(例如,减少tRL时间或读取延迟)下,响应于接收到随后的地址(例如,CAS信号/命令的列地址),可以从行缓冲器快速读取数据。
在其它实施例中,在行缓冲器储存来自多个不同存储器区域的数据(例如,来自多个所选择的存储器区域中的每一个的一位等)的情况下,该来自多个不同存储器区域的数据可以被并行地读取和/或同时读取,最小化tRCD时间(例如,在接收具有诸如上面所述的所复用的地址的行地址的激活命令和接收具有列地址的随后的命令之间的时间)、同时读取多个随后的命令的数据(例如,响应于单个字节、八个字节等的请求,读取数据的页)。在某些实施例中,寻址电路150可以允许使用非易失性储存类存储器(SCM)来代替诸如动态随机存取存储器(DRAM)等的易失性存储器(例如通过提供大约与易失性存储器一样低、与易失性存储器一样低、低于易失性存储器等的延迟;通过提供一次读取页和/或块的体读取能力;等等)。
寻址电路150可以是非易失性和/或易失性存储器元件123的部件,并且可以与非易失性和/或易失性存储器介质控制器126、装置驱动器等通信。在一些实施例中,寻址电路150可以至少部分地在计算装置110的非易失性和/或易失性存储器系统102上操作和/或与其通信,这可以包括处理器111、易失性存储器112和通信接口113。处理器111可以包括一个或多个中央处理单元、一个或多个通用处理器、一个或多个应用专用处理器、一个或多个虚拟处理器(例如,计算装置110可以是主机内操作的虚拟机)、一个或多个处理核心等。通信接口113可以包括一个或多个网络接口,其配置为将计算装置110和/或存储器控制器126通信地耦接到通信网络115,诸如互联网协议(IP)网络、储存区域网络(SAN)、无线网络、有线网络等。
在各种实施例中,存储器装置120可以设置在相对于计算装置110的一个或多个不同位置中。在一个实施例中,存储器装置120包括一个或多个非易失性和/或易失性存储器元件123,诸如在一个或多个印刷电路板上设置的半导体芯片或封装或其它集成电路装置、储存壳体、和/或其它机械的和/或电气的支撑结构。例如,存储器装置120可以包括一个或多个直插式存储器模块(DIMM)卡、一个或多个扩展卡和/或子卡、存储器卡、通用串行总线(USB)驱动器、固态驱动器(SSD)或其它硬盘驱动器装置,和/或可以具有其它存储器和/或储存装置形式因素。存储器装置120可以与计算装置110的母板集成和/或安装在计算装置110的主板上,安装在计算装置110的端口和/或插槽中,安装在不同的计算装置110和/或网络115上的专用储存装置上,通过外部总线(例如,外部硬盘驱动器)与计算装置110通信等。
在一个实施例中,存储器装置120可以设置在处理器111的存储器总线上(例如,在与易失性存储器112相同的存储器总线上、在与易失性存储器112不同的存储器总线上、代替易失性存储器112等)。在又一个实施例中,存储器装置120可以设置在计算装置110的外围总线上,诸如外围组件互连快速(PCI Express或PCIe)总线、串行高级技术附件(SATA)总线、并行高级技术附件(PATA)总线、小型计算机系统接口(SCSI)总线、火线(FireWire)总线、光纤通道连接、通用串行总线(USB)、PCIe高级开关(PCIe-AS)总线等。在另一个实施例中,存储器装置120可以设置在数据网络115上,诸如以太网、无限带宽(Infiniband)网络、网络115之上的SCSI RDMA、储存区域网络(SAN)、局域网(LAN)、诸如因特网之类的广域网(WAN)、其它有线和/或无线网络115等。
计算装置110还可以包括非暂时性计算机可读储存介质114。计算机可读储存介质114可以包括可执行指令,其配置为使得计算装置110(例如,处理器111)来进行本文中所公开的一个或多个方法的步骤。替代地或附加地,寻址电路150可以接收和/或执行在非暂时性储存介质114上储存的一个或多个计算机可读指令。
在一个实施例中,寻址电路150可以包括非易失性和/或易失性存储器元件123的逻辑硬件、用于非易失性和/或易失性存储器元件123的其它可编程逻辑固件、用于由非易失性和/或易失性存储器元件123执行的微代码等。在另一个实施例中,寻址电路150可以包括、接收、执行和/或储存可执行软件代码,该可执行软件代码储存在计算机可读储存介质上,由非易失性和/或易失性存储器元件123的逻辑硬件来执行。在又一个实施例中,寻址电路150可以包含逻辑硬件和可执行代码的组合。
在一个实施例中,一个或多个寻址电路150配置为:经由一个或多个总线125、127、存储器介质控制器126等,从主机计算装置110、储存客户端116、装置驱动器、可执行应用程序等接收请求和/或命令。寻址电路150还可以配置为:经由总线125向/从主机计算装置110、储存客户端116、装置驱动器、可执行应用程序等传送数据。相应地,在一些实施例中,寻址电路150可以包括一个或多个直接存储器访问(DMA)模块、远程DMA模块、总线控制器、网桥(bridge)、缓冲器等,和/或与其通信,以促进传送储存请求和相关联数据。在另一个实施例中,寻址电路150可以从储存客户端116接收作为API调用(call)的储存请求,像IO-CTL命令等。
根据各种实施例,存储器控制器126可以管理一个或多个存储器装置120和/或存储器元件123。(多个)存储器装置120可以包括记录、存储器和/或储存装置,诸如布置和/或划分成多个可寻址介质储存位置的(多个)固态储存装置和/或(多个)半导体储存装置。如本文所使用的,介质储存位置是指存储器的任何物理单元(例如,存储器装置120上的任何数量的物理储存介质)。存储器单元和/或区域可以包含但不限于:页、存储器分区、块、扇区、物理储存位置的集(collection)或集合(例如,逻辑页、逻辑块)、瓦片、核心、存储条、存储条组、裸芯、裸芯平面、芯片等。
在某些实施例中,装置驱动器和/或存储器介质控制器126可以向储存客户端呈现逻辑地址空间134。如本文所使用的,逻辑地址空间134是指存储器资源的逻辑表示。逻辑地址空间134可以包括多个(例如,范围)逻辑地址。如本文所使用的,逻辑地址是指参考存储器资源(例如,数据)的任何标识符,包含但不限于逻辑块地址(LBA)、柱面/报头(header)/扇区(CHS)地址、文件名、对象标识符、索引节点(inode)、通用唯一标识符(UUID)、全局唯一标识符(GUID)、散列码(hash code)、签名、索引条目、范围、程度等。
用于存储器装置120的装置驱动器可以维护诸如逻辑到物理地址映射结构的元数据135,以将逻辑地址空间134的逻辑地址映射到在(多个)存储器装置120上的介质储存位置。装置驱动器可以配置为向一个或多个储存客户端116提供储存服务。储存客户端116可以包含在计算装置110上操作的本地储存客户端116、和/或经由网络115和/或网络接口113可访问的远程储存客户端116。储存客户端116可以包含但不限于:操作系统、文件系统、数据库应用程序、服务器应用程序、内核级进程、用户级进程、应用程序等。
装置驱动器可以通信地耦接到一个或多个存储器装置120。一个或多个存储器装置120可以包含不同类型的存储器装置,其包括但不限于:固态储存装置、半导体储存装置、SAN储存资源、易失性存储器装置、非易失性存储器装置等。一个或多个存储器装置120可以包括一个或多个相应的存储器介质控制器126和存储器介质122。装置驱动器可以经由传统的块I/O接口131来提供对一个或多个存储器装置120的访问。另外,装置驱动器可以通过SCM接口132提供对增强功能的访问。元数据135可以用于管理和/或跟踪通过块I/O接口131、SCM接口132、缓存接口133或其它相关的接口中的任何接口来进行的数据操作。
高速缓存接口133可以暴露可经由用于存储器装置120的装置驱动器可访问的缓存专用特征。另外,在一些实施例中,呈现给储存客户端116的SCM接口132提供对数据变换的访问(access),该数据变换由一个或多个存储器装置120和/或一个或多个储存介质控制器126实现。
装置驱动器可以通过一个或多个接口向储存客户端116呈现逻辑地址空间134。如以上所讨论的,逻辑地址空间134可以包括多个逻辑地址,每个逻辑地址对应于一个或多个存储器装置120上的相应的介质位置。装置驱动器可以维护包括逻辑地址与介质位置之间的任意到任意映射的元数据135等。
装置驱动器还可以包括存储器装置接口139和/或与其通信,该储存装置接口139配置为通过总线125向一个或多个存储器装置120传送数据、命令和/或查询,该总线可以包含但不限于:处理器111的存储器总线、高速外围组件互连(PCI Express或PCIe)总线、串行高级技术附件(ATA)总线、并行ATA总线、小型计算机系统接口(SCSI)、火线、光纤通道、通用串行总线(USB)、PCIe高级开关(PCIe-AS)总线、网络115、无限带宽、SCSI RDMA等。存储器装置接口139可以使用(多个)输入-输出控制(IO-CTL)命令、(多个)IO-CTL命令扩展、远程直接存储器访问等来与一个或多个存储器装置120通信。
通信接口113可以包括一个或多个网络接口,其配置为将计算装置110和/或存储器控制器126通信地耦接到网络115和/或一个或多个远程网络可访问储存客户端116。储存客户端116可以包含在计算装置110上操作的本地储存客户端116,和/或可经由网络115和/或网络接口113访问的远程储存客户端116。存储器控制器126是一个或多个存储器装置120的一部分和/或与一个或多个存储器装置120通信。虽然图1描绘了单个存储器装置120,但是本公开在这方面不受限制,并且可以适用于并入任何数量的存储器装置120、一个或多个易失性存储器装置120和一个或多个非易失性存储器装置120的组合等。
存储器装置120可以包括存储器介质122的一个或多个元件123。在一个实施例中,储存介质122的元件123包括易失性储存介质122,诸如随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、静态RAM(SRAM)、晶闸管RAM(T-RAM)、零电容器RAM(Z-RAM)等。在某些实施例中,存储器介质122的元件123包括非易失性存储器介质122,诸如ReRAM、忆阻器存储器、可编程金属化单元存储器、相变存储器(PCM、PCME、PRAM、PCRAM、双向统一存储器、硫族化物RAM或C-RAM)、NAND闪存存储器(例如2D NAND闪存存储器、3D NAND闪存存储器)、NOR闪存存储器、纳米随机存取存储器(纳米RAM或NRAM)、基于纳米晶体线的存储器、基于硅氧化物的亚10纳米工艺存储器、石墨烯存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)、可编程金属化单元(PMC)、导电桥接RAM(CBRAM)、磁阻RAM(MRAM)、磁储存介质(例如,硬盘、磁带)、光储存介质等。在某些实施例中,储存介质122中的一个或多个元件123包括储存类存储器(SCM)。
在一个实施例中,尽管诸如NAND闪存存储器之类的遗留技术可以是块和/或页可寻址的,但是储存级存储器是字节可寻址的。在其它实施例中,储存级存储器可以比NAND闪存存储器更快和/或具有更长的寿命(例如,耐久性);与DRAM相比,可以具有更低的成本、使用更少的功率和/或更高的储存密度;可以具有与DRAM一样低的或低于DRAM的读取延迟;可以具有体读取能力以一次读取一个或多个页和/或块的数据;和/或当与其它技术比较时提供一个或多个其它益处或改进。例如,储存类存储器可以包括如下的一个或多个非易失性存储器元件123:ReRAM、忆阻器存储器、可编程金属化单元存储器、相变存储器、纳米RAM、基于纳米晶体线的存储器,基于硅氧化物的亚10纳米工艺存储器、石墨烯存储器、SONOS存储器、PMC存储器、CBRAM、MRAM和/或其变型。
在各种实施例中,虽然非易失性存储器介质122在本文中称为“存储器介质”,但是非易失性存储器介质122可以更通常地包括能够记录数据的一个或多个非易失性记录介质(其可以称为非易失性储存介质)、非易失性储存介质等。此外,在各种实施例中,非易失性存储器装置120可以包括非易失性记录装置、非易失性存储器装置、非易失性储存装置等。类似地,在各种实施例中,非易失性存储器元件123可以包括非易失性记录元件、非易失性存储器元件、非易失性储存元件等。
非易失性存储器介质122可以包括一个或多个非易失性存储器元件123,其可以包括但不限于:芯片、封装、平面、裸芯等。非易失性存储器介质控制器126可以配置为管理非易失性存储器介质122上的数据操作,并且可以包括一个或多个处理器、可编程处理器(例如,FPGA)、ASIC、微控制器等。在一些实施例中,非易失性存储器介质控制器126配置为将数据储存在非易失性存储器介质122上和/或从非易失性存储器介质122读取数据,将数据传送到非易失性存储器装置120或从非易失性存储器装置120传送数据等。
非易失性存储器介质控制器126可以通过总线127通信地耦接到非易失性存储器介质122。总线127可以包括用于将数据传递到非易失性存储器元件123/传递来自非易失性存储器元件的数据的I/O总线。总线127还可以包括用于将寻址和其它命令以及控制信息传递到非易失性存储器元件123的控制总线。在一些实施例中,总线127可以并行地将非易失性存储器元件123通信地耦接到存储器介质控制器126。该并行访问可以允许将非易失性存储器元件123作为组进行管理,形成逻辑存储器元件129。可以将逻辑存储器元件划分成相应的逻辑存储器单元(例如逻辑页)和/或逻辑存储器分区(例如,逻辑块)。可以通过逻辑地组合非易失性存储器元件中的每一个的物理存储器单元来形成逻辑存储器单元。
非易失性存储器控制器126可以包括在计算装置110上执行的装置驱动器和/或与其通信。装置驱动器可以经由一个或多个接口131、132和/或133向储存客户端116提供储存服务。在一些实施例中,装置驱动器提供块-装置I/O接口131,储存客户端116通过该块-装置I/O接口131进行块级别的I/O操作。替代地或附加地,装置驱动器可以提供储存类存储器(SCM)接口132,其可以向储存客户端116提供其它储存服务。在一些实施例中,SCM接口132可以包括对块装置接口131的扩展(例如,储存客户端116可以通过对块装置接口131的扩展或附加来访问SCM接口132)。替代地或附加地,可以提供SCM接口132作为单独的API、服务和/或库。装置驱动器还可以配置为提供用于使用非易失性存储器系统102来缓存数据的缓存接口133。如以上所述,装置驱动器还可以包括非易失性存储器装置接口139,该非易失性存储器装置接口139配置为通过总线125将数据、命令和/或查询传送到非易失性存储器介质控制器126。
图2示出了可以包含一个或多个存储器裸芯或芯片212的非易失性储存装置210的实施例。非易失性储存装置210可以实质上类似于参考图1所描述的非易失性存储器装置120。在一些实施例中,存储器裸芯212包含存储器单元200、裸芯控制器220和读取/写入电路230A/230B的阵列(二维或三维)。在一个实施例中,由各种外围电路对存储器阵列200的访问以对称的方式在阵列的相对侧上实现,使得每一侧上的访问线和电路的密度减少一半。在又一个实施例中,读取/写入电路230A/230B包含多个感测块250,其允许并行地读取或编程存储器单元的页。
在各种实施例中,存储器阵列200可以经由行解码器240A/240B通过字线来寻址,以及经由列解码器242A/242B通过位线来寻址。在一些实施例中,控制器244被包含在与一个或多个存储器裸芯212相同的存储器装置210(例如,可移动储存卡或封装)中。命令和数据经由线232在主机与控制器244之间传送,并且以及经由线234在控制器与一个或多个存储器裸芯212之间传送。一个实现方式可以包含多个芯片212。
在一个实施例中,裸芯控制器220与读取/写入电路230A/230B协作,以进行存储器阵列200上的存储器操作。在某些实施例中,裸芯控制器220包含寻址电路150、状态机222、片上地址解码器224和功率控制电路226。
在一个实施例中,状态机222提供存储器操作的芯片级控制。片上地址解码器224提供地址接口,以在由主机或存储器控制器所使用的地址与由解码器240A、240B、242A、242B所使用的硬件地址之间进行转换。在存储器操作期间,功率控制电路226控制了供应到字线和位线的功率和电压。在一个实施例中,功率控制电路226包含可以创造大于供电电压的电压的一个或多个电荷泵。
在某些实施例中,状态机222和/或感测块250包含寻址电路150的实施例。在某些实施例中,寻址电路150可以包含感测块250、裸芯控制器220和/或状态机222的硬件、固件和/或可执行代码。
在一个实施例中,裸芯控制器220、寻址电路150、功率控制电路226、解码器电路224、状态机电路222、解码器电路242A、解码器电路242B、解码器电路240A、解码器电路240B、读取/写入电路230A、读取/写入电路230B和/或控制器244可以称为一个或多个管理电路。
图3描绘了交叉点存储器阵列300的一个实施例。在所描绘的实施例中,阵列300的存储器单元设置在行和列、字线和位线等的交叉点处,以用于二维和/或三维存储器阵列300。在某些实施例中,存储器阵列300包含多个存储器区域302(例如,存储器瓦片、核心、块、存储条、存储条组、扇区、裸芯、裸芯平面等等)、寻址电路150、行缓冲器310和列解码器312。在所描绘的实施例中,每个存储器区域302包含第一行解码器304、第二行解码器306和感测放大器308。
在某些实施例中,寻址电路150配置为接收多个存储器区域302的阵列300上的操作的地址。该地址可以包括第一行解码器304的第一行地址和第二行解码器306的第二行地址(例如,列地址),两者复用到相同地址中并且与用于数据操作的激活命令一起被接收。在所描绘的实施例中,因为第一行解码器304和第二行解码器306两者接收和解码来自与激活命令一起接收到的行地址的地址位(例如,其中在其内复用行地址和列地址),所以第一行解码器304和第二行解码器306都称为“行解码器”。然而,在其它实施例中,即使第二行解码器306接收到的列地址复用到行地址中并且与激活命令一起被接收,第二行解码器306可以称为列解码器306,以将它与位于离第二行解码器306的存储器区域302的垂直侧上的第一行解码器304区分开。
在所描绘的实施例中,行缓冲器310设置在存储器区域302的外面,但是与存储器区域302设置在相同的集成电路裸芯123和/或芯片123上。行缓冲器310可以配置为储存由来自多个存储器区域302的来自寻址电路150的所复用的行和列地址和/或第一和第二行地址所识别的数据(例如,对于读取操作从感测放大器308接收数据,对于写入操作从I/O线接收数据等)。例如,行缓冲器310可以储存由来自寻址电路150的阵列部分(例如,瓦片地址)所识别的来自每个存储器区域302的一位数据(例如,与激活命令一起被接收作为与所复用的行和列地址和/或第一和第二行地址相同的地址的部分),这意味着所复用的行和列地址和/或第一和第二行地址识别了由阵列部分(例如,瓦片地址)所识别的每个存储器区域302中的一位(例如,一个所选择的交叉点)。在某些实施例中,通过将第二地址发送到列解码器312等随后的,寻址电路150基于与用于数据操作的随后的命令一起接收到的第二地址(例如,列地址)来从缓冲器310选择数据操作的数据。
行缓冲器310可以选通或锁存数据,以响应于与用于操作的多个附加随后的命令(例如,针对数据的相同逻辑行的读取命令,每个读取命令具有参考在行缓冲器310内的不同偏移处的数据的列地址等)一起接收的多个附加列地址。在某些实施例中,响应于与随后的写入和/或编程命令一起接收的多个附加列地址,行缓冲器310可选通或锁存用于写入或编程到多个存储器区域302的数据(例如,储存和/或缓冲数据)。
图4描绘了交叉点存储器阵列300上的操作的时序400的一个实施例。在所描绘的实施例中,寻址电路150与激活命令402一起接收第一地址404。第一地址404包含阵列部分(例如,阵列地址、存储条组(BG)地址、存储条地址和/或瓦片地址)和行地址。在某些实施例中,行地址包含所复用的行和列地址、所复用的第一和第二行地址等。通过将一个地址循序地附加到第二地址、通过对两个地址进行散列、和/或通过以其它方式可逆地组合这两个地址,可以将两个地址复用到单个地址中。
响应于激活命令402,寻址电路150选择由第一地址404的阵列部分所识别的多个存储器区域302,向第一行解码器302提供来自第一地址404的所复用的行地址,并且向第二行解码器306提供所复用的列地址(例如,第二行地址),并且使用感测放大器308将第一地址404所识别的数据读取到行缓冲器310中。以这种方式,在某些实施例中,在tRCD时间段期间,读取和/或感测数据的延迟和/或延时出现一次,并且不会对于随后接收到的读取命令406的随后的tRL时间段增加延迟。
在所描绘的实施例中,寻址电路150接收多个随后的读取命令406,每个随后的读取命令406与随后的地址408一起(例如,列地址)。寻址电路150向列解码器312提供随后的地址408(例如,列地址),来从行缓冲器310内选择所请求的偏移处的数据410并且选通和/或锁存数据(例如,在一个或多个DQ线或其它数据总线上)。以这种方式,在某些实施例中,储存类存储器阵列300可以与易失性存储器访问协议(例如,
Figure BDA0001603372960000171
DDR3、DDR4和/或DDR5规范等)兼容和/或具有易失性存储器访问协议的一个或多个益处,当与其它非易失性存储器访问技术相比时,易失性存储器访问协议具有减少的延迟。
图5描绘了交叉点存储器阵列300的地址500、510的一个实施例。在某些实施例中,寻址电路150接收第一地址500作为用于存储器阵列300上的操作的激活命令的部分。在所描绘的实施例中,第一地址500包含阵列部分502(例如,4位,以从16k瓦片一次识别和/或选择1024个瓦片等)、行地址504(例如,4Mb瓦片的11位)、以及列地址506和/或第二行地址506(例如,4Mb瓦片的11位)。在一些实施例中,寻址电路150接收多个随后的第二地址510(例如,列地址510a、510b、510c),每个随后的第二地址510与诸如读取命令等的随后的命令一起。在所描绘的实施例中,随后的第二地址510和/或列地址510包括7位地址(例如,识别来自1Kb行缓冲器310的8个字节或64位等)。
在一个实施例中,寻址电路150提供在激活命令的时候复用的地址,将行地址500分成两个或多个块502、504、506并将它们分开馈送到存储器核心、瓦片等。在某些实施例中,响应于请求(例如,以预取方案)单个字节,寻址电路150读取整个页。在一个实施例中,寻址电路150将整个页移动到行缓冲器310,行缓冲器310位于DDR电路输)入/输出垫附近(例如,朝向诸如集成电路裸芯、裸芯平面、芯片等的存储器元件123的边缘;在阵列的存储器单元与集成电路裸芯、裸芯平面、芯片等的输入/输出触点之间)。因此,在某些实施例中,从寄存器(例如,行缓冲器310)到输出(例如,输入/输出垫或触点)的时序是简单的逻辑延迟,没有附加的存储器感测操作等。在一个实施例中,响应于接收到列地址510(例如,在用于相同读取操作的随后的读取命令中),可以发送下一个字节。
在某些实施例中,存储器阵列122包括可字节寻址的“交叉点”储存类存储器(例如,具有在字线和位线的阵列的交叉点处的存储器单元等)。在一个实施例中,使用位于靠近存储器瓦片302和/或核心302的外面的“行缓冲器”310的列解码器312,使用“列地址”510来访问数据,而不是参考存储器瓦片302和/或核心302中的实际列的列地址。
图6描绘了用于存储器阵列寻址的方法600的一个实施例。方法600开始并且寻址电路150接收602阵列122、200上的操作的地址。在一个实施例中,寻址电路150与用于该操作的激活命令一起接收602作为行地址的地址。接收到的602地址可以包括复用和/或编码到相同的单个地址中的阵列部分502、行地址504、列地址506等中的一个或多个。
寻址电路150将接收到的602地址(例如,通过复用和/或编码到接收到的602地址中的阵列部分502、行地址504和/或列地址506)所识别的数据储存604在行缓冲器310中。寻址电路150接收606包括一个或多个第二和/或随后的地址(例如,列地址510)的一个或多个随后的命令(例如,读取命令、写入命令等),寻址电路150可以使用该一个或多个第二和/或随后的地址来识别行缓冲器310中的数据(例如,行缓冲器310中的偏移,行缓冲器310中的储存来自阵列122、200的存储器单元的读取数据的位置,行缓冲器310中储存编程到阵列122、200的存储器单元的写入数据的位置等)。寻址电路150可以使用来自行缓冲器310和/或接收到的602、606地址的所储存的604的数据,来服务一个或多个接收到的606的随后的命令。方法600结束。
图7描绘了用于存储器阵列寻址的方法700的一个实施例。方法700开始,并且寻址电路150接收702具有数据操作(例如,用于读取操作、写入操作、其它数据操作等)的行地址500的激活命令。寻址电路150从接收到的702激活命令的行地址500提取704和/或解码704阵列部分502、行地址504和列地址506中的一个或多个(例如,用作列地址506等的第二行地址506)。
如果寻址电路150确定706数据操作是读取操作,则寻址电路150(例如,使用感测放大器250,读取/写入电路230等)感测708和/或读取708来自存储器单元的数据,该存储器单元由所提取的704阵列部分502、行地址504和/或列地址506识别或与所提取的704阵列部分502、行地址504和/或列地址506相关联(例如,阵列部分502所识别的每个存储器瓦片的位等)。寻址电路150将感测到的708数据加载710、锁存710和/或储存710到行缓冲器310中。响应于接收到712用于数据操作的读取命令,寻址电路150基于列地址510或接收到的712读取命令来传输714、锁存714、传送714和/或发送714来自行缓冲器310数据的部分。寻址电路150可以继续接收712并且服务附加的读取命令,直到寻址电路150确定716读取操作完成为止(例如,响应于停用或关闭命令、响应于从行缓冲器310传输714所有读取数据等),并且方法700可以继续进行一个或多个随后的数据操作。
如果寻址电路150确定706数据操作是写入操作,则寻址电路150接收718一个或多个写入命令,并且在基于接收到的718一个或多个写入命令中的每一个的列地址510所选择的位置处,将写入数据加载到行缓冲器310中。响应于确定722写入操作完成(例如,响应于停用或关闭命令、响应于行缓冲器310已满等),寻址电路150将写入数据从行缓冲器310写入724和/或编程724到存储器单元,该存储器单元由所提取的704阵列部分502、行地址504和/或列地址506识别或与所提取的704阵列部分502、行地址504和/或列地址506相关联(例如,阵列部分502所识别的每个存储器瓦片的位等),并且方法700可以继续进行一个或多个随后的数据操作。
在各种实施例中,用于将对于集成电路裸芯123的非易失性存储器瓦片302的阵列122上的操作接收到的地址500解码和/或提取到阵列部分502、行地址504和/或列地址506中的构件可以包含寻址电路150、裸芯上控制器220、片上地址解码器224、状态机222、装置控制器126、集成电路装置123(例如,存储器裸芯、存储器芯片等)、第一行解码器304、第二行解码器306和/或列解码器306、处理器111、FPGA、ASIC、其它逻辑硬件、和/或储存在计算机可读储存介质上的其它可执行代码。其它实施例可以包含类似的或等同的构件,用于解码和/或提取对于集成电路裸芯123的非易失性存储器瓦片302的阵列上的操作接收到的地址500。
在各种实施例中,用于将阵列部分502、行地址504和/或列地址506(和/或第二行地址506)所识别的数据加载到用于非易失性存储器瓦片302的阵列122的行缓冲器310的构件可以包含寻址电路150、裸芯上控制器220、片上地址解码器224、状态机222、装置控制器126、集成电路装置123(例如,存储器裸芯、存储器芯片等)、感测放大器308、列解码器312、处理器111、FPGA、ASIC、其它逻辑硬件、和/或储存在计算机可读储存介质上的其它可执行代码。其它实施例可以包含类似的或等同的构件,用于将阵列部分502、行地址504和/或列地址506(和/或第二行地址506)所识别的数据加载到用于非易失性存储器瓦片302的阵列122的行缓冲器310中。
在各种实施例中,用于使用来自行缓冲器310的数据来服务用于操作的多个随后的命令的构件可以包含寻址电路150、列解码器312、裸芯上控制器220、片上地址解码器224、状态机222、装置控制器126、集成电路装置123(例如,存储器裸芯、存储器芯片等)、输入/输出垫和/或触点、处理器111、FPGA、ASIC、其它逻辑硬件、和/或储存在计算机可读储存介质上的其它可执行代码。其它实施例可以包含类似的或等同的手段,用于使用来自行缓冲器310的数据来服务用于操作的多个随后的命令。
在不脱离其精神或基本特征的情况下,本公开可以以其它具体形式来体现。所描述的实施例在所有方面仅被认为是说明性的而非限制性的。因此,本公开的范围由所附权利要求而不是由前面的描述来指示。在权利要求的等同物的含义和范围内的所有变化都将被包含在其范围内。

Claims (18)

1.一种用于存储器阵列寻址的设备,包括:
多个存储器区域的阵列;
寻址电路,其配置为接收用于所述多个存储器区域的阵列上的操作的地址,所述地址包括行地址和列地址,两者复用到相同接收地址中,与用于所述操作的单个激活命令一起被接收,并且在所述多个存储器区域中的至少子集中的每一个中识别来自由所复用的行和列地址识别的来自行和列位置中的一位;以及
行缓冲器,其用于所述多个存储器区域的阵列,所述行缓冲器配置为储存来自在所述多个存储器区域的所述至少子集的每一个中的由所述所复用的行和列地址识别的来自所述行和列位置中的所述一位,基于与用于所述操作的随后的命令一起接收到的多个随后地址,从所述行缓冲器内不同位置迭代地选择所述操作的数据。
2.如权利要求1所述的设备,其中所述地址还包括阵列部分,所述阵列部分识别用于所述操作的所述阵列的多个存储器区域中的所述至少子集。
3.如权利要求1所述的设备,其中将所述行地址和所述列地址复用到所述地址中,作为与所述激活命令一起接收到的行地址。
4.如权利要求1所述的设备,其中所述多个随后地址与用于所述操作的所述随后的命令一起被接收,作为列地址。
5.如权利要求4所述的设备,其中所述随后的命令包括用于所述操作的读取命令。
6.如权利要求4所述的设备,其中所述列地址中的每一个参考所述行缓冲器中的不同偏移处的数据。
7.如权利要求1所述的设备,其中所述行缓冲器设置在与所述多个存储器区域的阵列相同的集成电路芯片上,并且缓冲用于所述多个存储器区域中的每一个上的操作的数据。
8.如权利要求7所述的设备,其中所述多个存储器区域中的每一个包括相同集成电路裸芯的交叉点存储器瓦片,并且所述行缓冲器设置在所述交叉点存储器瓦片的外面,朝向所述相同集成电路裸芯的边缘。
9.如权利要求7所述的设备,其中所述多个存储器区域中的每一个包括相同集成电路芯片的集成电路裸芯,并且所述行缓冲器设置在所述集成电路裸芯的外面,朝向所述相同集成电路芯片的边缘。
10.如权利要求1所述的设备,其中所述多个存储器区域的阵列包括非易失性储存类存储器,所述非易失性储存类存储器包括相变存储器、磁抗随机存取存储器和电阻式随机存取存储器中的一个或多个。
11.一种用于存储器阵列寻址的设备,包括:
用于将对于集成电路裸芯的非易失性存储器瓦片的阵列上的操作接收到的地址解码成阵列部分、行地址和列地址的构件,所述阵列部分、所述行地址和列地址来自与用于所述操作的单个激活命令一起被接收的相同接收地址;
用于将所述阵列部分、所述行地址和所述列地址所识别的来自行和列位置的每个瓦片的一位加载到用于所述非易失性存储器瓦片的阵列的行缓冲器的构件,所述行缓冲器设置朝向相同集成电路裸芯的边缘以存储来自所述阵列的多个非易失性存储器瓦片的数据;以及
用于使用来自所述行缓冲器的数据来服务用于所述操作的多个随后的命令的构件,所述多个随后的命令中的每一个包括附加的地址,所述附加的地址用于识别来自所述行缓冲器的数据的子集。
12.如权利要求11所述的设备,其中发送所述地址作为所述激活命令的行地址,从所述地址中解码所述阵列部分、所述行地址和所述列地址,并且发送所述附加的地址作为所述随后的命令的列地址,所述随后的命令包括读取命令和写入命令中的一个。
13.如权利要求11所述的设备,其中所述多个随后的命令包括所述操作的读取命令,并且服务所述读取命令包括读取来自所述非易失性存储器瓦片的阵列中的所述行和列位置的所述数据的所识别的子集,所述位置由所述阵列部分、所述行地址、所述列地址和所述附加的地址识别。
14.如权利要求13所述的设备,其中在每个识别的瓦片上的相同行和列位置处,从所述非易失性存储器瓦片的阵列的由阵列部分识别的所述瓦片的子集来加载每个瓦片的所述一位。
15.如权利要求11所述的设备,其中所述多个随后的命令包括所述操作的写入命令,并且服务所述写入命令包括将所述数据的所识别的子集编程到所述非易失性存储器瓦片的阵列中的所述行和列位置,所述位置由所述阵列部分、所述行地址、所述列地址和所述附加的地址识别,所述行和列位置包括来自所述非易失性存储器瓦片阵列的由阵列部分识别的每个瓦片的所述一位。
16.一种用于存储器阵列寻址的方法,包括:
从用于存储器裸芯上的读取操作的单个激活命令的相同接收行地址提取行地址和列地址;
感测来自由所述存储器裸芯的不同瓦片中的所提取的行地址和列地址识别的所述行和列地址中的存储器单元中的每一个的一位,并且将感测数据加载到所述存储器裸芯的行缓冲器中;以及
响应于用于所述读取操作的读取命令,迭代地传输来自所述行缓冲器的数据的不同部分,所述读取命令的列地址识别来自所述行缓冲器的数据的不同传输部分。
17.如权利要求16所述的方法,还包括:
从用于所述存储器裸芯上的编程操作的随后的激活命令的随后的行地址提取编程行地址和编程列地址;
响应于用于所述编程操作的写入命令,将所述编程操作的数据迭代地锁存到所述行缓冲器中,所述写入命令的列地址识别所述数据在所述行缓冲器中的位置;并且
将所述数据从所述行缓冲器编程到由所述存储器裸芯中的所提取的编程行地址和编程列地址识别的存储器单元。
18.如权利要求16所述的方法,其中所述行缓冲器设置朝向所述存储器裸芯的周围,在所述存储器单元与所述存储器裸芯的输入/输出触点之间。
CN201810239216.1A 2017-04-14 2018-03-21 交叉点存储器阵列寻址 Active CN108733581B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762485735P 2017-04-14 2017-04-14
US62/485,735 2017-04-14
US15/636,499 2017-06-28
US15/636,499 US10497438B2 (en) 2017-04-14 2017-06-28 Cross-point memory array addressing

Publications (2)

Publication Number Publication Date
CN108733581A CN108733581A (zh) 2018-11-02
CN108733581B true CN108733581B (zh) 2022-09-02

Family

ID=63790860

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810239216.1A Active CN108733581B (zh) 2017-04-14 2018-03-21 交叉点存储器阵列寻址

Country Status (2)

Country Link
US (1) US10497438B2 (zh)
CN (1) CN108733581B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102449193B1 (ko) * 2015-12-04 2022-09-29 삼성전자주식회사 버퍼를 포함하는 메모리 패키지, 확장 가능한 메모리 모듈 및 멀티-모듈 메모리 시스템
US10153020B1 (en) 2017-06-09 2018-12-11 Micron Technology, Inc. Dual mode ferroelectric memory cell operation
US10789179B1 (en) * 2017-10-06 2020-09-29 EMC IP Holding Company LLC Decentralized access management in information processing system utilizing persistent memory
CN111367829A (zh) * 2018-12-25 2020-07-03 北京兆易创新科技股份有限公司 一种线性地址获取方法及装置
KR20200085515A (ko) * 2019-01-07 2020-07-15 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 위한 컨트롤러
US11593263B2 (en) * 2019-03-28 2023-02-28 Intel Corporation Technologies to address individual bits in memory
US11144228B2 (en) * 2019-07-11 2021-10-12 Micron Technology, Inc. Circuit partitioning for a memory device
US11099784B2 (en) * 2019-12-17 2021-08-24 Sandisk Technologies Llc Crosspoint memory architecture for high bandwidth operation with small page buffer
US20210303215A1 (en) * 2020-03-27 2021-09-30 Etron Technology, Inc. Memory controller, memory, and related memory system
US11386945B2 (en) 2020-10-02 2022-07-12 Sandisk Technologies Llc Signal amplification in MRAM during reading, including a pair of complementary transistors connected to an array line
US11222678B1 (en) 2020-10-02 2022-01-11 Sandisk Technologies Llc MRAM cross-point memory with reversed MRAM element vertical orientation
US11328759B2 (en) 2020-10-02 2022-05-10 Sandisk Technologies Llc Signal preserve in MRAM during reading
US11947453B2 (en) 2020-10-19 2024-04-02 Micron Technology, Inc. Memory device with on-die cache
US11636893B2 (en) * 2020-10-19 2023-04-25 Micron Technology, Inc. Memory device with multiple row buffers
US11488662B2 (en) 2020-11-16 2022-11-01 Sandisk Technologies Llc Concurrent multi-bit access in cross-point array
US11487446B2 (en) * 2020-12-03 2022-11-01 Western Digital Technologies, Inc. Overhead reduction in data transfer protocol for NAND memory
US11586384B2 (en) 2021-02-16 2023-02-21 Western Digital Technologies, Inc. Overhead reduction in data transfer protocol for data storage devices
US20230045443A1 (en) * 2021-08-02 2023-02-09 Nvidia Corporation Performing load and store operations of 2d arrays in a single cycle in a system on a chip
US11972123B2 (en) * 2022-08-30 2024-04-30 Micron Technology, Inc. Row address latching for multiple activate command protocol

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0032136A2 (en) * 1980-01-08 1981-07-15 Honeywell Bull Inc. Memory system
CN101137966A (zh) * 2001-08-27 2008-03-05 英特尔公司 通用执行数据通路中软件控制的内容可寻址存储器
CN101165662A (zh) * 2006-10-18 2008-04-23 国际商业机器公司 实现存储器访问的方法和装置
CN101213533A (zh) * 2005-05-04 2008-07-02 Nxp股份有限公司 存储器控制器、控制存储器存取的方法以及包括存储器控制器的系统
CN102301348A (zh) * 2009-02-11 2011-12-28 桑迪士克以色列有限公司 主机请求映射的系统和方法
CN105426318A (zh) * 2015-11-12 2016-03-23 宁波伟依特照明电器有限公司 一种pic单片机的ram寻址方法

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5361339A (en) 1992-05-04 1994-11-01 Xerox Corporation Circuit for fast page mode addressing of a RAM with multiplexed row and column address lines
US5640527A (en) 1993-07-14 1997-06-17 Dell Usa, L.P. Apparatus and method for address pipelining of dynamic random access memory utilizing transparent page address latches to reduce wait states
US6804760B2 (en) 1994-12-23 2004-10-12 Micron Technology, Inc. Method for determining a type of memory present in a system
US7889544B2 (en) * 2004-04-05 2011-02-15 Super Talent Electronics, Inc. High-speed controller for phase-change memory peripheral device
US7471556B2 (en) * 2007-05-15 2008-12-30 Super Talent Electronics, Inc. Local bank write buffers for accelerating a phase-change memory
JP3569232B2 (ja) * 2001-01-17 2004-09-22 Necマイクロシステム株式会社 シリアルアクセス機能付きアドレスマルチプレクサメモリのテスト方式
US6385075B1 (en) 2001-06-05 2002-05-07 Hewlett-Packard Company Parallel access of cross-point diode memory arrays
US7057914B2 (en) 2002-08-02 2006-06-06 Unity Semiconductor Corporation Cross point memory array with fast access time
AU2003223013A1 (en) 2003-04-28 2004-11-23 Solid State System Co., Ltd. Nonvolatile memory structure with high speed high bandwidth and low voltage
US7167946B2 (en) * 2003-09-30 2007-01-23 Intel Corporation Method and apparatus for implicit DRAM precharge
US7027348B2 (en) * 2004-08-17 2006-04-11 Silicon Storage Technology, Inc. Power efficient read circuit for a serial output memory device and method
US7391664B2 (en) 2006-04-27 2008-06-24 Ovonyx, Inc. Page mode access for non-volatile memory arrays
US8230154B2 (en) * 2007-01-19 2012-07-24 Spansion Llc Fully associative banking for memory
US7606111B2 (en) * 2007-04-26 2009-10-20 Super Talent Electronics, Inc. Synchronous page-mode phase-change memory with ECC and RAM cache
US7643334B1 (en) * 2007-04-26 2010-01-05 Super Talent Electronics, Inc. High-speed controller for phase-change memory peripheral device
JP5474327B2 (ja) * 2008-10-02 2014-04-16 ピーエスフォー ルクスコ エスエイアールエル 半導体記憶装置及びこれを備えるデータ処理システム
US8559232B2 (en) 2010-05-03 2013-10-15 Aplus Flash Technology, Inc. DRAM-like NVM memory array and sense amplifier design for high temperature and high endurance operation
US9432298B1 (en) * 2011-12-09 2016-08-30 P4tents1, LLC System, method, and computer program product for improving memory systems
JP5481428B2 (ja) * 2011-05-26 2014-04-23 株式会社東芝 半導体記憶装置およびメモリシステム
JP5642649B2 (ja) * 2011-10-07 2014-12-17 シャープ株式会社 半導体記憶装置及び半導体装置
US9740485B2 (en) * 2012-10-26 2017-08-22 Micron Technology, Inc. Apparatuses and methods for memory operations having variable latencies
US8953387B2 (en) 2013-06-10 2015-02-10 Micron Technology, Inc. Apparatuses and methods for efficient write in a cross-point array
US9208883B2 (en) 2013-08-23 2015-12-08 Sandisk Technologies Inc. Three-dimensional NAND non-volatile memory devices with buried word line selectors
US9312005B2 (en) 2013-09-10 2016-04-12 Micron Technology, Inc. Accessing memory cells in parallel in a cross-point array
US9286959B2 (en) 2013-11-18 2016-03-15 International Business Machines Corporation Low latency memory access control for non-volatile memories
US9812200B2 (en) * 2014-07-08 2017-11-07 Adesto Technologies Corporation Concurrent read and write operations in a serial flash device
US9442663B2 (en) 2014-11-19 2016-09-13 Sandisk Technologies Llc Independent set/reset programming scheme
JP6151830B1 (ja) * 2016-07-05 2017-06-21 ウィンボンド エレクトロニクス コーポレーション 不揮発性半導体記憶装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0032136A2 (en) * 1980-01-08 1981-07-15 Honeywell Bull Inc. Memory system
CN101137966A (zh) * 2001-08-27 2008-03-05 英特尔公司 通用执行数据通路中软件控制的内容可寻址存储器
CN101213533A (zh) * 2005-05-04 2008-07-02 Nxp股份有限公司 存储器控制器、控制存储器存取的方法以及包括存储器控制器的系统
CN101165662A (zh) * 2006-10-18 2008-04-23 国际商业机器公司 实现存储器访问的方法和装置
CN102301348A (zh) * 2009-02-11 2011-12-28 桑迪士克以色列有限公司 主机请求映射的系统和方法
CN105426318A (zh) * 2015-11-12 2016-03-23 宁波伟依特照明电器有限公司 一种pic单片机的ram寻址方法

Also Published As

Publication number Publication date
US10497438B2 (en) 2019-12-03
US20180301188A1 (en) 2018-10-18
CN108733581A (zh) 2018-11-02

Similar Documents

Publication Publication Date Title
CN108733581B (zh) 交叉点存储器阵列寻址
US10545692B2 (en) Memory maintenance operations during refresh window
US10635580B2 (en) Buffering storage device data in a host memory buffer
US9996280B2 (en) Data register copying for non-volatile storage array operations
US10319445B1 (en) Programming unprogrammed upper page during lower page programming of multi-level storage cells
US20190163386A1 (en) Cell block allocation for hybrid dual write
US10331555B1 (en) Dynamic memory compaction
NL2030989B1 (en) Two-level main memory hierarchy management
US10628300B2 (en) RAID stripe physical placement
CN113448511B (zh) 通过链接阵列依序预提取
US10381097B2 (en) Read mode tuning
US11461238B2 (en) Storage device, memory controller, and method for fetching write commands from submission queues to perform full page writes
US20220413749A1 (en) Operation based on consolidated memory region description data
US11188474B2 (en) Balanced caching between a cache and a non-volatile memory based on rates corresponding to the cache and the non-volatile memory
CN114385521A (zh) 具有多个行缓冲区的存储器装置
US11645009B2 (en) Data storage with improved read parallelism
US20230359550A1 (en) File system integration into data mining model
US11947453B2 (en) Memory device with on-die cache
US20240143512A1 (en) Write buffer linking for easy cache reads
CN109690682B (zh) 具有程序偏置和快速感测的感测放大器
US20220113903A1 (en) Single memory bank storage for servicing memory access commands
WO2024063821A1 (en) Dynamic and shared cmb and hmb allocation
WO2024054273A1 (en) Metadata management in key value data storage device

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