掌桥专利:专业的专利平台
掌桥专利
首页

集中式错误校正电路

文献发布时间:2023-06-19 16:11:11



本专利申请要求SONG等人在2021年1月21日提交的标题为“集中式错误校正电路(CENTRALIZED ERROR CORRECTION CIRCUIT)”的第63/140,096号美国临时专利申请的优先权,所述美国临时专利申请转让给本受让人且以全文引用的方式明确地并入本文中。

技术领域

技术领域涉及集中式错误校正电路。

背景技术

存储器装置广泛用于将信息存储在例如计算机、无线通信装置、相机、数字显示器等各种电子装置中。通过将存储器装置内的存储器单元编程为不同状态来存储信息。举例来说,二进制存储器单元可编程为两个支持状态中的一个,通常由逻辑1或逻辑0标示。在一些实例中,单个存储器单元可支持多于两个状态,可存储所述状态中的任一个。为了存取所存储信息,组件可以读取或感测存储器装置中的至少一个所存储状态。为了存储信息,组件可以对存储器装置中的状态进行写入或编程。

存在各种类型的存储器装置和存储器单元,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、快闪存储器、相变存储器(PCM)、自选存储器、硫属化物存储器技术等。存储器单元可为易失性或非易失性的。例如FeRAM的非易失性存储器即使在不存在外部电源的情况下仍可维持其所存储的逻辑状态很长一段时间。例如DRAM的易失性存储器装置在与外部电源断开连接时可能会丢失其所存储状态。

发明内容

描述了一种设备。所述设备可包含:非易失性存储器,其安置在第一裸片上;易失性存储器,其安置在第二裸片上且经配置以用作用于所述非易失性存储器的高速缓存,所述易失性存储器包括多个存储体;以及接口控制器,其安置在第三裸片上且与所述非易失性存储器和所述易失性存储器耦合,所述接口控制器包括错误校正码(ECC)电路,所述ECC电路与所述易失性存储器耦合且经配置以对从所述易失性存储器接收的一或多个码字进行操作。

描述了一种方法。所述方法可由存储器装置执行且可包含:从安置在第一裸片上的易失性存储器的存储体接收码字,所述易失性存储器用作用于非易失性存储器的高速缓存;使用包含在接口控制器中的ECC电路对来自所述存储体的所述码字执行错误检测操作,所述接口控制器安置在第二裸片上且与所述非易失性存储器和所述易失性存储器耦合;以及至少部分地基于执行所述错误检测操作而将所述码字的数据位从所述接口控制器传达到主机装置。

描述了一种设备。所述设备可包含:非易失性存储器,其安置在第一裸片上,所述非易失性存储器包括多个存储体;易失性存储器,其安置在第二裸片上且经配置以用作用于所述非易失性存储器的高速缓存;以及接口控制器,其安置在第三裸片上且与所述非易失性存储器和所述易失性存储器耦合,所述接口控制器包括ECC电路,所述ECC电路与所述非易失性存储器耦合且经配置以对从所述非易失性存储器接收的一或多个码字进行操作。

描述了一种方法。所述方法可由设备执行且可包含:从安置在第一裸片上的非易失性存储器的存储体接收码字;使用安置在第二裸片上的接口控制器中包含的ECC电路对来自所述存储体的所述码字执行错误检测操作,所述接口控制器与所述非易失性存储器和用作用于所述非易失性存储器的高速缓存的易失性存储器耦合;以及至少部分地基于执行所述错误检测操作而将所述码字的数据位从所述接口控制器传达到主机装置。

附图说明

图1说明根据如本文中所公开的实例的支持集中式错误校正电路的系统的实例。

图2说明根据如本文中所公开的实例的支持集中式错误校正电路的存储器子系统的实例。

图3说明根据如本文中所公开的实例的支持集中式错误校正电路的装置的实例。

图4说明根据如本文中所公开的实例的支持集中式错误校正电路的处理流程的实例。

图5说明根据如本文中所公开的实例的支持集中式错误校正电路的处理流程的实例。

图6说明根据如本文中所公开的实例的支持集中式错误校正电路的处理流程的实例。

图7展示根据如本文中所公开的实例的支持集中式错误校正电路的接口控制器的框图。

图8和9展示说明根据如本文中所公开的实例的支持集中式错误校正电路的一或多种方法的流程图。

具体实施方式

例如电子装置等装置可包含非易失性存储器(例如,用于存储信息以及其它操作的主存储器)和易失性存储器(例如,辅助存储器),所述易失性存储器可用作用于非易失性存储器的高速缓存。此配置可允许装置受益于非易失性存储器的优点(例如,非易失性和永久性存储、高存储容量、低功耗),同时经由易失性存储器维持与主机装置的兼容性。易失性存储器可安置在存储器裸片上且可包含多个存储体。为了提高可靠性,易失性存储器的每一存储体可与存储器裸片上的相应错误校正码(ECC)电路耦合,所述ECC电路检测并校正从所述存储体读取的数据中的错误。但是,在存储器裸片上包含ECC电路会减少可用于例如存储器单元等其它组件的存储器裸片面积,从而减少易失性存储器的容量。

根据本文中所描述的技术,通过在与易失性存储器耦合的存储器控制器的裸片(例如,衬底)上包含用于易失性存储器的ECC电路,可增加易失性存储器的容量,且可实现其它优点。此配置在本文中可被称为集中式ECC电路。集中式ECC电路可经配置以对来自易失性存储器的一些或所有存储体的码字进行操作,且由于与制造存储器控制器相关联的过程更高效且更有效,所述集中式ECC电路可相对快于其它ECC电路(例如,安置在存储器裸片上的ECC电路)。在一些实例中,第二集中式ECC电路还可用于装置的非易失性存储器以(例如,相对于包含一或多个裸片上ECC电路的非易失性存储器)增加非易失性存储器的容量(或减小物理大小),并且存在其它益处。

首先在如参考图1到2所描述的系统和子系统的上下文中描述本公开的特征。在如参考图3所描述的装置和如参考图4至6所描述的处理流程的上下文中描述本公开的特征。通过如参考图7至8所描述的涉及集中式ECC电路的设备图和流程图来进一步说明且参考所述设备图和流程图描述本公开的这些和其它特征。

图1说明根据如本文中所公开的实例的支持集中式错误校正电路的系统100的实例。系统100可包含在例如计算机或电话的电子装置中。系统100可包含主机装置105和存储器子系统110。主机装置105可以是与接口控制器115以及包含系统100的电子装置的其它组件介接的处理器或芯片上系统(SoC)。存储器子系统110可存储和提供对用于主机装置105的电子信息(例如,数字信息、数据)的存取。存储器子系统110可包含接口控制器115、易失性存储器120和非易失性存储器125。在一些实例中,接口控制器115、易失性存储器120和非易失性存储器125可包含在同一物理封装中,例如封装130。然而,接口控制器115、易失性存储器120和非易失性存储器125可安置在不同的相应裸片(例如,硅裸片)上。

系统100中的装置可通过各种导线(例如,迹线、印刷电路板(PCB)布线、再分布层(RDL)布线)耦合,这可使得能够在装置之间传达信息(例如,命令、地址、数据)。导线可构成信道、数据总线、命令总线、地址总线等。

存储器子系统110可经配置以提供非易失性存储器125的益处,同时维持与支持用于不同类型的存储器的协议的主机装置105的兼容性,所述存储器例如易失性存储器120,以及其它实例。举例来说,非易失性存储器125可提供(例如,相对于易失性存储器120的)益处,例如非易失性、较高容量,或较低功耗。但主机装置105可能与非易失性存储器125的各种方面不兼容或低效地配置。举例来说,主机装置105可能支持与非易失性存储器125不兼容的电压、存取等待时间、协议、页大小等。为了补偿主机装置105与非易失性存储器125之间的不兼容性,存储器子系统110可配置有易失性存储器120,其可与主机装置105兼容且充当用于非易失性存储器125的高速缓存。因此,主机装置105可使用易失性存储器120所支持的协议同时受益于非易失性存储器125的优点。

在一些实例中,系统100可包含在计算装置、电子装置、移动计算装置或无线装置中,或与计算装置、电子装置、移动计算装置或无线装置耦合。装置可为便携式电子装置。举例来说,装置可以是计算机、笔记本计算机、平板计算机、智能电话、蜂窝电话、可穿戴装置、因特网连接装置等。在一些实例中,装置可经配置以用于经由基站或存取点进行双向无线通信。在一些实例中,与系统100相关联的装置能够进行机器类型通信(MTC)、机器对机器(M2M)通信或装置对装置(D2D)通信。在一些实例中,与系统100相关联的装置可被称为用户设备(UE)、站(STA)、移动终端等。

主机装置105可经配置以使用接口控制器115所支持的第一协议(例如,低功率双数据速率(LPDDR))与存储器子系统110介接。因此,在一些实例中,主机装置105可与接口控制器115直接介接且与非易失性存储器125和易失性存储器120间接介接。在替代实例中,主机装置105可与非易失性存储器125和易失性存储器120直接介接。主机装置105还可与包含系统100的电子装置的其它组件介接。主机装置105可以是或包含SoC、通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或另一可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件,或其可以是这些类型的组件的组合。在一些实例中,主机装置105可被称为主机。

接口控制器115可经配置以(例如,基于或响应于由主机装置105发出的一或多个命令或请求)代表主机装置105与易失性存储器120和非易失性存储器125介接。举例来说,接口控制器115可代表主机装置105促进易失性存储器120和非易失性存储器125中的数据的检索和存储。因此,接口控制器115可促进各种子组件之间的数据传送,例如在主机装置105、易失性存储器120或非易失性存储器125中的至少一些之间的数据传送。接口控制器115可使用第一协议与主机装置105和易失性存储器120介接且可使用非易失性存储器125所支持的第二协议与非易失性存储器125介接。

非易失性存储器125可以经配置以存储用于包含系统100的电子装置的数字信息(例如,数据)。因此,非易失性存储器125可包含一或多个存储器单元阵列以及经配置以操作存储器单元阵列的本地存储器控制器。在一些实例中,存储器单元可以是或包含FeRAM单元(例如,非易失性存储器125可以是FeRAM)。非易失性存储器125可经配置以使用不同于在接口控制器115与主机装置105之间使用的第一协议的第二协议与接口控制器115介接。在一些实例中,非易失性存储器125可能具有与易失性存储器120相比更长的用于存取操作的等待时间。例如,从非易失性存储器125检索数据可能要比从易失性存储器120检索数据花费更长的时间。类似地,将数据写入到非易失性存储器125可能要比将数据写入到易失性存储器120花费更长的时间。在一些实例中,非易失性存储器125可能具有比易失性存储器120小的页大小,如本文中所描述。

易失性存储器120可经配置以用作用于例如非易失性存储器125的一或多个组件的高速缓存。举例来说,易失性存储器120可存储用于包含系统100的电子装置的信息(例如,数据)。因此,易失性存储器120可包含一或多个存储器单元阵列以及经配置以操作存储器单元阵列的本地存储器控制器。在一些实例中,存储器单元可以是或包含DRAM单元(例如,易失性存储器可以是DRAM)。非易失性存储器125可经配置以使用在接口控制器115与主机装置105之间使用的第一协议与接口控制器115介接。

在一些实例中,易失性存储器120可能具有与非易失性存储器125相比更短的用于存取操作的等待时间。举例来说,从易失性存储器120检索数据与从非易失性存储器125检索数据相比可能需要较少时间。类似地,将数据写入到易失性存储器120可能要比将数据写入到非易失性存储器125花费更少的时间。在一些实例中,易失性存储器120可能具有比非易失性存储器125大的页大小。举例来说,易失性存储器120的页大小可以是2千字节(2kB)且非易失性存储器125的页大小可以是64字节(64B)或128字节(128B)。

虽然非易失性存储器125可为与易失性存储器120相比更高密度的存储器,但存取非易失性存储器125可能要比存取易失性存储器120花费更长的时间(例如,由于架构和协议不同,以及其它原因)。因此,将易失性存储器120用作高速缓存可减少系统100中的等待时间。作为实例,通过从易失性存储器120而不是从非易失性存储器125检索数据,可相对快速地满足对来自主机装置105的数据的存取请求。为了促进作为高速缓存的易失性存储器120的操作,接口控制器115可包含多个缓冲器135。缓冲器135可安置在与接口控制器115相同的裸片上且可经配置以临时存储数据以用于在一或多个存取操作(例如,存储和检索操作)期间在易失性存储器120、非易失性存储器125或主机装置105(或其任何组合)之间传送。

存取操作还可被称为存取过程或存取程序且可涉及由存储器子系统110的组件中的一或多个执行的一或多个子操作。存取操作的实例可包含:存储操作,其中将由主机装置105提供的数据存储在(例如,写入到)易失性存储器120或非易失性存储器125(或这两者)中;以及检索操作,其中从易失性存储器120或非易失性存储器125获得(例如,读取)主机装置105所请求的数据并且将其返回到主机装置105。

为了将数据存储在存储器子系统110中,主机装置105可通过将存储命令(也被称为存储请求、写入命令,或写入请求)传输到接口控制器115来发起存储操作(或“存储过程”)。存储命令可以非易失性存储器125中的一组非易失性存储器单元为目标。在一些实例中,一组存储器单元也可被称为存储器的一部分。主机装置105还可将待写入到所述一组非易失性存储器单元的数据提供到接口控制器115。接口控制器115可将数据临时存储在缓冲器135-a中。在将数据存储在缓冲器135-a中之后,接口控制器115可将数据从缓冲器135-a传送到易失性存储器120或非易失性存储器125或这两者。在直写模式中,接口控制器115可将数据传送到易失性存储器120和非易失性存储器125这两者。在回写模式中,接口控制器115可仅将数据传送到易失性存储器120(其中在稍后的逐出过程期间将数据传送到非易失性存储器125)。

在任一模式中,接口控制器115可识别易失性存储器120中的一组适当的一或多个易失性存储器单元以用于存储与存储命令相关联的数据。为此,接口控制器115可实施组相联映射,其中可将非易失性存储器125中的每一组(例如,块)一或多个非易失性存储器单元映射到易失性存储器120中的多组易失性存储器单元。举例来说,接口控制器115可实施n路相联映射,其允许来自一组非易失性存储器单元的数据存储在易失性存储器120中的n组易失性存储器单元中的一个中。因此,接口控制器115可通过参考与一组目标非易失性存储器单元相关联的n组易失性存储器单元来管理作为用于非易失性存储器125的高速缓存的易失性存储器120。如本文中所使用,除非以其它方式描述或提及,否则“一组”对象可指代对象中的一或多个。虽然参考组相联映射进行了描述,但接口控制器115可通过实施一或多个其它类型的映射来管理作为高速缓存的易失性存储器120,所述映射例如直接映射或相联映射,以及其它实例。

在确定哪n组易失性存储器单元与所述一组目标非易失性存储器单元相关联之后,接口控制器115可将数据存储在n组易失性存储器单元中的一或多个中。因此,通过从较低等待时间易失性存储器120检索数据而不是从较高等待时间非易失性存储器125检索数据,可高效地满足来自主机装置105的针对数据的后续检索命令。接口控制器115可基于或响应于确定与存储在n组易失性存储器120中的数据相关联的一或多个参数(例如数据的有效性、年限或修改状态)而确定n组易失性存储器120中的哪一个存储数据。因此,主机装置105的存储命令可通过将数据存储在易失性存储器120中而完全地(例如,在回写模式中)或部分地(例如,在直写模式中)得到满足。为了跟踪存储在易失性存储器120中的数据,接口控制器115可为一或多组易失性存储器单元(例如,为每一组易失性存储器单元)存储标签地址,所述标签地址用存储在一组给定易失性存储器单元中的数据指示非易失性存储器单元。

为了从存储器子系统110检索数据,主机装置105可通过将检索命令(也被称为检索请求、读取命令或读取请求)传输到接口控制器115来发起检索操作(也被称为检索过程)。检索命令可以非易失性存储器125中的一组一或多个非易失性存储器单元为目标。在接收到检索命令后,接口控制器115可检查易失性存储器120中的所请求数据。举例来说,接口控制器115可检查与所述一组目标非易失性存储器单元相关联的n组易失性存储器单元中的所请求数据。如果n组易失性存储器单元中的一个存储所请求数据(例如,存储用于所述一组目标非易失性存储器单元的数据),那么接口控制器115可将数据从易失性存储器120传送到缓冲器135-a(例如,响应于确定n组易失性存储器单元中的一个是否存储所请求数据,如图4和5中所描述),使得所述数据可传输到主机装置105。

一般来说,术语“命中”可用于指代易失性存储器120存储由主机装置105定为目标的数据的情境。如果n组一或多个易失性存储器单元未存储所请求数据(例如,n组易失性存储器单元存储用于除所述一组目标非易失性存储器单元以外的一组非易失性存储器单元的数据),那么接口控制器115可将所请求数据从非易失性存储器125传送到缓冲器135-a(例如,响应于确定n组易失性存储器单元是否未存储所请求数据,如参考图4和5所描述),使得所述数据可传输到主机装置105。一般来说,术语“未命中”可用于指代易失性存储器120未存储由主机装置105定为目标的数据的情境。

更具体地说,写入命中可指代易失性存储器120中的数据与由来自主机装置的写入命令定为目标的非易失性存储器地址相关联(例如,与存储在所述非易失性存储器地址处的数据匹配)的情境;而写入未命中可指代易失性存储器120中不存在与非易失性存储器地址相关联的数据的情境。

在未命中情境中,在将所请求数据传送到缓冲器135-a之后,接口控制器115可将所请求数据从缓冲器135-a传送到易失性存储器120,使得对数据的后续读取请求可通过易失性存储器120而不是非易失性存储器125得到满足。举例来说,接口控制器115可在与所述一组目标非易失性存储器单元相关联的n组易失性存储器单元中的一个中存储数据。但n组易失性存储器单元可能已存储用于其它数组非易失性存储器单元的数据。因此,为了保留此其它数据,接口控制器115可将其它数据传送到缓冲器135-b,使得所述其它数据可被传送到非易失性存储器125以用于存储。此过程可被称为“逐出”,且从易失性存储器120传送到缓冲器135-b的数据可被称为“受害”数据。在一些情况下,接口控制器115可将受害数据的子集从缓冲器135-b传送到非易失性存储器125。举例来说,接口控制器115可传送自从数据最初存储在非易失性存储器125中以来已改变的受害数据的一或多个子集。在易失性存储器120与非易失性存储器125之间不一致(例如,由于一个存储器中有更新而另一存储器中无更新)的数据在一些情况下可被称为“已修改”或“脏”数据。在一些实例中(例如,如果接口控制器在例如回写模式的一个模式中操作),脏数据可以是存在于易失性存储器120中但不存在于非易失性存储器125中的数据。

系统100可包含支持一或多个集中式错误校正电路的任何数量的非暂时性计算机可读媒体。举例来说,主机装置105、接口控制器115、易失性存储器120或非易失性存储器125可包含或以其它方式可存取一或多个非暂时性计算机可读媒体,所述非暂时性计算机可读媒体存储指令(例如,固件)以执行本文中归于主机装置105、接口控制器115、易失性存储器120或非易失性存储器125的功能。举例来说,此类指令在由主机装置105(例如,由主机装置控制器)、由接口控制器115、由易失性存储器120(例如,由本地控制器)或由非易失性存储器125(例如,由本地控制器)执行时可使得主机装置105、接口控制器115、易失性存储器120或非易失性存储器125执行如本文中所描述的相关联功能。

如所提到,易失性存储器120可包含多个存储体,其相对于单个存储体的使用可减少开销(例如,用于管理易失性存储器的存储信息),并且存在其它优点。易失性存储器120的存储体可全部连同例如控制器等控制组件和支持电路系统一起安置在单个存储器裸片上。为了提高可靠性,易失性存储器120的至少一些存储体(如果不是每一存储体的话)可具有同样安置在存储器裸片上的相关联ECC电路。与存储体相关联的ECC电路可经配置以对来自(或用于)所述存储体的数据进行操作。然而,出于各种原因,例如与存储器裸片相关联的制造限制,用于存储体的ECC电路可能无法像可读取数据那样快速地校正数据(例如,错误校正等待时间可能长于读出等待时间)。此等待时间差异可能使得单个裸片上ECC电路无法用于易失性存储器120,因为ECC电路可能是传出数据的瓶颈,导致在传出数据总线上传达数据时出现间隙。但如上文所描述,向存储器裸片添加额外的ECC电路以允许并行ECC操作会减少可用于存储器单元的存储器裸片的面积。另外,在存储器裸片上使用每存储体ECC电路可能会增加功耗和等待时间,并且存在其它缺点。

根据本文中所描述的技术,通过将接口控制器115的裸片(“控制器裸片”)上的ECC电路用于易失性存储器120,可相对于其它配置增加易失性存储器120的容量,且可减少功耗和等待时间。由于与控制器裸片相关联的过程相对于存储器裸片更快,所以控制器裸片上的ECC电路可能比其它ECC电路(例如存储器裸片上的那些ECC电路)更快(例如,错误校正等待时间可能短于数据读出等待时间),这准许将集中式ECC电路用于易失性存储器120的一些或所有存储体。因此,可改进系统容量、功耗和等待时间。虽然参考易失性存储器120进行了描述,但出于类似原因且具有类似优点,本文中所描述的集中式ECC电路技术还可用于非易失性存储器125(例如,通过将接口控制器115的裸片(“控制器裸片”)上的ECC电路用于非易失性存储器125)。

ECC电路在本文中还可被称为ECC逻辑、ECC电路系统、ECC组件或其它合适的术语。集中式ECC电路还可被称为“裸片外”裸片ECC电路,其中术语“裸片外”是相对于存储器裸片(例如,可包含易失性存储器120或非易失性存储器125或这两者的裸片)。

图2说明根据如本文中所公开的实例的支持集中式错误校正电路的存储器子系统200的实例。存储器子系统200可以是参考图1所描述的存储器子系统110的实例。因此,存储器子系统200可与如参考图1所描述的主机装置交互。存储器子系统200可包含接口控制器202、易失性存储器204和非易失性存储器206,其可分别是如参考图1所描述的接口控制器115、易失性存储器120和非易失性存储器125的实例。因此,接口控制器202可代表如参考图1所描述的主机装置与易失性存储器204和非易失性存储器206介接。举例来说,接口控制器202可将易失性存储器204用作用于非易失性存储器206的高速缓存。将易失性存储器204用作高速缓存可允许子系统提供非易失性存储器206的益处(例如,非易失性、高密度存储),同时维持与支持不同于非易失性存储器206的协议的主机装置的兼容性。

在图2中,组件之间的虚线表示数据流或数据的传达路径,且组件之间的实线表示命令流或命令的传达路径。在一些情况下,存储器子系统200是可包含在电子装置中的多个类似或相同子系统中的一个。在一些实例中,每一子系统可被称为切片且可与主机装置的相应信道相关联。

非易失性存储器206可经配置以用作用于主机装置的主存储器(例如,用于长期数据存储的存储器)。在一些情况下,非易失性存储器206可包含FeRAM单元的一或多个阵列。每一FeRAM单元可包含选择组件和铁电电容器,且可通过将适当电压施加到例如字线、板线和数字线的一或多个存取线来存取。在一些实例中,可例如并行地或同时地感测与被激活字线耦合的FeRAM单元的子集,而不必感测与被激活字线耦合的所有FeRAM单元。因此,用于FeRAM阵列的页大小可不同于(例如,小于)DRAM页大小。在存储器装置的上下文中,页可指代成一行的存储器单元(例如,具有共同行地址的存储器单元的群组),且页大小可指代成一行的存储器单元或列地址的数目,或在存取操作期间存取的列地址的数目。替代地,页大小可指代由各种接口处置的数据的大小,或行能够存储的数据量。在一些情况下,不同的存储器装置类型可具有不同的页大小。举例来说,DRAM页大小(例如,2kB)可以是非易失性存储器(例如,FeRAM)页大小(例如,64B)的超集。

FeRAM阵列的较小页大小可提供各种效率益处,这是因为与单独DRAM单元相比,单独FeRAM单元可能需要更多功率来读取或写入。举例来说,用于FeRAM阵列的较小页大小可促进有效能量使用,这是因为较小数目个FeRAM单元可在信息的相关联改变微小的情况下激活。在一些实例中,取决于利用FeRAM操作的数据和命令的本质,用于FeRAM单元阵列的页大小可例如动态地改变(例如,在FeRAM单元阵列的操作期间)。

虽然与单独DRAM单元相比,单独FeRAM单元可能需要更多功率来读取或写入,但FeRAM单元可在不存在外部电源的情况下维持其所存储的逻辑状态很长一段时间,这是因为FeRAM单元中的铁电材料可在不存在电场的情况下维持非零电极化。因此,在非易失性存储器206中包含FeRAM阵列可相对于易失性存储器单元(例如,易失性存储器204中的DRAM单元)提供功率和效率益处,这是因为其可减少或消除对执行刷新操作的需求。

易失性存储器204可经配置以用作用于非易失性存储器206的高速缓存。在一些情况下,易失性存储器204可包含DRAM单元的一或多个阵列。每一DRAM单元可包含电容器,所述电容器包含用以存储表示可编程状态的电荷的介电材料。易失性存储器204的存储器单元可在逻辑上分组或布置成一或多个存储器存储体(如在本文中被称为“存储体”)。举例来说,易失性存储器204可包含十六个存储体。存储体的存储器单元可布置在栅格或相交列和行的阵列中,且每一存储器单元可通过将适当电压施加到用于所述存储器单元的数字线(例如,列线)和字线(例如,行线)来存取或刷新。存储体的行可称为页,且页大小可指代行中的列或存储器单元的数目(且因此,行能够存储的数据量)。如所提到,易失性存储器204的页大小可不同于(例如,大于)非易失性存储器206的页大小。

接口控制器202可包含用于与例如主机装置、易失性存储器204和非易失性存储器206的其它装置介接(例如,通信)的各种电路。举例来说,接口控制器202可包含数据(DA)总线接口208、命令和地址(C/A)总线接口210、数据总线接口212、C/A总线接口214、数据总线接口216,以及C/A总线接口264。数据总线接口可支持使用一或多个通信协议来传达信息。举例来说,数据总线接口208、C/A总线接口210、数据总线接口216和C/A总线接口264可支持使用第一协议(例如,LPDDR信令)传达的信息,而数据总线接口212和C/A总线接口214可支持使用第二协议传达的信息。因此,与接口控制器202耦合的各种总线接口可支持不同的数据量或数据速率。

数据总线接口208可与数据总线260、事务总线222和缓冲器电路系统224耦合。数据总线接口208可经配置以经由数据总线260传输和接收数据且经由事务总线222传输和接收控制信息(例如,确认/否定确认)或元数据。数据总线接口208还可经配置以在数据总线260与缓冲器电路系统224之间传送数据。数据总线260和事务总线222可与接口控制器202和主机装置耦合,使得在接口控制器202与主机装置之间建立导电路径。在一些实例中,事务总线222的引脚可被称为数据掩蔽反转(DMI)引脚。虽然展示为具有一条数据总线260和一条事务总线222,但可存在与一或多个数据总线接口208耦合的任何数目个数据总线260和任何数目个事务总线222。

C/A总线接口210可与C/A总线226和解码器228耦合。C/A总线接口210可经配置以经由C/A总线226传输和接收命令和地址。经由C/A总线226接收的命令和地址可与经由数据总线260接收或传输的数据相关联。C/A总线接口210还可经配置以将命令和地址传输到解码器228,使得解码器228可对命令进行解码且将已解码命令和相关联地址转送到命令电路系统230。

数据总线接口212可与数据总线232和存储器接口电路系统234耦合。数据总线接口212可经配置以经由数据总线232传输和接收数据,所述数据总线可与非易失性存储器206耦合。数据总线接口212还可经配置以在数据总线232与存储器接口电路系统234之间传送数据。C/A总线接口214可与C/A总线236和存储器接口电路系统234耦合。C/A总线接口214可经配置以从存储器接口电路系统234接收命令和地址且经由C/A总线236将命令和地址转送到非易失性存储器206(例如,转送到非易失性存储器206的本地控制器)。经由C/A总线236传输的命令和地址可与经由数据总线232接收或传输的数据相关联。数据总线232和C/A总线236可与接口控制器202和非易失性存储器206耦合,使得在接口控制器202与非易失性存储器206之间建立导电路径。

数据总线接口216可与数据总线238(例如,数据总线238-a、数据总线238-b)和存储器接口电路系统240耦合。数据总线接口216可经配置以经由数据总线238传输和接收数据,所述数据总线可与易失性存储器204耦合。数据总线接口216还可经配置以在数据总线238与存储器接口电路系统240之间传送数据。C/A总线接口264可与C/A总线242和存储器接口电路系统240耦合。C/A总线接口264可经配置以从存储器接口电路系统240接收命令和地址且经由C/A总线242将命令和地址转送到易失性存储器204(例如,转送到易失性存储器204的本地控制器)。经由C/A总线242传输的命令和地址可与经由数据总线238接收或传输的数据相关联。数据总线238和C/A总线242可与接口控制器202和易失性存储器204耦合,使得在接口控制器202与易失性存储器204之间建立导电路径。

除了用于与所耦合装置通信的总线和总线接口之外,接口控制器202还可包含用于将非易失性存储器206用作主存储器且将易失性存储器204用作高速缓存的电路系统。举例来说,接口控制器202可包含命令电路系统230、缓冲器电路系统224、高速缓存管理电路系统244、一或多个引擎246,以及一或多个调度器248。

命令电路系统230可与缓冲器电路系统224、解码器228、高速缓存管理电路系统244和调度器248以及其它组件耦合。命令电路系统230可经配置以从解码器228接收命令和地址信息且将命令和地址信息存储在队列250中。命令电路系统230可包含逻辑262,所述逻辑处理命令信息(例如,来自主机装置)且存储来自其它组件(例如,高速缓存管理电路系统244、缓冲器电路系统224)的信息且使用所述信息来生成用于调度器248的一或多个命令。命令电路系统230还可经配置以将地址信息(例如,地址位)传送到高速缓存管理电路系统244。在一些实例中,逻辑262可以是经配置以用作有限状态机(FSM)的电路。

缓冲器电路系统224可与数据总线接口208、命令电路系统230、存储器接口电路系统234和存储器接口电路系统234耦合。缓冲器电路系统224可包含用于易失性存储器204的至少一些存储体(如果不是每一存储体的话)的一组一或多个缓冲器电路。缓冲器电路系统224还可包含用于存取缓冲器电路的组件(例如,存储器控制器)。在一个实例中,易失性存储器204可包含十六个存储体且缓冲器电路系统224可包含十六组缓冲器电路。每一组缓冲器电路可经配置以存储来自或用于(或来自且用于)易失性存储器204的相应存储体的数据。作为实例,用于存储体0(BK0)的缓冲器电路组可经配置以存储来自或用于(或来自且用于)易失性存储器204的第一存储体的数据,且用于存储体15(BK15)的缓冲器电路可经配置以存储来自或用于(或来自且用于)易失性存储器204的第十六存储体的数据。

缓冲器电路系统224中的每一组缓冲器电路可包含一对缓冲器。所述一对缓冲器可包含:一个缓冲器(例如,打开页数据(OPD)缓冲器),其经配置以存储由来自主机装置的存取命令(例如,写入命令或读取命令)定为目标的数据;以及另一缓冲器(例如,受害页数据(VPD)缓冲器),其经配置以存储用于存取命令所引起的逐出过程的数据。举例来说,用于BK0的缓冲器电路组可包含缓冲器218和缓冲器220,其可分别为缓冲器135-a和135-b的实例。缓冲器218可经配置以存储由来自主机装置的存取命令定为目标的BK0数据。并且缓冲器220可经配置以存储从BK0传送的数据,作为由存取命令触发的逐出过程的一部分。缓冲器电路组中的每一缓冲器可配置有对应于易失性存储器204的页大小的大小(例如,存储容量)。举例来说,如果易失性存储器204的页大小是2kB,那么每一缓冲器的大小可以是2kB。因此,在一些实例中,缓冲器的大小可等同于易失性存储器204的页大小。

高速缓存管理电路系统244可与命令电路系统230、引擎246和调度器248以及其它组件耦合。高速缓存管理电路系统244可包含用于易失性存储器的一或多个存储体(例如,每一存储体)的高速缓存管理电路组。作为实例,高速缓存管理电路系统244可包含用于BK0到BK15的十六个高速缓存管理电路组。每一高速缓存管理电路组可包含两个存储器阵列,所述存储器阵列可经配置以存储用于易失性存储器204的存储信息。作为实例,用于BK0的高速缓存管理电路组可包含存储器阵列252(例如,高速缓存DRAM标签阵列(CDT-TA))和存储器阵列254(例如,CDRAM有效(CDT-V)阵列),其可经配置以存储用于BK0的存储信息。在一些实例中,存储器阵列也可被称为阵列或缓冲器。在一些情况下,存储器阵列可以是或包含易失性存储器单元,例如静态RAM(SRAM)单元。

存储信息(或“元数据”)可包含与易失性存储器204相关联的内容信息、有效性信息或脏信息(或其任何组合),以及其它实例。内容信息(其也可被称为标签信息或地址信息)可指示哪一数据存储在一组易失性存储器单元中。举例来说,易失性存储器204的行的内容信息(例如,标签地址)可指示哪一组一或多个非易失性存储器单元当前具有存储在所述行中的数据。如所提到,有效性信息可指示存储在一组易失性存储器单元中的数据是实际数据(例如,具有预期次序或形式的数据)还是占位符数据(例如,随机或虚拟的数据,不具有预期或重要次序)。并且脏信息可指示存储在易失性存储器204的一组一或多个易失性存储器单元中的数据是否不同于存储在非易失性存储器206的一组一或多个非易失性存储器单元中的对应数据。举例来说,脏信息可指示存储在一组易失性存储器单元中的数据是否已相对于存储在非易失性存储器206中的数据而更新。

存储器阵列252可包含存储用于易失性存储器204的相关联存储体(例如,BK0)的存储信息(例如,标签信息、有效性信息、脏信息)的存储器单元。存储信息可在每行基础上存储(例如,相关联的非易失性存储器存储体的每一行可存在相应存储信息)。接口控制器202可通过参考存储器阵列252中的存储信息来检查易失性存储器204中的所请求数据。举例来说,接口控制器202可从主机装置接收针对非易失性存储器206中的一组非易失性存储器单元中的数据的检索命令。接口控制器202可使用由存取请求定为目标的一组一或多个地址位(例如,一组行地址位)来参考存储器阵列252中的存储信息。举例来说,使用组相联映射,接口控制器202可参考存储器阵列252中的内容信息以确定哪一组易失性存储器单元(如果存在的话)存储所请求数据。

除了存储用于易失性存储器单元的内容信息之外,存储器阵列252还可存储有效性信息,所述有效性信息指示一组易失性存储器单元中的数据是实际数据(也被称为有效数据)还是随机数据(也被称为无效数据)。举例来说,易失性存储器204中的易失性存储器单元可最初存储随机数据且继续这样做,直到易失性存储器单元被写入来自主机装置或非易失性存储器206的数据为止。为了跟踪哪些数据有效,存储器阵列252可经配置以在实际数据存储在所述一组易失性存储器单元中的情况下设置每一组(例如,行)易失性存储器单元的位。此位可被称为有效性位或有效性旗标。与内容信息一样,存储在存储器阵列252中的有效性信息可在每行基础上存储。因此,在一些实例中,每一有效性位可指示存储在相关联行中的数据的有效性。

在一些实例中,存储器阵列252可存储指示一组(例如,行)易失性存储器单元是否存储任何脏数据的脏信息。类似于有效性信息,存储在存储器阵列252中的脏信息可在每行基础上存储。

存储器阵列254可类似于存储器阵列252且还可包含存储用于与存储器阵列252相关联的易失性存储器204的存储体(例如,BK0)的存储信息的存储器单元。举例来说,存储器阵列254可存储用于易失性存储器204的存储体的有效性信息和脏信息。然而,存储在存储器阵列254中的存储信息可在子块基础而不是每行基础上存储。举例来说,存储在存储器阵列254的存储器单元中的有效性信息可指示用于易失性存储器204的行中的易失性存储器单元的子集的数据的有效性。

作为实例,存储器阵列254中的有效性信息可指示存储在易失性存储器204的BK0的行中的每一数据子集(例如,32B或64B)的有效性。类似地,存储在存储器阵列254的存储器单元中的脏信息可指示易失性存储器204的行中的易失性存储器单元的哪一子集存储脏数据。举例来说,存储器阵列254中的脏信息可指示存储在易失性存储器204的BK0的行的数据的每一子集(例如,32B或64B)的脏状态。在每行基础上将存储信息(例如,标签信息、有效性信息)存储在存储器阵列252中可允许接口控制器202确定易失性存储器204中的数据是存在命中还是未命中。在子块基础上将存储信息(例如,有效性信息、脏信息)存储在存储器阵列254中可允许接口控制器202确定数据的哪些子集返回到主机装置(例如,在检索过程期间)且数据的哪些子集保留在非易失性存储器206中(例如,在逐出过程期间)。

每一高速缓存管理电路组还可包含相应一对寄存器,所述相应一对寄存器与命令电路系统230、引擎246、存储器接口电路系统234、存储器接口电路系统240和用于所述高速缓存管理电路组的存储器阵列以及其它组件耦合。举例来说,高速缓存管理电路组可包含第一寄存器(例如,寄存器256,其可以是打开页标签(OPT)寄存器),所述第一寄存器经配置以从存储器阵列252或调度器248-b或这两者接收存储信息(例如,标签信息、有效性信息或脏信息、其它信息或任何组合的一或多个位)。高速缓存管理电路系统组还可包含第二寄存器(例如,可以是受害页标签(VPT)寄存器的寄存器258),所述第二寄存器经配置以从存储器阵列254和调度器248-a或这两者接收存储信息(例如,有效性信息和/或脏信息或这两者)。寄存器256和寄存器258中的信息可传送到命令电路系统230和引擎246以实现由这些组件作出决策。举例来说,命令电路系统230可基于或响应于寄存器256和/或寄存器258或这两者中的存储信息而发出读取非易失性存储器206或易失性存储器204的命令。

引擎246-a可与寄存器256、寄存器258和调度器248耦合。引擎246-a可经配置以从各种组件接收存储信息且基于存储信息而将命令发出到调度器248。举例来说,如果接口控制器202在例如直写模式的第一模式中,那么引擎246-a可将命令发出到调度器248-b,且作为响应,调度器248-b发起或促进从缓冲器218到易失性存储器204和非易失性存储器206这两者的数据传送。替代地,如果接口控制器202处于例如回写模式的第二模式中,那么引擎246-a可将命令发出到调度器248-b,且作为响应,调度器248-b可发起或促进从缓冲器218到易失性存储器204的数据传送。在回写操作的情况下,在后续逐出过程期间,存储在易失性存储器204中的数据可最终被传送到非易失性存储器206。

引擎246-b可与寄存器258和调度器248-a耦合。引擎246-b可经配置以从寄存器258接收存储信息且基于存储信息而将命令发出到调度器248-a。举例来说,引擎246-b可将命令发出到调度器248-a以发起或促进从缓冲器220到非易失性存储器206的脏数据传送(例如,作为逐出过程的一部分)。如果缓冲器220保留从易失性存储器204传送的一组数据(例如,受害数据),则引擎246-b可指示缓冲器220中的所述一组数据的哪一或多个子集(例如,哪些64B)应传送到非易失性存储器206。

调度器248-a可与接口控制器202的各种组件耦合,且可通过将命令发出到存储器接口电路系统234来促进存取非易失性存储器206。调度器248-a发出的命令可基于或响应于来自命令电路系统230、引擎246-a、引擎246-b或这些组件的组合的命令。类似地,调度器248-b可与接口控制器202的各种组件耦合,且可通过将命令发出到存储器接口电路系统240来促进存取易失性存储器204。调度器248-b发出的命令可基于或响应于来自命令电路系统230或引擎246-a或这两者的命令。

存储器接口电路系统234可经由数据总线接口212和C/A总线接口214中的一或多个与非易失性存储器206通信。举例来说,存储器接口电路系统234可提示C/A总线接口214经由C/A总线236将由存储器接口电路系统234发出的命令转送到非易失性存储器206中的本地控制器。并且存储器接口电路系统234可经由数据总线232将数据传输到非易失性存储器206或从非易失性存储器206接收数据。在一些实例中,由存储器接口电路系统234发出的命令可由非易失性存储器206而不是易失性存储器204支持(例如,由存储器接口电路系统234发出的命令可不同于由存储器接口电路系统240发出的命令)。

存储器接口电路240可经由数据总线接口216和C/A总线接口264中的一或多个与易失性存储器204通信。举例来说,存储器接口电路系统240可提示C/A总线接口264经由C/A总线242将由存储器接口电路系统240发出的命令转送到易失性存储器204的本地控制器。并且存储器接口电路系统240可经由一或多个数据总线238将数据传输到易失性存储器204或从易失性存储器204接收数据。在一些实例中,由存储器接口电路系统240发出的命令可由易失性存储器204而非非易失性存储器206支持(例如,由存储器接口电路系统240发出的命令可不同于由存储器接口电路系统234发出的命令)。

总之,接口控制器202的组件可将非易失性存储器206用作主存储器且将易失性存储器204用作高速缓存。此操作可由从主机装置接收的一或多个存取命令(例如,读取/检索命令/请求和写入/存储命令/请求)提示。

在一些实例中,接口控制器202可从主机装置接收存储命令。存储命令可经由C/A总线226接收到且经由C/A总线接口210和解码器228中的一或多个传送到命令电路系统230。存储命令可包含或伴随有以非易失性存储器206的存储器地址为目标的地址位。待存储的数据可经由数据总线260接收到且经由数据总线接口208传送到缓冲器218。在直写模式中,接口控制器202可将数据传送到非易失性存储器206和易失性存储器204这两者。在回写模式中,接口控制器202可仅将数据传送到易失性存储器204。

在任一模式中,接口控制器202可首先检查以查看易失性存储器204是否具有可用于存储数据的存储器单元。为此,命令电路系统230可参考存储器阵列252(例如,使用一组存储器地址位)以确定与存储器地址相关联的n组(例如,行)易失性存储器单元中的一或多个是否为空(例如,存储随机或无效数据)。举例来说,命令电路系统230可基于存储在存储器阵列252中的标签信息和有效性信息而确定n组(例如,行)易失性存储器单元中的一或多个是否可用。在一些情况下,易失性存储器204中的一组易失性存储器单元可被称为线、高速缓存线或行。

如果n组相关联易失性存储器单元中的一个可用于存储信息,那么接口控制器202可将数据从缓冲器218传送到易失性存储器204以用于存储在所述一组易失性存储器单元中。但是如果数组相关联易失性存储器单元不为空,那么接口控制器202可发起逐出过程以在易失性存储器204中为数据腾出空间。逐出过程可涉及将受害数据从n组相关联易失性存储器单元中的一个传送到缓冲器220。用于受害数据的脏信息可从存储器阵列254传送到寄存器258以用于识别受害数据的脏子集。在将受害数据存储在缓冲器220中之后,可将新数据从缓冲器218传送到易失性存储器204且可将受害数据从缓冲器220传送到非易失性存储器206。在一些情况下,将旧数据的脏子集传送到非易失性存储器206且丢弃干净子集(例如,未修改子集)。引擎246-b可基于或响应于在逐出过程期间从存储器阵列254传送到寄存器258的脏信息而识别脏子集。

在另一实例中,接口控制器202可从主机装置接收检索命令。检索命令可经由C/A总线226接收到且经由C/A总线接口210和解码器228中的一或多个传送到命令电路系统230。检索命令可包含以非易失性存储器206的存储器地址为目标的地址位。在尝试存取非易失性存储器206的目标存储器地址之前,接口控制器202可检查以查看易失性存储器204是否存储数据。为此,命令电路系统230可参考存储器阵列252(例如,使用一组存储器地址位)以确定与存储器地址相关联的n组(例如,行)易失性存储器单元中的一或多个是否存储所请求数据。如果所请求数据存储在易失性存储器204中,那么接口控制器202可将所请求数据传送到缓冲器218以用于经由数据总线260传输到主机装置。

如果所请求数据未存储在易失性存储器204中,则接口控制器202可从非易失性存储器206检索数据且将数据传送到缓冲器218以用于经由数据总线260传输到主机装置。另外,接口控制器202可将所请求数据从缓冲器218传送到易失性存储器204,使得可在后续检索操作期间以较低等待时间存取数据。然而,在传送所请求数据之前,接口控制器202可首先确定n组相关联易失性存储器单元中的一或多个是否可用于存储所请求数据。接口控制器202可通过与相关的高速缓存管理电路组通信来确定n组相关联易失性存储器单元的可用性。如果一组相关联易失性存储器单元是可用的,那么接口控制器202可将缓冲器218中的数据传送到易失性存储器204而不执行逐出过程。否则,接口控制器202可在执行逐出过程之后将数据从缓冲器218传送到易失性存储器204。

存储器子系统200可在包含单芯片版本和多芯片版本的一或多个配置中实施。多芯片版本可在与包含存储器子系统200的一或多个其它组成部分的芯片分开的芯片上包含存储器子系统200的一或多个组成部分,包含接口控制器202、易失性存储器204和非易失性存储器206(以及其它组成部分或组成部分的组合)。举例来说,在一个多芯片版本中,相应分开的芯片可包含接口控制器202、易失性存储器204和非易失性存储器206中的每一个。相比之下,单芯片版本可在单个芯片上包含接口控制器202、易失性存储器204和非易失性存储器206。

如所提到,易失性存储器204可包含多个存储体(例如,将例如存储信息的开销保持在可管理水平),且每一存储体可具有相关联的ECC电路以补偿缓慢的ECC操作(例如,由于与易失性存储器204的存储器裸片相关联的缓慢过程)。类似地,非易失性存储器206可包含多个存储体,且每一存储体可具有相关联的ECC电路。但是在用于易失性存储器204和非易失性存储器206的存储器裸片上包含每存储体ECC电路会减少易失性存储器204和非易失性存储器206的容量。根据本文中所描述的技术,通过在接口控制器202上使用易失性存储器204的第一ECC逻辑且在接口控制器202上使用非易失性存储器206的第二ECC逻辑,可增加易失性存储器204和非易失性存储器206的容量(或可减小易失性存储器204和非易失性存储器206的物理大小),作为一个实例。

虽然参考用于易失性存储器204和非易失性存储器206的相应集中式ECC电路进行了描述,但还替代地考虑单个集中式ECC电路。单个集中式ECC电路可服务于易失性存储器204或非易失性存储器206中的一个或两个。如果单个集中式ECC电路服务于易失性存储器204,那么非易失性存储器206可在非易失性存储器206的存储器裸片上具有每存储体ECC电路。如果单个集中式ECC电路服务于非易失性存储器206,那么易失性存储器204可在易失性存储器204的存储器裸片上具有每存储体ECC电路。

图3说明根据如本文中所公开的实例的支持集中式错误校正电路的装置300的实例。装置300可为如参考图1所描述的存储器子系统110或如参考图2所描述的存储器子系统200的实例。所述装置可包含接口控制器302、易失性存储器305和非易失性存储器310,其可经由一或多个传输线或总线或这两者彼此耦合。如本文中所描述,装置300可将集中式ECC电路315用于易失性存储器305、非易失性存储器310或这两者。

虽然包含在同一物理封装中,但接口控制器302、易失性存储器305和非易失性存储器310可安置在两个或多个不同的裸片上。举例来说,接口控制器302可安置在第一裸片320-a上,易失性存储器可安置在第二裸片320-b上,且非易失性存储器310可安置在第三裸片320-c上。可利用其它裸片不支持(或与其它裸片不兼容)且使得与接口控制器302相关联的过程更快的高级技术来制造第一裸片320-a。因此,相比于安置在存储器裸片(例如第二裸片320-b或第三裸片320-c)上的ECC电路,安置在第一裸片320-a上的ECC电路(例如包含在接口控制器302中的ECC电路315-a)可能更快。尽管展示为安置在不同裸片上,但在一些实例中,易失性存储器305和非易失性存储器310可安置在同一裸片上。

易失性存储器305可包含表示为存储体0到存储体7的多个存储体,以及支持控制器和电路系统,例如I/O电路。易失性存储器305可将错误校正操作分担到第一裸片320-a上的集中式ECC电路,例如ECC电路315-a,而不是将第二裸片320-b上的每存储体ECC电路用于错误校正。虽然展示有八个存储体,但对于易失性存储器305,考虑其它数量的存储体。

非易失性存储器310可包含表示为存储体0到存储体7的多个存储体。非易失性存储器310可将其错误校正操作分担到第一裸片320-a上的集中式ECC电路,例如ECC电路315-b,而不是将第三裸片320-c上的八个ECC电路用于存储体的错误校正操作(例如,每存储体一个ECC电路)。虽然展示有八个存储体,但对于非易失性存储器310,考虑其它数量的存储体。

在高电平下,ECC电路315-a可对易失性存储器305执行编码操作和解码操作。举例来说,ECC电路315-a可对来自主机装置的数据位进行编码以生成用于存储在易失性存储器305的存储体中的码字。在ECC电路315-a生成码字之后,接口控制器302可将码字传达到易失性存储器305,例如,以供存储。如果主机装置请求存储在易失性存储器305中的数据,那么ECC电路315-a可从易失性存储器305接收包含所述数据的码字且对码字进行解码以检测任何错误。在ECC电路315-a校正数据中的任何检测到的错误之后,接口控制器302可将数据传送到主机装置。

因此,ECC电路315-a可允许接口控制器302检测和校正由易失性存储器305存储的数据中的错误(例如,一位错误、两位错误)。具体来说,ECC电路315-a可编码(例如,生成)用于存储在易失性存储器305中的码字,且对来自易失性存储器305的码字进行解码。举例来说,ECC电路315-a可使用编码器325来生成奇偶校验位,所述奇偶校验位如果与数据位组合,那么形成可由存储器子系统110使用以检测码字中的错误的码字。奇偶校验位可通过将错误校正码应用于数据位(可包含通过由例如一系列XOR逻辑门构成的逻辑电路传送数据位)来生成。在ECC电路315-a生成码字之后,接口控制器302可将码字传达到易失性存储器305以用于存储在适当存储体中。已编码码字可例如经由I/O电路335-b从接口控制器302传达到易失性存储器305。

如果主机装置请求存储在易失性存储器305中的数据位,那么易失性存储器305可读取包含数据位的码字且将所述码字传达到接口控制器302。因此,未校正的码字可例如经由I/O电路335-b传达到接口控制器302。ECC电路315-a可使用解码器330通过执行码字的一系列逻辑运算来对码字进行解码以检测码字中的任何错误。如果解码器330检测码字的数据位中的一或多个错误,那么解码器330(或ECC电路315-a中的额外电路系统,或这两者的某一组合)可在将数据位传达到主机装置之前校正所述错误。因此,ECC电路315-a可在将数据返回到主机装置之前检测和校正来自易失性存储器305的数据中的错误。

在一些实例中,ECC电路315-a可另外或替代地服务于非易失性存储器310。举例来说,ECC电路315-a可对用于非易失性存储器310的数据进行编码且对来自非易失性存储器310的数据进行解码(类似于ECC电路315-a可对用于易失性存储器305的数据进行编码且对来自易失性存储器305的数据进行解码的方式)。然而,如果对易失性存储器305和非易失性存储器310使用不同的错误校正码以及有其它原因,那么对这两个存储器使用相同的集中式ECC电路可能相对更复杂。因此,替代地,非易失性存储器310可由ECC电路315-b提供服务。举例来说,ECC电路315-b可对用于非易失性存储器310的数据进行编码且对来自非易失性存储器310的数据进行解码。因此,ECC电路315-b可类似于ECC电路315-a进行操作,且可包含用于编码的编码器和用于解码的解码器。编码和解码可通常被称为ECC操作。编码器还可被称为编码器电路、编码器电路系统、编码器逻辑或其它合适的术语。解码器还可被称为解码器电路、解码器电路系统、解码器逻辑或其它合适的术语。

因此,易失性存储器305和非易失性存储器310的错误校正操作可分担到第一裸片320-a上的ECC电路315,相对于其它配置,这可增加第二裸片320-b、第三裸片320-c或这两者上用于存储器单元的空间,以及其它优点。

图4说明根据如本文中所公开的实例的支持集中式错误校正电路的处理流程400的实例。处理流程400可由如参考图1所描述的存储器子系统110或接口控制器115、如参考图2所描述的存储器子系统200或接口控制器202或如参考图3所描述的装置300或接口控制器302或其任何组合实施。然而,其它类型的装置可实施处理流程400。处理流程400可说明将一或多个集中式ECC电路用于易失性存储器和非易失性存储器的ECC操作的装置的操作。

为了便于参考,参考装置描述处理流程400。举例来说,处理流程400的方面可由包含安置在两个或更多个不同裸片上的接口控制器、易失性存储器和非易失性存储器的装置实施。另外或替代地,处理流程400的方面可实施为存储在存储器中的指令(例如,存储在易失性存储器120或非易失性存储器125或这两者中的固件)。举例来说,指令如果由控制器执行,那么可使控制器执行处理流程400的操作。

在405处,可例如从易失性存储器接收第一码字。举例来说,接口控制器302可经由I/O电路335-b从易失性存储器305接收第一码字。第一码字可从存储体B0到B7中的任一个中的存储器单元读取,且可包含数据位和基于数据位生成的奇偶校验位。数据位可为主机装置所请求的数据位或逐出程序中涉及的数据位,以及其它实例。

在410处,可对第一码字执行错误检测操作。举例来说,ECC电路315-a可经由解码器330对第一码字进行解码以检测第一码字中的任何错误。在415处,可执行错误校正操作。举例来说,ECC电路315-a可经由解码器330或其它电路系统校正在第一码字中检测到的一或多个错误。校正错误可指代反转错误的码字的位。在一些实例中,ECC电路315-a可经配置以校正码字的数据位中的错误,但不校正码字的奇偶校验位中的错误(例如,因为数据位可返回到主机装置,而奇偶校验位无法返回到主机装置)。如果在410处未检测到错误,那么ECC电路315-a可跳过415处的错误校正操作。

在420处,可将第一码字的数据位传达到例如主机装置。举例来说,接口控制器302可将第一码字的数据位传达到主机装置。另外或替代地,可将数据位传达到非易失性存储器310(例如,作为用以在易失性存储器305中腾出一些空间的逐出程序的一部分)。

在425处,可例如从非易失性存储器接收第二码字。举例来说,接口控制器302可经由I/O电路335-c从非易失性存储器310接收第二码字。第二码字可从非易失性存储器310的存储体B0到B7中的任一个中的存储器单元读取,且可包含数据位和基于数据位生成的奇偶校验位。数据位可为主机装置所请求的数据位或填充程序(例如,在存在读取未命中的情况下发生的程序,其中来自非易失性存储器310的数据存储在易失性存储器305)中涉及的数据位。

在430处,可对第二码字执行错误检测操作。举例来说,ECC电路315-b可经由解码器对第二码字进行解码以检测第二码字中的任何错误。在435处,可执行错误校正操作。举例来说,ECC电路315-b可经由解码器或其它电路系统校正在第二码字中检测到的一或多个错误。在一些实例中,ECC电路315-b可经配置以校正码字的数据位中的错误,但不校正码字的奇偶校验位中的错误(例如,因为数据位可返回到主机装置,而奇偶校验位无法返回到主机装置)。如果在430处未检测到错误,那么ECC电路315-b可跳过435处的错误校正操作。

在440处,可将第二码字的数据位传达到例如主机装置。举例来说,接口控制器302可将第二码字的数据位传达到主机装置。另外或替代地,可将数据位传达到易失性存储器305(例如,作为填充程序的一部分)。

因此,装置可将一或多个集中式ECC电路用于易失性存储器和非易失性存储器的ECC操作。举例来说,装置可将第一集中式ECC电路用于易失性存储器的ECC操作且将第二集中式ECC电路用于非易失性存储器的ECC操作。在另一实例中,装置可将单个集中式ECC电路用于易失性存储器和非易失性存储器两者的ECC操作。在另一实例中,装置可将集中式ECC电路用于存储器中的一个的ECC操作,且可将一或多个裸片上ECC电路用于其它存储器的ECC操作。应了解,对来自易失性存储器的第一码字执行的ECC操作可与对来自非易失性存储器的第二码字执行的ECC操作在相同时间执行(例如,与之并行执行、同时执行),或在不同时间执行。

可实施前述内容的替代实例,其中一些操作以与所描述次序不同的次序执行、并行地执行或根本不执行。在一些情况下,操作可包含下文未提及的额外特征,或可添加另外的操作。另外,可多次执行某些操作,或可重复或循环操作的某些组合。

图5说明根据如本文中所公开的实例的支持集中式错误校正电路的处理流程500的实例。处理流程500可由如参考图1所描述的存储器子系统110或接口控制器115、如参考图2所描述的存储器子系统200或接口控制器202或如参考图3所描述的装置300或接口控制器302或其任何组合实施。然而,其它类型的装置可实施处理流程500。处理流程500可说明将集中式ECC电路用于易失性存储器的多个存储体的ECC操作的装置的操作。虽然参考易失性存储器305进行了描述,但处理流程500的操作可针对非易失性存储器310以类似方式实施。

为了便于参考,参考装置描述处理流程500。举例来说,处理流程500的方面可由包含安置在不同裸片上的接口控制器和易失性存储器的装置实施。另外或替代地,处理流程500的方面可实施为存储在存储器中的指令(例如,存储在易失性存储器120或非易失性存储器125或这两者中的固件)。举例来说,指令如果由控制器执行,那么可使控制器执行处理流程500的操作。

在505处,可例如从易失性存储器的第一存储体接收第一码字。举例来说,接口控制器302可经由I/O电路335-b从易失性存储器305的存储体B0接收第一码字。第一码字可包含第一组数据位和基于第一组数据位生成的奇偶校验位。第一组数据位可为主机装置所请求的数据位或逐出程序中涉及的数据位,或这两者。

在510处,可例如从易失性存储器的第二存储体接收第二码字。举例来说,接口控制器302可经由I/O电路335-b从易失性存储器305的存储体B1接收第二码字。第二码字可包含第二组数据位和基于第二组数据位生成的奇偶校验位。第二组数据位可为主机装置所请求的数据位或逐出程序中涉及的数据位,或这两者。

在515处,可对第一码字执行ECC操作。举例来说,ECC电路315-a可对第一码字执行错误检测程序(例如,解码器330可对第一码字进行解码),且如果检测到一或多个错误,那么对第一码字执行错误校正程序。在520处,可对第二码字执行ECC操作。举例来说,ECC电路315-a可对第二码字执行错误检测程序(例如,解码器330可对第二码字进行解码),且如果检测到一或多个错误,那么对第二码字执行错误校正程序。在一些实例中,515或520处的ECC操作可并行地执行(例如,与至少部分重叠并行,或与对准同时)或可串行地执行。

在525处,可传达来自第一码字的第一组数据位。举例来说,接口控制器302可将第一组数据位传达到主机装置、非易失性存储器310(例如,作为逐出程序的一部分)或这两者。在530处,可传达来自第二码字的第二组数据位。举例来说,接口控制器302可将第二组数据位传达到主机装置、非易失性存储器310(例如,作为逐出程序的一部分)或这两者。

因此,装置可将集中式ECC电路用于易失性存储器的多个存储体的ECC操作。

可实施前述内容的替代实例,其中一些操作以与所描述次序不同的次序执行、并行地执行或根本不执行。在一些情况下,操作可包含下文未提及的额外特征,或可添加另外的操作。另外,可多次执行某些操作,或可重复或循环操作的某些组合。

图6说明根据如本文中所公开的实例的支持集中式错误校正电路的处理流程600的实例。处理流程600可由如参考图1所描述的存储器子系统110或接口控制器115、如参考图2所描述的存储器子系统200或接口控制器202或如参考图3所描述的装置300或接口控制器302或其任何组合实施。然而,其它类型的装置可实施处理流程600。处理流程600可说明使用集中式ECC电路对来自易失性存储器的码字执行读取-修改-写入(RMW)操作的装置的操作。

为了便于参考,参考装置描述处理流程600。举例来说,处理流程600的方面可由包含安置在不同裸片上的接口控制器和易失性存储器的装置实施。另外或替代地,处理流程600的方面可实施为存储在存储器中的指令(例如,存储在易失性存储器120或非易失性存储器125或这两者中的固件)。举例来说,指令在由控制器执行时可使控制器执行处理流程600的操作。

在605处,可接收例如部分写入命令等命令。举例来说,接口控制器302可从主机装置接收部分写入命令。部分写入命令可以存储器地址为目标(例如,与存储器地址相关联)。部分写入命令可为与大小不足以(例如,过小而无法)存取易失性存储器305的一组数据相关联的写入命令,易失性存储器305可具有用于存取的阈值大小。举例来说,如果易失性存储器305具有64B的阈值大小,那么部分写入命令可与32B的数据相关联。

在610处,可接收码字。举例来说,接口控制器302可接收与由部分写入命令定为目标的存储器地址相关联的码字。响应于由接口控制器302发送到易失性存储器305的请求,可从易失性存储器305接收码字(例如,在易失性存储器305读取码字之后)。

在615处,可对码字执行ECC操作。举例来说,ECC电路315-a可对码字执行错误检测程序(例如,解码器330可对第一码字进行解码),且如果检测到一或多个错误,那么对码字执行错误校正程序。

在620处,可修改来自码字的数据位(例如,通过基于与部分写入命令相关联的数据用新值改写数据位)。举例来说,如果码字包含一组数据位,那么接口控制器302可修改那些数据位的子集(例如,64B中的32B)以反映与部分写入命令相关联的数据位。

在625处,可对所述一组数据位(包含已修改的数据位子集)进行编码以形成码字,所述码字包含数据位和基于所述一组数据位生成的奇偶校验位。因此,可生成或“编码”新的码字。在630处,可将新的码字传达到易失性存储器305以供存储。因此,装置可对码字执行读取-修改-写入操作以满足部分写入命令。

可实施前述内容的替代实例,其中一些操作以与所描述次序不同的次序执行、并行地执行或根本不执行。在一些情况下,操作可包含下文未提及的额外特征,或可添加另外的操作。另外,可多次执行某些操作,或可重复或循环操作的某些组合。

图7展示根据如本文中所公开的实例的支持集中式错误校正电路的接口控制器720的框图700。接口控制器720可为如参考图1到6所描述的接口控制器的方面的实例。接口控制器720或其各种组件可为用于执行如本文中所描述的集中式错误校正电路的各种方面的装置的实例。举例来说,接口控制器720可包含易失性存储器(VM)接收电路725、VM ECC电路730、主机传输电路735、非易失性存储器(NVM)接收电路740、NVM ECC电路745、VM传输电路750、主机接收电路755、NVM传输电路760或其任何组合。这些组件中的每一个可直接或间接地(例如,经由一或多个总线)彼此通信。

接收电路725可以是或包含数据总线、数据总线接口、逻辑、电路系统、处理器、控制器或能够执行本文中所描述的功能的其它组件。VM ECC电路730可以是或包含能够执行本文中所描述的功能的逻辑、电路、控制器、寄存器、锁存器、缓冲器或其它组件的组合。主机传输电路735可以是或包含数据总线、数据总线接口、逻辑、电路系统、处理器、控制器或能够执行本文中所描述的功能的其它组件。NVM接收电路740可以是或包含数据总线、数据总线接口、逻辑、电路系统、处理器、控制器或能够执行本文中所描述的功能的其它组件。NVM ECC电路745可以是或包含能够执行本文中所描述的功能的逻辑、电路、控制器、寄存器、锁存器、缓冲器或其它组件的组合。VM传输电路750可以是或包含数据总线、数据总线接口、逻辑、电路系统、处理器、控制器或能够执行本文中所描述的功能的其它组件。主机接收电路755可以是或包含数据总线、数据总线接口、逻辑、电路系统、处理器、控制器或能够执行本文中所描述的功能的其它组件。NVM传输电路760可以是或包含数据总线、数据总线接口、逻辑、电路系统、处理器、控制器或能够执行本文中所描述的功能的其它组件。

VM接收电路725可被配置为或以其它方式支持用于从安置在第一裸片上的易失性存储器的存储体接收码字的装置,所述易失性存储器用作用于非易失性存储器的高速缓存。VM ECC电路730可被配置为或以其它方式支持用于使用包含在接口控制器中的ECC电路对来自存储体的码字执行错误检测操作的装置,所述接口控制器安置在第二裸片上且与非易失性存储器和易失性存储器耦合。主机传输电路735可被配置为或以其它方式支持用于至少部分地基于执行错误检测操作而将码字的数据位从接口控制器传达到主机装置的装置。

在一些实例中,VM ECC电路730可被配置为或以其它方式支持用于至少部分地基于执行错误检测操作而检测码字中的错误的装置。在一些实例中,VM ECC电路730可被配置为或以其它方式支持用于在将码字的数据位传达到主机装置之前使用ECC电路来校正错误的装置。

在一些实例中,VM ECC电路730可被配置为或以其它方式支持用于从易失性存储器的第二存储体接收第二码字的装置。在一些实例中,VM ECC电路730可被配置为或以其它方式支持用于使用包含在接口控制器中的ECC电路对来自第二存储体的第二码字执行错误检测操作的装置。

在一些实例中,码字包含包含数据位的一组数据位,且VM ECC电路730可被配置为或以其它方式支持用于在执行错误检测操作之后由接口控制器修改所述一组数据位的数据位子集的装置。在一些实例中,码字包含包含数据位的一组数据位,且VM ECC电路730可被配置为或以其它方式支持用于在更新数据位子集以生成更新后码字之后由接口控制器对所述一组数据位进行编码的装置。在一些实例中,码字包含包含数据位的一组数据位,且VM传输电路750可被配置为或以其它方式支持用于将更新后码字从接口控制器传达到易失性存储器以供存储的装置。

在一些实例中,主机接收电路755可被配置为或以其它方式支持用于在接口控制器处接收来自主机装置的一组数据的装置。在一些实例中,VM ECC电路730可被配置为或以其它方式支持用于至少部分地基于所述一组数据而使用ECC电路对第二码字进行编码的装置。在一些实例中,VM传输电路750可被配置为或以其它方式支持用于将第二码字从接口控制器传达到易失性存储器的装置。

在一些实例中,NVM接收电路740可被配置为或以其它方式支持用于从非易失性存储器的存储体接收第二码字的装置。在一些实例中,NVM ECC电路745可被配置为或以其它方式支持用于使用包含在接口控制器中的第二ECC电路对第二码字执行错误检测操作的装置。

NVM接收电路740可被配置为或以其它方式支持用于从安置在第一裸片上的非易失性存储器的存储体接收码字的装置。NVM ECC电路745可被配置为或以其它方式支持用于使用安置在第二裸片上的接口控制器中包含的ECC电路对来自存储体的码字执行错误检测操作的装置,所述接口控制器与非易失性存储器和用作用于非易失性存储器的高速缓存的易失性存储器耦合。在一些实例中,主机传输电路735可被配置为或以其它方式支持用于至少部分地基于执行错误检测操作而将码字的数据位从接口控制器传达到主机装置的装置。

在一些实例中,VM ECC电路745可被配置为或以其它方式支持用于至少部分地基于执行错误检测操作而检测码字中的错误的装置。在一些实例中,VM ECC电路745可被配置为或以其它方式支持用于在将码字的数据位传达到主机装置之前使用ECC电路来校正错误的装置。

在一些实例中,NVM接收电路740可被配置为或以其它方式支持用于从非易失性存储器的第二存储体接收第二码字的装置。在一些实例中,VM ECC电路745可被配置为或以其它方式支持用于使用包含在接口控制器中的ECC电路对来自第二存储体的第二码字执行错误检测操作的装置。

在一些实例中,主机接收电路755可被配置为或以其它方式支持用于在接口控制器处接收来自主机装置的一组数据的装置。在一些实例中,NVM ECC电路745可被配置为或以其它方式支持用于至少部分地基于所述一组数据而使用ECC电路对第二码字进行编码的装置。在一些实例中,VM传输电路760可被配置为或以其它方式支持用于将第二码字从接口控制器传达到非易失性存储器的装置。

在一些实例中,VM接收电路725可被配置为或以其它方式支持用于从易失性存储器的存储体接收第二码字的装置。在一些实例中,VM ECC电路730可被配置为或以其它方式支持用于使用包含在接口控制器中的第二ECC电路对第二码字执行错误检测操作的装置。

图8展示说明根据如本文中所公开的实例的支持集中式错误校正电路的方法800的流程图。方法800的操作可由如本文中所描述的接口控制器或其组件实施。举例来说,方法800的操作可由如参考图1到7所描述的接口控制器执行。在一些实例中,接口控制器可执行一组指令以控制装置的功能元件来执行所描述的功能。另外或替代地,接口控制器可使用专用硬件来执行所描述功能的方面。

在805处,所述方法可包含从安置在第一裸片上的易失性存储器的存储体接收码字,所述易失性存储器用作用于非易失性存储器的高速缓存。可根据如本文中所公开的实例执行805的操作。在一些实例中,805的操作的方面可由如参考图7所描述的VM接收电路725执行。

在810处,所述方法可包含使用包含在接口控制器中的ECC电路对来自存储体的码字执行错误检测操作,所述接口控制器安置在第二裸片上且与非易失性存储器和易失性存储器耦合。可根据如本文中所公开的实例执行810的操作。在一些实例中,810的操作的方面可由如参考图7所描述的VM ECC电路730执行。

在815处,所述方法可包含至少部分地基于执行错误检测操作而将码字的数据位从接口控制器传达到主机装置。可根据如本文所公开的实例执行815的操作。在一些实例中,815的操作的方面可由如参考图7所描述的主机传输电路735执行。

在一些实例中,如本文中所描述的设备可执行一或多种方法,例如方法800。所述设备可包含用于进行以下操作的特征、电路系统、逻辑、装置或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):从安置在第一裸片上的易失性存储器的存储体接收码字,所述易失性存储器用作用于非易失性存储器的高速缓存;使用包含在接口控制器中的ECC电路对来自存储体的码字执行错误检测操作,所述接口控制器安置在第二裸片上且与非易失性存储器和易失性存储器耦合;以及至少部分地基于执行错误检测操作而将码字的数据位从接口控制器传达到主机装置。

方法800和本文中所描述的设备的一些实例可进一步包含用于进行以下操作的操作、特征、电路系统、逻辑、装置或指令:至少部分地基于执行错误检测操作而检测码字中的错误;以及在将码字的数据位传达到主机装置之前使用ECC电路来校正错误。

方法800和本文中所描述的设备的一些实例可进一步包含用于进行以下操作的操作、特征、电路系统、逻辑、装置或指令:从易失性存储器的第二存储体接收第二码字;以及使用包含在接口控制器中的ECC电路对来自第二存储体的第二码字执行错误检测操作。

在方法800和本文中所描述的设备的一些实例中,码字包含包含数据位的一组数据位,并且所述方法、设备和非暂时性计算机可读媒体可进一步包含用于进行以下操作的操作、特征、电路系统、逻辑、装置或指令:在可执行错误检测操作之后由接口控制器修改所述一组数据位的数据位子集;在更新数据位子集以生成更新后码字之后由接口控制器对所述一组数据位进行编码;以及将更新后码字从接口控制器传达到易失性存储器以供存储。

方法800和本文中所描述的设备的一些实例可进一步包含用于进行以下操作的操作、特征、电路系统、逻辑、装置或指令:在接口控制器处接收来自主机装置的一组数据;至少部分地基于所述一组数据而使用ECC电路对第二码字进行编码;以及将第二码字从接口控制器传达到易失性存储器。

方法800和本文中所描述的设备的一些实例可进一步包含用于进行以下操作的操作、特征、电路系统、逻辑、装置或指令:从非易失性存储器的存储体接收第二码字;以及使用包含在接口控制器中的第二ECC电路对第二码字执行错误检测操作。

图9展示说明根据如本文中所公开的实例的支持集中式错误校正电路的方法900的流程图。方法900的操作可由如本文中所描述的接口控制器或其组件实施。举例来说,方法900的操作可由如参考图1到7所描述的接口控制器执行。在一些实例中,接口控制器可执行一组指令以控制装置的功能元件来执行所描述的功能。另外或替代地,接口控制器可使用专用硬件来执行所描述功能的方面。

在905处,所述方法可包含从安置在第一裸片上的非易失性存储器的存储体接收码字。可根据如本文中所公开的实例执行905的操作。在一些实例中,905的操作的方面可由如参考图7所描述的NVM接收电路740执行。

在910处,所述方法可包含使用安置在第二裸片上的接口控制器中包含的ECC电路对来自存储体的码字执行错误检测操作,所述接口控制器与非易失性存储器和用作用于非易失性存储器的高速缓存的易失性存储器耦合。可根据如本文中所公开的实例执行910的操作。在一些实例中,910的操作的方面可由如参考图7所描述的NVM ECC电路745执行。

在915处,所述方法可包含至少部分地基于执行错误检测操作而将码字的数据位从接口控制器传达到主机装置。可根据如本文中所公开的实例执行915的操作。在一些实例中,915的操作的方面可由如参考图7所描述的主机传输电路735执行。

在一些实例中,如本文中所描述的设备可执行一或多种方法,例如方法900。所述设备可包含用于进行以下操作的特征、电路系统、逻辑、装置或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):从安置在第一裸片上的非易失性存储器的存储体接收码字;使用安置在第二裸片上的接口控制器中包含的ECC电路对来自存储体的码字执行错误检测操作,所述接口控制器与非易失性存储器和用作用于非易失性存储器的高速缓存的易失性存储器耦合;以及至少部分地基于执行错误检测操作而将码字的数据位从接口控制器传达到主机装置。

方法900和本文中所描述的设备的一些实例可进一步包含用于进行以下操作的操作、特征、电路系统、逻辑、装置或指令:至少部分地基于执行错误检测操作而检测码字中的错误;以及在将码字的数据位传达到主机装置之前使用ECC电路来校正错误。

方法900和本文中所描述的设备的一些实例可进一步包含用于进行以下操作的操作、特征、电路系统、逻辑、装置或指令:从非易失性存储器的第二存储体接收第二码字;以及使用包含在接口控制器中的ECC电路对来自第二存储体的第二码字执行错误检测操作。

方法900和本文中所描述的设备的一些实例可进一步包含用于进行以下操作的操作、特征、电路系统、逻辑、装置或指令:在接口控制器处接收来自主机装置的一组数据;至少部分地基于所述一组数据而使用ECC电路对第二码字进行编码;以及将第二码字从接口控制器传达到非易失性存储器。

方法900和本文中所描述的设备的一些实例可进一步包含用于进行以下操作的操作、特征、电路系统、逻辑、装置或指令:从易失性存储器的存储体接收第二码字;以及使用包含在接口控制器中的第二ECC电路对第二码字执行错误检测操作。

应注意,本文中所描述的方法描述可能的实施方案,且操作和步骤可经重新布置或以其它方式修改,且其它实施方案是可能的。此外,可组合来自所述方法中的两种或更多种的部分。

描述了一种设备。所述设备可包含:非易失性存储器,其安置在第一裸片上;易失性存储器,其安置在第二裸片上且经配置以用作用于非易失性存储器的高速缓存,所述易失性存储器包含多个存储体;以及接口控制器,其安置在第三裸片上且与非易失性存储器和易失性存储器耦合,接口控制器包含ECC电路,所述ECC电路与易失性存储器耦合且经配置以对从易失性存储器接收的一或多个码字进行操作。

在所述设备的一些实例中,ECC电路包含经配置以对用于存储在易失性存储器中的码字进行编码的编码器电路和用以对从易失性存储器接收的码字进行解码的解码器电路。

在所述设备的一些实例中,易失性存储器包含I/O电路,所述I/O电路经配置以将未校正的码字传达到接口控制器且从接口控制器接收码字。

在一些实例中,所述设备可包含接口控制器中包含的第二ECC电路,所述第二ECC电路与非易失性存储器耦合且经配置以对从非易失性存储器接收的码字进行操作。

在所述设备的一些实例中,第二ECC电路包含经配置以对用于存储在非易失性存储器中的码字进行编码的编码器电路和用以对从非易失性存储器接收的码字进行解码的解码器电路。

在所述设备的一些实例中,非易失性存储器包含I/O电路,所述I/O电路经配置以将未校正的码字传达到接口控制器且从接口控制器接收码字。

在所述设备的一些实例中,第一裸片、第二裸片和第三裸片可包含在同一封装中。

描述了另一种设备。所述设备可包含:非易失性存储器,其安置在第一裸片上,所述非易失性存储器包含多个存储体;易失性存储器,其安置在第二裸片上且经配置以用作用于非易失性存储器的高速缓存;以及接口控制器,其安置在第三裸片上且与非易失性存储器和易失性存储器耦合,所述接口控制器包含ECC电路,所述ECC电路与非易失性存储器耦合且经配置以对从非易失性存储器接收的一或多个码字进行操作。

在所述设备的一些实例中,ECC电路包含经配置以对用于存储在非易失性存储器中的码字进行编码的编码器电路和用以对从非易失性存储器接收的码字进行解码的解码器电路。

在所述设备的一些实例中,易失性存储器包含I/O电路,所述I/O电路经配置以将未校正的码字传达到接口控制器且从接口控制器接收码字。

在一些实例中,所述设备可包含接口控制器中包含的第二ECC电路,所述第二ECC电路与易失性存储器耦合且经配置以对从易失性存储器接收的码字进行操作。

在所述设备的一些实例中,第二ECC电路包含经配置以对用于存储在易失性存储器中的码字进行编码的编码器电路和用以对从易失性存储器接收的码字进行解码的解码器电路。

在所述设备的一些实例中,易失性存储器包含I/O电路,所述I/O电路经配置以将未校正的码字传达到接口控制器且从接口控制器接收码字。

在所述设备的一些实例中,第一裸片、第二裸片和第三裸片可包含在同一封装中。

应注意,上文所描述的方法描述可能的实施方案,且操作和步骤可经重新布置或以其它方式修改,且其它实施方案是可能的。此外,可组合来自方法中的两种或更多种的部分。

如果用于描述条件性动作或过程,则术语“如果”、“当”、“基于”、“至少部分地基于”和“响应于”可互换。

可使用多种不同技艺和技术中的任一种来表示本文中所描述的信息和信号。举例来说,可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。一些图式可将信号说明为单个信号;然而,所属领域的一般技术人员将理解,所述信号可表示信号总线,其中总线可具有多种位宽度。

协议可定义支持以供装置或组件使用的一或多个通信程序和一或多个通信参数。举例来说,协议可定义各种操作、用于那些操作的计时和频率、各种命令或信号或两者的含义、用于一或多个存储器的一或多个寻址方案、其中保留引脚的类型的通信、在例如接口的各种组件处处置的数据的大小、例如接口的各种组件所支持的数据速率,或例如接口的各种组件所支持的带宽,以及其它参数和度量,或其任何组合。共享协议的使用可实现装置之间的交互,这是因为每一装置可以另一装置所预期、辨识和理解的方式来操作。举例来说,支持相同协议的两个装置可根据由协议定义的策略、程序和参数来交互,而支持不同协议的两个装置可能是不兼容的。

为了说明,支持不同协议的两个装置可能不兼容的原因是协议定义不同的寻址方案(例如,不同数量的地址位)。作为另一说明,支持不同协议的两个装置可能不兼容的原因是协议定义不同传送程序以用于对单个命令作出响应(例如,响应于命令所准许的字节的突发长度或数量可能不同)。仅将命令转换为动作不应被理解为两个不同协议的使用。实际上,如果由两个协议定义的对应的程序或参数发生改变,则协议可被视作不同的。举例来说,如果装置支持不同寻址方案或不同传送程序以用于对命令作出响应,那么装置可称为支持两个不同协议。

术语“电子连通”、“导电接触”、“连接”和“耦合”可指组件之间支持信号在组件之间流动的关系。如果在组件之间存在可在任何时间支持信号在组件之间流动的任何导电路径,那么组件被视为彼此电子连通(或彼此导电接触,或彼此连接,或彼此耦合)。在任何给定时间,基于包含所连接组件的装置的操作,彼此电子连通(或彼此导电接触,或彼此连接,或彼此耦合)的组件之间的导电路径可以是开路或闭路。所连接组件之间的导电路径可以是组件之间的直接导电路径,或所连接组件之间的导电路径可以是可包含例如开关、晶体管或其它组件的中间组件的间接导电路径。在一些实例中,可例如使用例如开关或晶体管的一或多个中间组件将所连接组件之间的信号流中断一段时间。

术语“耦合”指代从组件之间的开路关系移动到组件之间的闭路关系的条件,在所述开路关系中,信号当前无法经由导电路径在组件之间传达,在所述闭路关系中,信号能够经由导电路径在组件之间传达。当例如控制器的组件将其它组件耦合在一起时,组件发起允许信号经由先前不准许信号流动的导电路径在其它组件之间流动的改变。

术语“隔离”指代信号当前无法在组件之间流动的组件之间的关系。如果组件之间存在开路,那么组件彼此分离。举例来说,由定位在两个组件之间的开关分开的所述组件在开关断开时彼此隔离。当控制器隔离两个组件时,所述控制器实现以下改变:阻止信号使用先前准许信号流动的导电路径在组件之间流动。

本文中论述的包含存储器阵列的装置可形成于例如硅、锗、硅锗合金、砷化镓、氮化镓等半导体衬底上。在一些实例中,衬底是半导体晶片。在其它实例中,衬底可以是绝缘体上硅(SOI)衬底,例如玻璃上硅(SOG)或蓝宝石上硅(SOP),或另一衬底上的半导体材料的外延层。可通过使用包含但不限于磷、硼或砷的各种化学物种的掺杂来控制衬底或衬底的子区的导电性。可在衬底的初始形成或生长期间,通过离子植入或通过任何其它掺杂手段来进行掺杂。

本文中所论述的开关组件或晶体管可表示场效应晶体管(FET),且包括包含源极、漏极和栅极的三端装置。端子可通过例如金属的导电材料连接到其它电子元件。源极和漏极可以是导电的,且可包括经重掺杂半导体区,例如简并半导体区。源极与漏极可通过轻掺杂半导体区或沟道分离。如果沟道是n型(即,大部分载流子为电子),那么FET可被称作n型FET。如果沟道是p型(即,大部分载流子是空穴),那么FET可被称为p型FET。沟道可由绝缘栅极氧化物封端。可通过将电压施加到栅极来控制沟道导电率。举例来说,将正电压或负电压分别施加到n型FET或p型FET可使沟道变为导电的。当大于或等于晶体管的阈值电压的电压被施加到晶体管栅极时,晶体管可“接通”或“被激活”。当小于晶体管的阈值电压的电压被施加到晶体管栅极时,晶体管可“断开”或“被撤销激活”。

本文中结合附图阐述的描述内容描述了实例配置,且并不表示可以实施的或在权利要求书的范围内的所有实例。本文中所使用的术语“示范性”意指“充当实例、例子或说明”,且不“优选于”或“优于其它实例”。详细描述包含提供对所描述的技术的理解的具体细节。然而,可以在没有这些具体细节的情况下实施实施例。在一些情况下,以框图形式展示众所周知的结构及装置以免混淆所描述实例的概念。

在附图中,类似的组件或特征可具有相同的参考标记。此外,可通过在参考标记后跟着短划线和区分类似组件的第二标记来区分相同类型的各种组件。如果在说明书中仅使用第一参考标记,那么描述内容适用于具有相同第一参考标记而与第二参考标记无关的类似组件中的任何一个。

可使用多种不同技艺和技术中的任一种来表示本文中所描述的信息和信号。举例来说,可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。

结合本文中的公开内容所描述的各种说明性块和模块可用经设计以执行本文中所描述的功能的通用处理器、DSP、ASIC、FPGA或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或执行。通用处理器可为微处理器,但在替代方案中,处理器可以是任何处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合(例如,DSP和微处理器的组合、多个微处理器、与DSP核心结合的一或多个微处理器,或任何其它此类配置)。

本文中所描述的功能可以硬件、由处理器执行的软件、固件或其任何组合来实施。如果以由处理器执行的软件来实施,那么可将功能作为一或多个指令或代码存储在计算机可读媒体上或经由计算机可读媒体予以传输。其它实例及实施方案在本公开及所附权利要求书的范围内。举例来说,由于软件的性质,上文所描述的功能可使用由处理器执行的软件、硬件、固件、硬连线或这些中的任一个的组合来实现。实施功能的特征还可在物理上位于各个位置处,包含经分布以使得功能的部分在不同物理位置处实施。并且,如本文中所使用,包含在权利要求书中,项目的列表(例如,以例如“中的至少一个”或“中的一或多个”等短语开始的项目的列表)中所使用的“或”指示包含性列表,使得例如A、B或C中的至少一个的列表意指A或B或C或AB或AC或BC或ABC(即,A和B和C)。并且,如本文中所使用,短语“基于”不应被理解为指代一组封闭条件。举例来说,在不脱离本公开的范围的情况下,描述为“基于条件A”的示范性步骤可基于条件A和条件B两者。换句话说,如本文中所使用,短语“基于”应同样地解释为短语“至少部分地基于”。

计算机可读媒体包含非暂时性计算机存储媒体和通信媒体两者,通信媒体包含有助于将计算机程序从一处传送到另一处的任何媒体。非暂时性存储媒体可为可由通用或专用计算机存取的任何可用媒体。借助于实例而非限制,非暂时性计算机可读媒体可包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、光盘(CD)ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用以携载或存储呈指令或数据结构形式的所要程序代码装置且可由通用或专用计算机或通用或专用处理器存取的任何其它非暂时性媒体。并且,适当地将任何连接称为计算机可读媒体。举例来说,如果使用同轴电缆、光缆、双绞线、数字订户线(DSL)或例如红外线、无线电和微波的无线技术从网站、服务器或其它远程源传输软件,则所述同轴电缆、光缆、双绞线、数字订户线(DSL)或例如红外线、无线电和微波的无线技术包含在媒体的定义中。如本文中所使用,磁盘和光盘包含CD、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。上述的组合还包含在计算机可读媒体的范围内。

提供本文中的描述以使所属领域的技术人员能够制造或使用本公开。所属领域的技术人员将清楚对本公开的各种修改,且本文中所定义的一般原理可应用于其它变化形式而不会脱离本公开的范围。因此,本公开不限于本文中所描述的实例和设计,而是被赋予与本文中所公开的原理和新颖特征一致的最广范围。

技术分类

06120114735580