CN105027084B - 在移动通信系统中控制存储器的装置和方法 - Google Patents

在移动通信系统中控制存储器的装置和方法 Download PDF

Info

Publication number
CN105027084B
CN105027084B CN201380074189.2A CN201380074189A CN105027084B CN 105027084 B CN105027084 B CN 105027084B CN 201380074189 A CN201380074189 A CN 201380074189A CN 105027084 B CN105027084 B CN 105027084B
Authority
CN
China
Prior art keywords
memory
bit
error correcting
correcting code
mistake
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201380074189.2A
Other languages
English (en)
Other versions
CN105027084A (zh
Inventor
李康民
刘承周
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Pohang University of Science and Technology Foundation POSTECH
Original Assignee
Samsung Electronics Co Ltd
Pohang University of Science and Technology Foundation POSTECH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd, Pohang University of Science and Technology Foundation POSTECH filed Critical Samsung Electronics Co Ltd
Publication of CN105027084A publication Critical patent/CN105027084A/zh
Application granted granted Critical
Publication of CN105027084B publication Critical patent/CN105027084B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • G06F11/1052Bypassing or disabling error detection or correction

Abstract

提供一种在移动通信系统中控制低电压存储器的装置和方法。所述装置包括:存储器,用于存储包含至少一个由低电压引起的错误的数据;和纠错单元,用于依据在纠错码存储器的本地缓冲区中设置的第一比特识别在所述存储器中是否存在所述至少一个错误,用于当确定在所述存储器中存在所述至少一个错误时,将关于从所述存储器中读取的错误数据的位置信息与关于在所述纠错码存储器的所述本地缓冲区中的至少一个保护集的错误数据的位置信息进行比较,用于生成作为比较结果的纠错码,以及用于依据所述纠错码纠正所述存储器的所述错误数据。

Description

在移动通信系统中控制存储器的装置和方法
技术领域
本发明涉及移动通信系统。更具体说,本发明涉及一种在移动通信系统中控制低电压存储器的装置和方法。
背景技术
在移动通信系统中,所有数字芯片都在其内包含逻辑部分和存储器部分。通常,静态随机存取存储器(SRAM)单元类型的存储器用做数字芯片的存储器。
在存储器中可能产生的错误可分为如下所述的三种类型,并可如下解决。
硬件错误:硬件错误指由半导体制造过程期间所产生的缺陷而引起的某个比特单元被永久损坏以致不能被写入或读出的错误。错误比特位置(以下被称为错误位置)在制造过程中被确定,并且在制造过程已完成后不能改变。因此,存储单元修复技术被广泛应用于在制造过程完成后、当识别出错误位置时,将错误位置重新路由到准备的空闲单元。通过将地址传递到准备的空闲字线,得到所有与包含具有被识别出的错误比特的字线的连接。在制造芯片的工厂中可通过熔丝对地址的传递进行编程。由于依据这种方法,即使当仅仅一个错误产生时,相应字线也被整体取代,所以冗余比特可能被浪费了。而且,只有先前在制造过程中发现的错误可被修复,而不能修复在制造过程完成之后所产生的误差(软错误,老化等等)。
软错误:来自于地球以外或在地球上产生的α粒子具有小尺寸和高能量电平。因此,在对存储器的内部物理器件碰撞的情况下,α粒子能够删除存储单元中存储的值。这被称为软错误。软错误能在任何时间产生,并且不能预测软错误的产生。然而,由于该比特单元没有被软错误物理损坏,所以通过将值再次写入该比特单元,可以再次使用该存储器。为了纠正软错误,纠错码(ECC)(例如奇偶校验)被分别存储以对应存储器的每个数据。接着,通过在每个存储器存取时间读取相应纠错码和数据以识别是否产生了错误来执行纠错。通常的缓存控制器为软错误提供ECC技术。在软错误纠正方案中,需要许多冗余比特来存储所有存储器字的ECC。而且,由于当错误产生时错误由中央处理单元(CPU)通过软件处理,所以增加了性能损失。在错误被硬件处理的情况下,依据可以处理在一个字线中的多少个比特的错误来确定硬件复杂度。通常,因为不可能执行2个比特的错误纠正,所以错误纠正方案能够支持1比特的错误纠正或2比特的错误检测。
图1是示出根据相关技术的由于电压而引起的错误频率的图。
低电压错误:在如图1所示存储器的情况下,当电源的电压降低时,在写入操作中的错误频率增加。在相关技术的数字电路设计中,芯片被设计成在电源的高电压下运行,其中完全不产生写入错误。降低芯片的电源的机会因此受到存储器需求的大大限制。这种故障被定义为由低电压条件引起的错误(低电压错误)。持续低电压错误的概率与电压的对数标尺成反比,错误率随电压降低而增加。
发明内容
技术问题
上述存储单元修复技术和软错误ECC技术具有下述问题。
(1)存储单元修复技术的问题:
当处理完成时,与低电压错误相关的错误位置可被识别出。因此,可以使用熔丝应用单元修复技术。然而,为实施单元修复技术,大大增加了用于所增加熔丝和用于改变整个字线所用的冗余字线的面积。而且,由于相应空闲字线的数目随错误的数目增加而线性增加,所以难以提前预测空闲字线的数目。因此,有必要准备足够大的冗余单元和熔丝,结果导致保障该面积的成本的增加。
(2)软错误ECC技术的问题:
将描述相关技术的软错误ECC技术。基本上,由于软错误ECC技术是为不能提前识别错误位置的情况而准备的。所有错误区域的错误码必须被存储。而且,错误检测由所增加的硬件/软件逻辑执行,但是,错误纠正被转移到异常处理程序以便由软件处理。确定当软错误频率非常低时由软错误频率引起的性能损失降低。相应地,当软错误ECC技术应用于纠正“低电压错误”时,存在如下问题。
首先,由于“低电压错误”在电源的相应电压下是不变的,因此在与相应位置的接触的情况下总是产生错误。相应地,确定错误频率大大增加(在软错误的情况下,因为当重写入操作被再次执行时错误消失,所以错误频率能够显著减少)。然而,仍然存在当通过软件纠正错误时性能损失大大增加的问题。
其次,需要对所有写入接触执行ECC检测过程,对所有读取接触执行 ECC生成过程。由于“低电压错误”的错误位置先前被确定,因此需要为与其中产生了错误的字线的接触执行相应过程。然而,相关技术没有区分这些过程。因此,还存在甚至在与无错误的区域接触时性能损失也增加的问题。
以上信息被提供作为背景信息,仅仅用于帮助理解本发明。对于以上所述是否可作为本发明的现有技术,没有进行任何决定,以及没有做任何主张。
技术方案
本发明各方面解决至少以上提到的问题和/或缺点,并提供至少以下所述的优点。相应地,本发明一方面是提供一种在移动通信系统中解决为提高电力的效率而使电源的电压处于或低于产生错误的电平而引起的存储器错误的问题的装置和方法。
本发明另一方面提供一种在移动通信系统中使配置存储器的面积成本和性能损失最小化由此得到电力的改善和移动通信系统的增加的性能的装置和方法。
本发明另一方面提供一种用于当在移动通信系统中配置存储器时通过使用小奇偶校验来降低所用的开销资源的装置和方法。
根据本发明的一个方面,提供一种在移动通信系统中控制存储器的装置。所述装置包括:存储器,用于存储包含由低电压引起的至少一个错误的数据;以及纠错单元,用于依据纠错码存储器的本地缓冲区中设置的第一比特识别在存储器中是否存在所述至少一个错误,用于当确定在所述存储器中存在所述至少一个错误时,将有关从所述存储器中读取的错误数据的位置信息与有关在所述纠错码存储器的本地缓冲区中的至少一个保护集的错误数据的位置信息进行比较,用于生成纠错码作为比较结果,以及用于依据所述纠错码纠正所述存储器的所述错误数据。
根据本发明另一方面,提供一种在移动通信系统中控制存储器的方法。所述方法包括:依据在纠错码存储器的本地缓冲区中设置的第一比特,识别在存储错误数据的存储器中是否存在由低电压引起的至少一个错误的信息,将有关从所述存储器中读取的错误数据的位置信息与有关纠错码存储器的本地缓冲区中的至少一个保护集的错误数据的位置信息进行比较,产生作为比较结果的纠错码,并依据所述纠错码纠正所述存储器的所述错误数据。
根据本发明又一方面,提供一种在移动通信系统中控制存储器的装置。所述装置包括:存储器,其中存储由低电压引起的错误数据;纠错码存储器,用于存储对应于当信号输入时要记录的行地址的至少一个保护集;控制器,用于依据在所述纠错码存储器的本地缓冲区中存储的第一比特识别在所述存储器中是否存在至少一个错误,用于如果确定在所述存储器中存在所述至少一个错误,则将从所述存储器中读取并有错误的列地址与所述至少一个保护集的ID比特相比较,以及用于产生作为比较结果的纠错码;以及纠错单元,用于依据所述纠错码纠正所述存储器的所述错误数据。
根据本发明再一方面,提供一种在移动通信系统中控制存储器的方法。所述方法包括:当信号输入时,在纠错码存储器中存储对应于所记录的行地址的至少一个保护集,依据所述纠错码存储器的本地缓冲区中存储的第一比特,识别在所述存储器中是否存在由低电压引起的至少一个错误数据的信息,如果在所述存储器中存在所述至少一个错误,则将从所述存储器中读取并有错误的列地址与至少一个保护集的ID比特相比较,并产生作为比较结果的纠错码,依据所述纠错码,纠正所述存储器的所述错误数据。
本发明各方面提高在移动通信系统中使用的存储器的电力的效率,同时降低在所述移动通信系统中的增加面积的成本和性能损失。
本发明各方面在移动通信系统中降低电力的消耗。
本发明各方面跟踪和更新错误位置,甚至在错误位置发生改变时也是如此。
本发明各方面能有效纠正错误,即使存取单元的错误数据由2个比特配置也是如此。
本发明各方面通过使用小奇偶校验减少所用资源的开销。
本发明各方面处理在存储器行中产生的所有多比特错误。
从以下结合附图进行的公开了本发明示范实施例的详细描述中,本发明的其它方面、优点和突出特性对于本领域技术人员来说变得清楚。
附图说明
从以下结合附图进行的描述中,本发明特定示范实施例的以上和其它方面、特性和优点将更加清楚,在附图中:
图1是示出根据相关技术的由电压引起的错误频率的图;
图2是图解根据相关技术的存储器的配置的图;
图3是图解根据本发明第一示范实施例的存储器的配置的图;
图4是图解根据本发明第一示范实施例的读取操作的流程图;
图5是图解根据本发明第一示范实施例的写入操作的流程图;
图6是图解根据本发明第二示范实施例的存储器的配置的图;
图7是图解根据本发明第二示范实施例的读取操作的流程图;
图8是图解根据本发明第二示范实施例的写入操作的流程图;
贯穿附图,应该注意,相似的参考标号被用来描述相同或相似的单元、特征和结构。
具体实施方式
提供以下参照附图的描述以帮助全面理解由权利要求及其等同定义的本发明的示范实施例。其包括各种特定细节以帮助理解,但是这些应当被认为是示范性的。相应地,本领域普通技术人员应该认识到:在不脱离本发明的范围和精神的前提下,可以对在此描述的实施例作各种变化和修改。另外,为了明确和简洁,省略了对公知功能和结构的描述。
在以下描述和权利要求中所用的术语和词汇不限于字面含义,而只是被发明者用来使得能够清楚一致地理解本发明。因此,对于本领域技术人员来说应当清楚:提供对本发明各示范性实施例的以下描述仅是出于说明的目的,而不是出于限制由附加权利要求及其等同定义的本发明的目的。
应当理解,单数形式“一”、“一个”和“所述”除非文中清楚指示,否则包括多个指代,因此,例如,“一个部件表面”的指代包括对一个或多个这样的表面的指代。
本发明示范实施例展示了一种有效处理低电压错误和使电源的电压降到最小的方法。通常,当制造过程完成时,低电压错误的位置将在之前被识别,而不随时间的过去而改变。而且,即使错误位置改变,也可以跟踪和更新错误位置。
而且,本发明示范实施例提供在包含具有存储器的芯片的移动通信系统中使由处理当电源的电压被降低到最小时产生的存储器比特错误的操作导致的成本和性能退化最小化的装置和方法。
特别是,在所有使用存储器的数字芯片中,当电源的电压被降低到最小以降低能耗时,少量比特错误产生。为了检测和纠正这些比特错误,本发明示范实施例提供独立存储器并在该独立存储器中存储对应于存储器每个字线的错误位置和纠错码。本发明示范实施例提供一种在读取和/或写入具有相应错误的字时使用相应代码纠正比特错误的装置和方法。本发明示范实施例提供一种使得相应移动通信系统能够通过使用比现有电源的电压低的电压以便最小化芯片中的电力消耗并降低芯片的增加面积而没有错误地运行的方法。
图2是图解根据现有技术的存储器的配置的图。
现在参照图2,存在根据现有技术读取在存储器中的数据的方案的示例。通过行地址来选择行(例如,行地址为“011”),并且所选值借助读出放大器来放大(未示出)。因此,一行数据被复制(或读取)到本地缓冲区。在该描述中,从存储器复制数据和从存储器读取数据具有相同的含义,并且将被互换书写。
然后,根据列地址(例如,列地址“001”),选择和输出对应于“001”比特的存取单元。在图2中,由x标记的比特210指“低电压错误”,由带阴影线的“x”标记的比特220指在行“011”中产生的“低电压错误”。
图3是图解根据本发明第一示范实施例的存储器的配置的图。
本发明第一示范实施例提供当在相同存取单元数据中产生错误时控制存储器的方法。
现在参照图3,本发明示范实施例附加地包括纠错码存储器(以下被称为 ECCS)310、纠错码本地缓冲区(以下被称为ECC本地缓冲区)320、1比特纠错单元(以下被称为ECU)330和类似以及图2中示出的现有技术的结构元件。
ECCS 310在其内具有k个保护集,存储在每行中,各保护集包含存储在相应行中的错误位置的标识符(ID)比特322以及作为纠正相应错误的ECC 的‘C’比特324。可以通过使用‘ID’比特322和‘C’比特324纠正能够在每行上产生的k个错误。常数‘k’越增加,所需的保护集越多。因此,面积开销增加。因此,常数‘k’等于1或2是合适的。
而且,ECCS 310包含每行的1比特的有效比特‘V’326。例如,如果在相应行中没有错误,则有效比特‘V’被设置为‘0’,如果在相应行中有至少一个错误,则被设置为‘1’。因此,有效比特‘V’可首先被识别,由此通常省略在没有错误存在的行中尝试定位错误的不必要操作。如果在相应行中仅存在少于k个错误的m个错误,则第m个(最后一个) 错误位置被复制并存储在(k-m)个保护集中的ID比特322上。取代上述过程,当ID比特322 被设置为‘0’并初始化时,可能错误地识别出在第0个比特上产生了错误。
ECU 330包含接收和纠正从存储器读取并有错误的数据370的1比特错误纠正单元以及通过ECC本地缓冲区320从ECCS 310读取的ECC。也就是说,ECU 330可使用ECC纠正1比特错误。目前存在许多种类的公知的 ECC算法,但是本发明示范实施例在此并不限制。
图4是图解根据本发明第一示范实施例的读取操作的流程图。
参照图4,控制器(未示出)在步骤401识别出行地址和列地址被输入,并在步骤402解码行地址。接着,在步骤403,控制器将由读出放大器解码的行数据复制到本地缓冲区。在步骤404,控制器将要读取的存取单元的列地址解码。作为解码结果,通过列地址选择和输出存取单元。例如,假定在‘001’比特存在1比特错误,如图3所示。
与步骤403同时,控制器在步骤405将ECCS 310中存储的ECCS数据复制到ECCS本地缓冲区320。这时,步骤403的行数据与步骤405的行地址是相同的。
在步骤407,控制器检查存储在ECCS本地缓冲区320中的有效比特‘V’ 326是否被设置为‘1’。如果有效比特‘V’没有被设置为‘1’,那么控制器确定相应行中不存在错误,并进行到步骤415以读取没有错误的数据。然而,如果在步骤407确定有效比特‘V’326被设置为‘1’,那么控制器在步骤409确定相应行中存在至少一个错误,并确定与步骤409读取的列地址相同的‘ID’比特322是否存在。‘ID’比特322是ECCS本地缓冲区320 中存储的保护集的‘ID’比特。如果相同的‘ID’比特322存在,那么控制器在步骤411读取相应‘ID’比特322和映射的‘C’比特324。
控制器进行到步骤413,并在步骤413通过使用从ECC本地缓冲区320 读取的ECC纠正从存储器中读取并有错误的数据。由于错误被如上所述纠正,所以在步骤415,控制器读取错误已经被纠正的数据。
图5是图解根据本发明第一示范实施例的写入操作的流程图。
根据本发明第一示范实施例的写入操作是图4所示读取的相反操作。
参照图5,控制器在步骤501识别出行地址和列地址被输入,在步骤502 解码行地址。同时,当步骤502被执行时,如必要,为了从要写入的数据生成ECC,控制器执行步骤509。当ECC被生成时,控制器在步骤517将所生成的’C’比特324写入映射保护集,并进行到步骤519以便将ECC本地缓冲区320的数据写入ECCS 310。
在步骤502后,控制器在步骤503将所解码的行数据通过读出放大器复制到本地缓冲区。接着,在步骤505,控制器解码列地址,并在步骤507将解码所生成的数据写入存储器。
在执行步骤503的同时,控制器在步骤511将相应的ECCS数据复制到 ECCS本地缓冲区。ECCS数据指ECCS 310中所存储的数据,步骤503的行数据与步骤509的行地址是相同的。
在步骤513,控制器确定ECCS本地缓冲区320中所存储的有效比特‘V’ 326是否被设置为‘1’。如果有效比特‘V’326没有被设置为‘1’,那么控制器确定相应行中不存在错误,并进行到步骤519以便将没有错误的ECCS 本地缓冲区320的数据写入ECCS 310中。
然而,在步骤513中有效数据‘V’326被设置为‘1’的情况下,控制器确定相应行中存在至少一个错误,并在步骤515,从列解码器输出相应行。接着,控制器识别与具有错误比特的列地址相同的‘ID’比特322是否存在。也就是说,控制器将从列解码器输出的列地址与ECCS的每个保护集的‘ID’比特322比较。‘ID’比特322是ECCS本地缓冲区320中所存储的保护集的‘ID’比特。在相同‘ID’比特322存在的情况下,控制器在步骤517将‘ID’比特322和映射的‘C’比特324写入保护集。
控制器进行到步骤519,并将ECC本地缓冲区320的数据写入ECCS 310 中。
图6是图解根据本发明第二示范实施例的存储器的配置的图。
本发明第二示范实施例提供一种控制其中在相同存取单元数据中产生两个错误的存储器的方法。为控制存储器,本发明第二示范实施例额外包含交织器650。而且,本发明第二示范实施例包含用于控制交织器650的‘I’比特628。在图3中示出其中在相同存取单元中产生两个错误的存储器的配置,可以通过1比特ECU来纠正两个错误。为了解决这个问题,本发明示范实施例额外包含交织器650,并且分散错误的位置。由于交织器改变输入信号的顺序并分散错误的位置,所以解码器可有效纠正这些错误。
交织方案能够以不同方式被执行,它能够通过‘I’比特628在每行上不同地设置。在芯片被制造后,通过在校准过程中识别错误的准确位置并选择合适的交织方案以分散错误的位置来确定‘I’比特628的值。如果‘I’比特628被定义为2个比特,则例如可以采用4个交织方案。本发明示范实施例不限制各个交织方案。
ECCS 610、ECC本地缓冲区622、ID 622、C 624、‘V’比特626、纠错单元630、纠错数据640和1比特错误数据670与图3的相应元素基本相似,在此省略对其的详细描述。
图7是图解根据本发明第二示范实施例的读取操作的流程图。
现在参照图7,控制器在步骤701识别出输入了行地址和列地址,并在步骤702解码行地址。接着,控制器在步骤703将所解码的行地址通过读出放大器复制到本地缓冲区。而且,控制器在步骤704解码列地址。作为解码结果,通过输入的列地址选择和输出存取单元。例如,假定在“001”比特存在1个错误比特,如图3所示。
在控制器执行步骤703的同时,它在步骤705将ECCS 610中存储的 ECCS数据复制到本地缓冲区620。步骤703的行数据与步骤705的行地址相同。
控制器在步骤707确定ECCS本地缓冲区中存储的有效比特‘V’626是否被设置为‘1’。如果有效比特‘V’626没有被设置为‘1’,那么控制器确定相应行中没有错误,并进行到步骤717以读取没有错误的数据。
然而,在步骤707中确定有效比特‘V’626被设置为‘1’的情况下,控制器确定相应行中有至少一个错误,并同时如下执行两个过程。
首先,在步骤711,控制器确定与步骤701读取的列地址相同的‘ID’比特622是否存在。‘ID’比特622是ECCS本地缓冲区620中存储的保护集的‘ID’比特。在相同‘ID’622存在的情况下,在步骤713,控制器从其中‘ID’比特622被映射的保护集中读取‘C’比特624。
其次,在步骤709,控制器使用ECCS本地缓冲区620中设置的‘I’比特628控制交织器650,并通过交织器650向本地缓冲区输入经交织的数据。然后,控制器进行到步骤704并解码列地址。
在执行步骤713和704后,控制器进行到步骤715以便通过使用从ECC 本地缓冲区620读取的ECC纠正从存储器读取的有错误的数据670。因此,由于错误被纠正,控制器在步骤717读取错误已经被纠正的数据。
图8是图解根据本发明第二示范实施例的写入操作的流程图。
根据本发明第二示范实施例的写入操作是图7所示读取的相反操作。
参照图8,在步骤801,控制器(未示出)识别出输入了行地址和列地址。所述行地址和列地址被输入以访问存储器。接着,控制器在步骤803解码行地址。在执行步骤803的同时,如必要,在步骤811,控制器从要写入的数据生成ECC。当ECC被生成时,控制器在步骤821将所生成的‘C’比特624写入映射的保护集中,并进行到步骤823以便将ECC本地缓冲区620的数据写入ECCS 610中。
另一方面,在步骤803后,控制器在步骤805将行数据通过读出放大器复制到本地缓冲区。接着,控制器在步骤807解码列地址,并在步骤809将作为解码结果而生成的数据写入存储器。
在执行步骤805的同时,控制器在步骤813将相应ECCS数据复制到 ECCS本地缓冲区。步骤805的行数据是与步骤813的行地址相同的地址。
在步骤815,控制器确定ECCS本地缓冲区中存储的有效比特‘V’626 是否被设置为‘1’。如果有效比特‘V’626没有被设置为‘1’,那么控制器确定相应行中不存在错误,并进行到步骤823以便将没有错误的ECCS本地缓冲区数据写入ECCS中。
然而,如果在步骤815 有效比特‘V’626被设置为‘1’,那么控制器确定相应行中存在至少一个错误,并如下同时执行两个步骤。
首先,在步骤817,控制器借助ECCS本地缓冲区620中设置的‘I’比特628控制交织器650,并将借助交织器650交织的数据输入本地缓冲区中。接着,控制器进行到步骤809以便将数据写入存储器。
其次,在步骤819,控制器确定相应行有至少一个错误,并识别‘ID’比特622是否与从列解码器输出的列地址相同。也就是说,控制器将从列解码器输出的列地址与ECCS中每个保护集的‘ID’比特622相比较。‘ID’比特622是ECCS本地缓冲区320中存储的保护集的‘ID’比特。在相同‘ID’比特622存在的情况下,在步骤821,控制器将‘ID’比特622和映射的‘C’比特624写入保护集。
控制器进行到步骤823,将ECC本地缓冲区620的数据写入ECCS 610 中。
本发明示范实施例解决在相关设计技术的其中为了提高在大多数数字处理器和系统中使用的存储器中的电力效率而将电源的电压降低到可能产生错误的电平并且由此导致存储器错误产生的问题。因此,本发明示范实施例能够最大化电力的效率,同时最小化增加的面积成本和性能损失。
在本发明示范实施例中,所增加的面积成本用于其中存储ECCS的存储空间和交织逻辑。与其中仅存储整个数据的ECCD现有技术不同,本发明示范实施例能够通过提供ID比特,并且只选择和存储错误产生位置的ECC 来最小化面积成本。而且,本发明示范实施例能够借助只有1比特的错误纠正单元来处理在存储器行中可能产生的多比特错误。
因此,可以通过本发明示范实施例大大降低移动通信系统的电力的消耗。
虽然参考本发明特定实施例示出和描述了本发明,但是,本领域技术人员应该理解,在不脱离由所附权利要求及其等同定义的本发明的精神和范围的前提下,可以在形式和细节上对其做各种变化。

Claims (24)

1.一种用于在移动通信系统中控制存储器的装置,所述装置包括:
存储器,用于存储包含由低电压引起的至少一个错误的数据;以及
纠错单元,用于依据在纠错码存储器的本地缓冲区中设置的第一比特识别在所述存储器中是否存在所述至少一个错误,用于当确定在所述存储器中存在所述至少一个错误时,将有关从所述存储器中读取的错误数据的位置信息与有关在所述纠错码存储器的本地缓冲区中的至少一个保护集的错误数据的位置信息进行比较,用于生成作为比较结果的纠错码,以及用于依据所述纠错码纠正所述存储器的所述错误数据。
2.如权利要求1所述的装置,其中,所述纠错码存储器在每行中包括至少一个保护集,其中所述至少一个保护集包含用于指示所述错误数据的位置的标识符(ID)比特和所述纠错码。
3.如权利要求2所述的装置,其中,所述纠错单元将从所述存储器中读取的错误数据的列地址与所述至少一个保护集的ID比特比较,如果相匹配的保护集存在,则从相应保护集生成所述纠错码。
4.如权利要求1所述的装置,还包括:交织器,用于如果从所述存储器中读取的错误比特是2个比特,则依据在所述纠错码存储器的本地缓冲区中存储的第二比特将所述存储器的每行的数据进行交织。
5.如权利要求4所述的装置,其中,所述第二比特借助所述交织器将从所述存储器中读取的两个比特的错误分散。
6.如权利要求1所述的装置,其中,所述纠错单元在错误纠正中纠正1个比特的错误。
7.一种用于在移动通信系统中控制存储器的方法,所述方法包括:
依据纠错码存储器的本地缓冲区中设置的第一比特,识别在存储错误数据的存储器中是否存在由低电压引起的至少一个错误的信息;
如果确定在所述存储器中存在所述至少一个错误,则将有关从所述存储器中读取的错误数据的位置信息与有关所述纠错码存储器的本地缓冲区中的至少一个保护集的错误数据的位置信息进行比较;并且
产生作为比较结果的纠错码,并依据所述纠错码纠正所述存储器的所述错误数据。
8.如权利要求7所述的方法,其中,所述至少一个保护集包括指示错误数据的位置的标识符(ID)比特和所述纠错码。
9.如权利要求8所述的方法,其中,比较包括:
将从所述存储器中读取的有错误比特的列地址与所述至少一个保护集的ID比特比较;并且
如果与所述ID比特相匹配的保护集存在,则从相应保护集生成所述纠错码作为比较结果。
10.如权利要求7所述的方法,还包括:
如果从所述存储器中读取的错误比特是2个比特,则依据在所述纠错码存储器的本地缓冲区中存储的第二比特将所述存储器的每行的数据进行交织。
11.如权利要求10所述的方法,其中,所述第二比特借助交织器将从所述存储器中读取的两个比特的错误分散。
12.如权利要求7所述的方法,其中,在错误纠正中,1个比特的错误被纠正。
13.一种用于在移动通信系统中控制存储器的装置,所述装置包括:
存储器,其中存储由低电压引起的错误数据;
纠错码存储器,用于存储对应于当信号输入时记录的行地址的至少一个保护集;
控制器,用于依据所述纠错码存储器的本地缓冲区中存储的第一比特识别在所述存储器中是否存在至少一个错误,用于如果确定所述存储器中存在所述至少一个错误,则将从所述存储器中读取并有错误比特的列地址与所述至少一个保护集的标识符(ID)比特相比较,以及用于产生作为比较结果的纠错码;以及
纠错单元,用于依据所述纠错码纠正所述存储器的所述错误数据。
14.如权利要求13所述的装置,其中,所述至少一个保护集包括指示错误数据的位置的ID比特和所述纠错码。
15.如权利要求14所述的装置,其中,所述控制器将从所述存储器中读取的有错误比特的列地址与所述至少一个保护集的ID比特比较,并且如果相匹配的保护集存在,则从相应保护集生成所述纠错码。
16.如权利要求13所述的装置,还包括:交织器,用于如果从所述存储器中读取的错误比特是2个比特,则依据所述纠错码存储器的本地缓冲区中存储的第二比特将所述存储器的每行的数据进行交织。
17.如权利要求16所述的装置,其中,所述交织器依据所述第二比特将从所述存储器中读取的两个比特的错误分散。
18.如权利要求13所述的装置,其中,所述纠错单元在错误纠正中纠正1个比特的错误。
19.一种在移动通信系统中控制存储器的方法,所述方法包括:
当信号输入时,在纠错码存储器中存储对应于记录的行地址的至少一个保护集;
依据所述纠错码存储器的本地缓冲区中存储的第一比特,识别在所述存储器中是否存在由低电压引起的至少一个错误数据的信息;
如果在所述存储器中存在所述至少一个错误,则将从所述存储器中读取并有错误比特的列地址与至少一个保护集的标识符(ID)比特相比较;
产生作为比较结果的纠错码;并且
依据所述纠错码,纠正所述存储器的所述错误数据。
20.如权利要求19所述的方法,其中,所述至少一个保护集包括指示所述错误数据的位置的ID比特和所述纠错码。
21.如权利要求20所述的方法,其中,所述比较包括:
将从所述存储器中读取的有错误比特的列地址与所述至少一个保护集的ID比特比较;并且
如果与所述ID比特相匹配的保护集存在,则从相应保护集生成所述纠错码作为比较结果。
22.如权利要求19所述的方法,还包括:
如果从所述存储器中读取的错误比特是2个比特,则依据在所述纠错码存储器的本地缓冲区中存储的第二比特将所述存储器的每行的数据进行交织。
23.如权利要求22所述的方法,其中,交织器依据所述第二比特将从所述存储器中读取的两个比特的错误分散。
24.如权利要求19所述的方法,其中,在错误纠正中,1个比特的错误被纠正。
CN201380074189.2A 2013-03-04 2013-06-05 在移动通信系统中控制存储器的装置和方法 Active CN105027084B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020130022732A KR102024033B1 (ko) 2013-03-04 2013-03-04 이동 통신 시스템에서 메모리 제어 방법 및 장치
KR10-2013-0022732 2013-03-04
PCT/KR2013/004955 WO2014137033A1 (en) 2013-03-04 2013-06-05 Apparatus and method for controlling memory in mobile communication system

Publications (2)

Publication Number Publication Date
CN105027084A CN105027084A (zh) 2015-11-04
CN105027084B true CN105027084B (zh) 2017-11-21

Family

ID=51421657

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380074189.2A Active CN105027084B (zh) 2013-03-04 2013-06-05 在移动通信系统中控制存储器的装置和方法

Country Status (5)

Country Link
US (1) US9110858B2 (zh)
EP (1) EP2965205B1 (zh)
KR (1) KR102024033B1 (zh)
CN (1) CN105027084B (zh)
WO (1) WO2014137033A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3379416B1 (en) 2017-03-24 2023-06-14 Nxp B.V. Memory system
CN108519928A (zh) * 2018-03-31 2018-09-11 北京联想核芯科技有限公司 一种动态调整ecu的处理方法和装置
EP3864500A4 (en) * 2018-10-12 2022-10-12 Supermem, Inc. ERROR CORRECTING MEMORY SYSTEMS
JP7306945B2 (ja) * 2019-10-03 2023-07-11 ファナック株式会社 メモリエラー判別装置及びメモリエラー判別用コンピュータプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447950B2 (en) * 2003-05-20 2008-11-04 Nec Electronics Corporation Memory device and memory error correction method
CN102253865A (zh) * 2010-05-21 2011-11-23 英特尔公司 用于在系统中使用高速缓冲存储器的方法和装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6701480B1 (en) * 2000-03-08 2004-03-02 Rockwell Automation Technologies, Inc. System and method for providing error check and correction in memory systems
JP3892832B2 (ja) * 2003-08-11 2007-03-14 株式会社東芝 半導体記憶装置
US7647536B2 (en) 2005-12-30 2010-01-12 Intel Corporation Repair bits for a low voltage cache
US7984359B2 (en) * 2006-05-01 2011-07-19 Seagate Technology, Llc Correction of data errors in a memory buffer
US8245087B2 (en) * 2007-03-26 2012-08-14 Cray Inc. Multi-bit memory error management
KR101411976B1 (ko) * 2007-07-09 2014-06-27 삼성전자주식회사 플래시 메모리 시스템 및 그것의 에러 정정 방법
US8239732B2 (en) * 2007-10-30 2012-08-07 Spansion Llc Error correction coding in flash memory devices
US8234554B2 (en) * 2008-07-10 2012-07-31 International Business Machines Corporation Soft error correction in sleeping processors
KR101543245B1 (ko) * 2009-03-18 2015-08-11 삼성전자주식회사 에러 교정 장치와 이를 포함하는 메모리 장치와 데이터 처리 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447950B2 (en) * 2003-05-20 2008-11-04 Nec Electronics Corporation Memory device and memory error correction method
CN102253865A (zh) * 2010-05-21 2011-11-23 英特尔公司 用于在系统中使用高速缓冲存储器的方法和装置

Also Published As

Publication number Publication date
CN105027084A (zh) 2015-11-04
EP2965205A4 (en) 2017-01-04
US9110858B2 (en) 2015-08-18
EP2965205A1 (en) 2016-01-13
KR20140108886A (ko) 2014-09-15
EP2965205B1 (en) 2018-01-31
WO2014137033A1 (en) 2014-09-12
US20140250345A1 (en) 2014-09-04
KR102024033B1 (ko) 2019-09-24

Similar Documents

Publication Publication Date Title
US11734106B2 (en) Memory repair method and apparatus based on error code tracking
US8725944B2 (en) Implementing raid in solid state memory
US8418030B2 (en) Storage system with data recovery function and method thereof
CN105340022B (zh) 用于校正数据错误的电路、设备及方法
US7536627B2 (en) Storing downloadable firmware on bulk media
US9223648B2 (en) Memory storage device, memory controller thereof, and method for processing data thereof
US7107508B2 (en) Manufacturing test for a fault tolerant magnetoresistive solid-state storage device
US20030023927A1 (en) Method for error correction decoding in a magnetoresistive solid-state storage device
US20130318418A1 (en) Adaptive error correction for phase change memory
US20220004457A1 (en) Nonvolatile memory device and memory system including nonvolatile memory device
CN105027084B (zh) 在移动通信系统中控制存储器的装置和方法
CN103594120A (zh) 以读代写的存储器纠错方法
CN104409103A (zh) 一种新颖的宇航用存储器二维编码加固方法及电路装置
US9754682B2 (en) Implementing enhanced performance with read before write to phase change memory
US10481973B2 (en) Memory module with dedicated repair devices
CN111078462B (zh) 数据校验方法及电路
US11782807B2 (en) Memory module with dedicated repair devices
JP3922844B2 (ja) キャッシュtag制御方法及びこの制御方法を用いた情報処理装置
CN110309014B (zh) 一种全行编解码sram编码器数据读写结构及数据读写方法
US20220317891A1 (en) Read/write method and memory device
Lu et al. Fault Leveling Techniques for Yield and Reliability Enhancement of NAND Flash Memories
JP2003115196A5 (zh)
CN114756404A (zh) 数据处理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant