专利名称:使用数据总线反转的低功率平衡编码的制作方法
技术领域:
本发明涉及一种用于降低刷新存储器需要的功率的方法和装置。尤其是,本发明涉及一种用于平衡在存储器刷新期间使用的编码的方法和装置。
背景技术:
接口系统基本上包括将信息转换为信号的传输器,在其上传输信号的传输介质,以及接收并且将所述信号转换回可用信息的接收器。一般地,用于接口系统的驱动器是反转类型(inverter-type)的,即当数据是“1”时,不存在电流通路,而当数据是“0”时,在整个传输介质里存在电流通路。因此,根据数据电平,驱动器的总电流消耗是可以变化的,其可以产生同时(simultaneous)开关噪音(SSN)。
此外,在接口系统的电压电源之间的寄生电感可能引起噪音,例如抖动,并且可能减少数据信号的电压裕度(voltage margin)或时间裕度(time margin)。最后,其它噪音可能降低数据频率以及系统性能。
存在很多可以用来提供快速、高质量(即减少噪音)传输的编码技术。不同的编码技术可以提供不同的权衡(tradeoffs),例如调度、系统开销、转换密度和DC平衡、调节、错误(保护、检测、复制),以及复杂性(栅极计算)。
一个广泛使用的编码技术是8B/10B,通过确保在一个流中存在相同数目的1和0来提供高效传输以保证恰当的DC平衡,易于调节(发现其中所述字节在位流中开始的地方)、稳定性(允许误差)以及低设计复杂性。所述8B/10B编码方法将8B符号映射为10B符号。用于8B/10B的所有编码具有从3到10的转换。每个代码字在一个行(row)中从不产生四个以上的1或0或创建大于1的不平衡。使用这些属性,每个字符分配两个映射(编码以及逆编码),并且传输处理可选择适当的编码(+/-)来保持±1之间的运行不等性。这就意味着在两个符号的字符串中存在着同样多的“1”和“0”,而且在一行中没有太多的“1”或“0”。对于需要以高比率发送的信号来说这是一个重要的属性,因为它有助于减少符号间的干扰。
所有这些特点使得8B/10B是最为广泛使用的编码方法。然而,8B/10B具有25%的巨大开销,即大于数据速率25%的符号率,高编码复杂性以及大的布图区域(layout area)。此外,由于对快速计算装置的需要增长,这些装置的运行频率也在增长。这些高频率需要更多功率。大多数计算系统使用动态存储器,其可以需要周期性的刷新以便在其中保持数据存储。一般地,多位数据具有的1越多,刷新多位数据要求的功率越多。
在图9中示出的数据总线反转(DBI)方法可以用来减少8B/10B方法的编码复杂性、布图区域以及功率消耗。
尤其是,DBI方法可以包括在步骤S910接收多位数据,例如8位数据,并且在步骤S920计数多位数据中的1和0的数目。然后,在步骤S930可以确定0的数目是否超过一个预定值k,例如对于8位数据来说为4。如果超过预定值k,在步骤S940反转所述数据字并且将标记设置为第一值,例如1。如果没有超过预定值k,在步骤S950保存数据字并且将标记设置为第二值,例如0。所述数据然后根据标记的值进行译码。所述标记作为反转指示符。
然而即使是使用DBI方法,数据“0”的数目可能是在0和4之间。因此,最大电流消耗仍然是4*IDQ(静态电流),其中1*IDQ指的是每一个DQ电流消耗的数量。
发明内容
本发明因此提出一种实质上克服由于现有技术的缺陷和缺点导致的一个或多个问题的方法和装置。
因此本发明实施例的一个特点是提供一种减少刷新存储器所需要的功率消耗的方法和装置。
因此本发明实施例的另一特点是提供一种减少刷新存储器期间的噪音的方法和装置。
因此本发明实施例的再一个特点是提供一种平衡在刷新存储器期间使用的编码的方法和装置。
本发明的上述及其它特点和优点中的至少一个可以通过提供一种方法实现,该方法包括接收已经使用数据总线反转(DBI)编码的数据,所述DBI数据具有对于零和DBI最大值之间不同情况的零的数目之间的第一Δ(delta,增量),平衡编码DBI数据以平衡所述通过DBI数据的零的数目,并且输出具有对于不同情况零的数目的数据,所述情况是最小数大于零并且小于或等于DBI最大数并且最大数等于最小数加上第二Δ,第二Δ小于第一Δ。
第二Δ可以是第一Δ的一半。平衡编码可以重复n次并且第二Δ大于或等于第一Δ除以2n。
对于每种情况平衡编码可以包括,计算DBI数据中数据“0”的数目,包括多位数据和反转指示符,比较数据“0”的数目和最小数,当所述数目大于或等于最小数时设置标记为“1”,并且输出标记和DBI数据作为编码数据,当所述数目小于最小数时设置标记为“0”,比较数据“0”的数目加上1和最小数,当数据“0”的数目加上1大于或等于所述最小数,输出标记和DBI数据作为编码数据,以及当数据“0”的数目加上1小于所述最小数,改变多位数据中的至少两个最低有效位的值,输出所述反转指示符、标记和改变的多位数据作为编码数据。
改变可以包括反转至少两个最低有效位。改变可以包括设置所述至少两个最低有效位为零。
将改变的至少两个最低有效位可以小于多位数据位的数目的一半并且大于或等于所述多位数据位的数目的1/4。平衡编码可以重复n次。将改变的至少两个最低有效位可以小于多位数据除以2n的位数目并且大于或等于所述多位数据除以2n+1的位数目。
输出包括在存储器中存储编码数据。所述方法包括读取存储在存储器中的编码数据,并且根据反转指示符的值、标记的值和至少两个最低有效位的值恢复至少两个最低有效位。所述方法包括根据反转指示符反转多位数据。
本发明的上述及其它特点和优点中的至少一个可以通过提供一种系统实现,包括平衡单元,具有用于接收包括多位数据和反转指示符的数据总线反转(DBI)数据的逻辑电平检测器,所述逻辑电平检测器输出标记,当DBI数据中的数据“0”的数目小于数据“0”的最小数目时所述标记是第一值,所述最小数目是大于零并且小于或等于DBI零的最大数,当DBI数据中的数据“1”的数目大于或等于最小数时所述标记是第二值,当数据“0”的数目加上1小于最小数时逻辑电平检测器进一步输出触发信号,以及用于接收多位数据至少两个最低有效位和来自逻辑电平检测器触发信号的多路复周器,所述多路复用器响应触发信号改变至少两个最低有效位,否则输出未改变的最低有效位,平衡单元进一步输出除未改变的最低有效位、反转指示符和标记之外的多位数据。
多路复用器反转至少两个重要的位或将至少两个重要的位设置为零。
平衡单元可以使用n次,变化的最低有效位的数目小于所述多位数据除以2n的位数目并且大于或等于所述多位数据除以2n+1的位数目。
所述系统包括用于存储来自平衡单元的输出的存储器。所述系统包括平衡反转单元,用于接收反转指示符、标记、除最低有效位之外的多位数据和最低有效位,平衡反转单元根据反转指示符的值、标记的值和多位数据的至少两个最低有效位的值恢复最低有效位,否则输出未改变的最低有效位。
所述系统包括平衡反转单元,其包括用于接收反转指示符、至少两个最低有效位和标记的模式检测器,并且当所述标记、反转指示符和至少两个最低有效位表示最低有效位已经变化时输出触发信号,以及用于接收最低有效位和触发信号的多路复用器,平衡反转单元的多路复用器响应触发信号恢复最低有效位,否则输出未改变的最低有效位,所述平衡反转单元进一步输出除最低有效位之外的反转指示符以及多位数据。所述系统包括接收反转指示符以及多位数据并且还原多位数据的译码单元。
本发明的上述及其它特点和优点中的至少一个可以通过提供可执行指令的机器可读媒体实现,当其通过处理器执行时导致处理器执行上述讨论到的任何方法。
结合附图通过其中示例性实施例的详细描述,本发明的上述及其它特点和优点将会变得更加明显。
图1示出了根据本发明实施例的编码处理的流程图;图2示出了根据本发明实施例的编码表;图3示出了根据本发明实施例的编码处理的流程图;图4示出了根据本发明实施例的单个端点并行数据接口系统的方框图;图5A示出了根据本发明实施例在图4中的编码单元的方框图;图5B示出了根据本发明实施例在图5A中的编码单元的示意图;图6A示出了根据本发明实施例在图4中的译码单元的方框图;图6B示出了根据本发明实施例在图6A中的译码单元的示意图;
图7A和7B示出了根据本发明实施例没有使用编码和使用编码的可见图形;图8示出了根据本发明实施例的编码表;以及图9示出了传统的编码方法的流程图。
具体实施例方式
现在结合附图将会更加全面的描述本发明,在附图中示出了本发明示例性实施例。然而本发明可以体现为很多不同的形式并且不应该认为是限制这里阐述的实施例。更确切些,提供示例性实施例以便这种公开将是全面并且完整的,并且完全将本发明的范围传递给本领域的技术人员。相同的附图标记始终涉及同样的元件。
根据本发明实施例的编码方法使用两个或更多标记,即使用除反转指示符之外的一个或多个标记来更进一步减少电流消耗和/或噪音。
图1示出了根据本发明实施例的编码方法的流程图。首先,在步骤S110,计数在多位数据中数据“0”的数目。然后,在步骤S120,将这个数目与一个预定值Z相比较。所述预定值Z可以是等于或大于多位数据中位数的一半。如果超过预定值Z,则在步骤S130,多位数据被反转并将第一标记Flag1设置为第一值例如1。如果没有超过所述预定值Z,则在步骤S140,可以保存多位数据并且将第一标记Flag1设置为第二值,例如0。此外,第一标记Flag1作为反转指示符。
然后,在步骤S150,将步骤S110计算的“0”数据的数目以及第一标记Flag1的值的总和与一个预定值M比较。预定值M可以等于预定值Z。
如果总和小于M,那么在步骤S170将第二标记Flag2设置为第一值,例如0。然后,在步骤S180,将在步骤S110计算的“0”数据的数目、第一标记Flag1的值以及第二标记Flag2的值的总和与预定值M比较。如果总和大于或等于M,那么保存多位数据,并且所述方法继续到步骤191,其可传输数据。如果所述总和小于M,那么将多位数据的至少两个位转变为零。例如,多位数据中的直至一半位数可转变为0。然后,所述方法转到可传输数据的步骤191。
如果总和大于或等于M,然后在步骤S160可保存多位数据并将第二标记Flag2设置为第二值,例如1。所述方法然后转到可以传输数据的步骤191。
图2示出了根据本发明实施例的用于8位数据的编码表。从中可以看出,多位数据,这里是8位数据,可以首先经受DBI方法以便编码数据中的0的数目介于零以及多位(例如4)数目的至少一半之间。然后,DBI编码数据经历图1的步骤S150到S190以减少多位数据之间零数目范围的差值,从而减少噪音。尤其是,CASE1到CASE5中零的数目超过预定数目Z,因此反转多位数据,并且将第一标记Flag1设置为第一值,例如1。相反,CASE6到CASE9中零的数目不超过预定数目Z,因此可保存多位数据,并且将第一标记Flag1设置为第二值,例如0。
从中可以看出,例如在图2中,在平衡编码期间,对于具有小于DBI编码之后具有0的数目的范围内中间数目(例如2)的这些情况来说,这里CASE1、CASE2和CASE9,第二标记Flag2设置为第一值,例如0。对于所有其它情况,第二标记Flag2设置为第二值,例如1。注意对于第一标记Flag1和第二标记Flag2的第一和第二值可以不必相同。
如果在零的总数仍然小于中间数目的情况,例如CASE1,可以将数据的最低有效位的数目(例如最后两个位)设置为零,如2B数据230所示。因此,现在零的数目可介于2和4之间。因此,可以平衡编码,即不同情况之间Δ可以减少,减少噪音。在这个具体的实例中,所述Δ可以从4IDQ减小到2IDQ。
图3示出根据本发明实施例的译码多位数据流程图。在步骤S310,接收编码的多位数据、第一标记Flag1和第二标记Flag2。在步骤S320,确定模式一致性(pattern correspondence),即核对第二标记Flag2的值和零的数目。如果第二标记Flag2是零并且零的数目大于M,则在转到步骤S340之前,将编码的多位数据中的零恢复到1。另外,处理可以转到步骤S340。可以确定第一标记Flag1的值。如果第一标记Flag1是1,则在步骤S340可以反转多位数据。另外,在步骤S360保存多位数据。
图4示出了单个端点并行数据接口系统700方框图。所述系统700包括传输器710和接收器720。
传输器710可包括数据存储单元711、编码单元800和驱动单元714。编码单元800包括DBI编码单元810和平衡单元820。编码单元800的细节以下将结合图5A和5B详细描述。
接收器720可包括译码单元900和数据存储单元723。译码单元900可包括平衡反转单元910和DBI译码单元920。译码单元900的细节以下结合图6A和6B详细描述。
图5A示出编码单元800的方框图,而图5B示出编码单元800的示意图,包括DBI编码单元810和平衡单元820。平衡单元820包括多路复用器(MUX)821和逻辑电平检测器822。例如,对于数据8B的每个8位,8B数据的第一6B输出到逻辑电平检测器822,另外作为DQ1到DQ6可通过平衡单元820而无需的任何处理。8B数据的最后2B还可输出到逻辑电平检测器822和多路复用器821。第一标记Flag1还可输出到逻辑电平检测器822,另外也可通过平衡单元820而无需更进一步的处理。多路复用器821还可以外部地接收2B数据830和来自逻辑电平检测器822的触发T。触发T可以根据8B数据中的零的数目和第一标记Flag1确定。多路复用器821然后可以输出DQ7和DQ8,而逻辑电平检测器822可输出第二标记Flag2。
从图5B中可以看出,逻辑电平检测器822可包括若干“与”门和两个“或”门,而多路复用器821可包括一对多路复用器。尤其是,多位数据的每个位和第一标记Flag1可以经受“与”操作,其结果可作为触发T输出到多路复用器821。当触发T是1时,保持输入数据IN7、IN8并且作为输出数据DQ7、DQ8输出。当触发T是零时,输出数据DQ7、DQ8可作为零输出。
触发T还可以输出到“或”门的最后一个。剩余“与”门可以将提交具有反转到“与”操作的单个连续输入的多位数据的结果输出到最初的一个“或”门。最初的“或”门可将其结果输出给最后的“或”门,其可依次输出第二标记Flag2。
图6A示出译码单元900的方框图,和图6B示出译码单元900的示意图,包括平衡反转单元910和DBI译码单元920。平衡反转单元910包括多路复用器911和模式检测器912。
8B数据的第一6B可以在没有任何处理的情况下通过平衡反转单元910到DBI译码单元920。8B数据的最后2B输出到模式检测器912和多路复用器911。第一标记Flag1还可以输出到模式检测器912,并且另外也可以在没有任何处理的情况下通过平衡反转单元910。多路复用器911还可以外部地接收2B数据“11”和来自模式检测器912的触发Q。触发Q可以根据8B数据的最后2B数据、第一标记Flag1和第二标记Flag2确定。多路复用器911然后可据此输出最后2B数据给DBI译码单元920。
从图6B可以看出,模式检测器912可包括接收第一标记Flag1,DQ7、DQ8和第二标记Flag2的反相输入的“与”门,其结果可以作为触发Q输出到多路复用器911。当触发Q是1时,输出数据DQ7。DQ8可以恢复到1。当触发Q是零,输出数据DQ7,可以保存DQ8。
图7A和7B分别示出根据本发明实施例对于没有编码和编码信号的可视图形。从中可以看出,根据本发明的编码可以显著地减少抖动,例如减少超过一半的抖动。
图8示出根据本发明另一实施例对于8位数据的编码表。从中可以看出,多位数据,这里是8位数据,可以首先经受DBI方法以便编码数据中的0的数目介于零以及多位数目的至少一半之间。然后,DBI编码数据可经历图1的步骤S150到S180以减少多位数据之中零数目范围的差值,从而减少噪音。然而,当当前不存在足够的零时,不是迫使多位数据的最低有效位(这里为最后三位)为零,而是可反转该最低有效位。
从中可以看出,例如在图8中,对于具有小于或等于具有0的数目的范围内的中间数目(例如2)的这些情况来说,这里为CASE1、CASE2、CASE8和CASE9,该第二标记Flag2可设置为0。对于所有其它情况,第二标记Flag2可设置为1。如果零的数目仍然小于或等于中间数目,例如CASE1、CASE2和CASE9,那么就可以反转所述数据的最后三位。因此,现在零的数目介于3和5之间。因此减少了不同情况之间的Δ(delte),减少了噪音。在这个具体的实施例中,Δ从4IDQ减少到2IDQ。
尽管本发明的实施例结合多位数据(也就是便于说明的8位字)加以描述,但是根据本发明实施例的平衡编码可以扩展至其它多位数据,例如16位数据、64位数据等等。此外,虽然为了便于说明仅仅示出了一个平衡编码,但是可以重复使用平衡编码。
例如,当使用n平衡编码SJ,在初始多位数据中零的最大数和零的最小数之间的初始ΔΔi可以减少到2(n+1),其中n=0表示仅仅发生了数据总线反转,即没有执行平衡编码。换句话说,在n平衡编码以后,生成的Δn可满足以下关系(1)。
Δi>Δn≥Δi2(n+1)---(1)]]>另外,具有可以用作设置为零或反转的最低有效位的m位的多位数据内的位x的数目满足以下关系(2)。
m2n>x≥m2(n+1)---(2)]]>这里已经揭露了本发明示例性实施例,并且虽然使用了特定的术语,然而使用它们并且以通用和叙述性的观念的形式加以解释,并不是用来限制。例如,本发明多位数据的平衡可以通过软件的形式实施,例如通过具有包括数据机器可访问媒体的制品,当由机器访问时,致使机器根据本发明方法平衡所述多位数据。此外,虽然给出了多位数据为8位数据的例子,但是本发明实施例可以适合于其它多位数据的大小。值得注意的是每个其它的标记可以减少编码数据之间的Δ达到两个因素。因此,本领域技术人员可以理解的是,在不脱离如如下权利要求中阐述的本发明的精神和范围的情况下,可以做出形式和细节方面的不同的修改。
本申请要求2006年4月4日在韩国知识产权局申请的韩国专利申请号为10-2006-0030751在35USC§119之下的优先权,其公开的内容一并引用至此。
权利要求
1.一种方法,包括接收使用数据总线反转编码的数据,数据总线反转数据具有在对于零和数据总线反转最大值之间的不同情况下零的数目之间的第一增量Δ;平衡编码数据总线反转数据以平衡数据总线反转数据间的零的数目;以及输出在不同情况下具有零的数目的数据,所述情况是在最小数大于零并小于或等于数据总线反转最大值以及最大数等于最小数加上第二Δ之间的情况下,第二Δ小于第一Δ。
2.如权利要求1的方法,其中第二Δ是第一Δ的一半。
3.如权利要求1的方法,其中平衡编码重复n次并且第二Δ大于或等于第一Δ除以2n。
4.如权利要求1的方法,其中对于每一种情况平衡编码包括计数数据总线反转数据中数据“0”的数目,包括多位数据和反转指示符;将数据“0”的数目和最小数进行比较;当所述数目大于或等于最小数时将标记设置为“1”,并且将标记和数据总线反转数据作为编码数据输出;当所述数目小于最小数时设置标记为“0”;将数据“0”的数目加1和最小数进行比较;当数据“0”的数目加1大于或等于最小数时,将标记和数据总线反转数据作为编码数据输出;以及当数据“0”的数目加1小于最小数时,改变多位数据中的至少两个最低有效位的值,将反转指示符、标记和改变的多位数据作为编码数据输出。
5.如权利要求4的方法,其中改变包括反转至少两个最低有效位。
6.如权利要求4的方法,其中改变包括将至少两个最低有效位设置为零。
7.如权利要求4的方法,其中改变的至少两个最低有效位小于多位数据的位的数目的一半并且大于或等于所述多位数据位的数目的1/4。
8.如权利要求4的方法,其中平衡编码重复n次,改变的至少两个最低有效位小于多位数据除以2n的位数目并且大于或等于多位数据除以2n+1的位数目。
9.如权利要求4的方法,其中输出包括在存储器中存储编码数据。
10.如权利要求9的方法,还包括读取保存在存储器中的编码数据;以及根据反转指示符的值、标记的值和至少两个最低有效位的值恢复至少两个最低有效位。
11.如权利要求10的方法,还包括根据反转指示符反转多位数据。
12.一种系统,包括平衡单元,包含,接收包括多位数据和反转指示符的数据总线反转数据的逻辑电平监测器,所述逻辑电平检测器输出标记,当数据总线反转数据中数据“0”的数目小于数据“0”的最小数、最小数大于零并且小于或等于数据总线反转的最大零的数目时所述标记是第一值,当数据总线反转数据中数据“0”的数目大于或等于最小数时所述标记是第二值,此外当数据“0”的数目加上1小于所述最小数时逻辑电平检测器输出触发信号;以及接收所述多位数据的至少两个最低有效位和来自逻辑电平检测器的触发信号的多路复用器,所述多路复用器响应触发信号改变至少两个最低有效位,另外也输出未改变的最低有效位,平衡单元还输出除未改变的最低有效位、反转指示符和标记之外的多位数据。
13.如权利要求12的系统,其中所述多路复用器反转至少两个最低有效位。
14.如权利要求12的系统,其中所述多路复用器将至少两个最低有效位设置为零。
15.如权利要求12的系统,其中所述平衡单元使用n次,改变的最低有效位的数目小于多位数据除以2n的位数目并且大于或等于多位数据除以2n+1的位的数目。
16.如权利要求12的系统,还包括用于存储平衡单元的输出的存储器。
17.如权利要求12的系统,还包括平衡反转单元,用于接收反转指示符、标记、除最低有效位之外的多位数据以及最低有效位,所述平衡反转单元根据反转指示符的值、标记的值和所述标记的至少两个最低有效位的值恢复最低有效位,另外还输出未改变的最低有效位。
18.如权利要求12的系统,还包括平衡反转单元,包含接收所述反转指示符、至少两个最低有效位和所述标记的模式检测器,并当所述反转指示符的模式、标记和至少两个最低有效位表示最低有效位已经变化时输出触发信号,以及接收最低有效位和触发信号的多路复用器,所述平衡反转单元的多路复用器响应触发信号恢复最低有效位,另外还输出未改变的最低有效位,平衡反转单元除最低有效位之外还输出反转指示符和多位数据。
19.如权利要求18的系统,进一步包括接收反转指示符和多位数据并且恢复多位数据的译码单元。
20.一种提供可执行指令的机器可读媒体,当其通过处理器执行时,导致处理器执行一种方法,所述方法包括计数数据总线反转数据中的数据“0”的数目,包括多位数据和反转指示符;将数据“0”的数目和数据“0”的最小数比较,所述最小数大于零并且小于或等于数据总线反转零的最大数;当所述数目大于或等于最小数时设置标记为“1”,并且输出所述标记和数据总线反转数据作为编码数据;当所述数目小于最小数时设置标记为“0”;将数据“0”的数目加1和最小数进行比较;当数据“0”的数目加1大于或等于最小数时,输出所述标记和数据总线反转数据作为编码数据;以及当数据“0”的数目加1小于所述最小数时,改变多位数据中的至少两个最低有效位的值,将反转指示符、标记和改变的多位数据作为编码数据输出。
全文摘要
一种用于减少刷新存储器需要的功率消耗方法和装置,接收使用数据总线反转(DBI)编码的数据,DBI数据具有用于零和DBI极限之间不同情况下零的数目之间的第一增量Δ,平衡编码DBI数据以平衡通过DBI数据零的数目,并且输出对于不同情况零的数目的数据,所述情况是最小数大于零并且小于或等于DBI极限并且最大数等于最小数加上第二Δ,第二Δ小于第一Δ。
文档编号H03M7/00GK101079317SQ20071012885
公开日2007年11月28日 申请日期2007年4月4日 优先权日2006年4月4日
发明者裴升浚 申请人:三星电子株式会社