CN115910178A - 存储器、数据处理结构和数据分析方法 - Google Patents
存储器、数据处理结构和数据分析方法 Download PDFInfo
- Publication number
- CN115910178A CN115910178A CN202110957041.XA CN202110957041A CN115910178A CN 115910178 A CN115910178 A CN 115910178A CN 202110957041 A CN202110957041 A CN 202110957041A CN 115910178 A CN115910178 A CN 115910178A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- initial data
- memory
- initial
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请实施例涉及半导体电路设计领域,特别涉及一种存储器、数据处理结构和数据分析方法,包括:存储模块,存储初始数据和第一校验数据;ECC模块,被配置为基于待存入存储模块的初始数据,编译生成对应于初始数据的第一校验数据,并将初始数据和第一校验数据存入存储模块;ECC模块还被配置为基于从存储模块读出的初始数据,编译生成对应于初始数据的第二校验数据,并根据第二校验数据和从存储模块读出的第一校验数据检验并修正从存储模块读出的初始数据;接口模块,获取待存入存储模块的初始数据,并输出修正后的初始数据和第一校验数据;控制模块,被配置为控制接口模块获取并输出第一校验数据,以提供对存储器的ECC功能简单且可靠的测试方法。
Description
技术领域
本申请涉及半导体电路设计领域,特别涉及一种存储器、数据处理结构和数据分析方法。
背景技术
动态随机存储器(Dynamic Random Access Memory,DRAM)由于其存储密度高、传输速度快等特点,广泛应用于现代电子系统中。随着半导体技术的发展,DRAM技术越来越先进,存储单元的集成度越来越高;同时,各种不同的应用对DRAM的性能、功耗和可靠性等也都要求越来越高。
为了保证数据的存储不发生错误,通过引入检错纠错功能(Error CorrectionCode,ECC)来对存储的数据进行数据校验,以提高DRAM数据存储的准确性,即保证ECC功能的正确运行可以一定程度上确保存储的数据不发生错误。
然而,申请人发现目前对DRAM中ECC功能的测试环境较为局限,亟需设计一种简单且可靠的测试方法,以测试DRAM中ECC的功能是否正常。
发明内容
本申请实施例提供一种存储器、数据处理结构和数据分析方法,在存储器投入使用后,也可以测试存储器中ECC的功能是否正常。
本申请实施例提供了一种存储器,包括:存储模块,用于存储初始数据和第一校验数据;ECC模块,被配置为,基于待存入存储模块的初始数据,编译生成对应于初始数据的第一校验数据,并将初始数据和第一校验数据存入存储模块;ECC模块还被配置为,基于从存储模块读出的初始数据,编译生成对应于初始数据的第二校验数据,并根据第二校验数据和从存储模块读出的第一校验数据检验并修正从存储模块读出的初始数据;接口模块,用于获取待存入存储模块的初始数据,并用于输出修正后的初始数据和第一校验数据;控制模块,被配置为,控制接口模块获取并输出第一校验数据。
本申请实施例提供了一种数据处理结构,用于向存储器的存储单元中写入数据,或将存储单元存储的数据读出,包括:校验模块,被配置为,基于待存入存储单元的初始数据,编译生成对应于初始数据的第一校验数据,并将初始数据和第一校验数据存入存储单元;校验模块还被配置为,基于从存储单元读出的初始数据,编译生成对应于初始数据的第二校验数据,并根据第二校验数据和从存储单元读出的第一校验数据检验并修正从存储单元读出的初始数据;输入/输出模块,用于获取待存入存储单元初始数据,并用于输出修正后的初始数据和第一校验数据;控制模块,被配置为,控制输入/输出模块获取并输出第一校验数据。
本申请实施例提供了一种数据分析方法,应用于上述存储器,包括:在数据写入阶段,接口模块获取待存入存储模块的初始数据,ECC模块基于初始数据编译生成对应于初始数据的第一校验数据,并将初始数据和第一校验数据存入存储模块;在数据读出阶段,ECC模块用于获取从存储模块读出的初始数据,并基于从存储模块读出的初始数据编译生成对应于初始数据的第二校验数据,并根据第二校验数据和从存储模块读出的第一校验数据修正初始数据,并输出校验并修正后的初始数据;控制模块用于根据指令生成控制信号,控制信号用于控制ECC模块在数据读出阶段向接口模块输出第一校验数据;基于读出的第一校验数据和修正后的初始数据,判断ECC模块的编译操作是否正确。
在存储器投入使用后,通过控制模块控制ECC模块输出第一校验数据,第一校验数据与修正后的初始数据一同从接口模块输出,通过输出的初始数据和第一校验数据,判断ECC模块的校验功能是否正常,即存储器投入使用后仍可以采用较为简单的方式进行ECC功能的校验,测试环境真实,且获取的测试数据更加可靠。
附图说明
图1为本申请一实施例提供的存储器的结构示意图;
图2为本申请一实施例提供的存储器的具体结构示意图;
图3为本申请另一实施例提供的数据处理结构的结构示意图;
图4为本申请另一实施例提供的数据处理结构的具体结构示意图;
图5为本申请又一实施例提供的数据分析方法的流程示意图。
具体实施方式
为了保证数据的存储不发生错误,通过引入检错纠错功能(Error CorrectionCode,ECC)来对存储的数据进行数据校验,以提高DRAM数据存储的准确性,即保证ECC功能的正确运行可以一定程度上确保存储的数据不发生错误。
申请人发现目前对DRAM中ECC功能的测试环境较为局限,亟需设计一种简单且可靠的测试方法,以测试DRAM中ECC的功能是否正常。
本申请一实施例提供了一种存储器,包括:存储模块,用于存储初始数据和第一校验数据;ECC模块,被配置为,基于待存入存储模块的初始数据,编译生成对应于初始数据的第一校验数据,并将初始数据和第一校验数据存入存储模块;ECC模块还被配置为,基于从存储模块读出的初始数据,编译生成对应于初始数据的第二校验数据,并根据第二校验数据和从存储模块读出的第一校验数据检验并修正从存储模块读出的初始数据;接口模块,用于获取待存入存储模块的初始数据,并用于输出修正后的初始数据和第一校验数据;控制模块,被配置为,控制接口模块获取并输出第一校验数据。
本领域的普通技术人员可以理解,在本申请各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。
图1为本实施例提供的存储器的结构示意图,图2为本实施例提供的存储器的具体结构示意图,以下结合附图对本实施例提供的存储器作进一步详细说明,具体如下:
参考图1,存储器,包括:
ECC模块102,被配置为,基于待存入存储模块101的初始数据Data,编译生成对应于初始数据Data的第一校验数据Parity1,并将初始数据Data和第一校验数据Parity1存入存储模块101。
需要说明的是,在本实施例中,初始数据Data以一个128位的二进制数为例进行举例说明,并不构成对本实施例的限定;在具体应用中,初始数据Data的数据长度可以根据存储器所需存储的数据长度调整,相应地,ECC模块102根据初始数据Data编译生成的第一校验数据Parity1为一个8位的二进制数。
存储模块101,用于存储初始数据Data和第一校验数据Parity1。
其中,初始数据Data存储在存储模块101的数据存储区,第一校验数据Parity1存储在存储模块101的校验存储区。
在一个例子中,存储在数据存储区的初始数据Data以8位一组,分为16组存储,以保证数据存储区中每个存储单元的存储空间与校验存储区中存储单元的存储空间一致;需要说明的是,可以根据存储器存储单元存储空间的划分方式,来划分存储在数据存储区的初始数据Data,本实施例并不构成对数据存储时,数据划分的限定。
ECC模块102还被配置为,基于从存储模块101读出的初始数据Data,编译生成对应于初始数据Data的第二校验数据Parity2,并根据第二校验数据Parity2和从存储模块101读出的第一校验数据Parity1校验并修正从存储模块101读出的初始数据Data。
由于存储器存储数据是采用电平存储的形式,而电平存储的数据可能由于电平的变化而导致写入的数据和读出的数据不同,因此需要通过ECC来对写入的数据和读出的数据进行检错纠错。
具体地,若根据读出的数据Data编译生成的第二校验数据Parity2和读出的第一校验数据Parity1一致,说明待存入存储模块101的初始数据Data和从存储模块101读出的初始数据Data一致,初始数据Data在存取的过程中没有发生改变;若读出的数据Data编译生成的第二校验数据Parity2和读出的第一校验数据Parity1不同,说明待存入存储模块101的初始数据Data和从存储模块101读出的初始数据Data不同,初始数据Data在存取的过程中发生改变。
进一步地,若初始数据Data发生仅有一位发生改变,可根据第二校验数据Parity2和第一校验数据Parity1对初始数据Data进行修复,若初始数据Data发生改变的数位大于1,无法对初始数据进行修复。
接口模块103,用于获取待存入存储模块101的初始数据Data,并用于输出第一校验数据Parity1和修正后的初始数据Data′。
控制模块104,被配置为,控制接口模块103获取并输出第一校验数据Parity1。
对于正常运行状态的存储器,其ECC功能在进行校验和修复后不会输出校验数据,从而使得对于投入使用的存储器,无法检验ECC功能是否正常,本实施例通过控制模块104控制接口模块103输出第一校验数据Parity1,从而实现对投入使用的存储器的ECC功能检测。
具体地,根据读出的修正后的初始数据Data′编译生成检测数据,若检测数据与读出的第一校验数据Parity1相同,ECC模块的编译操作正确,若检测数据与读出的第一校验数据Parity1不同,ECC模块的编译操作错误。
需要说明的是,上述对读出的修正后的初始数据Data′进行编译的编译算法和ECC模块102做编译的算法一致;另外,还可以通过比较初始数据Data和修正后的初始数据Data′判断ECC模块102是否工作。
另外,在本实施例中,存储器还包括:数据通道105,连接接口模块103和ECC模块102,用于接口模块103和ECC模块102之间的数据传输。
在一个例子中,数据通道105包括:第一数据路径115,用于接口模块103向ECC模块102传输初始数据Data,并用于ECC模块102向接口模块103传输修正后的初始数据Data′;第二数据路径125,用于ECC模块102向接口模块103传输第一校验数据Parity1,即第一数据路径115传输真实数据,第二数据路径125传输校验数据,通过对数据的分类传输,保证数据传输的准确性。
在一些实施例中,参考图2,控制模块104包括:信号接收单元124,用于接收外部指令,并基于外部指令产生控制信号;处理单元114,基于控制信号控制接口模块103获取并输出第一校验数据Parity1,即通过存储器与外部交互来控制对存储器的ECC功能测试,避免不必要的数据传输。
在一些实施例中,第二数据路径125基于控制信号开启,即进一步保证只有对ECC功能测试时,存储器才会输出第一校验数据Parity1。
在一些实施例中,参考图2,接口模块103包括:数据焊盘113,数据焊盘113接收的外部数据作为待存入存储模块101的初始数据Data,初始数据Data通过数据焊盘113写入存储模块101,从存储模块101读出的初始数据Data通过数据焊盘113输出;掩码焊盘123,用于输出第一校验数据Parity1,通过数据焊盘113和掩码焊盘123的分类输出,即对数据的分类传输,保证数据传输的准确性。
另外,存储器正常数据读写过程中可能会涉及到掩码操作,而存储器掩码操作是基于控制端是否发送掩码,以及相关掩码功能是否开启。对于掩码操作,在对存储器的ECC测试时是不会用到的,即在对ECC测试时,存储器的掩码焊盘相当于并没有作用,因此,采用掩码焊盘输出第一校验数据Parity1,不需要对存储器新增焊盘,并不会改变存储器的外部结构。
在一些实施例中,存储器还包括缓存模块(未图示),连接接口模块103,用于缓存从接口模块103写入的初始数据Data,或用于缓存待从接口模块103输出的初始数据Data。
在存储器投入使用后,通过控制模块控制ECC模块输出第一校验数据,第一校验数据与修正后的初始数据一同从接口模块输出,通过输出的初始数据和第一校验数据,判断ECC模块的校验功能是否正常,即存储器投入使用后仍可以采用较为简单的方式进行ECC功能的校验,测试环境真实,且获取的测试数据更加可靠。
值得一提的是,本实施例中所涉及到的各单元均为逻辑单元,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本申请的创新部分,本实施例中并没有将与解决本申请所提出的技术问题关系不太密切的单元引入,但这并不表明本实施例中不存在其它的单元。
本申请另一实施例提供了一种数据处理结构,用于向存储器的存储单元中写入数据,或将存储单元存储的数据读出,包括:校验模块,被配置为,基于待存入存储单元的初始数据,编译生成对应于初始数据的第一校验数据,并将初始数据和第一校验数据存入存储单元;校验模块还被配置为,基于从存储单元读出的初始数据,编译生成对应于初始数据的第二校验数据,并根据第二校验数据和从存储单元读出的第一校验数据检验并修正从存储单元读出的初始数据;输入/输出模块,用于获取待存入存储单元初始数据,并用于输出修正后的初始数据和第一校验数据;控制模块,被配置为,控制输入/输出模块获取并输出第一校验数据。
图3为本实施例提供的数据处理结构的结构示意图,图4为本实施例提供的数据处理结构的具体结构示意图,以下结合附图对本实施例提供的数据处理结构作进一步详细说明,具体如下:
参考图3,数据处理结构200,用于向存储器的存储单元中写入数据,或将存储单元存储的校验数据读出,包括:
校验模块202,被配置为,基于待存入存储单元的初始数据Data,编译生成对应于初始数据Data的第一校验数据Parity1,并将初始数据Data和第一校验数据Parity1存入存储单元。
校验模块202还被配置为,基于从存储单元读出的初始数据Data,编译生成对应于初始数据Data的第二校验数据Parity2,并根据第二校验数据Parity2和从存储单元读出的第一校验数据Parity1校验并修正从存储单元读出的初始数据Data。
由于存储器存储数据是采用电平存储的形式,而电平存储的数据可能由于电平的变化而导致写入的数据和读出的数据不同,因此需要通过ECC来对写入的数据和读出的数据进行检错纠错。
具体地,若根据读出的数据Data编译生成的第二校验数据Parity2和读出的第一校验数据Parity1一致,说明待存入存储单元的初始数据Data和从存储单元读出的初始数据Data一致,初始数据Data在存取的过程中没有发生改变;若读出的数据Data编译生成的第二校验数据Parity2和读出的第一校验数据Parity1不同,说明待存入存储单元的初始数据Data和从存储单元读出的初始数据Data不同,初始数据Data在存取的过程中发生改变。
进一步地,若初始数据Data发生仅有一位发生改变,可根据第二校验数据Parity2和第一校验数据Parity1对初始数据Data进行修复,若初始数据Data发生改变的数位大于1,无法对初始数据进行修复。
输入/输出模块203,用于获取待存入存储单元的初始数据Data,并用于输出第一校验数据Parity1和修正后的初始数据Data′。
控制模块204,被配置为,控制输入/输出模块203获取并输出第一校验数据Parity1。
根据读出的修正后的初始数据Data′编译生成检测数据,若检测数据与读出的第一校验数据Parity1相同,ECC模块的编译操作正确,若检测数据与读出的第一校验数据Parity1不同,ECC模块的编译操作错误。
需要说明的是,上述对读出的修正后的初始数据Data′进行编译的编译算法和ECC模块102做编译的算法一致;另外,还可以通过比较初始数据Data和修正后的初始数据Data′判断ECC模块102是否工作。
另外,在本实施例中,数据处理结构200还包括:数据通道205,连接输入/输出模块203和校验模块202,用于输入/输出模块203和校验模块202之间的数据传输。
在一个例子中,数据通道205包括:第一数据路径215,用于输入/输出模块203向校验模块202传输初始数据Data,并用于校验模块202向输入/输出模块203传输修正后的初始数据Data′;第二数据路径225,用于校验模块202向输入/输出模块203传输第一校验数据Parity1,即第一数据路径115传输真实数据,第二数据路径125传输校验数据,通过对数据的分类传输,保证数据传输的准确性。
在一些实施例中,控制模块204包括:信号接收单元224,用于接收外部指令,并基于外部指令产生控制信号;处理单元214,基于控制信号控制输入/输出模块203获取并输出第一校验数据Parity1,即通过存储器与外部交互来控制对存储器的ECC功能测试,避免不必要的数据传输。
在一些实施例中,第二数据路径125基于控制信号开启,即进一步保证只有对ECC功能测试时,存储器才会输出第一校验数据Parity1。
在一些实施例中,参考图4,采用存储器的数据焊盘213和掩码焊盘223作为输入/输出模块203,数据焊盘213,数据焊盘213接收的外部数据作为待存入存储单元的初始数据Data,初始数据Data通过数据焊盘213写入存储单元,从存储单元读出的初始数据Data通过数据焊盘213输出;掩码焊盘223,用于输出第一校验数据Parity1,通过数据焊盘213和掩码焊盘223的分类输出,即对数据的分类传输,保证数据传输的准确性。
另外,存储器正常数据读写过程中可能会涉及到掩码操作,而存储器掩码操作是基于控制端是否发送掩码,以及相关掩码功能是否开启。对于掩码操作,在对存储器的ECC测试时是不会用到的,即在对ECC测试时,存储器的掩码焊盘相当于并没有作用,因此,采用掩码焊盘输出第一校验数据Parity1,不需要对存储器新增焊盘,并不会改变存储器的外部结构。
在一些实施例中,存储器还包括缓存模块(未图示),连接输入/输出模块203,用于缓存从输入/输出模块203写入的初始数据Data,或用于缓存待从输入/输出模块203输出的初始数据Data。
在存储器投入使用后,通过控制模块控制ECC模块输出第一校验数据,第一校验数据与修正后的初始数据一同从接口模块输出,通过输出的初始数据和第一校验数据,判断ECC模块的校验功能是否正常,即存储器投入使用后仍可以采用较为简单的方式进行ECC功能的校验,测试环境真实,且获取的测试数据更加可靠。
值得一提的是,本实施例中所涉及到的各单元均为逻辑单元,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本申请的创新部分,本实施例中并没有将与解决本申请所提出的技术问题关系不太密切的单元引入,但这并不表明本实施例中不存在其它的单元。
本申请又一实施例提供了一种数据分析方法,应用于上述存储器,包括:在数据写入阶段,接口模块获取待存入存储模块的初始数据,ECC模块基于初始数据编译生成对应于初始数据的第一校验数据,并将初始数据和第一校验数据存入存储模块;在数据读出阶段,ECC模块用于获取从存储模块读出的初始数据,并基于从存储模块读出的初始数据编译生成对应于初始数据的第二校验数据,并根据第二校验数据和从存储模块读出的第一校验数据修正初始数据,并输出校验并修正后的初始数据;控制模块用于根据指令生成控制信号,控制信号用于控制ECC模块在数据读出阶段向接口模块输出第一校验数据;基于读出的第一校验数据和修正后的初始数据,判断ECC模块的编译操作是否正确。
图5为本实施例提供的数据分析方法的流程示意图,以下结合附图对本实施例提供的数据分析方法作进一步详细说明,具体如下:
参考图1、图2和图5,数据分析方法,包括:
第一步:在数据写入阶段,写入初始数据。
具体地,在数据写入阶段,接口模块103获取待存入存储模块101的初始数据Data,ECC模块102基于初始数据Data编译生成对应于初始数据Data的第一校验数据Parity1,并将初始数据Data和第一校验数据Parity1存入存储模块101。
第二步:在数据读出阶段,读出修正后的初始数据和第一校验数据。
具体地,ECC模块101用于获取从存储模块101读出的初始数据Data,并基于从存储模块101读出的初始数据Data编译生成对应于初始数据Data的第二校验数据Parity2,并根据第二校验数据Parity2和从存储模块101读出的第一校验数据Parity1校验并修正初始数据Data,并输出修正后的初始数据Data′。
其中,控制模块104用于根据指令生成控制信号,控制信号用于控制ECC模块102在数据读出阶段向接口模块103输出第一校验数据Parity1。
由于存储器存储数据是采用电平存储的形式,而电平存储的数据可能由于电平的变化而导致写入的数据和读出的数据不同,因此需要通过ECC来对写入的数据和读出的数据进行检错纠错。
具体地,若根据读出的数据Data编译生成的第二校验数据Parity2和读出的第一校验数据Parity1一致,说明待存入存储模块101的初始数据Data和从存储模块101读出的初始数据Data一致,初始数据Data在存取的过程中没有发生改变;若读出的数据Data编译生成的第二校验数据Parity2和读出的第一校验数据Parity1不同,说明待存入存储模块101的初始数据Data和从存储模块101读出的初始数据Data不同,初始数据Data在存取的过程中发生改变。
进一步地,若初始数据Data发生仅有一位发生改变,可根据第二校验数据Parity2和第一校验数据Parity1对初始数据Data进行修复,若初始数据Data发生改变的数位大于1,无法对初始数据进行修复。
基于读出的第一校验数据Parity1和修正后的初始数据Data,判断ECC模块编译操作是否正确。具体地,第三步:基于修正后的初始数据编译获取检测数据。
具体地,根据从接口模块103读出的修正后的初始数据Data′编译生成检测数据。
可以理解的是,在ECC功能正常的情况下,从接口模块103读出的修正后的初始数据Data′应该和写入存储模块101的初始数据Data一致。因此,也可以根据写入存储模块101的初始数据Data编译获取检测数据。
对于正常运行状态的存储器,其ECC功能在进行校验和修复后不会输出校验数据,从而使得对于投入使用的存储器,无法检验ECC功能是否正常,本实施例通过控制模块104控制接口模块103输出第一校验数据Parity1,从而实现对投入使用的存储器的ECC功能检测。
需要说明的是,上述对读出的修正后的初始数据Data′进行编译的编译算法和ECC模块102做编译的算法一致;另外,还可以通过比较初始数据Data和修正后的初始数据Data′判断ECC模块102是否工作。
第四步:判断ECC模块编译操作是否正确。
具体地,若检测数据与读出的第一校验数据Parity1相同,ECC模块的编译操作正确,若检测数据与读出的第一校验数据Parity1不同,ECC模块的编译操作错误。
在本实施例中,采用存储器的数据焊盘113和掩码焊盘123作为接口模块103,数据焊盘113,数据焊盘113接收的外部数据作为待存入存储模块101的初始数据Data,初始数据Data通过数据焊盘113写入存储模块101,从存储模块101读出的初始数据Data通过数据焊盘113输出;掩码焊盘123,用于输出第二校验数据Parity2,通过数据焊盘113和掩码焊盘123的分类输出,即对数据的分类传输,保证数据传输的准确性。
另外,存储器正常数据读写过程中可能会涉及到掩码操作,而存储器掩码操作是基于控制端是否发送掩码,以及相关掩码功能是否开启。对于掩码操作,在对存储器的ECC测试时是不会用到的,即在对ECC测试时,存储器的掩码焊盘相当于并没有作用,因此,采用掩码焊盘输出第一校验数据Parity1,不需要对存储器新增焊盘,并不会改变存储器的外部结构。
在存储器投入使用后,通过控制模块控制ECC模块输出第一校验数据,第一校验数据与修正后的初始数据一同从接口模块输出,通过输出的初始数据和第一校验数据,判断ECC模块的校验功能是否正常,即存储器投入使用后仍可以采用较为简单的方式进行ECC功能的校验,测试环境真实,且获取的测试数据更加可靠。
上面各种步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤;对流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其流程的核心设计都在该专利的保护范围内。
本领域的普通技术人员可以理解,上述各实施例是实现本申请的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。
Claims (15)
1.一种存储器,其特征在于,包括:
存储模块,用于存储初始数据和第一校验数据;
ECC模块,被配置为,基于待存入所述存储模块的所述初始数据,编译生成对应于所述初始数据的所述第一校验数据,并将所述初始数据和所述第一校验数据存入所述存储模块;
所述ECC模块还被配置为,基于从所述存储模块读出的所述初始数据,编译生成对应于所述初始数据的第二校验数据,并根据所述第二校验数据和从所述存储模块读出的所述第一校验数据检验并修正从所述存储模块读出的所述初始数据;
接口模块,用于获取待存入所述存储模块的所述初始数据,并用于输出修正后的所述初始数据和所述第一校验数据;
控制模块,被配置为,控制所述接口模块获取并输出第一校验数据。
2.根据权利要求1所述的存储器,其特征在于,所述接口模块包括:
数据焊盘,所述数据焊盘接收的外部数据作为所述待存入所述存储模块的所述初始数据,所述初始数据通过所述数据焊盘写入所述存储模块,从所述存储模块读出的所述初始数据通过所述数据焊盘输出;
掩码焊盘,用于输出所述第一校验数据。
3.根据权利要求1所述的存储器,其特征在于,所述控制模块包括:
信号接收单元,用于接收外部指令,并基于所述外部指令产生控制信号;
处理单元,基于所述控制信号控制所述接口模块获取并输出第一校验数据。
4.根据权利要求3所述的存储器,其特征在于,还包括:数据通道,连接所述接口模块和所述ECC模块,用于所述接口模块和所述ECC模块之间的数据传输。
5.根据权利要求4所述的存储器,其特征在于,所述数据通道包括:
第一数据路径,用于所述接口模块向所述ECC模块传输所述初始数据,并用于所述ECC模块向所述接口模块传输修正后的所述初始数据;
第二数据路径,用于所述ECC模块向所述接口模块传输所述第一校验数据。
6.根据权利要求5所述的存储器,其特征在于,所述第二数据路径基于所述控制信号开启。
7.一种数据处理结构,用于向存储器的存储单元中写入数据,或将所述存储单元存储的数据读出,其特征在于,包括:
校验模块,被配置为,基于待存入所述存储单元的初始数据,编译生成对应于所述初始数据的第一校验数据,并将所述初始数据和所述第一校验数据存入所述存储单元;
所述校验模块还被配置为,基于从所述存储单元读出的所述初始数据,编译生成对应于所述初始数据的第二校验数据,并根据所述第二校验数据和从所述存储单元读出的所述第一校验数据检验并修正从所述存储单元读出的所述初始数据;
输入/输出模块,用于获取待存入所述存储单元初始数据,并用于输出修正后的所述初始数据和所述第一校验数据;
控制模块,被配置为,控制所述输入/输出模块获取并输出第一校验数据。
8.根据权利要求7所述的数据处理结构,其特征在于,包括:
采用所述存储器的数据焊盘和掩码焊盘作为所述输入/输出模块;
其中,所述数据焊盘用于获取待存入所述存储单元初始数据,并输出修正后的所述初始数据;
所述掩码焊盘用于输出所述第一校验数据。
9.根据权利要求7所述的数据处理结构,其特征在于,所述控制模块包括:
信号接收单元,用于接收外部指令,并基于所述外部指令产生控制信号;
处理单元,基于所述控制信号控制所述输入/输出模块获取并输出第一校验数据。
10.根据权利要求9所述的数据处理结构,其特征在于,还包括:数据通道,连接所述输入/输出模块和所述校验模块,用于所述输入/输出模块和所述校验模块之间的数据传输。
11.根据权利要求10所述的数据处理结构,其特征在于,所述数据通道包括:
第一数据路径,用于所述输入/输出模块向所述校验模块传输所述初始数据,并用于所述校验模块向所述输入/输出模块传输所述初始数据;
第二数据路径,用于所述校验模块向所述输入/输出模块传输所述第一校验数据;
其中,所述第二数据路径基于所述控制信号开启。
12.一种数据分析方法,应用于权利要求1~6任一项所述的存储器,其特征在于,包括:
在数据写入阶段,接口模块获取待存入存储模块的所述初始数据,ECC模块基于所述初始数据编译生成对应于所述初始数据的第一校验数据,并将所述初始数据和所述第一校验数据存入所述存储模块;
在数据读出阶段,所述ECC模块用于获取从所述存储模块读出的所述初始数据,并基于从所述存储模块读出的所述初始数据编译生成对应于所述初始数据的第二校验数据,并根据所述第二校验数据和从所述存储模块读出的所述第一校验数据校验并修正所述初始数据,并输出修正后的所述初始数据;
所述控制模块用于根据指令生成控制信号,所述控制信号用于控制所述ECC模块在数据读出阶段向所述接口模块输出所述第一校验数据;
基于读出的所述第一校验数据和修正后的所述初始数据,判断所述ECC模块的编译操作是否正确。
13.根据权利要求12所述的数据分析方法,其特征在于,采用存储器的数据焊盘和掩码焊盘作为所述接口模块;
所述掩码焊盘用于输出所述第一校验数据;
所述接口模块获取待存入存储模块的所述初始数据,包括:将从所述数据焊盘外部输入的数据作为待存入所述存储模块的所述初始数据,所述初始数据通过所述数据焊盘写入所述存储器;
所述输出修正后的所述初始数据,包括:所述修正后的所述初始数据通过所述掩码焊盘输出到所述存储器的外部。
14.根据权利要求13所述的数据分析方法,其特征在于,判断所述ECC模块的编译操作是否正确,包括:
基于读出的所述初始数据编译获取对应于所述初始数据的检测数据;
若所述检测数据与读出的所述第一校验数据相同,所述ECC模块的编译操作正确;
若所述检测数据与读出的所述第一校验数据不同,所述ECC模块的编译操作错误。
15.根据权利要求14所述的数据分析方法,其特征在于,所述基于读出的所述初始数据编译获取对应于所述初始数据的检测数据所采用的编译方法,与所述ECC模块的编译操作的编译方法相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110957041.XA CN115910178A (zh) | 2021-08-19 | 2021-08-19 | 存储器、数据处理结构和数据分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110957041.XA CN115910178A (zh) | 2021-08-19 | 2021-08-19 | 存储器、数据处理结构和数据分析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115910178A true CN115910178A (zh) | 2023-04-04 |
Family
ID=86471436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110957041.XA Pending CN115910178A (zh) | 2021-08-19 | 2021-08-19 | 存储器、数据处理结构和数据分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115910178A (zh) |
-
2021
- 2021-08-19 CN CN202110957041.XA patent/CN115910178A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100653296B1 (ko) | 메모리를 구비한 반도체 장치 및 메모리 테스트 방법 | |
US8201037B2 (en) | Semiconductor integrated circuit and method for controlling semiconductor integrated circuit | |
KR20000052798A (ko) | 에러 위치지정 코드를 사용하여 멀티레벨 셀 메모리를 정정하는방법 및 장치 | |
CN111078459B (zh) | 半导体芯片的测试方法、装置及系统 | |
CN102467975A (zh) | 数据错误检查方法、数据传输方法和半导体存储装置 | |
CN111078462B (zh) | 数据校验方法及电路 | |
CN110619920A (zh) | 半导体装置和包括该半导体装置的测试系统 | |
US6957377B2 (en) | Marking of and searching for initial defective blocks in semiconductor memory | |
KR20080007806A (ko) | Ecc엔진을 이용한 병렬 비트 테스트 방법 및 그 장치 | |
US7075851B2 (en) | Semiconductor memory device inputting/outputting data and parity data in burst operation | |
US8671317B2 (en) | Built-in self test circuit and designing apparatus | |
US20230013082A1 (en) | Test method and test system | |
CN115910183A (zh) | 测试方法及测试系统 | |
CN112395129A (zh) | 存储校验方法、装置、计算芯片、计算机设备及存储介质 | |
CN115938451A (zh) | 测试方法及测试系统 | |
US7484147B2 (en) | Semiconductor integrated circuit | |
CN115910178A (zh) | 存储器、数据处理结构和数据分析方法 | |
US20100146224A1 (en) | Request processing device, request processing system, and access testing method | |
CN116153378A (zh) | 错误检查刷写操作方法和使用该方法的半导体系统 | |
JP6594712B2 (ja) | 半導体メモリ及び半導体メモリのベリファイ方法 | |
US20070256002A1 (en) | Error correction and error detection method for reading of stored information data and a storage control unit for the same | |
JP2003100095A (ja) | 半導体集積回路装置 | |
CN115910179A (zh) | 测试方法及测试系统 | |
US11955989B2 (en) | Memory device and test method thereof | |
CN112466380B (zh) | 存储器及其存储方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |