CN102640226B - 具有内部处理器的存储器及控制存储器存取的方法 - Google Patents

具有内部处理器的存储器及控制存储器存取的方法 Download PDF

Info

Publication number
CN102640226B
CN102640226B CN201080054353.XA CN201080054353A CN102640226B CN 102640226 B CN102640226 B CN 102640226B CN 201080054353 A CN201080054353 A CN 201080054353A CN 102640226 B CN102640226 B CN 102640226B
Authority
CN
China
Prior art keywords
instruction
extraction unit
order
memory array
memory bank
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
CN201080054353.XA
Other languages
English (en)
Other versions
CN102640226A (zh
Inventor
罗伯特·J·沃克尔
丹·斯金纳
J·托马斯·帕夫洛夫斯基
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.)
Micron Technology Inc
Original Assignee
Micron Technology 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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN102640226A publication Critical patent/CN102640226A/zh
Application granted granted Critical
Publication of CN102640226B publication Critical patent/CN102640226B/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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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
    • 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
    • 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/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Memory System (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供具有内部处理器的存储器及此些存储器内的数据通信的方法。一个此种存储器可包含经配置以基于待存取的存储体的可用性而大致控制对存储器阵列执行命令的提取单元。所述提取单元可接收包含指示是将从存储体读取数据还是向存储体写入数据的命令及待从所述存储体读取或向所述存储体写入的所述数据的地址的指令。所述提取单元可基于所述存储体的所述可用性而执行所述命令。在一个实施例中,控制逻辑在经激活存储体为可用时与所述提取单元通信。在另一实施方案中,所述提取单元可基于设定为已执行所述经激活存储体中的先前命令的时间的计时器而等待存储体变为可用。

Description

具有内部处理器的存储器及控制存储器存取的方法
技术领域
本发明的实施例一般来说涉及存储器***,且更明确地说涉及具有内部处理器的存储器***。
背景技术
本章节打算向读者介绍此项技术的各个方面,所述方面可涉及下文所描述及/或所主张的本发明的各个方面。据信,此论述有助于向读者提供背景信息以促进更好地理解本发明的各个方面。因此,应理解,应将这些陈述判读为就上述情形而论而不是判读为对现有技术的认可。
电子***通常包含一个或一个以上处理器,所述一个或一个以上处理器可检索并执行指令且存储所述所执行指令的结果,例如将所述结果存储到适合位置。处理器通常可使用算术逻辑单元(ALU)电路来对数据(例如一个或一个以上操作数)执行指令(例如算术及逻辑运算)。举例来说,ALU电路可使操作数彼此相加、相减、相乘或相除,或者可使一个或一个以上操作数经历逻辑运算,例如AND、OR、XOR及NOT逻辑函数。处理器可执行具有不同复杂度的指令,且不同指令可涉及在一个或多个时钟循环中经由ALU电路输入操作数。
在将指令集引导到ALU以供执行中可涉及电子***中的若干个组件。在一些装置中,可由电子***中的控制器或某一其它适合处理器产生指令。可将数据(例如,将对其执行所述指令的操作数以及所述指令)存储于可由ALU存取的存储器组件(例如,存储器阵列)中。在ALU开始对数据执行指令之前,可从存储器检索指令及数据并对其进行定序及/或缓冲。此外,由于可在一个或多个时钟循环中经由ALU执行不同类型的运算,因此还可对指令及/或数据的中间结果进行定序及/或缓冲。
通常,处理器(例如,ALU电路)可在存储器阵列外部,且必须经由处理器与存储器阵列之间的总线存取数据以执行指令集。由于处理速度可受总线的带宽限制,因此可在其中在存储器内部(例如,直接在存储器上)实施处理器的存储器中处理器(PIM)装置中改进处理性能,从而节约处理时间及电力。此外,存储器还可经配置以在借助极少外部帮助或不借助外部帮助的情况下执行指令,从而进一步节省处理电力。
发明内容
本发明的一个实施例公开了一种操作存储器装置的方法,其包括:由在存储器装置内部的定序器从在存储器装置内部的指令缓冲器提取指令,其中指令包括地址以及命令;将指令传送到在存储器装置内部的提取单元,其中提取单元经配置以控制对存储器阵列的存取;将指令从提取单元传送到存储器装置的存储器控制装置,其中提取单元从存储器控制装置分离;使用存储器控制装置将指令解码为经解码地址和控制信号;由提取单元激活存储器阵列的存储器存储体;及由在存储器装置内部的处理器使用经解码地址和控制信号执行指令。
本发明的另一个实施例公开了一种存储器装置,其包括:指令缓冲器,其经配置以存储指令;内部处理器,其经配置以在不借助来自外部装置的帮助的情况下对数据执行运算;存储器阵列,其经配置以存储数据;计算缓冲器,其经配置以存储由内部处理器执行的运算的中间结果;及提取单元,其经配置以控制对存储器阵列的存取且经配置以接收从指令缓冲器检索的指令,其中指令包括存储在计算缓冲器中的中间结果的地址以及用于内部处理器以使用中间结果执行运算的命令。
附图说明
在以下详细说明中且参考图式描述某些实施例,在图式中:
图1描绘根据本发明技术的实施例的基于处理器的***的框图;
图2描绘根据本发明技术的实施例的具有与外部处理器介接的内部处理器的存储器***的框图;
图3图解说明根据本发明技术的一个或一个以上实施例的具有内部处理器的存储器的一部分及所述存储器的不同组件之间的通信通路;且
图4是描绘根据本发明技术的一个或一个以上实施例的用于存取具有内部处理器的存储器中的存储器阵列的过程的流程图。
具体实施方式
电子装置通常可使用处理器来在多个级中处理指令。处理指令可包含执行指令并存储所执行指令的结果。举例来说,可由外部处理器(例如,存储器控制器)将指令及将对其执行所述指令的数据发送到内部处理器(例如,ALU电路)。可首先将所述指令及/或数据存储于存储器阵列中以在内部处理器可用于执行指令时检索。一旦已执行所述指令,内部处理器便可将所述指令的结果存储于存储器组件、存储器阵列中或存储到任一其它适合输出。
在存储器外部的处理器可需要外部总线来将信息(例如,指令及/或数据)传送到存储器阵列及从存储器阵列传送信息。处理效率可部分地受外部总线的带宽限制,因为在存储器阵列与处理器之间传送信息可消耗电力及时间。在一个或一个以上实施例中,存储器可通过允许在不借助外部总线的情况下在存储器阵列与处理器之间传送信息来节约电力。
根据本发明技术,可将一个或一个以上处理器(例如ALU)与存储器中的存储器组件封装在一起。举例来说,存储器可为存储器中处理器(PIM)且可包含嵌入于存储器装置(例如,存储器阵列)上的ALU,所述存储器装置可存储待由ALU执行的指令及数据以及来自所述所执行指令的结果。在其它实施例中,ALU及存储器阵列可在同一封装中的独特裸片上。举例来说,ALU及存储器阵列可布置成多芯片封装(MCP),且可通过一个或一个以上穿硅通孔(TSV)电连接。与存储器装置封装在一起(举例来说,无论是嵌入于存储器装置上还是作为MCP的一部分)的处理器可称为“内部处理器”,且因此与处理器封装在一起的存储器装置可视为“具有”内部处理器的存储器。如本文中所使用,“计算引擎”可为内部处理器的实例且可与根据本发明技术的存储器装置封装在一起。此外,内部处理器(例如计算引擎)可包括一个或一个以上ALU。
存储器还可包含例如用以组织指令及数据的定序器、用以从存储器阵列存取数据的提取单元以及用以存储(例如,保持)数据及/或指令的缓冲器的组件。缓冲器还可在将中间结果或最终结果传送到存储器阵列之前保持所述中间结果或最终结果。在一个实施例中,定序器可仲裁对存储器阵列的存取或可与存储器外部的仲裁对所述阵列的存取的处理器(即,外部处理器)通信。在一个或一个以上实施例中,提取单元也可仲裁对存储器阵列的存取。对存储器上的存储器阵列的内部仲裁可使得所述存储器能够在借助极少来自外部装置(例如外部处理器)的帮助或不借助来自外部装置的帮助的情况下处理指令。
本发明技术的一个实施例涉及一种存储器,其经配置以在具有与所述存储器外部的其它装置或处理器的通信减少的情况下处理指令。更具体来说,某些组件(例如定序器及提取单元)可在大致无外部控制或外部数据传送的情况下读取及写入数据并组织运算的执行。降低外部通信量可允许存储器具有较少外部总线或具有减小的宽度的外部总线。此外,降低外部通信量可减少处理电力,因为可节省出入存储器的消耗电力的数据传送。
现翻到图,图1描绘通常由参考编号10指定的基于处理器的***。如下文所解释,***10可包含根据本发明技术的实施例制造的各种电子装置。***10可为例如计算机、寻呼机、蜂窝式电话、个人记事本、控制电路等多种类型中的任一者。在典型的基于处理器的***中,一个或一个以上处理器12(例如微处理器)控制对***10中的***功能及请求的处理。如下文所解释,处理器12及***10的其它子组件可包含根据本发明技术的一个或一个以上实施例制造的存储器。
***10通常包含电源14。举例来说,如果***10为便携式***,则电源14可有利地包含燃料电池、电力采集装置(powerscavengingdevice)、永久电池、可更换电池及/或可再充电电池。举例来说,电源14还可包含AC适配器,因此***10可***到墙式插座中。举例来说,电源14还可包含DC适配器以使得***10可***到车载点烟器中。
取决于***10执行的功能,可将各种其它装置耦合到处理器12。举例来说,可将输入装置16耦合到处理器12。举例来说,输入装置16可包含按钮、开关、键盘、光笔、鼠标、数字化器以及手写笔及/或语音辨识***。还可将显示器18耦合到处理器12。输入装置16及/或显示器18可各自或两者形成用户接口。举例来说,显示器18可包含LCD、SED显示器、CRT显示器、DLP显示器、等离子显示器、OLED显示器、LED及/或音频显示器。此外,还可将RF子***/基带处理器20耦合到处理器12。RF子***/基带处理器20可包含耦合到RF接收器且耦合到RF发射器的天线(未展示)。还可将一个或一个以上通信端口22耦合到处理器12。举例来说,通信端口22可适于耦合到一个或一个以上***装置24(例如调制解调器、打印机、计算机)或网络(例如局域网、远程局域网、内联网或因特网)。
处理器12通常通过处理存储于存储器中的程序来控制***10。举例来说,软件程序可包含操作***、数据库软件、绘图软件、字处理软件及/或视频、图片或声音编辑软件。所述存储器以可操作方式耦合到处理器12以存储并促进指令的执行以实施各种程序。举例来说,处理器12可耦合到***存储器26,***存储器26可包含动态随机存取存储器(DRAM)及/或同步动态随机存取存储器(SDRAM)。***存储器26可包含易失性存储器、非易失性存储器或其组合。***存储器26通常较大以使得其可动态地存储所载入的应用程序及数据。
处理器12还可耦合到非易失性存储器28,此并不暗示***存储器26必需为易失性的。非易失性存储器28可包含待结合***存储器26使用的只读存储器(ROM),例如EPROM、电阻式只读存储器(RROM)及/或快闪存储器。ROM的大小通常选择为恰好足够大以存储任一必需的操作***、应用程序及固定数据。另外,非易失性存储器28可包含高容量存储器,例如磁带或磁盘驱动器存储器(例如包含电阻式存储器或其它类型的非易失性固态存储器的混合式驱动器)。
本发明技术的一些实施例涉及处理器12与***存储器26的组件之间的通信。举例来说,处理器12可包含通用处理器、中央处理单元、处理器核心、ASIC、存储器控制器及/或(举例来说)能够发送及接收来自存储器(例如***存储器26中的存储器装置)的内部处理器的信号的ALU。处理器12与存储器(例如***存储器26)的组件之间的通信中所涉及的***10的组件通常可称为“存储器***”30,如图2的框图中所图解说明。在一些实施例中,存储器***30可包含可为***10(如图1中)的***存储器26的一部分的存储器装置34且可具有内部处理器(例如计算引擎38)。存储器***30还可包含外部处理器32,外部处理器32可与一更通用处理器一起位于芯片上***(SOC)中以共同形成处理器控制式***10(如图1中)的处理器12。外部处理器32(其还可为外部存储器控制器)可与存储器装置34的某些组件通信及/或控制存储器装置34的某些组件。
存储器***30可包含具有不限于外部处理器32与存储器装置32之间的通信的功能的组件。举例来说,外部处理器32可控制除存储器装置34以外的装置。然而,外部处理器32(如关于存储器***30所解释)可指与存储器装置34的某些组件通信及/或控制存储器装置34的某些组件的外部处理器32的一个功能。同样地,并非***存储器26的所有部分均可为存储器***30的部分。根据本发明技术,“存储器装置”34可指存储器***的与外部处理器32的通信中所涉及的组件。
外部处理器32与存储器装置34可通过标准存储器接口44而以可操作方式耦合,此可允许外部处理器32与存储器装置34之间的数据传送且可允许外部处理器32将命令发送(例如,传送)到存储器装置34。举例来说,在一个或一个以上实施例中,标准存储器接口44的类型可包含DDR、DDR2、DDR3、LPDDR或LPDDR2。此外,在一些实施例中,额外接口可经配置以允许存储器装置34与外部处理器32之间的数据以及命令(例如,请求、授予、指令等)传送。举例来说,外部处理器32与存储器装置34还可通过控制接口46而以可操作方式耦合,此可允许外部处理器32与存储器装置34之间的命令(包含从存储器装置34到外部处理器32的命令)传送。
存储器(例如存储器装置34)可经配置以大致处理指令(包含执行指令及存储完成的结果)且可具有与外部处理器32的减少的通信。虽然可通常由外部处理器32控制对存储器装置34上的存储器阵列36的存取,但在一个或一个以上实施例中,可大致在存储器装置34内控制对指令的处理(包含存储器阵列存取)。举例来说,一旦外部处理器32将指令发送到存储器阵列36,对所述指令的处理(包含存取存储器阵列36以读取及/或写入数据)便可大部分在存储器装置34内发生。
存储器阵列36可指任一适合形式的存储装置且可包含(举例来说)DRAM阵列或SDRAM阵列。在一个或一个以上实施例中,存储器阵列36可存储数据、待对所述数据执行的指令及所执行指令的完成的结果。存储器阵列36可由存储器***30中的某些组件存取,该等组件可存取所述阵列以读取指令及/或数据、写入完成的结果等。通常,在存储器阵列36的存储体中一次仅可执行一个命令(例如,读取及/或写入)。因此,可仲裁对存储器阵列36的存取以使得存储器阵列存储体中的命令不冲突。
存储器装置34还可包含内部处理器(例如计算引擎38),该内部处理器可包含一个或一个以上算术逻辑单元(ALU)。此外,计算引擎38可指存储器装置34上的多个计算引擎38。计算引擎38可经配置以对数据执行运算。在一个实施例中,计算引擎38可包含经配置以对数据(例如操作数或先前运算的中间结果)执行各种数学或逻辑运算的一个或一个以上ALU块。
计算引擎38可由定序器40控制,定序器40可能够存取存储器阵列36,包含从存储器阵列36检索信息(例如,读取指令及/或数据)及将信息存储(例如,将完成的结果写入)于存储器阵列36中。检索及存储信息的过程还可涉及提取单元50、存储器控制件48及存储器组件(例如缓冲器42)。定序器40可将命令信息及数据地址传送到提取单元50,且提取单元50可将存储器阵列36状态定序以读取及写入数据。在一个实施例中,存储器控制件48可将由提取单元50从定序器40接收的命令及地址位解码。
一旦计算引擎38已执行所述指令,便可在向存储器阵列36写入结果之前将所述结果存储于缓冲器42中。此外,由于在计算引擎中一些指令可需要一个以上时钟循环及/或需要执行多个运算,因此还可将中间结果存储于存储器装置34中的存储器组件中。举例来说,可将中间结果存储于例如耦合到计算引擎38的缓冲器42或存储器寄存器的存储器组件中。在一个或一个以上实施例中,计算引擎38可针对所述中间结果存取缓冲器42以执行后续运算。
缓冲器42可包含一个或一个以上缓冲器层。举例来说且如将参考图3进一步论述,缓冲器42可包含可存储数据(例如,操作数、中间结果,完成的结果等)的计算缓冲器54及可存储从存储器阵列36传送的指令的指令缓冲器。缓冲器42还可包含可提供较密集存储且可存储所执行指令的中间结果或最终结果的额外缓冲器(例如数据缓冲器或简单缓冲器)。如本文中所使用,“缓冲器42”可指任一类型的缓冲器层(例如,计算缓冲器、指令缓冲器、数据缓冲器等)或能够保持传送到计算引擎38及从计算引擎38传送的数据及/或指令的任一类型的存储器。
如所论述,具有内部处理器的存储器具有改进的处理能力,因为存储器内(例如,内部处理器与存储器阵列之间)的内部通信可减少电力消耗及处理时间。在一个或一个以上实施例中,具有经配置以在存储器装置34内大致处理指令的存储器装置34的存储器***30可进一步改进处理能力。更具体来说,存储器装置34可经配置以仲裁对装置34上的存储器阵列36的存取。
可在图3的存储器装置部分52中描绘用于仲裁存储器阵列存取的过程,图3图解说明存储器装置部分52的不同组件之间的可能通信。此外,还可在图4的流程图中解释用于仲裁存储器装置34中的存储器阵列存取的过程80。由于图4可解释图3中所描绘的存储器装置组件及通信,因此可同时论述图3与4。
过程80可在定序器40从指令缓冲器56提取指令时开始(框82)。在一个实施例中,可已在外部(例如通过外部处理器32)将所述指令传送到存储器阵列36(如图2中)且在指令缓冲器56中缓冲。所述指令可包含待对数据执行的运算、用以从存储器阵列36读取数据或向存储器阵列36写入数据的命令以及数据地址(例如,存储器阵列36中的其中定位数据的存储体及页)。所述定序器可通过将控制信号58发送到指令缓冲器56以识别所述指令缓冲器中的待从其检索指令的行来检索指令。可将所述指令传送(路径60)到定序器40。
在一个或一个以上实施例中,所述指令可为直接或间接的。直接指令可包含多个命令,例如用于组织待对数据执行的运算的命令、用于读取或写入数据的命令及/或数据的地址。举例来说,直接指令可包含用以从存储器阵列36读取数据或向存储器阵列36写入数据的命令、存储器阵列36中的针对所述数据的地址(例如,读取操作数A及操作数B的地址)以及告知定序器40如何组织针对操作数A及B的某些运算的命令。间接指令可包含比较来说较简单的命令,所述命令可一次一个命令地传送到定序器40。举例来说,间接指令可包含用以从存储器阵列36提取操作数A的一个命令、用以从存储器阵列36提取操作数B的另一命令、用以组织针对操作数A及B的某些运算的第三命令及用以识别阵列36中的其中可存储完成的结果的地址的第四命令。虽然直接指令可因一起传送直接指令的所有部分(例如,所述直接指令的不同命令)而增加处理速度,但间接指令可实现较简单存储器装置34。举例来说,在经配置以传送间接指令的存储器装置34中,定序器40可为较简单的,总线60可无需为宽的,及/或指令缓冲器56可无需与传送直接指令的指令缓冲器56一样宽。
由指令缓冲器56传送的指令可包含用以从存储器阵列36读取数据(例如,操作数)或向存储器阵列36写入数据(例如,完成的结果)的命令。举例来说,所述指令可命令定序器40检索存储于阵列36中的某一地址(例如,特定存储体及行)处的某些操作数。替代地,由于一些指令可使用先前运算的中间结果执行,因此所述指令可包含待从计算缓冲器42检索的中间结果的地址。如果使用中间结果执行所述指令,则定序器40可无需存取存储器阵列36。
如果所述指令命令定序器40存取存储于存储器阵列36中的操作数,则可仲裁对阵列36的存取以防止可在正在阵列36的同一存储体内一次发生一个以上命令(例如,读取及写入)的情况下发生的存储器阵列36的损毁。在一个或一个以上实施例中,存储器装置34可经配置以使得可在存储器装置34内执行对存储器阵列存取的仲裁。在一个实施例中,定序器40可控制存储器阵列仲裁且可在外部(例如,与外部处理器32)通信以仲裁存储器阵列存取。然而,可大致减少与外部装置的通信。举例来说,对存储器阵列36的存取可大致由存储器装置34中的提取单元50控制。
过程80描绘大致由提取单元50控制的存储器阵列存取。一旦定序器40接收到指令,定序器40便可将所述指令(包含命令62及地址64)传送到提取单元50(框84)。在一个实施例中,提取单元50可将命令62及地址64传送到存储器控制件48,存储器控制件48将所述指令解码成经解码地址68及控制信号66(框86)。经解码地址68及控制信号66可命令从适当地址(例如,某一存储体、页及/或行)读取数据或向所述适当地址写入数据。提取单元50可然后激活(例如,打开)保持所述数据的存储体或将向其写入数据的存储体(框90)。
提取单元50可大致控制对存储器阵列的存取以防止对存储器阵列36的同一存储体执行一个以上命令(例如,读取或写入数据)。对存取存储器阵列36的此仲裁可具有根据本发明技术的各种实施方案。在一个实施例中,存储器阵列36可包含控制逻辑74,控制逻辑74可经配置以监视打开或关闭阵列36中的一页的时间。控制逻辑74可参与“交握”,交握可指将指示所关注的存储体(即,命令提取单元50从其读取或向其写入的存储体)的状态的控制信号76发送到提取单元50。提取单元50可在对所述所关注的存储体执行命令之前等待信号76(框90)。
如果所述所关注的存储体为可用的(例如,未正对所述所关注的存储体执行命令),则提取单元50可执行从所述所关注的存储体读取及/或向所述所关注的存储体写入的命令(框92)。如果定序器40处所接收的指令包含用以读取数据的命令,则所述提取单元可从所述所关注的存储体检索所述数据并将所述数据传送到计算缓冲器54,以使得所述数据将可用于计算引擎38以对所述数据执行指令。此外,如果定序器40处所接收的指令包含用以向所述存储器阵列写入数据的命令,则提取单元50可将所述数据(例如,完成的结果)写入于存储器阵列36中的所命令地址处。
一旦执行了所述命令(框92),存储器阵列36的控制逻辑74便可将信号76发送到提取单元50以指示已对所述所关注的存储体执行所述命令(框94)。提取单元50可然后将存储器阵列36上的所述所关注的存储体预充电(例如,关闭)(框96),且控制逻辑74可发送确认已关闭所述所关注的存储体的信号74(框98)。提取单元50可发送向定序器40指示已执行所述命令且已检索所述数据或已将所述数据存储到存储器阵列36中的适当地址的信号78(框100)。可将所述数据传送(路径70)到计算缓冲器54,计算缓冲器54可保持所述数据直到计算引擎38(如图2中,未描绘于图3中)使用所述数据来执行指令为止。
如所论述,不同实施方案可用于对存储器阵列存取的仲裁。在另一实施例中,提取单元50可基于计时器79对命令(例如,读取或写入)的执行计时。计时器79可基于往来于存储器阵列36的数据传送通常所花费的时间的时钟循环。举例来说,在打开所述存储器阵列中的存储体(框88)之后且在对所述存储体执行命令之前,可激活计时器79,且提取单元50可等待直到满足由计时器79设定的时间条件为止以确保未正对所述所关注的存储体执行其它命令(框90)。一旦满足了所述计时器条件,提取单元50便可开始从所述所关注的存储体读取或向所述所关注的存储体写入(框92)。基于待执行的命令,可设定另一计时器以指示所述命令将完成的时间。提取单元50可在将存储器阵列36中的存储体预充电(关闭)之前等待满足命令完成计时器。此外,在一个实施例中,可基于估计命令将完成的时间而在所述提取单元开始对存储体执行命令时激活计时器79。对所述存储体的进一步存取可基于来自先前命令的经激活计时器79。在一个或一个以上实施例中,计时器79(例如tRCD、tRP等)可用于在提取单元50执行命令或关闭所述所关注的存储体之前设定适当的时间量。
虽然过程80解释处理包含从存储器阵列36读取及/或向存储器阵列36写入的指令,但定序器40还可接收不包含存取存储器阵列36的指令。举例来说,定序器40可接收可使用先前运算或指令(其可已在计算缓冲器54的某一行中缓冲)的中间结果执行的指令。除执行先前所论述的过程80以外,定序器40还可将控制信号72发送到计算缓冲器54以识别计算缓冲器54中的在其上定位所述中间结果的行。由于数据已在计算缓冲器54中,因此计算缓冲器54与存储器阵列36之间的传送可不针对执行其中操作数已作为来自先前运算的中间结果在计算缓冲器54中缓冲的运算发生。
此外,如所论述,缓冲器42(如图2中)可包含可被分割及/或具有到存储器装置34的组件的不同总线的一个或一个以上层。缓冲器42可包含在图3中图解说明为单独缓冲器42的指令缓冲器56及计算缓冲器54,每一缓冲器具有到定序器40及存储器阵列36的个别总线。然而,图3中的单独缓冲器54及56还可为具有用于存储数据及指令的层且具有位于缓冲器42(例如,经组合的缓冲器54与56)与存储器阵列36及/或定序器40之间的共享总线的一个缓冲器42。
虽然可易于对本发明做出各种修改及替代形式,但已在图式中以实例方式展示且已在本文中详细描述了特定实施例。然而,应理解,本发明并不打算限于所揭示的特定形式。而是,本发明旨在涵盖归属于如由以上所附权利要求书定义的本发明的精神及范围内的所有修改、等效物及替代方案。

Claims (15)

1.一种操作存储器装置的方法,其包括:
由在所述存储器装置内部的定序器从在所述存储器装置内部的指令缓冲器提取指令,其中所述指令包括地址以及命令;
将所述指令传送到在所述存储器装置内部的提取单元,其中所述提取单元经配置以控制对所述存储器装置的存储器阵列的存取;
将所述指令从所述提取单元传送到所述存储器装置的存储器控制装置,其中所述提取单元从所述存储器控制装置分离;
使用所述存储器控制装置将所述指令解码为经解码地址和控制阵列信号;
由所述提取单元激活所述存储器阵列的存储器存储体;及
由在所述存储器装置内部的处理器使用所述经解码地址和所述控制阵列信号执行所述指令。
2.根据权利要求1所述的方法,其中提取所述指令包括提取待对数据执行的运算或者用以从所述存储器阵列读取数据或向所述存储器阵列写入数据的命令。
3.根据权利要求1所述的方法,其中提取指令包括提取包括多个命令的直接指令。
4.根据权利要求1所述的方法,其中提取指令包括提取用以从所述存储器阵列中的第一地址检索操作数的指令。
5.根据权利要求1所述的方法,其中提取指令包括提取用以从所述存储器装置中的计算缓冲器检索操作数的指令。
6.根据权利要求1所述的方法,其包括仲裁对所述存储器阵列的存取,其中仲裁在所述存储器装置内部执行。
7.根据权利要求1所述的方法,所述方法在没有来自外部处理器的指令的情况下发生。
8.根据权利要求1所述的方法,其包括:
将第一控制信号传送到所述提取单元以指示所述存储器存储体为可用的;且
其中激活所述存储器存储体仅在将所述第一控制信号传送到所述提取单元之后发生;
其中执行所述指令包括响应于所述第一控制信号而执行对所述存储器阵列的读取命令及写入命令中的一者或一者以上。
9.根据权利要求8所述的方法,其包括将第二控制信号传送到所述提取单元以指示已执行所述指令。
10.根据权利要求9所述的方法,其包括基于所述第二控制信号而对所述存储器存储体进行预充电。
11.根据权利要求1所述的方法,其包括:
在激活所述存储器存储体之后,激活以可操作方式耦合到所述提取单元的计时器,其中所述计时器设定所述提取单元开始对所述存储体执行所述命令的时间;及
基于所述计时器而对所述存储器存储体执行所述命令,其中所述命令包括读取命令及写入命令中的一者或一者以上。
12.根据权利要求11所述的方法,其进一步包括基于对所述存储器存储体的先前命令完成的时间而设定所述计时器。
13.一种存储器装置,其包括:
指令缓冲器,其经配置以存储指令;
内部处理器,其经配置以在不借助来自外部装置的帮助的情况下对数据执行运算;
存储器阵列,其经配置以存储所述数据;
计算缓冲器,其经配置以存储由所述内部处理器执行的所述运算的中间结果;及
提取单元,其经配置以控制对所述存储器阵列的存取且经配置以接收从所述指令缓冲器检索的指令,其中所述指令包括存储在所述计算缓冲器中的所述中间结果的地址以及用于所述内部处理器以使用所述中间结果执行运算的命令。
14.根据权利要求13所述的存储器装置,其中所述提取单元经配置以在不借助来自外部装置的帮助的情况下操作,且其中所述提取单元经配置以在引导到所述存储器阵列的指令之间进行仲裁。
15.根据权利要求13所述的存储器装置,其进一步包括定序器,所述定序器经配置以从所述指令缓冲器检索所述指令,且将所述命令及所述地址传送到所述提取单元。
CN201080054353.XA 2009-10-21 2010-10-07 具有内部处理器的存储器及控制存储器存取的方法 Active CN102640226B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/603,393 US8719516B2 (en) 2009-10-21 2009-10-21 Memory having internal processors and methods of controlling memory access
US12/603,393 2009-10-21
PCT/US2010/051844 WO2011049753A1 (en) 2009-10-21 2010-10-07 Memory having internal processors and methods of controlling memory access

Publications (2)

Publication Number Publication Date
CN102640226A CN102640226A (zh) 2012-08-15
CN102640226B true CN102640226B (zh) 2015-11-25

Family

ID=43447261

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080054353.XA Active CN102640226B (zh) 2009-10-21 2010-10-07 具有内部处理器的存储器及控制存储器存取的方法

Country Status (6)

Country Link
US (2) US8719516B2 (zh)
EP (1) EP2491561B1 (zh)
KR (1) KR101354346B1 (zh)
CN (1) CN102640226B (zh)
TW (1) TWI442244B (zh)
WO (1) WO2011049753A1 (zh)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8281395B2 (en) * 2009-01-07 2012-10-02 Micron Technology, Inc. Pattern-recognition processor with matching-data reporting module
US8234460B2 (en) 2009-06-04 2012-07-31 Micron Technology, Inc. Communication between internal and external processors
US9535876B2 (en) 2009-06-04 2017-01-03 Micron Technology, Inc. Conditional operation in an internal processor of a memory device
US8380916B2 (en) 2009-06-04 2013-02-19 Micron Technology, Inc. Control of page access in memory
US8521958B2 (en) 2009-06-04 2013-08-27 Micron Technology, Inc. Internal processor buffer
US9477636B2 (en) 2009-10-21 2016-10-25 Micron Technology, Inc. Memory having internal processors and data communication methods in memory
TWI631459B (zh) * 2011-11-04 2018-08-01 曾銘松 記憶體裝置與其運作方法
US9747048B2 (en) 2014-06-02 2017-08-29 Micron Technology, Inc. Systems and methods for packing data in a scalable memory system protocol
US10061590B2 (en) 2015-01-07 2018-08-28 Micron Technology, Inc. Generating and executing a control flow
CN107408404B (zh) 2015-02-06 2021-02-12 美光科技公司 用于存储器装置的设备及方法以作为程序指令的存储
FR3032814B1 (fr) * 2015-02-18 2018-02-02 Upmem Circuit dram muni d'un processeur integre
WO2017065379A1 (ko) * 2015-10-16 2017-04-20 삼성전자 주식회사 프로세싱-인-메모리를 이용한 명령어 처리 방법 및 그 장치
KR20170060739A (ko) 2015-11-25 2017-06-02 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
US9997232B2 (en) 2016-03-10 2018-06-12 Micron Technology, Inc. Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations
KR102548591B1 (ko) * 2016-05-30 2023-06-29 삼성전자주식회사 반도체 메모리 장치 및 그것의 동작 방법
KR20170136829A (ko) 2016-06-02 2017-12-12 삼성전자주식회사 반도체 장치, 메모리 장치 및 메모리 장치의 동작 방법
US10423353B2 (en) * 2016-11-11 2019-09-24 Micron Technology, Inc. Apparatuses and methods for memory alignment
KR20180093648A (ko) * 2017-02-14 2018-08-22 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US10684955B2 (en) * 2017-04-21 2020-06-16 Micron Technology, Inc. Memory devices and methods which may facilitate tensor memory access with memory maps based on memory operations
US10236038B2 (en) * 2017-05-15 2019-03-19 Micron Technology, Inc. Bank to bank data transfer
US10416927B2 (en) 2017-08-31 2019-09-17 Micron Technology, Inc. Processing in memory
US10741239B2 (en) 2017-08-31 2020-08-11 Micron Technology, Inc. Processing in memory device including a row address strobe manager
US10346092B2 (en) 2017-08-31 2019-07-09 Micron Technology, Inc. Apparatuses and methods for in-memory operations using timing circuitry
KR102395463B1 (ko) 2017-09-27 2022-05-09 삼성전자주식회사 적층형 메모리 장치, 이를 포함하는 시스템 및 그 동작 방법
US10866900B2 (en) * 2017-10-17 2020-12-15 Samsung Electronics Co., Ltd. ISA extension for high-bandwidth memory
US10825491B2 (en) * 2017-12-11 2020-11-03 Micron Technology, Inc. Systems and methods for writing zeros to a memory array
WO2019202371A1 (en) * 2018-04-16 2019-10-24 Badenhorst Emile A processor and a method of operating a processor
KR102665410B1 (ko) 2018-07-30 2024-05-13 삼성전자주식회사 메모리 장치의 내부 프로세싱 동작 방법
TWI749331B (zh) * 2018-10-11 2021-12-11 力晶積成電子製造股份有限公司 具有記憶體內運算架構的記憶體及其操作方法
US10483978B1 (en) * 2018-10-16 2019-11-19 Micron Technology, Inc. Memory device processing
US10884663B2 (en) * 2019-03-14 2021-01-05 Western Digital Technologies, Inc. Executable memory cells
US10884664B2 (en) 2019-03-14 2021-01-05 Western Digital Technologies, Inc. Executable memory cell
US11687363B2 (en) * 2019-07-15 2023-06-27 Micron Technology, Inc. Internal management traffic regulation for memory sub-systems
TW202141290A (zh) 2020-01-07 2021-11-01 韓商愛思開海力士有限公司 記憶體中處理(pim)系統和pim系統的操作方法
US11720354B2 (en) * 2020-01-07 2023-08-08 SK Hynix Inc. Processing-in-memory (PIM) system and operating methods of the PIM system
FR3118528B1 (fr) * 2020-12-28 2023-12-01 Commissariat Energie Atomique Module mémoire adapté à mettre en oeuvre des fonctions de calcul
CN114647599A (zh) * 2021-04-16 2022-06-21 深圳宏芯宇电子股份有限公司 计算机网络及数据处理方法
US20230060826A1 (en) * 2021-09-01 2023-03-02 Micron Technology, Inc. Command scheduling component for memory
US11887688B2 (en) 2021-10-26 2024-01-30 Micron Technology, Inc. Techniques for indicating row activation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5131082A (en) * 1989-06-09 1992-07-14 International Business Machines Corporation Command delivery for a computing system for transfers between a host and subsystem including providing direct commands or indirect commands indicating the address of the subsystem control block
US5452427A (en) * 1989-07-14 1995-09-19 Fujitsu Limited Data processing device for variable word length instruction system having short instruction execution time and small occupancy area
CN1825466A (zh) * 2004-12-13 2006-08-30 因芬尼昂技术股份公司 存储器装置,存储器控制器及其操作方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960001273B1 (ko) * 1991-04-30 1996-01-25 가부시키가이샤 도시바 단일칩 마이크로컴퓨터
US5634073A (en) * 1994-10-14 1997-05-27 Compaq Computer Corporation System having a plurality of posting queues associated with different types of write operations for selectively checking one queue based upon type of read operation
US6810449B1 (en) * 1995-10-19 2004-10-26 Rambus, Inc. Protocol for communication with dynamic memory
JPH09293015A (ja) * 1996-04-24 1997-11-11 Mitsubishi Electric Corp メモリシステムおよびそれに用いられる半導体記憶装置
US6298413B1 (en) * 1998-11-19 2001-10-02 Micron Technology, Inc. Apparatus for controlling refresh of a multibank memory device
US6442673B1 (en) * 1999-11-05 2002-08-27 I.P. First L.L.C. Update forwarding cache for address mode
US6629234B1 (en) * 2000-03-30 2003-09-30 Ip. First, L.L.C. Speculative generation at address generation stage of previous instruction result stored in forward cache for use by succeeding address dependent instruction
US6859856B2 (en) * 2001-10-23 2005-02-22 Flex P Industries Sdn. Bhd Method and system for a compact flash memory controller
TW561396B (en) * 2001-11-02 2003-11-11 Via Tech Inc Arbitration device and method for reading and writing operation of memory
US6877046B2 (en) * 2002-03-29 2005-04-05 International Business Machines Corporation Method and apparatus for memory with embedded processor
US6857055B2 (en) * 2002-08-15 2005-02-15 Micron Technology Inc. Programmable embedded DRAM current monitor
JP2004213337A (ja) 2002-12-27 2004-07-29 Nec Computertechno Ltd 半導体記憶装置及び実装型半導体装置
JP3973597B2 (ja) * 2003-05-14 2007-09-12 株式会社ソニー・コンピュータエンタテインメント プリフェッチ命令制御方法、プリフェッチ命令制御装置、キャッシュメモリ制御装置、オブジェクトコードの生成方法および装置
US9606807B2 (en) * 2009-06-04 2017-03-28 Micron Technology, Inc. Direct communication with a processor internal to a memory device
US9535876B2 (en) * 2009-06-04 2017-01-03 Micron Technology, Inc. Conditional operation in an internal processor of a memory device
US8234460B2 (en) 2009-06-04 2012-07-31 Micron Technology, Inc. Communication between internal and external processors
US8521958B2 (en) * 2009-06-04 2013-08-27 Micron Technology, Inc. Internal processor buffer
US9684632B2 (en) * 2009-06-04 2017-06-20 Micron Technology, Inc. Parallel processing and internal processors
US8380916B2 (en) 2009-06-04 2013-02-19 Micron Technology, Inc. Control of page access in memory
US9477636B2 (en) * 2009-10-21 2016-10-25 Micron Technology, Inc. Memory having internal processors and data communication methods in memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5131082A (en) * 1989-06-09 1992-07-14 International Business Machines Corporation Command delivery for a computing system for transfers between a host and subsystem including providing direct commands or indirect commands indicating the address of the subsystem control block
US5452427A (en) * 1989-07-14 1995-09-19 Fujitsu Limited Data processing device for variable word length instruction system having short instruction execution time and small occupancy area
CN1825466A (zh) * 2004-12-13 2006-08-30 因芬尼昂技术股份公司 存储器装置,存储器控制器及其操作方法

Also Published As

Publication number Publication date
TW201137628A (en) 2011-11-01
US9164698B2 (en) 2015-10-20
CN102640226A (zh) 2012-08-15
TWI442244B (zh) 2014-06-21
WO2011049753A1 (en) 2011-04-28
US20140244948A1 (en) 2014-08-28
EP2491561A1 (en) 2012-08-29
KR20120082928A (ko) 2012-07-24
US8719516B2 (en) 2014-05-06
US20110093665A1 (en) 2011-04-21
EP2491561B1 (en) 2019-12-04
KR101354346B1 (ko) 2014-01-22

Similar Documents

Publication Publication Date Title
CN102640226B (zh) 具有内部处理器的存储器及控制存储器存取的方法
US11914530B2 (en) Memory having internal processors and data communication methods in memory
US8874942B2 (en) Asynchronous management of access requests to control power consumption
CN102460406B (zh) 内部处理器与外部处理器之间的通信
TWI695382B (zh) 記憶體定址方法及相關聯的控制器
CN110059032A (zh) 存储器接口及具有存储器接口的存储器控制器
CN114902198A (zh) 用于异构存储器***的信令
US8015329B2 (en) Data transfer coherency device and methods thereof
CN103488582B (zh) 写高速缓冲存储器的方法及装置
US9658976B2 (en) Data writing system and method for DMA
US20080133820A1 (en) DDR flash implementation with row buffer interface to legacy flash functions
US7707378B2 (en) DDR flash implementation with hybrid row buffers and direct access interface to legacy flash functions
TWI841113B (zh) 記憶體定址方法及相關聯的控制器
CN109753480A (zh) 一种片上***及其数据读写处理方法
Khalifa et al. A novel memory controller architecture
US20230236732A1 (en) Memory device
CN117234423A (zh) 加速单元、存储控制芯片、固态硬盘和读写请求处理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant