1.本发明涉及存储器技术领域,具体地涉及存储器控制器、存储器系统及存储器系统的控制方法。
背景技术:2.动态随机存取存储器(dynamic random access memory,dram)是一种广泛应用于电子设备的存储设备,可以临时存储大量数据。dram的性能将极大地影响整个系统的性能,具体来说,dram的可靠性对系统稳定性至关重要,dram带宽对系统性能至关重要,dram功率对系统功耗至关重要。此外,dram单元(cells)需要定期刷新(refresh),以防止漏电流造成数据丢失,刷新率可能会显著影响dram的可靠性(例如误码率(bit error rate)),例如,如果dram具有更高的刷新率,则dram可能具有较低的误码率和较高的可靠性。但是,更高的刷新率可能会增加dram功率并降低dram带宽。
3.为了确定合适的刷新率,提供了温控刷新率,即根据dram当前的温度来确定刷新率。然而,温度并不是影响所需刷新率的唯一因素。半导体工艺变化、功率噪声和阿尔法粒子效应(alpha particle effect)也可能影响dram的可靠性,即在确定所需刷新率时也需要考虑这些因素。此外,所需的刷新率因芯片而异,因系统而异,常规机制可能对实际所需的刷新率过于乐观,以致dram的误码率可能高于预期,或传统机制可能对实际所需的刷新率过于悲观,从而可能浪费dram功率和dram带宽。
技术实现要素:4.本发明提供存储器控制器、存储器系统及存储器系统的控制方法,可使存储器系统在可靠性,带宽和功耗方面达到最合适的性能。
5.本发明提供的一种存储器控制器,可包括:译码器,被配置为接收并译码来自存储器模块的数据以生成译码后的数据;错误计数器,耦接于该译码器,被配置为产生该数据的错误位信息;和刷新率控制电路,耦接于该错误计数器,被配置为根据该错误位信息确定该存储器模块的刷新率。
6.本发明提供的一种存储器系统的控制方法,可包括:从存储器模块接收数据;译码该数据以生成译码后的数据;根据该数据和该译码后的数据生成错误位信息;和根据该错误位信息确定该存储器模块的刷新率。
7.本发明提供的一种存储器系统,可包括:存储器模块;和存储器控制器,被配置为访问该存储器模块,其中该存储器控制器可包括:译码器,被配置为接收并译码来自该存储器模块的数据以生成译码后的数据;错误计数器,耦接于该译码器,被配置为产生该数据的错误位信息;和刷新率控制电路,耦接于该错误计数器,被配置为根据该错误位信息确定该存储器模块的刷新率。
8.实施本发明实施例可使存储器系统在可靠性,带宽和功耗方面达到最合适的性能。
附图说明
9.图1是说明根据本发明一实施例的存储器系统100的图。
10.图2示出了根据本发明一实施例的控制电路114。
11.图3是根据本发明一实施例的存储器系统100的控制方法的流程图。
具体实施方式
12.在说明书及权利要求书当中使用了某些词汇来指称特定的组件。本领域技术人员应可理解,硬件制造商可能会用不同的名词来称呼同一个组件。本说明书及权利要求书并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。在通篇说明书及权利要求当中所提及的“包含”及“包括”为一开放式的用语,故应解释成“包含但不限定于”。“大体上”或“大约”是指在可接受的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”或“耦合”一词在此包含任何直接及间接的电性连接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表该第一装置可直接电性连接于该第二装置,或通过其它装置或连接手段间接地电性连接至该第二装置。以下所述为实施本发明的较佳方式,目的在于说明本发明的精神而非用以限定本发明的保护范围,本发明的保护范围当视权利要求书所界定者为准。
13.接下面的描述为本发明预期的最优实施例。这些描述用于阐述本发明的大致原则而不应用于限制本发明。本发明的保护范围应在参考本发明的权利要求书的基础上进行认定。
14.图1是说明根据本发明一实施例的存储器系统100的图。如图1所示,存储器系统100包括存储器控制器(在本实施例中,dram控制器110作为存储器控制器)和存储器模块(在本实施例中,dram模块120作为存储器模块),其中dram控制器110包括存储器接口电路112和控制电路114,dram模块120包括存储器接口电路122、控制电路124、存储器数组126以及温度传感器128。在本实施例中,dram控制器110和dram模块120通过多条连接线连接,该些连接线用于至少传输多个双向数据信号dq、双向数据选通信号dqs、多个命令信号cmd、差分时钟信号clk和编码后的温度ct。
15.当存储器系统100由dram系统实现时,命令信号可至少包括行(row)地址选通、列(column)地址选通和写使能信号。此外,图1所示的时钟信号或命令信号也可以是单向或双向的。
16.在存储器系统100的一般操作中,dram控制器110被安排为接收来自主机(host)或处理器(processor)的请求,并传送数据信号dq、数据选通信号dqs、命令信号cmd、时钟信号clk和时钟使能信号cke中的至少一部分以访问dram模块120。此外,dram控制器110内的控制电路114可以包括相关电路,例如处理电路、写/读缓冲器、控制逻辑和仲裁器,以执行相关操作。dram控制器110的存储器接口电路112用以输出数据信号dq、数据选通信号dqs、命令信号cmds、时钟信号clk至dram模块120。存储器接口电路122用以接收来自dram控制器110的数据信号dq、数据选通信号dqs、命令信号cmds和时钟信号clk,并通过dq连接线将数据输出到dram控制器110。控制电路124可包括读/写控制器、列译码器和行译码器,并且控制电路124用于接收来自存储器接口电路122的输出信号以访问存储器数组126。
17.在本实施例中,为了使dram模块120具有合适的刷新率,控制电路114被设计为根
据从dram模块120读取的数据的错误位计数(biterror count)或误码率(bit error rate)产生刷新命令。具体而言,图2示出了根据本发明一实施例的控制电路114。如图2所示,控制电路114至少包括译码器210、错误计数器220、刷新率控制电路230和命令队列240。译码器210被配置为从dram模块120接收数据和对应的奇偶校验,并使用对应的奇偶校验译码该数据来产生译码后的数据(decoded data),其中该数据和对应的奇偶校验可以响应于dram控制器110发送的读命令而被读取。在对数据进行译码的过程中,译码器210可以知道哪个位具有错误,一旦发现错误位,译码器210通知错误计数器220。错误计数器220被配置为根据由译码器210发现的错误位计数产生错误位信息给刷新率控制电路230,其中错误位信息可以是过去一段时间内的错误位计数,或者数据的误码率。另外,错误位信息可以指示错误位的严重程度,例如错误位的严重程度可以有四个级别,错误位信息指示当前错误位属于哪个级别。
18.刷新率控制电路230根据错误计数器220的错误位信息和温度传感器128提供的编码后的温度ct来确定合适的刷新率,其中如果错误位信息表示在一段时间内累积大量的错误位或较高的误码率,例如累积的错误位或误码率大于第一阈值,刷新率控制电路230可确定一较高的刷新率以提高dram模块120的可靠性。并且如果错误位信息表示在一段时间内有较少的累积错误位或较低的误码率,例如,累积的错误位或误码率小于第二阈值(例如,第二阈值可以小于第一阈值),刷新率控制电路230可以确定一较低的刷新率,以降低dram模块120的功耗和带宽。此外,如果编码后的温度ct表示当前温度高于阈值,刷新率控制电路230可以确定一较高的刷新率以提高dram模块120的可靠性;如果编码后的温度ct表示当前温度小于阈值,则刷新率控制电路230可以确定一较低的刷新率以降低dram模块120的功耗和带宽。
19.在一个实施例中,刷新率控制电路230包括刷新计数器,用于根据刷新率控制电路230确定的刷新率向命令队列240发送刷新命令。具体地,如果当前的刷新率对应一百个时钟周期,刷新计数器的计数器值每达到一百,刷新计数器就会向命令队列240发送刷新命令,然后刷新计数器复位,从零重新开始计数。然后,如果误码率增加,并且刷新率控制电路230确定对应一90个时钟周期的更高的刷新率,则刷新计数器可以更新内部阈值,并且每次刷新计数器达到90时,刷新计数器将发送一个刷新命令到命令队列240,然后刷新计数器被复位以从零重新开始计数;若误码率降低且刷新率控制电路230确定一对应110个时钟周期的较低的刷新率,则刷新计数器可以更新内部阈值,并且每次刷新计数器达到110时,刷新计数器将向命令队列240发送刷新命令,然后刷新计数器被复位以从零重新开始计数。
20.然后,在刷新率控制电路230产生的刷新命令输入到命令队列240后,可以在处理完之前的所有命令后将刷新命令发送到dram模块120,或者可根据刷新命令具有的优先级位于内部仲裁之后而将刷新命令发送到dram模块120。此外,dram模块120在接收到来自dram控制器110的刷新命令后,会在适当的时间对存储器数组126内的存储器单元进行刷新,即dram模块120的控制电路124读取每个存储器单元并重新写入,以将存储器单元的电容器上的电荷恢复到其原始水平。
21.图3是根据本发明一实施例的存储器系统100的控制方法的流程图。参考上述实施例,控制方法的流程图描述如下。
22.步骤300:流程开始。
23.步骤302:从存储器模块接收数据。
24.步骤304:对数据进行译码,得到错误位信息。
25.步骤306:接收存储器模块提供的当前温度。
26.步骤308:根据错误位信息和存储器模块的当前温度确定/调整刷新率。然后流程回到步骤302。
27.简而言之,在本发明的存储器系统中,通过参考当前错误位计数或当前误码率和温度来自适应地控制刷新率,存储器系统可以在可靠性,带宽和功耗方面达到最合适的性能。
28.本发明虽以较佳实施例揭露如上,然其并非用以限定本发明的范围,任何本领域技术人员,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当视权利要求所界定者为准。