CN105229746A - 在进行数据存取之前将数据从存储器中的有缺陷数据项重导向到冗余数据项,及相关系统及方法 - Google Patents

在进行数据存取之前将数据从存储器中的有缺陷数据项重导向到冗余数据项,及相关系统及方法 Download PDF

Info

Publication number
CN105229746A
CN105229746A CN201480029174.9A CN201480029174A CN105229746A CN 105229746 A CN105229746 A CN 105229746A CN 201480029174 A CN201480029174 A CN 201480029174A CN 105229746 A CN105229746 A CN 105229746A
Authority
CN
China
Prior art keywords
data
items addresses
defective
data items
data item
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.)
Granted
Application number
CN201480029174.9A
Other languages
English (en)
Other versions
CN105229746B (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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN105229746A publication Critical patent/CN105229746A/zh
Application granted granted Critical
Publication of CN105229746B publication Critical patent/CN105229746B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/84Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability
    • G11C29/848Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability by adjacent switching
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/785Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

所揭示实施例包含在进行数据存取之前将数据从存储器中的有缺陷的数据项重导向到冗余数据项。本发明也揭示相关系统及方法。所述存储器经配置以接收存储器存取请求。所述所接收存储器存取请求包括数据项地址。所述存储器在第一数据存取路径中使用所述数据项地址来存取存储在所述存储器中的数据阵列中的数据。以下情形为有可能的:所述存储器中的行或列由于制造工艺而可能为有缺陷的。在所述数据阵列中的所述数据项地址处的行或列为有缺陷的情况下,数据项重导向电路在进行数据存取之前将所述存储器存取请求重导向到所述数据阵列中的冗余行或列。

Description

在进行数据存取之前将数据从存储器中的有缺陷数据项重导向到冗余数据项,及相关系统及方法
优先权主张
本申请案主张2013年5月8日申请且题为“用于在进行数据阵列存取之前将有缺陷的数据项重导向到冗余数据项的方法及设备以及相关系统及方法(METHODSANDAPPARATUSESFORREDIRECTINGDEFECTIVEDATAENTRIESTOREDUNDANTDATAENTRIESPRIORTODATAARRAYACCESSES,ANDRELATEDSYSTEMSANDMETHODS)”的第61/820,945号美国临时专利申请案的优先权,所述申请案以其全文引用的方式并入本文中。
本申请案也主张2013年9月4日申请且题为“在进行数据存取之前将数据从存储器中的有缺陷的数据项重导向到冗余数据项以及相关系统及方法(REDIRECTINGDATAFROMADEFECTIVEDATAENTRYINMEMORYTOAREDUNDANTDATAENTRYPRIORTODATAACCESS,ANDRELATEDSYSTEMSANDMETHODS)”的第14/017,760号美国专利申请案的优先权,所述申请案以其全文引用的方式并入本文中。
技术领域
本发明的技术一般来说涉及计算机存储器,且更确切地说,涉及存取计算机存储器中的数据。
背景技术
存储器单元是计算机数据存储装置的基本构建块,也被称为“存储器”。计算机系统可从存储器读取数据或将数据写入到存储器。作为实例,存储器可用以提供中央处理单元(CPU)系统中的高速缓冲存储器。高速缓冲存储器可由标签阵列及数据阵列组成。标签阵列执行保留存储在充当高速缓冲存储器的更高性能数据阵列中的存储器地址的索引的功能。数据阵列含有通过标签阵列中的存储器地址的索引提及的数据值。标签阵列接收指示CPU需要存取哪个存储器地址以用于进行读取或写入操作的存储器地址。如果所接收存储器地址匹配标签阵列中的标签项,那么发生高速缓存命中,这意味着对应于存储器地址的数据存在于数据阵列中。如果所接收存储器地址并不匹配标签阵列中的标签项,那么发生高速缓存未命中。在此情况下,必须从较高层级高速缓冲存储器或主存储器中检索数据。
高速缓冲存储器中的数据阵列可由静态随机存取存储器(SRAM)位单元组成以提供SRAM数据阵列。SRAM数据阵列是按SRAM位单元的行及列来组织,单个数据项或位可存储在SRAM位单元中。对含有多个SRAM位单元的行的存取是通过用于进行读取及写入操作的对应字线来控制。字线通过选择用于进行读取或写入操作的SRAM位单元的所希望的行来控制对用于进行读取及写入操作两者的SRAM位单元的存取。为了从SRAM位单元中读取数据,确证字线选择SRAM位单元的所希望的行。对于读取操作,将从所选择SRAM位单元中读取的数据放置在一组对应位线上。对于写入操作,将写入到SRAM位单元的数据放置在用于SRAM位单元的所述组对应位线上。
随着半导体封装的大小减小,可能希望按半导体裸片中的较小几何结构提供包含高速缓冲存储器的存储器。然而,按较小几何结构提供存储器可减少半导体制造产量。按较小几何结构提供存储器还可增加存在于存储器中的有缺陷的行或列的数目。就这一点来说,存储器的数据阵列中的一些行及/或列可用作待用于代替有缺陷的行或列的冗余行或列。在存储器的数据阵列内实施行或列冗余的方法可包含利用静态多路复用器系统。静态多路复用器系统利用用于数据阵列中的每一行或列的多路复用器来基于指示有缺陷的行及/或列的静态索引绕过数据阵列中的有缺陷的行或列。对于高性能或高数据容量存储器,可将数据阵列划分成较小数据子阵列,也被称为“子阵列”。存储器中的每一子阵列可具有专用外围电路,例如行解码器、写入驱动器、读出放大器及控制/定时电路系统。
然而,对于利用子阵列的数据阵列中的行或列冗余,静态多路复用器可能不会有效率地操作。静态多路复用器可能不会有效率地操作,这是因为每一子阵列将具有单独的专用行索引解码、导线布线、读出放大器及控制/定时电路系统。因此,在此存储器冗余配置的情况下,以下情形可能为更实际的或合乎需要的:具有在每一子阵列内设计或配置的冗余行或列。配置存储器的每一子阵列内的冗余行或列需要在每一子阵列内制造用于额外冗余行或列的增加的区域以便提供冗余行或列。
发明内容
所揭示实施例包含在进行数据存取之前将数据从存储器中的有缺陷的数据项重导向到冗余数据项。也揭示相关系统及方法。作为非限制性实例,本文所揭示的实施例可用于包含静态随机存取存储器(SRAM)数据阵列的高速缓冲存储器中。存储器经配置以接收存储器存取请求。所接收存储器存取请求包括数据项地址。存储器在第一数据存取路径中使用数据项地址来存取存储在存储器中的数据阵列中的数据。以下情形为有可能的:存储器中的行或列由于制造工艺而可能为有缺陷的。在数据阵列中的数据项地址处的行或列为有缺陷的情况下,数据项重导向电路将存储器存取请求重导向到数据阵列中的冗余行或列。
在本文所揭示的实施例中,对数据阵列的存储器存取的时延并未由于数据项重导向而增加。在本文所论述的实施例中,为了避免或减少数据项重导向电路的时延对存储器存取添加时延,并未将数据项重导向电路提供于存储器的第一数据存取路径中。数据项重导向电路提供于存储器中的第二数据存取路径中在第一数据存取路径外部。数据项重导向电路在第二数据存取路径中接收用于存储器存取请求的相同的数据项地址。如果数据项地址指向数据阵列中的有缺陷的行或列,那么数据项重导向电路将数据项地址重导向到数据阵列中的冗余行或列。通过将数据项重导向电路提供于第二数据存取路径中在第一数据存取路径外部,数据项重导向电路可确定所请求的数据项地址是否为有缺陷的,且在进行数据项地址处的数据阵列中的数据项存取之前将存储器存取请求重导向到数据阵列中的冗余行或列。另外,为了避免数据项重导向电路的时延对存储器存取添加时延,含有数据项重导向电路的第二数据存取路径的时延小于第一数据存取路径的时延。因此,存储器存取时延将为第一数据存取路径的时延。
就这一点来说,在一个实施例中,提供存储器。存储器包括提供于第一数据存取路径中的存储器存取逻辑电路。存储器存取逻辑电路经配置以在第一数据存取路径中接收存储器存取请求的数据项地址的至少一部分作为用于定址数据阵列中的数据项的输入。存储器存取逻辑电路经进一步配置以在第一数据存取路径中产生包括数据项地址索引的索引作为输出,以对数据阵列编索引以存取数据阵列中对应于数据项地址的至少一部分的数据项。
存储器进一步包括数据项重导向电路。数据项重导向电路包括提供于与第一数据存取路径分离的第二数据存取路径中的有缺陷的数据项比较器电路。有缺陷的数据项比较器电路经配置以在对数据阵列中的数据项编索引之前,在比较器第二输入处接收至少一个有缺陷的数据项地址作为来自有缺陷的数据项索引寄存器的表示数据阵列中的所述至少一个有缺陷的数据项地址的输入。有缺陷的数据项比较器电路经进一步配置以比较数据项地址的至少一部分与所接收至少一个有缺陷的数据项地址。有缺陷的数据项比较器电路经进一步配置以在第二数据存取路径中产生包括重导向数据项地址索引的重导向索引作为输出。如果数据项地址的所接收的至少一部分匹配所接收的至少一个有缺陷的数据项地址,那么有缺陷的数据项比较器电路产生到数据阵列中的冗余数据项的重导向索引。数据项重导向电路进一步包括数据项地址索引选择器,其经配置以在数据项地址的所接收的至少一部分确实匹配所接收的至少一个有缺陷的数据项地址的情况下,选择重导向索引来对数据阵列编索引。数据项地址的所接收的至少一部分与所接收的至少一个有缺陷的数据项地址的比较是在按数据项地址的至少一部分对数据阵列中的数据项编索引之前在第二数据存取路径中执行。以此方式,使得不必作为存储器存取请求数据路径的部分(所述情形将增加存储器存取时延)而执行有缺陷的数据项确定。有缺陷的数据项确定可在第二数据存取路径中在进行对数据阵列的存取之前执行,以便不会增加存储器存取的时延。
在另一实施例中,提供一种存储器。存储器包括提供于第一数据存取路径装置中的存储器存取逻辑电路。存储器存取逻辑电路装置经配置以在第一数据存取路径装置中接收存储器存取请求装置的数据项地址装置的至少一部分作为用于定址数据阵列装置中的数据项装置的输入。存储器存取逻辑电路装置经进一步配置以在第一数据存取路径装置中产生包括数据项地址索引装置的索引装置作为输出,以对数据阵列装置编索引以存取数据阵列装置中对应于数据项地址装置的至少一部分的数据项装置。
存储器进一步包括数据项重导向电路装置。数据项重导向电路装置包括提供于与第一数据存取路径装置分离的第二数据存取路径装置中的有缺陷的数据项比较器电路装置。有缺陷的数据项比较器电路装置经配置以在对数据阵列装置中的数据项装置编索引之前,在比较器第二输入装置处接收至少一个有缺陷的数据项地址装置作为来自有缺陷的数据项索引寄存器装置的表示数据阵列装置中的所述至少一个有缺陷的数据项地址装置的输入。有缺陷的数据项比较器电路装置经进一步配置以比较数据项地址装置的至少一部分与所接收的至少一个有缺陷的数据项地址装置。有缺陷的数据项比较器电路装置经进一步配置以在数据项地址装置的所接收的至少一部分匹配所接收的至少一个有缺陷的数据项地址装置的情况下,在第二数据存取路径装置中产生到数据阵列装置中的冗余数据项装置的包括重导向数据项地址索引装置的重导向索引装置作为输出。数据项重导向电路装置进一步包括数据项地址索引选择器装置,其经配置以在数据项地址装置的所接收的至少一部分确实匹配至少一个所接收的有缺陷的数据项地址装置的情况下,选择重导向索引装置来对数据阵列装置编索引。
在另一实施例中,提供一种将有缺陷的数据项重导向到数据阵列中的冗余数据项的方法。所述方法包括在第一数据存取路径及第二数据存取路径中接收存储器存取请求的数据项地址的至少一部分以用于对数据阵列中的数据项编索引。所述方法进一步包括在第一数据存取路径中按表示数据项地址的至少一部分的数据项索引对数据阵列中的数据项编索引。所述方法进一步包括在按数据项地址的至少一部分对数据项编索引之前,在第二数据存取路径中在有缺陷的数据项地址比较器电路中比较数据项地址的至少一部分与表示数据阵列中的有缺陷的数据项的有缺陷的数据项地址。所述方法进一步包括在比较在数据项地址的至少一部分与有缺陷的数据项地址之间产生匹配的情况下,按作为数据项索引的重导向索引对数据阵列中的数据项编索引。所述方法进一步包括在比较在数据项地址的至少一部分与有缺陷的数据项地址之间产生匹配的情况下,按作为数据项索引的重导向索引存取数据阵列中的数据项。
附图说明
图1为包含数据项重导向电路的示范性存储器的示意图,所述数据项重导向电路用于在用于存储器存取请求的数据地址处的数据项为有缺陷的情况下,在进行数据阵列中的数据项存取之前,选择存储器的数据阵列中的冗余数据项;
图2为说明示范性过程的流程图,所述示范性过程用于基于用于存储器存取请求的数据地址处的数据项是否为有缺陷的,在进行数据阵列中的数据项存取之前,针对存储器存取请求选择图1的存储器的数据阵列中的数据项或冗余数据项;
图3为作为高速缓冲存储器提供的另一示范性存储器的示意图,所述示范性存储器包括标签阵列及数据阵列,且进一步包括数据项重导向电路,所述数据项重导向电路用于在用于存储器存取请求的数据地址处的数据项为有缺陷的情况下,在进行数据阵列中的数据项存取之前,针对存储器存取请求选择高速缓冲存储器的数据阵列中的冗余数据项;
图4为说明多个示范性时序窗口的示意图,其说明按管线式方式处理以用于进行以下操作的多个存储器存取请求:在用于存储器存取请求的数据地址处的数据项为有缺陷的情况下,在进行数据阵列中的数据项存取之前,针对存储器存取请求选择图3的高速缓冲存储器的数据阵列中的冗余数据项;及
图5为包含包括数据项重导向电路的存储器的示范性的基于处理器的系统的框图,所述数据项重导向电路用于在用于存储器存取请求的数据地址处的数据项为有缺陷的情况下,在进行数据阵列中的数据项存取之前,针对存储器存取请求选择存储器的数据阵列中的冗余数据项,包含(但不限于)图1及图3中的存储器。
具体实施方式
现参看各图式图,描述本发明的若干示范性实施例。词语“示例性”在本文中用以意味着“充当实例、例子或说明”。本文中描述为“示范性”的任何实施例未必应被解释为比其它实施例优选或有利。
所揭示实施例包含在进行数据存取之前将数据从存储器中的有缺陷的数据项重导向到冗余数据项。也揭示相关系统及方法。作为非限制性实例,本文所揭示的实施例可用于包含静态随机存取存储器(SRAM)数据阵列的高速缓冲存储器中。存储器经配置以接收存储器存取请求。所接收存储器存取请求包括数据项地址。存储器在第一数据存取路径中使用数据项地址来存取存储在存储器中的数据阵列中的数据。以下情形为有可能的:存储器中的行或列由于制造工艺而可能为有缺陷的。在数据阵列中的数据项地址处的行或列为有缺陷的情况下,数据项重导向电路将存储器存取请求重导向到数据阵列中的冗余行或列。
在本文所揭示的实施例中,对数据阵列的存储器存取的时延并未由于数据项重导向而增加。在本文所论述的实施例中,为了避免或减少数据项重导向电路的时延对存储器存取添加时延,并未将数据项重导向电路提供于存储器的第一数据存取路径中。数据项重导向电路提供于存储器中的第二数据存取路径中在第一数据存取路径外部。数据项重导向电路在第二数据存取路径中接收用于存储器存取请求的相同的数据项地址。如果数据项地址指向数据阵列中的有缺陷的行或列,那么数据项重导向电路将数据项地址重导向到数据阵列中的冗余行或列。通过将数据项重导向电路提供于第二数据存取路径中在第一数据存取路径外部,数据项重导向电路可确定所请求的数据项地址是否为有缺陷的,且在进行数据项地址处的数据阵列中的数据项存取之前将存储器存取请求重导向到数据阵列中的冗余行或列。另外,为了避免数据项重导向电路的时延对存储器存取添加时延,含有数据项重导向电路的第二数据存取路径的时延小于第一数据存取路径的时延。因此,存储器存取时延将为第一数据存取路径的时延。
就这一点来说,图1说明示范性存储器10的示意图。作为非限制性实例,图1中的存储器10可提供于高速缓冲存储器中。存储器10经配置以接收存储器存取请求12。所接收存储器存取请求12包括数据项地址14。存储器10使用数据项地址14来存取存储在数据阵列17中的数据项16。在此实例中,数据阵列17为SRAM数据阵列18。数据项16可由一或多个位单元组成及/或由数据项行16R或数据项列16C组成,如图1中所说明。数据项地址14可包括SRAM数据阵列18中的位置中的完整存储器地址或仅包括足以存取SRAM数据阵列18中所希望的数据项行16R或数据项列16C的存储器地址的一部分。存储器10经配置以通过第一数据存取路径20存取数据项地址14处的数据项16。在图1中将第一数据存取路径20说明为从SRAM输入22延伸到SRAM数据阵列18的数据路径。第一数据存取路径20说明用于存储器存取请求的存取路径,其并不涉及定址SRAM数据阵列18中的有缺陷的数据项,下文将更详细地加以论述。
继续参看图1,存储器存取请求12是沿着第一数据存取路径20提供,存储器存取请求12在所述第一数据存取路径中遇到处理组件。在此示范性实施例中,第一数据存取路径20中的处理组件包括存储器存取逻辑电路24。存储器存取逻辑电路24处理存储器存取请求12以便存取SRAM数据阵列18中的适当地址处的数据项16。作为实例,存储器存取请求12的处理通过在存储器存取逻辑电路输入26处接收包括数据项地址14的存储器存取请求12开始。存储器存取逻辑电路24将所接收的存储器存取请求12中的数据项地址14转译成索引28。存储器存取逻辑电路24接着提供索引28作为存储器存取逻辑电路输出30上的输出。处理继续,在存储器存取逻辑电路输出30上输出的索引28由数据项地址索引选择器32接收。数据项地址索引选择器32将索引28提供到SRAM数据阵列18以用于存取数据项16。使用所接收的索引28,SRAM数据阵列18存取存储器存取请求12的地址处的SRAM数据阵列18中的数据项16。SRAM数据阵列18接着提供通过存储器存取请求12定址的数据项16作为SRAM数据阵列输出34上的输出。
以下情形为有可能的:存储器10中的数据项地址14处的数据项行16R或数据项列16C可为有缺陷的。举例来说,制造工艺可能在半导体裸片中产生缺陷。缺陷可起因于处理不稳定性、材料非均匀性等。因此,数据项行16R或数据项列16C可能由于制造工艺而为有缺陷的。有缺陷的数据项行16R或数据项列16C另外被称为有缺陷的数据项36。有缺陷的数据项36也可被称作有缺陷的数据项行36R或有缺陷的数据项列36C。在SRAM数据阵列18中的数据项地址14处的存储器10的数据项行16R或数据项列16C为有缺陷的情况下,图1中的数据项重导向电路38经配置以将存储器存取请求12重导向到SRAM数据阵列18中的冗余数据项40。数据项重导向电路38接收包括数据项地址14的存储器存取请求12。数据项重导向电路38确定数据项地址14是否为有缺陷的数据项36。如果确定数据项地址14指向的数据项16为SRAM数据阵列18中的有缺陷的数据项36,那么数据项重导向电路38可将数据项地址14重导向到SRAM数据阵列18中的冗余数据项40。以此方式,当使用第一数据存取路径20确定用于存取数据项16的索引28时,数据项重导向电路38经配置以在通过第一数据存取路径20对有缺陷的数据项36编索引的情况下,将编索引重导向。
继续参看图1,为了避免或减少数据项重导向电路38的时延,并未将数据项重导向电路38提供于存储器10的第一数据存取路径20中。实情为,将数据项重导向电路38提供于存储器10中的第二数据存取路径42中在第一数据存取路径20外部。通过将数据项重导向电路38提供于第二数据存取路径42中在第一数据存取路径20外部,数据项重导向电路38可在进行数据项地址14处的SRAM数据阵列18中的数据项16存取之前确定所接收的数据项地址14是否为有缺陷的。作为非限制性实例,当存储器存取逻辑电路24正处理所接收存储器存取请求12时,数据项重导向电路38可确定所接收数据项地址14是否为有缺陷的。因此,在此实例中,提供于第二数据存取路径42中的数据项重导向电路38的时延并不会添加到用于存储器存取请求12的第一数据存取路径20的时延中。现在将结合参看图2描述关于存储器存取请求12由图1中的存储器10接收且经处理以提供对存储在数据项地址14处的SRAM数据阵列18中的数据的存取的示范性过程的更多细节。
就这一点来说,图2为说明存储器存取请求12由图1的存储器10接收的示范性处理的流程图。参看图1及2,包括数据项地址14的存储器存取请求12是在第一数据存取路径20及第二数据存取路径42中接收。在第一数据存取路径20中,在存储器存取逻辑电路输入26处接收存储器存取请求12(图2中的框60)。存储器存取逻辑电路24处理所接收的存储器存取请求12且在存储器存取逻辑电路输出30处产生表示数据项地址14的索引28(图2中的框62)。存储器存取逻辑电路24可解码所接收的存储器存取请求12中的数据项地址14。数据项地址14的解码可将所接收的存储器存取请求12转译成用以对SRAM数据阵列18中对应于存储器存取请求12的数据项16编索引的索引28。信息的额外位可识别待于SRAM数据阵列18中存取的数据项行16R及/或列16C。将索引28提供到数据项地址索引选择器32。数据项地址索引选择器32接着基于所产生的索引对SRAM数据阵列18中的数据项16编索引。如下文将论述,如果产生重定向索引52,那么使用表示冗余数据项40的重定向索引52对SRAM数据阵列编索引(图2中的框64)。在一些实施例中,数据项16可为SRAM数据阵列18中的数据项行16R或数据项列16C。接着使用由数据项地址索引选择器32提供的索引28存取数据项16(框66)。
继续参看图1及2,现在将描述经由第二数据存取路径42存取SRAM数据阵列18的冗余数据项40。经由第二数据存取路径42存取冗余数据项40是与如上文所描述的经由第一数据存取路径20存取数据项16分离执行。第二数据存取路径42也接收存储器存取请求12(图2中的框68)。第二数据存取路径42由数据项重导向电路38组成。数据项重导向电路38在第二数据存取路径42中提供用于存储器存取请求12的处理组件。在此实例中,数据项重导向电路38由有缺陷的数据项比较器电路44及数据项地址索引选择器32组成。有缺陷的数据项比较器电路44经配置以在第一比较器输入46处接收数据项地址14作为用于在第二数据存取路径42中定址SRAM数据阵列18中的数据项16的输入。
继续参看图1及2,有缺陷的数据项比较器电路44经进一步配置以在第二比较器输入50处接收有缺陷的数据项地址48(图2中的框70)。有缺陷的数据项比较器电路44比较数据项地址14与有缺陷的数据项地址48。有缺陷的数据项比较器电路44确定数据项地址14与有缺陷的数据项地址48之间是否存在匹配。如果确定存在匹配,那么有缺陷的数据项比较器电路44经配置以在比较器输出54处产生重导向索引52(图2中的框72)。如果数据项地址索引选择器32确定产生重导向索引52且应使用重导向索引52,那么使用表示冗余数据项40的重导向索引52来对SRAM数据阵列18编索引以供存取(图2中的框64)。接下来,如果确定在第二数据存取路径42中产生指示欲提及有缺陷的数据项36的重导向索引52,那么存取SRAM数据阵列18是基于重导向索引52(图2中的框74)。然而,如上文所描述,如果确定数据项地址14与有缺陷的数据项地址48之间不存在匹配,那么通过数据项地址14提及的数据项16不被视为有缺陷的。在未确定对应于存储器存取请求12的数据项16为有缺陷的情况下,如果未将其它索引28提供到如下文所描述的数据项地址索引选择器32,那么数据项地址索引选择器32提供索引28以对SRAM数据阵列18中的数据项16编索引(图2中的框66)。
继续参看图1及2,由有缺陷的数据项比较器电路44接收的有缺陷的数据项地址48对应于先前在SRAM数据阵列18中识别的有缺陷的数据项36。有缺陷的数据项地址48为从有缺陷的数据项索引寄存器56输出的地址。有缺陷的数据项索引寄存器56包括确定在SRAM数据阵列18中的有缺陷的数据项地址48(如果存在的话)的列表。可在制造工艺期间确定对应于SRAM数据阵列18中的有缺陷的数据项36的有缺陷的数据项地址48的列表。如先前所论述,存储器10的制造工艺可能在SRAM数据阵列18中产生有缺陷的数据项行36R或列36C。可在制造工艺的各种测试阶段期间识别SRAM数据阵列18中的有缺陷的数据项行36R及有缺陷的数据项列36C。如果确定在这些各种测试阶段期间,存在任何有缺陷的数据项行36R或有缺陷的数据项列36C,那么将产生含有所识别的有缺陷的数据项地址48(如果存在的话)的列表的有缺陷的数据项索引寄存器56。有缺陷的数据项地址48将供有缺陷的数据项比较器电路44用以确定数据项地址14是否为有缺陷的数据项36。
应注意,有缺陷的数据项索引寄存器56可为可存储有缺陷的数据项地址48的任何类型的存储元件或装置。举例来说,作为非限制性实例,有缺陷的数据项索引寄存器56可包含用以指示有缺陷的数据项地址48的位值的一组可编程熔丝。有缺陷的数据项索引寄存器56还可由存储有缺陷的数据项地址48的基于电路的存储装置组成,包含但不限于CPU寄存器。
在本文所论述的实施例中,为了避免或减少数据项重导向电路38的时延对存储器存取请求12时延添加时延,并未将数据项重导向电路38提供于存储器10的第一数据存取路径20中。实情为,将数据项重导向电路38提供于存储器10中的第二数据存取路径42中在第一数据存取路径20外部。数据项重导向电路38在第二数据存取路径42中接收用于存储器存取请求12的相同的数据项地址14。如果数据项地址14指向SRAM数据阵列18中的有缺陷的数据项36,那么数据项重导向电路38将数据项地址14重导向到SRAM数据阵列18中的冗余数据项40。通过将数据项重导向电路38提供于第二数据存取路径42中在第一数据存取路径20外部,数据项重导向电路38可确定所请求的数据项地址14是否为有缺陷的,及在进行数据项地址14处的SRAM数据阵列18中的数据项16存取之前将存储器存取请求12重导向到SRAM数据阵列18中的冗余数据项40。以此方式,数据项重导向电路38的时延并未作为用于存储器存取请求12的第一数据存取路径20的部分而提供,其并不涉及到SRAM数据阵列18中的冗余数据项40的重导向。存储器10可提供用于不同存储器10应用中,例如SRAM高速缓冲存储器,其常常用于较高性能应用中。因此,避免或减少作为用于存储器存取请求12的第一数据存取路径20的部分的数据项重导向电路38的时延可为特别有利的。
在需要时,可提供包含数据项重导向电路的存储器以用于不同存储器应用。举例来说,图3说明包含类似于图1中的存储器10中的数据项重导向电路38的数据项重导向电路38'的高速缓冲存储器10'的示范性框图。高速缓冲存储器10'包含类似于图1的对应元件的存储器存取逻辑电路24'及数据阵列17。在此实例中,数据阵列17为SRAM数据阵列18。高速缓冲存储器10'为图1的存储器10的示意图的示范性实施例。图1中的存储器10与图3中的高速缓冲存储器10'之间的共同元件通过共同元件编号来提及,且将不再根据图3重新描述。存储器存取逻辑电路24'包括标签阵列逻辑电路74。标签阵列逻辑电路74由标签列76、有效列78、标签阵列逻辑80及解码器逻辑电路82组成。标签阵列逻辑电路74是作为芯片上存储器索引提供以用于执行针对SRAM数据阵列18中的数据项16的有效查找。标签阵列逻辑电路74确定数据项地址14与标签列76的有效内容之间是否存在匹配。
继续参看图3,当确定数据项地址14匹配标签列76的内容后,标签阵列逻辑80将确定所接收的数据项地址14是否为有效的。标签阵列逻辑80从标签列76接收参考标签地址84。标签阵列逻辑80接着确定所提及的标签地址84是否为有效的。如果所提及的标签地址84为有效的,那么产生“高速缓存命中”。然而,如果不存在所提及的标签地址84或如果确定所提及的标签地址84无效,那么产生“高速缓存未命中”。解码器逻辑电路82从标签阵列逻辑80接收有效标签地址86。在接收到有效标签地址86后,解码器逻辑电路82分辨SRAM数据阵列18中的数据项16的地址位置。标签阵列逻辑电路74提供索引28作为存储器存取逻辑电路24'的输出。类似于图1中的存储器10,图3的高速缓冲存储器10'中的存储器存取逻辑电路24'将索引28作为输出提供到数据项地址索引选择器32以用于选择在SRAM数据阵列18中存取的数据项16。然而,在此示范性实施例中,如果在标签阵列逻辑电路74中确定“高速缓存命中”,那么将提供索引28作为输出。应注意,标签阵列逻辑80将确定所接收的数据项16是否为有效的,从而产生“高速缓存命中”或“高速缓存未命中”,即使确定数据项16在第二数据存取路径42中为有缺陷的也如此。以此方式,如下文所描述,第二数据存取路径42中的处理将确定数据项16是否为有缺陷的,但并不替换确定数据项16是否为有效的功能,从而产生在第一数据存取路径20中执行的“高速缓存命中”或“高速缓存未命中”。
继续参看图3,类似于图1的数据项重导向电路38'提供于第二数据存取路径42中。数据项重导向电路38'提供比较数据项地址14与有缺陷的数据项地址48的类似功能。数据项重导向电路38'可由至少一个有缺陷的数据项地址比较器组成。在此非限制性实例中,提供第一有缺陷的数据项地址比较器88,且视情况,提供第二有缺陷的数据项地址比较器90。第一有缺陷的数据项地址比较器88经配置以比较数据项地址14的至少一部分与有缺陷的数据项地址48。可视情况提供第二有缺陷的数据项地址比较器90以减少第一有缺陷的数据项地址比较器88将需要与有缺陷的数据项地址48相比较的数据项地址14的位数。与仅提供单个比较器来比较数据项地址14中的所有位形成对比,通过减少此比较的每一阶段中的数据项地址14的位数,可增加第一有缺陷的数据项地址比较器88的性能。在替代实施例中,可使用使用多个有缺陷的数据项地址比较器进行的超过两个(2)比较阶段。作为非限制性实例,第一有缺陷的数据项地址比较器88可比较最高有效X位,且第二有缺陷的数据项地址比较器90可比较剩余的最低有效Y位。将分辨的冗余地址92的第一部分输出到有缺陷的逻辑电路94,所述有缺陷的逻辑电路组合视情况选用的多个有缺陷的数据项地址比较器的结果。有缺陷的逻辑电路94的输出为重导向索引52。将重导向索引52输出到数据项地址索引选择器32。
继续参看图3,有缺陷的逻辑电路94的输出为基于在数据项重导向电路38'中执行的比较而产生的重导向索引52。将重导向索引52输出到数据项地址索引选择器32。数据项地址索引选择器32使用重导向索引52,如果提供重导向索引的话,以按所接收的重导向索引52而不是如上文所描述的索引28对SRAM数据阵列18编索引。按重导向索引52进行的对SRAM数据阵列18的编索引允许存取冗余数据项40。当存取后,SRAM数据阵列18将致使在SRAM数据阵列输出34上从SRAM数据阵列18输出冗余数据项40处的值。通过输出SRAM数据阵列18中的冗余数据项40中的值进行的存取的完成经由第二数据存取路径42完成存取。
继续参看图3,对SRAM数据阵列18的存储器存取的时延并未由于数据项重导向电路38'而增加。为了避免或减少数据项重导向电路38'的时延对存储器存取添加时延,将数据项重导向电路38'提供于第二数据存取路径42中,而非提供于存储器10的第一数据存取路径20中。另外,为了避免数据项重导向电路38'的时延对存储器存取添加时延,含有数据项重导向电路38'的第二数据存取路径42的时延小于第一数据存取路径20的时延。因此,存储器存取时延将为第一数据存取路径20的时延。
继续参看图3,存储器存取请求12由用于定址数据项16的存储器存取请求(MAR)地址96组成。MAR地址96由数据项地址14组成。数据项地址14将由MAR地址96的最高有效位组成,其中数据项地址14可具有比MAR地址96少的位。为了完全分辨数据项16地址,需要MAR地址96的所有位。然而,在数据项地址14具有比MAR地址96少的位的情况下,将存在至少一个列选择位98及/或至少一个行选择位100,其将并不作为数据项地址14的部分而包含。如果数据项地址14由比MAR地址96少的位组成,那么数据项地址14可定址多个数据项行16R及/或多个数据项列16C。
继续参看图3,在此非限制性实例中,MAR地址96具有十七个(17)位。提供于MAR地址96中的十七个(17)位用以完全分辨存储器位置。提供于MAR地址96中的数据项地址14具有十四个(14)位。在此实例中,至少一个列选择位98由两个(2)位组成,这是因为其定址多个列102中的四个(4)中的一者(1)。另外,在此实例中,至少一个行选择位100由一个(1)位组成,这是因为其定址多个行104中的两个(2)行中的一者(1)。因此,MAR地址96具有总共十七个(17)位。MAR地址96中的十七个(17)位由以下各者组成:用于数据项地址14的十四个(14)位、两个(2)列选择位98,及一个(1)行选择位100。至少一个列选择位98中的位数及至少一个行选择位100中的位数是通过设计选项来确定。
继续参看图3,设计选项可包含SRAM数据阵列18的列mux电路方案及/或行替换配对。作为非限制性实例,高速缓冲存储器10'设计可包括4-1(四对一)列mux电路方案,其中多个列102中存在共享一组(1)专用外围电路(例如,列解码器、写入驱动器、读出放大器,及控制/定时电路系统等)的四个(4)列。4-1列mux电路方案中的有缺陷的数据项36需要重导向多个列102中的所有四个(4)列,这归因于共享的专用外围电路。在4-1列mux电路方案的此实例中,表示多个列102中的四个(4)列的MAR地址96中的两个(2)列选择位98并非所需的。在此实例中,两个(2)列选择位98并非所需的,这是因为多个列102中的四个(4)列经替换或经重导向以用于单个列重导向动作。如果需要重导向4-1列mux电路方案内的一列,那么将使用表示多个列102中的四个(4)的两个(2)列选择位98。
继续参看图3,作为额外非限制性实例,可在单个行重定向动作中替换多个行104中的两个(2)行。由于与上文所描述的在4-1列mux电路方案中在单个列重导向动作中替换四个(4)列98类似的原因,可替换多个行104中的两个(2)行。可在单个行重定向动作中替换多个行104中的两个(2)行,这是因为在此实例中,多个行104中的两个(2)行共享外围电路以用于控制对多个行104的存取。如果在单个行重定向动作中替换多个行104中的两个(2)行,那么行选择位100并非所需的。行选择位100并非所需的,这是因为不必要确定用冗余数据项40替换多个行104中的两个(2)行中的哪些者。
继续参看图3,如上文所描述,并不作为用于存储器存取请求12的第一数据存取路径20的部分而提供数据项重导向电路38'的任何时延。因此,并不归因于数据项重导向电路38'而增加高速缓冲存储器10'的总的存储器存取时延,同时提供SRAM数据阵列18中的数据项16的冗余行及/或列。
另外,图3中的高速缓冲存储器10'中的存储器存取请求12(0)到12(N)的处理也可为管线式的。如下文将关于图4更详细地论述,可在一系列不同处理阶段中提供高速缓冲存储器10'中的存储器存取请求12(0)到12(N)的处理。每一处理阶段可经配置以提供用于存储器存取请求12(0)到12(N)的特定指明的处理功能,而其它处理阶段处理其它存储器存取请求12(0)到12(N)。与在可处理接下来的存储器存取请求12(0)到12(N)之前具有等待完成其它处理阶段的闲置时间情形形成对比,以此方式,可更完全地利用高速缓冲存储器10'中的处理阶段。
就这一点来说,图4为说明在图3的高速缓冲存储器10'中按管线式方式处理的多个存储器存取请求12(0)到12(N)的示范性时序图106。按管线式方式处理多个存储器存取请求12(0)到12(N)允许重叠执行多个存储器存取请求12(0)到12(N)中的每一者。为了按管线式方式处理存储器存取请求12,将存储器存取请求12划分成多个存取阶段。
继续参看图4,在以下非限制性实例中说明用于多个管线式存储器存取请求12(0)到12(N)阶段的三个(3)存储器存取请求12阶段。第一存储器存取请求阶段108包括在第一数据存取路径20及第二数据存取路径42中接收数据项地址14。第二存储器存取请求阶段110由有缺陷的数据项比较器电路44组成,所述有缺陷的数据项比较器电路进一步在第二数据存取路径42中接收至少一个有缺陷的数据项地址48。第二存储器存取请求阶段110进一步由以下操作组成:比较数据项地址14与对应于SRAM数据阵列18中的有缺陷的数据项36的至少一个有缺陷的数据项地址48。在按数据项地址14对数据项16编索引之前,有缺陷的数据项比较器电路44在第二数据存取路径42中执行比较。另外,如果数据项地址14匹配至少一个有缺陷的数据项地址48,那么有缺陷的数据项比较器电路44产生重导向索引52。匹配指示数据项地址14产生有缺陷的数据项36。第三存储器存取请求阶段112由以下操作组成:如果产生重导向索引52,那么数据项地址索引选择器32选择重导向索引52。然而,如果并未产生重导向索引52,那么数据项地址索引选择器32使用表示数据项地址14的索引28对SRAM数据阵列18编索引。第三存储器存取请求阶段112进一步由以下操作组成:按通过重导向索引52表示的冗余数据项40或按通过索引28表示的数据项16存取SRAM数据阵列18。在替代实施例中,可在比三个(3)存取阶段更多或更少的阶段中处理存储器存取请求12。多个存储器存取请求12(0)到12(N)中的每一者是在至少一个时序窗口114(0)到114(M)内处理。另外,多个存储器存取请求12(0)到12(N)中的每一者可按管线式方式执行,其中多个存取阶段对应于在相同时序窗口114(0)到114(M)中执行单独存储器存取请求12(0)到12(N)。
继续参看图4,存储器存取请求12(0)在第一时序窗口114(0)中开始进行第一存储器存取请求阶段108的处理。第一存储器存取请求12(0)的处理接着在第二时序窗口114(1)中进行到第二存储器存取请求阶段110。在第二时序窗口114(1)期间,存储器存取请求12(1)还可开始在第一存储器存取请求阶段108中执行。应注意,在此实例中,存储器存取请求12(0)的第二存储器存取请求阶段110与存储器存取请求12(1)的第一存储器存取请求阶段108两者是在第二时序窗口114(1)中进行处理。存储器存取请求12(0)及存储器存取请求12(1)接着进行处理到第三时序窗口114(2)。在第三时序窗口114(2)中,存储器存取请求12(0)进行到处理的第三存储器存取请求阶段112,且存储器存取请求12(1)进行到处理的第二存储器存取请求阶段110。另外,存储器存取请求12(2)开始进行第一存储器存取请求阶段108中的处理。以类似于存储器存取请求12(0)、12(1)的方式处理存储器存取请求12(2)的处理。在时序窗口114(2)到114(M)中处理存储器存取请求12(2)且此处将不再重新描述。以此方式,可将存储器存取请求12(0)到12(N)以管线式方式进行到执行阶段中,从而允许同时执行用于存储器存取请求12(0)到12(N)中的每一者的多个存取阶段108、110、112。
可将以下各者提供于或集成到任何基于处理器的装置中:在进行数据存取之前将数据从存储器中的有缺陷的数据项重导向到冗余数据项,及根据本文所揭示的实施例的相关系统及方法。实例包含(但不限于)机顶盒、娱乐单元、导航装置、通信装置、固定位置数据单元、移动位置数据单元、移动电话、蜂窝式电话、计算机、便携式计算机、桌上型计算机、个人数字助理(PDA)、监视器、计算机监视器、电视机、调谐器、无线电、卫星无线电、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频光盘(DVD)播放器及便携式数字视频播放器。
就这一点来说,图5说明基于处理器的系统116的实例,所述基于处理器的系统可使用用于在进行数据存取之前将数据从有缺陷的数据项36重导向到冗余数据项40的系统及方法。在此实例中,基于处理器的系统116包含一或多个CPU118,每一CPU包含一或多个处理器120。CPU118可具有耦合到处理器120以用于快速存取临时存储的数据的高速缓冲存储器122。CPU118耦合到系统总线124且可将基于处理器的系统116中所包含的主装置与从装置互相耦合。众所周知,CPU118通过在系统总线124上交换地址、控制及数据信息而与这些其它装置通信。举例来说,CPU118可将总线事务请求传达到存储器控制器126(作为从装置的实例)。虽然图5中未说明,但是可提供多个系统总线124,其中每一系统总线124构成不同构造。
其它主装置及从装置可连接到系统总线124。如图5中所说明,作为实例,这些装置可包含存储器系统128、一或多个输入装置130、一或多个输出装置132、一或多个网络接口装置134及一或多个显示控制器136。输入装置130可包含任何类型的输入装置,包含但不限于输入按键、开关、语音处理器等。输出装置132可包含任何类型的输出装置,包含但不限于音频、视频、其它视觉指示符等。网络接口装置134可为经配置以允许将数据交换到网络138并从网络138交换数据的任何装置。网络138可以是任何类型的网络,包含(但不限于)有线或无线网络、私用或公共网络、局域网(LAN)、广域网(WLAN)及因特网。网络接口装置134可经配置以支持所希望的任何类型的通信协议。存储器系统128可包含一或多个存储器单元140(0到N)。
CPU118还可经配置以经由系统总线124存取显示控制器136以控制发送到一或多个显示器142的信息。显示控制器136经由一或多个视频处理器144将信息发送到显示器142以进行显示,所述一或多个视频处理器将待显示的信息处理成适合于显示器142的格式。显示器142可包含任何类型的显示器,包含但不限于阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器等。
所属领域的技术人员将进一步了解,结合本文所揭示的实施例描述的各种说明性逻辑块、模块、电路及算法可实施为电子硬件、存储在存储器或另一计算机可读媒体中且通过处理器或其它处理装置执行的指令,或两者的组合。作为实例,本文中所描述的主装置和从装置可用于任何电路、硬件组件、集成电路(IC)或IC芯片中。本文揭示的存储器可以是任何类型和大小的存储器,并且可经配置以存储所希望的任何类型的信息。为了清楚地说明此可互换性,上文已大体上关于其功能性而描述了各种说明性组件、块、模块、电路及步骤。如何实施此功能性取决于特定应用、设计选项及/或强加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用以不同方式实施所描述功能性,但此类实施决策不应被解释为会造成对本发明的范围的脱离。
结合本文所揭示的实施例描述的各种说明性逻辑块、模块及电路可用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或经设计以执行本文所描述的功能的其任何组合来实施或执行。处理器可以是微处理器,但在替代例中,处理器可以是任何常规处理器、控制器、微控制器或状态机。还可将处理器实施为计算装置的组合,例如DSP与微处理器的组合、多个微处理器的组合、一或多个微处理器与DSP核心的联合,或任何其它此类配置。
本文所揭示的实施例可体现在硬件及存储在硬件中的指令中,且可驻留在例如随机存取存储器(RAM)、快闪存储器、只读存储器(ROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、寄存器、硬盘、可装卸式磁盘、CD-ROM或所属领域中已知的任何其它形式的计算机可读媒体中。示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息并将信息写入到存储媒体。在替代例中,存储媒体可与处理器成一体式。处理器及存储媒体可驻留在ASIC中。ASIC可驻留在远程站中。在替代例中,处理器与存储媒体可作为离散组件驻留在远程站、基站或服务器中。
还应注意,描述本文中的示范性实施例中的任一者中描述的操作步骤是为了提供实例及论述。可以用除了所说明的序列以外的众多不同序列执行所描述的操作。另外,在单个操作步骤中描述的操作实际上可以在数个不同步骤中执行。另外,可组合示范性实施例中所论述的一或多个操作步骤。应理解,如所属领域的技术人员将容易显而易见,流程图中所说明的操作步骤可以经受众多不同修改。所属领域的技术人员还将理解,可使用多种不同技术及技艺中的任一者来表示信息及信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示可贯穿上述描述提及的数据、指令、命令、信息、信号、位、符号及码片。
提供本发明的先前描述以使所属领域的技术人员能够制造或使用本发明。所属领域的技术人员将容易显而易见对本发明的各种修改,且本文中界定的一般原理可应用于其它变化而不脱离本发明的精神或范围。因此,本发明并不希望限于本文中所描述的实例及设计,而应符合与本文中所揭示的原理及新颖特征相一致的最广范围。

Claims (24)

1.一种存储器,其包括:
存储器存取逻辑电路,其提供于第一数据存取路径中,所述存储器存取逻辑电路经配置以:
在所述第一数据存取路径中接收存储器存取请求的数据项地址的至少一部分作为用于定址数据阵列中的数据项的输入;及
在所述第一数据存取路径中产生包括数据项地址索引的索引作为输出,以对所述数据阵列编索引以存取所述数据阵列中对应于所述数据项地址的所述至少一部分的所述数据项;
数据项重导向电路,其包括:
有缺陷的数据项比较器电路,其提供于与所述第一数据存取路径分离的第二数据存取路径中,所述有缺陷的数据项比较器电路经配置以在对所述数据阵列中的所述数据项编索引之前:
在比较器第二输入处接收至少一个有缺陷的数据项地址作为来自有缺陷的数据项索引寄存器的表示所述数据阵列中的所述至少一个有缺陷的数据项地址的输入;
比较所述数据项地址的所述至少一部分与所述所接收的至少一个有缺陷的数据项地址;及
在所述数据项地址的所述所接收的至少一部分匹配所述所接收的至少一个有缺陷的数据项地址的情况下,在所述第二数据存取路径中产生到所述数据阵列中的冗余数据项的包括重导向数据项地址索引的重导向索引作为输出;及
数据项地址索引选择器,其经配置以在所述数据项地址的所述所接收的至少一部分确实匹配所述至少一个所接收的有缺陷的数据项地址的情况下,选择所述重导向索引来对所述数据阵列编索引。
2.根据权利要求1所述的存储器,其中所述数据项地址索引选择器经进一步配置以在所述数据项地址的所述所接收的至少一部分并不匹配所述至少一个所接收的有缺陷的数据项地址的情况下,选择所述索引来对所述数据阵列编索引。
3.根据权利要求1所述的存储器,其中所述有缺陷的数据项比较器电路包括用于比较所述数据项地址的所述所接收的至少一部分与所述所接收的至少一个有缺陷的数据项地址的多个比较阶段。
4.根据权利要求1所述的存储器,其中所述所接收的至少一个有缺陷的数据项地址可指示所述数据阵列中的至少一个有缺陷的行或至少一个有缺陷的列。
5.根据权利要求1所述的存储器,其中所述数据项地址的所述至少一部分表示所述数据阵列中的数据项的至少一行或数据项的至少一列。
6.根据权利要求1所述的存储器,其中所述数据项重导向电路经进一步配置以在所述第二数据存取路径中在比较器第一输入处接收所述数据项地址的所述至少一部分作为用于定址所述数据阵列中的所述数据项的输入。
7.根据权利要求6所述的存储器,其中所述数据项重导向电路经配置以在所述第一数据存取路径中接收用于第二存储器存取请求的数据项地址的至少一部分作为用于定址所述数据阵列中的第二数据项的第二输入,同时在用于第一存储器存取请求的所述数据项地址的所述所接收的至少一部分匹配所述所接收的至少一个有缺陷的数据项地址的情况下,在所述第二数据存取路径中产生到所述数据阵列中的所述冗余数据项的所述重导向索引作为所述输出。
8.根据权利要求7所述的存储器,其中所述数据项重导向电路经配置以在所述数据项地址的所述所接收的至少一部分确实匹配所述所接收的至少一个有缺陷的数据项地址的情况下,在所述第二数据存取路径中产生第二重导向索引作为所述输出,同时所述数据项地址索引选择器经配置以选择所述重导向索引来对所述数据阵列编索引。
9.根据权利要求1所述的存储器,其由高速缓冲存储器组成,其中所述数据阵列由SRAM数据阵列组成。
10.根据权利要求9所述的存储器,其中所述存储器存取逻辑电路由用于在进行所述数据阵列存取之前对所述数据阵列编索引的标签阵列组成。
11.根据权利要求10所述的存储器,其中所述标签阵列在所述第一数据存取路径中产生所述索引作为所述输出。
12.根据权利要求1所述的存储器,其中所述存储器存取逻辑电路及所述有缺陷的数据项比较器电路经配置以在第一时序窗口中接收所述数据项地址的所述至少一部分作为所述输入以用于对所述数据阵列中的所述数据项编索引。
13.根据权利要求12所述的存储器,其中所述有缺陷的数据项比较器电路经配置以,在所述存储器存取逻辑电路在第三时序窗口中在所述第一数据存取路径中按表示所述数据项地址的所述所接收的至少一部分的所述数据项地址的所述至少一部分对所述数据阵列中的所述数据项编索引作为所述输出之前,在第二时序窗口中比较所述数据项地址的所述所接收的至少一部分与所述所接收的至少一个有缺陷的数据项地址。
14.根据权利要求1所述的存储器,其集成到集成电路中。
15.根据权利要求1所述的存储器,其集成到选自由以下各者组成的群组的装置中:机顶盒、娱乐单元、导航装置、通信装置、固定位置数据单元、移动位置数据单元、移动电话、蜂窝式电话、计算机、便携式计算机、桌上型计算机、个人数字助理PDA、监视器、计算机监视器、电视机、调谐器、无线电、卫星无线电、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频光盘DVD播放器及便携式数字视频播放器。
16.一种存储器,其包括:
存储器存取逻辑电路装置,其提供于第一数据存取路径装置中,
所述存储器存取逻辑电路装置经配置以:
在所述第一数据存取路径装置中接收存储器存取请求装置的数据项地址装置的至少一部分作为用于定址数据阵列装置中的数据项装置的输入;及
在所述第一数据存取路径装置中产生包括数据项地址索引装置的索引装置作为输出,以对所述数据阵列装置编索引以存取所述数据阵列装置中对应于所述数据项地址装置的所述至少一部分的所述数据项装置;
数据项重导向电路装置,其包括:
有缺陷的数据项比较器电路装置,其提供于与所述第一数据存取路径装置分离的第二数据存取路径装置中,所述有缺陷的数据项比较器电路装置经配置以,在对所述数据阵列装置中的所述数据项装置编索引之前:
在比较器第二输入装置处接收至少一个有缺陷的数据项地址装置作为来自有缺陷的数据项索引寄存器装置的表示所述数据阵列装置中的所述有缺陷的数据项地址装置的输入装置;
比较所述数据项地址装置的所述至少一部分与所述所接收的至少一个有缺陷的数据项地址装置;及
在所述数据项地址装置的所述所接收的至少一部分匹配所述所接收的至少一个有缺陷的数据项地址装置的情况下,在所述第二数据存取路径装置中产生到所述数据阵列装置中的冗余数据项装置的包括重导向数据项地址索引装置的重导向索引装置作为输出;及
数据项地址索引选择器装置,其经配置以在所述数据项地址装置的所述所接收的至少一部分确实匹配所述至少一个所接收的有缺陷的数据项地址装置的情况下,选择所述重导向索引装置来对所述数据阵列装置编索引。
17.一种将有缺陷的数据项重导向到数据阵列中的冗余数据项的方法,其包括:
在第一数据存取路径及第二数据存取路径中接收存储器存取请求的数据项地址的至少一部分以用于对数据阵列中的数据项编索引;
在所述第一数据存取路径中按表示所述数据项地址的所述至少一部分的数据项索引对所述数据阵列中的所述数据项编索引;
在按所述数据项地址的所述至少一部分对所述数据项编索引之前,在所述第二数据存取路径中在有缺陷的数据项地址比较器电路中比较所述数据项地址的所述至少一部分与表示所述数据阵列中的有缺陷的数据项的有缺陷的数据项地址;
在所述比较在所述数据项地址的所述至少一部分与所述有缺陷的数据项地址之间产生匹配的情况下,按作为所述数据项索引的重导向索引对所述数据阵列中的所述数据项编索引;及
在所述比较在所述数据项地址的所述至少一部分与所述有缺陷的数据项地址之间产生所述匹配的情况下,按作为所述数据项索引的所述重导向索引存取所述数据阵列中的所述数据项。
18.根据权利要求17所述的方法,其进一步包括在所述数据项地址的所述至少一部分并不匹配所述有缺陷的数据项地址的情况下,按作为所述数据项索引的所述数据项索引存取所述数据阵列中的所述数据项。
19.根据权利要求17所述的方法,其进一步包括在所述第一数据存取路径及所述第二数据存取路径中接收所述数据项地址的所述至少一部分以用于对所述数据阵列中的所述数据项编索引,其中所述数据项地址的所述至少一部分表示所述数据阵列中的数据项的至少一行或数据项的至少一列。
20.根据权利要求18所述的方法,其进一步包括在所述有缺陷的数据项地址比较器电路中比较所述数据项地址的所述至少一部分与表示所述数据阵列中的所述有缺陷的数据项的所述有缺陷的数据项地址,其中所述有缺陷的数据项地址比较器电路经配置以在多个比较阶段中比较所述数据项地址的所述所接收的至少一部分与表示所述有缺陷的数据项的所述有缺陷的数据项。
21.根据权利要求17所述的方法,其进一步包括在所述第一数据存取路径及第二数据存取路径中接收用于第二存储器存取请求的数据项地址的至少一部分作为用于定址所述数据阵列中的第二数据项的第二输入以用于对所述数据阵列中的第二数据项编索引,同时在按所述数据项地址的所述至少一部分对所述数据项编索引之前,在所述第二数据存取路径中在所述有缺陷的数据项地址比较器电路中比较所述数据项地址的所述至少一部分与表示所述数据阵列中的所述有缺陷的数据项的所述有缺陷的数据项地址。
22.根据权利要求21所述的方法,其进一步包括在所述第二数据存取路径中在所述有缺陷的数据项地址比较器电路中比较用于所述第二存储器存取请求的所述数据项地址的所述至少一部分与表示所述数据阵列中的第二有缺陷的数据项的第二有缺陷的数据项地址,同时在所述比较在所述数据项地址的所述至少一部分与所述有缺陷的数据项地址之间产生所述匹配的情况下,按作为所述数据项索引的所述重导向索引存取所述数据阵列中的所述数据项。
23.根据权利要求17所述的方法,其进一步包括在所述第一数据存取路径中接收所述数据项地址的所述至少一部分以用于对所述数据阵列中的所述数据项编索引,其中所述数据阵列为高速缓冲存储器。
24.根据权利要求21所述的方法,其进一步包括在所述第一数据存取路径中接收所述数据项地址的所述至少一部分以用于对所述数据阵列中的所述数据项编索引,其中标签阵列接收所述数据项地址的所述至少一部分。
CN201480029174.9A 2013-05-08 2014-05-06 在进行数据存取之前将数据从存储器中的有缺陷数据项重导向到冗余数据项,及相关系统及方法 Expired - Fee Related CN105229746B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361820945P 2013-05-08 2013-05-08
US61/820,945 2013-05-08
US14/017,760 US9442675B2 (en) 2013-05-08 2013-09-04 Redirecting data from a defective data entry in memory to a redundant data entry prior to data access, and related systems and methods
US14/017,760 2013-09-04
PCT/US2014/036936 WO2014182678A1 (en) 2013-05-08 2014-05-06 Redirecting data from a defective data entry in memory to a redundant data entry prior to data access, and related systems and methods

Publications (2)

Publication Number Publication Date
CN105229746A true CN105229746A (zh) 2016-01-06
CN105229746B CN105229746B (zh) 2018-02-06

Family

ID=51865701

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480029174.9A Expired - Fee Related CN105229746B (zh) 2013-05-08 2014-05-06 在进行数据存取之前将数据从存储器中的有缺陷数据项重导向到冗余数据项,及相关系统及方法

Country Status (5)

Country Link
US (1) US9442675B2 (zh)
EP (1) EP2994914B1 (zh)
JP (1) JP6138352B2 (zh)
CN (1) CN105229746B (zh)
WO (1) WO2014182678A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112970008A (zh) * 2018-11-07 2021-06-15 美光科技公司 经由可变大小的数据存取减少高速缓存与存储器之间的数据业务

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10395748B2 (en) * 2016-06-15 2019-08-27 Micron Technology, Inc. Shared error detection and correction memory
KR102468864B1 (ko) * 2016-07-05 2022-11-18 에스케이하이닉스 주식회사 반도체 장치, 메모리 시스템 및 그 리페어 방법
US10713136B2 (en) 2017-09-22 2020-07-14 Qualcomm Incorporated Memory repair enablement
IT202000016441A1 (it) 2020-07-07 2022-01-07 Sk Hynix Inc Comparatore di risorse di ridondanza per una architettura di bus, architettura di bus per un dispositivo di memoria che implementa un metodo migliorato di confronto e corrispondente metodo di confronto

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2165378A (en) * 1984-09-26 1986-04-09 Hitachi Ltd A semiconductor storage device
US6192486B1 (en) * 1998-08-13 2001-02-20 International Business Machines Corporation Memory defect steering circuit
CN101939792A (zh) * 2007-12-17 2011-01-05 爱特梅尔卢梭公司 用于列缺陷译码的冗余位模式

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR880008330A (ko) 1986-12-30 1988-08-30 강진구 스테이틱 램의 프리차아지 시스템
JPH02244479A (ja) 1989-03-16 1990-09-28 Fujitsu Ltd 半導体メモリ装置
US5841712A (en) 1996-09-30 1998-11-24 Advanced Micro Devices, Inc. Dual comparator circuit and method for selecting between normal and redundant decode logic in a semiconductor memory device
US6223248B1 (en) * 1997-04-29 2001-04-24 Texas Instruments Incorporated Circuits systems and methods for re-mapping memory row redundancy during two cycle cache access
US6324103B2 (en) 1998-11-11 2001-11-27 Hitachi, Ltd. Semiconductor integrated circuit device, memory module, storage device and the method for repairing semiconductor integrated circuit device
JP2001076489A (ja) 1999-09-07 2001-03-23 Toshiba Microelectronics Corp メモリ回路
JP2001319479A (ja) 2000-05-12 2001-11-16 Nec Corp メモリ装置
EP1365419B1 (en) 2002-05-21 2008-12-31 STMicroelectronics S.r.l. Self-repair method for non volatile memory device with erasing/programming failure detection, and non volatile memory device therefor
EP1624463A1 (en) 2004-07-14 2006-02-08 STMicroelectronics S.r.l. A Programmable memory device with an improved redundancy structure
JP2007265589A (ja) 2006-03-30 2007-10-11 Fujitsu Ltd 不揮発性半導体メモリ
JP5101222B2 (ja) 2007-09-10 2012-12-19 ルネサスエレクトロニクス株式会社 半導体集積回路装置
US7995409B2 (en) 2007-10-16 2011-08-09 S. Aqua Semiconductor, Llc Memory with independent access and precharge
US8977820B2 (en) 2007-12-21 2015-03-10 Arm Limited Handling of hard errors in a cache of a data processing apparatus
JP2009163854A (ja) * 2007-12-28 2009-07-23 Elpida Memory Inc 半導体記憶装置
US7940599B2 (en) 2009-03-16 2011-05-10 Freescale Semiconductor, Inc. Dual port memory device
JP2011123970A (ja) 2009-12-14 2011-06-23 Renesas Electronics Corp 半導体記憶装置
US8279687B2 (en) 2010-05-13 2012-10-02 International Business Machines Corporation Single supply sub VDD bit-line precharge SRAM and method for level shifting
US8228749B2 (en) 2010-06-04 2012-07-24 Texas Instruments Incorporated Margin testing of static random access memory cells
US8351287B1 (en) 2010-12-22 2013-01-08 Lattice Semiconductor Corporation Bitline floating circuit for memory power reduction
US8472271B2 (en) 2011-02-18 2013-06-25 International Business Machines Corporation Systems and methods for memory device precharging
US9455021B2 (en) 2011-07-22 2016-09-27 Texas Instruments Incorporated Array power supply-based screening of static random access memory cells for bias temperature instability
US8824230B2 (en) 2011-09-30 2014-09-02 Qualcomm Incorporated Method and apparatus of reducing leakage power in multiple port SRAM memory cell

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2165378A (en) * 1984-09-26 1986-04-09 Hitachi Ltd A semiconductor storage device
US6192486B1 (en) * 1998-08-13 2001-02-20 International Business Machines Corporation Memory defect steering circuit
CN101939792A (zh) * 2007-12-17 2011-01-05 爱特梅尔卢梭公司 用于列缺陷译码的冗余位模式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112970008A (zh) * 2018-11-07 2021-06-15 美光科技公司 经由可变大小的数据存取减少高速缓存与存储器之间的数据业务

Also Published As

Publication number Publication date
US9442675B2 (en) 2016-09-13
EP2994914A1 (en) 2016-03-16
CN105229746B (zh) 2018-02-06
US20140337573A1 (en) 2014-11-13
EP2994914B1 (en) 2019-10-16
WO2014182678A1 (en) 2014-11-13
JP2016522936A (ja) 2016-08-04
JP6138352B2 (ja) 2017-05-31

Similar Documents

Publication Publication Date Title
US10503435B2 (en) Providing extended dynamic random access memory (DRAM) burst lengths in processor-based systems
TWI744289B (zh) 使用多個最後階層快取線提供記憶體帶寬壓縮之以一中央處理單元(cpu)為基礎之系統及方法
CN105229746A (zh) 在进行数据存取之前将数据从存储器中的有缺陷数据项重导向到冗余数据项,及相关系统及方法
US20180074893A1 (en) Providing memory bandwidth compression in chipkill-correct memory architectures
US10191682B2 (en) Providing efficient lossless compression for small data blocks in processor-based systems
US10115444B1 (en) Data bit inversion tracking in cache memory to reduce data bits written for write operations
KR20160113150A (ko) 포트-투-포트 루프백들을 이용한 동적 랜덤 액세스 메모리 (dram) 시스템들의 메모리 훈련의 제공, 및 관련 방법들, 시스템들, 및 장치들
JP2018503924A (ja) 中央処理ユニット(cpu)ベースのシステム内の圧縮メモリコントローラ(cmc)による連続読取り動作を使用するメモリ帯域幅圧縮の提供
US10541044B2 (en) Providing efficient handling of memory array failures in processor-based systems
WO2014182554A1 (en) Pre-charging bitlines in a static random access memory (sram) prior to data access for reducing leakage power, and related systems and methods
CN104285215A (zh) 用于跟踪指令高速缓冲存储器中的附加数据权限的方法和设备
US8976618B1 (en) Decoded 2N-bit bitcells in memory for storing decoded bits, and related systems and methods
WO2019045940A1 (en) INSERTING INSTRUCTION BLOCK HEADER DATA CACHING IN SYSTEMS BASED ON BLOCK ARCHITECTURE PROCESSOR
US10754795B2 (en) MMU assisted address sanitizer
US11194744B2 (en) In-line memory module (IMM) computing node with an embedded processor(s) to support local processing of memory-based operations for lower latency and reduced power consumption
US9852080B2 (en) Efficiently generating selection masks for row selections within indexed address spaces
JP5752331B2 (ja) 物理タグ付けされたデータキャッシュへのトラフィックをフィルタリングするための方法
US20240037037A1 (en) Software Assisted Hardware Offloading Cache Using FPGA
WO2024196846A1 (en) System memory address decoding for interleaving addresses across physical regions of a system-on-chip (soc) and across shared memory resources in a processor-based system

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180206

CF01 Termination of patent right due to non-payment of annual fee