CN105874434A - 比特重映射系统 - Google Patents
比特重映射系统 Download PDFInfo
- Publication number
- CN105874434A CN105874434A CN201480071907.5A CN201480071907A CN105874434A CN 105874434 A CN105874434 A CN 105874434A CN 201480071907 A CN201480071907 A CN 201480071907A CN 105874434 A CN105874434 A CN 105874434A
- Authority
- CN
- China
- Prior art keywords
- address
- data
- value
- equipment
- controller
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/076—Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
一种方法包括在计数器处存储指示在与第一地址相关联的数据中检测到比特差错的读操作的计数的第一值。该方法进一步包括响应于第一值超过第一阈值,使用耦合至存储器阵列的控制器来将第一地址重映射到第二地址。第一地址对应于存储器阵列的第一元件。第二地址对应于被包括在控制器内的存储器处的第二元件。重映射第一地址包括响应于接收到对位于第一地址处的数据的第一读请求,将从第一元件读取的第一值替换成从第二元件读取的第二值。
Description
相关申请的交叉引用
本申请要求共同拥有的于2014年1月2日提交的美国非临时专利申请No.14/146,628的优先权,该非临时专利申请的内容通过援引全部明确纳入于此。
领域
本公开一般涉及比特重映射系统。
相关技术描述
技术进步已产生越来越小且越来越强大的计算设备。例如,当前存在各种各样的便携式个人计算设备,包括较小、轻量且易于由用户携带的无线计算设备,诸如便携式无线电话、个人数字助理(PDA)以及寻呼设备。更具体地,便携式无线电话(诸如蜂窝电话和网际协议(IP)电话)可通过无线网络传达语音和数据分组。此外,许多此类无线电话包括被纳入于其中的其他类型的设备。例如,无线电话还可包括数码相机、数码摄像机、数字记录器以及音频文件播放器。同样,此类无线电话可处理可执行指令,包括可被用于访问因特网的软件应用,诸如web浏览器应用。如此,这些无线电话可包括显著的计算能力。
随着半导体工艺依比例决定,半导体器件可能变得较不可靠并且更易于遭受硬件差错,诸如由于有缺陷或“有故障”的组件。为了补偿硬件差错,存储器设备(例如,动态随机存取存储器(DRAM)设备)可包括存储器阵列以及存储器单元的“额外”或冗余行,其可在存储器阵列的其它存储器单元呈现“硬”差错(例如,复现差错)或者被确定为已发生物理故障(例如,由于特定工艺变动或另一物理故障)时被访问。为了解说,如果在存储器设备的生产或测试期间在存储器阵列的行x中检测到有故障的存储器单元,则行x可被重映射到存储器阵列的冗余行a(例如通过将电熔丝设为将在存储器设备处接收到的请求从行x重新路由至冗余行a)。作为另一示例,如果存储器阵列的行y中的有故障的存储器单元被“现场”(例如,在存储器设备的操作期间)检测到,则行y可被重映射到存储器阵列的冗余行b。然而,冗余行可消耗大面积的存储器设备,这可能是高成本的或者在某些应用中是不可行的。
概述
本公开给出了比特重映射系统的诸实施例。该比特重映射系统可包括耦合至存储器阵列的控制器。该控制器包括计数器和重映射设备。计数器可存储指示在与存储器阵列的地址相关联的数据中检测到比特差错的读操作的计数的值。比特差错可对应于可纠正(例如,单比特差错)存储器差错、对应于不可纠正(例如,多比特差错)存储器差错、或者对应于这两者。重映射设备可响应于该值超过阈值而将存储器阵列的地址重映射到位于控制器内的存储器处的地址。重映射可包括响应于接收到对位于存储器阵列的该地址处的数据的读请求而将从存储器阵列读取的值替换成从存储器读取的值。与在存储器阵列处使用冗余行(或列)的设备相比,包括比特重映射系统的电子设备可使用较少的冗余存储器(例如,单个存储器单元或存储器单元块)来纠正存储器差错。当存储器阵列不包含冗余行(或列)时,电子设备可进一步使用比特重映射系统来纠正存储器差错。
在特定实施例中,一种方法包括在计数器处存储指示在与第一地址相关联的数据中检测到比特差错的读操作的计数的第一值。该方法进一步包括响应于第一值超过第一阈值,使用耦合至存储器阵列的控制器来将第一地址重映射到第二地址。第一地址对应于存储器阵列的第一元件。第二地址对应于被包括在控制器内的存储器处的第二元件。重映射第一地址包括响应于接收到对位于第一地址处的数据的第一读请求而将从第一元件读取的第一值替换成从第二元件读取的第二值以生成经修改数据。
在另一特定实施例中,一种装置包括被配置成耦合至存储器阵列的控制器。该控制器包括被配置成存储指示在与第一地址相关联的数据中检测到比特差错的读操作的计数的值的计数器。第一地址对应于存储器阵列的第一元件。该控制器进一步包括被配置成响应于计数器处的值超过第一阈值而将第一地址重映射到第二地址的重映射设备。第二地址对应于被包括在控制器内的存储器处的第二元件。响应于接收到对位于第一地址处的数据的读请求,重映射设备被配置成使得从第一元件读取的第一比特值被替换成从所述第二元件读取的第二比特值以生成经修改数据。
在另一特定实施例中,一种设备包括被配置成耦合至存储器阵列的控制装置。该控制装置包括用于存储指示在与第一地址相关联的数据中检测到比特差错的读操作的计数的值的装置。第一地址对应于存储器阵列的第一元件。该控制装置进一步包括用于响应于用于存储的装置处的值超过阈值而将第一地址重映射到第二地址的装置,其中第二地址对应于控制装置内的用于存储数据的装置处所包括的第二元件,并且用于重映射的装置用于响应于接收到对位于第一地址处的数据的读请求而使得从第一元件读取的第一值被替换成从第二元件读取的第二值以生成经修改数据。
在另一特定实施例中,一种非瞬态计算机可读介质存储指令,该指令在由处理器执行时使处理器在计数器处存储指示在与第一地址相关联的数据中检测到比特差错的读操作的计数的值。该非瞬态计算机可读介质进一步存储在被处理器执行时使处理器响应于第一值超过第一阈值而使用耦合至存储器阵列的控制器来将第一地址重映射到第二地址的指令。第一地址对应于存储器阵列的第一元件。第二地址对应于被包括在控制器内的存储器处的第二元件。重映射第一地址包括响应于接收到对位于第一地址处的数据的第一读请求而将从第一元件读取的第一值替换成从第二元件读取的第二值以生成经修改数据。
所公开的实施例中的至少一个实施例所提供的一个特定优点在于,与在存储器阵列处使用冗余行的设备相比,包括比特重映射系统的电子设备可使用较少的冗余存储器(例如,单个存储器单元或存储器单元块)来纠正存储器差错。当存储器阵列不包含冗余行时,电子设备可进一步使用比特重映射系统来纠正存储器差错。
本公开的其他方面、优点和特征将在阅读了整个申请后变得明了,整个申请包括下述章节:附图简述、详细描述以及权利要求书。
附图简述
图1是描绘比特重映射系统的第一特定实施例的示图;
图2是描绘比特重映射系统的第二特定实施例的示图;
图3是描绘比特重映射系统的第三特定实施例的示图;
图4是描绘比特重映射系统的第四特定实施例的示图;
图5是解说用于重映射比特的方法的流程图;
图6是解说包括比特重映射系统的通信设备的框图;以及
图7是解说用于制造包括比特重映射系统的电子设备的制造过程的特定解说性实施例的数据流程图。
详细描述
图1解说了包括耦合至存储器设备102的存储器控制器118的比特重映射系统100的特定实施例。存储器设备102包括存储器阵列104(例如,动态随机存取存储器(DRAM)设备)和纠错码(ECC)引擎114(例如,内存ECC引擎)。存储器控制器118可包括协议引擎120、比特操纵设备122(例如,包括合并器单元和/或拆分器单元)、以及重映射设备124。重映射设备124包括存储器126(例如,静态随机存取存储器(SRAM)设备)和计数器136。存储器126和计数器136可以是单个设备的一部分或者可以是分开的设备。
存储器控制器118可在计数器136处存储指示在与存储器阵列104的特定地址相关联的数据中检测到比特差错的读操作的计数的数据。计数器136可包括多个计数器以实现对具有相关联的比特差错的多个地址的跟踪。比特差错可对应于可纠正比特差错(例如,可被标识并由ECC引擎114使用对应的ECC数据来纠正的单比特差错)。当特定读操作计数超过阈值时,存储器控制器118被配置成将对应于与比特差错相关联的地址的一个或多个特定存储器单元的数据重映射到存储器126。比特操纵设备122可被配置成响应于来自主机设备(例如,外部处理器)的读请求而将来自存储器126的数据(例如,经重映射数据)与从存储器设备102接收到的对应数据相组合以生成经修改数据。经修改数据可对应于被提供给主机设备的输出数据148。比特操纵设备122可被进一步配置成响应于来自主机设备的写请求而提取要被写入存储器126的数据。例如,比特操纵设备122可从作为来自主机设备的写请求的一部分接收到的数据传送将被写入存储器126的比特。进一步,比特操纵设备122可将作为写请求的一部分接收到的数据传送给存储器设备102。存储器126处的经重映射数据(例如,存储器地址、比特偏移和比特值,如以下描述)可占据比存储器阵列104处的存储器的冗余行的空间(例如,256比特)小的空间(例如,135比特)。进一步,在存储器阵列104不包括冗余行时,经重映射数据可被用来修复存储器阵列104处的比特差错。
在操作期间,响应于来自主机设备的读请求,存储器控制器118可接收与将从存储器阵列104读取的所请求数据相对应的地址146。在特定实施例中,地址146被并行地提供给重映射设备124和协议引擎120。在另一特定实施例中,地址146被顺序地提供给重映射设备124和协议引擎120。
当地址146被提供给重映射设备124时,重映射设备124确定地址146是否对应于存储在存储器126处的数据。例如,地址146可对应于行128。行128可包括标识存储器地址130的数据(例如,对应于地址146的物理地址)、比特偏移132(例如,与对应于所标识的比特差错的存储器地址130的偏移)、以及数据块134(例如,存储数据值的存储器块)。当行128被标识为对应于地址146时,可从存储器126向比特操纵设备122传送信号。该信号可指示从数据块134和比特偏移132读取的值。当地址146不对应于存储器126处存储的任何数据时,可向比特操纵设备122传送指示地址146不对应于存储器126处所存储的数据的信号。
协议引擎120可向存储器设备102提供地址146以在访问存储器阵列104时使用。在特定实施例中,行106的数据条目108对应于地址146。对应于数据条目108的数据值可从存储器设备102检索并(例如在被ECC引擎114检查之后,如以下描述)被传送给存储器控制器118(例如,传送给比特操纵设备122)。对应于数据条目108的数据值可包括可纠正比特差错(例如,对应于从存储器单元110检索的数据)。当地址146对应于存储器126处所存储的数据时(例如,如果地址146对应于行128),则对应于数据块134的比特值可与由比特偏移132所指示的位置处的数据条目108的数据值合并。例如,对应于由比特偏移132所指示的位置(其标识与数据条目108内的存储器单元110的位置(例如,数据条目108的第六比特)相对应的位置)处的数据条目108的比特值可被对应于数据块134的比特值替换(例如使用比特操纵设备122处的合并器单元)以生成经修改数据。经修改数据可作为来自存储器控制器118的输出数据148被传送给主机设备。当地址146不对应于存储器126处所存储的数据时,数据条目108的数据值作为来自存储器控制器118的输出数据148被传送给主机设备。
响应于读请求,数据条目108的数据值可从存储器阵列104传送给ECC引擎114,连同对应于ECC块112的数据一起。ECC引擎114可确定对应于数据条目108的数据以及对应于ECC块112的数据是否指示一个或多个可纠正比特差错。例如,ECC引擎114可确定已在数据条目108的存储器单元110处发生了可纠正比特差错。当ECC引擎114确定已在存储器单元110处发生了可纠正比特差错时,ECC引擎114可向重映射设备124传送ECC标志116。ECC标志116可指示所发生的可纠正比特差错并且可指示可纠正比特差错的地址。在特定实施例中,ECC标志116包括对应于可纠正比特差错的经纠正数据值。ECC引擎114可将经纠正数据值传送给存储器控制器118。
当ECC标志116不对应于计数器136的行时,可在计数器136处创建新行。该新行可对应于所检测到的可纠正比特差错的比特位置。例如,新行可对应于存储器单元110。当ECC标志116对应于计数器136的行时,可递增计数器136处的对应读操作差错计数值。例如,ECC标志116可对应于行138,行138包括计数器地址140(例如,对应于地址146)、比特偏移142和读操作差错计数值144。在该示例中,读操作差错计数值144可响应于接收到ECC标志116而递增。响应于递增读操作差错计数值144,读操作差错计数值144可与阈值相比较。当读操作差错计数值144超过该阈值时,重映射设备124可在存储器126处创建对应于存储器单元110的新数据条目(例如,在行128处)。新数据条目可包括存储地址146的存储器地址130字段、存储对应于可纠正比特差错的偏移的比特偏移132字段、以及存储对应于存储器地址130和比特偏移132的经纠正值的数据块134。在特定实施例中,数据块134存储由ECC引擎114生成的经纠正值。在另一特定实施例中,存储器控制器118可向外部存储器设备请求对应于数据块134的数据值并且可在数据块134处存储接收自外部存储器设备的值。在另一特定实施例中,存储器控制器118可指示从数据块134读取的值直至在存储器控制器118处接收到对应于地址146的写请求时才有效,如以下所描述的。
在操作期间,响应于来自主机设备的写请求,存储器控制器118可接收将被写入存储器阵列104的数据150以及对应于所请求位置的地址146以将数据150存储在存储器阵列104处。在特定实施例中,地址146被并行地提供给重映射设备124和协议引擎120。在另一特定实施例中,地址146被顺序地提供给重映射设备124和协议引擎120。数据150可被转发给比特操纵设备122。在特定实施例中,比特操纵设备122将数据150并行地提供给重映射设备124和协议引擎120。在另一特定实施例中,比特操纵设备122将数据150顺序地提供给重映射设备124和协议引擎120。
当地址146被提供给重映射设备124时,重映射设备124确定地址146是否对应于存储在存储器126处的数据。例如,如果地址146匹配于存储器地址130,则地址146可对应于行128。当在存储器126处标识出对应于地址146的行128时,可从存储器126向比特操纵设备122传送信号,由此请求数据150的一部分(例如,对应于比特偏移132的数据)被存储在数据块134处。比特操纵设备122(例如,使用拆分器单元)可被配置成将数据150的该部分传送给重映射设备124。例如,比特操纵设备122可提取数据150中对应于存储器地址130且对应于比特偏移132的部分并且将数据150的该部分传送给重映射设备124。重映射设备124可在存储器126的对应行(例如,行128)的数据块(例如,数据块134)处存储数据150的该部分。
当地址146被提供给协议引擎120时,协议引擎120可将地址146转发给存储器设备102。存储器控制器118(例如,比特操纵设备122的拆分器单元)可将数据150(例如,包括被传送给重映射设备124的数据150的任何部分)转发给存储器设备102。存储器设备102可将地址146和数据150提供给存储器阵列104。在特定实施例中,行106的数据条目108对应于地址146且对应于数据150。可在数据条目108处存储数据150的数据部分。在数据150包括ECC数据(例如,奇偶校验比特)的实施例中,数据150的ECC部分可被存储在ECC块112处。在数据150不包括ECC部分的另一实施例中,ECC引擎114可生成对应于数据150的ECC部分并且所生成的ECC部分被存储在ECC块112处。
与在存储器阵列处使用冗余行相比,包括比特重映射系统100的电子设备可使用较少的冗余存储器(例如,单个存储器单元)来纠正可纠正比特差错。当存储器阵列不包含冗余行时,电子设备可进一步使用比特重映射系统100来纠正存储器差错。
图2解说了包括耦合至存储器设备202的存储器控制器218的比特重映射系统200的特定实施例。存储器控制器218可对应于图1的存储器控制器118,并且存储器设备202可对应于图1的存储器设备202。比特重映射系统200可与图1的比特重映射系统100类似地操作。然而,计数器236可对包括不可纠正比特差错(例如,ECC引擎214无法在数据条目208内定位的多比特差错)的读操作的实例进行计数,而非对特定比特(例如,由图1的计数器地址140和比特偏移142标识的比特)的差错的实例进行计数。
当导致对应于地址246的数据中检测到不可纠正比特差错的对应于地址246的读操作的计数超过阈值时,存储器226可存储对应于地址246的数据块(即,多个比特)(例如,而非如图1中的偏移和比特值)。当存储器控制器218接收到包括对应于存储器226处所存储的数据的地址246的读请求时,比特操纵设备222将从存储器设备202接收到的数据(例如使用一个或多个复用器)替换成来自存储器226的数据(而非如图1中的将接收自存储器设备102的数据与来自存储器126的数据合并)。
在特定实施例中,重映射设备224可与图1的重映射设备124协同使用(例如,通过对检测到可纠正比特差错和/或检测到不可纠正比特差错的读操作进行计数以及通过在检测到比特差错的读操作的数目超过阈值时重映射对应于诸地址的数据位置)。该阈值对于可纠正比特差错和不可纠正比特差错而言可以是相同的,或者可使用不同阈值。对应于一地址处的可纠正比特差错的读操作可与对应于不可纠正比特差错的读操作一起计数,或者具有可纠正比特差错的读操作可与对应于不可纠正比特差错的读操作分开来计数。
图3解说了包括耦合至存储器设备302的存储器控制器318的比特重映射系统300的特定实施例,存储器设备302包括存储器阵列304(例如,动态随机存取存储器(DRAM)设备)。存储器控制器318和存储器设备302可对应于图1的存储器控制器118和存储器设备102并且可按与关于图1所描述的方式基本上类似的方式操作。与图1的存储器设备102中的ECC引擎114相比,系统300在存储器控制器318中包括ECC引擎352。
ECC引擎352被配置成与在存储器阵列304的行306处存储对应于地址346的数据350协同地生成将被存储在存储器阵列304处的ECC数据位置312中的ECC数据。ECC引擎352还被配置成响应于读指令而对从存储器阵列304的行306读取的数据和ECC数据执行ECC解码操作。
如果从存储器阵列304读取的数据对应于存储器326中所包括的地址(例如,匹配于存储器地址330),则比特操纵设备322可通过将所读取数据与偏移332所标识的比特值334合并来修改所读取数据,并且经修改数据可被提供给ECC引擎352。结果,包含复现比特差错(例如,硬差错)的数据可在被ECC引擎352解码之前被纠正,由此增强ECC引擎352的有效纠错能力。例如,如果从存储器阵列304读取的数据包括存储器326中跟踪的硬差错以及存储器326中未跟踪的软差错,则在比特操纵设备322纠正硬差错之后,ECC引擎352可纠正数据中留下的软差错。ECC引擎352可将ECC标志提供给重映射设备324以指示所检测到的比特差错,诸如关于图1的ECC标志116所描述的。ECC标志可被用作指示符以在计数器336中添加条目并更新与这些条目相关联的计数(例如,响应于检测到计数器336的行338所跟踪的比特差错的另一次发生而递增与计数器地址340和偏移342相关联的计数值344)。
图4解说了包括具有比特操纵设备422的存储器控制器418的比特重映射系统400的特定实施例,比特操纵设备422耦合至包括存储器阵列404的存储器设备402(例如,动态随机存取存储器(DRAM)设备)。存储器控制器418和存储器设备402可对应于图2的存储器控制器218和存储器设备202并且可按与关于图2所描述的方式基本上类似的方式操作。与图2的存储器设备202中的ECC引擎214相比,系统400在存储器控制器418中包括ECC引擎452。
ECC引擎452被配置成与在存储器阵列404的行406处存储对应于地址446的数据450协同地生成将被存储在存储器阵列404处的ECC数据位置412中的ECC数据。ECC引擎452还被配置成响应于读指令而对从存储器阵列404的行406读取的数据和ECC数据执行ECC解码操作。
如果从存储器阵列404读取的数据对应于存储器426中所包括的地址(例如,匹配于存储器地址430),则比特操纵设备422可通过将所读取数据的一部分(例如,部分408)或全部替换成从数据块434检索的值来修改所读取数据。经更新的所读取数据可被提供给ECC引擎452。结果,包含复现的多比特差错(例如,多个硬差错)的数据可在由ECC引擎452解码之前被纠正。ECC引擎452可将ECC标志提供给重映射设备424以指示所检测到的比特差错,诸如关于图1的ECC标志116所描述的。ECC标志可被用作指示符以在计数器446中添加条目并更新与这些条目相关联的计数(例如,响应于检测到计数器446的行448所跟踪的比特差错的另一次发生而递增与计数器地址440和偏移442相关联的计数值444)。
图5是解说重映射比特的方法500的特定实施例的流程图。方法包括在502,在计数器处存储指示在与第一地址相关联的数据中检测到差错的读操作的计数的第一值。例如,图1的重映射设备124可在计数器136的读操作差错计数值144处存储指示在与地址146相关联的数据中检测到可纠正比特差错的读操作的计数的值。作为另一示例,图3的重映射设备324可在计数器336的不可纠正比特差错计数值344处存储指示在与地址346相关联的数据中检测到比特差错的读操作的计数的值。
该方法还包括在504响应于第一值超过第一阈值,使用耦合至存储器阵列的控制器来将第一地址重映射到第二地址。第一地址对应于存储器阵列的第一元件(例如,单元或块)。第二地址对应于被包括在控制器内的存储器处的第二元件。重映射第一地址包括响应于接收到对位于第一地址处的数据的第一读请求,将从第一元件读取的第一值(例如,比特值或块值)替换成从第二元件读取的第二值以生成经修改数据。例如,响应于图1的读操作差错计数值144处的值超过阈值,耦合至存储器设备102的存储器控制器118可将存储器单元110重映射到存储器126的行128。重映射可包括:响应于接收到对位于数据条目108处的数据的读请求,将从存储器单元110读取的数据替换成从存储器126的数据块134读取的数据以生成经修改数据。作为另一示例,响应于图4的数据条目444处的值超过阈值,耦合至存储器设备402的存储器控制器418可将数据条目408重映射到存储器426的行428。重映射可包括:响应于接收到对位于数据条目408处的数据的读请求,将从数据条目408读取的数据替换成从存储器426的数据块434读取的数据以生成经修改数据。
图5的方法500可由处理单元(诸如中央处理单元(CPU))、现场可编程门阵列(FPGA)设备、专用集成电路(ASIC)、控制器、另一硬件设备、固件设备、或其任何组合来发起和/或执行。作为示例,图5的方法500可由执行指令的一个或多个处理器来执行,如参考图6进一步描述的。
与在存储器阵列处使用冗余行相比,根据方法500操作的电子设备可使用较少的冗余存储器(例如,存储器单元块)来纠正比特差错(例如,可纠正比特差错和/或不可纠正比特差错)。当存储器阵列不包含冗余行时,电子设备可进一步使用方法500来纠正存储器差错。
参照图6,框图描绘了移动设备600的特定解说性实施例,移动设备600包括控制器602和存储器阵列608,控制器602包括计数器604和重映射设备606。移动设备600或其组件可包括、实现或被包括在设备内,该设备诸如通信设备、移动电话、蜂窝电话、计算机、便携式计算机、平板设备、接入点、机顶盒、娱乐单元、导航设备、个人数字助理(PDA)、位置固定的数据单元、移动位置数据单元、台式计算机、监视器、计算机监视器、电视机、调谐器、无线电、卫星无线电、音乐播放器、数字音乐播放器、便携式音乐播放器、视频播放器、数字视频播放器、数字视频碟(DVD)播放器、或便携式数字视频播放器。
移动设备600可包括处理器612,诸如数字信号处理器(DSP)。处理器612可耦合至存储器632(例如,非瞬态计算机可读介质)。存储器632可包括存储器阵列608或者可与存储器阵列608不同。处理器612可进一步耦合至控制器602。控制器602可包括计数器604和重映射设备606。存储器阵列608可被配置成存储数据值以及与该数据值相关联的纠错码(ECC)数据。存储器阵列608可以是包括ECC引擎的存储器设备的一部分,如以上参照图1和3描述的。控制器606可包括ECC引擎,如以上参照图2和4描述的。计数器604可被配置成存储指示与存储器阵列608的一个或多个存储器单元相关联的所检测到的比特差错的数目的值。重映射设备606可被配置成响应于计数器604处的值超过阈值而将对应于一个或多个存储器单元的地址重映射到控制器602内的存储器。重映射设备606和计数器604可以是单个设备的一部分或者可以是分开的设备。例如,控制器602可对应于图1的存储器控制器118、图2的存储器控制器218、图3的存储器控制器318、或图4的存储器控制器418。计数器604可对应于图1的计数器136、图2的计数器236、图3的计数器336、或图4的计数器436。重映射设备606可对应于图1的重映射设备124、图2的重映射设备224、图3的重映射设备324、或图4的重映射设备424。存储器阵列608可对应于图1的存储器阵列104、图2的存储器阵列204、图3的存储器阵列304、或图4的存储器阵列404。
图6还示出了耦合至处理器612和显示器628的显示控制器626。编码器/解码器(CODEC)634也可耦合至处理器612。扬声器636和话筒638可耦合至CODEC 634。无线控制器640可耦合至处理器612且可进一步耦合至天线642。
在特定实施例中,处理器612、显示控制器626、存储器632、CODEC 634、无线控制器640、控制器602和存储器阵列608被包括在系统级封装或片上系统设备622中。输入设备630和电源644可耦合至片上系统设备622。此外,在特定实施例中,并且如图6中所解说的,显示器628、输入设备630、扬声器636、话筒638、天线642和电源644在片上系统设备622的外部。然而,显示器628、输入设备630、扬声器636、话筒638、天线642和电源644中的每一者可被耦合到片上系统设备622的组件,诸如接口或控制器。控制器602和/或存储器阵列608可被包括在片上系统设备622中(如图6所示)或者可被包括在一个或多个分开的组件中。
结合所描述的实施例,装置(诸如移动设备600)可包括被配置成耦合至存储器阵列(例如,图1的存储器阵列104、图2的存储器阵列204、图3的存储器阵列304、图4的存储器阵列404、或图6的存储器阵列608)的控制装置(例如,图1的存储器控制器118、图2的存储器控制器218、图3的存储器控制器318、图4的存储器控制器418、或者图6的控制器602)。控制装置可包括用于存储指示在与第一地址相关联的数据中检测到比特差错的读操作的计数的值的装置(例如,图1的计数器136、图2的计数器236、图3的计数器336、图4的计数器436、或图6的计数器636)。第一地址可对应于存储器阵列的第一单元。控制装置可进一步包括用于响应于用于存储的装置处的值超过阈值而将第一地址重映射到第二地址的装置(例如,图1的重映射设备124、图2的重映射设备224、图3的重映射设备324、图4的重映射设备424、或图6的重映射设备606),其中第二地址可对应于在用于在控制装置内存储数据的装置(例如,图1的存储器126、图2的存储器226、图3的存储器326、或图4的存储器426)处所包括的第二单元,并且该控制装置进一步包括用于响应于接收到对位于第一地址处的数据的读请求而使得从第一单元读取的第一比特值被替换成从第二单元读取的第二比特值以生成经修改数据的装置。
上文公开的设备和功能性可被设计和配置在存储在计算机可读介质上的计算机文件(例如,RTL、GDSII、GERBER等)中。一些或全部此类文件可被提供给制造处理人员以基于此类文件来制造设备。结果产生的产品包括晶片,其随后被切割成管芯并被封装成芯片。这些芯片随后被用在以上描述的设备中。图7描绘了电子设备制造过程700的特定说明性实施例。
物理器件信息702在制造过程700处(诸如在研究计算机706处)被接收。物理器件信息702可包括表示电子设备的至少一个物理属性的设计信息,该电子设备包括控制器(例如,对应于图1的存储器控制器118、图2的存储器控制器218、图3的存储器控制器318、图4的存储器控制器418、或图6的控制器602)、计数器(例如,对应于图1的计数器136、图2的计数器236、图3的计数器336、图4的计数器436、或图6的计数器604)、和/或重映射设备(例如,对应于图1的重映射设备124、图2的重映射设备224、图3的重映射设备324、图4的重映射设备424、或图6的重映射设备606)。例如,物理器件信息702可包括经由耦合至研究计算机706的用户接口704输入的物理参数、材料特性、以及结构信息。研究计算机706包括耦合至计算机可读介质(诸如存储器710)的处理器708,诸如一个或多个处理核。存储器710可存储计算机可读指令,其可被执行以使处理器708将物理器件信息702转换成遵循文件格式并生成库文件712。
在一特定实施例中,库文件712包括至少一个包括经转换的设计信息的数据文件。例如,库文件712可包括被提供以供与电子设计自动化(EDA)工具720联用的电子设备(例如,半导体设备)库,该电子设备库包括控制器(例如,对应于图1的存储器控制器118、图2的存储器控制器218、图3的存储器控制器318、图4的存储器控制器418、或图6的控制器602)、计数器(例如,对应于图1的计数器136、图2的计数器236、图3的计数器336、图4的计数器436、或图6的计数器604)、和/或重映射设备(例如,对应于图1的重映射设备124、图2的重映射设备224、图3的重映射设备324、图4的重映射设备424、或图6的重映射设备606)。
库文件712可在设计计算机714处与EDA工具720协同使用,设计计算机714包括耦合至存储器718的处理器716,诸如一个或多个处理核。EDA工具720可作为处理器可执行指令存储在存储器718处以使得设计计算机714的用户能够使用库文件712来设计电路,该电路包括控制器(例如,对应于图1的存储器控制器118、图2的存储器控制器218、图3的存储器控制器318、图4的存储器控制器418、或图6的控制器602)、计数器(例如,对应于图1的计数器136、图2的计数器236、图3的计数器336、图4的计数器436、或图6的计数器604)、和/或重映射设备(例如,对应于图1的重映射设备124、图2的重映射设备224、图3的重映射设备324、图4的重映射设备424、或图6的重映射设备606)。例如,设计计算机714的用户可经由耦合至设计计算机714的用户接口724来输入电路设计信息722。电路设计信息722可包括表示电子设备的至少一个物理属性的设计信息,该电子设备包括控制器(例如,对应于图1的存储器控制器118、图2的存储器控制器218、图3的存储器控制器318、图4的存储器控制器418、或图6的控制器602)、计数器(例如,对应于图1的计数器136、图2的计数器236、图3的计数器336、图4的计数器436、或图6的计数器604)、和/或重映射设备(例如,对应于图1的重映射设备124、图2的重映射设备224、图3的重映射设备324、图4的重映射设备424、或图6的重映射设备606)。作为解说,电路设计性质可包括特定电路的标识以及与电路设计中其他元件的关系、定位信息、特征尺寸信息、互连信息、或表示电子设备的物理性质的其他信息。
设计计算机714可被配置成转换设计信息(包括电路设计信息722)以遵循某一文件格式。作为解说,该文件格式化可包括以分层格式表示关于电路布局的平面几何形状、文本标记、及其他信息的数据库二进制文件格式,诸如图形数据系统(GDSII)文件格式。设计计算机714可被配置成生成包括经转换设计信息的数据文件,诸如包括描述控制器(例如,对应于图1的存储器控制器118、图2的存储器控制器218、图3的存储器控制器318、图4的存储器控制器418、或图6的控制器602)、计数器(例如,对应于图1的计数器136、图2的计数器236、图3的计数器336、图4的计数器436、或图6的计数器604)、和/或重映射设备(例如,对应于图1的重映射设备124、图2的重映射设备224、图3的重映射设备324、图4的重映射设备424、或图6的重映射设备606)的信息并且还包括SOC内的附加电子电路和组件的GDSII文件726。
GDSII文件726可在制造过程728处接收以根据GDSII文件726中的经转换信息来制造控制器(例如,对应于图1的存储器控制器118、图2的存储器控制器218、图3的存储器控制器318、图4的存储器控制器418、或图6的控制器602)、计数器(例如,对应于图1的计数器136、图2的计数器236、图3的计数器336、图4的计数器436、或图6的计数器604)、和/或重映射设备(例如,对应于图1的重映射设备124、图2的重映射设备224、图3的重映射设备324、图4的重映射设备424、或图6的重映射设备606)。例如,器件制造过程可包括将GDSII文件726提供给掩模制造商730以创建一个或多个掩模,诸如用于与光刻处理联用的掩模,其在图7中被解说为代表性掩模732。掩模732可在制造过程期间被用于生成一个或多个晶片733,晶片733可被测试并被分成管芯,诸如代表性管芯736。管芯736包括包含以下各项的电路:控制器(例如,对应于图1的存储器控制器118、图2的存储器控制器218、图3的存储器控制器318、图4的存储器控制器418、或图6的控制器602)、计数器(例如,对应于图1的计数器136、图2的计数器236、图3的计数器336、图4的计数器436、或图6的计数器604)、和/或重映射设备(例如,对应于图1的重映射设备124、图2的重映射设备224、图3的重映射设备324、图4的重映射设备424、或图6的重映射设备606)。
在一特定实施例中,制造过程728可由处理器734来发起或控制。处理器734可访问包括可执行指令(诸如计算机可读指令或处理器可读指令)的存储器735。可执行指令可包括可由计算机(诸如处理器734)执行的一个或多个指令。
制造过程728可由全自动化或部分自动化的制造系统来实现。例如,制造过程728可以是自动化的,并且可以根据调度来执行处理步骤。制造系统可包括用于执行一个或多个操作以形成电子器件的制造装备(例如,处理工具)。例如,该制造装备可被配置成使用集成电路制造工艺(例如,湿法蚀刻、干法蚀刻、沉积、平坦化、光刻、或其组合)来形成集成电路元件。
该制造系统可具有分布式架构(例如,层级结构)。例如,该制造系统可包括根据该分布式架构分布的一个或多个处理器(诸如处理器734)、一个或多个存储器(诸如存储器735)、和/或控制器。该分布式架构可包括控制或发起一个或多个低级系统的操作的高级处理器。例如,制造过程728的高级部分可包括一个或多个处理器(诸如处理器734),并且低级系统可各自包括一个或多个相应控制器或可受其控制。特定低级系统的特定控制器可从高级系统接收一个或多个指令(例如,命令)、可向下级模块或处理工具发布子命令、以及可反过来向高级系统传达状态数据。一个或多个低级系统中的每个低级系统可与一件或多件相应制造装备(例如,处理工具)相关联。在一特定实施例中,该制造系统可包括分布在该制造系统中的多个处理器。例如,该制造系统的低级系统组件的控制器可包括处理器,诸如处理器734。
替换地,处理器734可以是该制造系统的高级系统、子系统、或组件的一部分。在另一实施例中,处理器734包括制造系统的各种等级和组件处的分布式处理。
因此,存储器735可包括处理器可执行指令,该处理器可执行指令在由处理器734执行时使得处理器734发起或控制以下各项的形成:控制器(例如,对应于图1的存储器控制器118、图2的存储器控制器218、图3的存储器控制器318、图4的存储器控制器418、或图6的控制器602)、计数器(例如,对应于图1的计数器136、图2的计数器236、图3的计数器336、图4的计数器436、或图6的计数器604)、和/或重映射设备(例如,对应于图1的重映射设备124、图2的重映射设备224、图3的重映射设备324、图4的重映射设备424、或图6的重映射设备606)。
管芯736可被提供给封装过程738,其中管芯736被纳入到代表性封装740中。例如,封装740可包括单个管芯736或多个管芯,诸如系统级封装(SiP)安排。封装740可被配置成遵循一个或多个标准或规范,诸如电子器件工程联合委员会(JEDEC)标准。
关于封装740的信息可诸如经由存储在计算机746处的组件库被分发给各产品设计者。计算机746可包括耦合至存储器750的处理器748,诸如一个或多个处理核。印刷电路板(PCB)工具可作为处理器可执行指令被存储在存储器750处以处理经由用户接口744从计算机746的用户接收的PCB设计信息742。PCB设计信息742可包括经封装电子设备在电路板上的物理定位信息,该经封装电子设备对应于包括以下各项的封装740:控制器(例如,对应于图1的存储器控制器118、图2的存储器控制器218、图3的存储器控制器318、图4的存储器控制器418、或图6的控制器602)、计数器(例如,对应于图1的计数器136、图2的计数器236、图3的计数器336、图4的计数器436、或图6的计数器604)、和/或重映射设备(例如,对应于图1的重映射设备124、图2的重映射设备224、图3的重映射设备324、图4的重映射设备424、或图6的重映射设备606)。
计算机746可被配置成转换PCB设计信息742以生成数据文件,诸如具有包括经封装电子设备在电路板上的物理定位信息、以及电连接(诸如迹线和通孔)的布局的数据的GERBER文件752,其中经封装电子设备对应于封装740,封装740包括控制器(例如,对应于图1的存储器控制器118、图2的存储器控制器218、图3的存储器控制器318、图4的存储器控制器418、或图6的控制器602)、计数器(例如,对应于图1的计数器136、图2的计数器236、图3的计数器336、图4的计数器436、或图6的计数器604)、和/或重映射设备(例如,对应于图1的重映射设备124、图2的重映射设备224、图3的重映射设备324、图4的重映射设备424、或图6的重映射设备606)。在其他实施例中,由经转换的PCB设计信息生成的数据文件可具有GERBER格式以外的其他格式。
GERBER文件752可在板组装过程754处被接收并且被用于创建根据GERBER文件752内存储的设计信息来制造的PCB,诸如代表性PCB 756。例如,GERBER文件752可被上传到一个或多个机器以执行PCB生产过程的各个步骤。PCB 756可填充有电子组件(包括封装740)以形成代表性印刷电路组装件(PCA)758。
PCA 758可在产品制造商760处被接收,并被集成到一个或多个电子设备中,诸如第一代表性电子设备762和第二代表性电子设备764。作为解说性而非限定性示例,第一代表性电子设备762、第二代表性电子设备764或者两者可选自移动电话、平板设备、计算机、通信设备、机顶盒、音乐播放器、视频播放器、娱乐单元、导航设备、个人数字助理(PDA)以及位置固定的数据单元,其中集成了控制器(例如,对应于图1的存储器控制器118、图2的存储器控制器218、图3的存储器控制器318、图4的存储器控制器418、或图6的控制器602)、计数器(例如,对应于图1的计数器136、图2的计数器236、图3的计数器336、图4的计数器436、或图6的计数器604)、和/或重映射设备(例如,对应于图1的重映射设备124、图2的重映射设备224、图3的重映射设备324、图4的重映射设备424、或图6的重映射设备606)。作为另一解说性而非限定性示例,电子设备762和764中的一者或多者可以是远程单元(诸如移动电话)、手持式个人通信系统(PCS)单元、便携式数据单元(诸如个人数据助理)、启用全球定位系统(GPS)的设备、导航设备、位置固定的数据单元(诸如仪表读数装备)、或者存储或检索数据或计算机指令的任何其他设备、或其任何组合。尽管图7解说了根据本公开的教导的远程单元,但本公开并不限于这些所解说的单元。本公开的实施例可合适地用在包括具有存储器和片上电路系统的有源集成电路系统的任何设备中。
包括控制器(例如,对应于图1的存储器控制器118、图2的存储器控制器218、图3的存储器控制器318、图4的存储器控制器418、或图6的控制器602)、计数器(例如,对应于图1的计数器136、图2的计数器236、图3的计数器336、图4的计数器436、或图6的计数器604)、和/或重映射设备(例如,对应于图1的重映射设备124、图2的重映射设备224、图3的重映射设备324、图4的重映射设备424、或图6的重映射设备606)的设备可被制造、处理和被纳入电子设备中,如在解说性制造过程700中描述的。关于图1-6公开的各实施例的一个或多个方面可被包括在各个处理阶段,诸如被包括在库文件712、GDSII文件726、以及GERBER文件752内,以及被存储在研究计算机706的存储器710、设计计算机714的存储器718、计算机746的存储器750、在各个阶段(诸如在板组装过程754)使用的一个或多个其他计算机或处理器(未示出)的存储器处,并且还被纳入到一个或多个其他物理实施例中,诸如掩模732、管芯736、封装740、PCA 758、其他产品(诸如原型电路或设备(未示出))中、或者其任何组合。尽管参照图1-6描绘了各种代表性阶段,但在其他实施例中,可使用较少阶段或者可包括附加阶段。类似地,图7的过程700可由单个实体或由执行制造过程700的各个阶段的一个或多个实体来执行。
结合所描述的实施例,一种非瞬态计算机可读介质存储指令,该指令在由处理器执行时使处理器在计数器处存储指示在与第一地址相关联的数据中检测到比特差错的读操作的计数的值。该非瞬态计算机可读介质可进一步存储在被处理器执行时使处理器响应于第一值超过第一阈值而使用耦合至存储器阵列的控制器来将第一地址重映射到第二地址的指令。第一地址可对应于存储器阵列的第一单元。第二地址可对应于被包括在控制器内的存储器处的第二单元。重映射第一地址可包括响应于接收到对位于第一地址处的数据的读请求,将从第一单元读取的第一比特值替换成从第二单元读取的第二比特值以生成经修改数据。
非瞬态计算机可读介质可对应于图1的存储器设备102、图2的存储器设备202、图3的存储器设备302、图4的存储器设备402、和图6的存储器设备632。处理器可对应于图6的处理器612。控制器可对应于图1的存储器控制器118、图2的存储器控制器218、图3的存储器控制器318、图4的存储器控制器418、或图6的控制器602。计数器可对应于图1的计数器136、图2的计数器236、图3的计数器336、图4的计数器436、或图6的计数器604。存储器阵列可对应于图1的存储器阵列104、图2的存储器阵列204、图3的存储器阵列304、图4的存储器阵列404、或图6的存储器阵列608。
技术人员将进一步领会,结合本文所公开的实施例来描述的各种解说性逻辑框、配置、模块、电路、和算法步骤可实现为电子硬件、由处理器执行的计算机软件、或这两者的组合。各种解说性组件、框、配置、模块、电路、和步骤已经在上文以其功能性的形式作了一般化描述。此类功能性是被实现为硬件还是处理器可执行指令取决于具体应用和加诸于整体系统的设计约束。技术人员可针对每种特定应用以不同方式来实现所描述的功能性,但此类实现决策不应被解读为致使脱离本发明的范围。
结合本文所公开的实施例描述的方法或算法的各个步骤可直接用硬件、由处理器执行的软件模块或这两者的组合来实现。软件模块可驻留在存储器中,诸如随机存取存储器(RAM)、闪存、只读存储器(ROM)、可编程只读存储器(PROM)、可擦式可编程只读存储器(EPROM)、电可擦式可编程只读存储器(EEPROM)、寄存器、硬盘、可移动盘、压缩盘只读存储器(CD-ROM)。存储器可以是本领域已知的任何形式的非瞬态存储介质。示例性存储介质(例如,存储器)耦合到处理器以使得该处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在专用集成电路(ASIC)中。ASIC可驻留在计算设备或用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在计算设备或用户终端中。
提供前面对所公开的实施例的描述是为了使本领域技术人员皆能制作或使用所公开的实施例。对这些实施例的各种修改对于本领域技术人员而言将是显而易见的,并且本文中定义的原理可被应用于其他实施例而不会脱离本公开的范围。因此,本公开并非旨在被限定于本文中示出的实施例,而是应被授予与如由所附权利要求定义的原理和新颖性特征一致的最广的可能范围。
Claims (30)
1.一种方法,包括:
在计数器处存储指示在与第一地址相关联的数据中检测到比特差错的读操作的计数的第一值;以及
响应于所述第一值超过第一阈值,使用耦合至存储器阵列的控制器来将所述第一地址重映射到第二地址,其中所述第一地址对应于所述存储器阵列的第一元件,其中所述第二地址对应于被包括在所述控制器内的存储器处的第二元件,以及其中重映射所述第一地址包括响应于接收到对位于所述第一地址处的数据的第一读请求而将从所述第一元件读取的第一值替换成从所述第二元件读取的第二值以生成经修改数据。
2.如权利要求1所述的方法,其特征在于,存储所述第一值包括响应于检测到与读操作和所述第一地址相关的数据中的比特差错而递增所述第一值。
3.如权利要求1所述的方法,其特征在于,重映射所述第一地址进一步包括:在接收所述第一读请求之前,响应于在所述控制器处接收到来自外部存储器设备或来自纠错码(ECC)引擎的写指令中的第二比特值而在所述第二单元处写入所述第二比特值。
4.如权利要求1所述的方法,其特征在于,所述计数器指示对应于所述存储器阵列处所检测到的可纠正比特差错的读操作。
5.如权利要求4所述的方法,其特征在于,进一步包括:
在所述计数器处存储指示包括在与第三地址相关联的数据中检测到的不可纠正比特差错的读操作的计数的第二值;以及
响应于所述第二值超过第二阈值,使用所述控制器来将所述第三地址重映射到第四地址,其中所述第三地址对应于所述存储器阵列的第一单元块,其中所述第四地址对应于被包括在所述控制器内的所述存储器处的第二单元块,以及其中重映射所述第三地址包括响应于接收到对位于所述第三地址处的数据的第二读请求而将从所述第一单元块读取的第一多个比特值替换成从所述第二单元块读取的第二多个比特值。
6.如权利要求5所述的方法,其特征在于,所述第三地址匹配于所述第一地址。
7.如权利要求1所述的方法,其特征在于,第二计数器指示对应于所述存储器阵列处所检测到的不可纠正比特差错的读操作。
8.如权利要求7所述的方法,其特征在于,所述第一元件是所述存储器阵列的第一块,并且其中所述第二元件是所述控制器内的所述存储器处所包括的第二块。
9.如权利要求8所述的方法,其特征在于,进一步包括:响应于接收到所述第一读请求,将从所述第一块读取的第一多个比特值替换成从所述第二块读取的第二多个比特值。
10.如权利要求7所述的方法,其特征在于,所述第二计数器被包括在所述控制器内的第二存储器中。
11.如权利要求1所述的方法,其特征在于,所述第一地址包括存储器地址和偏移值。
12.如权利要求1所述的方法,其特征在于,所述第一地址对应于所述存储器阵列处的多个存储器单元。
13.如权利要求1所述的方法,其特征在于,所述存储器阵列包括内存纠错码(ECC)引擎。
14.如权利要求13所述的方法,其特征在于,进一步包括:在所述计数器处存储所述第一值之前,从所述存储器阵列接收指示在与所述第一地址相关联的数据中检测到比特差错的一个或多个ECC标志,其中所述第一值基于所述ECC标志。
15.如权利要求1所述的方法,其特征在于,所述控制器包括系统中纠错码(ECC)引擎。
16.如权利要求15所述的方法,其特征在于,进一步包括:响应于生成所述经修改数据,对所述经修改数据执行ECC操作。
17.如权利要求16所述的方法,其特征在于,执行所述ECC操作包括纠正所述经修改数据中的可纠正比特差错。
18.如权利要求1所述的方法,其特征在于,存储所述第一值和重映射所述第一地址是由集成到电子设备中的处理器发起的。
19.一种装置,包括:
控制器,其被配置成耦合至存储器阵列,所述控制器包括:
计数器,其被配置成存储指示在与第一地址相关联的数据中检测到比特差错的读操作的计数的值,其中所述第一地址对应于所述存储器阵列的第一元件;以及
重映射设备,其被配置成响应于所述计数器处的所述值超过第一阈值,将所述第一地址重映射到第二地址,其中所述第二地址对应于被包括在所述控制器内的存储器处的第二元件,以及其中响应于接收到对位于所述第一地址处的数据的读请求,所述重映射设备被配置成使得从所述第一元件读取的第一值被替换成从所述第二元件读取的第二值以生成经修改数据。
20.如权利要求19所述的装置,其特征在于,进一步包括:
合并器单元,其被配置成将来自所述存储器阵列的一位置的数据的第一部分与来自所述控制器内的所述存储器的对应位置的数据的第二部分合并;以及
拆分器单元,其被配置成向所述位置传送数据的第三部分和向所述对应位置传送数据的第四部分。
21.如权利要求19所述的装置,其特征在于,进一步包括复用器,其被配置成将所述第一比特值替换成所述第二比特值并被配置成将针对所述第一单元的写数据定向到所述第二单元。
22.如权利要求19所述的装置,其特征在于,所述存储器阵列包括动态随机存取存储器(DRAM)。
23.如权利要求19所述的装置,其特征在于,所述控制器内的所述存储器包括静态随机存取存储器(SRAM)。
24.如权利要求19所述的装置,其特征在于,所述装置被集成到至少一个管芯中。
25.如权利要求19所述的装置,其特征在于,进一步包括选自其中集成有所述控制器的以下各项的电子设备:移动电话、平板设备、计算机、通信设备、机顶盒、音乐播放器、视频播放器、娱乐单元、导航设备、个人数字助理(PDA)、以及位置固定的数据单元。
26.一种设备,包括:
控制装置,其被配置成耦合至存储器阵列,所述控制器装置包括:
用于存储指示在与第一地址相关联的数据中检测到比特差错的读操作的计数的值的装置,其中所述第一地址对应于所述存储器阵列的第一元件;以及
用于响应于所述用于存储的装置处的所述值超过阈值而将所述第一地址重映射到第二地址的装置,其中所述第二地址对应于所述控制装置内的用于存储数据的装置处所包括的第二元件,并且所述用于重映射的装置用于响应于接收到对位于所述第一地址处的数据的读请求而使得从所述第一元件读取的第一值被替换成从所述第二元件读取的第二值以生成经修改数据。
27.如权利要求26所述的装置,其特征在于,所述装置被集成到至少一个管芯中。
28.如权利要求26所述的装置,其特征在于,进一步包括选自其中集成有所述控制装置的以下各项的电子设备:移动电话、平板设备、计算机、通信设备、机顶盒、音乐播放器、视频播放器、娱乐单元、导航设备、个人数字助理(PDA)、以及位置固定的数据单元。
29.一种存储指令的非瞬态计算机可读介质,所述指令在由处理器执行时使所述处理器:
在计数器处存储指示在与第一地址相关联的数据中检测到比特差错的读操作的计数的值;以及
响应于所述第一值超过第一阈值,使用耦合至存储器阵列的控制器来将所述第一地址重映射到第二地址,其中所述第一地址对应于所述存储器阵列的第一元件,其中所述第二地址对应于所述控制器内的存储器处所包括的第二元件,以及其中重映射所述第一地址包括响应于接收到对位于所述第一地址处的数据的读请求,将从所述第一元件读取的第一值替换成从所述第二元件读取的第二值。
30.如权利要求29所述的非瞬态计算机可读介质,其特征在于,进一步包括选自其中集成有所述所述非瞬态计算机可读介质的以下各项的电子设备:移动电话、平板设备、计算机、通信设备、机顶盒、音乐播放器、视频播放器、娱乐单元、导航设备、个人数字助理(PDA)、以及位置固定的数据单元。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/146,628 US9378081B2 (en) | 2014-01-02 | 2014-01-02 | Bit remapping system |
US14/146,628 | 2014-01-02 | ||
PCT/US2014/069824 WO2015102842A1 (en) | 2014-01-02 | 2014-12-11 | Bit remapping system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105874434A true CN105874434A (zh) | 2016-08-17 |
Family
ID=52146776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480071907.5A Pending CN105874434A (zh) | 2014-01-02 | 2014-12-11 | 比特重映射系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9378081B2 (zh) |
EP (1) | EP3090343B1 (zh) |
JP (1) | JP2017502419A (zh) |
KR (1) | KR101673441B1 (zh) |
CN (1) | CN105874434A (zh) |
WO (1) | WO2015102842A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282239A (zh) * | 2021-05-21 | 2021-08-20 | 维沃移动通信有限公司 | 数据迁移方法、存储器及控制器 |
CN113448782A (zh) * | 2020-03-27 | 2021-09-28 | 长鑫存储技术有限公司 | 存储器的测试方法、存储介质和计算机设备 |
WO2022094776A1 (en) * | 2020-11-04 | 2022-05-12 | Alibaba Group Holding Limited | Error detection, prediction and handling techniques for system-in-package memory architectures |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150084244A (ko) * | 2014-01-13 | 2015-07-22 | 삼성전자주식회사 | 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법 |
US9411694B2 (en) * | 2014-02-12 | 2016-08-09 | Micron Technology, Inc. | Correcting recurring errors in memory |
US20150286529A1 (en) * | 2014-04-08 | 2015-10-08 | Micron Technology, Inc. | Memory device having controller with local memory |
US9928924B2 (en) * | 2015-12-15 | 2018-03-27 | Qualcomm Incorporated | Systems, methods, and computer programs for resolving dram defects |
DE102016115272A1 (de) | 2016-08-17 | 2018-02-22 | Infineon Technologies Ag | Speicher mit unterschiedlichen zuverlässigkeiten |
US10657014B2 (en) * | 2017-02-27 | 2020-05-19 | Everspin Technologies, Inc. | Methods for monitoring and managing memory devices |
US10606693B2 (en) | 2017-12-28 | 2020-03-31 | Micron Technology, Inc. | Memory controller implemented error correction code memory |
WO2021176244A1 (en) * | 2020-03-03 | 2021-09-10 | Micron Technology, Inc. | Counter-based sense amplifier method for memory cells |
EP3936996A4 (en) * | 2020-04-01 | 2022-07-06 | Changxin Memory Technologies, Inc. | READ-WRITE METHOD AND STORAGE DEVICE |
EP3985494B1 (en) | 2020-04-01 | 2024-01-17 | Changxin Memory Technologies, Inc. | Read-write method and memory device |
EP3964941B1 (en) | 2020-04-01 | 2024-02-28 | Changxin Memory Technologies, Inc. | Read-write method and memory device |
CN113495675B (zh) | 2020-04-01 | 2023-08-11 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
CN113495671B (zh) | 2020-04-01 | 2023-10-17 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
CN113495674B (zh) | 2020-04-01 | 2023-10-10 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
EP3964940A4 (en) | 2020-04-01 | 2022-08-17 | Changxin Memory Technologies, Inc. | READ/WRITE METHOD AND STORAGE DEVICE |
CN113495672B (zh) | 2020-04-01 | 2023-08-11 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60117353A (ja) * | 1983-11-30 | 1985-06-24 | Fujitsu Ltd | 記憶装置における交代メモリ制御方法 |
JPH03108044A (ja) * | 1989-09-21 | 1991-05-08 | Nec Corp | 記憶装置 |
US20080270826A1 (en) * | 2007-04-30 | 2008-10-30 | Mark Shaw | Redundant memory to mask dram failures |
CN101937374A (zh) * | 2009-06-30 | 2011-01-05 | 恒忆有限责任公司 | 存储存储器重映射信息的非易失性存储器 |
US20120324299A1 (en) * | 2009-07-29 | 2012-12-20 | Stec, Inc. | Flash storage wear leveling device and method |
JP2013118034A (ja) * | 2011-12-05 | 2013-06-13 | Renesas Electronics Corp | メモリコントローラ |
CN103377136A (zh) * | 2012-04-13 | 2013-10-30 | 株式会社日立制作所 | 存储器的管理方法、存储装置及搭载了该存储装置的计算机 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5912906A (en) | 1997-06-23 | 1999-06-15 | Sun Microsystems, Inc. | Method and apparatus for recovering from correctable ECC errors |
JP3565687B2 (ja) | 1997-08-06 | 2004-09-15 | 沖電気工業株式会社 | 半導体記憶装置およびその制御方法 |
US6279072B1 (en) | 1999-07-22 | 2001-08-21 | Micron Technology, Inc. | Reconfigurable memory with selectable error correction storage |
JP3975245B2 (ja) | 1999-12-16 | 2007-09-12 | 株式会社ルネサステクノロジ | 記録再生装置および半導体メモリ |
CA2447204C (en) | 2002-11-29 | 2010-03-23 | Memory Management Services Ltd. | Error correction scheme for memory |
WO2004074851A2 (en) | 2003-02-14 | 2004-09-02 | Logicvision Inc. | Memory repair analysis method and circuit |
US7096407B2 (en) | 2003-02-18 | 2006-08-22 | Hewlett-Packard Development Company, L.P. | Technique for implementing chipkill in a memory system |
US6868022B2 (en) | 2003-03-28 | 2005-03-15 | Matrix Semiconductor, Inc. | Redundant memory structure using bad bit pointers |
US20050120265A1 (en) * | 2003-12-02 | 2005-06-02 | Pline Steven L. | Data storage system with error correction code and replaceable defective memory |
US7849381B2 (en) | 2004-12-21 | 2010-12-07 | Sandisk Corporation | Method for copying data in reprogrammable non-volatile memory |
US7310278B2 (en) | 2006-05-04 | 2007-12-18 | International Business Machines Corporation | Method and apparatus for in-system redundant array repair on integrated circuits |
JP2008041123A (ja) | 2006-08-01 | 2008-02-21 | Toshiba Corp | 半導体記憶装置 |
US7949908B2 (en) | 2006-10-11 | 2011-05-24 | Marvell Israel (M.I.S.L) Ltd. | Memory repair system and method |
US7900120B2 (en) | 2006-10-18 | 2011-03-01 | Micron Technology, Inc. | Memory system and method using ECC with flag bit to identify modified data |
WO2008061558A1 (en) | 2006-11-21 | 2008-05-29 | Freescale Semiconductor, Inc. | Memory system with ecc-unit and further processing arrangement |
US7721140B2 (en) | 2007-01-02 | 2010-05-18 | International Business Machines Corporation | Systems and methods for improving serviceability of a memory system |
US7971124B2 (en) | 2007-06-01 | 2011-06-28 | International Business Machines Corporation | Apparatus and method for distinguishing single bit errors in memory modules |
KR20110050404A (ko) | 2008-05-16 | 2011-05-13 | 퓨전-아이오, 인크. | 결함 있는 데이터 저장소를 검출하고 교체하는 장치, 시스템 및 프로그램 제품 |
US7885128B2 (en) | 2008-10-21 | 2011-02-08 | Micron Technology, Inc. | Redundant memory array for replacing memory sections of main memory |
US8438453B2 (en) | 2009-05-06 | 2013-05-07 | Apple Inc. | Low latency read operation for managed non-volatile memory |
US20110041016A1 (en) | 2009-08-12 | 2011-02-17 | Taiwan Semiconductor Manufacturing Company, Ltd. | Memory errors and redundancy |
US8301980B2 (en) | 2009-09-28 | 2012-10-30 | Nvidia Corporation | Error detection and correction for external DRAM |
US8289790B2 (en) | 2010-05-13 | 2012-10-16 | Micron Technology, Inc. | Memory repair systems and methods for a memory having redundant memory |
US8347154B2 (en) | 2010-09-21 | 2013-01-01 | International Business Machines Corporation | Use of hashing function to distinguish random and repeat errors in a memory system |
US8418026B2 (en) | 2010-10-27 | 2013-04-09 | Sandisk Technologies Inc. | Hybrid error correction coding to address uncorrectable errors |
JP5647026B2 (ja) | 2011-02-02 | 2014-12-24 | ピーエスフォー ルクスコ エスエイアールエルPS4 Luxco S.a.r.l. | 半導体装置及びその製造方法 |
JP5490062B2 (ja) | 2011-07-19 | 2014-05-14 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US9063902B2 (en) | 2012-01-05 | 2015-06-23 | International Business Machines Corporation | Implementing enhanced hardware assisted DRAM repair using a data register for DRAM repair selectively provided in a DRAM module |
US8843806B2 (en) | 2012-01-19 | 2014-09-23 | International Business Machines Corporation | Dynamic graduated memory device protection in redundant array of independent memory (RAIM) systems |
US9406403B2 (en) * | 2013-06-25 | 2016-08-02 | Advanced Micro Devices, Inc. | Spare memory external to protected memory |
-
2014
- 2014-01-02 US US14/146,628 patent/US9378081B2/en active Active
- 2014-12-11 KR KR1020167020828A patent/KR101673441B1/ko active IP Right Grant
- 2014-12-11 WO PCT/US2014/069824 patent/WO2015102842A1/en active Application Filing
- 2014-12-11 CN CN201480071907.5A patent/CN105874434A/zh active Pending
- 2014-12-11 EP EP14819237.0A patent/EP3090343B1/en not_active Not-in-force
- 2014-12-11 JP JP2016543654A patent/JP2017502419A/ja active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60117353A (ja) * | 1983-11-30 | 1985-06-24 | Fujitsu Ltd | 記憶装置における交代メモリ制御方法 |
JPH03108044A (ja) * | 1989-09-21 | 1991-05-08 | Nec Corp | 記憶装置 |
US20080270826A1 (en) * | 2007-04-30 | 2008-10-30 | Mark Shaw | Redundant memory to mask dram failures |
CN101937374A (zh) * | 2009-06-30 | 2011-01-05 | 恒忆有限责任公司 | 存储存储器重映射信息的非易失性存储器 |
US20120324299A1 (en) * | 2009-07-29 | 2012-12-20 | Stec, Inc. | Flash storage wear leveling device and method |
JP2013118034A (ja) * | 2011-12-05 | 2013-06-13 | Renesas Electronics Corp | メモリコントローラ |
CN103377136A (zh) * | 2012-04-13 | 2013-10-30 | 株式会社日立制作所 | 存储器的管理方法、存储装置及搭载了该存储装置的计算机 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448782A (zh) * | 2020-03-27 | 2021-09-28 | 长鑫存储技术有限公司 | 存储器的测试方法、存储介质和计算机设备 |
CN113448782B (zh) * | 2020-03-27 | 2022-05-13 | 长鑫存储技术有限公司 | 存储器的测试方法、存储介质和计算机设备 |
WO2022094776A1 (en) * | 2020-11-04 | 2022-05-12 | Alibaba Group Holding Limited | Error detection, prediction and handling techniques for system-in-package memory architectures |
CN113282239A (zh) * | 2021-05-21 | 2021-08-20 | 维沃移动通信有限公司 | 数据迁移方法、存储器及控制器 |
Also Published As
Publication number | Publication date |
---|---|
US20150186198A1 (en) | 2015-07-02 |
JP2017502419A (ja) | 2017-01-19 |
EP3090343B1 (en) | 2017-10-25 |
WO2015102842A1 (en) | 2015-07-09 |
KR20160095193A (ko) | 2016-08-10 |
KR101673441B1 (ko) | 2016-11-07 |
EP3090343A1 (en) | 2016-11-09 |
US9378081B2 (en) | 2016-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105874434A (zh) | 比特重映射系统 | |
CN104956445B (zh) | 一次性可编程元件的检错和纠错 | |
CN105706170B (zh) | 易失性存储器将刷新请求信号发送到存储器控制器 | |
CN105579986B (zh) | 用于刷新存储器单元的方法和装置 | |
US9274715B2 (en) | Methods and apparatuses for in-system field repair and recovery from memory failures | |
CN105518788B (zh) | 用于提供参考单元的系统和方法 | |
CN105765538B (zh) | 位恢复系统 | |
CN102782766A (zh) | 用以选择参考单元的系统和方法 | |
CN104488030A (zh) | 分层存储器磁阻随机存取存储器(mram)架构 | |
EP3114689B1 (en) | Variable read delay system | |
CN106463165A (zh) | 双写字线sram单元 | |
CN105190757A (zh) | 用于动态地确定存储器设备的定时参数的系统和方法 | |
CN104285255A (zh) | 配置成在掉电事件期间保持在非编程状态的电路 | |
US20160063170A1 (en) | Memory redundancy reduction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160817 |