CN103366801B - 存储器装置及其操作方法 - Google Patents
存储器装置及其操作方法 Download PDFInfo
- Publication number
- CN103366801B CN103366801B CN201310110042.6A CN201310110042A CN103366801B CN 103366801 B CN103366801 B CN 103366801B CN 201310110042 A CN201310110042 A CN 201310110042A CN 103366801 B CN103366801 B CN 103366801B
- Authority
- CN
- China
- Prior art keywords
- order
- storage arrangement
- data
- memory cell
- information
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Dram (AREA)
- Memory System (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
提供了一种存储器装置及其操作方法。所述存储器装置包括控制逻辑和存储器单元阵列。控制逻辑被配置为接收包括多个命令、多个地址、以及优先级信息的输入信息,并且根据优先级信息来变化输入信息的接收命令的执行顺序。存储器单元阵列被配置为包括多个存储器单元,并且所述存储器装置被配置为基于变化的执行顺序来在一个或者多个存储器单元上执行操作。
Description
相关申请的交叉引用
本申请要求于2012年3月29日提交的美国临时专利申请No.61/617,271的优先权,以及于2012年12月13日提交的韩国专利申请No.10-2012-0145674的优先权,通过引用,将其每个的全部内容合并于此。
技术领域
各个示例实施例涉及到存储器装置及其操作方法,更具体地,涉及用于有效率的存储器存取的存储器装置及其操作方法。
背景技术
当存储器装置处理从主机接收的命令时,其依照接收命令的顺序而依序处理命令。此外,存储器装置生成并执行辅助处理从主机接收的命令所需要的命令。
换言之,当存储器装置接收来自主机的读取或写入命令时,存储器装置自己生成并执行激活命令(active command)或预充电命令,以开放和关闭在存储器阵列中的行,从而执行读取或写入命令。在存在其延迟对于主机很重要的读取或写入命令的情况下,当存储器装置执行如上所述的各种命令时,存储器装置的响应可能被延迟很多。其结果是,存储器装置可能不能确保***所要求的快速响应和实时特征,这可能会导致该***的整体性能的劣化。
发明内容
根据一些实施例,提供了一种存储器装置,其包括控制逻辑和存储器单元阵列。控制逻辑被配置成接收包括多个命令、多个地址、和优先级信息的输入信息,并且根据优先级信息来改变输入信息的接收命令的执行顺序。存储器单元阵列包括多个存储器单元,存储器装置被配置为基于变化的执行顺序,在一个或多个存储器单元上执行操作。
控制逻辑包括分组解码器、命令队列、和判优器。分组解码器被配置为将在分组中接收的输入信息解码为命令、地址、和优先级信息。命令队列被配置为存储命令、地址、和优先级信息。判优器被配置成根据优先级信息来改变命令的执行顺序,并且基于改变的执行顺序,将命令和地址传输到存储器单元阵列。
控制逻辑还包括堆状态块和堆控制器。堆状态块被配置为存储在存储器单元阵列中定义的堆的状态。堆控制器被配置来在接收相应的命令和相应的地址之后,读取或更新被存储在堆状态块中的堆的状态。
控制逻辑进一步包括写入数据队列,其被配置为存储写入数据并且当写入命令被输出到存储器单元阵列时,向存储器单元阵列输出写入数据。
存储器装置进一步包括:第一输入/输出接口,其被配置为通过第一端口来接收命令、地址、和优先级信息,并且将其输出到控制逻辑;以及第二接口,其被配置为通过第二端口来接收写入数据,以将其传输到控制逻辑,并且输出从存储器单元阵列读取的数据。
根据进一步的实施例,提供了一种用于操作存储器装置的方法,所述存储器装置包括具有多个存储器单元的存储器单元阵列。所述方法包括:从主机接收输入信息,所述输入信息包括多个命令、多个地址、与命令和地址相关联的数据、以及指示命令的执行顺序的优先级信息;基于优先级信息和与地址相对应的存储器单元阵列的堆的状态信息,来改变命令的执行顺序;以及根据改变的执行顺序来向存储器单元阵列输出命令和地址,其中,优先级信息包括指示命令的处理顺序的优先级指示器、输入信息的数据类型、指示用于命令的处理时限的超时计数信息、页面政策、或者算法控制信号。
根据其它实施例,提供了一种存储器装置,其包括命令队列、判优器、以及存储器单元阵列。命令队列被配置为存储输入信息,所述输入信息包括多个命令、与命令相关联的多个地址、以及与命令相关联的优先级信息。判优器被配置为监视命令队列的存储的命令,并且响应于优先级信息来并改变存储的命令的执行顺序。存储器单元阵列包括多个存储器单元,并且存储器装置被配置为基于改变的执行顺序来在存储器单元上执行操作。
附图说明
通过参照附图,来详细描述示例性实施例,示例性实施例中的上述和其他的特征和优点将变得更加明显,在附图中:
图1是根据一些实施例的存储器装置的方框图;
图2是根据一个实施例,在图1中所示的存储器装置的示例的详细方框图;
图3是根据一个实施例,在图1中所示的存储器装置的另一实施例的详细方框图;
图4是根据一些实施例,在存储器装置和主机之间的数据的并行传输的示例图;
图5是根据一些实施例,在存储器装置和主机之间的数据的串行传输的示例性图;
图6是示出根据一些实施例的,调度从主机接收的多个命令的执行的存储器装置的示例图;
图7是示出根据一个实施例,在图6中所示的存储器装置从主机接收的数据的信号时序图;
图8是根据一些实施例,调度存储器装置从主机接收的多个命令的执行所需的优先级表的示例图;
图9是示出根据一个实施例的,在图8中所示的存储器装置从主机接收的数据的信号时序图;
图10是根据其他实施例,调度存储器装置从主机接收的多个命令的执行所需的优先级表的示例图;
图11示出根据一个实施例的,在图10中所示的存储器装置从主机接收的数据的信号时序图;
图12是根据一些实施例,,判定使用存储器装置的页面政策的方法的流程图;
图13是示出根据一个实施例,在图12中所示的存储器装置根据封闭的(close)页面政策来调度多个命令的执行的示例图;
图14是示出根据一个实施例,在图12中所示的存储器装置根据开放的(open)页面政策来调度多个命令的执行的示例图;
图15是根据一些实施例的,操作存储器装置的方法的示例性流程图;
图16是根据一些实施例,包括多个算法的存储器装置的示例图;
图17是根据一些实施例,包括多个存储器装置的模块的示例性框图;
图18是根据一些实施例,包括多个存储器装置的模块的示例性框图;
图19是根据一些实施例,包括多个存储器装置的模块的示例性框图;
图20是根据一些实施例,包括图1中所示的存储器装置的数据处理***的示例性框图;
图21是根据一些实施例,包括图1中所示的存储器装置的数据处理***的示例性框图;
图22是根据一些实施例,包括图1中所示的存储器装置的数据处理***的示例性框图;
图23是根据一些实施例,包括图1中所示的存储器装置的数据处理***1100的示例性框图。
图24是根据一些实施例,包括图1中所示的存储器装置的数据存储装置1200的示例性框图。
图25是根据一些实施例,包括图1中所示的存储器装置的多芯片封装的示例性框图;
图26是根据一些实施例,包括图25中所示的存储器装置的多芯片封装的示例性三维图;以及
图27是根据一些实施例的存储器装置的示例性框图。
具体实施方式
在下文中,将参考附图来更充分地描述本公开的示例实施例,在附图中示出本公开的实施例。然而,本公开可以以许多不同的形式来体现,并且其不应当被解释为限于这里所阐述的实施例。在附图中,为清楚起见,层和区域的尺寸和相对尺寸可以被夸大。在整个附图中,相似的数字是指相似的元件。
将会理解的是,当元件被称为“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件或可能存在中间元件。相反,当一个元件被称为“直接连接”或“直接耦接”到另一个元件时,不存在中间元件。如本文所用,术语“和/或”包括关联列出的项目中的一个或多个的任何和所有组合,并可以被缩写为“/”。
将会理解的是,虽然这里可使用术语第一,第二等来描述各种元件,但除非上下文另有说明,否则这些元件不应被这些术语所限制。这些术语仅用于区分一个元件与另一个元件。例如,不脱离本公开的教导的情况下,第一信号可以被称为第二信号,并且,类似地也可以将第二信号称为第一信号。
这里使用的术语仅仅出于描述特定实施例的目的,并且不意图限制本公开。如本文所用,除非上下文清楚地指示除外,否则单数形式“一”,“一个”和“该”旨在也包括复数形式。将进一步理解,当在本说明书中使用时,诸如“包括”和/或“包含”的术语指定存在所述特征、区域、整数、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、区域、整数、步骤、操作、元件、组件、和/或它们的组。
除非另有定义,本文所用的所有术语(包括技术和科学术语)具有与本公开所属的技术领域的一位普通技术人员通常理解的相同的含义。将进一步理解,例如在常用字典中所定义的那些的术语应被解释为具有与它们在相关领域和/或本申请的上下文中的含义一致的含义,并且除非在本文中另有明确定义,否则其将不被解释为理想化的或过于正式的意义。
图1是根据一些实施例的存储器装置10的方框图。存储器装置10与主机1连接。数据可以在分组中或者可以通过包括引脚的端口,而在存储器装置10和主机1之间传送。
主机1发送输入信息到存储器装置10。换言之,主机1向存储器装置10明确地输出诸如读取请求、写入请求、或者擦除请求的输入信息。主机1可以被实现为包括存储器控制器和中央处理单元(CPU)的处理单元或图形处理单元(GPU)。输入信息可以包括命令、地址、和优先级信息。当命令是写入命令时,输入信息还可以包括写入数据。输入信息可以在分组中传输,或者可以通过包括多个引脚的预定端口来传输。
存储器装置10可以根据从主机1接收的输入信息,来读取、写入、或擦除数据。存储器装置10可包括存储器输入/输出(I/O)接口11、控制逻辑100、和存储器单元阵列12。存储器I/O接口11将主机1和控制逻辑100接口连接,用于在其间的数据通信。控制逻辑100控制包括存储器单元阵列12的存储器装置10的操作。
存储器单元阵列12包括多个存储器单元和***电路。根据控制逻辑100的控制,存储器单元阵列12向存储器单元写入数据,从存储器单元读取数据,并且从存储器单元擦除数据。包括在存储器单元阵列12的存储器单元中的每一个可以是易失性存储器单元,诸如,动态随机存取存储器(DRAM)单元、静态RAM(SRAM)单元、可控硅RAM(T-RAM)单元、零电容器RAM(Z-RAM)单元、或双晶体管RAM(TTRAM)单元、或非易失性存储器单元,诸如,磁性RAM(MRAM)单元、自旋力矩转移MRAM(STT-MRAM)单元、电阻性存储器单元、相变RAM(PRAM)单元、或闪速存储器单元。包括诸如存储器单元阵列12的存储器单元阵列的闪速存储器可以被分成NOR闪速存储器和NAND闪速存储器。
图2是根据一个实施例的,在图1中所示的存储器装置10的示例的详细方框图。参照图2,控制逻辑101可包括输入单元110、输出单元120、和控制物理层(PHY)130。
输入单元110检查在从主机1接收的输入信息中的优先级信息,改变执行命令的顺序,并且输出执行顺序到存储器单元阵列12。输入信息的优先级信息确定命令执行的优先级。详细地说,优先级信息可包括确定命令的执行优先级(例如,序列)的优先级指示器。例如,优先级指示器可以是专门指定优先级的优先级代码,可以是数据类型的指示器,或可以是超时计数信息的指示器。例如,优先级指示器可以被作为用来确定执行优先级的一个或多个优先级位来传输。如果使用优先级代码,则其可以包括专门对应于优先级指定的某些位。在一个示例中,某些位专门编码优先级值(例如,1,2,3等)。在一个示例中,优先级位指示可用于间接指定优先级的数据类型。在一个示例中,优先级位指示被用于间接确定优先级的超时值。详细地说,输入单元110根据优先级信息来改变从主机1接收的数据的写入命令、读取命令、以及擦除命令的执行顺序,并且输入单元110根据执行顺序来将每个命令传输到存储器单元阵列12。输入单元110可以包括分组解码器111、命令队列112、写入数据队列113、堆控制器114、判优器115、堆状态块116、和输入FIFO117。
分组解码器111解码从主机1接收的输入信息RX_PACKET。输入信息RX_PACKET可以包括要由存储器单元阵列12处理的命令CMD、与存储器单元阵列12相关联的地址ADD、与命令CMD的执行顺序相关的优先级信息、以及要被处理的写入数据WR_DATA。在读取请求或擦除请求的情况下,分组解码器111从主机1接收的输入信息RX_PACKET中检测命令CMD和地址ADD。在写入请求的情况下,分组解码器111可以把写入数据WR_DATA放置到写入数据队列113中。命令队列112存储在从主机1接收的输入信息RX_PACKET的多个项目中,尚未被处理(或尚未被输出到存储器单元阵列12)的输入信息RX_PACKET的至少一个项目。输入信息RX_PACKET中的命令CMD、地址ADD、以及优先级信息被存储在命令队列112中。判优器115可以监视在命令队列112中的所有的或一些的命令CMD,以设置执行顺序。
当输入信息RX_PACKET包括写入命令CMD、写入地址ADD、优先级信息、以及写入数据WR_DATA时,写入数据队列113接收并存储解码的写入数据WR_DATA。当写入命令CMD被输出到存储器单元阵列12时,写入数据队列113输出写入数据WR_DATA到存储器单元阵列12。换句话说,当写入命令CMD被发送到存储器单元阵列12时,写入数据队列113通过控制PHY130来传输要被写入到存储器单元阵列12的数据WR_DATA_OUT。
堆状态块116存储在存储器单元阵列12中的每个堆的状态。堆控制器114控制对堆状态块116的存取。堆控制器114从堆状态块116中读取堆的当前状态,通知判优器115堆的状态,并且当从判优器115接收到更新状态时,控制堆状态块116来存储堆的更新状态。
当存储器单元阵列12包括8个堆时,判优器115从堆状态块116读取在存储器单元阵列12中的BANK0至BANK7的每个堆的当前状态,并且当设置要在与每个堆对应的地址处被处理的命令的执行顺序时,对其进行考虑。此外,当判优器115输出命令到存储器单元阵列12时,其向堆控制器114通知将会通过命令而改变的堆的状态,使得在堆状态块116中更新堆的状态信息。虽然在描述中为了方便起见在图2中示出了8个堆,BANK0至BANK7,但是本公开并不局限于当前的实施例,并且在存储器单元阵列12中的堆的数目可以改变。判优器115基于存储在命令队列112中的命令CMD的优先级信息和每个堆的状态,来改变命令的执行顺序,使得具有较高优先级的命令更早地执行。此时,判优器115可以另外产生当在命令队列112中的每个命令在存储器单元阵列12中实际执行时所需要的命令CMD,并且所产生的命令CMD可以反映到改变的每个命令的执行顺序上。比如,在DRAM中,预充电命令可以另外产生,以反映到调度上,从而使得在CAS命令之后对堆进行预充电。此外,可以另外产生激活命令,并且将其反映到调度上,使得堆被激活,从而允许存取包括DRAM单元的关闭的行。
输入FIFO117以已经从存储器I/O接口11’接收的项的次序来顺序地输出输入信息的项。输出单元120包括分组生成块121的输出FIFO122。
分组生成块121响应于,例如,主机1的读取命令来接收从存储器单元阵列12读取的数据RD_DATA,并且生成传输分组TX_PACKET,以将读取的数据RD_DATA传输到主机1。输出FIFO122以已经从分组生成块121接收分组的次序,输出传输分组TX_PACKET到存储器I/O接口11’。控制PHY130物理地将控制逻辑101和存储器单元阵列12接口连接,以传输用于控制存储器单元阵列12的操作的不同数据。详细地,控制PHY130被连接到存储器单元阵列12,以便传输命令、地址、和数据到存储器单元阵列12,以从存储器单元阵列12接收处理结果。
图3是根据一个实施例的,在图1中所示的存储器装置10的另一例子的详细方框图。图4是根据一些实施例,在存储器装置10和主机1之间的数据的并行传送的示例图。
参照图3和4,存储器装置10可能与主机1并行通信。详细地说,通过包括分别用于命令CMD、地址ADD、数据DQ、和优先级位PR的单独引脚(例如,用于独立地接收来自主机的位)的并行端口,主机1和存储器装置10可以彼此通信输入信息。
参考图3,存储器I/O接口11”包括命令/地址I/O接口161和数据I/O接口162。命令/地址I/O接口161接收输入信息的命令、地址、以及优先级信息,并且将其传输到控制逻辑102。数据I/O接口162接收在输入信息中的写入数据WR_DATA,并且将其传输到控制逻辑102,或输出读取数据RD_DATA。
控制逻辑102可以包括命令/地址解码器131、命令队列132、写入数据队列138、堆控制器134、判优器135、堆状态块136、输入FIFO137、和数据输入FIFO139。
输入FIFO137以从存储器I/O接口11”输出它们的顺序来接收包括命令、地址、和优先级信息的输入信息。命令/地址解码器131解码接收到的输入信息。输入信息被分解成要由存储器单元阵列12处理的命令CMD、与存储器单元阵列12相关联的地址ADD、以及与命令CMD的执行顺序相关的优先级信息。
当输入信息包括写入命令CMD、写入地址ADD、优先级信息、和写入数据WR_DATA时,写入数据队列138存储写入数据WR_DATA。当判优器135基于优先级信息,根据执行顺序变化来输出写入命令CMD到存储器单元阵列12时,写入数据队列138输出写入数据WR_DATA到存储器单元阵列12。命令队列132从命令/地址解码器131接收命令CMD、地址ADD、和优先级信息,并且存储它们。
堆状态块136存储在存储器单元阵列12中的每个堆的状态。堆控制器134控制对堆状态块136的存取。堆控制器134从堆状态块136中读取堆的当前状态,通知判优器135堆的状态,并且当从判优器135接收更新状态时,控制堆状态块136来存储堆的更新状态。
当存储器单元阵列12包括8个堆时,判优器135从堆状态块136中读取在存储器单元阵列12中的BANK0至BANK7的每个堆的当前状态,并且当设置要在与每个堆相对应的地址处被处理的命令的执行顺序时,对其进行考虑。此外,当判优器135输出命令到存储器单元阵列12时,其向堆控制器134通知将要通过命令而变化的堆的状态,使得堆的状态信息在堆状态块136中更新。虽然为了描述的方便起见,在图3中示出了8个堆BANK0至BANK7,但是本公开并不局限于当前的实施例,并且存储器单元阵列12中的堆的数目可以改变。判优器135基于每个堆的状态和存储在命令队列132中的命令CMD的优先级信息来改变命令的执行顺序,使得具有更高的优先级的命令更早地执行。在这个时候,判优器135可以另外生成当在命令队列132中的每个命令在存储器单元阵列12中实际执行时所需的命令CMD,并且所产生的命令CMD可反映到每个命令的变化执行顺序上。比如,在DRAM中,预充电命令可以另外产生和反映,从而使得在CAS命令之后对堆预充电。此外,可以另外产生和反映激活命令,使得堆被激活,从而允许存取包括DRAM单元的封闭的行。
控制逻辑102还可以包括标签响应发生器133、输出FIFO151、和数据输出FIFO152。一旦根据改变的执行顺序,判优器135将命令CMD和地址ADD输出到存储器单元阵列12,则标签响应发生器133生成标签响应,并且将其通过命令/地址I/O接口161来输出。
输出FIFO151以标签响应发生器133生成响应的顺序来输出标签响应到命令/地址I/O接口161。当输入信息包括读取命令、读取地址、和优先级信息时,数据输出FIFO152响应于读取命令而从存储器单元阵列12接收数据RD_DATA,并且将其输出到数据I/O接口162。
图5是根据一些实施例的,在存储器装置10和主机1之间的数据的串行传输的示例图。参照图5,存储器装置10可以串行地与主机1通信。换言之,输入信息可以通过串行端口,以包括命令CMD、地址ADD、数据DQ、和优先级位PR的分组而被传送。
图6是示出根据一些实施例,存储器装置10改变从主机1接收的多个命令的执行顺序的示例图。图7是示出根据一个实施例的,在图6中示出的存储器装置10从主机1接收的数据的信号时序图。
参考图6,命令队列112以通过输入FIFO117接收输入信息的顺序来存储输入信息。命令队列112一起存储解码的命令CMD、地址ADD、和优先级信息,以用于输入信息。在一个实施例中,优先级信息包括:指示命令的处理顺序的优先级位、数据类型、指示命令的处理时间限制的超时计数信息、页面政策、或算法控制信号。命令的执行顺序可以基于优先级位、数据类型、超时计数、页面政策、或算法控制信号、以及将在其上执行命令的堆的当前状态来确定。
例如,当优先级位PR被用作第一表T1中的优先级信息,并且存储器装置10接收输入信息读取(a,m,n,低)、写入(b,k,l,低)、写入(a,m,p,低)、读取(b,k,q,低),读取(a,s,t,低)、读取(a,s,v,低)、读取(b,y,z,低)、以及读取(a,w,x,高)时;控制逻辑100在命令队列112中顺序地存储从主机1接收的输入信息中的命令、地址、和优先级信息。控制逻辑100可以生成和执行辅助读取或写入命令所需的命令,以控制存储器单元阵列12的操作。比如,当存储器装置10使用DRAM时,判优器115本身可能会生成激活命令和预充电命令,以用于开放和封闭行,从而执行读取操作或写入命令。
判优器115基于优先级信息,改变从命令队列112接收的主机1的命令,以及通过判优器115生成的激活命令和预充电命令的执行顺序。此外,根据命令的改变的执行顺序,判优器115通过控制PHY130将命令传输到存储器单元阵列12,以控制存储器单元阵列12的操作。
根据第二表T2,基于用于从主机1接收的输入信息中的每个命令的优先级位和判优器115产生的命令,判优器115可以以激活(a,w)、激活(b,k)、读取(a,w,x)、读取(b,k,q)、写入(b,k,l)、预充电(a)、预充电(b)、激活(a,m)、激活(b,y)、读取(a,m,n)、读取(b,y,z)、写入(a,m,p)、预充电(a)、预充电(b)、激活(a,s)、读取(a,s,t)、读取(a,s,v)、以及预充电(a)的顺序来调度命令,以控制存储器单元阵列12的操作。例如,为了操作堆中的相邻单元,判优器115可以改变执行顺序,使得对于其而言延迟很重要的命令,即,具有高优先级位的命令(例如,读取(a,w,x))在具有低优先级位的命令之前被处理。
参考图7,每当时钟信号CK和反相时钟信号CK#发生变化时,读取命令CMD、要被读取的数据的地址ADD、以及优先级位PR被从输入FIFO117传输到控制逻辑100。此时,信号可以以如图5中所示的分组而串行地传输,或者可以通过如图4中所示的各自的引脚而并行传输。
当调度从主机1接收的命令和由判优器115本身生成的命令,以使得具有较高的优先级信息的命令比具有较低优先级的信息的命令更早地执行时,判优器115考虑优先级位PR和地址ADD,即,由分组解码器111解码的信息中的堆的当前状态中的至少一个。在这种情况下,执行顺序可以根据堆是处于激活状态或预充电状态而发生变化。在图6中所示的当前实施例中,优先级位PR具有两种状态,即,低状态和高状态中的一个,但本公开不仅限于当前的实施例。在其他实施例中,优先级信息也可以利用多个位来表示。
图8是根据一些实施例,用于调度存储器装置10从主机1接收的多个命令的执行的优先级表的示例图。图9是示出根据一个实施例的,在图8中示出的存储器装置10从主机1接收的数据的信号时序图。
参考图8,命令队列112以从主机1将其接收的顺序来输出命令、地址、和优先级信息。此时,与图6中所示的实施例不同,可以从主机1以数据类型DT的形式来传输优先级信息。
判优器115可以根据数据类型DT来设置执行顺序。数据可能根据其类型而对延迟敏感,因此,执行顺序可以在考虑到数据类型DT的情况下进行设置。比如,当有4个数据类型DT时,4的优先级被设置,以用于第一数据类型DT;3的优先级被设置,以用于第二数据类型DT;2的优先级被设置,以用于第三数据类型DT;并且1的优先级被设置,以用于第四数据类型DT。例如,可以根据数据的某些位来确定数据类型。
参考图9,在一个实施例中,每当时钟信号CK和反相的时钟信号CK#发生变化时,包括读取命令CMD、要被读取的数据的地址ADD、以及来自主机1的数据类型DT的输入信息被应用到控制逻辑100。此时,信号可以以图5所示的分组而串行地传输,或者可以通过如图4所示的各自的引脚来并行传输。当调度从主机1接收的命令和由判优器115本身生成的命令,以使得具有对应于较高的优先级的数据类型DT的命令比具有较低优先级的数据类型DT的命令更早地执行时,判优器115考虑数据类型DT和基于地址ADD而检测的堆的当前状态中的至少一个。在这种情况下,执行顺序可以根据堆是处于激活状态或预充电状态而发生变化。
虽然在上述实施例中已经解释存在4个数据类型DT,但是本公开不限于此。在其它实施例中,也可以存在各种数目的数据类型DT。
图10是根据其它实施例,用于调度存储器装置10从主机1接收的多个命令的执行的优先级表的示例图。图11是示出根据一个实施例,在图10中示出的存储器装置10从主机1接收的数据的信号时序图。
参考图10,输入信息可能包括超时计数信息TO。超时计数信息指示在其中输入信息必须被执行的最大时钟计数。从主机1接收输入信息的时间开始增加时钟计数。时钟计数是在控制逻辑100中的输入信息的待机时间。比如,当对于包括读取命令的输入信息,超时计数信息TO被设置为1时,读取命令必须在时钟计数超过最大超时计数5之前,在存储器装置10中被执行。当对于包括读取命令的输入信息,超时计数信息TO被设置为2时,读取命令必须在时钟计数超过20的最大超时计数之前,在存储器装置10中执行。在一个实施例中,超时计数信息TO可以以一个或多个位的形式来表示。
参考图11,控制逻辑100可以从主机1接收时钟信号CK、命令CMD、地址ADD、和超时计数信息TO。当即使在对应于超时计数信息TO的最大时钟计数,命令也没有在存储器装置中执行时,判优器115可以增加该命令的执行顺序的优先级。在一个示例中,判优器可以在当前时钟计数和与超时计数信息TO有关的最大时钟计数之间的差方面,对命令进行比较,并且改变执行顺序,使得在当前时钟计数和最大时钟之间具有较小的差的命令比具有较大差的命令更早地执行。
例如,当读取命令的超时计数信息TO是4,并且在接近最大时钟计数100的时钟计数处,读取命令尚未在存储器装置10中执行时,判优器115可以改变读取命令的执行顺序,使得读取命令比在命令队列112中闲置的其他命令,或者在当前时钟计数和最大时钟计数之间具有比该读取命令更大的差的其他命令更早地执行。
图12是根据一些实施例的,用于决定使用存储器装置的页面政策的方法的示例性流程图。图13是示出根据一个实施例的,在图12所示的存储器装置根据封闭的页面政策来调度多个命令的执行的示例图。图14是示出根据一个实施例的,在图12所示的存储器装置根据开放的页面政策来调度多个命令的执行的示例图。在此,存储器单元可以是DRAM单元。
控制逻辑100可以在存取存储器单元阵列12时,根据要被存取的存储器单元的位置来改变页面政策。比如,在仅仅单个CAS命令被执行之后立即对页面预充电的情况下,页面需要被激活,以立即再次存取页面中的行,因此,在电池消耗中的效率和延迟是重要的问题。因此,根据要被存取的单元的位置,而选择性地执行开放的页面政策或封闭的页面政策。
参考图12,在操作S10中,控制逻辑100被设置为默认的页面政策。操作S11中,控制逻辑100检查与来自主机的命令相对应的地址,并且对在预定持续时间“t”对特定行的存取数目“n”进行计数。当基于在命令队列112中的地址而检测的存取特定行的数目“n”小于预定值“p”时,在操作S13中,控制逻辑100激活封闭的页面政策。此时,根据封闭的页面政策,在执行命令之后立即对页面和堆进行预充电,然后,当其在之后被存取时将其激活。
当存取特定行的数目“n”大于预定值“p”时,在操作S14中,控制逻辑100激活为开放的页面政策。根据开放的页面政策,在命令的执行之后没有立即对页面和堆进行预充电,而是保持活动的,使得随后的命令可以连续地执行。
参考图13,在封闭的页面政策下,控制逻辑100从主机接收如在第三表T3所示的第一读取命令“读取(a,m,n)”。控制逻辑100根据如第四表T4所示的通过判优器115设置的执行顺序激活要被存取的存储器单元处于其中的、在堆“a”中的行“m”;执行读取命令,然后立即对堆“a”进行预充电。此后,在堆“a”被封闭之后,在命令队列112中的第一写入命令通过判优器115在堆“b”上执行,并且然后堆“b”被预充电。
由于在第四表T4中已经对堆“a”和“b”预充电,所以当堆“b”中的行“k”和列“p”中的存储器单元需要被激活,以执行在命令队列112中的第二写入命令时,控制逻辑100需要激活在堆“b”中的行“k”。因此,当存储器存取频度低时(即,当存取特定行的数目“n”小于预定值“p”时),控制逻辑100根据封闭的页面政策来改变命令的执行序列,并且根据改变的执行顺序来在存储器单元阵列12上执行命令。
参考图14,在开放的页面政策下,控制逻辑100从主机接收如在第五表T5中所示的第一读取命令“读取(a,m,n)”。控制逻辑100激活要被存取的存储器单元位于其中的、在堆“a”中的行“m”,并且根据如在第六表T6中所示的、通过判优器115来设置的执行顺序来执行读取命令。然而,与在图13所示的第四表T4不同,控制逻辑100执行剩余在命令队列112中的命令“写入(b,k,l)、写入(b,k,p)、以及读取(a,m,q)”,而没有立即对堆“a”进行预充电。
在一个实施例中,当存取每个堆的特定行的数目“n”大于预定值“p”时,存储器单元的位置较高,因此,曾经被激活的页面或堆被保持活动的,直到存在用于在堆中的不同的行的CAS命令,或者直到预定时间“t”过去。其结果是,可以减小激活页面所要求的电流消耗和延迟。
然而,如果当位置为低(即,当存取特定行的数目“n”为低)时,相关页面保持活动的,则电流消耗可能是巨大的,因此,控制逻辑100根据位置而改变到封闭的页面政策。
上述实施例中,已经说明的是根据数据的位置来改变页面政策,但是本公开并不局限于此。在其他实施例中,可以根据基于从主机设置的模式寄存器的控制、基于来自主机的命令的控制、存储器装置的电力状态、存储器存取频率、存储器装置的操作频率、和/或在命令队列112中剩余的页面的数目来确定是选择图13中所示的封闭的页面政策或者是选择图14中所示的开放的页面政策。
页面政策可以根据通过***执行的操作的类型而被改变为增加执行速度。可以通过改变存储器装置10的模式寄存器设置,或者通过将页面政策的变更命令从主机1传输到存储器装置10,来改变页面政策。
在存储器装置不执行读取或写入操作的同时,可以改变页面政策。在存储器装置不执行读取或写入操作的同时,当页面被开放时的待机电流可能比在页面被封闭时的更大。当存储器存取频率或者工作频率较低时,存储器装置可能会自动改变为封闭的页面政策。因此,存储器装置的电力消耗减少。
图15是根据一些实施例的,存储器装置10的操作方法的示例性流程图。参照图15,在操作S20中,存储器装置10从主机接收包括命令、地址、和优先级信息的输入信息。在操作S21中,存储器装置10解码输入信息。当一个命令是写入命令时,输入信息可以包括写入数据。
在操作S22中,存储器装置10检查对应于各自地址的每个堆的状态信息,以及优先级信息。在操作S23中,存储器装置10基于每个堆的状态信息和优先级信息来改变执行顺序。详细地,因为其对延迟敏感,所以具有高优先级信息的命令在执行顺序中被放在更前面,并且具有低优先级信息的命令在执行顺序中被放在较后面。在一个实施例中,优先级信息可以是指示输入信息的执行顺序的优先级位、数据类型、指示用于信息输入的处理时间限制的超时计数信息、页面政策、或算法控制信号。
例如,存储器装置10可以基于要由命令处理的数据的类型,以优先级的降序次序来设置命令的执行顺序。在另一个实例中,存储器装置10为了每个命令从主机接收输入信息的时间开始增加时钟计数,并且当确定执行顺序时,其检查用于命令的当前时钟计数,并且在当前时钟计数和与超时计数信息相关的最大时钟计数之间的差方面,对命令进行比较。存储器装置10可以改变执行顺序,使得具有较小的差的命令比具有较大的差的命令更早地执行。
在另一个实例中,存储器装置10可以基于优先级位的优先级的降序次序,来设置命令的执行顺序。在另一个实例中,存储器装置10根据默认页面策略来设置输入信息的执行顺序,但是当基于地址而检测的连续存取特定行的数目低于预定值时,存储器装置10根据封闭的页面政策来改变对应于该地址的命令的执行顺序。然而,当基于地址而检测的连续存取特定行的数目大于预定值时,存储器装置10根据开放的页面政策来改变对应于该地址的命令的执行顺序。
在操作S24中,根据变化的执行顺序,存储器装置10向存储器单元阵列12输出命令、地址、以及对应于各自命令的数据。根据改变的执行顺序,存储器单元阵列12在相关的存储器单元上执行每个命令。其结果是,由于改进的延迟,增加了存储器装置10的操作速度,并且减小了电流消耗。此外,可以防止***的整体性能的劣化。
图16是根据一些实施例的,包括多个算法的存储器装置10”的示例图。参照图16,控制逻辑200可以包括至少两个调度算法单元220和230、以及选择器210。
选择器210选择指示输入信息的执行顺序的优先级位、数据类型、指示用于信息输入的处理时间限制的超时计数信息、或者页面政策。
调度算法单元220和230中的每一个根据与优先级位相关的设置信息、与数据类型相关的优先级设置表信息、超时计数设置信息、或者页面政策设置信息,来改变从主机接收的输入信息的执行顺序。根据选定的算法,控制逻辑200存取存储器单元阵列12。
因此,根据相对于图1至图14所描述的各种算法中的一个,控制逻辑200可以改变从主机接收的CMD的执行顺序,并且控制存储器装置10”的操作。
图17是根据一些实施例的,包括多个存储器装置550-1至550-4的模块500的示例性框图。参照图17,模块500可以包括IO接口510和存储器装置550-1至550-4。IO接口510可以被实现与存储器装置550-1至550-4分离,并且可以与主机通信。
图18是根据一些实施例的,包括多个存储器装置610-1至610-5的模块600的示例性框图。参照图18,模块600可以包括存储器装置610-1至610-5。存储器装置610-1至610-5中的一个(例如,610-3)可以直接连接到主机,并且与主机通信。存储器装置610-1至610-5可以以链状彼此连接。
不直接连接到主机的存储器装置610-1、610-2、610-2、610-4、以及610-5可以通过链路而间接与主机进行通信。控制存储器装置610-1至610-5的每个的操作的控制逻辑可以被实现在每个存储器装置610-1、610-2、610-3、610-4、或610-5中。
图19是根据一些实施例的,包括多个存储器装置720-1至720-5的模块700的示例性框图。参照图19,模块700可以包括多个存储器装置720-1至720-5,以及用于执行用于存储器装置720-1至720-5的数据I/O的接口连接的光学接口710。
光学接口710可以包括:I/O控制器(未示出),其用于控制存储器装置720-1至720-5的I/O操作;以及信号转换器(未示出),其将输入到存储器装置720-1至720-5的数据或者从存储器装置720-1至720-5输出的数据转换为光学信号。使用光学通信,光学接口710提供在存储器装置720-1至720-5和主机之间的数据交换。光学接口710可以使用光纤或波导来传送数据。交换的数据适合于传输诸如符合串行高级技术附接(SATA)标准的信号的高速信号的情况,或者数据也可以使用波分复用来传输。
用于控制存储器装置720-1至720-5的操作的控制逻辑可以在每个存储器装置720-1至720-5内以堆叠结构来实现。
图20是根据一些实施例的,包括在图1中所示的存储器装置的数据处理***800的示例性框图。数据处理***800可以被实现为个人计算机(PC)、平板PC、上网本、电子阅读器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器、或MP4播放器。
数据处理***800包括存储器装置840。存储器装置840包括控制逻辑,以控制和调度存储器装置840的数据处理操作。处理器820可以根据通过输入装置830输入的数据,通过显示器810来显示存储在存储器装置840中的数据。输入装置830可以通过诸如触摸板或计算机鼠标的指点装置、小键盘、或键盘来实现。
处理器820可以控制数据处理***800的整体操作。可以控制存储器装置840的操作的控制逻辑可以被实现为存储器装置840的一部分,或者在存储器装置840内以堆叠结构来实现。
图21是根据一些实施例的,包括在图1中所示的存储器装置的数据处理***900的示例性框图。参照图21,数据处理***900可以被实现为蜂窝电话、智能电话、个人数字助理(PDA)、或无线通信***。
数据处理***900包括存储器装置950。存储器装置950包括控制和调度存储器装置950的数据处理操作的控制逻辑。根据处理器940的控制,控制逻辑可以控制存储器装置950的数据存取操作,例如,编程操作、擦除操作、和读取操作。
根据处理器940和控制逻辑的控制,在存储器装置950中编程的页面数据可以通过显示器930来显示。
无线电收发信机910通过天线ANT发送或接收无线电信号。无线电收发信机910可以将通过天线ANT接收到的无线电信号转换为可以由处理器940处理的信号。因此,处理器940可以处理从无线电收发信机910输出的信号,并且将处理的信号传输到控制逻辑或显示器930。控制逻辑可以将由处理器940处理的信号编程到存储器装置950。无线电收发信机910还可以将从处理器940输出的信号转换成无线电信号,并且通过天线ANT将该无线电信号输出到外部装置。
输入装置920使能将用于控制处理器940的操作的控制信号或者要由处理器940处理的数据输入到数据处理***900。输入装置920可以通过诸如触摸板或计算机鼠标的指点装置、小键盘、或键盘来实现。
处理器940可以控制显示器930的操作,以显示从控制逻辑输出的数据、从无线电收发信机910输出的数据、或者从输入装置920输出的数据。可以控制存储器装置950的操作以及调度处理次序的控制逻辑可以被实现为处理器940的一部分,或在存储器装置950内以堆叠结构来实现。
图22是根据一些实施例的,包括在图1中所示的存储器装置的数据处理***1000的示例性框图。参照图22,数据处理***1000可以被实现为如数码相机的图像处理设备、配备有数码相机的蜂窝电话、配备有数码相机的智能电话、或配备有数码相机的平板电脑。
数据处理***1000包括具有控制逻辑的存储器装置1040,所述控制逻辑调度存储器装置1040的编程操作、擦除操作、和读取操作的执行顺序。
在数据处理***1000中包括的传感器1010可以是图像传感器、运动传感器、或声音传感器。传感器1010将多媒体图像转换成数字信号,并且将数字信号输出到处理器1020或存储器装置1040。数字信号可以通过处理器1020控制,以通过显示器1030来显示,或者可以存储在存储器装置1040中。
根据处理器1010或控制逻辑的控制,存储在存储器装置1040中的数据可以通过显示器1030来显示。控制逻辑可以控制存储器装置1040的操作。
图23是根据一些实施例的,包括在图1中所示的存储器装置的数据处理***1100的示例性框图。数据处理***1100可以被实现为存储卡或智能卡。数据处理***1100包括存储器装置1120和卡接口1110。
存储器装置1120可以包括在存储器装置1120和卡接口1110之间的数据交换期间调度执行序列的控制逻辑。卡接口1110可以是安全数字(SD)卡接口或多媒体卡(MMC)接口,但本公开并不限于所公开的实施例。
卡接口1110可以将主机和存储器装置1120接口连接,以根据主机的协议进行数据交换。卡接口1110可支持通用串行总线(USB)协议和芯片间(IC)-USB协议。在这里,卡接口可以指示支持由主机使用的协议的硬件、在硬件上安装的软件、或者信号传输模式。
当存储***1100连接到诸如PC、平板PC、数码相机、数字音频播放器、蜂窝电话、控制台视频游戏硬件、或数字机顶盒的主机时,主机1可以通过卡接口1110而与存储器装置200进行数据通信。
图24是根据一些实施例的,包括在图1中所示的存储器装置的数据存储装置1200的示例性框图。参照图24,数据存储装置1200可以被实现为独立磁盘冗余阵列(RAID)***。数据存储装置1200包括RAID控制器1210和多个存储器模块1220-1至1220-n,其中,“n”是自然数。
多个存储器模块1220-1至1220-n的每个可以是图23中所示的数据处理***1100。多个存储器模块1220-1至1220-n可形成RAID阵列。
存储器模块1220-1至1220-n中的每一个包括控制逻辑,调度存储器模块1220-1至1220-n的诸如编程操作、擦除操作、和读取操作的数据处理操作的执行顺序。
数据存储装置1200可以被实现为个人计算机(PC)或固态驱动器(SSD)。
在编程操作过程中,响应于从主机接收到的编程命令,根据RAID级别,RAID控制器1210可以将从主机输出的编程数据传输到存储器模块1220-1到1220-n中的至少一个。在读取操作期间,响应于从主机接收的读取命令,RAID控制器1210可以向主机传输从存储器模块1220-1至1220-n中的至少一个读取的数据。
图25是根据一些实施例,包括图1中示出的存储器装置10的多芯片封装1300的示例性示意图。参照图25,多芯片封装1300可以包括多个半导体装置,即,第一至第三芯片1330、1340、和1350,其在封装基板1310上依次堆叠。半导体装置1330至1350的每一个可以是图1中示出的存储器装置10。存储器装置10可以是易失性或非易失性存储器装置。根据本公开的一些实施例的控制逻辑可以被包括在半导体装置1330至1350中的至少一个内,或可以被实现在封装基板1310上。贯穿基板的通孔(例如,贯穿硅通孔、TSV)(未示出)、键合线(未示出)、凸块(未示出)、或焊料球1320可用于将半导体装置1330至1350彼此电连接。
例如,如图17所示,第一半导体装置1330可以是包括I/O接口和控制逻辑的逻辑管芯,并且第二和第三半导体装置1340和1350的每一个可以是其上堆叠多个存储器装置的管芯,并且可以包括存储器单元阵列。此时,第二半导体装置1340和第三半导体装置1350可以是相同的或不同类型的存储器装置。
在另一个实例中,如图18所示,第一至第三半导体装置1330至1350中的每个可以包括控制逻辑。此时,控制逻辑可以在同一管芯上,或者在除了存储器单元阵列上之外的不同管芯上。
在另一个实例中,如图19所示,第一半导体装置1330可以包括光学接口。控制逻辑可以被定位在第一或第二半导体装置1330或1340中。存储器装置可以被定位在通过TSV与控制逻辑连接的第二或第三半导体装置1340或1350中。
多芯片封装1300可以以在其中多个存储器单元阵列管芯被堆叠的结构来实现。当使用这样的堆叠结构时,因为带宽的增加和存储器装置的面积被最小化,所以存储器装置的性能增加。其结果是,电力消耗和制造成本可以减小。
图26是根据一些实施例的,在图25中示出的多芯片封装1300的示例1300’的示例性三维图。参照图26,多芯片封装1300’包括以堆叠结构,通过TSV1360而彼此连接的管芯1330至1350。管芯1330至1350的每个可以包括多个电路块(未示出)和***电路,以实现存储器装置10的功能。包括存储器单元阵列的半导体存储器装置可以被用作存储器装置10。当图1中示出的存储器装置10是半导体存储器装置时,管芯1330至1350可以被称为单元阵列。多个电路块可以通过存储器块来实现。
TSV1360可以由导电材料来形成,其包括诸如铜(Cu)的金属。TSV1360被布置在基板(例如,硅)的中心。基板围绕TSV1360。可以在TSV1360和基板之间布置绝缘区域(未示出)。
图27是根据一些实施例的,存储器装置的示例性框图。参照图27,半导体***可以被实现作为手持装置,诸如移动电话、智能电话、平板电脑、个人数字助理(PDA)、企业数字助理(EDA)、数字静态照相机、数字视频相机、便携式多媒体播放器(PMP)、个人导航装置或便携式导航装置(PND)、手持游戏机、或者电子书。半导体***可以包括片上***(SoC)1400、外部存储器1420、以及显示装置1412。
SoC1400可以包括显示控制器1401、只读存储器(ROM)1402、随机存取存储器(RAM)1403、桥接器1404、CPU1405、时钟发生器1406、时钟控制器1407、GPU1408、和总线1409。SoC1400还可以包括其它元件,例如,电源管理单元和电视(TV)处理器。
CPU1405可以处理或执行存储在存储器1404或1420中的程序和/或数据。例如,CPU1405可以响应于从时钟发生器1406输出的操作时钟信号来处理或执行程序和/或数据。
CPU1405可以通过多核处理器来实现。多核处理器是单个计算组件,其具有两个或更多的独立的实际处理器(以下称为核)。每个处理器可以读取和执行程序指令。多核处理器可以一次驱动多个加速器,因此,包括多核处理器的数据处理***可以执行多个加速。
必要时,存储在外部存储器1420中的程序和/或数据可以被加载到CPU1405中的存储器。
ROM1402可以存储永久的程序和/或数据。ROM1402可以通过可擦除可编程ROM(EPROM)或电可擦除可编程ROM(EEPROM)来实现。
RAM1403可以暂时存储程序、数据、或指令。根据CPU1405的控制或存储在ROM1402中的引导代码,存储在外部存储器1420中的程序和/或数据可以暂时存储在RAM1403中。RAM1403可以通过动态RAM(DRAM)或静态RAM(SRAM)来实现。
桥接器1404用于在外部存储器1420和总线1409之间的接口连接。桥接器1404控制在半导体***1400(即,主机)和外部存储器1420之间的整体数据交换。桥接器1404将SoC1400的输入信息传输到外部存储器1420,使得根据来自SoC1400的输入信息,数据被写入到外部存储器1420或从外部存储器1420读取。SoC1400可以具有诸如CPU1405、GPU1408、或显示控制器1401的主装置。
外部存储器1420是用于存储数据的贮存器,并且可以存储操作***(OS)和各种程序和数据。外部存储器1420可以由DRAM的实现,但本发明的概念并不限于当前的实施例。外部存储器1420可以由非易失性存储器,例如闪速存储器、相变RAM(PRAM)、磁阻式RAM(MRAM)、电阻式RAM(ReRAM)、或铁电RAM(FeRAM的)来实现。在其它实施例中,外部存储器1420可以被嵌入在SoC1400中。
SoC1400的元件可以通过总线1409而彼此通信。
显示装置1412可以显示加载到显示控制器1401的多媒体。显示装置1412可以是液晶显示器(LCD)装置、发光二极管(LED)显示装置、有机LED(OLED)显示装置、或任何其他类型的显示装置。
显示控制器1401控制显示装置1412的操作。
本公开还可以体现为在计算机可读介质上的计算机可读代码。计算机可读记录介质是可以将数据存储为随后由计算机***读取的程序的任何数据存储装置。计算机可读记录介质的示例可以包括只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘、或光学数据存储装置。
计算机可读记录介质还可以分布在耦接到计算机***的网络上,使得计算机可读代码以分布式方式存储和执行。此外,通过程序员可以容易地解释用于实现本公开的功能程序、代码、和代码段。
如上所述,根据一些实施例,存储器装置从主机接收优先级信息并且根据优先级信息来处理命令,从而增加了操作速度并且防止了***的整体性能的劣化。
虽然已经参照示例性实施例来具体示出和描述了本发明,但是本技术领域的普通技术人员应当理解,不脱离如由下面的权利要求定义的本发明的精神和范围的情况下,可以在其中进行在形式和细节上的各种改变。
Claims (17)
1.一种存储器装置,包括:
控制逻辑,所述控制逻辑被配置成接收包括多个命令、多个地址、和优先级信息的输入信息,并且根据所述优先级信息来改变所接收的输入信息的命令的执行顺序;以及
存储器单元阵列,所述存储器单元阵列包括多个存储器单元,所述存储器装置被配置为基于改变的执行顺序,在一个或多个存储器单元上执行操作,
其中,优先级信息包括指示命令的执行顺序的一个或者多个优先级位、在输入信息中包括的数据的类型、或者指示要在其内执行相应的命令的最大的时钟计数的超时计数信息。
2.根据权利要求1所述的存储器装置,其中,所述控制逻辑包括:
分组解码器,所述分组解码器被配置为将以分组接收的输入信息解码为命令、地址、和优先级信息;
命令队列,所述命令队列被配置为存储命令、地址、和优先级信息;以及
判优器,所述判优器被配置成根据优先级信息来改变命令的执行顺序,并且基于改变的执行顺序,将命令和地址传输到所述存储器单元阵列。
3.根据权利要求2所述的存储器装置,其中,所述控制逻辑进一步包括:
堆状态块,所述堆状态块被配置为存储在所述存储器单元阵列中定义的堆的状态;以及
堆控制器,所述堆控制器被配置为在接收相应的命令和相应的地址之后,读取或更新被存储在所述堆状态块中的堆的状态。
4.根据权利要求3所述的存储器装置,其中,所述控制逻辑进一步包括写入数据队列,所述写入数据队列被配置为存储写入数据,并且当写入命令被输出到所述存储器单元阵列时,向所述存储器单元阵列输出该写入数据。
5.根据权利要求4所述的存储器装置,其中,所述控制逻辑进一步包括分组发生器,所述分组发生器被配置为接收从存储器单元阵列读取的数据,并且以分组输出所接收的数据。
6.根据权利要求1所述的存储器装置,进一步包括:
第一输入/输出接口,所述第一输入/输出接口被配置为通过第一端口接收命令、地址、和优先级信息,并且将其传输到控制逻辑;以及
第二接口,所述第二接口被配置为通过第二端口接收写入数据,以将其传输到控制逻辑,并且输出从所述存储器单元阵列读取的数据。
7.根据权利要求6所述的存储器装置,其中,所述控制逻辑包括:
命令/地址解码器,所述命令/地址解码器被配置为对从所述第一输入/输出接口接收的命令、地址、以及优先级信息进行解码;
命令队列,所述命令队列被配置为存储已经被解码的命令、地址、以及优先级信息;
堆状态块,所述堆状态块被配置为存储在所述存储器单元阵列中定义的堆的状态;
堆控制器,所述堆控制器被配置为在从所述命令队列中接收命令和地址之后,读取或者更新在所述堆状态块中存储的堆的状态;
判优器,所述判优器被配置为根据优先级信息来改变命令的执行顺序,以及基于改变的执行顺序和堆的状态来将命令和地址传输到所述存储器单元阵列;以及
标签响应发生器,所述标签响应发生器被配置为当所述判优器将命令和地址传输到所述存储器单元阵列时,产生标签响应,并且将标签响应信号输出到所述第一输入/输出接口。
8.根据权利要求7所述的存储器装置,其中,所述控制逻辑进一步包括写入数据队列,所述写入数据队列被配置为存储来自第二接口的写入数据,并且当写入命令被输出到所述存储器单元阵列时,向所述存储器单元阵列输出该写入数据。
9.根据权利要求1所述的存储器装置,其中,当优先级信息包括超时计数信息时,所述控制逻辑在当前时钟计数与超时计数之间的差方面,将所接收的命令的多个项彼此进行比较,使得具有较小的差的接收命令的项比具有较大的差的接收命令的项更早地执行。
10.根据权利要求1所述的存储器装置,其中,所述优先级信息是分组类型数据或者是单独接收的比特位。
11.根据权利要求1所述的存储器装置,其中,当连续属于在存储器单元阵列中的存储器单元的一行的地址的数目没有超过预定值时,控制逻辑根据封闭的页面政策改变分别对应于从输入信息解码的地址的命令的执行顺序;以及
当连续属于一行的地址的数目超过预定值时,所述控制逻辑根据开放的页面政策改变命令的执行顺序。
12.一种存储器***,包括:
根据权利要求1的存储器装置;以及
主机,所述主机电连接到所述存储器装置,并且所述主机被配置为产生和输出包括命令、地址、以及改变命令的执行顺序的优先级信息的输入信息,其中,所述优先级信息包括指示输入信息的处理顺序的优先级位、输入信息的数据类型、指示用于输入信息的处理时间限制的超时计数、页面政策、以及算法控制信号当中的至少一个。
13.一种用于操作存储器装置的方法,所述存储器装置包括具有多个存储器单元的存储器单元阵列,所述方法包括:
从主机接收输入信息,所述输入信息包括多个命令、多个地址、与命令和地址相关联的数据、以及指示命令的执行顺序的优先级信息;
基于优先级信息和与地址相对应的存储器单元阵列的堆的状态信息,来改变命令的执行顺序;以及
根据改变的执行顺序来向存储器单元阵列输出命令和地址,
其中,所述优先级信息包括指示命令的处理顺序的优先级指示器、输入信息的数据类型、指示用于命令的处理时间限制的超时计数信息、页面政策、或者算法控制信号。
14.一种存储器装置,包括:
命令队列,所述命令队列被配置为存储输入信息,所述输入信息包括多个命令、与命令相关联的多个地址、以及与命令相关联的优先级信息;
判优器,所述判优器被配置为监视命令队列的存储的命令,并且响应于所述优先级信息来改变存储的命令的执行顺序;以及
存储器单元阵列,所述存储器单元阵列包括多个存储器单元,其中,所述存储器装置被配置为基于改变的执行顺序来在存储器单元上执行操作,
其中,所述优先级信息包括指示命令的执行顺序的一个或者多个优先级位、输入信息的数据类型、或者指示要在其内执行相应命令的最大时钟计数的超时计数信息。
15.根据权利要求14所述的存储器装置,其中,所述优先级信息是从所述存储器装置外部接收的信息。
16.根据权利要求14所述的存储器装置,其中,所述优先级信息是分组型数据或者单独接收的比特位。
17.根据权利要求14所述的存储器装置,其中,对于每个命令,所述命令队列被配置为接收各自的对应于所述命令的优先级信息。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261617271P | 2012-03-29 | 2012-03-29 | |
US61/617,271 | 2012-03-29 | ||
KR1020120145674A KR102031952B1 (ko) | 2012-03-29 | 2012-12-13 | 메모리 장치 및 메모리 장치의 동작방법 |
KR10-2012-0145674 | 2012-12-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103366801A CN103366801A (zh) | 2013-10-23 |
CN103366801B true CN103366801B (zh) | 2017-09-01 |
Family
ID=48050452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310110042.6A Active CN103366801B (zh) | 2012-03-29 | 2013-03-29 | 存储器装置及其操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9134919B2 (zh) |
EP (1) | EP2645263B1 (zh) |
JP (1) | JP6373559B2 (zh) |
CN (1) | CN103366801B (zh) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150043045A (ko) * | 2013-10-14 | 2015-04-22 | 에스케이하이닉스 주식회사 | 반도체 장치 |
US9430411B2 (en) * | 2013-11-13 | 2016-08-30 | Sandisk Technologies Llc | Method and system for communicating with non-volatile memory |
US9497710B2 (en) * | 2013-11-25 | 2016-11-15 | Qualcomm Incorporated | Multipoint interface shortest pulse width priority resolution |
US9547448B2 (en) * | 2014-02-24 | 2017-01-17 | Netapp, Inc. | System and method for transposed storage in raid arrays |
US20150331608A1 (en) * | 2014-05-16 | 2015-11-19 | Samsung Electronics Co., Ltd. | Electronic system with transactions and method of operation thereof |
US9600183B2 (en) * | 2014-09-22 | 2017-03-21 | Intel Corporation | Apparatus, system and method for determining comparison information based on memory data |
US9582201B2 (en) * | 2014-09-26 | 2017-02-28 | Western Digital Technologies, Inc. | Multi-tier scheme for logical storage management |
TWI541647B (zh) * | 2015-02-06 | 2016-07-11 | 瑞昱半導體股份有限公司 | 記憶體控制器及相關的控制方法 |
US20170046102A1 (en) * | 2015-08-14 | 2017-02-16 | Marvell World Trade Ltd. | Flexible interface for nand flash memory |
US9910782B2 (en) * | 2015-08-28 | 2018-03-06 | International Business Machines Corporation | Expedited servicing of store operations in a data processing system |
CN105148514A (zh) * | 2015-09-06 | 2015-12-16 | 骆凌 | 一种游戏视角控制装置和方法 |
US10025531B2 (en) * | 2015-09-10 | 2018-07-17 | HoneycombData Inc. | Reducing read command latency in storage devices |
US10055368B2 (en) * | 2016-02-26 | 2018-08-21 | Sandisk Technologies Llc | Mobile device and method for synchronizing use of the mobile device's communications port among a plurality of applications |
US10592107B2 (en) * | 2016-03-30 | 2020-03-17 | EMC IP Holding Company LLC | Virtual machine storage management queue |
US11221971B2 (en) * | 2016-04-08 | 2022-01-11 | Qualcomm Incorporated | QoS-class based servicing of requests for a shared resource |
US10152237B2 (en) | 2016-05-05 | 2018-12-11 | Micron Technology, Inc. | Non-deterministic memory protocol |
US10534540B2 (en) | 2016-06-06 | 2020-01-14 | Micron Technology, Inc. | Memory protocol |
KR102615659B1 (ko) | 2016-07-08 | 2023-12-20 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
US10585624B2 (en) * | 2016-12-01 | 2020-03-10 | Micron Technology, Inc. | Memory protocol |
CN108153582B (zh) * | 2016-12-05 | 2024-01-26 | 北京忆恒创源科技股份有限公司 | Io命令处理方法与介质接口控制器 |
US11003602B2 (en) * | 2017-01-24 | 2021-05-11 | Micron Technology, Inc. | Memory protocol with command priority |
US10540116B2 (en) | 2017-02-16 | 2020-01-21 | Toshiba Memory Corporation | Method of scheduling requests to banks in a flash controller |
KR102322740B1 (ko) * | 2017-04-24 | 2021-11-09 | 에스케이하이닉스 주식회사 | 복수의 프로세서를 포함하는 컨트롤러 및 컨트롤러의 동작방법 |
US10884656B2 (en) * | 2017-06-16 | 2021-01-05 | Microsoft Technology Licensing, Llc | Performing background functions using logic integrated with a memory |
US10607660B2 (en) * | 2017-07-20 | 2020-03-31 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and operating method of the same |
KR102527925B1 (ko) * | 2017-11-29 | 2023-05-03 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR20190088734A (ko) * | 2018-01-19 | 2019-07-29 | 에스케이하이닉스 주식회사 | 메모리 인터페이스와, 이를 포함하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
KR20190110360A (ko) * | 2018-03-20 | 2019-09-30 | 에스케이하이닉스 주식회사 | 컨트롤러, 이를 포함하는 시스템 및 그 동작 방법 |
US10725696B2 (en) * | 2018-04-12 | 2020-07-28 | Micron Technology, Inc. | Command selection policy with read priority |
US10776268B2 (en) * | 2018-04-19 | 2020-09-15 | Western Digital Technologies, Inc. | Priority addresses for storage cache management |
US10866764B2 (en) * | 2018-07-23 | 2020-12-15 | SK Hynix Inc. | Memory system with parity cache scheme and method of operating such memory system |
KR102516584B1 (ko) * | 2018-11-21 | 2023-04-03 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
US10764455B2 (en) | 2018-12-31 | 2020-09-01 | Kyocera Document Solutions Inc. | Memory control method, memory control apparatus, and image forming method that uses memory control method |
US10922038B2 (en) * | 2018-12-31 | 2021-02-16 | Kyocera Document Solutions Inc. | Memory control method, memory control apparatus, and image forming method that uses memory control method |
WO2020191093A1 (en) * | 2019-03-19 | 2020-09-24 | Liveperson, Inc. | Dynamic communications routing to disparate endpoints |
CN110007859B (zh) * | 2019-03-27 | 2022-04-08 | 新华三云计算技术有限公司 | 一种i/o请求处理方法、装置及客户端 |
CN112395011B (zh) | 2020-11-24 | 2022-11-29 | 海宁奕斯伟集成电路设计有限公司 | 命令响应信息的返回方法、返回控制装置和电子设备 |
CN112631891A (zh) * | 2021-01-05 | 2021-04-09 | 网易(杭州)网络有限公司 | 性能剖析方法及装置、电子设备、存储介质 |
EP4318247A4 (en) * | 2021-06-15 | 2024-05-15 | Huawei Technologies Co., Ltd. | MEMORY CONTROL METHOD AND APPARATUS, MEMORY METHOD AND APPARATUS, ELECTRONIC DEVICE AND MEDIUM |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6058461A (en) * | 1997-12-02 | 2000-05-02 | Advanced Micro Devices, Inc. | Computer system including priorities for memory operations and allowing a higher priority memory operation to interrupt a lower priority memory operation |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0719221B2 (ja) * | 1988-12-27 | 1995-03-06 | 日本電気株式会社 | 記憶制御方式 |
JPH06161873A (ja) * | 1992-11-27 | 1994-06-10 | Fujitsu Ltd | 主記憶に対する複数のアクセスポイントのハングアップ処理方式 |
JP3540586B2 (ja) | 1996-12-26 | 2004-07-07 | 株式会社東芝 | 半導体記憶装置 |
US6122713A (en) | 1998-06-01 | 2000-09-19 | National Instruments Corporation | Dual port shared memory system including semaphores for high priority and low priority requestors |
US6920534B2 (en) * | 2001-06-29 | 2005-07-19 | Intel Corporation | Virtual-port memory and virtual-porting |
US8010751B2 (en) * | 2002-04-14 | 2011-08-30 | Bay Microsystems | Data forwarding engine |
US7343457B1 (en) * | 2003-08-01 | 2008-03-11 | Unisys Corporation | Dual active bank memory controller |
US7873797B2 (en) * | 2003-12-09 | 2011-01-18 | Thomson Licensing | Memory controller |
US7609584B2 (en) * | 2005-11-19 | 2009-10-27 | Samsung Electronics Co., Ltd. | Latency control circuit and method thereof and an auto-precharge control circuit and method thereof |
JP2008276638A (ja) | 2007-05-02 | 2008-11-13 | Elpida Memory Inc | 半導体記憶装置、メモリアクセス制御システムおよびデータの読み出し方法 |
JP2008287528A (ja) * | 2007-05-18 | 2008-11-27 | Renesas Technology Corp | リクエスト調停装置及びメモリコントローラ |
KR20100042885A (ko) | 2008-10-17 | 2010-04-27 | 삼성전자주식회사 | 비휘발성 메모리 장치의 동작 방법 |
JP5239769B2 (ja) | 2008-11-14 | 2013-07-17 | 富士通株式会社 | リクエスト順序制御システム、リクエスト順序制御方法およびリクエスト順序制御プログラム |
JP5396169B2 (ja) * | 2009-06-22 | 2014-01-22 | オリンパス株式会社 | データアクセス制御装置 |
US8615629B2 (en) * | 2010-01-18 | 2013-12-24 | Marvell International Ltd. | Access scheduler |
JP2011197707A (ja) * | 2010-03-17 | 2011-10-06 | Seiko Epson Corp | メモリー制御装置、メモリー制御システム、記録装置及びメモリー制御方法 |
US8819687B2 (en) * | 2010-05-07 | 2014-08-26 | Advanced Micro Devices, Inc. | Scheduling for multiple memory controllers |
US8850131B2 (en) * | 2010-08-24 | 2014-09-30 | Advanced Micro Devices, Inc. | Memory request scheduling based on thread criticality |
-
2013
- 2013-03-15 US US13/837,519 patent/US9134919B2/en active Active
- 2013-03-27 EP EP13161227.7A patent/EP2645263B1/en active Active
- 2013-03-29 CN CN201310110042.6A patent/CN103366801B/zh active Active
- 2013-03-29 JP JP2013073033A patent/JP6373559B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6058461A (en) * | 1997-12-02 | 2000-05-02 | Advanced Micro Devices, Inc. | Computer system including priorities for memory operations and allowing a higher priority memory operation to interrupt a lower priority memory operation |
Also Published As
Publication number | Publication date |
---|---|
US9134919B2 (en) | 2015-09-15 |
EP2645263B1 (en) | 2017-11-22 |
CN103366801A (zh) | 2013-10-23 |
JP2013206474A (ja) | 2013-10-07 |
US20130262761A1 (en) | 2013-10-03 |
EP2645263A2 (en) | 2013-10-02 |
JP6373559B2 (ja) | 2018-08-15 |
EP2645263A3 (en) | 2014-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103366801B (zh) | 存储器装置及其操作方法 | |
CN103680594B (zh) | 降低写失败的存储器件、包括该存储器件的***及其方法 | |
CN103946811B (zh) | 用于实现具有不同操作模式的多级存储器分级结构的设备和方法 | |
KR101545074B1 (ko) | 메모리의 볼륨의 식별자를 판정하는 방법, 장치 및 시스템 | |
CN101957726B (zh) | 双列直插式存储模块中的相变存储器 | |
CN102405498B (zh) | 可配置带宽存储器装置及方法 | |
CN101946245B (zh) | 存储器装置与芯片上网络方法、设备及*** | |
CN108628777A (zh) | 动态和自适应中断合并的***和方法 | |
CN104541256B (zh) | 智能远存储器带宽缩放 | |
CN106528461A (zh) | 储存设备及其中断生成方法 | |
CN108733595A (zh) | 存储器***、包括其的数据处理***及其操作方法 | |
CN107391397A (zh) | 支持近存储器和远存储器访问的存储器通道 | |
CN108701081A (zh) | 用于同时存取非易失性存储器的多个分区的设备和方法 | |
CN106462504A (zh) | 最终级高速缓存***和对应的方法 | |
CN104011689B (zh) | 非易失性存储器损耗管理 | |
US11360711B2 (en) | Storage device temporarily suspending internal operation to provide short read response time for read request from host | |
CN104126181A (zh) | 作为随机存取存储器的非易失性半导体存储装置的***存取的薄变换 | |
CN107870742A (zh) | 向存储装置提供旁路的电子装置、存储装置和计算*** | |
CN108628548A (zh) | 从耦合于计算装置的单个存储装置模拟多个存储装置 | |
US20110035537A1 (en) | Multiprocessor system having multi-command set operation and priority command operation | |
US9792989B2 (en) | Memory system including nonvolatile memory | |
JP2018152112A (ja) | メモリ装置及びメモリ装置の動作方法 | |
CN104409099B (zh) | 基于FPGA的高速eMMC阵列控制器 | |
CN107870866A (zh) | Io命令调度方法与nvm接口控制器 | |
CN110399321A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |