动态随机存取存储器、以及其存取方法和操作方法与流程

文档序号:13389251阅读:474来源:国知局
动态随机存取存储器、以及其存取方法和操作方法与流程

本发明涉及动态随机存取存储器(dynamicrandomaccessmemory,dram),特别是有关于dram的存取和操作方法。



背景技术:

动态随机存取存储器技术已经存在很多年了。通过半导体制造技术和电路设计技术的进步,dram存储容量的急剧增加已成为可能。相当大的进步也导致了更高的集成水平,允许显著减少存储器阵列的大小和成本,以及增加工艺成品率(processyield)。

尽管事实上快速增长的存储容量的结构正变得越来越小,以及他们的存储单元字段(memorycellfield)变得越来越大,现代dram半导体存储器要求半导体芯片上的更多面积。该面积的要求与相当大的生产成本相关。除了存储器单元字段以外,半导体存储器芯片面积的很大部分被控制线、地址线和数据线占用,其中一些被设置在存储单元字段旁边,并且随着半导体存储器的存储容量的增加和数据存储器的操作所需的控制装置的增加而变得更宽。

dram从控制器接收多个输入信号,其中输入信号定义一些参数,如存储数据以及传输存储的数据的位置或地址。与dram的读或写交互通常涉及两个步骤。首先,地址(例如,行地址和列地址)和控制信号被传输到dram,使得dram为数据传输做准备。第二步,dram读取或写入数据,完成数据传输。当执行读取或写入交互时,dram和控制器之间的总线将被占用。



技术实现要素:

有鉴于此,本发明提供一种动态随机存取存储器、以及其存取方法和操作方法。

依据本发明一实施方式,提供一种动态随机存取存储器的存取方法,包括:提供对应于第一激活命令的第一存储体的第一行地址的多个部分;通过命令总线提供该第一激活命令的多个第一子命令,并通过地址总线提供关于该第一行地址的多个部分的地址信息的多个部分,其中该地址信息的每个部分包括该第一存储体的该第一行地址的单独的部分,并且该多个第一子命令的每个对应于单独的地址信息;通过该命令总线提供该第一激活命令的特定子命令,以及通过该地址总线提供关于该第一行地址的特定部分的地址信息;以及在提供该多个第一子命令后,通过该命令总线提供对应于该第一存储体的第一存取命令。

依据本发明另一实施方式,提供一种动态随机存取存储器的操作方法,包括:通过命令总线获取第一激活命令的多个第一子命令,并通过地址总线获取关于特定存储体的第一行地址的多个第一部分的多个第一地址信息,其中该多个第一子命令的每一个对应于该特定存储体的该第一行地址的单独的该第一部分;响应于该多个第一子命令中的特定子命令,组合该特定存储体的该第一行地址的该多个第一部分,以获得第一完整行地址;以及通过该命令总线获取存取命令。

依据本发明另一实施方式,提供一种动态随机存取存储器,包括:地址组合电路,包括:控制单元,通过地址总线,根据来自控制器的地址信息提供存储体地址和触发信号;第一选择器,根据该存储体地址,将该地址信息的行地址的一部分存储到存储单元中;以及第二选择器,根据该存储体地址和该触发信号,从该存储单元提供完整行地址;列地址解码器,根据通过命令总线从该控制器获取的存取命令,通过该地址总线从该控制器中获取列地址;其中,当该存取命令为写入命令时,根据该完整行地址和该列地址,接收和存储通过该数据总线从该控制器获取的第一数据,以及当该存取命令为读取命令时,通过该数据总线将对应于该完整行地址和该列地址的第二数据提供至该控制器。

本发明所提供的动态随机存取存储器、以及其存取方法和操作方法,当执行读取或写入交互时,dram和控制器之间的总线不会总是被占用。

对于已经阅读后续由各附图及内容所显示的较佳实施方式的本领域的技术人员来说,本发明的各目的是明显的。

附图说明

图1为根据本发明一实施例的电子装置的示意图。

图2为根据本发明一实施例的dram的存取方法的流程图,其中该存取方法是由控制器来执行的。

图3为根据本发明一实施例的图2中的控制器的信号的波形示意图。

图4为根据本发明一实施例的对应于激活命令act的地址信息row_addr1和row_addr2的配置的表格。

图5为根据本发明另一实施例的dram存取方法的流程图,其中该存取方法是由控制器来执行的。

图6为根据本发明一实施例的图5的控制器的信号的波形示意图。

图7a和图7b为根据本发明的实施例的dram的示意图,其中dram是由能够执行图2和图5的存取方法的控制器来控制的。

图8为根据本发明一实施例的dram的操作方法的流程图。

具体实施方式

以下描述为本发明的较佳实施例。以下实施例仅用来举例阐释本发明的技术特征,并非用以限定本发明。本发明的保护范围当视权利要求书所界定为准。

图1为根据本发明一实施例的电子装置100的示意图。电子装置100包括控制器110和动态随机存取存储器(dram)120。此外,电子装置100还包括控制器110和dram120之间的多个总线130、140和150。总线130为将地址信号addr[n:0]从控制器110提供至dram120的地址总线。总线140为将命令信号cmd[m:0]从控制器110提供至dram120的命令总线。总线150为在控制器110和dram120之间传递数据信号dat[x:0]的数据总线。此外,电子装置100还包括在控制器110和dram120之间传输线160和170。传输线160用于将时钟信号ck从控制器110提供至dram120。传输线170用于将芯片选择信号cs从控制器110传递至dram120。值得注意的是,地址总线130是由多个地址线形成的,以及地址线的数量小于将被提供至dram120的行地址和列地址的最大数目。因此,降低了该控制器110和dram120的引脚数(pincount)。

图2为根据本发明一实施例的dram(如图1中的120)的存取方法的流程图,其中该存取方法是由控制器(如图1中的110)来执行的。图3为根据本发明一实施例的图2中的控制器的信号的波形示意图。参考图2和图3,首先,在步骤s210中,将被传送到dram的行地址row[y:0]包括多个部分,其中每个部分包括行地址中的相同数量或不同数量的位。在一些实施例中,行地址row[y:0]被划分成多个部分。在一些实施例中,行地址row[y:0]是由多个部分组成的。其次,在步骤s220中,控制器通过命令总线(如图1中的140)提供激活命令act的多个子命令act-1~act(n-1)至dram。同时,控制器通过地址总线(如图1中的130)提供地址信息row_addr1~row_addr(n-1)至dram,其中地址信息row_addr1~row_addr(n-1)中的每一个包括对应于子命令的行地址row[y:0]中的单独的部分(individualportion)。例如,控制器在相位p1中提供与子命令act-1相关的地址信息row_addr1。此外,该控制器在相位p2中提供与子命令act-2相关的地址信息row_addr2,等等。接下来,在步骤s230中,控制器通过命令总线提供激活命令act中的特定子命令act-n至dram。同时,控制器通过地址总线提供地址信息row_addrn至dram,其中地址信息row_addrn包括触发指示器(triggerindicator)和对应于特定子命令的行地址row[y:0]中的单独的部分。例如,控制器在相位pn中提供与子命令act-n相关的地址信息row_addrn。值得注意的是,子命令act-1~act-n通过空闲相位ps而彼此分开。因此,对于激活命令act,控制器和dram之间的总线被占用不超过2个连续的时钟周期。在一些实施例中,命令总线(如图1中的140)在空闲相位ps中是空闲的,即不传送命令信号cmd,如dram执行不操作(nop)指令或取消选定指令(deselectinstruction)。此外,在一些实施例中,该控制器在空闲相位ps中可以提供其他的命令至dram。例如,对应于另一个存储体(bank)的另一个激活命令的子命令可以在空闲相位ps提供至dram。此外,在空闲相位ps中,不提供行地址row[y:0]的任何部分给dram。在本实施例中,特定子命令为传送至dram的最后一个子命令act-n。此外,与地址信息row_addr1-row_addr(n-1)相比,特定地址信息row_addrn进一步包括触发指示器。接着,在步骤s240中,控制器通过地址总线提供列地址col[k:0]至dram。同时,该控制器通过命令总线提供存取命令至dram。在本实施例中,存取命令为读取命令read,以及响应于读取命令read,dram通过数据总线提供行地址row[y:0]和列地址col[k:0]对应的数据dat至控制器。在一个实施例中,如果存取命令为写入命令write,控制器进一步还提供将被存储的数据至dram,然后dram根据行地址row[y:0]和列地址col[k:0]存储来自控制器的数据。值得注意的是,该行地址row[y:0]的比特数大于地址总线的地址线的数量,以及列地址col[k:0]的比特数小于或等于地址总线的地址线的数量。此外,地址信息row_addr1~row_addrn的数量等于子命令act-1~act-n的数量,即该行地址row[y:0]的多个部分的数量等于子命令act-1~act-n的数量。

图4为根据本发明一实施例的对应于激活命令act的地址信息row_addr1和row_addr2的配置的表格。在一个实施例中,激活命令act是由两个子命令act-1和act-2组成的。此外,行地址row[15:0]包括第一部分和第二部分。该行地址row[15:0]的第一部分包括行地址row[15:0]的多个最高有效位,即高行地址row[15:8],以及该行地址row[15:0]的第二部分包括行地址row[15:0]的剩余的位,即低行地址row[7:0]。参考图3和图4,当通过命令总线提供子命令act-1至dram时,同时通过地址总线提供地址信息row_addr1至dram,以及地址信息row_addr1包括高行地址row[15:8]。此外,当通过命令总线提供子命令act-2至dram时,同时通过地址总线提供地址信息row_addr2至dram,以及地址信息row_addr1包括低行地址row[7:0]。在本实施例中,地址信息row_addr1包括两部分,其中当芯片选择信号cs是处于高逻辑电平(即“h”)时,地址信息row_addr1的第一部分被提供至dram,以及当芯片选择信号cs为低逻辑电平(“l”)时,地址信息row_addr1的第二部分被提供至dram。例如,地址信息row_addr1的第一部分包括索引ind[1:0]、存储体地址ba[2:0]、触发位tri和行地址row[15],以及地址信息row_addr1的第二部分包括行地址row[14:8]。在一实施例中,该索引ind[1:0]指示该地址信息的识别,其中每个地址信息具有索引ind[1:0]的单独的值(individualvalue)。例如,地址信息row_addr1的索引ind[1:0]具有第一索引值(例如“hl”),以及地址信息row_addr2的索引ind[1:0]具有不同于第一索引值的第二索引值(例如“hh”)。根据索引ind[1:0]的单独的值,dram可以识别行地址row[15:0]中的哪些位存在于地址信息中。此外,存储体地址ba[2:0]指示将被存取的特定存储体的存储体地址。触发位tri指示在地址信息中是否存在触发指示器,以及触发指示器被用来表示该地址信息是激活命令act的最后一个地址信息。例如,如果触发位tri处于低逻辑电平,则不存在触发指示器。相反,如果触发位tri处于高逻辑电平,则存在触发指示器。如果dram接收到具有触发指示器的特定地址信息,dram将会忽略激活命令act的后续地址信息,并且dram根据该特定地址信息和在该特定地址信息之前接收到的地址信息,获取对应与激活命令act的行地址。同样地,地址信息row_addr2包括两部分,其中当芯片选择信号cs处于高逻辑电平(即“h”)时,提供地址信息row_addr2的第一部分至dram,以及当芯片选择信号cs处于低逻辑电平(“l”)时,提供地址信息row_addr2的第二部分至dram。在本实施例中,地址信息row_addr2的第一部分包括索引ind[1:0]、存储体地址ba[2:0]、触发位tri和行地址row[7],以及地址信息row_addr2的第二部分包括行地址row[6:0]。应该指出的是,地址信息row_addr2的索引ind[1:0]不同于地址信息row_addr1的。此外,地址信息row_addr2的存储体地址ba[2:0]等于地址信息row_addr1的存储体地址ba[2:0]。此外,当地址信息row_add1和地址信息row_addr2包括触发位tri时,在地址信息row_add1和row_addr2之间只存在一个触发指示器。在一个实施例中,地址信息row_add1和地址信息row_addr2不包括触发位tri,以及dram根据接收到的全部的地址信息来获得对应于激活命令act的行地址。应该指出的是,图4中的地址信息row_add1和row_addr2的配置仅作为示意,并不意味着限制本发明。

图5为根据本发明另一实施例的dram(如图1中的120)存取方法的流程图,其中该存取方法是由控制器(如图1中的110)来执行的。图6为根据本发明一实施例的图5的控制器的信号的波形示意图。参考图5和图6,首先,在步骤s510中,根据与第一激活命令act1相关的第一行地址row1[y:0]和与存取命令相关的第一列地址col1[k:0],来存取dram的特定存储体。在本实施例中,根据图2的存取方法,将第一行地址row1[y:0]和第一激活命令act1从控制器传送到dram。如上所述,第一行地址row1[y:0]包括对应于特定索引(例如,图4中的ind[1:0])的配置的多个部分,以及第一地址信息row1_addr1~row1_addrn包括与第一激活命令act1的相应子相关命令act1-1~act1-n相关的第一行地址row1[y:0]的多个部分,第一地址信息row1_addr1~row1_addrn被传送到dram,如图3所示。接下来,在步骤s520中,根据特定索引的配置,对应于特定存储体的第二行地址row2[y:0]包括多个部分,以及根据第二行地址row2[y:0]的多个部分产生第二地址信息row2_addr1~row2_addrn。接着,在步骤s530中,控制器将第一地址信息row1_addr1~row1_addrn与第二地址信息row2_addr1-row2_addrn进行比较,从而获得包括第二行地址row2[y:0]的多个部分的第二地址信息,其中第二行地址row2[y:0]的多个部分不同于第一行地址row1[y:0]的多个部分的。例如,对于包含相同索引ind的第一地址信息和第二地址信息,该控制器可以比较第一地址信息的行地址与第二地址信息的行地址。其次,在步骤s540中,控制器提供第二地址信息至dram,第二地址信息包括不同于第一行地址row1[y:0]的第二行地址row2[y:0]。同时,该控制器提供第二激活命令act2的对应的子命令至dram。例如,如果对应相同索引ind的第一地址信息和第二地址信息的列地址不同,控制器提供与第二激活命令act2的对应的子命令相关的第二地址信息至dram。相反,如果对应相同索引ind的第一地址信息和第二地址信息的列地址相同,控制器不提供第二地址信息至dram。在图6的实施例中,第二地址信息row2_addr1、row2_addr5和row2_addrn不同于第一地址信息row1_addr1、row1_addr5和row1_addrn。换句话说,除了第二地址信息row2_addr1、row2_addr5和row2_addrn,第二行地址row2[y:0]的其他第二地址信息与具有相同索引的第一行地址row1[y:0]的第一地址信息相同。如上所述,特定地址信息为第二地址信息,该第二地址信息包括触发指示器或是最后被传送至dram。接下来,在步骤s550中,控制器通过地址总线提供第二列地址col2[k:0]至dram。第二列地址col2[k:0]可以与第一列地址col1[k:0]相同或不相同。同时,该控制器通过命令总线提供存取命令至dram。在本实施例中,存取命令为读取命令read,dram响应于读取命令read,通过数据总线提供对应于第二行地址row2[y:0]和第二列地址col2[k:0]的数据dat2至控制器。值得注意的是,dram根据第一行地址row1[y:0]和第二地址信息row2_addr1、row2_addr5和row2_addrn来获得第二行地址row2[y:0]。

图7a和图7b为根据本发明的实施例的dram700的示意图,其中dram700是由能够执行图2和图5的存取方法的控制器来控制的。dram700包括地址组合电路710、行地址解码器720、存储器阵列730、读出放大器(senseamplifier)740、选择器750、存储单元760、选择器770和列地址解码器780,其中存储器阵列730包括多个存储单元。地址组合电路710包括控制单元711、选择器713、存储单元714和选择器715。地址组合电路710根据来自控制器的地址信息row_addr和芯片选择信号cs,提供完整的行地址row[y:0]至行地址解码器720。地址组合电路710的详细描述将在下面描述。在获取行地址row[y:0]后,行地址解码器720解码行地址row[y:0],以及存储器阵列730将对应于解码的行地址的数据提供至读出放大器740。根据来自地址组合电路710的存储体地址bank_addr,选择器750将来自读出放大器740的数据存储到存储单元760中。在本实施例中,存储单元760包括多个子单元,其中每个子单元对应于单独的(individual)存储体地址。例如,选择器750将来自读出放大器740的数据存储到760对应于存储体地址bank_addr的存储单元760的子单位。接下来,dram700通过地址总线从控制器接收列地址col[k:0]并通过命令总线从控制器接收存取命令read,其中存取命令read包括存储体地址bank_access,以及存储体地址bank_access与存储体地址bank_addr相同。根据存储体地址bank_access,选择器770从存储单元760中读取对应于行地址row[y:0]的数据,并将读取的数据提供至列地址解码器780。接下来,根据来自选择器770的数据,列地址解码器780解码列地址col[k:0]以获取数据dat[x:0],并通过数据总线将数据dat[x:0]提供至控制器。相反,如果存取命令为写入命令,列地址解码器780解码列地址col[k:0],以及列地址解码器780根据解码的列地址将数据dat[x:0]从控制器提供至选择器770。根据存储体地址bank_access,选择器770将来自列地址解码器780的数据存储到存储单元760。接下来,根据存储体地址bank_addr,选择器750从存储单元760读取对应于列地址col[k:0]的数据,并将数据提供至读出放大器740。因此,根据行地址row[y:0]和列地址col[k:0],来自控制器的数据dat[x:0]被存储到存储器阵列730。

一起参考图3和图7a,首先,dram700从控制器接收对应激活命令act的子命令act-1的地址信息row_addr1和芯片选择信号cs。根据芯片选择信号cs,控制单元711解码地址信息row_addr1以获得存储体地址bank_addr、索引信号s_ind和行地址ra的一部分。例如,当芯片选择信号cs处于高逻辑电平(即“h”)时,控制单元711根据图4中的存储体地址ba[2:0]提供存储体地址bank_addr。同时,控制单元711可以根据图4中的索引ind[1:0]的索引值提供索引信号s_ind。此外,由于在地址信息row_addr1中不存在触发指示器,控制单元711将不提供触发信号s_tri至选择器715。此外,根据在芯片选择信号cs的高逻辑电平下获得的行地址row[15]和在芯片选择信号cs的低逻辑电平下获得的行地址row[14:8],控制单元711可以提供行地址ra(如ra=row[15:8])的该部分至选择器713。根据索引信号s_ind和存储体地址bank_addr,选择器713将行地址ra的该部分存储至存储单元714中。在本实施例中,存储单元714包括多个子单元,其中每个子单元对应于单独的存储体地址。此外,每个子单元被分成多个部分ra_1–ra_n以存储行地址的相应部分。因此,选择器713可以提供行地址ra的该部分至对应于存储体地址bank_addr的存储单元714的子单元和对应于索引信号s_ind的子单元的部分。接下来,dram700从控制器接收后续的地址信息row_addr2~row_addrn。同样地,控制单元711可以解码接收到的地址信息,以提供索引信号s_ind和存储体地址bank_addr至选择器713,以便将行地址ra的该部分存储至存储单元714。当控制单元711确定当前接收的地址信息row_addr是激活命令act的最后一个地址信息或当前接收的地址信息row_addr中存在触发指示器,控制单元711提供触发信号s_ind到选择器715。根据触发信号s_ind和存储体地址bank_addr,选择器715从存储单元714读取完整的行地址row[y:0],并将该行地址row[y:0]提供至行地址解码器720。如上所述,如果dram700的特定存储体连续地存取多个激活命令,由于特定存储体的行地址的相同部分已经被存储在存储单元714中,因此只有不同于先前的激活命令的行地址的行地址的部分,被从控制器提供至dram700。

图8为根据本发明一实施例的dram的操作方法的流程图。在步骤s810中,dram从控制器获取多个地址信息,该多个地址信息包括与激活命令相关的行地址的多个部分。接着,在步骤s820中,响应于触发信号,dram组合得到的行地址的多个部分以获得完整行地址。如上所述,当确定当前接收的地址信息包括触发指示器或当前接收的地址信息是激活命令的最后一个地址信息时,dram提供触发信号。接下来,在步骤s830中,dram进一步从控制器获取与存取命令相关的列地址。响应于该存取命令,根据该完整的地址和列地址,来自控制器的数据被存储到dram的存储器阵列中,或者存储在dram中的数据被提供给控制器。

本领域的技术人员将容易地观察到,在不脱离本发明的精神和范围内,可以对装置和方法进行多种修改和变动。因此,本发明的范围应以权利要求的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1