具有可配置错误校正码(ECC)数据保护的系统和存储器及相关方法与流程


具有可配置错误校正码(ecc)数据保护的系统和存储器及相关方法
1.优先权申请
2.本技术要求2020年5月12日提交的标题为“memory with system ecc”的美国临时专利申请序列第63/023,640号的优先权,该申请通过引用整体并入本文。
3.本技术还要求2021年4月30日提交的标题为“system and memory with configurable error-correction code(ecc)data protection and related methods”的美国专利申请序列第17/245,981号的优先权,该申请通过引用整体并入本文。
技术领域
4.本公开总体涉及具有带有增强的错误检测和/或错误校正校正方案的存储器的方法和装置,并且更特别地,涉及使用系统检错码(ecc)的存储器。


背景技术:



5.计算设备(例如,膝上型计算机、移动电话等)可以包括一个或若干处理器来执行各种计算功能,诸如拨号服务、无线数据访问和相机/视频功能等。存储器是计算设备的重要部件。处理器可以耦合到存储器以执行上述计算功能。例如,处理器可以从存储器获取指令以执行计算功能和/或在存储器内存储用于处理这些计算功能的临时数据等。


技术实现要素:



6.本发明内容标识了一些示例方面的特征,并且不是对所公开主题的排他性或穷尽性描述。描述了另外的特征和方面,并且在读取了以下具体实施方式并且查看了形成其一部分的附图后,这些特征和方面对于本领域技术人员来说将变得显而易见。
7.根据至少一个实施例的装置包括:存储器,被配置为经由至少一个数据连接和至少一个非数据连接与主机通信。该存储器包括存储器阵列。存储器阵列包括第一部分和第二部分。存储器被配置为经由至少一个数据连接从主机接收数据并且经由至少一个数据连接向主机输出数据。该存储器还被配置为在第一模式中,在存储器阵列的第一部分和第二部分中存储数据和输出数据。第一部分可由第一地址寻址,并且第二部分可由第二地址寻址。该存储器还被配置为在第二模式中,经由该至少一个数据连接从主机接收数据,并且经由非数据连接从主机接收数据的错误校正码(ecc)。存储器还被配置为在第二模式中,基于第一地址将数据存储在存储器阵列的第一部分中,并且将数据的ecc存储在存储器阵列的第二部分中。该存储器还被配置为在第二模式中,经由该至少一个数据连接将第一部分中的数据向主机输出,并且经由该至少一个非数据连接将数据的ecc向主机输出。
8.根据至少一个实施例的另一个装置包括主机,该主机被配置为经由至少一个数据连接和至少一个非数据连接与存储器通信。该存储器包括存储器阵列。存储器阵列包括第一部分和第二部分。主机还被配置为经由至少一个数据连接从存储器接收数据并且向存储器提供数据。主机还被配置为在第一模式中,向存储器输出第一地址以访问存储器阵列的
第一部分中的数据并且向存储器输出第二地址以访问存储器阵列的第二部分中的数据。该主机还被配置为在第二模式中,经由该至少一个非数据连接,向存储器输出第一地址,以访问该存储器阵列的第一部分中的数据,并且访问该第二部分中的数据的错误校正码(ecc)。
9.提出了在主机和存储器之间传递错误校正码的一种方法。该方法包括由存储器经由至少一个数据连接和至少一个非数据连接与主机通信。该存储器包括存储器阵列。存储器阵列包括第一部分和第二部分。该方法还包括由存储器经由至少一个数据连接从主机接收数据;由存储器经由至少一个数据连接向主机输出数据。该方法还包括由存储器在第一模式中在存储器的存储器阵列的第一部分和第二部分中存储数据和输出数据。第一部分可由第一地址寻址,并且第二部分可由第二地址寻址。该方法还包括:由存储器在第二模式中经由至少一个非数据连接从主机接收数据的错误校正码(ecc);由存储器在第二模式中将数据存储在存储器阵列的第一部分中;由存储器在第二模式中基于第一地址将数据的ecc存储在存储器阵列的第二部分中;以及由存储器在第二模式中经由至少一个非数据连接向主机输出数据的ecc。
10.提出了在主机和存储器之间传递错误校正码的另一种方法。该方法包括:由主机经由至少一个数据连接和至少一个非数据连接与存储器通信。该存储器包括存储器阵列。存储器阵列包括第一部分和第二部分。该方法还包括由主机经由至少一个数据连接从存储器接收数据,以及由主机经由至少一个数据连接向存储器提供数据。该方法还包括由主机在第一模式中向存储器输出第一地址以访问存储器阵列的第一部分中的数据,以及由主机在第一模式中向存储器输出第二地址以访问存储器阵列的第二部分中的数据。该方法还包括由主机在第二模式中经由至少一个非数据连接向存储器输出第一地址,以访问存储器阵列的第一部分中的数据并且访问该存储器阵列的该第二部分中的数据的错误校正码(ecc)。
11.根据至少一个实施例的另一个装置包括存储器,该存储器被配置为与主机通信。该存储器包括存储器阵列。存储器阵列包括第一部分和第二部分。存储器被配置为从主机接收数据并且将数据向主机输出。该存储器还被配置为在第一模式中,在存储器阵列的第一部分和第二部分中存储数据和输出数据。第一部分可由第一地址寻址,并且第二部分可由第二地址寻址。该存储器还被配置为在第二模式中,基于该第一地址在该第一部分中存储数据和输出数据;从主机接收数据的元数据;并且基于第一地址在第二部分中存储元数据和输出元数据。
12.根据至少一个实施例的另一个装置包括主机,该主机被配置为与存储器通信。该存储器包括存储器阵列。存储器阵列包括第一部分和第二部分。主机还被配置为从存储器接收数据并且向存储器提供数据。主机还被配置为在第一模式中,向存储器输出第一地址以访问存储器阵列的第一部分中的数据并且向存储器输出第二地址以访问存储器阵列的第二部分中的数据。该主机还被配置为在第二模式中向该存储器输出该第一地址以访问该存储器阵列的第一部分中的数据并且访问该存储器阵列的该第二部分中的数据的元数据。
附图说明
13.现在将参考附图以示例而非限制的方式在具体实施方式中呈现装置和方法的各个方面,在附图中:
14.图1图示了结合了主机、存储器以及耦合主机和存储器的通道的装置;
15.图2图示了具有图1的主机、存储器和通道的装置的另一个表示;
16.图3图示了根据本公开的某些方面的图1的装置的另一个实施例;
17.图4a和图4b图示了根据本公开的某些方面的图3的装置在写入操作中的系统错误校正码(ecc)功能的波形;
18.图5a和图5b图示了根据本公开的某些方面的图3的装置在写入操作中的另一个系统ecc功能的波形;
19.图6a和图6b图示了根据本公开的某些方面的图3的装置在读取操作中的系统ecc功能的波形;
20.图7a和图7b图示了根据本公开的某些方面的在读取操作中图3的装置的另一个系统ecc功能的波形;
21.图8图示了根据本公开的某些方面的图3的装置的另一个实施例的数据结构;
22.图9图示了根据本公开的某些方面的图3的装置的模式寄存器的实施例;
23.图10图示了根据本公开的某些方面的用于操作图3的装置的系统ecc功能的方法;
24.图11图示了根据本公开的某些方面的用于操作图3的装置的系统ecc功能的另一种方法;
25.图12图示了根据本公开的某些方面的用于操作图3的装置的系统ecc功能的另一种方法;
26.图13图示了根据本公开的某些方面的用于操作图3的装置的系统ecc功能的另一种方法;
27.图14图示了根据本公开的某些方面的用于操作图3的装置的系统ecc功能的另一种方法;
28.图15图示了根据本公开的某些方面的用于操作图3的装置的系统ecc功能的另一种方法;
29.图16图示了根据本公开的某些方面的具有处于第一模式(例如,系统ecc功能未被启用)的存储器的图3的装置;
30.图17图示了根据本公开的某些方面的用于访问储器阵列的第一部分的第一地址空间和访问存储器阵列的第二部分的第二地址空间;
31.图18图示了根据本公开的某些方面的行空间中不同的第一地址空间和第二地址空间的示例;
32.图19和图20图示了根据本公开的某些方面的图17的数据和地址映射的示例;
33.图21图示了根据本公开的某些方面的被配置为存储加密元数据的第二部分;
34.图22图示了根据本公开的某些方面的被配置为存储压缩元数据的第二部分;
35.图23图示了根据本公开的某些方面的具有共享物理字线的第一部分和第二部分的图3的存储器阵列的示例块;
36.图24图示了根据本公开的某些方面的在写入操作中的至少一个非数据连接的示例中的波形;
37.图25图示了根据本公开的某些方面的在写入操作中的至少一个非数据连接的另一个示例中的波形;
38.图26和图27图示了根据本公开的某些方面的在主机和存储器之间传递错误校正码的一种或多种方法;
39.图28、图29和图30图示了根据本公开的某些方面的在主机和存储器之间传递错误校正码的其他方法;
40.图31是包括射频(rf)模块的示例性无线通信设备的框图,该射频模块包括系统ecc功能;以及
41.图32是根据本文公开的任何方面的包括系统ecc功能的示例性处理器系统的框图。
具体实施方式
42.以下结合附图阐述的详细描述旨在作为对各种配置的描述,而非旨在表示可以实践本文描述概念的仅有配置。具体实施方式包括用于提供对各种概念的透彻理解的具体细节。然而,对于本领域的技术人员来说将显而易见的是,可以在没有这些具体细节的情况下实践这些概念。在一些情况下,公知的结构和部件以框图形式示出以避免模糊此类概念。
43.如本文所用,动词“耦合”的各种时态中的术语“耦合到”可以意味着元件a直接连接到元件b,或其他元件可以连接在元件a和b之间(即,元件a与元件b间接连接),以操作某些预期的功能。在电部件的情况下,术语“耦合到”在本文中也可以用于表示导线、迹线或其他导电材料用于电连接元件a和b(以及其间电连接的任何部件)。在一些示例中,术语“耦合到”意味着在元件a和b之间的电能传送,以操作特定的预期功能。
44.在一些示例中,术语“电连接”意味着具有电流或可以被配置为具有在元件a和b之间流动的电流。例如,除了导线、迹线或其他导电材料和部件之外,元件a和b还可以经由电阻器、晶体管或电感器连接。此外,对于射频功能,元件a和b可以经由电容器“电连接”。
45.术语“第一”、“第二”、“第三”等是为了引用方便而采用的,可能没有实质含义。同样,可以采用部件/模块的名称以便于参考,并且可能不限制部件/模块。例如,此类非限制性名称可以包括“读取ecc”信号连接和“写入ecc”信号连接。本公开中呈现的模块和部件可以以硬件、软件或硬件和软件的组合来实现。在一些示例中,本公开中呈现的模块和部件可以仅以硬件实现。
46.术语“总线系统”可以规定耦合到“总线系统”的元件可以直接或间接地在它们之间交换信息。以此类方式,“总线系统”可以包含多个物理连接以及诸如缓冲器、锁存器、寄存器等中间级。模块可以用硬件、软件或硬件和软件的组合来实现。
47.本公开中的术语错误校正码(一个或多个ecc)可以指错误检测、错误校正或错误检测和错误校正码。ecc不限于特定类型的编码。在一些示例中,ecc可以包括汉明码和/或奇偶校验码。
48.本公开中的存储器可以嵌入在半导体管芯上的处理器中或是不同半导体管芯的一部分。存储器可以是各种类型的。例如,存储器可以是静态随机存取存储器(sram)、动态随机存取存储器(dram)、磁性随机存取存储器(mram)、nand闪存或nor闪存等。
49.在本公开中通过低功率双倍数据速率(lpddr)同步动态随机存取存储器(sdram)的非限制性示例来呈现方法和装置。例如,根据联合电子设备工程委员会(jedec)颁布的lpddr规范操作的lpddr存储器。一个此类lpddr规范可以是lpddr5。
50.随着对计算设备以更快的速度执行更多功能的需求的增长,存储在存储器中的数据的错误也可能增长。随着存储在存储器中以及在块之间传送的数据的增加,错误可能会增加。在第10,331,517号美国专利中提供了用于主机与存储器之间的链路的错误校正码(ecc)的一个示例,该专利已转让给本技术的受让人,并且明确地以引用的方式全文并入本文。在不使主机或存储器过载的情况下,改善访问存储器时的错误检测/校正的方案有利于提高系统性能。
51.除了美国专利第10,331,517号中提供的链路ecc之外,还可以利用其他ecc方案。例如,在存储器内,存储器可以利用阵列ecc来检测和/或校正存储器内的错误。耦合到存储器的主机可以在系统级上将不同的存储器单独用于ecc(系统ecc)。在一些示例中,可以通过添加大密度片上sram来存储特定数据的线上ecc奇偶校验位以增强整体数据可靠性,从而在主机中实现端到端系统ecc。然而,就整体系统成本而言,此类高密度片上sram非常昂贵,并且高密度sram容易受到与sram单元相关联的软错误的影响。
52.在本公开中,系统ecc奇偶校验位在主机内部生成并且通过rdqs_t(在写入操作中)和dm(在读取操作中)在主机和存储器设备之间传送。系统奇偶校验位可以与给定数据一起存储到dram单元阵列中,因此ecc保护提供了一种统一且一致的方式,通过移除片上sram来降低整体系统成本,并且在不需要单独的存储器链路ecc的情况下实现更好的性能。
53.因此,本公开提供了一种简化且高效的ecc方案以通过共享链路ecc的某些资源来实现系统ecc。以此类方式,可以降低整体系统成本并且提高性能。
54.图1图示了结合了主机110、存储器150以及耦合主机110和存储器150的通道190的装置100。装置100可以是例如计算系统(例如,服务器、数据中心、台式计算机)、移动计算设备(例如,膝上型电脑、手机、车辆等)、物联网设备、虚拟现实(vr)系统或增强现实(ar)系统等中的设备。主机110可以包括至少一个处理器,诸如中央处理单元(cpu)、图形处理单元(gpu)、数字信号处理器(dsp)、多媒体引擎和/或神经处理单元(npu)。主机110可以被配置为在执行计算功能(诸如数据处理、数据通信、图形显示、相机、ar或vr渲染、图像处理、神经处理等中的一者)时,经由通道190(例如,通道190-1至190-4)与存储器150(例如,存储器150-1至150-4)耦合和通信。例如,存储器150可以为主机存储指令或数据以执行上述计算功能。
55.主机110可以包括存储器控制器130,该存储器控制器130可以包括控制器phy模块134-1至134-4。控制器phy模块134-1至134-4中的每一个可以经由相应的通道190-1至190-4耦合到存储器150-1至150-4中相应的一个存储器。为了便于参考,从主机110的角度来参考读取和写入。例如,在读取操作中,主机110可以经由通道190接收从存储器150存储的数据。在写入操作中,主机110可以经由通道190提供要写入存储器150中进行存储的数据。存储器控制器130可以被配置为控制去往和来自存储器150的通信的各个方面,诸如逻辑层。控制器phy模块134可以被配置为控制在通道190上提供或接收到的信号的电特性(例如,电压电平、相位、延迟、频率等)。
56.在一些示例中,存储器150可以是lpddr dram(例如,lpddr5)。主机110、存储器150和/或通道190可以根据lpddr(例如,lpddr5)规范进行操作。在一些示例中,通道190中的每个可以包括16位的数据(例如,16个dq)。在一些示例中,通道190中的每个可以对32位数据进行操作。在图1中,示出了四个通道。在一些示例中,装置100可以包括8个或16个通道。
57.在图2中更特别地示出了通道190。图2图示了具有图1的主机110、存储器150和通道190的装置的另一个表示。基于每个字节,通道190可以包括用于向相应存储器150提供数据的数据时钟(例如,wck)和用于从相应存储器150接收数据的读取数据选通(例如,rdqs)。通道190还可以包括数据掩码(例如,dm,有时被称为dmi以指示由信号连接执行的多种功能)信令,用于在写入操作中屏蔽数据的特定部分。通道190还可以包括命令和地址(例如,ca[0:n])以及相关联的ca时钟,以向相应的存储器150提供命令(例如,读取命令或写入命令)。
[0058]
主机110可以包括至少一个处理器120,该至少一个处理器可以包括cpu 122、gpu 123和/或npu 124。主机110还可以包括具有控制器phy模块134的存储器控制器130。在执行各种计算功能时,存储器控制器130可以经由总线系统115耦合到至少一个处理器120。主机110可以被配置为执行多个ecc功能。为了支持系统ecc功能,主机110可以包括系统ecc存储器137。存储器控制器130可以经由总线系统116耦合到系统ecc存储器137。存储器控制器130还可以包括系统ecc解码器131和系统ecc编码器132。控制器phy模块134可以包括链路ecc解码器135和链路ecc编码器136。
[0059]
装置100可以实现系统ecc功能以检测/校正在执行计算功能(例如,与至少一个处理器120一起操作)时出现的错误。系统ecc功能对于汽车应用等低容错应用可能有用。在一些示例中,系统ecc编码器132可以对数据块生成系统ecc。存储器控制器130可以将数据块连同系统ecc一起发送到其他模块,诸如至少一个处理器120和/或存储器150。例如,系统ecc可以被发送到存储器150,存储器150可以以与数据相同的方式存储系统ecc并且不基于系统ecc执行ecc功能。在一些示例中,存储器控制器130可以从例如至少一个处理器120和/或存储器150接收数据块和相关联的系统ecc。存储器控制器130然后可以使用系统ecc检测/校正数据块中的错误。
[0060]
主机110经由通道190耦合到存储器150,该通道被图示用于一个字节的数据,dq[0:7]。主机110与存储器150之间的通道190和信令可以根据jedec dram规范(例如,lpddr5)来实现。如图所示,通道190包括dq、读取数据选通(rdqs)、数据掩码(dm)、数据时钟(wck)、命令和地址(ca[0:n])以及命令和地址时钟(ck)的信号连接。主机110可以使用读取数据选通rdqs来在读取操作中选通(例如,时钟)数据以接收dq上的数据。存储器150可以使用数据掩码dm来屏蔽数据的某些部分以免在写入操作中被写入。存储器150可以使用数据时钟wck来对写入操作的dq上的数据进行采样。存储器150可以使用命令和地址时钟ck来计时(例如,接收)ca。用于信令中的每个的信号连接可以包括主机110处的引脚、存储器150处的引脚以及电连接该引脚的一个或多个导电迹线。
[0061]
存储器150可以包括存储器i/o模块160(例如,phy层),该存储器i/o模块被配置为控制电特性(例如,电压电平、相位、延迟、频率等)以在通道190上提供或接收信号。例如,存储器i/o模块160可以被配置为经由通道190从主机110捕获(例如,采样)数据、命令和地址,并且经由通道190向主机110输出数据。存储器i/o模块160可以包括存储器链路ecc解码器161和存储器链路ecc编码器162。
[0062]
存储器150还可以包括存储器阵列175,该存储器阵列可以包括存储数据(例如,一般信息)的多个存储器单元(例如,dram存储器单元)。主机110可以经由通道190读取存储在存储器阵列175中的数据并且将数据写入存储器阵列175。此外,存储器阵列175可以被配置
为存储与存储的数据相关联的ecc,诸如阵列ecc。例如,数据块(例如,字)可以经由共享地址与阵列ecc 176相关联。例如,读取(或写入)存储器阵列175处的共享地址可以读取出(或写入)该地址处的数据块和与该数据块相关联的阵列ecc 176两者。
[0063]
存储器150还可以包括阵列ecc解码器171和阵列ecc编码器172以支持阵列ecc功能。阵列ecc解码器171可以经由节点164耦合到存储器i/o模块160并且经由节点174耦合到存储器阵列175。阵列ecc编码器172可以经由节点163耦合到存储器i/o模块160并且经由节点173耦合到存储器阵列175。在一些示例中,阵列ecc功能可以检测/校正存储在存储器阵列175中的数据发生的错误。随着半导体工艺的进步,存储器单元被推动到物理极限,并且即使数据没有被访问,存储的数据也可能出现错误。因此,可以实现阵列ecc功能来检测和/或校正存储中的那些错误。在一些示例中,主机110可能不访问或甚至不知道阵列ecc功能。
[0064]
在一些示例中,阵列ecc功能可以在存储器150内被编码(由阵列ecc编码器172)和解码(由阵列ecc解码器171)。在写入操作中,可以经由节点163向阵列ecc编码器172提供写入数据(例如,经由通道190从主机110接收到的)。阵列ecc编码器172可以从写入数据生成阵列ecc。写入数据和相关联的阵列ecc可以经由节点173被写入存储器阵列175。写入数据和相关联的阵列ecc可以存储在存储器阵列175中并且共享公共地址。因此,可以经由共享的公共地址来访问(读取或写入)写入数据和相关联的阵列ecc。
[0065]
在读取操作中,可以经由节点174向给阵列ecc解码器171提供存储在存储器阵列175中的数据和相关联的阵列ecc。阵列ecc解码器171可以使用阵列ecc检测/校正数据。校正后的数据可以作为读取数据经由节点164向存储器i/o模块160提供。存储器i/o模块160可以经由通道190向主机110提供读取的数据。因此,阵列ecc功能对于主机110可以是透明的。
[0066]
此外,装置100可以包括链路ecc功能以检测/校正由通道190中的数据传输引起的错误。例如,在写入操作中,链路ecc编码器136可以生成与要写入存储器150的数据块(例如,写入数据)相关联的链路ecc。主机110可以经由dq信号连接向存储器150提供写入数据,并且经由读取数据选通rdqs的信号连接向存储器150提供链路ecc。在存储器150处,存储器链路ecc解码器161可以使用链路ecc来检测/校正写入数据中的错误。因为链路ecc功能在存储器i/o模块160处被解析,所以链路ecc可能不存储在存储器阵列175中。
[0067]
在读取操作中,存储器链路ecc编码器162可以接收存储在存储器阵列175中的数据(例如,读取数据)(例如,经由节点174、阵列ecc解码器171和节点164)并且生成与读取数据相关联的链路ecc。存储器i/o模块160可以经由dq的信号连接向主机110提供读取数据,并且经由数据掩码dm的信号连接向主机110提供链路ecc。在主机110处,链路ecc解码器135可以使用链路ecc检测/校正读取数据中的错误。
[0068]
如上所述,装置100可以操作多层ecc功能,方案中的每个可以独立于其他方案操作。此类多层方案造成效率低下。本公开的某些方面提供了与链路ecc功能共享信号连接的系统ecc功能。以此类方式,降低了系统复杂性并且因此降低了系统成本。
[0069]
图3图示了根据本公开的某些方面的图1的装置100的另一个实施例。在图3中,装置100_s被示为具有各种功能块并且被配置为支持新颖的系统ecc功能。装置100_s可以包括主机110_s,该主机被配置为在执行各种计算功能(诸如数据处理、数据通信、图形显示、相机、ar或vr渲染、图像处理、神经处理等中的一者)时经由通道190_s耦合到存储器150_s
并且与该存储器通信。例如,存储器150_s可以为主机存储指令或数据以执行上述计算功能。
[0070]
主机110_s可以包括至少一个处理器120,该处理器可以包括cpu122、gpu 123和/或npu 124(参见图2)。主机110_s还可以包括具有控制器phy模块134_s的存储器控制器130_s。在执行各种计算功能时,存储器控制器130_s可以经由总线系统115耦合到至少一个处理器120。控制器phy模块134_s可以被配置为控制在通道190_s上提供或接收到的信号的电特性(例如,电压电平、相位、延迟、频率等)。
[0071]
主机110_s可以被配置为经由通道190_s利用存储器150_s来实现系统ecc功能。例如,经由通道190_s的数据掩码dm和/或读取数据选通rdqs的信号连接。对于系统ecc功能,存储器控制器130_s可以包括系统ecc解码器131和系统ecc编码器132。在执行计算功能时,存储器控制器130_s的系统ecc编码器132可以生成用于数据块的系统ecc码,并且经由总线系统115向至少一个处理器120提供数据块和系统ecc码。存储器控制器130_s可以经由总线系统115从至少一个处理器120接收数据块和相关联的系统ecc码。系统ecc解码器131可以利用系统ecc码来检测和/或校正数据块中的一个或多个错误。
[0072]
存储器150_s可以被配置为支持系统ecc功能。由于装置100_s将存储器150_s用于系统ecc功能,因此不需要系统ecc存储器137(图2)。存储器150_s可以包括存储器阵列175_s,该存储器阵列被配置为在第一部分932中存储数据、在第二部分934中存储系统ecc以及在第三部分936中存储阵列ecc。例如,数据块可以与阵列ecc和/或系统ecc共享相同的地址。可以使用相同的地址来访问(读取或写入)数据块和阵列ecc或系统ecc。存储器150_s还可以包括模式寄存器179,该模式寄存器被配置为指示(例如,向主机110_s)存储器150_s被配置为支持系统ecc功能。
[0073]
装置100_s还被配置为利用存储器150_s来实现系统ecc功能。在一些示例中,系统ecc功能可以支持端到端ecc功能。例如,可以为从至少一个处理器120到存储器150_s的数据和/或从存储器150_s到至少一个处理器120的数据实现系统ecc功能。在一些示例中,主机110_s可以经由通道190_s的信号连接从存储器150_s提供或接收系统ecc代码,该信号连接与链路ecc功能共享。
[0074]
装置100_s可以支持系统ecc功能和链路ecc功能(例如,在不同的时间或不同的操作)。存储器i/o模块160可以可选地包括存储器链路ecc解码器161和存储器链路ecc编码器162(参见图2)。控制器phy模块134_s可以可选地包括链路ecc解码器135和链路ecc编码器136。链路ecc功能可以利用数据掩码dm信号连接在读取操作中将链路ecc从存储器150_s向主机110_s传输,并且利用读取选通rdqs信号连接在读取操作中将链路ecc从主机110_s向存储器150_s传输。
[0075]
图4a和图4b图示了根据本公开的某些方面的在写入操作中的图3的装置100的系统ecc功能的波形。命令和地址时钟ck可以是具有ck_t和ck_c信号连接的差分信号。数据时钟wck可以是具有wck0_t和wck0_c信号连接的差分信号。读取数据选通rdqs可以是具有rdqs_t和rdqs_c信号连接的差分信号。数据掩码标记为dm0,指示dm0对应于dq的低位字节(dq[0:7])。在t0(ck_c的上升沿和ck_t的下降沿),主机110_s可以提供cas命令用于对存储器150_s的写入操作。在t1处,可以由主机110_s向存储器150_s提供写入命令。
[0076]
在一段时间的写入延时(wl)之后,主机110_s可以切换数据时钟wck0_t和wck0_c
以在dq信号连接上向存储器150_s提供用于接收用于写入数据的时钟。在tc0-tc2处,存储器150_s可以在dq[0:7]信号连接中的每个上串行接收16个字节的数据,并且由数据时钟wck0_t和wck0_c计时。存储器150_s可以串行地(例如,基于数据时钟wck0_t和wck0_c)接收16位的数据掩码dm0,以从写入操作中屏蔽接收到的数据的某些部分。在一些示例中,存储器150_s可以接收16个字节的数据和16位的数据掩码dm0,其中数据掩码dm0的每个位屏蔽所接收数据的对应字节。
[0077]
在tc0-tc2,基于数据时钟wck0_t和wck0_c,存储器150_s可以在rdqs_t信号连接上接收例如16位的ecc。在读取操作中,rdqs_t信号连接可以被配置为从存储器150_s向主机110_s提供读取数据选通(rdqs)。在一些示例中,由存储器150_s接收到的ecc可以是链路ecc。参考图3,存储器链路ecc解码器161可以利用接收到的16位的ecc来检测和/或校正接收到的16个字节的数据中的错误。作为链路ecc,所接收到的16位的ecc可能不存储在存储器阵列175_s中(参见图3)。
[0078]
在一些示例中,接收到的ecc可以是系统ecc。装置100_s可以被配置为经由共享信号连接(例如,数据掩码dm和/或读取数据选通rdqs)在不同的时间/配置下操作链路ecc功能和系统ecc功能。此外,装置100_s还可以被配置为执行阵列ecc功能。参考图3,存储器150_s可以被配置为经由节点163向阵列ecc编码器172提供16个字节的数据和16位的系统ecc。阵列ecc编码器172可以被配置为基于16个字节的数据和/或16位的系统ecc来生成阵列ecc,并且向存储器阵列175_s提供数据、系统ecc和阵列ecc用于存储(经由节点173)。存储器阵列175_s可以被配置为存储(例如,写入)从阵列ecc编码器172接收到的数据、接收到的系统ecc和阵列ecc。
[0079]
图5a和图5b图示了根据本公开的某些方面的在写入操作中的图3的装置100_s的另一个系统ecc功能的波形。在一些示例中,不同的ecc编码/解码协议在写入操作中对于16个字节的数据可能需要更少的ecc位。在此示例中,12位的ecc经由读取数据选通rdqs_t的信号连接向存储器150_s提供。此外,主机110_s可以被配置为在读取数据选通rdqs_t的信号连接上提供写入操作中的数据的4位另外的数据信息。例如,另外的数据信息可以指示用于写入或使用信息的数据类型(例如,数据属性、可缓存或不可缓存等)。
[0080]
图6a和图6b图示了根据本公开的某些方面的在读取操作中图3的装置100的系统ecc功能的波形。命令和地址时钟ck可以是具有ck_t和ck_c信号连接的差分信号。数据时钟wck可以是具有wck0_t和wck0_c信号连接的差分信号。读取数据选通rdqs可以是具有rdqs_t和rdqs_c信号连接的差分信号。数据掩码标记为dm0,指示dm0对应于dq的低位字节(dq[0:7])。在t0(ck_c的上升沿和ck_t的下降沿),主机110_s可以提供cas命令用于对存储器150_s的读取操作。在t1处,可以由主机110_s向存储器150_s提供读取命令。
[0081]
在一段时间读取延时(rl)之后,存储器150_s可以触发读取数据选通rdqs,以向主机110_s提供时钟,从而在dq信号连接上接收用于读取操作的数据。在tc0-tc2,主机110_s可以在dq[0:7]信号连接中的每个上串行接收16个字节的数据,并且由读取数据选通rdqs_t和rdqs_c计时。因此,在该示例中,由主机110_s接收到16个字节的数据。
[0082]
在tc0-tc2处,主机110_s可以基于读取数据选通rdqs_t和rdqs_c(例如,由其计时),在数据掩码dm0信号连接上接收例如16位的ecc。在写入操作中,dm信号连接可以被配置为从主机110_s向存储器150_s提供数据掩码。在一些示例中,由主机110_s接收到的ecc
可以是链路ecc。参考图3,存储器链路ecc编码器162可以基于存储在存储器阵列175_s中的16个字节的数据(并且在读取操作中向主机110_s提供)来生成16位链路ecc。作为链路ecc,16位的ecc可能不存储在存储器阵列175_s中(参见图3)。
[0083]
在一些示例中,由主机110_s接收到的ecc可以是系统ecc。装置100_s可以被配置为经由共享信号连接(例如,数据掩码dm和/或读取数据选通rdqs)在不同时间/配置下操作链路ecc和系统ecc。参看图3,存储器150_s可以被配置为经由节点174向阵列ecc解码器171提供16个字节的数据、相关联的阵列ecc和相关联的系统ecc(全部存储在存储器阵列175_s中)。阵列ecc解码器171可以被配置为基于阵列ecc来检测/校正16个字节的数据和/或系统ecc中的错误。阵列ecc解码器171可以被配置为在读取操作中将经校正的16个字节的数据和/或系统ecc向存储器i/o模块160和主机110_s输出。
[0084]
图7a和图7b图示了根据本公开的某些方面的在读取操作中的图3的装置100的另一个系统ecc功能的波形。在一些示例中,不同的ecc编码/解码协议在读取操作中对于由存储器150_s输出的16个字节的数据可能需要更少的位。在此示例中,12位的ecc经由数据掩码dm0的信号连接向主机110_s提供。此外,存储器150_s可以被配置为在数据掩码dm0的信号连接上提供4位的另外的数据信息。例如,另外的数据信息可以指示用于写入或使用信息的数据类型(例如,可缓存或不可缓存)。例如,在读取操作之前,另外的信息可以由主机110_s提供,并且与读取操作中的数据相关联,并且存储在存储器150_s中。
[0085]
在一些示例中,另外的信息可以包括另外的ecc信息。另外的ecc信息可以基于例如阵列ecc或关于阵列ecc的信息。例如,另外的ecc信息可以指示读取操作中的数据已经被阵列ecc校正的次数或包含未被阵列ecc校正的错误。在一些示例中,主机110_s可以利用另外的ecc信息和系统ecc来进一步检测/校正在读取操作中接收到的数据中的错误,而不是单独使用系统ecc。
[0086]
图8图示了根据本公开的某些方面的图3的装置100_s的另一个实施例的数据读取或写入。在一些示例中,通道190_s可以是x16(两个字节的dq;为了清楚起见,图3仅图示了dq的低位字节)。图8图示了突发长度16的读取/写入。因此,在图中总共读取或写入32个字节的数据。可以为dq的每个字节提供对应的数据掩码dm(dm0和dm1)和读取数据选通rdqs_t(rdqs0_t和rdqs1_t)。例如,可以为dq[0:7]提供数据掩码dm0,并且可以为dq[8:15]提供数据掩码dm1,以在写入操作中屏蔽写入数据的某些部分。可以为dq[0:7]提供读取数据选通rdqs0_t,并且可以为dq[8:15]提供读取数据选通rdqs1_t,以在读取操作中提供读取数据的时钟。
[0087]
在一些示例中,系统ecc功能可以在字节边界上实现和/或分布,以便改善存储器150_s中的平面规划。例如,在一些ecc功能中,12位ecc可能足以读取或写入32个字节的数据。12位的ecc可以在读取操作中由数据掩码dm0和dm1传送(由存储器150_s向主机110_s提供),并且在写入操作中由读取数据选通rdqs0_t和rdqs1_t传送(由主机110_s向存储器150_s提供)。如图8所示,对于读取或写入的数据的每个字节,可以在突发的最后六(6)个周期或突发的前6个周期中传送6位ecc。对于其余的10个周期,数据掩码dm0和dm1和/或读取数据选通rdqs0_t和rdqs1_t可以用于传送另外的信息,诸如另外的ecc信息和/或另外的数据信息(参见图5和图7)。
[0088]
图9图示了根据本公开的某些方面的图3的装置100_s的模式寄存器179的实施例。
如910所示,模式寄存器179可以包括8位操作数op[7:0],其中op[7:4]可以被保留。op[3:0]可能指示系统ecc支持和配置(sesc)。如920处所示,模式寄存器179可以是只读取的。例如,存储器150_s(例如,由其制造商)可以独立于主机110_s设置关于sesc的模式寄存器179。主机110_s可以被配置为读取模式寄存器179以了解例如存储器150_s是否支持系统ecc、系统ecc的大小和/或在系统ecc中传送的另外的信息(参见图5和图7)。然而,主机110_s可能不会写入模式寄存器179。
[0089]
例如,模式寄存器179可以指示是否支持系统ecc。例如,op[3:0]为0000可能指示不支持系统ecc。op[3:0]还可以指示系统ecc的大小和另外的信息的大小(例如,基于每个dq数量和/或每个突发长度数量)。例如,op[3:0]为0010可以指示每个x16通道24位的ecc和8位的另外的信息,并且突发长度(bl)为16。另外的信息可以是另外的数据信息和/或另外的ecc信息。例如,另外的ecc信息可以是阵列ecc解码信息(aed)。例如,aed可以是读取或写入数据的阵列ecc和/或其系统ecc。在一些示例中,aed可以是与阵列ecc功能相关的信息,诸如读取或写入数据已经被阵列ecc功能校正的次数,或读取或正确数据是否包括未被阵列ecc功能校正的错误。
[0090]
图10图示了根据本公开的某些方面的用于操作针对图3的装置100的系统ecc功能的方法。图10的操作可以由例如图1和图3至图9所示的装置100或100来实现。箭头指示操作之间的某些关系,但不一定是顺序关系。在1010处,由存储器向执行计算功能的主机提供存储在存储器的存储器阵列中的数据。在1020处,由存储器向主机提供与数据相关联的错误校正码(ecc),ecc在存储器的第一配置中不存储在存储器阵列中,并且在存储器的第二配置中存储在存储器阵列中。
[0091]
例如,装置100_s可以包括被配置为与主机110_s通信的存储器150_s。存储器150_s可以包括存储器阵列175_s,存储器阵列175_s被配置为存储数据(例如,读取向主机110_s提供的数据或写入从主机110_s接收到的数据)。存储器150_s可以被配置为在执行各种计算功能时向主机110_s提供存储在存储器阵列175_s中的数据,并且被配置为向主机110_s提供与数据相关联的错误校正码(ecc)。在存储器150_s的第一配置(例如,存储器150_s被配置用于链路ecc功能)中,ecc可以不存储在存储器阵列中,并且在存储器的第二配置(例如,存储器150_s被配置用于系统ecc功能)中,ecc可以存储在存储器阵列175_s中。
[0092]
存储器150_s的第一配置和第二配置可以基于存储器150_s的至少一个模式寄存器179,该至少一个模式寄存器可以与存储器阵列175_s分开访问。例如,至少一个模式寄存器179可以指示存储器150_s支持或启用第二配置(例如,系统ecc功能)。此外,至少一个模式寄存器179可以与存储器阵列175_s分开访问。例如,至少一个模式寄存器179可以由模式寄存器读取(或模式寄存器写入)命令来读取(或写入),该模式寄存器不与读取或写入存储器阵列175_s的命令共享。
[0093]
存储器150_s可以进一步被配置为经由读取ecc信号连接向主机110_s提供用于第一配置和用于第二配置的ecc(例如,链路ecc或系统ecc)。例如,读取ecc信号连接可以包括数据掩码dm,该数据掩码dm被配置为在写入操作中从主机110_s向存储器150_s提供数据掩码。在一些示例中,第一配置可以包括链路ecc功能,并且第二配置包括系统ecc功能。
[0094]
至少一个模式寄存器179可以被配置为指示第二配置被启用(参见图9)。例如,存储器150_s可以配置至少一个模式寄存器179来指示系统ecc被启用/支持。至少一个模式寄
存器179还可以被配置(例如,由存储器150_s)以指示第二配置中的ecc的大小。至少一个模式寄存器179还可以被配置为指示存储器150_s经由读取ecc信号连接提供另外的ecc信息或与数据(读取数据或写入数据)相关联的另外的数据信息。
[0095]
另外的ecc信息可以基于阵列ecc(阵列ecc可以存储在存储器阵列175_s中;参见图3)。存储器150_s还可以被配置为在将数据存储在存储器阵列175_s中之前(例如,通过阵列ecc编码器172),基于数据(例如,读取数据)生成阵列ecc。存储器150_s可以进一步被配置为基于阵列ecc(例如,通过阵列ecc解码器171)检测或校正存储在存储器阵列175_s中的数据(例如,读取数据)中的错误。在一些示例中,至少一个模式寄存器179可以由主机110_s可读取但不可写入(参见图9)。
[0096]
图11图示了根据本公开的某些方面的为图3的装置100_s操作系统ecc功能的另一种方法。图11的操作可以由例如图1和图3至图9所示的装置100或100来实现。箭头指示操作之间的某些关系,但不一定是顺序关系。在1110处,由存储器在执行计算功能时从主机接收数据。在1120处,由存储器将数据存储到存储器阵列中。在1130处,由存储器接收与来自主机的数据相关联的ecc,该ecc在存储器的第一配置中不存储在存储器阵列中,并且在存储器的第二配置中存储在存储器阵列中。
[0097]
例如,存储器150_s可以被配置为在执行计算功能时从主机110_s接收数据(例如,写入数据)以将数据存储或写入存储器阵列,以及从主机110_s接收ecc(例如,链路ecc或系统ecc)。存储器还可以被配置为经由写入ecc信号连接(例如,读取数据选通rdqs)从主机110_s接收用于第一配置(例如,用于支持或实现链路ecc功能的配置)和用于第二配置(例如,用于支持或实现系统ecc功能的配置)的ecc。写入ecc信号连接还可以被配置为在读取操作中从存储器150_s向主机110_s提供数据选通。
[0098]
参考装置100或100_s,至少一个模式寄存器179可以被配置为在第二配置中指示ecc的大小。至少一个模式寄存器179还可以被配置为指示存储器150_s经由读取ecc信号连接(例如,数据掩码dm)提供与读取操作中的数据(例如,读取数据)相关联的另外的ecc信息,或经由写入ecc信号连接(例如,读取数据选通rdqs)接收与写入操作中的数据(例如,写入数据)相关联的另外的数据信息。
[0099]
由存储器150_s提供的另外的ecc信息可以基于阵列ecc。阵列ecc可以存储在存储器阵列175_s中。存储器150_s还可以被配置为在将数据存储在存储器阵列175_s中之前基于数据(例如,接收到的写入数据)生成阵列ecc,并且基于阵列ecc检测或校正存储在存储器阵列中的数据(例如,读取数据)中的错误。在一些示例中,至少一个模式寄存器179可以由主机110_s可读取但不可写入。
[0100]
例如,存储器150_s可以被配置为与主机110_s通信。存储器150_s可以包括被配置为存储数据的存储器阵列175_s。存储器150还可以被配置为在执行计算功能时从主机110_s接收数据(例如,写入数据),将数据写入存储器阵列175_s,以及从主机110_s接收与数据相关联的ecc(例如,链路ecc或系统ecc)。在存储器150_s的第一配置(例如,用于支持或实现链路ecc功能的配置)中,ecc可以不存储在存储器阵列175_s中,而在存储器150_s的第二配置(例如,用于支持或实现系统ecc功能的配置)中,ecc可以存储在存储器阵列175_s中。第一配置和第二配置可以基于存储器150_s的至少一个模式寄存器179,该至少一个模式寄存器179可以与存储器阵列175_s分开地访问。
[0101]
存储器150_s还可以被配置为经由写入ecc信号连接(例如,读取数据选通rdqs)从主机110_s接收用于第一配置和用于第二配置的ecc。写入ecc信号连接可以被配置为在读取操作中从存储器150_s向主机110_s提供数据选通。第一配置可以包括链路ecc。第二配置可以包括系统ecc。
[0102]
至少一个模式寄存器179可以被配置为指示第二配置被启用(参见图9)。至少一个模式寄存器179可以被配置为指示ecc的大小。至少一个模式寄存器179可以由主机110_s可读取但不可写入。该至少一个模式寄存器179还可以被配置为指示存储器150经由写入ecc信号连接接收与数据相关联的另外的数据信息。
[0103]
图12图示了根据本公开的某些方面的为图3的装置100_s操作系统ecc功能的另一种方法。图12的操作可以由例如图1和图3至图9所示的装置100或100来实现。箭头指示操作之间的某些关系,但不一定是顺序关系。在1210处,由存储器向执行计算功能的主机提供存储在存储器的存储器阵列中的数据。在1220处,在执行计算功能时,经由读取ecc信号连接,由存储器向主机提供与数据相关联并且存储在存储器阵列中的ecc。读取ecc信号连接被配置为在写入操作中从主机向存储器提供数据掩码。
[0104]
例如,存储器150_s可以包括存储器阵列175_s,该存储器阵列175_s被配置为存储数据和与数据相关联的ecc。存储器150_s可以被配置为在执行计算功能时经由读取ecc信号连接(例如,数据掩码dm)向主机110_s提供存储在存储器阵列175_s中的数据(例如,读取数据)和ecc。读取ecc信号连接可以被配置为在写入操作中从主机110_s向存储器150_s提供数据掩码。该至少一个模式寄存器179可以被配置为指示允许经由读取ecc信号连接向主机110_s提供存储在存储器150_s中的ecc。该至少一个模式寄存器179还可以被配置为指示存储器150_s经由读取ecc信号连接提供另外的ecc信息。
[0105]
图13图示了根据本公开的某些方面的为图3的装置100_s操作系统ecc功能的另一种方法。图13的操作可以由例如图1和图3至图9所示的装置100或100来实现。箭头指示操作之间的某些关系,但不一定是顺序关系。在1310处,由存储器在执行计算功能时从主机接收数据。在1320处,经由写入ecc信号连接从主机接收与数据相关联的ecc。在1330处,数据和ecc被存储到存储器的存储器阵列中,写入ecc信号连接被配置为在读取操作中向主机提供数据选通。
[0106]
例如,存储器150_s还可以被配置为在执行计算功能时经由写入ecc信号连接(例如,读取数据选通rdqs)从主机110_s接收数据(例如,写入数据)和ecc,并且将数据和ecc存储到存储器阵列175_s中。写入ecc信号连接可以被配置为在读取操作中从存储器150_s向主机110_s提供数据选通。至少一个模式寄存器179还可以被配置为指示存储器150_s经由读取ecc信号连接提供与读取操作中的数据相关联的另外的ecc或数据信息,或经由写入ecc信号连接接收与写入操作中的数据相关联的另外的ecc或数据信息。
[0107]
图14图示了根据本公开的某些方面的为图3的装置100_s操作系统ecc功能的另一种方法。图14的操作可以由例如图1和图3至图9所示的装置100或100来实现。箭头指示操作之间的某些关系,但不一定是顺序关系。在1410处,由执行计算功能的主机从存储器接收数据。在1420处,主机经由读取ecc信号连接从存储器接收与数据相关联的ecc,数据和ecc被存储在存储器的存储器阵列中,读取ecc信号连接被配置为在写入操作中从主机向存储器提供数据掩码。
[0108]
例如,主机110_s可以被配置为与存储器150_s通信。主机110_s还可以被配置为在执行计算功能时从存储器150_s接收数据,并且经由读取ecc信号连接(数据掩码dm)从存储器150_s接收与该数据相关联的ecc。例如,在系统ecc功能中,与数据相关联的ecc可以预先由主机110_s连同数据一起提供,并且存储在存储器阵列175_s中。数据和相关联的ecc可以共享存储器阵列175_s中的公共地址。在链路ecc功能中,与数据相关联的ecc可以由存储器链路ecc编码器162(图3)基于存储在存储器阵列175_s中的数据来生成。数据和ecc被存储在存储器150_s的存储器阵列175_s中。读取ecc信号连接可以被配置为在写入操作中从主机110_s向存储器150_s提供数据掩码。
[0109]
主机110_s还可以被配置为从存储器150_s中的至少一个模式寄存器179中读取。至少一个模式寄存器179可以与存储器阵列175_s分开地访问并且可以被配置为指示存储器150_s被使能以经由读取ecc信号连接提供存储在存储器阵列175_s中的ecc。至少一个模式寄存器179还可以被配置为指示ecc的大小。主机110_s还可以被配置为提供数据并且在执行计算功能时经由写入ecc信号连接(例如,读取数据选通rdqs)向存储器150_s提供ecc。写入ecc信号连接可以被配置为在读取操作中从存储器150_s向主机110_s提供数据选通。
[0110]
图15图示了根据本公开的某些方面的为图3的装置100_s操作系统ecc功能的另一种方法。图15的操作可以由例如图1和图3至图9所示的装置100或100来实现。箭头指示操作之间的某些关系,但不一定是顺序关系。在1510处,主机在执行计算功能时向存储器提供数据。在1520处,主机经由写入ecc信号连接向存储器的存储器阵列提供与数据相关联的ecc,写入ecc信号连接被配置为在读取操作中向主机提供数据选通。
[0111]
例如,主机110_s还可以被配置为在执行计算功能时提供数据(例如,写入数据),并且经由写入ecc信号连接(例如,读取数据选通rdqs)向存储器150_s的存储器阵列175_s提供与数据相关联的ecc。例如,在链路ecc功能中,ecc可以由链路ecc编码器136(图3)基于数据生成。在系统ecc功能中,ecc可以由系统ecc编码器132(图3)基于数据生成。写入ecc信号连接可以被配置为在读取操作中向主机提供数据选通。
[0112]
本文呈现了图3的装置100_s的进一步特征。为了便于参考,第一模式可以指不具有链路ecc并且不具有系统ecc的存储器访问(例如,读取或写入)。第二模式可以指启用系统ecc功能的存储器访问(例如,第二配置)。在一些示例中,系统ecc可以被称为内嵌ecc。第三模式可以指启用了链路ecc功能的存储器访问(例如,第一配置)。
[0113]
参考图3,存储器150可以被配置为存储系统错误校正码(例如,奇偶校验位;也称为内嵌ecc)到存储器阵列175_s的商定部分,与现有阵列ecc耦合。作为示例,数据“n”可以是256位,系统ecc“s”可以是16位。另外的阵列ecc可以保护“n+s”数据,而不会进一步增加管芯尺寸。例如,阵列ecc奇偶校验“c”可以是16位并且可以保护272位(即,“n=256位”+“s=16位”)。为了更灵活地用于系统需求,至少一个寄存器(诸如模式寄存器179)可以启用或禁用系统ecc功能。如果mrxx op[y]=1b(例如,系统ecc被启用),则存储器阵列175_s可以被自动分配成用于数据的部分和用于系统ecc的部分(在设置模式寄存器之后没有进一步的动作)。如果mrop[y]=0b(例如,系统ecc被禁用),则两个部分都可以用于存储数据。以此类方式,存储器150_s可以支持系统ecc功能并且在传输系统ecc时保持最大存储器带宽。
[0114]
参考图3,存储器150_s可以被配置为经由至少一个数据连接和至少一个非数据连接与主机110_s通信(反之亦然)。例如,至少一个非数据连接可以包括第一非数据连接和第
二非数据连接。例如,至少一个数据连接可以包括dq[0:7];第一非数据连接可以包括读取数据选通rdqs;第二非数据连接可以包括数据掩码(例如,dm或dmi)。为了便于参考,第一非数据连接和/或第二非数据连接可以被称为至少一个非数据连接。在一些示例中,术语“连接”可以包括上面呈现的信号连接并且可以包括例如导电迹线。在一些示例中,至少一个数据连接可以被配置为在存储器访问中提供数据,而第一非数据连接和第二非数据连接可以被配置为在存储器访问中不提供数据。
[0115]
存储器150_s还可以被配置为经由至少一个数据连接从主机110_s接收数据,并且经由至少一个数据连接(例如,dq)向主机110_s输出数据。图16图示了根据本公开的某些方面的具有处于第一模式(例如,系统ecc功能未被启用)的存储器150_s的图3的装置100_s。图16还可以表示存储器150_s在下面呈现的第三模式(例如,链路ecc功能被启用)下的状态。
[0116]
在图16中,在第一模式中,存储器阵列175_s的第一部分932和第二部分934可以被配置为存储经由至少一个数据连接从主机110_s接收到的数据和向主机110_s输出的数据。图17图示了根据本公开的某些方面的用于访问储器阵列175_s的第一部分932的第一地址空间942和访问存储器阵列175_s的第二部分934的第二地址空间944。在一些示例中,第一地址空间942和第二地址空间944中的每一者可以包括从通道190_s的ca接收到的行地址和列地址(参见图16)。例如,第一地址空间942可以对应于行地址0000h至ffffh和列地址00h至3ah,并且第二地址空间944可以对应于行地址0000h至ffffh和列地址3bh至3fh。因此,存储器阵列175_s的总地址空间的范围从行地址0000h和列地址00h到行地址ffffh和列地址3fh。
[0117]
以此类方式,存储器150_s可以被配置为在第一模式中,在存储器阵列175_s的第一部分932和第二部分934中存储数据和输出数据。第一部分932可以由第一地址(例如,第一地址空间942中的地址)寻址,并且第二部分934可以由第二地址(例如,第二地址空间944中的地址)寻址。因此,第一地址和第二地址在列寻址方面可以不同。尽管本公开利用第一地址空间942和第二地址空间944在列空间上不同的示例,但其他示例也是可能的。
[0118]
图18图示了根据本公开的某些方面的在行空间中不同的第一地址空间942和第二地址空间944的示例。在图18中,第一部分932可以由第一地址空间942访问,该第一地址空间对应于行地址0000h直到fffdh。第二部分934可以由第二地址空间944访问,该第二地址空间对应于行地址fffeh至ffffh。在该示例中,第一地址空间942和第二地址空间944可以在行空间上不同,并且因此,用于访问第一部分932的第一地址和用于访问第二部分934的第二地址可以在行寻址方面不同。
[0119]
图19和图20图示了根据本公开的某些方面的图17的数据和地址映射的示例。例如,图19和图20图示了数据(写入第一部分932或从该第一部分读取;标记为正常数据)可以是32个字节,并且系统ecc(例如,内嵌ecc)(写入第二部分934或从该第二部分读取)可以是16位或更少。在图19中,未使用的地址空间(“空(null)”)聚集在列地址3fh空间内,而在图20中,未使用的地址空间分布在列地址空间中。在每个读取或写入操作中,总共34个字节(32个字节的数据和2个字节的系统ecc)可以在主机110_s和存储器150_s之间传输(例如,经由至少一个数据连接和至少一个非数据连接)。以此类方式,可以在没有存储器带宽损失的情况下实现2个字节的系统ecc。基于存储器内部设计偏好和效率,不同的列地址映射可
以是可能的。此外,可以实现另外的2个字节的阵列ecc(“c”)来进一步保护32个字节的数据(“n”)和两个字节的系统ecc(“s”)。
[0120]
图3还图示了根据本公开的某些方面的具有处于第二模式(例如,系统ecc功能被启用)的存储器阵列175_s的装置100_s。存储器150_s可以被配置为经由第一非数据连接(例如,在写入操作中)从主机110_s接收系统ecc。例如,参考图4a和图4b,存储器150_s可以被配置为在数据选通rdqs(例如,第一非数据连接)上接收系统ecc。在一些示例中,非数据连接可以被配置为提供不在存储器150_s的第一部分932中存储或输出的信息,或提供不是用于计算功能的数据的一部分的信息。
[0121]
在第二模式的一些示例中,第二部分934可以被配置为基于第一部分932的寻址(例如,第一地址)来存储数据的ecc(存储在第一部分932中)(参见图3)。在第二模式的其他示例中,第二部分934可以被配置为存储存储在第一部分中的数据的元数据。元数据的示例(例如,关于存储在存储器阵列175_s的第一部分932中的数据的信息)可以包括加密元数据和/或压缩元数据。图21图示了根据本公开的某些方面的被配置为存储加密元数据的第二部分934。例如,该至少一个处理器120(参见图3)可以被配置为在执行安全和/或认证功能时,经由主机110存储加密元数据和数据,并且从存储器150检索。在第二模式中,加密元数据可以存储在存储器阵列175_s的第二部分934中。
[0122]
图22图示了根据本公开的某些方面的被配置为存储压缩元数据的第二部分934。例如,至少一个处理器120(参见图3)可以被配置为在压缩数据和解压缩数据时,使存储器150_s存储数据和与数据相关联的压缩元数据,并且经由主机110_s从存储器150_s中检索这些数据和压缩元数据。基于第一地址,压缩元数据可以在第二模式中存储在存储器阵列175_s的第二部分934中。在一些示例中,存储ecc或元数据的第二部分934对于存储器150_s可以是透明的。下文呈现为第一模式和第二模式配置的存储器150_s的某些特征。
[0123]
参考图3和图6,在第二模式中,存储器150_s可以被配置为将经由数据连接(例如,dq)接收到的数据存储在存储器阵列175_s的第一部分932中(例如,在写入操作中)。存储器150_s还可以被配置为经由第一非数据连接接收系统ecc(或元数据)。第一非数据连接可以是例如写入操作中的数据选通rdqs。存储器150_s还可以被配置为在写入操作中将系统ecc(或元数据)存储在存储器阵列175_s的第二部分934中。此外,在第二模式中,存储器150_s可以被配置为经由数据连接(例如,dq)将存储在第一部分932中的数据向主机110_s输出,并且经由第二非数据连接将存储在第二部分934中的ecc(或元数据)向主机110_s输出。第二非数据连接可以是例如读取操作中的数据掩码dm。此外,在第二模式中,存储器阵列175_s的第一部分932和第二部分934可以共享第一地址空间942(第二地址空间944未被使用)而被访问(写入或读取)。因此,存储器150_s在第二模式中可以被配置为将系统ecc(或元数据)存储在第二部分934中并且基于第一地址空间942(诸如用于第一部分932的第一地址)输出存储在第二部分934中的系统ecc(或元数据)。
[0124]
图23图示了根据本公开的某些方面的具有共享物理字线954的第一部分932和第二部分934的图3的存储器阵列175_s的示例块950。图23包括块950、行解码器951、字线驱动器952、感测放大器960、列选择器962和列解码器964。如图所示,块950可以包括布置成阵列(例如,具有行和列)的存储器单元956。存储器单元956还可以布置成第一部分932和第二部分934。例如,存储器单元956_1可以是第一部分932的一部分,并且存储器单元956_2可以是
第二部分934的一部分。块950还可以包括字线,诸如物理字线954。块950还可以包括耦合到存储器单元956的位线958。位线958可以包括耦合到存储器单元956_1的位线958_1和耦合到存储器单元956_2的位线958_2。
[0125]
行解码器951可以被配置为耦合到行地址,并且对行地址进行解码。行解码器951还可以被配置为经由信号连接957向字线驱动器952输出解码的行地址。字线驱动器952可以被配置为基于解码的行地址接通字线,诸如物理字线954。被接通的物理字线954将允许对耦合到物理字线954的存储器单元956(例如,存储器单元956_1和存储器单元956_2)的访问(例如,读取或写入)。例如,响应于物理字线954被接通,在读取操作中,存储在存储器单元956_1中的状态(例如,逻辑0或逻辑1)和存储在存储器单元956_2中的状态将相应地经由位线958_1和位线958_2被提供给感测放大器960。此外,在写入操作中,存储在感测放大器960中的状态将相应地经由位线958_1和位线958_2被写入存储器单元956_1和956_2。
[0126]
列解码器964可以被配置为耦合到列地址并且对列地址进行解码。列解码器964还可以被配置为经由信号连接961向列选择器962输出经解码的列地址。列选择器962可以被配置为耦合到信号连接963,并且经由信号连接959耦合到感测放大器960。信号连接963可以被配置为承载数据和/或数据的ecc(例如,链路ecc或系统ecc;或元数据)。列选择器962还可以被配置为:在读取操作中,基于来自信号连接961的经解码的列地址在感测放大器960中的某些感测放大器中进行选择,经由信号连接959从该经解码的列地址接收数据或数据和ecc(或元数据)两者。列选择器962还可以被配置为:在写入操作中,基于来自信号连接961的经解码的列地址在感测放大器960中的某些感测放大器中进行选择,经由信号连接959向该感测放大器960提供(来自信号连接963的)数据或数据和ecc(或元数据)两者。
[0127]
在一些示例中,在第一模式中,列解码器964可以被配置为使得列选择器962基于要读取或写入的第一地址(第一地址的列地址部分)来选择耦合到位线958_1的感测放大器960中的一者。此外,在第一模式中,列解码器964可以被配置为使得列选择器962基于要读取或写入的第二地址(第二地址的列地址部分)来选择耦合到位线958_2的感测放大器960中的一个。以此类方式,第一部分932(包括耦合到位线958_1的存储器单元956_1)和第二部分934(包括耦合到位线958_2的存储器单元956_2)两者都可以在第一模式中被访问用于数据。
[0128]
在第二模式中,列解码器964可以被配置为使得列选择器962基于要读取或写入的第一地址(第一地址的列地址部分)来选择感测放大器960中耦合到位线958_1的感测放大器中的一个。此外,在第二模式中,列解码器964可以被配置为使得列选择器962基于要读取或写入的第一地址(第一地址的列地址部分)来选择感测放大器960中耦合到位线958_2的感测放大器中的一者。以此类方式,第一部分932(包括存储器单元956_1)可以被访问用于数据,第二部分934(包括存储器单元956_2)可以被访问用于数据的ecc(或元数据)。在第二模式中,对第一部分932和第二部分934两者的访问可以基于第一地址。
[0129]
图24图示了根据本公开的某些方面的写入操作中的至少一个非数据连接的另一个示例。图25图示了根据本公开的某些方面的读取操作中的至少一个非数据连接的另一个示例。在图3中,至少一个非数据连接可以在写入操作中包括数据选通(rdqs)(作为参考,第一非数据连接)。至少一个非数据连接可以在读取操作中包括数据掩码dm(作为参考,第二非数据连接)。例如,图23和图24提供了至少一个非数据连接可以共享用于读取操作和写入
操作两者的同一连接。除lpddr5之外的接口,诸如高带宽存储器(hbm)和图形ddr,可能使用专用的奇偶校验(非数据)连接进行读取写入两者。例如,系统ecc位(s[0:7])(例如,奇偶校验位)可以经由奇偶校验引脚(parity pin)/连接在主机和存储器之间传送。例如,存储器可以将“8*k”位的数据和“s”位(在此示例中为8位)的系统ecc奇偶校验位存储(即写入操作)到用给定的行和列地址预先确定的存储器阵列的一部分。为了提高存储器产量和质量,存储器可以使用供应商自己的阵列ecc方案对“8*k+s”(数据+系统ecc奇偶校验位)的阵列ecc(“c”)进行编码。
[0130]
一个通道存储器接口可以包括图24和图25中示出的多个存储器接口。例如,k=32,并且每32个dq具有一个奇偶校验连接,总输入/输出宽度可以是x128,每个通道具有4个奇偶校验连接(x128)。该配置可以包括1024位的数据(128个dq
×
8个突发长度)和32位的奇偶校验(4个奇偶校验连接
×
8个突发长度)。数据保护单元和系统ecc奇偶校验大小可以根据系统偏好进行配置。例如,对于512位数据的16个系统ecc奇偶校验位;对于1024位数据的32个系统ecc奇偶校验位,等等。
[0131]
因此,装置100_s可以被配置为通过在第二模式中不访问第二地址空间944(例如,系统ecc被启用)来减少存储器150_s的可寻址空间。以此类方式,主机110_s可以被配置为响应于操作关键任务应用程序进入第二模式(例如,启用系统ece功能)以添加另外的层ecc。相同的存储器150_s可以被配置为在第一模式和第二模式两者中操作,而没有浪费的存储器单元。例如,第二部分934将用于第一模式(作为针对数据的存储)和第二模式(作为针对ecc或元数据的存储)。
[0132]
此外,存储器150_s可以包括与存储器阵列175_s分开的至少一个模式寄存器179。主机110_s可以被配置为设置至少一个模式寄存器179,并且存储器150_s可以基于至少一个模式寄存器179进行操作。例如,主机110_s可以被配置为设置存储器150_s中的至少一个模式寄存器179,第一模式和第二模式基于至少一个模式寄存器179。例如,存储器150_s可以基于至少一个模式寄存器179进入或退出第一模式和/或第二模式。
[0133]
此外,存储器150_s可以被配置为在第三模式(例如,链路ecc功能被启用)中操作。在第三模式中,第一地址空间942和第二地址空间944两者都可以用于访问。主机110_s可以被配置为设置至少一个模式寄存器179,以向存储器150_s指示第一模式(系统ecc功能未被启用)、第二模式(系统ecc功能被启用)或第三模式(链路ecc功能被启用)。在第三模式中,存储器150_s可以被配置为在写入操作中经由第一非数据连接(例如,数据选通rdqs)从主机110_s接收ecc。参考图3,存储器链路ecc解码器161可以被配置为基于ecc对数据执行错误检测或校正。在错误检测或校正之后,存储器150_s还可以被配置为向存储器阵列175_s提供数据(例如,经校正的数据)并且将数据存储在第一部分932和第二部分934中。
[0134]
在第三模式和读取操作中,存储器链路ecc编码器162可以被配置为基于存储在存储器阵列175_s的第一部分932和第二部分934中的数据生成ecc。存储器150_s还可以被配置为经由至少一个非数据连接(例如,数据掩码dm)向主机110_s输出ecc。在第三模式中,ecc不被存储在存储器阵列175_s中。
[0135]
参考图3和图16,呈现了与主机110_s相关的特征。主机110_s可以包括被配置为与存储器150_s通信(例如,在通道190上输出信令和接收信令)的存储器控制器130_s。主机110_s还可以包括至少一个处理器120,该至少一个处理器120被配置为在执行各种计算功
能(例如,拨号服务、无线数据访问和相机/视频功能等)时与存储器控制器130_s耦合。主机110_s还可以被配置为经由至少一个数据连接(例如,dq)从存储器150_s接收数据和向存储器150_s提供数据(例如,存储在存储器阵列175_s中)。
[0136]
主机110_s还可以被配置为在第一模式中向存储器150_s输出第一地址,以访问存储器阵列175_s的第一部分932中的数据(例如,经由命令和地址(ca))。主机110_s还可以被配置为向存储器150_s输出第二地址以访问存储器阵列175_s的第二部分934中的数据。例如,参考图17,第一地址可以是第一地址空间942中的地址,并且第二地址可以是第二地址空间944中的地址。因此,在第一模式中(例如,不启用系统ecc功能),主机110_s可以被配置为访问地址空间942和944两者。
[0137]
该主机110_s还被配置为在第二模式中,经由该至少一个非数据连接(例如,读取操作中的数据掩码dm;写入操作中的rdqs),向存储器输出第一地址,以访问该存储器阵列175_s的第一部分932中的数据,并且访问该第二部分934中的数据的ecc(或元数据)。因此,主机110_s可以被配置为通过不访问第二地址空间944来减少存储器150_s的可寻址空间。以此类方式,主机110_s可以被配置为响应于操作关键任务应用程序进入第二模式(例如,启用系统ece功能)以添加另外的层ecc。此外,装置100_s可以被配置为利用用于元数据的第二部分934来操作例如认证/安全或压缩功能。
[0138]
此外,在第二模式中,主机110_s可以被配置为减少用于访问存储器阵列175_s的地址空间。例如,参考图17,主机110_s可以被配置为在第二模式中不使用第二地址空间944。此类布置可以在存储器150_s的任何操作之前达成一致。例如,主机110_s和存储器150_s两者都可以被配置为同意在第二模式中不访问第二部分934而不交换标识第二地址空间944的信息(例如,包括第二地址)。例如,主机110_s可以被配置为设置至少一个模式寄存器179(参见图3)以使存储器150_s在第二模式中操作。在第二模式中,存储器访问将不需要用于第二地址空间944上的信息。
[0139]
呈现了在第二模式(例如,系统ecc启用)中和第三模式(例如,链路ecc启用)中的存储器控制器130和至少一个处理器120(参见图3)的某些特征。在第二模式中,存储器控制器130_s可以被配置为向至少一个处理器120提供从存储器150_s接收到的ecc(例如,系统ecc),并且从至少一个处理器120接收要向存储器150_s提供的ecc(例如,经由总线系统115)。
[0140]
在第三模式中,存储器控制器130_s还可以被配置为经由至少一个非数据连接(例如,写入操作中的数据选通rdqs和读取操作中的数据掩码dm)从存储器150_s接收ecc(例如,链路ecc)。存储器控制器130_s(例如,通过链路ecc解码器135)还可以被配置为基于ecc对数据执行错误检测或校正。存储器控制器130_s可以进一步被配置为在错误检测或校正之后,向至少一个处理器120提供数据(例如,校正的数据)。存储器控制器130_s可以进一步被配置为从至少一个处理器120接收数据,基于来自至少一个处理器120的数据生成ecc(例如,生成链路ecc的链路ecc编码器136),并且经由至少一个非数据连接向存储器150_s提供ecc。
[0141]
图26和图27图示了根据本公开的某些方面的在主机和存储器之间传递错误校正码的一种或多种方法。图26和图27的操作可以由例如图3、图16、图17和图23所示的装置100_s来实现。箭头指示操作之间的某些关系,但不一定是顺序关系。
[0142]
在2610处,主机和存储器经由至少一个数据连接和至少一个非数据连接进行通信。例如,参考图3和图16,主机110_s经由通道190向存储器150_s写入和从存储器150_s读取。通道190包括至少一个数据连接,诸如dq,以及至少一个非数据连接,诸如数据掩码dm(也称为dmi)和数据选通rdqs。在2620处,由存储器经由至少一个数据连接从主机接收数据。例如,在写入操作中,存储器150_s经由dq从主机110_s接收写入数据。在2630处,由存储器经由至少一个数据连接向主机输出数据。例如,在读取操作中,存储器150_s经由dq向主机110_s输出读取的数据。
[0143]
在2640处,在第一模式中,由存储器在存储器的存储器阵列的第一部分和第二部分中存储数据和输出数据。第一部分可以由第一地址寻址,并且第二部分可以由第二地址寻址。例如,参考图16,在第一模式中(例如,系统ecc功能未被启用),由存储器150_s接收到的数据被存储在存储器150_s的存储器阵列175_s的第一部分932和第二部分934中并且从该存储器150_s的存储器阵列175_s的第一部分932和第二部分934输出。参考图17,第一部分932可以由第一地址空间942中的第一地址寻址,并且第二部分934可以由第二地址空间944中的第二地址寻址。
[0144]
在2650处,由存储器在第二模式中经由至少一个非数据连接从主机接收数据的错误校正码(ecc)。例如,参考图3,存储器150_s在第二模式(例如,系统ecc功能被启用)中经由数据选通rdqs(在写入操作中)从主机110_s接收系统ecc。在2660处,由存储器在第二模式中将数据存储在存储器阵列的第一部分中。参考图3,存储器150_s将经由dq接收到的数据存储在存储器阵列175_s的第一部分932中。在2670处,由存储器在第二模式中基于第一地址将数据的ecc存储在存储器阵列的第二部分中。例如,在第二模式中,存储器150_s的地址空间减少到第一地址空间942,并且第一部分932和第二部分934共享第一地址空间942。存储器150_s使用第一地址将接收到的系统ecc存取(例如,存储)到第二部分934中。在2680处,由存储器在第二模式中经由至少一个非数据连接向主机输出数据的ecc。例如,参考图3,存储器150_s经由数据掩码dm(在读取操作中)向主机输出存储在第二部分934中的系统ecc。
[0145]
在2690处,由主机设置存储器中的至少一个模式寄存器,第一模式和第二模式基于该至少一个模式寄存器。例如,参考图3,存储器150_s包括与存储器阵列175_s分开的至少一个模式寄存器179。主机110_s被配置为设置至少一个模式寄存器179,并且存储器150_s基于至少一个模式寄存器179操作。例如,主机110_s在存储器150_s中设置至少一个模式寄存器179,第一模式和第二模式基于至少一个模式寄存器179。例如,存储器150_s基于至少一个模式寄存器179进入或退出第一模式和/或第二模式。在2710处,物理字线由第一部分和第二部分共享。例如,参考图23,第一部分932和第二部分934共享物理字线954。
[0146]
在2720处,由主机和存储器同意在第二模式中不访问第二部分,而不在存储器和主机之间交换标识第二地址的信息。在第二模式中,主机110_s减少用于访问存储器阵列175_s的地址空间。例如,参考图17,主机110_s在第二模式中不使用第二地址空间944。此类布置是在存储器150_s的任何操作之前商定的。例如,主机110_s和存储器150_s两者都同意在第二模式中不访问第二部分934,而不需要交换标识第二地址空间944(例如,包括第二地址)的信息。例如,主机110_s设置至少一个模式寄存器179(参见图3)以使存储器150_s在第二模式中操作。在第二模式中,存储器访问将不需要用于第二地址空间944上的信息。
[0147]
在2730-2770处,呈现了在第三模式中操作的存储器150_s的特征(例如,链路ecc功能被启用)。在2730处,由处于第三模式的存储器经由第一非数据连接从主机接收数据的ecc。在2740处,由处于第三模式的存储器基于ecc对数据执行错误检测或校正。在2750处,由处于第三模式的存储器将错误检测或校正后的数据存储在存储器阵列的第一部分和第二部分中。在2760处,由处于第三模式的存储器基于存储在存储器阵列的第一部分和第二部分中的数据生成ecc。在2770处,由处于第三模式的存储器经由至少一个非数据连接向主机输出ecc。
[0148]
在第三模式中,第一地址空间942和第二地址空间944两者都可以用于访问。参考图16,主机110_s设置至少一个模式寄存器179以指示第三模式(链路ecc功能被启用)。在第三模式中,存储器150_s在写入操作中经由第一非数据连接(例如,数据选通rdqs)从主机110_s接收ecc(例如,诸如奇偶校验位的链路ecc)。存储器链路ecc解码器161基于ecc对数据执行错误检测或校正。在错误检测或校正之后,存储器150_s向存储器阵列175_s提供数据(例如,校正的数据)并且将数据存储在第一部分932和第二部分934中。
[0149]
在第三模式和读取操作中,存储器链路ecc编码器162基于存储在存储器阵列175_s的第一部分932和第二部分934中的数据生成ecc。存储器150_s经由至少一个非数据连接(例如,数据掩码dm)将ecc向主机110_s输出。在第三模式中,ecc不存储在存储器阵列175_s中。
[0150]
图28、图29和图30图示了根据本公开的某些方面的在主机和存储器之间传递错误校正码的其他方法。图28、图29和图30的操作可以由例如图3、图16、图17和图23所示的装置100_s来实现。箭头指示操作之间的某些关系,但不一定是顺序关系。
[0151]
在2810处,由主机经由至少一个数据连接和至少一个非数据连接与存储器通信。该存储器包括存储器阵列。存储器阵列包括第一部分和第二部分。例如,参考图3和图16,主机110_s经由通道190向存储器150_s写入和从存储器150_s读取。通道190包括至少一个数据连接,诸如dq,以及至少一个非数据连接,诸如数据掩码dm(也称为dmi)和数据选通rdqs。在2820处,由主机经由至少一个数据连接从存储器接收数据。例如,在读取操作中,主机110_s经由dq从存储器150_s接收读取数据。在2830处,由主机经由至少一个数据连接向存储器提供数据。例如,在写入操作中,主机110_s经由dq向存储器150_s输出和提供数据。
[0152]
在2840处,由主机在第一模式中向存储器输出第一地址以访问存储器阵列的第一部分中的数据。在2850处,由主机在第一模式中向存储器输出第二地址,以访问存储器阵列的第二部分中的数据。例如,参考图16,主机110_s在第一模式中将第一地址空间942中的第一地址向存储器150_s输出以访问(例如,读取或写入)存储器阵列175_s的第一部分932中的数据。主机110_s在第一模式中将第二地址空间944中的第二地址向存储器150_s输出以访问(例如,读取或写入)存储器阵列175_s的第二部分934中的数据。在2860处,由主机在第二模式中经由至少一个非数据连接向存储器输出第一地址,以访问存储器阵列的第一部分中的数据并且访问该存储器阵列的该第二部分中的数据的错误校正码(ecc)。例如,在第二模式中,存储器150_s的地址空间减少到第一地址空间942,并且第一部分932和第二部分934共享第一地址空间942。主机110_s在第二模式中经由至少一个非数据连接(例如,写入掩码dm或数据选通rdqs)向存储器150_s输出第一地址,以访问(例如,读取或写入)存储器阵列175_s的第一部分932中的数据,并且访问存储器阵列175_s的第二部分934中的数据的
错误校正码(ecc)。
[0153]
在2870处,由主机设置存储器中的至少一个模式寄存器,第一模式和第二模式基于该至少一个模式寄存器。例如,参考图3,存储器150_s包括与存储器阵列175_s分开的至少一个模式寄存器179。主机110_s被配置为设置至少一个模式寄存器179,并且存储器150_s基于至少一个模式寄存器179操作。例如,主机110_s在存储器150_s中设置至少一个模式寄存器179,第一模式和第二模式基于至少一个模式寄存器179。例如,存储器150_s基于至少一个模式寄存器179进入或退出第一模式和/或第二模式。
[0154]
在2910处,由主机和存储器同意在第二模式中不访问第二部分,而不在存储器和主机之间交换标识第二地址的信息。在第二模式中,主机110_s减少用于访问存储器阵列175_s的地址空间。例如,参考图17,主机110_s在第二模式中不使用第二地址空间944。此类布置是在存储器150_s的任何操作之前所商定的。例如,主机110_s和存储器150_s两者都同意在第二模式中不访问第二部分934,而不需要交换标识第二地址空间944(例如,包括第二地址)的信息。例如,主机110_s设置至少一个模式寄存器179(参见图3)以使存储器150_s在第二模式中操作。在第二模式中,存储器访问将不需要用于第二地址空间944上的信息。
[0155]
在2920处,存储器与主机的存储器控制器通信。在2930处,由耦合到存储器控制器的至少一个处理器执行计算功能。参考图3和图16,主机110_s包括存储器控制器130_s,该存储器控制器被配置为与存储器150_s通信(例如,在通道190上输出信令和接收信令)。主机110_s包括至少一个处理器120,该至少一个处理器120被配置为在执行各种计算功能(例如,拨号服务、无线数据访问和相机/视频功能等)时与存储器控制器130_s耦合。主机110_s经由至少一个数据连接(例如,dq)从存储器150_s接收数据并且向存储器150_s(例如,存储在存储器阵列175_s中)提供数据。
[0156]
在2940处,由存储器控制器在第二模式中向至少一个处理器提供从存储器接收到的ecc。在2950处,由存储器控制器在第二模式中从至少一个处理器接收要向存储器提供的ecc。例如,参考图3,处于第二模式(例如,系统ecc功能被启用)的存储器控制器130_s从存储器150_s接收系统ecc,该系统ecc被存储在存储器阵列175_s的第二部分934中。存储器控制器130_s还经由总线系统115向至少一个处理器120提供系统ecc。此外,在第二模式中,存储器控制器130_s经由总线系统115从至少一个处理器120接收系统ecc。存储器控制器130_s又向存储器150_s提供系统ecc。在一些示例中,存储器控制器130_s不对系统ecc进行编码或解码。
[0157]
在3010-3060处,呈现了在第三模式(例如,链路ecc功能被启用)中操作的主机110_s的特征。在3010处,由处于第三模式的存储器控制器经由至少一个非数据连接从存储器接收ecc。在3020处,由处于第三模式的存储器控制器基于ecc对数据执行错误检测或校正。在3030处,由处于第三模式的存储器控制器向至少一个处理器提供错误检测或校正后的数据。在3040处,由处于第三模式的存储器控制器从至少一个处理器接收数据。在3050处,由第三模式的存储器控制器基于数据生成ecc。在3060处,由处于第三模式的存储器控制器经由至少一个非数据连接向存储器提供ecc。
[0158]
例如,在第三模式中,存储器控制器130_s经由至少一个非数据连接(例如,写入操作中的数据选通rdqs和读取操作中的数据掩码dm)从存储器150_s接收ecc(例如,链路ecc)。存储器控制器130_s(例如,通过链路ecc解码器135)基于ecc对数据执行错误检测或
校正。在错误检测或校正之后,存储器控制器130_s进一步经由总线系统115向至少一个处理器120提供数据(例如,经校正的数据)。存储器控制器130_s进一步从至少一个处理器120接收数据,基于来自至少一个处理器120的数据生成ecc(例如,生成链路ecc的链路ecc编码器136),并且经由至少一个非数据连接向存储器150_s提供ecc。
[0159]
图31图示了示例性无线通信设备3100,该示例性无线通信设备包括由一个或多个集成电路(ic)3102形成的射频(rf)部件,其中无线通信设备3100可以包括存储器,该存储器被配置为在至少一个数据连接上接收数据和输出数据,并且在第一模式中,将数据存储在可由第一地址寻址的存储器阵列的第一部分中和可由第二地址寻址的存储器阵列的第二部分中,并且在第二模式中,经由至少一个非数据连接接收和输出ecc,将数据存储在第一地址的第一部分中,并且基于第一地址将ecc存储在第二部分中,至少如图3、图16、图21和图22所示,并且根据本文公开的任何方面。如图31中所示,无线通信设备3100包括收发器3104和数据处理器3106。数据处理器3106可以包括用于存储数据和程序代码的存储器。收发器3104包括支持双向通信的发射器3108和接收器3110。一般来说,无线通信设备3100可以包括用于任何数量的通信系统和频带的任何数量的发射器3108和/或接收器3110。收发器3104的全部或一部分可以在一个或多个模拟ic、rfic、混频信号ic等上实现。
[0160]
发射器3108或接收器3110可以利用超外差架构或直接转换架构来实现。在超外差架构中,信号在多个级中在rf和基带之间进行频率转换,例如,在一个级中从rf转换到中频(if),然后在另一个级中从if转换到基带。在直接变频架构中,信号在一个阶段中在rf和基带之间进行频率转换。超外差和直接转换架构可以使用不同的电路块和/或具有不同的要求。在图31中的无线通信设备3100中,发射器3108和接收器3110利用直接转换架构来实现。
[0161]
在传输路径中,数据处理器3106处理要被传输的数据并且向发射器3108提供i和q模拟输出信号。在示例性无线通信设备3100中,数据处理器3106包括数模转换器(dac)3112(1)、3112(2),用于将数据处理器3106生成的数字信号转换成i和q模拟输出信号(例如i和q输出电流),用于进一步处理。
[0162]
在发射器3108内,低通滤波器3114(1)、3114(2)相应地对i和q模拟输出信号进行滤波,以移除由先前的数模转换导致的不需要的信号。放大器(amp)3116(1)、3116(2)相应地放大来自低通滤波器3114(1)、3114(2)的信号,并且提供i和q基带信号。上变频器3118通过混频器3120(1)、3120(2)用来自txlo信号生成器3122的i和q传输(tx)本地振荡器(lo)信号对i和q基带信号进行上变频,以提供经上变频的信号3124。滤波器3126对经上变频的信号3124进行滤波以移除由上变频导致的不需要的信号以及接收频带中的噪声。功率放大器(pa)3128放大来自滤波器3126的经上变频的信号3124以获得期望的输出功率电平并且提供传输rf信号。传输rf信号经由双工器或开关3130路由并且经由天线3132传输。
[0163]
在接收路径中,天线3132接收由传输的信号并且提供接收到的rf信号,该信号通过双工器或开关3130被路由并且被提供给低噪声放大器(lna)3134。双工器或开关3130被设计成以特定的接收(rx)到tx双工器频率分开来操作,使得rx信号与tx信号隔离。接收到的rf信号由lna 3134放大并且由滤波器3136滤波以获得期望的rf输入信号。下变频混频器3138(1)、3138(2)将滤波器3136的输出与来自rx lo信号生成器3140的i rx lo和q rx lo信号(即,lo_i和lo_q)混频以生成i和q基带信号。i和q基带信号由amp 3142(1)、3142(2)放大并且由低通滤波器3144(1)、3144(2)进一步滤波,以获得i和q模拟输入信号,该i和
q模拟输入信号被提供给数据处理器3106。在此示例中,数据处理器3106包括模数转换器(adc)3146(1)、3146(2),用于将模拟输入信号转换成数字信号以便由数据处理器3106进一步处理。
[0164]
在图31的无线通信设备3100中,tx lo信号生成器3122生成用于上变频的i和q tx lo信号,并且rx lo信号生成器3140生成用于下变频的i和q rx lo信号。每个lo信号都是具有特定基频的周期信号。tx锁相环(pll)电路3148从数据处理器3106接收定时信息并且生成用于调整来自tx lo信号生成器3122的tx lo信号的频率和/或相位的控制信号。类似地,rx pll电路3150从数据处理器3106接收定时信息并且生成用于调整来自rx lo信号生成器3140的rx lo信号的频率和/或相位的控制信号。
[0165]
每个无线通信设备3100,都包括存储器,该存储器被配置为在至少一个数据连接上接收数据和输出数据,并且在第一模式中,将数据存储在可由第一地址寻址的存储器阵列的第一部分中和可由第二地址寻址的存储器阵列的第二部分中,并且在第二模式中,经由至少一个非数据连接接收和输出ecc,将数据存储在第一地址的第一部分中,并且基于第一地址将ecc存储在第二部分中,至少如图3、图16、图21和图22所示,并且根据本文公开的任何方面,可以设置或集成在任何基于处理器的设备中。非限制性的示例包括机顶盒、娱乐单元、导航设备、通信设备、固定位置数据单元、移动位置数据单元、全球定位系统(gps)设备、移动电话、蜂窝电话、智能电话、会话发起协议(sip)电话、平板电脑、平板手机、服务器、计算机、便携式计算机、移动计算设备、可穿戴计算设备(例如,智能手表、健康或健身跟踪器、眼镜等)、台式计算机、个人数字助理(pda)、监测器、计算机监测器、电视、调谐器、收音机、卫星无线电设备、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频光盘(dvd)播放器、便携式数字视频播放器、机动车辆、车辆部件、航空电子系统、无人机和多旋翼飞行器。
[0166]
在这点上,图32图示了基于处理器的系统3200的示例,该基于处理器的系统包括存储器,该存储器被配置为在至少一个数据连接上接收数据和输出数据,并且在第一模式中,将数据存储在可由第一地址寻址的存储器阵列的第一部分中和可由第二地址寻址的存储器阵列的第二部分中,并且在第二模式中,经由至少一个非数据连接接收和输出ecc,将数据存储在第一地址的第一部分中,并且基于第一地址将ecc存储在第二部分中,至少如图3、图16、图21和图22所示,并且根据本文公开的任何方面。在此示例中,基于处理器的系统3200包括一个或多个中央处理器单元(cpu)3202,该一个或多个中央处理器单元也可以被称为cpu或处理器核,每个中央处理器单元包括一个或多个处理器3204。(一个或多个)cpu 3202可以具有高速缓冲存储器3206,该高速缓冲存储器耦合到(一个或多个)处理器3204,用于快速访问临时存储的数据。作为示例,(一个或多个)处理器3204可以包括存储器,该存储器被配置为在至少一个数据连接上接收数据和输出数据,并且在第一模式中,将数据存储在可由第一地址寻址的存储器阵列的第一部分中和可由第二地址寻址的存储器阵列的第二部分中,并且在第二模式中,经由至少一个非数据连接接收和输出ecc,将数据存储在第一地址的第一部分中,并且基于第一地址将ecc存储在第二部分中,至少如图3、图16、图21和图22所示,并且根据本文公开的任何方面。(一个或多个)cpu 3202耦合到系统总线3208并且可以将基于处理器的系统3200中包括的主设备和从设备相互耦合。众所周知,(一个或多个)cpu 3202通过在系统总线3208上交换地址、控制和数据信息来与这些其他设备
通信。举例来说,(一个或多个)cpu 3202可以将总线事务请求传递到作为从属设备的示例的存储器控制器3210。尽管图32中未图示,但是可以提供多个系统总线3208,其中每个系统总线3208构成不同的结构。
[0167]
其他主设备和从设备可以连接到系统总线3208。如图32所示,作为示例,这些设备可以包括存储器系统3212,该存储器系统包括存储器控制器3210和一个或多个存储器阵列3214、一个或多个输入设备3216、一个或多个输出设备3218、一个或多个网络接口设备3220以及一个或多个显示器控制器3222。存储器系统3212、一个或多个输入设备3216、一个或多个输出设备3218、一个或多个网络接口设备3220以及一个或多个显示器控制器3222中的每一者都可以包括存储器,该存储器被配置为在至少一个数据连接上接收数据和输出数据,并且在第一模式中,将数据存储在可由第一地址寻址的存储器阵列的第一部分中和可由第二地址寻址的存储器阵列的第二部分中,并且在第二模式中,经由至少一个非数据连接接收和输出ecc,将数据存储在第一地址的第一部分中,并且基于第一地址将ecc存储在第二部分中,至少如图3、图16、图21和图22所示,并且根据本文公开的任何方面。(一个或多个)输入设备3216可以包括任何类型的输入设备,包括但不限于输入键、开关、语音处理器等。(一个或多个)输出设备3218可以包括任何类型的输出设备,包括但不限于音频、视频、其他视觉指示器等。(一个或多个)网络接口设备3220可以是被配置为允许与网络3224交换数据的任何设备。网络3224可以是任何类型的网络,包括但不限于有线或无线网络、专用或公共网络、局域网(lan)、无线局域网(wlan)、广域网(wan)、bluetooth
tm
网络和互联网。(一个或多个)网络接口设备3220可以被配置为支持任何类型的期望通信协议。
[0168]
(一个或多个)cpu 3202还可以被配置为通过系统总线3208访问(一个或多个)显示器控制器3222以控制发送到一个或多个显示器3226的信息。(一个或多个)显示器控制器3222经由一个或多个视频处理器3228向(一个或多个)显示器3226发送要显示的信息,视频处理器3228将要显示的信息处理成适合用于(一个或多个)显示器3226的格式。(一个或多个)显示器3226可以包括任何类型的显示器,包括但不限于阴极射线管(crt)、液晶显示器(lcd)、等离子显示器、发光二极管(led)显示器等。(一个或多个)显示器控制器3222、(一个或多个)显示器3226和/或(一个或多个)视频处理器3228可以包括存储器,该存储器被配置为在至少一个数据连接上接收数据和输出数据,并且在第一模式中,将数据存储在可由第一地址寻址的存储器阵列的第一部分中和可由第二地址寻址的存储器阵列的第二部分中,并且在第二模式中,经由至少一个非数据连接接收和输出ecc,将数据存储在第一地址的第一部分中,并且基于第一地址将ecc存储在第二部分中,至少如图3、图16、图21和图22所示,并且根据本文公开的任何方面。
[0169]
本领域的技术人员将进一步了解,结合本文所公开的方面描述的各种说明性逻辑块、模块、电路和算法可以实现为电子硬件、存储在存储器或另一个计算机可读介质中且由处理器或其他处理设备执行的指令或两者的组合。作为示例,本文描述的主设备和从设备可以在任何电路、硬件部件、ic或ic芯片中采用。本文公开的存储器可以是任何类型和大小的存储器,并且可以被配置为存储任何类型的期望信息。为了清楚地说明此可互换性,各种说明性部件、块、模块、电路和步骤已在上面大体上根据它们的功能进行了描述。如何实现此类功能取决于特定的应用、设计选择和/或对整个系统的设计约束。熟练的技术人员可以针对每个特定的应用以不同的方式实现所描述的功能,但是此类实现决定不应被解释为导
致脱离本公开的范围。
[0170]
结合本文公开的方面描述的各种说明性的逻辑块、模块和电路可以用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其他可编程逻辑设备、分立门或晶体管逻辑、分立硬件部件或设计成执行本文描述的功能的它们的任意组合来实现或执行。处理器可以是微处理器,但是替代方案中,处理器可以是任何传统的处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合(例如,dsp和微处理器的组合、多个微处理器、一个或多个微处理器与dsp核的结合,或任何其他此类配置)。
[0171]
本文所公开的方面可以在硬件和存储在硬件中的指令中实施,并且可以驻留在例如随机存取存储器(ram)、闪存存储器、只读取存储器(rom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)、寄存器、硬盘、可移动磁盘、cd-rom或本领域已知的任何其他形式的计算机可读介质中。示例性存储介质耦合到处理器,使得处理器可以从存储介质读取信息以及向存储介质写入信息。替代地,存储介质可以集成到处理器中。处理器和存储介质可以驻留在asic中。asic可以驻留在远程站中。替代地,处理器和存储介质可以作为分立部件驻留在远程站、或服务器中。
[0172]
还应注意的是,在本文的任何示例性方面中描述的操作步骤是为了提供示例和讨论而描述的。所描述的操作可以以不同于所示顺序的多种不同顺序来执行。此外,在单个操作步骤中描述的操作实际上可以在多个不同的步骤中执行。另外,可以组合在示例性方面中讨论的一个或多个操作步骤。应理解,流程图中所示的操作步骤可以进行多种不同的修改,这对于本领域技术人员来说是显而易见的。本领域技术人员还应理解,可以使用多种不同的技术和方法中的任一种来表示信息和信号。例如,贯穿以上描述可能提及的数据、指令、命令、信息、信号、位、符号和码片可以由电压、电流、电磁波、磁场或粒子、光场或粒子或其任意组合来表示。
[0173]
提供前面的描述以使本领域的任何技术人员能够实践本文描述的各个方面。对这些方面的各种修改对于本领域技术人员来说将是显而易见的,并且本文定义的一般原理可以应用于其他方面。因此,权利要求不旨在限于本文中示出的方面,而是要符合与权利要求语言一致的全部范围。除非特别声明,否则以单数形式提及的元件并不意味着“一个且仅一个”,而是“一个或多个”。本文使用的“示例性”一词表示“用作示例、实例或说明”。本文描述为“示例性”的任何方面不一定被解释为比其他方面更优选或更有利。除非另有明确说明,否则术语“一些”是指一个或多个。诸如“a、b或c中的至少一个”、“a、b或c中的一个或多个”、“a、b和c中的至少一个”、“a、b和c中的一个或多个”以及“a、b、c或其任意组合”的组合包括a、b和/或c的任意组合,并且可以包括a的倍数、b的倍数或c的倍数。特别地,诸如“a、b或c中的至少一者”、“a、b或c中的一者或多者”、“a、b和c中的至少一者”、“a、b和c中的一者或多者”以及“a、b、c或其任意组合”的组合可以是仅a、仅b、仅c、a和b、a和c、b和c、或a和b和c,其中任何此类组合可以包含a、b或c中的一个或多个成员。本领域普通技术人员已知的或以后将会知道的本公开中所描述的各个方面的元件的所有结构和功能等效物通过引用明确地并入本文并且旨在被权利要求所涵盖。此外,本文所公开的任何内容均不旨在专门提供给公众,无论此类公开内容是否在权利要求中明确记载。词语“模块”、“机构”、“元件”、“设备”等不能用于代替词语“装置”。因此,除非使用短语“用于......的装置”明确陈述该元件,否则没有权利要求元件被解释为装置加功能。
[0174]
在以下编号的条款中描述实现示例:
[0175]
1.一种装置,包括:
[0176]
存储器,被配置为经由至少一个数据连接和至少一个非数据连接与主机通信,该存储器包括存储器阵列,该存储器阵列包括第一部分和第二部分;
[0177]
该存储器还被配置为:
[0178]
经由该至少一个数据连接从主机接收数据;以及
[0179]
经由该至少一个数据连接向主机输出数据;
[0180]
该存储器还被配置为,在第一模式中:
[0181]
在存储器阵列的第一部分和第二部分中存储数据和输出数据,第一部分可由第一地址寻址,第二部分可由第二地址寻址;
[0182]
以及
[0183]
该存储器还被配置为,在第二模式中:
[0184]
经由至少一个非数据连接从主机接收数据的错误校正码(ecc);
[0185]
存储器阵列的第一部分中存储数据;
[0186]
基于第一地址,在存储器阵列的第二部分中存储数据的ecc;以及
[0187]
经由该至少一个非数据连接向主机输出数据的ecc。
[0188]
2.根据条款1所述的装置,其中该存储器还包括至少一个模式寄存器,该至少一个模式寄存器可以被配置为由该主机设置,该第一模式和该第二模式基于该至少一个模式寄存器。
[0189]
3.根据条款1或根据条款2所述的装置,其中该存储器还被配置为同意在第二模式中不访问可由第二地址寻址的第二部分,而不在该存储器和该主机之间交换标识第二地址的信息。
[0190]
4.根据条款1至3中任一项所述的装置,其中第一地址和第二地址在行寻址方面不同。
[0191]
5.根据条款1至3中任一项所述的装置,其中第一地址和第二地址在列寻址方面不同。
[0192]
6.根据条款1至5中任一项所述的装置,其中第一部分和第二部分共享物理字线。
[0193]
7.根据条款1至6中任一项所述的装置,其中该存储器还被配置为在第三模式中:
[0194]
经由至少一个非数据连接从主机接收数据的ecc;
[0195]
基于ecc对数据执行错误检测或校正;
[0196]
在错误检测或校正之后,存储器阵列的第一部分和第二部分中存储数据;
[0197]
基于存储在存储器阵列的第一部分和第二部分中的数据生成ecc;以及
[0198]
经由该至少一个非数据连接向主机输出ecc。
[0199]
8.根据条款1至7中任一项所述的装置,还包括选自以下中的一项的设备:计算系统、移动计算系统、物联网设备、虚拟现实系统或增强现实系统,
[0200]
该设备并入存储器、主机、至少一个数据连接和至少一个非数据连接。
[0201]
9.一种装置,包括:
[0202]
主机,被配置为经由至少一个数据连接和至少一个非数据连接与存储器通信,该存储器包括存储器阵列,该存储器阵列包括第一部分和第二部分;
[0203]
该主机还被配置为:
[0204]
经由该至少一个数据连接从该存储器接收数据并且向该存储器提供该数据;
[0205]
该主机还被配置为在第一模式中:
[0206]
向存储器输出第一地址以访问存储器阵列的第一部分中的数据;以及
[0207]
向存储器输出第二地址以访问存储器阵列的第二部分中的数据;以及
[0208]
该主机还被配置为在第二模式中:
[0209]
经由该至少一个非数据连接,向该存储器输出该第一地址,以访问该存储器阵列的第一部分中的数据,并且访问该第二部分中的数据的错误校正码(ecc)。
[0210]
10.根据条款9所述的装置,其中该主机还被配置为在该存储器中设置至少一个模式寄存器,该第一模式和该第二模式基于该至少一个模式寄存器。
[0211]
11.根据条款9或根据条款10所述的装置,其中该主机还被配置为同意在第二模式中不访问可由第二地址寻址的第二部分,而不在该存储器和该主机之间交换标识第二地址的信息。
[0212]
12.根据条款9至11中任一项所述的装置,其中第一地址和第二地址在行寻址方面不同。
[0213]
13.根据条款9至11中任一项所述的装置,其中第一地址和第二地址在列寻址方面不同。
[0214]
14.根据条款9至13中任一项所述的装置,其中该主机包括存储器控制器和至少一个处理器,该存储器控制器被配置为与该存储器通信,该至少一个处理器在执行计算功能时与该存储器控制器耦合,
[0215]
其中在该第二模式中,该存储器控制器被配置为:
[0216]
向至少一个处理器提供从存储器接收到的ecc;以及
[0217]
从至少一个处理器接收要被提供给存储器的ecc,
[0218]
其中在第三模式中,该存储器控制器还被配置为:
[0219]
经由至少一个非数据连接从存储器接收ecc;
[0220]
基于ecc对数据执行错误检测或校正;以及
[0221]
在错误检测或校正之后,向该至少一个处理器提供数据;以及
[0222]
其中在该第三模式中,该存储器控制器还被配置为:
[0223]
从至少一个处理器接收数据;
[0224]
基于该数据生成ecc;以及
[0225]
经由至少一个非数据连接向存储器提供ecc。
[0226]
15.根据条款9至14中任一项所述的装置,还包括选自以下中的一项的设备:从计算系统、移动计算系统、物联网设备、虚拟现实系统或增强现实系统,
[0227]
该设备并入存储器、主机、至少一个数据连接和至少一个非数据连接。
[0228]
16.一种在主机和存储器之间传递错误校正码的方法,包括:
[0229]
由存储器经由至少一个数据连接和至少一个非数据连接与主机通信,该存储器包括存储器阵列,该存储器阵列包括第一部分和第二部分;
[0230]
由存储器经由至少一个数据连接从主机接收数据;
[0231]
由存储器经由至少一个数据连接向主机输出数据;
[0232]
由存储器在第一模式中在存储器的存储器阵列的第一部分和第二部分中存储数据和输出数据,第一部分可由第一地址寻址,第二部分可由第二地址寻址;
[0233]
由存储器在第二模式中经由至少一个非数据连接从主机接收数据的纠错码(ecc);
[0234]
由存储器在第二模式中在存储器阵列的第一部分中存储数据;
[0235]
由存储器在第二模式中基于第一地址将数据的ecc存储在存储器阵列的第二部分中;以及
[0236]
由存储器在第二模式中经由至少一个非数据连接向主机输出数据的ecc。
[0237]
17.根据条款16所述的方法,还包括由主机在存储器中设置至少一个模式寄存器,第一模式和第二模式基于该至少一个模式寄存器。
[0238]
18.根据条款16或根据条款17所述的方法,还包括:
[0239]
由主机和存储器同意在第二模式中不访问可由第二地址寻址的第二部分,而不交换标识存储器和主机之间的第二地址的信息。
[0240]
19.根据条款16至18中任一项所述的方法,其中第一地址和第二地址在行寻址方面不同。
[0241]
20.根据条款16至18中任一项所述的方法,其中第一地址和第二地址在列寻址方面不同。
[0242]
21.根据条款16至20中任一项所述的方法,还包括:
[0243]
由第一部分和第二部分共享物理字线。
[0244]
22.根据条款16至21中任一项所述的方法,还包括:
[0245]
由存储器在第三模式中经由至少一个非数据连接从主机接收数据的ecc;
[0246]
由存储器在第三模式中基于ecc对数据执行错误检测或校正;
[0247]
由存储器在第三模式中在错误检测或校正之后在存储器阵列的第一部分和第二部分中存储数据;
[0248]
由存储器在第三模式中基于存储在存储器阵列的第一部分和第二部分中的数据生成ecc;以及
[0249]
由存储器在第三模式中经由至少一个非数据连接向主机输出ecc。
[0250]
23.一种在主机和存储器之间传递错误校正码的方法,包括:
[0251]
由该主机经由至少一个数据连接和至少一个非数据连接与该存储器通信,该存储器包括存储器阵列,该存储器阵列包括第一部分和第二部分;
[0252]
由主机经由至少一个数据连接,来从存储器接收数据;
[0253]
由主机经由至少一个数据连接,来向存储器提供数据;
[0254]
由主机在第一模式中向存储器输出第一地址以访问存储器阵列的第一部分中的数据;
[0255]
由主机在第一模式中向存储器输出第二地址,以访问存储器阵列的第二部分中的数据;以及
[0256]
由主机在第二模式中经由至少一个非数据连接向存储器输出第一地址,以访问存储器阵列的第一部分中的数据并且访问该存储器阵列的该第二部分中的数据的错误校正码(ecc)。
[0257]
24.根据条款23所述的方法,还包括:由主机在存储器中设置至少一个模式寄存器,第一模式和第二模式基于该至少一个模式寄存器。
[0258]
25.根据条款23或条款24所述的方法,还包括:由主机和存储器同意在第二模式中不访问可由第二地址寻址的第二部分,而不在存储器和主机之间交换标识第二地址的信息。
[0259]
26.根据条款23至25中任一项所述的方法,其中第一地址和第二地址在行寻址方面不同。
[0260]
27.根据条款23至25中任一项所述的方法,其中第一地址和第二地址在列寻址方面不同。
[0261]
28.根据条款23至27中任一项所述的方法,还包括:
[0262]
由主机的存储器控制器与存储器通信;
[0263]
由耦合到存储器控制器的至少一个处理器执行计算功能;
[0264]
由存储器控制器在第二模式中向至少一个处理器提供从存储器接收到的ecc;
[0265]
由存储器控制器在第二模式中从至少一个处理器接收要向存储器提供的ecc;
[0266]
由存储器控制器在第三模式中经由该至少一个非数据连接从存储器接收ecc;
[0267]
由存储器控制器在第三模式中基于ecc对数据执行错误检测或校正;
[0268]
由存储器控制器在第三模式中向至少一个处理器提供错误检测或校正后的数据;
[0269]
由存储器控制器在第三模式中从至少一个处理器接收数据;
[0270]
由存储器控制器在第三模式中基于数据生成ecc;以及
[0271]
由存储器控制器在第三模式中经由至少一个非数据连接向存储器提供ecc。
[0272]
29.一种装置,包括:
[0273]
存储器,被配置为与主机通信,
[0274]
该存储器包括存储器阵列,该存储器阵列包括第一部分和第二部分;
[0275]
该存储器还被配置为:
[0276]
从主机接收数据;以及
[0277]
将数据向主机输出;
[0278]
该存储器还被配置为在第一模式中,在该存储器阵列的第一部分和第二部分中存储数据和输出数据,该第一部分可由第一地址寻址,该第二部分可由第二地址寻址;以及
[0279]
该存储器还被配置为在第二模式中:
[0280]
基于第一地址在第一部分中存储数据和输出数据;
[0281]
从主机接收数据的元数据;以及
[0282]
基于第一地址,在第二部分中存储元数据和输出元数据。
[0283]
30.根据条款29所述的装置,其中元数据是加密元数据。
[0284]
31.根据条款29所述的装置,其中元数据是压缩元数据。
[0285]
32.根据条款29至31中任一项所述的装置,其中该存储器阵列还包括第三部分,该存储器还被配置为:
[0286]
基于从主机接收到的数据生成阵列错误校正码(ecc);以及
[0287]
在第三部分中存储阵列ecc。
[0288]
33.一种装置,包括:
[0289]
主机,被配置为与存储器通信,该存储器包括存储器阵列,该存储器阵列包括第一部分和第二部分;
[0290]
该主机还被配置为从该存储器接收数据并且向该存储器提供该数据;
[0291]
该主机还被配置为在第一模式中:
[0292]
向存储器输出第一地址以访问存储器阵列的第一部分中的数据;以及
[0293]
向存储器输出第二地址以访问存储器阵列的第二部分中的数据;以及
[0294]
该主机还被配置为在第二模式中向该存储器输出该第一地址以访问该存储器阵列的第一部分中的数据并且访问该存储器阵列的该第二部分中的数据的元数据。
[0295]
34.根据条款33所述的装置,其中元数据是加密元数据。
[0296]
35.根据条款33所述的装置,其中元数据是压缩元数据。
[0297]
36.根据条款33至35中任一项所述的装置,被集成到射频(rf)前端模块中。
[0298]
37.根据条款33至36中任一项所述的装置,被集成到选自由以下组成的组的设备中:机顶盒;娱乐单元;导航设备;通信设备;固定位置数据单元;移动位置数据单元;全球定位系统(gps)设备;移动电话;蜂窝电话;智能电话;会话发起协议(sip)电话;平板计算机;平板电话;服务器;计算机;便携式计算机;移动计算设备;可穿戴计算设备;台式计算机;个人数字助理(pda);监测器;计算机监测器;电视;调谐器;收音机;卫星无线电设备;音乐播放器;数字音乐播放器;便携式音乐播放器;数字视频播放器;视频播放器;数字视频光盘(dvd)播放器;便携式数字视频播放器;机动车辆;车辆部件;航空电子系统;无人机和多旋翼飞行器。

技术特征:


1.一种装置,包括:存储器,被配置为经由至少一个数据连接和至少一个非数据连接与主机通信,所述存储器包括存储器阵列,所述存储器阵列包括第一部分和第二部分;所述存储器还被配置为:经由所述至少一个数据连接从所述主机接收数据;以及经由所述至少一个数据连接向所述主机输出所述数据;所述存储器还被配置为:在第一模式中,在所述存储器阵列的所述第一部分和所述第二部分中存储数据和输出所述数据,所述第一部分能够由第一地址寻址,所述第二部分能够由第二地址寻址;以及所述存储器还被配置为在第二模式中:经由所述至少一个非数据连接从所述主机接收所述数据的错误校正码(ecc);在所述存储器阵列的所述第一部分中存储所述数据;基于所述第一地址,在所述存储器阵列的所述第二部分中存储所述数据的所述ecc;以及经由所述至少一个非数据连接向所述主机输出所述数据的所述ecc。2.根据权利要求1所述的装置,其中所述存储器还包括至少一个模式寄存器,所述至少一个模式寄存器能够被配置为由所述主机设置,所述第一模式和所述第二模式基于所述至少一个模式寄存器。3.根据权利要求1所述的装置,其中所述存储器还被配置为同意在所述第二模式中不访问能够由所述第二地址寻址的所述第二部分,而不在所述存储器与所述主机之间交换标识所述第二地址的信息。4.根据权利要求1所述的装置,其中所述第一地址和所述第二地址在行寻址方面不同。5.根据权利要求1所述的装置,其中所述第一地址和所述第二地址在列寻址方面不同。6.根据权利要求1所述的装置,其中所述第一部分和所述第二部分共享物理字线。7.根据权利要求1所述的装置,其中所述存储器还被配置为在第三模式中:经由所述至少一个非数据连接从主机接收所述数据的所述ecc;基于所述ecc对所述数据执行错误检测或校正;在所述错误检测或校正之后,在所述存储器阵列的所述第一部分和所述第二部分中存储所述数据;基于存储在所述存储器阵列的所述第一部分和所述第二部分中的所述数据,生成所述ecc;以及经由所述至少一个非数据连接向所述主机输出所述ecc。8.根据权利要求1所述的装置,还包括选自以下中的一项的设备:计算系统、移动计算系统、物联网设备、虚拟现实系统或增强现实系统,所述设备并入所述存储器、所述主机、所述至少一个数据连接和所述至少一个非数据连接。9.一种装置,包括:主机,被配置为经由至少一个数据连接和至少一个非数据连接与存储器通信,所述存储器包括存储器阵列,所述存储器阵列包括第一部分和第二部分;
所述主机还被配置为经由所述至少一个数据连接从所述存储器接收所述数据并且向所述存储器提供所述数据;所述主机还被配置为在第一模式中:向所述存储器输出第一地址以访问所述存储器阵列的所述第一部分中的所述数据;以及向所述存储器输出第二地址以访问所述存储器阵列的所述第二部分中的所述数据;以及所述主机还被配置为在第二模式中,经由所述至少一个非数据连接,向所述存储器输出所述第一地址,以访问所述存储器阵列的所述第一部分中的所述数据,并且访问所述第二部分中的所述数据的错误校正码(ecc)。10.根据权利要求9所述的装置,其中所述主机还被配置为在所述存储器中设置至少一个模式寄存器,所述第一模式和所述第二模式基于所述至少一个模式寄存器。11.根据权利要求9所述的装置,其中所述主机还被配置为同意在所述第二模式中不访问能够由所述第二地址寻址的所述第二部分,而不在所述存储器与所述主机之间交换标识所述第二地址的信息。12.根据权利要求9所述的装置,其中所述第一地址和所述第二地址在行寻址方面不同。13.根据权利要求9所述的装置,其中所述第一地址和所述第二地址在列寻址方面不同。14.根据权利要求9所述的装置,其中所述主机包括存储器控制器和至少一个处理器,所述存储器控制器被配置为与所述存储器通信,所述至少一个处理器在执行计算功能时与所述存储器控制器耦合,其中在所述第二模式中,所述存储器控制器被配置为:向所述至少一个处理器提供从所述存储器接收到的所述ecc;以及从所述至少一个处理器接收要被提供给所述存储器的所述ecc,其中在第三模式中,所述存储器控制器还被配置为:经由所述至少一个非数据连接从所述存储器接收所述ecc,基于所述ecc对所述数据执行错误检测或校正;以及在所述错误检测或校正之后,向所述至少一个处理器提供所述数据;以及其中在所述第三模式中,所述存储器控制器还被配置为:从所述至少一个处理器接收所述数据;基于所述数据生成所述ecc;以及经由所述至少一个非数据连接向所述存储器提供所述ecc。15.根据权利要求9所述的装置,还包括选自以下中的一项的设备:计算系统、移动计算系统、物联网设备、虚拟现实系统或增强现实系统,所述设备并入所述存储器、所述主机、所述至少一个数据连接和所述至少一个非数据连接。16.一种在主机和存储器之间传递错误校正码的方法,包括:由所述存储器经由至少一个数据连接和至少一个非数据连接与主机通信,所述存储器
包括存储器阵列,所述存储器阵列包括第一部分和第二部分;由所述存储器经由所述至少一个数据连接从所述主机接收数据;由所述存储器经由所述至少一个数据连接向所述主机输出所述数据;由所述存储器在第一模式中在所述存储器的所述存储器阵列的所述第一部分和所述第二部分中存储数据和输出所述数据,所述第一部分能够由第一地址寻址,所述第二部分能够由第二地址寻址;由所述存储器在第二模式中经由所述至少一个非数据连接从所述主机接收所述数据的错误校正码(ecc);由所述存储器在所述第二模式中在所述存储器阵列的所述第一部分中存储所述数据;由所述存储器在所述第二模式中基于所述第一地址在所述存储器阵列的所述第二部分中存储所述数据的所述ecc;以及由所述存储器在所述第二模式中经由所述至少一个非数据连接向所述主机输出所述数据的所述ecc。17.根据权利要求16所述的方法,还包括:由所述主机设置所述存储器中的至少一个模式寄存器,所述第一模式和所述第二模式基于所述至少一个模式寄存器。18.根据权利要求16所述的方法,还包括:由所述主机和所述存储器同意在所述第二模式中不访问能够由所述第二地址寻址的所述第二部分,而不在所述存储器和所述主机之间交换标识所述第二地址的信息。19.根据权利要求16所述的方法,其中所述第一地址和所述第二地址在行寻址方面不同。20.根据权利要求16所述的方法,其中所述第一地址和所述第二地址在列寻址方面不同。21.根据权利要求16所述的方法,还包括:由所述第一部分和所述第二部分共享物理字线。22.根据权利要求16所述的方法,还包括:由所述存储器在第三模式中经由所述至少一个非数据连接从所述主机接收所述数据的所述ecc;由所述存储器在所述第三模式中基于ecc对所述数据执行错误检测或校正;由所述存储器在所述第三模式中在错误检测或校正之后在所述存储器阵列的所述第一部分和所述第二部分中存储所述数据;由所述存储器在所述第三模式中基于存储在所述存储器阵列的所述第一部分和所述第二部分中的所述数据生成所述ecc;以及由所述存储器在所述第三模式中经由所述至少一个非数据连接向所述主机输出所述ecc。23.一种在主机和存储器之间传递错误校正码的方法,包括:由所述主机经由至少一个数据连接和至少一个非数据连接与所述存储器通信,所述存储器包括存储器阵列,所述存储器阵列包括第一部分和第二部分;由所述主机经由所述至少一个数据连接,来从所述存储器接收数据;由所述主机经由所述至少一个数据连接,来向所述存储器提供所述数据;
由所述主机在第一模式中向所述存储器输出第一地址以访问所述存储器阵列的所述第一部分中的所述数据;由所述主机在所述第一模式中向所述存储器输出第二地址,以访问所述存储器阵列的所述第二部分中的所述数据;以及由所述主机在第二模式中经由所述至少一个非数据连接向所述存储器输出所述第一地址,以访问所述存储器阵列的所述第一部分中的数据并且访问所述存储器阵列的所述第二部分中的所述数据的所述错误校正码(ecc)。24.根据权利要求23所述的方法,还包括:由所述主机设置所述存储器中的至少一个模式寄存器,所述第一模式和所述第二模式基于所述至少一个模式寄存器。25.根据权利要求23所述的方法,还包括:由所述主机和所述存储器同意在所述第二模式中不访问能够由所述第二地址寻址的所述第二部分,而不在所述存储器和所述主机之间交换标识所述第二地址的信息。26.根据权利要求23所述的方法,其中所述第一地址和所述第二地址在行寻址方面不同。27.根据权利要求23所述的方法,其中所述第一地址和所述第二地址在列寻址方面不同。28.根据权利要求23所述的方法,还包括:由所述主机的存储器控制器与所述存储器通信;由耦合到所述存储器控制器的至少一个处理器执行计算功能;由所述存储器控制器在所述第二模式中向所述至少一个处理器提供从所述存储器接收到的所述ecc;由所述存储器控制器在所述第二模式中从所述至少一个处理器接收要向所述存储器提供的所述ecc;由所述存储器控制器在第三模式中经由所述至少一个非数据连接从所述存储器接收所述ecc;由所述存储器控制器在所述第三模式中基于所述ecc对所述数据执行错误检测或校正;由所述存储器控制器在所述第三模式中向所述至少一个处理器提供所述错误检测或校正后的所述数据;由所述存储器控制器在所述第三模式中从所述至少一个处理器接收所述数据;由所述存储器控制器在所述第三模式中基于所述数据生成所述ecc;以及由所述存储器控制器在所述第三模式中经由所述至少一个非数据连接向所述存储器提供所述ecc。29.一种装置,包括:存储器,被配置为与主机通信,所述存储器包括存储器阵列,所述存储器阵列包括第一部分和第二部分;所述存储器还被配置为:从所述主机接收数据;以及将所述数据向所述主机输出;
所述存储器还被配置为在第一模式中,在所述存储器阵列的所述所述第一部分和第二部分中存储数据和输出数据,所述第一部分能够由第一地址寻址,所述第二部分能够由第二地址寻址;以及所述存储器还被配置为在第二模式中:基于第一地址在第一部分中存储所述数据和输出所述数据;从所述主机接收所述数据的元数据;以及基于所述第一地址在所述第二部分中存储元数据和输出所述元数据。30.根据权利要求29所述的装置,其中所述元数据是加密元数据。31.根据权利要求29所述的装置,其中所述元数据是压缩元数据。32.根据权利要求29所述的装置,其中所述存储器阵列还包括第三部分,所述存储器还被配置为:基于从所述主机接收到的所述数据生成阵列错误校正码(ecc);以及在所述第三部分中存储所述阵列ecc。33.一种装置,包括:主机,被配置为与存储器通信,所述存储器包括存储器阵列,所述存储器阵列包括第一部分和第二部分;所述主机还被配置为从所述存储器接收数据并且向所述存储器提供所述数据;所述主机还被配置为在第一模式中:向所述存储器输出第一地址以访问所述存储器阵列的所述第一部分中的所述数据;以及向所述存储器输出第二地址以访问所述存储器阵列的所述第二部分中的所述数据;以及所述主机还被配置为在第二模式中向所述存储器输出所述第一地址以访问所述存储器阵列的所述第一部分中的所述数据并且访问所述存储器阵列的所述第二部分中的所述数据的元数据。34.根据权利要求33所述的装置,其中所述元数据是加密元数据。35.根据权利要求33所述的装置,其中所述元数据是压缩元数据。36.根据权利要求33所述的装置,被集成到射频(rf)前端模块中。37.根据权利要求33所述的装置,被集成到选自由以下组成的组的设备中:机顶盒;娱乐单元;导航设备;通信设备;固定位置数据单元;移动位置数据单元;全球定位系统(gps)设备;移动电话;蜂窝电话;智能电话;会话发起协议(sip)电话;平板计算机;平板电话;服务器;计算机;便携式计算机;移动计算设备;可穿戴计算设备;台式计算机;个人数字助理(pda);监测器;计算机监测器;电视;调谐器;收音机;卫星无线电设备;音乐播放器;数字音乐播放器;便携式音乐播放器;数字视频播放器;视频播放器;数字视频光盘(dvd)播放器;便携式数字视频播放器;机动车辆;车辆部件;航空电子系统;无人机和多旋翼飞行器。

技术总结


提出了用于系统错误校正码功能的方法和装置。该装置包括存储器,该存储器被配置为经由至少一个数据连接和至少一个非数据连接与主机通信。该存储器包括存储器阵列。该存储器阵列包括第一部分和第二部分。该存储器还被配置为在第一模式中,在该存储器阵列的该第一部分和该第二部分中存储数据和输出数据。该第一部分可由第一地址寻址,并且该第二部分可由第二地址寻址。该存储器还被配置为在第二模式中,经由该至少一个非数据连接从该主机接收该数据的ECC,将该数据存储在该存储器阵列的该第一部分中,并且基于该第一地址将该数据的该ECC存储在该存储器阵列的该第二部分中。ECC存储在该存储器阵列的该第二部分中。ECC存储在该存储器阵列的该第二部分中。


技术研发人员:

J

受保护的技术使用者:

高通股份有限公司

技术研发日:

2021.05.03

技术公布日:

2022/12/23

本文发布于:2024-09-23 22:38:43,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/47870.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:存储器   数据   所述   阵列
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议