本揭示内容实施例是有关于一种记忆体装置,且特别是有关于记忆体装置内的校正方法。
背景技术:
随着制程技术的快速增长,高速记忆体装置已经被广泛地实施于各种应用。当数据传输的速度越来越快,在传输过程会产生数据错误。在一些情况中,记忆体装置所储存的数据内的数据错误能够采用错误校正码校正。于另一些情况中,数据错误是由记忆体装置的内部电路(例如包含参考电路)的故障所引起的。
技术实现要素:
本揭示内容的一态样是于提供一种记忆体装置,其包含参考电路、读取电路以及错误校正编码电路。参考电路用以产生参考信号。读取电路用以根据参考信号与第一数据产生第二数据的多个数据值。错误校正编码电路用以错误出现在第二数据的全部数据值时重置参考电路。
附图说明
为让本揭示内容的上述和其他目的、特征、优点与实施例能更明显易懂,所附附图的说明如下:
图1A为根据本揭示内容的各个实施例所绘示的装置的示意图;
图1B为根据本揭示内容的一些实施例所绘示的通过图1A的错误校正编码电路校正数据的1位的例子的示意图;
图1C为根据本揭示内容的其他一些实施例所绘示的通过图1A的错误校正编码电路校正数据的2位的例子的示意图;
图2为根据本揭示内容的一些实施例所绘示的一种图1A中的记忆体电路与读取电路之间的设置方式的示意图;
图3A至图3B为根据本揭示内容的一些实施例所绘示的一种方法的流程图;
图4为根据本揭示内容的一些替代性实施例所绘示的一种图1A中的记忆体电路与读取电路之间的设置方式的示意图;以及
图5A至图5B为根据本揭示内容的一些实施例所绘示的一种方法的流程图。
具体实施方式
下文是举实施例配合所附附图作详细说明,但所提供的实施例并非用以限制本揭示内容所涵盖的范围,而结构操作的描述非用以限制其执行的顺序,任何由元件重新组合的结构,所产生具有均等功效的装置,皆为本揭示内容所涵盖的范围。此外,附图仅以说明为目的,并未依照原尺寸作图。为使便于理解,下述说明中相同元件将以相同的符号标示来说明。
于本文中通篇所使用的词汇一般代表其通常的意涵,至于一些特殊词汇会在下文中具体定义,以提供实践者额外的指引。为了方便起见,某些词汇可能被特别标示,例如使用斜体与/或引号。不论它是否被特别标示,其词汇的范围和含义不受任何影响,与平常词汇的范围和含义是相同的。相同的事情可以被一种以上的方式所描述是可以被理解的。因此,用于一个或多个的术语的替代语言与同义词可能会在本文中所使用,而其不是要阐述一个词汇在本文所论述的内容有其任何特殊的意义。某些词汇的同义词将被使用,重复的使用一个或多个同义词,并不会排除使用其他同义词。本说明书内所讨论的任何例证只用来作解说的用途,并不会以任何方式限制的本揭示内容或其例证的范围和意义。同样地,本揭示内容并不受限于本说明书中所提出的各种实施例。
关于本文中所使用的“第一”、“第二”、…等,并非特别指称次序或顺位的意思,亦非用以限定本揭示内容,其仅仅是为了区别以相同技术用语描述的元件或操作而已。如本文所用,词汇“与/或”包含了列出的关联项目中的一个或多个的任何组合。
参照图1A,图1A为根据本揭示内容的各个实施例所绘示的装置100的示意图。于一些实施例中,装置100实作为记忆体装置。
如图1A示例性地所示,装置100包含记忆体电路120、读取电路140、错误校正编码(error correction coding,ECC)电路160以及驱动器180。记忆体电路120包含多个记忆体阵列,其可例如为后图2所示的记忆体阵列122。记忆体电路120用以平行地传送数据D1的多个数据值至读取电路140。读取电路140耦接至记忆体电路120,以接收数据D1的多个数据值。读取电路140用以根据数据D1的多个数据值与至少一参考信号(例如为后图2中的参考信号REF)产生数据D2的多个数据值。
ECC电路160耦接读取电路140以及驱动器180。于一些实施例中,ECC电路160用以侦测数据D2的多个数据值是否发生数据错误,并校正数据D2中具有数据错误的数据值。于一些实施例中,ECC电路160可由各种类型的数字电路实现。于一些进一步的实施例中,数字电路包含编码器,其可校正数据D2中具有数据错误的一个或多个数据值。换句话说,于一些实施例中,当数据D2的一个或多个数据值出现数据错误,ECC电路160用以校正数据D2中具有数据错误的一个或多个数据值。
上述关于ECC电路160的设定组态仅为示例。关于ECC电路160的各种设定组态皆为本揭示内容所涵盖的范围。
图1B为根据本揭示内容的一些实施例所绘示的通过图1A的ECC电路160校正数据D2的1位的例子的示意图。
于一些实施例中,数据D1与数据D2为多位信号。例如,数据D2为32位信号。数据D2的32个位分别对应至后述图2中的数据值D2[0]、数据值D2[1]、....、数据值D2[31]。于一些实施例中,数据D2的32个位被分割为低位组与高位组。低位组与高位组中每一者包含数据D2的16个位。例如,低位组包含数据值D2[0]~D2[15],且高位组包含数据值D2[16]~D2[31]。于图1B中所示的一些实施例中,当数据错误发生在高位组或低位组的1位时,ECC电路160用以增加检查位至高位组或低位组,以校正高位组或低位组具有数据错误的一位。于一些实施例中,由ECC电路160所增加的检查位的数量足以让ECC电路160校正在低位组或高位组中的数据错误。以图1B的示例而言,于一些实施例中,当1位的数据错误出现于16位的数据(例如为高位组或低位组)时,5位的检查位被加入至16位数据,以校正此1位的数据错误。上述关于数据D2的位组的数量仅为示例。数据D2的位组的各种数量皆为本揭示内容所涵盖的范围。
图1C为根据本揭示内容的其他一些实施例所绘示的通过图1A的ECC电路160校正数据D2的2位的例子的示意图。或者,于本揭示内容的其他一些实施例中,当2位的数据错误发生于32位的数据(例如为数据D2)中时,12位的检查位被加入至32位的数据以校正2位的数据错误。
上述关于数据D2以及检查位的数量仅为示例。数据D2以及检查位的各种数量皆为本揭示内容所涵盖的范围。
继续参照图1A,于一些实施例中,ECC电路160用以在数据D2的至少两个数据值出现数据错误时,产生控制信号VC。驱动器180用以根据控制信号VC驱动读取电路140。于一些实施例中,驱动器180用以根据控制信号VC传送至少一预定电压VD至读取电路140。读取电路140可被至少一预定电压VD写入,以产生前述的参考信号REF。
参照图2,图2为根据本揭示内容的一些实施例所绘示的一种图1A中的记忆体电路120与读取电路140之间的设置方式的示意图。
如先前所述,记忆体电路120传送数据D1的多个数据值至读取电路140。以图2的示例而言,数据D1为32位信号,其包含多个数据值D1[0]~D1[31],且数据D2为32位数据,其包含多个数据值D2[0]~D2[31]。于一些实施例中,记忆体电路120包含多个记忆体阵列122。多个记忆体阵列122用以在读取操作中传送数据D1的多个数据值D1[0]~D1[31]至读取电路140。于一些实施例中,每一个记忆体阵列122包含以行列方式设置的多个记忆体单元以及耦接至每一个记忆体单元的多条数据线,其用以传送多个数据值D1[0]~D1[31]中的一者。于进一步的一些实施例中,记忆体单元可由各种类型的记忆体装置实现。
读取电路140包含多个感测放大器142以及多个参考电路144。多个感测放大器142用以根据数据D1的多个数据值D1[0]~D1[31]以及多个参考信号REF产生数据D2的多个数据值D2[0]~D2[31]。
多个参考电路144用以产生多个参考信号REF。于一些实施例中,多个参考电路144的电路结构为一部分的记忆体阵列122的复制品(replica)。例如,于一些实施例中,参考电路144包含多条参考位线、多个参考记忆体单元以及信号平均电路。多条参考位线耦接至多个参考记忆体单元,并被至少一预定电压VD写入。多个参考记忆体单元中至少一者用以根据至少一预定电压VD具有位于高逻辑值的数据,且多个参考记忆体单元中至少一者用以根据至少一预定电压VD具有位于低逻辑值的数据。信号平均电路可根据储存于参考记忆体单元的数据产生参考信号REF。上述关于参考电路144的设置方式仅为示例。参考电路144的各种设置方式皆为本揭示内容所涵盖的范围。例如,于一些替代性的实施例中,多个参考电路144的电路架构亦可为全部记忆体阵列122的复制品。
于一些实施例中,每一个参考电路144用以提供参考信号REF至两个或两个以上的感测放大器142。换句话说,每一个参考电路144由两个或两个以上的感测放大器142共用。如先前所述,于一些实施例中,数据D2的低位组用以具有16位,其依序对应至多个数据值D2[0]~D2[15]。数据D2的高位组用以具有16位,其依序对应至多个数据值D2[16]~D2[31]。如图2所示,低位组的第1个位(即数据值D2[0])以及高位组的第1个位(即数据值D2[16])根据相同的参考信号REF产生。低位组的第2个位(即数据值D2[1])以及高位组的第1个位(即数据值D2[17])根据相同的参考信号REF产生。依此类推,多个数据值D2[0]~D2[31]可被产生。
通过此设置方式,当数据错误发生在多个数据值D2[0]~D2[31]中的两者,且此两者为根据相同参考信号REF产生时,错误被认为是发生在对应的参考电路144中。参考电路144接着会被驱动器180重置,以避免数据错误又发生在相同的数据值上。如此一来,装置100的数据准确度与可靠度得以改善。校正数据错误以及重置参考电路144的详细操作将参照后述第3图说明。
上述关于数据D2的位数量仅为示例。数据D2的各种位数量皆为本揭示内容所涵盖的范围。
于一些技术中,为了避免2位数据错误发生于数据内,数据中的每一个数据值会根据不同的参考信号产生。换句话说,于此些技术中。每一个参考电路耦接到一个感测放大器,而非由两个或两个以上的感测放大器共用。相较于上述技术,通过图2所示的设置方式,装置100在读取操作下的功率消耗可降低,且其电路面积可被节省。
图3A至图3B为根据本揭示内容的一些实施例所绘示的一种方法300的流程图。图1A中的装置100的多个操作将参照图2、图3A以及图3B进行描述。于一些实例中,方法300包含多个操作S310~S380。
于操作S310,在读取操作中,多个感测放大器142根据数据D2的多个数据值D2[0]~D2[31]。等效而言,储存于多个记忆体阵列122的数据D1经由多个感测放大器142读取。
于操作S320,ECC电路160决定至少一数据错误是否出现于数据D2的多个数据值D2[0]~D2[31]。若至少一数据错误出现于多个数据值D2[0]~D2[31],操作S330被执行。反之,操作S380被执行。
于操作S330,ECC电路160更决定是否有超过一个数据错误出现于数据D2的高位组与低位组两者。若仅有一个数据错误出现于高位组与低位中的一者的一数据值,操作S340被执行。反之,操作S350被执行。
于操作S340,ECC电路160校正高位组与低位组中的一者具有数据错误的数据值。例如,当ECC电路160侦测到仅有单一数据错误出现于数据值D2[0](亦即低位组的第1个位),ECC电路160会校正数据值D2[0]。
于操作S350,ECC电路160更决定出现于多个数据值D2[0]~D2[31]的多个数据错误是否为根据相同参考信号REF产生。若是,操作S360被执行。反之,操作S370被执行。于操作S360,ECC电路160产生控制信号VC,且驱动器180根据控制信号VC重新写入至少一预定电压VD至对应的参考电路144。在操作S360被执行后,操作S310接着被执行以产生正确的数据D2。
于一些实施例中,当ECC电路160侦测到数据错误出现于低位组的多个数据值D2[0]~D2[15],且侦测到另一数据错误出现于高位组的多个数据值D2[16]~D2[31],ECC电路160接着决定于多个数据值D2[0]~D2[15]中具有数据错误的一者以及于多个数据值D2[16]~D2[31]中具有数据错误的一者是否根据相同参考信号REF产生。如图2所描述,多个数据值D2[0]以及D2[16]为根据相同参考信号REF产生。据此,ECC电路160接着产生控制信号VC至驱动器180。驱动器180接着根据控制信号VC重新写入预定电压VD至对应的参考电路144。等效而言,对应的参考电路144因此被重置,以产生正确的参考信号REF。在对应的参考电路144被重置后,读取电路140接着读取储存于多个记忆体阵列122中的数据D1,以输出正确的数据D2。
于操作S370,ECC电路160校正多个数据值D2[0]~D2[31]中具有数据错误的数据值。例如,数据错误发生于低位组的数据值D2[0],且另一数据错误发生于高位组的数据值D2[17]。于此条件下,ECC电路160校正数据值D2[0]与D2[17]。或者,于一些替代性的实施例中,数据错误发生于低位组的多个数据值D2[0]与D2[1],ECC电路160接着校正这些位以产生正确的数据D2。
于操作S380,ECC电路160输出正确的数据D2。据此,装置100的可靠度与数据准确度可被提升。
上述的多个操作仅为示例,并非限于方法300的多个操作须依照上述示例的顺序执行。在不违背本揭示内容的各实施例的操作方式与范围下,在方法300的各种操作当可适当地增加、替换、省略或以不同顺序(例如包含同时执行或部分同时执行等等)执行。
参照图4,图4为根据本揭示内容的一些替代性实施例所绘示的一种图1A中的记忆体电路120与读取电路140之间的设置方式的示意图。
相较于图2的设置方式,于图4中所示的另一些实施例中,至少两个连续的数据值D2[0]~D2[31]用以根据相同的参考信号REF产生。以图4的示例而言,多个数据值D2[0]以及D2[1]为根据相同参考信号REF产生。多个数据值D2[2]以及D2[3]为根据相同参考信号REF产生。依此类推,多个数据值D2[0]~D2[31]可被产生。
通过上述设置方式,当数据错误发生于多个数据值D2[0]~D2[31]中的连续两个位,且其为根据相同参考信号REF产生时,此错误可被认为是发生于对应的参考电路144。因此,驱动器180重置对应的参考电路144,以便免数据错误又发生于相同的数据值。如此一来,装置100的数据准确度与可靠度得以提升。关于校正数据错误的详细操作将搭配下述第5A~5B图说明。
上述关于多个数据值D2[0]~D2[31]中根据相同参考信号REF所产生的连续位的数量仅为示例,多个数据值D2[0]~D2[31]中根据相同参考信号REF所产生的连续位的各种数量皆为本揭示内容所涵盖的范围。例如,于另一些实施例中,多个数据值D2[0]~D2[2]可根据多个参考信号REF中的一者产生,且多个数据值D2[3]~D2[5]可根据多个参考信号REF中的另一者产生。
图5A至图5B为根据本揭示内容的一些实施例所绘示的一种方法500的流程图。图1A中的装置100的多个操作将参照图2、图5A以及图5B进行描述。于一些实例中,方法500包含多个操作S510~S580。
于操作S510,在读取操作中,多个感测放大器142根据数据D2的多个数据值D2[0]~D2[31]。据此,储存于多个记忆体阵列122的数据D1的多个数据值D1[0]~D1[31]经由多个感测放大器142读取。
于操作S520,ECC电路160决定至少一数据错误是否出现于数据D2的多个数据值D2[0]~D2[31]。若至少一数据错误出现于多个数据值D2[0]~D2[31],操作S530被执行。反之,操作S580被执行。
于操作S530,ECC电路160更决定是否有超过一个数据错误出现于数据D2的多个数据值D2[0]~D2[31]。若仅有一个数据错误出现于数据D2的多个数据值D2[0]~D2[31]的一者,操作S540被执行。反之,操作S550被执行。
于操作S540,ECC电路160校正数据D2的多个数据值D2[0]~D2[31]中的一者具有数据错误的数据值。例如,当ECC电路160侦测到仅有单一数据错误出现于数据值D2[0],ECC电路160会校正数据值D2[0],以输出正确的数据D2。
于操作S550,ECC电路160更决定多个数据错误是否出现于多个数据值D2[0]~D2[31]中根据相同参考信号REF产生的至少连续两个位。若是,操作S560被执行。反之,操作S570被执行。于操作560,ECC电路160产生控制信号VC,且驱动器180根据控制信号VC重新写入至少一预定电压VD至对应的参考电路144。在操作S560被执行后,操作S510接着被执行以产生正确的数据D2。
于一些实施例中,当ECC电路160侦测到至少两个数据错误出现于多个数据值D2[0]~D2[16]中的至少两个连续位时,ECC电路160接着决定于多个数据值D2[0]~D2[13]中具有数据错误的连续两个位是否根据相同参考信号REF产生。例如,ECC电路160侦测到数据错误出现于连续的数据值D2[0]与D2[1]。如图4所示,多个数据值D2[0]以及D2[1]为根据相同参考信号REF产生。据此,ECC电路160接着产生控制信号VC至驱动器180。驱动器180接着根据控制信号VC重新写入预定电压VD至对应的参考电路144。等效而言,对应的参考电路144因此被重置,以产生正确的参考信号REF。在对应的参考电路144被重置后,读取电路140接着读取储存于多个记忆体阵列122中的数据D1,以输出正确的数据D2。
于操作S570,ECC电路160校正多个数据值D2[0]~D2[31]中具有数据错误的数据值。于一些实施例中,数据错误发生于多个数据值D2[0]~D2[31]中的两个位,其根据不同的参考信号REF产生。于此条件下,ECC电路160将校正多个数据值D2[0]~D2[31]中的两个位,以产生正确的数据D2。例如,数据错误发生于多个数据值D2[0]与D2[31]。如图4所示,多个数据值D2[0]与D2[31]为根据不同参考信号产生,故ECC电路160校正多个数据值D2[0]与D2[31]以产生正确的数据D2。
于操作S580,ECC电路160输出正确的数据D2。据此,装置100的可靠度与数据准确度可被提升。
上述的多个操作仅为示例,并非限于方法500的多个操作须依照上述示例的顺序执行。在不违背本揭示内容的各实施例的操作方式与范围下,在方法500的各种操作当可适当地增加、替换、省略或以不同顺序(例如包含同时执行或部分同时执行等等)执行。
如上述所讨论数据错误发生于多个数据值D2[0]~D2[31]的校正仅为示例。可被ECC电路160所校正的位的各种数量皆为本揭示内容所涵盖的范围。
如上所述,于本揭示内容中的装置100可侦测记忆体系统的参考电路是否有故障。再者,于本揭示内容中的装置100亦可即时地重置故障的参考电路,以校正输出数据的数据错误。据此,装置100的数据准确度与可靠度可被提升。
关于本文中所使用的“耦接”或“连接”,均可指二或多个元件相互直接作实体或电性接触,或是相互间接作实体或电性接触,亦可指二或多个元件相互操作或动作。
于一些实施例中,一个装置在此揭露,其包含参考电路、读取电路以及错误校正编码电路。参考电路用以产生参考信号。读取电路用以根据参考信号与第一数据产生第二数据的多个数据值。错误校正编码电路用以错误出现在第二数据的全部数据值时重置参考电路。
于一些实施例中,其中多个数据值对应至第二数据的连续两个位。
于一些实施例中,其中当只有一个错误出现于第二数据的多个数据值中的一者时,错误校正编码电路更用以校正第二数据的多个数据值中的一者。
于一些实施例中,其中当错误出现于第二数据的多个数据值内的第一数据值与第二数据值时,错误校正编码电路更用以决定第一数据值与第二数据值是否对应至第二数据的连续两个位。其中,错误校正编码电路更用以在第一数据值与第二数据值对应至第二数据的连续两个位时重置参考电路。
于一些实施例中,其中读取电路包含第一感测放大器以及第二感测放大器。第一感测放大器用以根据第一数据的第一数据值与参考信号产生第二数据的多个数据值中的第一数据值。第二感测放大器用以根据第一数据的第二数据值与参考信号产生第二数据的多个数据值中的第二数据值。
于一些实施例中,其中第二数据的第一数据值对应至第二数据的第一位组的第一位,且第二数据的第二数据值对应至第二数据的第二位组的第一位。
于一些实施例中,其中当错误发生于第一位组与第二位组中的一者时,错误校正编码电路用以校正第一位组与第二位组中的一者。
于一些实施例中,其中当错误发生于第一位组与第二位组两者时,错误校正编码电路用以决定错误是否出现于第二数据的第一数据值与第二数据值两者,并在错误发生于第二数据的第一数据值与第二数据值两者时重置参考电路。
于一些实施例中,参考电路用以被至少一预定电压写入以产生参考信号,错误校正编码电路用以在错误发生于所有的数据值时产生控制信号以重置参考电路。装置还包含驱动器。驱动器用以根据控制信号重新写入至少一预定电压至参考电压。
于一些实施例中,一种装置在此揭露,其包含参考电路、第一感测放大器、第二感测放大器、错误校正编码电路以及驱动器。参考电路用以被至少一预定电压写入,以产生参考信号。第一感测放大器耦接至第一记忆体阵列以接收第一数据的第一数据值,并用以根据第一数据的第一数据值以及参考信号产生第二数据的第一数据值。第二感测放大器耦接至第二记忆体阵列以接收第一数据的第二数据值,并用以根据第一数据的第二数据值与参考信号产生第二数据的第二数据值。错误校正编码电路用以在错误发生于第二数据的第一数据值与第二数据值两者时产生控制信号。驱动器用以根据控制信号重新写入至少一预定电压至参考电路。
于一些实施例中,第二数据的第一数据值对应至第二数据的第一位组的第一位,且第二数据的第二数据值对应至第二数据的第二位组的第一位。
于一些实施例中,当错误出现于第二数据的第一数据值与第二数据的第二数据值中的一者时,错误校正编码电路更用以校正第二数据的第一数据值与第二数据值中具有错误者。
于一些实施例中,第二数据的第一数据值与第二数据值对应于第二数据的两个连续位。
于一些实施例中,一种方法于此揭露,其包含下列操作:通过参考电路产生参考信号;通过读取电路根据第一数据与参考信号产生第二数据的第一数据值与第二数据值;当错误出现于第二数据的第一数据值与第二数据值两者时,通过错误校正编码电路产生控制信号;以及通过驱动器根据控制信号重置参考电路。
于一些实施例中,其中第二数据的第一数据值对应至第二数据的第一位组的第一位,且第二数据的第二数据值对应至第二数据的第二位组的第一位。方法还包含:通过错误校正编码电路侦测错误是否发生于第一位组与第二位组;以及当仅有单一错误发生于第一位组与第二位组中的一者时,通过错误校正编码电路校正第一位组与第二位组中的该者。
于一些实施例中,方法还包含:当错误发生于第一位组与第二位组两者时,通过错误校正编码电路侦测错误是否发生于第二数据的第一数据值与第二数据值;以及在错误不在第二数据的第一数据值以及第二数据值时,通过错误校正编码电路校正第一位组与第二位组。
于一些实施例中,第二数据的第一数据值与第二数据值对应于第二数据的两个连续位,方法还包含:通过错误校正编码电路侦测错误是否发生于第二数据的第一数据值与第二数据值;以及当仅有一错误发生于第二数据的第一数据值与第二数据值中的一者时,通过错误校正编码电路校正第二数据的第一数据值与第二数据值中的该者。
于一些实施例中,产生第一数据值与第二数据值包含:通过读取电路的第一感测放大器根据第一数据的第一数据值与参考信号产生第二数据的第一数据值;以及通过读取电路的第二感测放大器根据第一数据的第二数据值与参考信号产生第二数据的第二数据值。
于一些实施例中,方法还包含:通过第一记忆体阵列传送第一数据的第一数据值至第一感测放大器;以及通过第二记忆体阵列传送第一数据的第二数据值至第二感测放大器。
于一些实施例中,其中参考电路用以被至少一预定参考电压写入以产生参考信号,且重置参考电路包含:通过驱动器根据控制信号重新写入至少一预定电压至参考电路。
虽然本案已以实施方式揭露如上,然其并非限定本案,任何熟悉此技艺者,在不脱离本案的精神和范围内,当可作各种的更动与润饰,因此本案的保护范围当视所附的权利要求书所界定的范围为准。