一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于存储器装置中的改进的错误校正的错误高速缓存技术的制作方法

2022-02-24 20:32:22 来源:中国专利 TAG:

用于存储器装置中的改进的错误校正的错误高速缓存技术
1.交叉参考
2.本专利申请案要求埃勒(eilert)等人的2020年8月14日的名称为“用于存储器装置中改进的错误校正的错误高速缓存技术(error caching techniques for improved error correction in a memory device)”的美国专利申请案第16/993,956号的优先权,所述专利申请案转让给本受让人且明确地以全文引用的方式并入本文中。
技术领域
3.技术领域涉及用于存储器装置中的改进的错误校正的错误高速缓存技术。


背景技术:

4.存储器装置广泛用于将信息存储在例如计算机、无线通信装置、相机、数字显示器等的各种电子装置中。通过将存储器装置内的存储器单元编程到不同状态来存储信息。举例来说,二进制存储器单元可编程到两个支持状态中的一个,常常由逻辑1或逻辑0来标示。在一些实例中,单个存储器单元可支持多于两个状态,所述多于两个状态中的任一个可被存储。为了存取所存储信息,组件可读取或感测存储器装置中的至少一个所存储状态。为了存储信息,组件可在存储器装置中写入状态或对状态进行编程。
5.存在各种类型的存储器装置和存储器单元,包含磁性硬盘、随机存取存储器(ram)、只读存储器(rom)、动态ram(dram)、同步动态ram(sdram)、铁电ram(feram)、磁性ram(mram)、电阻式ram(rram)、快闪存储器、相变存储器(pcm)、自选存储器、硫族化物存储器技术等。存储器单元可为易失性或非易失性的。例如feram的非易失性存储器即使在不存在外部电源的情况下仍可维持其所存储逻辑状态达很长一段时间。例如dram的易失性存储器装置在与外部电源断开连接时可能会丢失其所存储状态。


技术实现要素:

6.描述了一种方法。在一些实例中,方法可包含:接收用以从存储器阵列读取数据的命令,所述命令指示与存储器阵列内的存储器单元集合相关联的地址;响应于命令而从存储器单元集合读取数据;至少部分地基于所指示地址而确定高速缓存是否包含存储器单元集合中的存储器单元有缺陷的指示;以及针对数据执行至少部分地基于高速缓存是否包含指示的用于错误校正的程序。
7.描述了一种方法。在一些实例中,方法可包含:接收用以从存储器阵列读取数据的命令,所述命令指示与存储器阵列内的存储器单元集合相关联的地址;响应于命令而从存储器单元集合读取数据;至少部分地基于从存储器单元集合读取数据而确定数据包含错误;在存储器单元集合当中识别与错误相关联的存储器单元;以及至少部分地基于确定数据包含错误而将存储器单元有缺陷的指示写入到高速缓存。
8.描述一种设备。在一些实例中,设备可包含:存储器阵列,高速缓存,其被配置成存储存储器阵列内的有缺陷存储器单元的指示,以及电路,其被配置成使得设备:接收用以从
存储器阵列读取数据的命令,所述命令指示与存储器阵列内的存储器单元集合相关联的地址;响应于命令而从存储器单元集合读取数据;至少部分地基于所指示地址而检查高速缓存以获得存储器单元集合中的存储器单元有缺陷的指示;以及针对数据执行至少部分地基于高速缓存是否包含指示的用于错误校正的程序。
附图说明
9.图1说明根据如本文中所公开的实例的支持用于存储器装置中的改进的错误校正的错误高速缓存技术的系统的实例。
10.图2说明根据如本文中所公开的实例的支持用于存储器装置中的改进的错误校正的错误高速缓存技术的存储器裸片的实例。
11.图3说明根据如本文中所公开的实例的支持用于存储器装置中的改进的错误校正的错误高速缓存技术的系统的实例。
12.图4说明根据如本文中所公开的实例的支持用于存储器装置中的改进的错误校正的错误高速缓存技术的过程流程的实例。
13.图5展示根据本公开的方面的支持用于存储器装置中的改进的错误校正的错误高速缓存技术的存储器装置的框图。
14.图6和7展示说明根据如本文中所公开的实例的支持用于存储器装置中的改进的错误校正的错误高速缓存技术的一或多种方法的流程图。
具体实施方式
15.一些存储器系统可利用错误检测或校正技术(其可通常被称作错误检查技术)来检测或校正从存储器阵列检索的数据中的错误。举例来说,错误检查技术可确定数据在存储于存储器阵列中时是否损坏,并且在一些情况下可试图校正检测到的错误。然而,错误检查技术可限于检测或校正至多某一数量的错误(例如,单个错误校正(sec)方案可能够检测和校正数据集合中的单个错误,sec双重错误检测(ded)方案可能够检测至多两个错误且校正数据集合中的一个错误,以及错误检查技术的其它实例)。在一些情况下,数据可包含超过错误检查方案的可校正或可检测错误的数量的错误(例如,secded方案可能不能够检测或校正数据集合中的三个错误,以及数量和方案的其它实例)。
16.本文中所描述的技术可利用用于错误校正的错误高速缓存,其可产生相对更稳固的错误检查技术,以及其它优点。错误高速缓存可包含指示存储器阵列中的一或多个有缺陷存储器单元的位置的条目,并且存储器装置可使用错误高速缓存来执行用于错误校正的一或多个程序。举例来说,在从存储器阵列读取数据后,存储器装置就可检测存储器装置不能够仅使用数据的奇偶校验信息来校正的数据中的一定数量的错误(例如,使用secded错误检查方案的存储器装置可检测数据中的两个错误,以及其它实例)。在此类实例中,存储器装置可确定错误高速缓存是否包含数据的地址的条目。如果错误高速缓存包含条目,则存储器装置可基于所述条目而选择待反转的数据的一或多个位。举例来说,存储器装置可基于与数据相关联的地址和错误高速缓存中的对应条目而识别数据的位与有缺陷存储器单元相关联。存储器装置可反转对应于有缺陷存储器单元的位以获得更改后的数据。在此类反转之后,存储器装置可接着将错误检查方案应用于更改后的数据,这可使得存储器装
置能够基于相关联奇偶校验信息而校正数据(例如,如果反转位校正两个检测到的错误中的一个,因此仅留下单个错误,则存储器装置可能够使用secded方案来校正剩余错误且输出经校正数据)。
17.与存储器阵列相关联的一些错误可为固定的(例如,归因于存储器单元是有缺陷的,例如被“阻塞于(stuck)”存储某一逻辑状态),而其它错误可为时变的(例如,归因于例如温度或电磁效应的瞬态条件,使得相关联存储器单元实际上可能不是有缺陷的)。高速缓存可被管理(例如,填充以及剔除或以其它方式维持其条目),以便包含与固定错误相关联的存储器单元的指示以及剔除或以其它方式不包含与时变错误相关联的存储器单元的指示。举例来说,错误高速缓存可包含地址的有缺陷存储器单元的指示,但存储器装置可确定从地址读取的一或多个数据集合中不存在错误。在一些此类实例中,存储器装置可从高速缓存去除指示,这可产生相对高效的高速缓存利用率以及剔除与时变错误相关联的条目,以及其它优点。
18.首先在如参考图1和2所描述的系统和裸片的上下文中描述本公开的特征。在如参考图3和4所描述的存储器系统和过程流程的上下文中描述本公开的特征。参考设备图和流程图进一步说明且描述本公开的这些和其它特征,所述设备图和流程图涉及如参考图5-7所描述的用于存储器装置中的改进的错误校正的错误高速缓存技术。
19.图1说明根据如本文中所公开的实例的支持用于存储器装置中的改进的错误校正的错误高速缓存技术的系统100的实例。系统100可包含主机装置105、存储器装置110和将主机装置105与存储器装置110耦合的多个信道115。系统100可包含一或多个存储器装置110,但一或多个存储器装置110的方面可在单个存储器装置(例如,存储器装置110)的上下文中进行描述。
20.系统100可包含电子装置的部分,例如计算装置、移动计算装置、无线装置、图形处理装置、车辆或其它系统。举例来说,系统100可说明计算机、膝上型计算机、平板计算机、智能电话、蜂窝电话、可穿戴装置、互联网连接装置、车辆控制器等的方面。存储器装置110可为可操作以存储用于系统100的一或多个其它组件的数据的系统的组件。
21.系统100的至少部分可为主机装置105的实例。主机装置105可为使用存储器执行过程的装置内(例如计算装置、移动计算装置、无线装置、图形处理装置、计算机、膝上型计算机、平板计算机、智能电话、蜂窝电话、可穿戴装置、互联网连接装置、车辆控制器、芯片上系统(soc)、图形处理单元(gpu)或某一其它固定或便携式电子装置内)的处理器或其它电路的实例,以及其它实例。在一些实例中,主机装置105可指实施外部存储器控制器120的功能的硬件、固件、软件或其组合。在一些实例中,外部存储器控制器120可被称作主机或主机装置105。
22.存储器装置110可为可操作以提供可供系统100使用或参考的物理存储器地址/空间的独立装置或组件。在一些实例中,存储器装置110可为可配置的以与一或多个不同类型的主机装置一起工作。主机装置105与存储器装置110之间的信令可为可操作的以支持以下中的一或多个:用以调制信号的调制方案、用于传达信号的各种引脚配置、用于主机装置105和存储器装置110的物理封装的各种形状因数、主机装置105与存储器装置110之间的时钟信令和同步、定时惯例,或其它因素。
23.存储器装置110可为可操作的以存储用于主机装置105的组件的数据。在一些实例
中,存储器装置110可充当主机装置105的从属型装置(例如,响应于且执行由主机装置105通过外部存储器控制器120提供的命令)。此类命令可包含用于写入操作的写入命令、用于读取操作的读取命令、用于刷新操作的刷新命令或其它命令中的一或多个。
24.主机装置105可包含外部存储器控制器120、处理器125、基本输入/输出系统(bios)组件130或者例如一或多个外围组件或一或多个输入/输出控制器的其它组件中的一或多个。主机装置的组件可使用总线135彼此耦合。
25.处理器125可为可操作的以针对系统100的至少部分或主机装置105的至少部分提供控制或其它功能性。处理器125可为通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件,或这些组件的组合。在此类实例中,处理器125可为中央处理单元(cpu)、图形处理单元(gpu)、通用gpu(gpgpu)或soc的实例,以及其它实例。在一些实例中,外部存储器控制器120可由处理器125实施或为所述处理器的部分。
26.bios组件130可为包含操作为固件的bios的软件组件,其可初始化且运行系统100或主机装置105的各种硬件组件。bios组件130还可管理处理器125与系统100或主机装置105的各种组件之间的数据流。bios组件130可包含存储在只读存储器(rom)、快闪存储器或其它非易失性存储器中的一或多个中的程序或软件。
27.存储器装置110可包含装置存储器控制器155和一或多个存储器裸片160(例如,存储器芯片)以支持用于数据存储的所要容量或指定容量。每一存储器裸片160可包含本地存储器控制器165(例如,本地存储器控制器165-a、本地存储器控制器165-b、本地存储器控制器165-n),和存储器阵列170(例如,存储器阵列170-a、存储器阵列170-b、存储器阵列170-n)。存储器阵列170可为存储器单元的集合(例如,一或多个网格、一或多个存储体、一或多个平铺块、一或多个区段),其中每一存储器单元可操作以存储至少一个位的数据。包含两个或更多个存储器裸片的存储器装置110可被称作多裸片存储器或多裸片封装,或多芯片存储器或多芯片封装。
28.装置存储器控制器155可包含可操作以控制存储器装置110的操作的电路、逻辑或组件。装置存储器控制器155可包含使存储器装置110能够执行各种操作且可为可操作的以接收、传输或执行与存储器装置110的组件相关的命令、数据或控制信息的硬件、固件或指令。装置存储器控制器155可为可操作的以与外部存储器控制器120、一或多个存储器裸片160或处理器125中的一或多个通信。在一些实例中,装置存储器控制器155可结合存储器裸片160的本地存储器控制器165控制本文中所描述的存储器装置110的操作。
29.在一些实例中,存储器装置110可从主机装置105接收数据或命令或两者。举例来说,存储器装置110可接收指示存储器装置110要存储用于主机装置105的数据的写入命令或指示存储器装置110要将存储于存储器裸片160中的数据提供到主机装置105的读取命令。
30.本地存储器控制器165(例如,对于存储器裸片160来说是本地的)可包含可操作以控制存储器裸片160的操作的电路、逻辑或组件。在一些实例中,本地存储器控制器165可为可操作的以与装置存储器控制器155通信(例如,接收或传输数据或命令或两者)。在一些实例中,存储器装置110可不包含装置存储器控制器155,并且本地存储器控制器165或外部存储器控制器120可执行本文中所描述的各种功能。因此,本地存储器控制器165可为可操作
的以与装置存储器控制器155、与其它本地存储器控制器165或直接与外部存储器控制器120、或处理器125或其组合通信。可包含在装置存储器控制器155或本地存储器控制器165或两者中的组件的实例可包含用于(例如,从外部存储器控制器120)接收信号的接收器、用于传输信号(例如,到外部存储器控制器120)的传输器、用于解码或解调所接收信号的解码器、用于编码或调制待传输信号的编码器,或可操作用于支持所描述的装置存储器控制器155或本地存储器控制器165或两者的操作的各种其它电路或控制器。
31.外部存储器控制器120可为可操作的以启用系统100或主机装置105(例如,处理器125)的组件与存储器装置110之间信息、数据或命令中的一或多个的通信。外部存储器控制器120可转换或转译在主机装置105的组件与存储器装置110之间交换的通信。在一些实例中,外部存储器控制器120或系统100或主机装置105的其它组件或本文所描述的其功能可由处理器125实施。举例来说,外部存储器控制器120可为由处理器125或系统100或主机装置105的另一组件实施的硬件、固件或软件或其某一组合。虽然将外部存储器控制器120描绘为在存储器装置110外部,但在一些实例中,外部存储器控制器120或本文中所描述的其功能可由存储器装置110的一或多个组件(例如,装置存储器控制器155、本地存储器控制器165)实施,或反之亦然。
32.主机装置105的组件可使用一或多个信道115与存储器装置110交换信息。信道115可为可操作的以支持外部存储器控制器120与存储器装置110之间的通信。每一信道115可为在主机装置105与存储器装置之间载送信息的传输媒体的实例。每一信道115可包含与系统100的组件相关联的端子之间的一或多个信号路径或传输媒体(例如,导体)。信号路径可为可操作以载送信号的导电路径的实例。举例来说,信道115可包含第一端子,其包含在主机装置105处的一或多个引脚或衬垫以及在存储器装置110处的一或多个引脚或衬垫。引脚可为系统100的装置的导电输入或输出点的实例,并且引脚可为可操作的以充当信道的部分。
33.信道115(和相关联的信号路径和端子)可专用于传达一或多种类型的信息。举例来说,信道115可包含一或多个命令和地址(ca)信道186、一或多个时钟信号(ck)信道188、一或多个数据(dq)信道190、一或多个其它信道192,或其组合。在一些实例中,可使用单数据速率(sdr)信令或双数据速率(ddr)信令经由信道115传达信令。在sdr信令中,信号的一个调制符号(例如,信号电平)可针对每一时钟循环(例如,在时钟信号的上升或下降沿上)进行登记。在ddr信令中,信号的两个调制符号(例如,信号电平)可针对每一时钟周期(例如,在时钟信号的上升沿和下降沿两者上)进行登记。
34.在一些实例中,可归因于存储器单元缺陷(例如,来自制造流程、在制造之后发生的潜在缺陷等)而发生位错误。举例来说,存储器单元可包含产生固定错误的缺陷(例如,存储器单元可为有缺陷的),或存储器单元中的检测到的错误可为时变错误(例如,归因于操作条件或其它随机错误发生,相对功能的存储器单元可包含相对不频繁的错误)。
35.错误检查技术可能够基于针对数据生成的奇偶校验信息而检测或校正写入到存储器阵列且随后从存储器阵列读取的数据中至多某一数量的错误,所述奇偶校验信息在一些情况下还可存储在存储器阵列中(例如,与对应数据相关联)。举例来说,sec奇偶校验方案可支持基于数据的奇偶校验信息而检测或校正数据中的单个错误,secded奇偶校验方案可支持基于数据的奇偶校验信息而检测至多两个错误且校正单个错误,以及错误检测方案
的其它实例。在一些情况下,数据可包含超过可基于相关联奇偶校验信息而校正的错误的数量的错误。
36.如本文中所描述,系统100可实施用于错误校正的错误高速缓存,其可产生相对更稳固的错误检查技术(例如,可校正错误的数量相对于可基于仅奇偶校验信息而校正的数量的增加),以及其它优点。举例来说,系统100的一或多个组件(例如,存储器装置110、主机装置105、装置存储器控制器155、本地存储器控制器165、外部存储器控制器120或其任何组合)可维持错误高速缓存,以便将用于错误校正的信息提供到错误校正引擎,如参考图3所描述。
37.存储器装置110可使用错误高速缓存来执行用于错误校正的一或多个程序。举例来说,存储器装置110可检测从存储器阵列读取的数据中的一定数量的错误,但可能不能够使用数据的奇偶校验信息来校正错误(例如,存储器装置110可在secded方案中检测两个错误,以及其它实例)。在此类实例中,存储器装置110可确定错误高速缓存是否包含数据的地址的条目。如果错误高速缓存包含条目,则存储器装置110可基于所述条目而选择待反转的数据的一或多个位。举例来说,存储器装置110可基于写入到条目的指示而识别地址内的有缺陷存储器单元的位置。存储器装置110可反转对应于有缺陷存储器单元的位以获得更改后的数据。存储器装置110可接着能够使用数据的奇偶校验信息来校正更改后的数据(例如,如果反转位在secded方案中将两个先前检测到的错误改变为单个错误,则存储器装置可能够校正错误且输出经校正数据)。因此,通过使用错误高速缓存来跟踪已知错误位置(例如,有缺陷存储器单元),可增强错误校正方案的错误校正能力。
38.在一些实例中,存储器装置110可更新错误高速缓存。举例来说,如果在错误高速缓存包含与数据相关联的有缺陷存储器单元的指示时存储器装置110将数据识别为无错误的,则存储器装置110可在一些情况下从高速缓存去除指示,这可产生相对高效的高速缓存利用率且随时间将高速缓存条目集中于固定错误,以及其它优点。
39.图2说明根据如本文中所公开的实例的支持用于存储器装置中的改进的错误校正的错误高速缓存技术的存储器裸片200的实例。存储器裸片200可为参考图1所描述的存储器裸片160的实例。在一些实例中,存储器裸片200可被称作存储器芯片、存储器装置或电子存储器设备。存储器裸片200可包含一或多个存储器单元205,其可各自可编程以存储不同逻辑状态(例如,编程为两个或更多个可能状态的集合中的一个)。举例来说,存储器单元205可为可操作的以每次存储一个位的信息(例如,逻辑0或逻辑1)。在一些实例中,存储器单元205(例如,多层级存储器单元)可为可操作的以每次存储多于一个位的信息(例如,逻辑00、逻辑01、逻辑10、逻辑11)。在一些实例中,存储器单元205可被布置成阵列,例如参考图1所描述的存储器阵列170。
40.存储器单元205可将表示可编程状态的电荷存储在电容器中。dram架构可包含电容器,所述电容器包含电介质材料以存储表示可编程状态的电荷。在其它存储器架构中,其它存储装置和组件是可能的。举例来说,可采用非线性电介质材料。存储器单元205可包含例如电容器230和开关组件235的逻辑存储组件。电容器230可为电介质电容器或铁电电容器的实例。电容器230的节点可与电压源240耦合,所述电压源可为单元板参考电压,例如vpl,或可为接地,例如vss。
41.存储器裸片200可包含以例如网格状图案的图案布置的一或多个存取线(例如,一
或多个字线210和一或多个数字线215)。存取线可为与存储器单元205耦合的导电线,并且可用于对存储器单元205执行存取操作。在一些实例中,字线210可被称作行线。在一些实例中,数字线215可被称作列线或位线。对存取线、行线、列线、字线、数字线或位线等的引用可在不影响理解或操作的情况下互换。存储器单元205可定位在字线210与数字线215的相交点处。
42.可通过激活或选择例如字线210或数字线215中的一或多个的存取线来对存储器单元205执行例如读取和写入的操作。通过偏置字线210和数字线215(例如,将电压施加到字线210或数字线215),可在其相交点处存取单个存储器单元205。在二维或三维配置中的字线210和数字线215的相交点可被称作存储器单元205的地址。
43.可通过行解码器220或列解码器225控制存取存储器单元205。举例来说,行解码器220可从本地存储器控制器260接收行地址,并且基于所接收行地址而激活字线210。列解码器225可从本地存储器控制器260接收列地址,并且可基于所接收列地址而激活数字线215。
44.可通过使用字线210来激活或撤销激活开关组件235来实现选择或撤销选择存储器单元205。电容器230可使用开关组件235与数字线215耦合。举例来说,在撤销激活开关组件235时,电容器230可与数字线215隔离,并且在激活开关组件235时,电容器230可与数字线215耦合。
45.感测组件245可为可操作的以检测存储在存储器单元205的电容器230上的状态(例如,电荷)且基于所存储状态而确定存储器单元205的逻辑状态。感测组件245可包含一或多个感测放大器以放大或以其它方式转换因存取存储器单元205而产生的信号。感测组件245可将从存储器单元205检测到的信号与参考250(例如参考电压)进行比较。存储器单元205的检测到的逻辑状态可作为感测组件245的输出提供(例如,到输入/输出255),并且可向包含存储器裸片200的存储器装置的另一组件指示检测到的逻辑状态。
46.本地存储器控制器260可通过各种组件(例如,行解码器220、列解码器225、感测组件245)控制对存储器单元205的存取。本地存储器控制器260可为参考图1所描述的本地存储器控制器165的实例。在一些实例中,行解码器220、列解码器225和感测组件245中的一或多个可与本地存储器控制器260并置。本地存储器控制器260可为可操作的以从一或多个不同存储器控制器(例如,与主机装置105相关联的外部存储器控制器120、与存储器裸片200相关联的另一控制器)接收命令或数据中的一或多个,将命令或数据(或两者)转译为可由存储器裸片200使用的信息,对存储器裸片200执行一或多个操作,并且基于执行一或多个操作而将数据从存储器裸片200传达到主机装置105。本地存储器控制器260可生成行信号和列地址信号以激活目标字线210和目标数字线215。本地存储器控制器260还可生成且控制在存储器裸片200的操作期间使用的各种电压或电流。一般来说,本文中所论述的所施加电压或电流的幅度、形状或持续时间可变化,并且对于在操作存储器裸片200时所论述的各种操作来说可能不同。
47.本地存储器控制器260可为可操作的以对存储器裸片200的一或多个存储器单元205执行一或多个存取操作。存取操作的实例可包含写入操作、读取操作、刷新操作、预充电操作或激活操作等。在一些实例中,存取操作可由本地存储器控制器260响应于各种存取命令(例如,来自主机装置105)而执行或以其它方式进行协调。本地存储器控制器260可为可操作的以执行此处未列出的其它存取操作或与存储器裸片200的操作相关的不与存取存储
器单元205直接相关的其它操作。
48.本地存储器控制器260可为可操作的以对存储器裸片200的一或多个存储器单元205执行写入操作(例如,编程操作)。在写入操作期间,存储器裸片200的存储器单元205可编程为存储所要逻辑状态。本地存储器控制器260可识别将对其执行写入操作的目标存储器单元205。本地存储器控制器260可识别与目标存储器单元205(例如,目标存储器单元205的地址)耦合的目标字线210和目标数字线215。本地存储器控制器260可激活目标字线210和目标数字线215(例如,将电压施加到字线210或数字线215)以存取目标存储器单元205。本地存储器控制器260可在写入操作期间将具体信号(例如,写入脉冲)施加到数字线215以将具体状态(例如,电荷)存储在存储器单元205的电容器230中。用作写入操作的部分的脉冲可在一持续时间内包含一或多个电压电平。
49.本地存储器控制器260可为可操作的以对存储器裸片200的一或多个存储器单元205执行读取操作(例如,感测操作)。在读取操作期间,可确定存储在存储器裸片200的存储器单元205上的逻辑状态。本地存储器控制器260可识别将对其执行读取操作的目标存储器单元205。本地存储器控制器260可识别与目标存储器单元205(例如,目标存储器单元205的地址)耦合的目标字线210和目标数字线215。本地存储器控制器260可激活目标字线210和目标数字线215(例如,将电压施加到字线210或数字线215)以存取目标存储器单元205。目标存储器单元205可响应于偏置存取线而将信号传送到感测组件245。感测组件245可放大信号。本地存储器控制器260可激活感测组件245(例如,锁存感测组件),并且由此将从存储器单元205接收到的信号与参考250进行比较。基于所述比较,感测组件245可确定存储在存储器单元205上的逻辑状态。
50.本地存储器控制器260和存储器裸片200可实施错误高速缓存265以支持针对存储在存储器阵列中和从存储器阵列读取的数据的错误校正。错误高速缓存265可与如图2中所展示的本地存储器控制器260耦合。替代地,在一些情况下,错误高速缓存265可与本地存储器控制器260耦合。并且在一些情况下(例如,其中存储器单元205是非易失性的),错误高速缓存265可为或包含存储器阵列的部分。
51.举例来说,本地存储器控制器260(或存储器装置110或主机装置105的另一控制器)可维持(例如,管理)错误高速缓存265的内容,以便提供用于错误校正的信息,如参考图3所描述。错误高速缓存265可填充有指示存储器裸片200的一或多个有缺陷存储器单元的位置的一或多个条目。举例来说,本地存储器控制器260可识别与地址相关联的数据中的错误,并且本地存储器控制器260可至少部分地基于识别所述错误而写入所识别的错误高速缓存265的位置。举例来说,本地存储器控制器260可存储数据从其读取的一或多个存储器单元的地址(例如,物理地址),可能连同指示与地址相关联的存储器单元集合内的存储器单元的位置的偏移参数,其中存储器单元与检测到的错误相关联。
52.本地存储器控制器260可使用存储在错误高速缓存265中的信息来执行用于错误校正的一或多个程序。举例来说,(例如,存储器裸片200内的)错误检查逻辑可检测从存储器阵列读取的数据中的一定数量的错误,但可能不能够使用数据的奇偶校验信息来校正错误(例如,本地存储器控制器260可在secded方案中检测两个错误,以及其它实例)。错误检查逻辑可为或包含如参考图3所描述的错误校正引擎315。在此类实例中,本地存储器控制器260可确定错误高速缓存265是否包含与数据相关联的地址的条目。如果错误高速缓存
265包含此类条目,则本地存储器控制器260可基于所述条目而选择待反转的数据的一或多个位。举例来说,本地存储器控制器260可基于写入到条目的指示而识别有缺陷存储器单元的位置。本地存储器控制器260可反转对应于有缺陷存储器单元的位以获得更改后的数据。本地存储器控制器260可将更改后的数据输入到错误检查逻辑中,所述错误检查逻辑可接着能够基于相关联奇偶校验信息而校正数据(例如,如果反转位在secded方案中将两个检测到的错误改变为单个错误,则存储器装置可经启用以校正错误且输出经校正数据)。
53.在一些实例中,本地存储器控制器260可更新错误高速缓存265。举例来说,本地存储器控制器260可能未能识别与地址相关联的数据中的错误,其中错误高速缓存265包含地址的有缺陷存储器单元的指示。在至少一些此类情形中,本地存储器控制器260可从错误高速缓存265去除指示,这可产生相对高效的高速缓存利用率,以及其它优点。
54.图3说明根据如本文中所公开的实例的支持用于存储器装置中的改进的错误校正的错误高速缓存技术的系统300的实例。系统300可为分别如参考图1和2所描述的系统100或存储器装置110的方面的实例。
55.系统300可包含存储器阵列310,其可为存储器阵列170的实例。系统300还可包含错误高速缓存305和错误校正引擎315。系统300可被配置成使用错误校正引擎315和错误高速缓存305来执行一或多个错误检查程序,这可减少通信(例如,从存储器阵列310传输损坏的数据)中的错误的机率。一般来说,图3中所展示的组件可实施本文中所描述的与错误检查相关的程序和操作,但应理解,可存在比实施所述程序所展示的组件更多或更少的组件。另外或替代地,虽然出于说明性清楚起见说明为单独的,但本文中所描述的各种组件可按不同于所说明的方式组合或物理地定位。
56.错误高速缓存305可维持与先前检测到的错误相关联的存储器单元(例如,有缺陷存储器单元)的列表。举例来说,系统300可跟踪已知“固定(stuck-at)”位的列表(例如,存储相同逻辑状态的存储器单元,而与哪一逻辑状态写入到存储器单元无关)。在一些实例中,可基于错误校正码结果或根据在一或多个维护循环(例如,刷新循环)期间进行的测试而生成列表(例如,系统300可在刷新或其它合适时间段期间针对存储器装置执行诊断程序,并且错误高速缓存305可基于程序的结果而被填充)。在一些实例中,信息可在通电时加载到错误高速缓存305(例如,在nvm中,列表可在存储器装置通电时加载到内容可寻址存储器(cam)或静态ram)。
57.系统300可例如从主机装置接收命令。命令可指示与数据相关联的地址320(例如,与数据相关联的逻辑地址或与存储器阵列310内的用于写入或读取数据的存储器单元集合相关联的物理地址)。
58.在所接收命令为写入命令时,系统300可将数据存储在存储器阵列310中。在一些情况下,系统300还可检查错误高速缓存305,并且如果错误高速缓存305包含地址320的一或多个条目(例如,指示其中存储器单元被“阻塞”的状态的条目),系统300可将数据写入到存储器阵列310,使得存储到阻塞的存储器单元的位与存储器单元的阻塞状态对准(例如,如果存储器单元在“1”的逻辑状态下被阻塞,则系统300可写入数据,使得具有值“1”的位存储在阻塞的存储器单元的所指示位置处),以及其它实例。举例来说,系统300可反转数据且还将任何相关联反转旗标存储在存储器阵列310或错误高速缓存305中。
59.在所接收命令为读取命令时,系统300的控制器可执行读取操作以从存储器阵列
310的所指示地址320检索对应数据340。在一些实例中,系统300还可从存储器阵列310读取数据340的奇偶校验信息(例如,先前基于数据340而生成的奇偶校验位355)。另外或替代地,系统300可从错误高速缓存305读取奇偶校验位355中的一些或全部。
60.系统300可使用错误校正引擎315执行错误检查(例如,基于与错误校正引擎相关联的奇偶校验方案,例如,sec奇偶校验方案或secded奇偶校验方案)。举例来说,响应于数据340的读取命令,错误校正引擎315可接收数据340和与数据340相关联的奇偶校验位355。错误校正引擎315可执行在使用奇偶校验位355时用以检测或校正数据340中的错误的程序。
61.在一些情况下,错误校正引擎可能未能识别数据340中的错误。举例来说,数据340可能不含错误或错误的数量可能超出错误校正方案的检测能力(例如,在secded方案中三个或更多个错误可能产生有效码字,并且错误校正引擎315可能未能识别数据340中的错误)。在一些其它情况下,错误校正引擎315可识别数据340中的一或多个错误的可校正数量,并且可校正一或多个错误以获得对应的经校正数据345。举例来说,错误校正引擎315可在sec或secded方案中识别单个错误,并且可校正单个错误(例如,将来自第一逻辑状态的位翻转为正确的第二逻辑状态,经翻转位使用奇偶校验位355识别),随后将经校正数据345例如输出到请求数据的主机装置。
62.在一些情况下,错误校正引擎315可将检测到的错误的数量与阈值进行比较且确定是否满足阈值。如果满足阈值,则错误校正引擎315可能不能够校正检测到的错误(例如,错误校正引擎315可在secded错误校正方案中检测到两个错误,但可能不能够校正所述两个错误)。阈值可为任何数量(例如,1或更大)。基于满足阈值,系统300可查询错误高速缓存05以确定错误高速缓存305是否包含地址320的条目。
63.响应于查询,错误高速缓存305可将信息350发送到错误校正引擎315。信息350可包含错误校正信息,其可使得错误校正引擎315能够校正一定数量的错误。作为说明性实例,存储在错误高速缓存305中的信息350可包含地址320的指示、与存储器阵列310中的地址320相关联的存储器单元集合中的一或多个有缺陷存储器单元的位置的指示(例如,指示地址320内的有缺陷存储器单元的位置的偏移参数)、有缺陷存储器单元的错误计数、与存储器单元相关联的元数据或其任何组合。
64.系统300可基于信息350而识别一或多个有缺陷存储器单元(例如,信息350可指示存储数据340的地址320中的一或多个有缺陷存储器单元的位置)。系统300可改变与一或多个有缺陷存储器单元相关联的一或多个位的值。举例来说,错误校正引擎315可反转与有缺陷存储器单元相关联的位的值(例如,从0到1或从1到0)以获得更改后的数据(例如,具有从一或多个有缺陷存储器单元读取的一或多个位的数据340反转)。更改后的数据可输入到错误校正引擎315(或替代地,第二错误校正引擎,可能基于不同奇偶校验方案)以用于第二错误检查程序。通过根据存储在错误高速缓存305中的指示改变(例如,反转)与一或多个有缺陷存储器单元相关联的位,错误校正引擎315可经启用以基于校正对应更改后的数据中的数量减少的错误而校正数据340中的错误。作为说明性实例,如果错误校正引擎315在secded方案中检测到两个错误,则错可通过反转与存储在错误高速缓存305中的有缺陷存储器单元指示相关联的一个或两个位来校正错误中的一个或两个(例如,可通过位反转来校正单个错误,并且错误校正引擎315可使用奇偶校验位355来识别并校正剩余错误)。错误
校正引擎315可在校正更改后的数据中的一或多个错误或确定更改后的数据无错误之后输出经校正数据345。
65.系统300可维持错误高速缓存305。举例来说,系统300可采用用于测试高速缓存的错误位置且连续地更新(例如,添加或剔除)“不良”位置(例如,有缺陷存储器单元)的列表的方法,这可增加错误高速缓存305的效率。错误校正引擎315可确定一或多个错误校正或检测程序的一或多个结果。错误校正引擎315可发送指示一或多个结果的信息335。在一个说明性实例中,错误校正引擎315可能未能识别数据340中的错误。如果错误高速缓存305包含地址320的条目(例如,与地址320相关联的存储器单元集合中的有缺陷存储器单元的指示),则信息335可基于未能识别错误而指示去除条目。此类去除可产生更高效的高速缓存利用率且去除错误高速缓存305的可能不是固定错误的结果的条目(例如,可基于识别时变错误而预先存储有缺陷存储器单元的指示),这可减少后续错误程序的不正确地反转位的机率。
66.在一些实例中,系统300可基于一或多个阈值而从错误高速缓存305去除指示。举例来说,系统300可递增计数器或以其它方式跟踪针对由错误高速缓存305指示为有缺陷的存储器单元未检测到错误的次数(例如,连续次数)。如果未检测到错误的次数满足阈值,则系统300可去除对应于存储器单元的错误高速缓存的条目。通过基于满足阈值而更新错误高速缓存305,系统300可剔除可能与时变错误相关联的错误高速缓存的条目,同时避免基于偶然的无错误确定(例如,如果有缺陷存储器单元恰好在对应于写入到存储器单元的逻辑值的状态下被阻塞)而剔除条目。
67.作为另一说明性实例,错误校正引擎315可识别与具体存储器单元相关联的数据340中的错误。如果错误高速缓存305缺乏地址320的条目,则信息335可指示在错误高速缓存305中写入地址320的条目,或如果地址320的条目存在但缺乏具体存储器单元的指示,则写入具体存储器单元有缺陷的指示。在一些情况下,如果错误高速缓存305已包含地址320的条目,则信息335可指示基于将存储器单元识别为与错误相关联而递增与存储器单元相关联的错误计数。将具体存储器单元有缺陷的指示写入到错误高速缓存305(例如,以便响应于来自存储器单元的后续读取而确定位反转)可基于满足阈值的递增错误计数。通过使用错误高速缓存305跟踪存储器单元的错误计数且基于存储器单元的错误计数满足阈值而生成存储器单元有缺陷的指示,系统300可减少将具有时变错误的存储器单元添加到错误高速缓存305的机率(例如,阈值可帮助确保错误高速缓存305包含具有固定缺陷的存储器单元,以及其它实例)。
68.图4说明根据如本文中所公开的实例的支持用于存储器装置中的改进的错误校正的错误高速缓存技术的过程流程400的实例。过程流程可为分别由如参考图1-3所描述的系统100、存储器装置110或系统300执行的操作的实例。一般来说,图4中所展示的操作可说明存储器装置(或存储器系统)使用错误高速缓存来执行错误校正程序的程序和操作,但应理解,可存在比所展示的操作更多或更少的操作。另外或替代地,可按不同于图4中所展示的次序添加、去除或执行操作。
69.在405处,存储器装置可接收命令。举例来说,存储器装置可从主机装置接收读取命令。命令可指示待从存储器装置内的存储器阵列读取的数据的地址(例如,逻辑或物理地址)。
70.存储器装置可将地址(例如,如所接收到的或基于逻辑到物理映射以获得物理地址)应于存储器阵列以及存储器装置的错误高速缓存(例如,如参考图3所描述的存储器阵列310以及错误高速缓存305)。举例来说,如果在405处接收到的命令为读取命令,则在410处,存储器装置可基于由命令指示的地址而从存储器阵列读取数据。在一些实例中,存储器装置还可从存储器阵列读取与数据相关联的奇偶校验位。存储器装置还可使用地址搜索错误高速缓存以获得与地址相关联的条目(例如,存储器装置可确定高速缓存是否包含所指示地址或映射到所指示地址的地址的条目)。举例来说,存储器装置可在读取数据且使用奇偶校验位来针对数据执行第一错误检查程序的情况下同时(例如,并行地)查询错误高速缓存。也就是说,可分配用以搜索错误高速缓存且提供地址的任何高速缓存的信息(例如,将查询应用于错误高速缓存且将结果返回到错误校正引擎)的时间段,使得高速缓存的信息可在针对原始数据完成第一错误检查程序之前用于错误校正引擎。
71.在415处,存储器装置可确定是否在数据中检测到任何错误。举例来说,存储器装置可将数据和相关联奇偶校验位输入到错误校正引擎中作为第一程序的部分。存储器装置可使用奇偶校验位来确定数据中是否存在一或多个错误。
72.在一些实例中,存储器装置可检测到数据中无错误。举例来说,数据可不含错误或错误的数量可超出与奇偶校验位相关联的奇偶校验方案的检测能力(例如,secded方案可能未能识别数据中的三个或更多个错误)。在425处,基于指示数据不含错误的错误检查程序的结果,存储器装置可输出数据。在一些实例中,存储器装置可基于未能在数据中检测到错误而执行用于错误高速缓存的一或多个操作。举例来说,存储器装置可确定错误高速缓存包含地址的条目(例如,先前程序结果指示地址中的存储器单元存储错误数据状态且错误高速缓存用存储器单元的位置更新)。在420处,存储器装置可基于未能在数据中检测到错误(例如,基于满足阈值的对存储器单元或地址的无错误读取的计数)而从高速缓存去除指示。举例来说,有缺陷存储器单元的指示可已基于先前错误检查程序但归因于时变错误(例如,无缺陷存储器单元中的错误的单次发生)而被存储。如果未检测到错误则从高速缓存去除指示可释放高速缓存以存储与其它有缺陷存储器单元相关联的信息,可提高高速缓存利用率和搜索速度,并且减少针对功能存储器单元不正确地反转位的机率,以及其它优点。
73.在一些实例中,存储器装置可识别可校正错误的数量且可相应地校正原始数据。举例来说,错误校正引擎可在sec或secded方案中识别单个错误,并且可在于425处将经校正数据输出到例如请求数据的主机装置之前校正单个错误(例如,将位从第一逻辑状态翻转到正确的第二逻辑状态)。
74.在一些实例中,存储器装置可使用奇偶校验位来检测数据中的一或多个错误,但可能不能够使用奇偶校验位来校正错误。举例来说,存储器装置可将数据中的检测到的错误的数量与阈值进行比较且确定是否满足阈值。如果满足阈值,则存储器装置可检测到错误,但可能不能够使用奇偶校验位来校正检测到的错误(例如,存储器装置可在secded错误校正方案中检测到两个错误,但可能不能够校正所述两个错误)。
75.在430处,存储器装置可确定错误高速缓存是否包含由命令指示的地址的条目,其可使得存储器装置能够使用错误高速缓存中的信息来校正数据,以及其它优点。举例来说,存储器装置可使用地址来搜索错误高速缓存以识别错误高速缓存是否包含数据从其读取
的存储器单元集合内的一或多个有缺陷存储器单元的指示。条目可包含地址的指示、相关联存储器单元集合内的一或多个有缺陷存储器单元的位置的指示(例如,指示地址或对应物理地址内的有缺陷存储器单元的位置的偏移参数)、有缺陷存储器单元的错误计数、与存储器单元相关联的元数据或其任何组合。
76.如果高速缓存包含地址的条目,则在440处,存储器装置可反转或以其它方式更改数据的一或多个位。举例来说,存储器装置可使用错误高速缓存中的信息来识别存储器单元集合中的有缺陷存储器单元的位置。存储器装置可“翻转”与有缺陷存储器单元相关联的位(例如,更改数据以使得从所指示存储器单元读取的位具有与从存储器单元读取的逻辑值不同的逻辑值)。
77.在445处,存储器装置可校正更改后的数据。举例来说,存储器装置可将更改后的数据输入到错误校正引擎且使用更改后的数据和奇偶校验位来执行第二错误检查程序。通过翻转一或多个位(例如,基于相关联存储器单元的指示而反转的单个位),存储器装置可减少错误的数量,使得存储器装置可基于奇偶校验位而校正更改后的数据(例如,可通过在secded方案中反转位而将两个可检测错误减少到一个可校正错误,以及数量和方案的其它实例)。在校正数据或获得指示更改后的数据不包含错误的第二程序的结果之后,存储器装置可在425处输出数据。
78.在一些其它实例中,虽然在415处检测到错误,但存储器装置可在430处确定高速缓存未能包含地址的条目。在此类实例中,存储器装置可继续进行到435。在435处,存储器装置可更新错误高速缓存以添加或更新相关联地址的条目和包含错误的存储器单元的指示。通过基于检测到错误而动态地更新高速缓存,存储器装置可跟踪有缺陷的存储器单元,这可增强错误校正程序的稳固性(例如,错误高速缓存可使得存储器装置能够将可检测错误的数量转换为可校正错误的数量,以及其它实例)。
79.图5展示根据如本文中所公开的实例的支持用于存储器装置中的改进的错误校正的错误高速缓存技术的存储器装置505的框图500。存储器装置505可为如参考图1-4所描述的存储器装置的方面的实例。存储器装置505可包含命令接收器510、读取组件515、高速缓存组件520、错误检查组件525、输出组件530和诊断组件535。这些模块中的每一个模块可直接或间接地彼此通信(例如,经由一或多个总线)。
80.命令接收器510可接收用以从存储器阵列读取数据的命令,所述命令指示与存储器阵列内的存储器单元集合相关联的地址。读取组件515可响应于命令而从存储器单元集合读取数据。高速缓存组件520可基于所指示地址而确定高速缓存是否包含存储器单元集合中的存储器单元有缺陷的指示。错误检查组件525可针对数据执行基于高速缓存是否包含指示的用于错误校正的程序。
81.在一些实例中,高速缓存组件520可确定高速缓存包含指示。在此类实例中,为了执行用于错误校正的程序,错误检查组件525可基于数据和与数据相关联的奇偶校验信息而确定数据包含一或多个错误,基于存储器单元有缺陷的指示以及确定数据包含一或多个错误而反转与存储器单元相关联的位以获得更改后的数据,以及在反转位之后基于更改后的数据和奇偶校验信息而确定更改后的数据是否包含一或多个错误的第二集合。
82.在一些情况下,错误检查组件525可在反转位之后基于更改后的数据和奇偶校验信息而校正一或多个错误的第二集合以获得经校正数据。
83.输出组件530可响应于命令而由包含存储器阵列的存储器装置输出经校正数据。
84.在一些实例中,错误检查组件525可确定包含在一或多个错误中的错误的数量满足阈值,其中反转位是基于确定错误的数量满足阈值。
85.在一些实例中,错误检查组件525可将数据和奇偶校验信息输入到错误检查逻辑,其中确定数据包含一或多个错误是基于将数据和奇偶校验信息输入到错误检查逻辑。在一些实例中,错误检查组件525可在反转位之后将更改后的数据和奇偶校验信息输入到错误检查逻辑,其中确定更改后的数据是否包含一或多个错误的第二集合是基于将更改后的数据和奇偶校验信息输入到错误检查逻辑。
86.在一些实例中,错误检查组件525可至少部分地基于用于错误校正的程序而确定数据包含错误。高速缓存组件520可在存储器单元集合当中识别与错误相关联的相应存储器单元。高速缓存组件520可至少部分地基于确定数据包含错误而将相应存储器单元有缺陷的指示写入到高速缓存。
87.在一些实例中,诊断组件535可在接收命令之前针对存储器阵列执行诊断程序。在一些实例中,高速缓存组件520可基于诊断程序而将存储器单元有缺陷的指示写入到高速缓存。
88.在一些实例中,高速缓存组件520可确定高速缓存包含存储器单元有缺陷的指示,并且错误检查组件525可基于用于错误校正的程序而确定针对数据未检测到错误。在一些实例中,高速缓存组件520可基于确定针对数据未检测到错误而从高速缓存去除指示。
89.命令接收器510可接收用以从存储器阵列读取数据的命令,所述命令指示与存储器阵列内的存储器单元集合相关联的地址。读取组件515可响应于命令而从存储器单元集合读取数据。在一些实例中,错误检查组件525可基于从存储器单元集合读取数据而确定数据包含错误。在一些实例中,错误检查组件525可在存储器单元集合当中识别与错误相关联的存储器单元。高速缓存组件520可基于确定数据包含错误而将存储器单元有缺陷的指示写入到高速缓存。
90.高速缓存组件520可基于将存储器单元识别为与错误相关联而递增与存储器单元相关联的错误计数,其中将指示写入到高速缓存是基于满足阈值的经递增错误计数。
91.在一些实例中,命令接收器510可接收第二命令以从存储器单元集合读取第二数据。在一些实例中,高速缓存组件520可响应于第二命令而确定高速缓存包含存储器单元有缺陷的指示。在一些实例中,错误检查组件525可针对第二数据执行基于包含指示的高速缓存的用于错误校正的程序。
92.在一些实例中,为了执行用于错误校正的程序,错误检查组件525可至少部分地基于第二数据的奇偶校验信息而确定第二数据包含一或多个错误。错误检查组件525可基于确定第二数据包含一或多个错误而反转与存储器单元相关联的位以获得更改后的数据。错误检查组件525可在反转位之后且至少部分地基于奇偶校验信息而校正更改后的数据中的一或多个错误以获得经校正数据。
93.输出组件530可响应于第二命令而由包含存储器阵列的存储器装置输出经校正数据。
94.在一些实例中,错误检查组件525可将第二数据和奇偶校验信息输入到错误检查逻辑,其中确定第二数据包含一或多个错误是基于将第二数据和奇偶校验信息输入到错误
检查逻辑。在一些实例中,错误检查组件525可在反转之后将更改后的数据和奇偶校验信息输入到错误检查逻辑,其中校正更改后的数据中的一或多个错误是至少部分地基于将更改后的数据和奇偶校验信息输入到错误检查逻辑。
95.在一些实例中,错误检查组件525可基于用于错误校正的程序而确定针对第二数据未检测到错误。在一些实例中,高速缓存组件520可基于确定针对数据未检测到错误而从高速缓存去除指示。
96.在一些情况下,高速缓存包含第二存储器阵列、存储器阵列的部分或其组合。
97.在一些情况下,其中高速缓存包含所指示地址的条目,所述条目可包含存储器单元有缺陷的指示,并且所述条目可包含存储器单元的地址、与存储器单元相关联的所指示地址的偏移、存储器单元的错误计数、与存储器单元相关联的元数据或其任何组合。
98.图6展示说明根据本公开的方面的支持用于存储器装置中的改进的错误校正的错误高速缓存技术的一或多种方法600的流程图。可由如参考图1-5所描述的存储器装置或其组件实施方法600的操作。举例来说,可由如参考图5所描述的存储器装置执行方法600的操作。在一些实例中,存储器装置可执行指令集以控制存储器装置的功能元件来执行所描述的功能。另外或替代地,存储器装置可使用专用硬件来执行所描述的功能的方面。
99.在605处,存储器装置可接收用以从存储器阵列读取数据的命令,所述命令指示与存储器阵列内的存储器单元集合相关联的地址。可根据本文中所描述的方法来执行605的操作。在一些实例中,可由如参考图5所描述的命令接收器执行605的操作的方面。
100.在610处,存储器装置可响应于命令而从存储器单元集合读取数据。可根据本文中所描述的方法来执行610的操作。在一些实例中,可由如参考图5所描述的读取组件执行610的操作的方面。
101.在615处,存储器装置可基于所指示地址而确定高速缓存是否包含存储器单元集合中的存储器单元有缺陷的指示。可根据本文中所描述的方法来执行615的操作。在一些实例中,可由如参考图5所描述的高速缓存组件执行615的操作的方面。
102.在620处,存储器装置可针对数据执行基于高速缓存是否包含指示的用于错误校正的程序。可根据本文中所描述的方法来执行620的操作。在一些实例中,可由如参考图5所描述的错误检查组件执行620的操作的方面。
103.在一些实例中,如参考图1-5所描述的设备可执行例如方法600的一或多种方法。设备可包含用于以下的特征、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):接收用以从存储器阵列读取数据的命令,所述命令指示与存储器阵列内的存储器单元集合相关联的地址;响应于命令而从存储器单元集合读取数据;基于所指示地址而确定高速缓存是否包含存储器单元集合中的存储器单元有缺陷的指示;以及针对数据执行基于高速缓存是否包含指示的用于错误校正的程序。
104.方法600和本文中所描述的设备的一些实例可进一步包含用于以下的操作、特征、构件或指令:确定高速缓存包含指示,其中执行用于错误校正的程序包含基于数据和与数据相关联的奇偶校验信息而确定数据包含一或多个错误;基于存储器单元有缺陷的指示以及确定数据包含一或多个错误而反转与存储器单元相关联的位以获得更改后的数据;以及在反转位之后至少部分地基于更改后的数据和奇偶校验信息而确定更改后的数据是否包含一或多个错误的第二集合。
105.方法600和本文中所描述的设备的一些实例可进一步包含用于以下的操作、特征、构件或指令:在反转位之后基于更改后的数据和奇偶校验信息而校正一或多个错误的第二集合以获得经校正数据。
106.方法600和本文中所描述的设备的一些实例可进一步包含用于以下的操作、特征、构件或指令:响应于命令而由包含存储器阵列的存储器装置输出经校正数据。
107.方法600和本文中所描述的设备的一些实例可进一步包含用于以下的操作、特征、构件或指令:确定包含在一或多个错误中的错误的数量满足阈值,其中反转位可基于确定错误的数量满足阈值。
108.方法600和本文中所描述的设备的一些实例可进一步包含用于以下的操作、特征、构件或指令:将数据和奇偶校验信息输入到错误检查逻辑,其中确定数据包含一或多个错误可基于将数据和奇偶校验信息输入到错误检查逻辑,以及在反转位之后将更改后的数据和奇偶校验信息输入到错误检查逻辑,其中确定更改后的数据是否包含一或多个错误的第二集合可基于将更改后的数据和奇偶校验信息输入到错误检查逻辑。
109.方法600和本文中所描述的设备的一些实例可进一步包含用于以下的操作、特征、构件或指令:基于用于错误校正的程序而确定数据包含错误;在存储器单元集合当中识别与错误相关联的相应存储器单元;以及基于确定数据包含错误而将相应存储器单元可为有缺陷的指示写入到高速缓存。
110.方法600和本文中所描述的设备的一些实例可进一步包含用于以下的操作、特征、构件或指令:在接收命令之前针对存储器阵列执行诊断程序;以及基于诊断程序而将存储器单元可为有缺陷的指示写入到高速缓存。
111.方法600和本文中所描述的设备的一些实例可进一步包含用于以下的操作、特征、构件或指令:确定高速缓存包含存储器单元可为有缺陷的指示;基于用于错误校正的程序而确定针对数据未检测到错误;以及基于确定针对数据未检测到错误而从高速缓存去除指示。
112.在方法600和本文中所描述的设备的一些实例中,高速缓存包含第二存储器阵列、存储器阵列的部分或其组合。
113.在方法600和本文中所描述的设备的一些实例中,高速缓存包含所指示地址的条目,所述条目包含存储器单元可为有缺陷的指示,并且其中所述条目包含存储器单元的地址、与存储器单元相关联的所指示地址的偏移、存储器单元的错误计数、与存储器单元相关联的元数据或其任何组合。
114.图7展示说明根据本公开的方面的支持用于存储器装置中的改进的错误校正的错误高速缓存技术的一或多种方法700的流程图。可由如本文所描述的存储器装置或其组件实施方法700的操作。举例来说,可由如参考图5所描述的存储器装置执行方法700的操作。在一些实例中,存储器装置可执行指令集以控制存储器装置的功能元件来执行所描述的功能。另外或替代地,存储器装置可使用专用硬件来执行所描述的功能的方面。
115.在705处,存储器装置可接收用以从存储器阵列读取数据的命令,所述命令指示与存储器阵列内的存储器单元集合相关联的地址。可根据本文中所描述的方法来执行705的操作。在一些实例中,可由如参考图5所描述的命令接收器执行705的操作的方面。
116.在710处,存储器装置可响应于命令而从存储器单元集合读取数据。可根据本文中
所描述的方法来执行710的操作。在一些实例中,可由如参考图5所描述的读取组件执行710的操作的方面。
117.在715处,存储器装置可基于从存储器单元集合读取数据而确定数据包含错误。可根据本文中所描述的方法来执行715的操作。在一些实例中,可由如参考图5所描述的错误检查组件执行715的操作的方面。
118.在720处,存储器装置可在存储器单元集合当中识别与错误相关联的存储器单元。可根据本文中所描述的方法来执行720的操作。在一些实例中,可由如参考图5所描述的错误检查组件执行720的操作的方面。
119.在725处,存储器装置可基于确定数据包含错误而将存储器单元有缺陷的指示写入到高速缓存。可根据本文中所描述的方法来执行725的操作。在一些实例中,可由如参考图5所描述的高速缓存组件执行725的操作的方面。
120.在一些实例中,如本文中所描述的设备可执行例如方法700的一或多种方法。设备可包含用于以下的特征、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):接收用以从存储器阵列读取数据的命令,所述命令指示与存储器阵列内的存储器单元集合相关联的地址;响应于命令而从存储器单元集合读取数据;基于从存储器单元集合读取数据而确定数据包含错误;在存储器单元集合当中识别与错误相关联的存储器单元;以及基于确定数据包含错误而将存储器单元有缺陷的指示写入到高速缓存。
121.方法700和本文中所描述的设备的一些实例可进一步包含用于以下的操作、特征、构件或指令:基于将存储器单元识别为与错误相关联而递增与存储器单元相关联的错误计数,其中将指示写入到高速缓存可基于满足阈值的经递增错误计数。
122.方法700和本文中所描述的设备的一些实例可进一步包含用于以下的操作、特征、构件或指令:接收用以从存储器单元集合读取第二数据的第二命令;响应于第二命令而确定高速缓存包含存储器单元可为有缺陷的指示;以及针对第二数据执行可基于包含指示的高速缓存的用于错误校正的程序。
123.在方法700和本文中所描述的设备的一些实例中,执行用于错误校正的程序可包含用于以下的操作、特征、构件或指令:基于第二数据的奇偶校验信息而确定第二数据包含一或多个错误;基于确定第二数据包含一或多个错误而反转与存储器单元相关联的位以获得更改后的数据;以及在反转之后且基于奇偶校验信息而校正更改后的数据中的一或多个错误以获得经校正数据。
124.方法700和本文中所描述的设备的一些实例可进一步包含用于以下的操作、特征、构件或指令:响应于第二命令而由包含存储器阵列的存储器装置输出经校正数据。
125.方法700和本文中所描述的设备的一些实例可进一步包含用于以下的操作、特征、构件或指令:将第二数据和奇偶校验信息输入到错误检查逻辑,其中确定第二数据包含一或多个错误可基于将第二数据和奇偶校验信息输入到错误检查逻辑,以及在反转位之后将更改后的数据和奇偶校验信息输入到错误检查逻辑,其中校正更改后的数据中的一或多个错误可基于将更改后的数据和奇偶校验信息输入到错误检查逻辑。
126.本文中所描述的方法700和设备的一些实例可进一步包含用于以下的操作、特征、构件或指令:基于用于错误校正的程序而确定针对第二数据未检测到错误;以及基于确定针对第二数据未检测到错误而从高速缓存去除指示。
127.在方法700和本文中所描述的设备的一些实例中,高速缓存包含第二存储器阵列、存储器阵列的部分或其组合。
128.在方法700和本文中所描述的设备的一些实例中,高速缓存包含所指示地址的条目,所述条目包含存储器单元可为有缺陷的指示,并且其中所述条目包含存储器单元的地址、与存储器单元相关联的所指示地址的偏移、存储器单元的错误计数、与存储器单元相关联的元数据或其任何组合。
129.应注意,上文所描述的方法描述了可能的实施方案,并且操作和步骤可重新布置或以其它方式加以修改,并且其它实施方案是可能的。此外,可组合来自方法的两个或更多个的部分。
130.描述一种设备。设备可包含:存储器阵列,高速缓存,其被配置成存储存储器阵列内的有缺陷存储器单元的指示,以及电路,其被配置成使得设备:接收用以从存储器阵列读取数据的命令,所述命令指示与存储器阵列内的存储器单元集合相关联的地址;响应于命令而从存储器单元集合读取数据;基于所指示地址而检查高速缓存以获得存储器单元集合中的存储器单元有缺陷的指示;以及针对数据执行基于高速缓存是否包含指示的用于错误校正的程序。
131.设备的一些实例可包含:错误检查逻辑,其中为了执行用于错误校正的程序,电路可进一步被配置成使得设备:将数据和数据的奇偶校验信息输入到错误检查逻辑中以确定数据是否包含一或多个错误;至少部分地基于包含指示的高速缓存以及确定数据包含一或多个错误而反转与存储器单元相关联的位以获得更改后的数据;以及将更改后的数据和奇偶校验信息输入到错误检查逻辑以确定更改后的数据是否包含一或多个错误的第二集合。
132.在一些实例中,错误检查逻辑进一步被配置成包含校正一或多个错误的第二集合中的至少一个。
133.在一些实例中,电路进一步被配置成使得设备:确定包含在一或多个错误中的错误的数量满足阈值,以及至少部分地基于确定错误的数量满足阈值而反转位。
134.在一些实例中,电路进一步被配置成使得设备:在命令之前接收用以从存储器单元集合读取第二数据的先前命令;确定第二数据包含与存储器单元相关联的错误;以及至少部分地基于确定第二数据包含错误而更新高速缓存以包含存储器单元有缺陷的指示。
135.可使用多种不同技艺和技术中的任一个来表示本文中所描述的信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和芯片。一些图式可将信号说明为单个信号;然而,所属领域的一般技术人员将理解,所述信号可表示信号总线,其中总线可具有多种位宽度。
136.术语“电子通信”、“导电接触”、“连接”和“耦合”可指支持信号在组件之间流动的组件之间的关系。如果组件之间存在可在任何时间支持信号在组件之间流动的任何导电路径,则认为组件彼此电子通信(或彼此导电接触、或彼此连接、或彼此耦合)。在任何给定时间,基于包含所连接组件的装置的操作,彼此电子通信(或彼此导电接触、或彼此连接、或彼此耦合)的组件之间的导电路径可为开路或闭路。所连接组件之间的导电路径可为组件之间的直接导电路径,或所连接组件之间的导电路径可为可包含例如开关、晶体管或其它组件等中间组件的间接导电路径。在一些实例中,可例如使用例如开关或晶体管的一或多个
中间组件将所连接组件之间的信号流动中断一段时间。
137.术语“耦合”是指从组件之间的开路关系移动到组件之间的闭路关系的条件,在所述开路关系中,信号当前无法经由导电路径在组件之间传达,在所述闭路关系中,信号能够经由导电路径在组件之间传达。在例如控制器等组件将其它组件耦合在一起时,组件发起允许信号通过先前不准许信号流动的导电路径在其它组件之间流动的改变。
138.术语“隔离”是指信号当前不能在组件之间流动的组件之间的关系。如果组件之间存在开路,则所述组件彼此隔离。举例来说,由定位在两个组件之间的开关间隔开的所述组件在开关断开时彼此隔离。在控制器隔离两个组件时,所述控制器实现以下改变:阻止信号使用先前准许信号流动的导电路径在组件之间流动。
139.包含存储器阵列的本文中所论述的装置可形成在例如硅、锗、硅锗合金、砷化镓、氮化镓等半导体衬底上。在一些实例中,衬底是半导体晶片。在其它实例中,衬底可为绝缘体上硅(soi)衬底,例如玻璃上硅(sog)或蓝宝石上硅(sop),或另一衬底上的半导体材料的外延层。可通过使用包含但不限于磷、硼或砷的各种化学物种的掺杂来控制衬底或衬底的子区的导电性。可在衬底的初始形成或生长期间,通过离子植入或通过任何其它掺杂方法来执行掺杂。
140.本文中所论述的开关组件或晶体管可表示场效应晶体管(fet),并且包括包含源极、漏极和栅极的三端装置。端子可通过例如金属的导电材料连接到其它电子元件。源极和漏极可为导电的,并且可包括重度掺杂(例如,简并)的半导体区。源极与漏极可通过轻度掺杂的半导体区或沟道分离。如果沟道是n型(即,大部分载流子为电子),则fet可被称为n型fet。如果沟道是p型(即,大部分载流子为空穴),则fet可被称为p型fet。沟道可由绝缘栅极氧化物封端。可通过将电压施加到栅极来控制沟道导电率。举例来说,将正电压或负电压相应地施加到n型fet或p型fet可使得沟道变为导电的。在大于或等于晶体管的阈值电压的电压施加到晶体管栅极时,晶体管可“接通”或“激活”。在小于晶体管的阈值电压的电压施加到晶体管栅极时,晶体管可“断开”或“撤销激活”。
141.本文中结合附图所阐述的描述内容描述了实例配置,并且并不表示可实施的或在权利要求书的范围内的所有实例。本文中所使用的术语“示例性”意味着“充当实例、例子或说明”,并且不“优选于”或“优于其它实例”。具体实施方式包含提供对所描述技术的理解的具体细节。然而,可在无这些具体细节的情况下实践这些技术。在一些例子中,以框图形式展示众所周知的结构和装置以免混淆所描述实例的概念。
142.在附图中,类似组件或特征可具有相同参考标记。此外,可通过在参考标记之后跟着的短划线和在类似组件之间进行区分的第二标记来区分为相同类型的各种组件。如果在说明书中仅使用第一参考标记,则描述内容可适用于具有相同第一参考标记而与第二参考标记无关的类似组件中的任一个。
143.可使用多种不同技艺和技术中的任一个来表示本文中所描述的信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和芯片。
144.可用通用处理器、dsp、asic、fpga或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其被设计成执行本文中所描述的功能的任何组合来实施或执行结合本文中的本公开而描述的各种说明性块和模块。通用处理器可为微处理器,但在替代方案中,处
理器可为任何处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合(例如,dsp与微处理器的组合、多个微处理器、结合dsp核心的一或多个微处理器,或任何其它此类配置)。
145.本文中所描述的功能可以硬件、由处理器执行的软件、固件或其任何组合实施。如果以由处理器执行的软件实施,则功能可作为一或多个指令或代码存储在计算机可读媒体上或经由计算机可读媒体传输。其它实例和实施方案在本公开及所附权利要求书的范围内。举例来说,由于软件的本质,上文所描述的功能可使用由处理器执行的软件、硬件、固件、硬连线或这些中的任一个的组合来实施。实施功能的特征还可物理上位于各种位置处,包含经分布以使得功能的各部分在不同物理位置处实施。并且,如本文中(包含在权利要求书中)所使用,如在项列表(例如,以例如“中的至少一个”或“中的一或多个”的短语开头的项列表)中所使用的“或”指示包含性列表,使得例如a、b或c中的至少一个的列表意味着a或b或c或ab或ac或bc或abc(即,a和b和c)。并且,如本文中所使用,短语“基于”不应被解释为指代封闭条件集。举例来说,在不脱离本公开的范围的情况下,描述为“基于条件a”的示例性步骤可基于条件a和条件b两者。换句话说,如本文中所使用,短语“基于”应以相同方式解释为短语“至少部分地基于”。
146.计算机可读媒体包含非暂时性计算机存储媒体和通信媒体两者,通信媒体包含有助于将计算机程序从一处传送到另一处的任何媒体。非暂时性储存媒体可为可由通用或专用计算机存取的任何可用媒体。借助于实例而非限制,非暂时性计算机可读媒体可包括ram、rom、电可擦除可编程只读存储器(eeprom)、光盘(cd)rom或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于携载或存储呈指令或数据结构形式的所要程序代码构件且可由通用或专用计算机或通用或专用处理器存取的任何其它非暂时性媒体。并且,恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(dsl)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源发射软件,则所述同轴电缆、光纤电缆、双绞线、数字订户线(dsl)或例如红外线、无线电和微波等无线技术包含在媒体的定义中。如本文中所使用的磁盘和光盘包含cd、激光光盘、光学光盘、数字多功能光盘(dvd)、软磁盘和蓝光光盘,其中磁盘通常是以磁性方式再现数据,而光盘是用激光以光学方式再现数据。以上各项的组合还包含在计算机可读媒体的范围内。
147.提供本文中的描述以使本领域的技术人员能够制造或使用本公开。本公开的各种修改对所属领域的技术人员来说将是显而易见的,并且本文中所定义的一般原理可在不脱离本公开的范围的情况下应用于其它变化形式。因此,本公开并不限于本文中所描述的实例和设计,而是应符合与本文中所公开的原理和新颖特征一致的最广范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献