专利名称::易失性存储器的寄存器读取的制作方法
技术领域:
:本发明大体而言涉及存储器领域,且具体而言涉及一种用以读取来自易失性存储器模块的寄存器的方法。
背景技术:
:便携式电子装置已成为现代生活中普遍存在的配备。便携式电子装置的两个现代趋势是功能越来越强且尺寸越来越小。不断增强的功能要求更高的计算能力和更大的存储器。便携式电子装置的尺寸减小使得功率消耗具有额外费用,因为较小的电池所能存储和释放的电力较少。因此,能提高性能和降低功率消耗的进步会对便携式电子装置较为有利。多数便携式电子装置包括动态随机访问存储器(DRAM)以存储处理器或其他控制器的指令和数据。DRAM是现有最成本有效的固态存储器技术。尽管诸如磁盘驱动器等大容量存储技术的每比特价格较低,但长访问延时、大功率消耗和对震动或摇摆的高敏感度使大容量存储驱动器不能用于许多便携式电子装置应用。同步DRAM(SDRAM)通过使所有控制信号和数据传送周期与时钟边缘对准来提供相对于传统DRAM得到改良的性能和简化的接口设计。双数据率(DDR)SDRAM允许在时钟的上升和下降边缘二者上进行数据传送,以提供更高的性能。多数SDRAM模块包括模式寄存器,以存储诸如CAS延时、突发长度及类似参数等可配置参数。随着SDRAM技术的复杂度和可配置度增加,许多SDRAM模块添加了扩展模式寄存器,以存储其他可配置参数,例如写入长度、驱动长度和类似参数。模式寄存器和扩展模式寄存器均是只写的。也就是说,控制器不能读取这些寄存器的内容。由于引入了模式寄存器和扩展寄存器,DRAM模块首次存储了不同于写入DRAM阵列和从DRAM阵列读取的数据。因此,需要新的数据传送操作。许多SDRAM模块包括模式寄存器设置(MRS)和扩展模式寄存器设置(EMRS)操作,以使得所述寄存器装载所需参数。这些操作一般通过下列步骤来实施同时驱动CS、RAS、CAS和WE控制信号变为低电平,使用库地址比特在MRS和EMRS之间进行选择,及在地址线AO-All上将欲写入的信息提供至所选寄存器。在多数实施方案中,所有的DRAM库必须在MRS或EMRS命令出现时处于非激活状态,且在指定的最小持续时间(例如,6个吋钟周期)内不可将其他操作指引至SDRAM模块。这些限制不会不利地影响SDRAM性能,这是因为由于模式寄存器和扩展模式寄存器的性质,其仅在初始化时被写入一次且不会改变。第三代图形双数据率工业规范(GDDR3)提供从SDRAM模块中读取不同于DRAM阵列中所存储数据的信息的能力。作为在EMRS操作期间的一个选项,SDRAM可在数据总线上输出卖方代码和版本号(在地址总线上传输EMRS写入信息)。必须遵守所有关于EMRS操作的限制一所有库必须空闲,且所述操作后跟随一最小的不活动持续时间(例如,6个时钟周期)。由于信息(卖方ID和版本号)的静态性质,其仅需读取一次,例如在初始化期间,且EMRS操作的限制并不会明显地影响性能。DRAM操作的一个基本方面是必须周期性地更新每一比特位置处用于存储数据的电容电荷以保持数据状态。DRAM阵列以行为单位来刷新;某些SDRAM模块可同时刷新多个DRAM库中的同一行。必须在指定刷新周期内刷新DRAM阵列中的每一行。可在每一刷新周期内依次刷薪各DRAM行,这称作集中式刷新。然而,这会阻止在为遍历所有行所需的时间内访问DRAM阵列,且引起性能降级。作为选择,可使每一行的各刷新循环均匀分布于整个刷新周期中,并散布有读取和写入数据传送。这称作分布式刷新。分布式刷新实施方式更为常见,因为其带来的性能损失更小。总的所需刷新周期及因此刷新循环在分布式刷新操作中的间距取决于DRAM阵列电路小片的温度。一般的经验规则是,DRAM阵列电路小片的温度每升高10'C,刷新率必须加倍。为SDRAM模块指定的刷新周期通常是DRAM在其最高的预期操作温度下所需的刷新周期。因此,每当DRAM阵列电路小片处于较低温度时,刷新周期较长,且所述分布式刷新循环可间隔更远,从而减少其对DRAM读取和写入访问的影响。这将通过消除不必要的刷新活动而同时提高处理器性能及降低功率消耗。同在申请中的美国专利申请案第_号揭示一种具有温度传感器的SDRAM模块,所述专利申请案于_提出申请且受让于本发明的受让人,其全文以引用的方式并入本文中。诸如处理器等控制器可周期性地读取温度传感器的输出,并计算实际的最小所需刷新率。至少在起始操作期间一也就是在SDRAM模块在其操作温度下稳定之前一控制器可周期性(例如,每4至6微秒)地读取温度传感器,以动态地使刷新率最优化。温度传感器的输出是一种从SDRAM模块读取的未存储于DRAM阵列中的数据的形式。用于读取这种信息的唯一已知手段一"背负(piggybacking)"在EMRS操作中对卖方ID和版本号的读取,如在GDDR3规范中所提供一会导致不可接受的性能损失。如上文所述,在多数实施方案中,所有库在EMRS操作之前必须空闲,且不可在EMRS操作之后的多个时钟周期内发出任何命令。理想地,应在同步数据传送中执行对未存储于DRAM阵列中的数据的读取,此大致类似于指向所述DRAM阵列中的数据的读取操作。这将使对未存储于DRAM阵列中的信息的读取与对存储于DRAM阵列中的数据的读取和写入(也就是正常DRAM访问)能够无缝地交替。
发明内容在一个或多个实施例中,未存储于SDRAM模块的DRAM阵列中的数据是在同步数据传送中从SDRAM模块读取的。所述数据传送(称作寄存器读取命令/操作)在定时和操作上均类似于指向存储于DRAM阵列中的数据的读取命令/操作。所述寄存器读取命令由SDRAM控制信号和库地址比特的唯一编码加以区别。在一实施例中,寄存器读取命令包括与MSR或EMSR命令相同的控制信号状态,其中库地址被设定为唯一值,如2'bl0。寄存器读取命令可仅读取单个数据项,或可使用地址总线对未存储于DRAM阵列中的多个数据进行定址。寄存器读取操作可以是突发式读取,且突发长度可以用各种方式来界定。一个实施例涉及一种从SDRAM模块读取未存储于DRAM阵列中的数据的方法。使用控制信号的唯一编码为用于同步读取DLAM阵列的数据输出控制信号,且同步地读取未存储于DRAM阵列中的数据。另一实施例涉及一种SDRAM存储器模块,其包括DRAM阵列和寄存器。所述模块还包括控制电路,所述控制电路可操作以执行与控制器的同步数据传送及读取来自DRAM阵列的数据并将数据写入DRAM阵列。所述控制电路进一步可操作以在同步数据传送中将未存储于DRAM阵列中的数据输出至控制器。图1是处理器的功能性方框图。图2是寄存器读取操作的时序图。图3是在寄存器读取后跟随一读取的时序图。图4是在终止的寄存器读取突发后跟随一写入的时序图。具体实施方式图1描绘SDRAM存储器模块100和控制器102。所述控制器可包括处理器、数字信号处理器、微控制器、状态机或类似装置。控制器102通过所属
技术领域:
中众所周知的控制信号时钟(CLK)、时钟启用(CKE)、芯片选择(CS)、行地址选通脉冲(RAS)、列地址选通脉冲(CAS)、写入启用(WE)和数据限定符(DQM)来指示对SDRAM模块100的操作。控制器102将多条地址线提供至SDRAM模块100,且由双向数据总线连接二者。SDRAM模块包括可被划分为多个库106的DRAM阵列104。所述DRAM阵列存储指令及数据,且在控制器102的指示下自控制电路108读取、向控制电路108写入及由控制电路108刷新。SDRAM模块100另外包括模式寄存器110和扩展模式寄存器112。SDRAM模块100可另外包括标识信息114,例如卖方ID和版本号。所述标识信息114可存储于寄存器中;另一选择为,其可硬连线至电路小片内。SDRAM模块100另外包括温度传感电路116,其包括一个或多个温度传感器,例如设置于DRAM阵列104附近且可操作以感测DRAM阵列电路小片的温度的热敏电阻器118。模式寄存器110和扩展模式寄存器112的内容、SDRAM模块标识114和温度传感器116的输出均为可自SDRAM模块100读取但未存储于DRAM阵列104中的数据的实例。根据一个或多个实施例,定义一会实现对未存储于DRAM阵列104中的数据的同步读取的操作。SDRAM操作由控制器102在上升时钟边缘上施加至SDRAM模块100的控制信号的状态界定。常见的SDRAM操作界定于下述真值表中,其中X指示"无关紧要"状态。<table>tableseeoriginaldocumentpage8</column></row><table>表l:代表性SDRAM命令和控制信号根据一个或多个实施例,定义下述操作以读取未存储于DRAM阵列中的数据<table>tableseeoriginaldocumentpage8</column></row><table>表2:单个寄存器读取命令和控制信号读取未存储于DRAM阵列中的数据的操作在本文中称作"寄存器读取",尽管所述操作并不限于读取来自实际寄存器的数据。举例而言,可使用寄存器读取命令来读取温度传感电路116和硬连线的SDRAM模块ID信息114的输出,尽管SDRAM模块IOO上的实际寄存器中可能不会驻存这两项数据。在一实施例中,在寄存器读取操作中,在数据总线比特DQ[3:0]上驱动SDRAM模块ID信息114。SDRAM模块ID信息114可以是如在GDDR3标准中所指定的卖方ID的形式。读取卖方ID的能力可特别适用于"堆叠芯片"应用中,其中使用中间介电层以丝焊互联线堆叠两个或更多个半导体电路小片,并封装于同一集成电路外壳中。例如,可将一处理器和一SDRAM电路小片堆叠于一程序包中。在这些应用中,如果不知晓卖方,则无法在不能以电子方式从SDRAM装置本身读取信息的情况下确定卖方。在一实施例中,在数据总线比特DQ[10:8]上驱动由温度传感电路116产生的信息在一实施例中,可将温度信息表达为刷新率乘数,如下述表格中所界定。<table>tableseeoriginaldocumentpage9</column></row><table>在寄存器读取操作期间,可在数据总线上同时驱动SDRAM模块ID信息114和温度传感电路116的输出。应注意,在寄存器读取命令的这一实施例中并未使用地址总线;所述读取通常指向单项数据,例如只读状态寄存器。在另一实施例中,读取寄存器命令并不限于读取单项数据。一般而言,读取寄存器命令可用于读取来自SDRAM模块100的任何未存储于DRAM阵列104中的数据。这可以包括温度传感电路116的输出、SDRAM模块ID信息114、模式寄存器IIO或扩展模式寄存器112的内容、或其他将来可被添加至SDRAM模块100的寄存器或非寄存数据源。在这一实施例中,所述地址总线的至少某些比特不是被视为"无关紧要"信号,而是传输读取寄存器命令数据源的地址。下述表格描绘一般情形的寄存器读取命令的控制信号。<table>tableseeoriginaldocumentpage9</column></row><table>表4:一般寄存器读取命令和控制信号无论寄存器读取命令可访问多少非DRAM阵列数据源,在所有情形中寄存器读取均作为从SDRAM模块100至控制器102的同步数据传送来进行。如本文所使用,"同步数据传送"是遵照定时参数和对存储于DRAM阵列中的数据的传统SDRAM数据传送的限制的SDRAM数据传送。如本文使用,"同步读取"数据意指在同步数据传送中读取数据。寄存器读取操作遵照正常的读取操作引脚电平定时。换句话说,在正常读取及写入操作之前及之后的寄存器读取操作的定时和限制与针对正常读取操作所界定的定时和限制相同,如下列表格中概述。寄存器读取操作组合定时和限制相同于读取-〉寄存器读取读取-〉读取寄存器读取-〉读取读取->读取写入->寄存器读取写入->读取寄存器读取->写入'读取->写入.表5:寄存器读取和DRAM阵列读取定时及限制的比较图2是显示DDRSDRAM模块100的单个寄存器读取操作的时序图。在这一情形中,CAS延时为2.5且突发长度为2。通过在时钟周期2的上升边缘处将CS、RAS、CAS和WE控制信号置于上文在表2及4中所描绘的状态且还将数值2'bl0置于库地址比特上,控制器102将读取寄存器命令呈递至SDRAM模块100。在其中寄存器读取操作可读取多于单个状态寄存器的实施例中,在所述时刻在地址总线上另外驱动一地址。在存储于模式寄存器110中的CAS延时值所确定的延时之后,SDRAM模块100驱动数据总线上的数据,且驱动数据选通脉冲DQS。在图2所描绘的实施例中,寄存器读取操作是突发式读取,其突发长度由存储于模式寄存器110中的突发长度参数确定。在其他实施例中,突发长度可以各种方式确定。在一实施例中,寄存器读取操作具有默认的突发长度,其不依赖于存储于模式寄存器110中的突发长度参数。在另一实施例中,界定寄存器读取突发长度参数,且所述值写入至模式寄存器110、扩展模式寄存器112或SDRAM模块100上的其他模式寄存器。因此,寄存器读取操作始终为所存储的突发长度。在另一实施例中,通过在一个或多个未使用的控制信号(例如,高阶地址比特)上编码一突发长度值,可在读取寄存器命令时由控制器102将每一寄存器读取操作的突发长度传送至SDRAM模块100。图3及图4是示范如何可将寄存器读取操作无缝地集成至规则的SDRAM读取和写入操作中的代表性时序图。图3描绘在规则读取之后的寄存器读取,其中所述两个读取操作的突发长度均为2。在这一情形中,CAS延时为2。两个非DRAM数据循环(也就是,对SDRAM模块100中未存储于DRAM阵列104中的数据的读取)之后是对DRAM阵列104的两个数据读取循环。在其中寄存器读取操作仅访问一个位置(也就是说,未使用地址总线)的实施例中,非DRAM数据的第二次传送(或后续传送,对于较长的突发长度而言)可以是第一次传送的复制。另一选择为,第二次或任何后续的突发传送可以是0,或任一其他预定值。图4描绘其中终止所述突发传送并随后对DRAM阵列104进行数据写入的寄存器读取操作。在这一情形中,寄存器读取操作的CAS长度为3。突发长度至少为2。所述寄存器读取突发在长度为2时由寄存器读取命令之后的突发终止命令终止。在对SDRAM模块100中未存储于DRAM阵列104中的数据读取的传送之后,将数据写入DRAM阵列104。控制器102根据定时参数(dqss在DQ总线上驱动欲写入DRAM阵列104的数据,这是以仿佛所述写入是跟随在读取DRAM阵列104的数据之后的相同方式进行。图3及图4中描绘的实例仅是代表性的。一般而言,所述寄存器读取操作在所有方面均遵从于常规的SDRAM读取操作(除发出命令时控制信号状态和库地址比特外)。因此,可在任一时间自SDRAM模块100读取未存储于DRAM阵列104中的数据,而对从DRAM阵列104读取和向DRAM阵列104写入具有最小影响。本文使用的术语"模块"广义而言是表示包括DRAM阵列104和控制电路108的功能性SDRAM单元。具体而言,术语"模块"并非被限制为包含所述术语的工业标准标识符,例如单列直插式存储器模块(SIMM)或双列直插式存储器模块(DIMM)。尽管在本文中参照本发明的具体特征、方面和实施例来阐述本发明,但显而易见,在本发明的广阔范围内可实现大量的变化、修改和其他实施例,且相应地,所有的变化、修改和实施例均视为在本发明的范围内。因此,在各方面均应将所述实施例理解为例示性而非限制性,且包含在随附权利要求的含义和等效范围内的所有改变均涵盖在随附权利要求书范围内。权利要求1、一种自SDRAM(同步动态访问随机存储器)模块读取未存储于DRAM(动态访问随机存储器)阵列中的数据的方法,其包括提供控制信号以用于使用控制信号的唯一编码从DRAM阵列进行同步数据读取;及同步地读取所述未存储于DRAM阵列中的数据。2、如权利要求l所述的方法,其中同步地读取所述未存储于DRAM阵列中的数据包括在DRAM行打开时同步地读取所述未存储于DRAM阵列中的数据。3、如权利要求l所述的方法,其中未存储于DRAM阵列中的所述数据包括寄存器的内容。4、如权利要求3所述的方法,其中所述寄存器是MSR(模式寄存器设置)或EMSR(扩展模式寄存器设置)。5、如权利要求l所述的方法,其中所述未存储于DRAM阵列中的数据包括传感器的输出。6、如权利要求5所述的方法,其中所述传感器是温度传感器,且其中所述未存储于DRAM阵列中的数据指示所述存储器模块的内部温度。7、如权利要求6所述的方法,其中所述未存储于DRAM阵列中的数据是刷新率乘数。8、如权利要求6所述的方法,其进一步包括响应于所述存储器模块的温度来调整刷新率。9.如权利要求l所述的方法,其中所述未存储于DRAM阵列中的数据被硬连线至所述存储器模块中。10、如权利要求l所述的方法,其中所述控制信号的唯一编码是使用不同于为寄存器写入所界定的任一库地址的库地址对寄存器写入进行的编码。11、如权利要求IO所述的方法,其中所述RAS、CAS和WE控制信号为低电平,且其中所述库地址为2'bl0。12、如权利要求1所述的方法,其进一步包括在读取所述未存储于DRAM阵列中的数据之前或之后,立即从DRAM阵列读取数据或将数据写入DRAM阵列。13、如权利要求l所述的方法,其中同步地读取所述未存储于DRAM阵列中的数据包括在一突发中读取所述未存储于DRAM阵列中的数据。14、如权利要求13所述的方法,其中所述突发长度由用于对存储于所述DRAM阵列中的数据进行同步读取的突发长度确定。15、如权利要求13所述的方法,其进一步包括对未存储于所述存储器模块上的寄存器中的DRAM阵列中的数据的读取突发的突发长度进行编程,所述突发长度不同于对存储于所述DRAM阵列中的数据进行同步读取的突发长度,且其中所述突发长度是用于未存储于DRAM阵列中的数据的读取突发的所编程突发长度。16、如权利要求13所述的方法,其中所述突发长度是预定的默认值,其不依赖于用于存储于DRAM阵列中且被编程至所述存储器模块上的寄存器中的数据的读取突发的突发长度。17、如权利要求13所述的方法,其中在输出至所述存储器模块的控制信号中对所述突发长度进行编码。18、如权利要求13所述的方法,其中以未使用的地址比特对所述突发长度进行编码。19、一种SDRAM存储器模块,其包括DRAM阵列;寄存器;及控制电路,其可操作以执行与控制器的同步数据传送、及读取所述DRAM阵列的数据和将数据写入所述DRAM阵列,所述控制电路进一步可操作以在同步数据传送中'将未存储于所述DRAM阵列中的数据输出至所述'控制器。20、如权利要求19所述的存储器模块,其中所述控制电路可操作以在所述DRAM阵列的一行打开时在同步数据传送中将未存储于所述DRAM阵列中的数据输出至所述控制器。21、如权利要求19所述的存储器模块,其中所述同步数据传送包括来自所述控制器的控制信号的唯一编码。22、如权利要求21所述的存储器模块,其中所述控制信号的唯一编码是使用不同于为寄存器写入所界定的任一库地址的库地址对寄存器写入进行的编码。23、如权利要求22所述的存储器模块,其中所述RAS、CAS和WE控制信号为低电平,且其中所述库地址为2'bl0。24、如权利要求19所述的存储器模块,其中所述同步数据传送是突发式传送。25、如权利要求24所述的存储器模块,其中所述寄存器存储用于来自所述DRAM阵列的数据的读取传送的突发长度,且其中未存储于DRAM阵列中的数据的所述同步数据传送的突发长度由所述所存储的突发长度确定。26、如权利要求24所述的存储器模块,其中所述寄存器存储用于并非来自所述DRAM阵列的数据的读取传送的突发长度,且其中未存储于DRAM阵列中的数据的所述同步数据传送的所述突发长度由用于并非来自所述DRAM阵列的数据的读取传送的所述所存储突发长度确定。27、如权利要求24所述的存储器模块,其中所述突发长度是预定的默认值,其不依赖于任何存储于寄存器中的突发长度。28、如权利要求24所述的存储器模块,其中在来自所述控制器的所述控制信号中对所述突发长度进行编码。29、如权利要求24所述的存储器模块,其中以未使用的地址比特对所述突发长度进行编码。30、如权利要求19所述的存储器模块,其中所述未存储于所述DRAM阵列中的数据包括所述寄存器的内容。31、如权利要求19所述的存储器模块,其中所述未存储于所述DRAM阵列中的数据被硬连线至所述存储器模块中。32、如权利要求19所述的存储器模块,其进一步包括传感器,且其中所述未存储于所述DRAM阵列中的数据包括所述传感器的输出。33、如权利要求32所述的存储器模块,其中所述传感器是温度传感器,且其中所述未存储于所述DRAM阵列中的数据代表所述存储器模块的内部温度。34、如权利要求33所述的存储器模块,其中所述未存储于所述DRAM阵列中的数据是刷新率乘数。35、如权利要求19所述的存储器模块,其中所述控制电路可操作以在将未存储于所述DRAM阵列中的数据输出至所述控制器之前或之后,立即执行数据从或向所述DRAM阵列的同步传送。全文摘要在同步数据传送中,从SDRAM模块读取未存储于SDRAM模块的DRAM阵列中的数据。所述数据传送(称作寄存器读取命令/操作)在定时和操作上类似于针对存储于DRAM阵列中的数据的读取命令/操作。寄存器读取命令由SDRAM控制信号和库地址比特的唯一编码加以区别。在一实施例中,寄存器读取命令包括与MSR或EMSR命令相同的控制信号状态,其中库地址被设定为唯一值,例如2’b10。寄存器读取命令可仅读取单个数据,或可使用地址总线对未存储于DRAM阵列中的多个数据进行定址。寄存器读取操作可以是突发式读取,且突发长度可以各种方式来界定。文档编号G11C7/10GK101156211SQ200680011543公开日2008年4月2日申请日期2006年2月3日优先权日2005年2月14日发明者罗伯特·迈克尔·沃克申请人:高通股份有限公司