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

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

摘要

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

著录项

  • 公开/公告号CN105229746A

    专利类型发明专利

  • 公开/公告日2016-01-06

    原文格式PDF

  • 申请/专利权人 高通股份有限公司;

    申请/专利号CN201480029174.9

  • 申请日2014-05-06

  • 分类号G11C29/00;

  • 代理机构北京律盟知识产权代理有限责任公司;

  • 代理人宋献涛

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 13:33:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-02-06

    授权

    授权

  • 2016-02-03

    实质审查的生效 IPC(主分类):G11C29/00 申请日:20140506

    实质审查的生效

  • 2016-01-06

    公开

    公开

说明书

优先权主张

本申请案主张2013年5月8日申请且题为“用于在进行数据阵列存取之前将有缺 陷的数据项重导向到冗余数据项的方法及设备以及相关系统及方法(METHODSAND APPARATUSESFORREDIRECTINGDEFECTIVEDATAENTRIESTOREDUNDANT DATAENTRIESPRIORTODATAARRAYACCESSES,ANDRELATEDSYSTEMSAND METHODS)”的第61/820,945号美国临时专利申请案的优先权,所述申请案以其全文 引用的方式并入本文中。

本申请案也主张2013年9月4日申请且题为“在进行数据存取之前将数据从存储 器中的有缺陷的数据项重导向到冗余数据项以及相关系统及方法(REDIRECTINGDATA FROMADEFECTIVEDATAENTRYINMEMORYTOAREDUNDANTDATAENTRY PRIORTODATAACCESS,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可驻留在远程站中。在替代例中,处 理器与存储媒体可作为离散组件驻留在远程站、基站或服务器中。

还应注意,描述本文中的示范性实施例中的任一者中描述的操作步骤是为了提供实 例及论述。可以用除了所说明的序列以外的众多不同序列执行所描述的操作。另外,在 单个操作步骤中描述的操作实际上可以在数个不同步骤中执行。另外,可组合示范性实 施例中所论述的一或多个操作步骤。应理解,如所属领域的技术人员将容易显而易见, 流程图中所说明的操作步骤可以经受众多不同修改。所属领域的技术人员还将理解,可 使用多种不同技术及技艺中的任一者来表示信息及信号。举例来说,可通过电压、电流、 电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示可贯穿上述描述提及的数据、 指令、命令、信息、信号、位、符号及码片。

提供本发明的先前描述以使所属领域的技术人员能够制造或使用本发明。所属领域 的技术人员将容易显而易见对本发明的各种修改,且本文中界定的一般原理可应用于其 它变化而不脱离本发明的精神或范围。因此,本发明并不希望限于本文中所描述的实例 及设计,而应符合与本文中所揭示的原理及新颖特征相一致的最广范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号