CN109686397B - 具有自检功能的存储器及其检测方法 - Google Patents
具有自检功能的存储器及其检测方法 Download PDFInfo
- Publication number
- CN109686397B CN109686397B CN201711007678.2A CN201711007678A CN109686397B CN 109686397 B CN109686397 B CN 109686397B CN 201711007678 A CN201711007678 A CN 201711007678A CN 109686397 B CN109686397 B CN 109686397B
- Authority
- CN
- China
- Prior art keywords
- memory
- detection
- data
- controller
- test area
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本发明提供的具有自检功能的存储器及其检测方法,包括存储器及与其通信连接的控制器,控制器包括:读取模块,用于读取存储器测试区域和/或控制器内存的数据;写入模块,用于将数据写入存储器测试区域和/或控制器内存;删除模块,用于将存储器测试区域和/或控制器内存的数据删除;确定模块包括:第一判断单元,用于确定控制器与存储器是否连接;第二判断单元,用于确定存储器测试区域的存储区域位置;第三判断单元,用于确定读取和/或写入的数据是否正确和/或一致;检测结果生成模块,用于根据确定模块确定的结果,生成表征存储器状态的结果。本发明方案可快速准确地检测存储器存储功能和存储容量是否存在异常,提高存储器检测的工作效率。
Description
技术领域
本发明属于存储器及其检测技术领域,具体涉及一种具有自检功能的存储器及其检测方法。
背景技术
随着数字技术的不断发展和普及,电子产品也同步加快向数字化和智能化方向的迈进。电子产品硬件板卡在生产组装、出厂检测和产品维护检修时,需要对硬件板卡中的各个部件进行逐个检测和排查。
其中,存储器作为硬件板卡中的重要部件之一,在调试或检修时,也需要对其进行检测。现有对存储器进行检测的方法有:(1)通常为随机读取存储器存储区域数据,只要能够正常读取数据,则表示存储正常;(2)通常在存储器中开辟专用测试位置,先擦除该区域数据,然后在该位置先写入用户特殊的测试数据,最后读取写入的测试数据,并与写入的测试数据进行比较,如果读取的和写入的测试数据一致,则表示合格。但是,采用检测方法(1)存在测试不全面,测试数据内容不可预知,没有进行有效的写入及读取比较等问题,没有对存储器的有效写入进行测试等缺点;而采用检测方法(2)虽然能够测试存储器的功能,但是需要开辟专用的测试区域,造成存储器不能充分利用,造成存储器存储空间的浪费,尤其在存储器空间不足时,该问题会更突出。
因此,有必要发明一种具有自检功能的存储器和方法来解决以上问题,在电子产品硬件板卡生产组装、出厂检测和维护检修时,可以快速准确地对存储器进行检测,提高工作效率,充分利用存储器有效存储区域。
发明内容
本发明的实施例提供一种具有自检功能的存储器及其检测方法,在电子产品硬件板卡生产组装、出厂检测和维护检修时,可以快速准确地对存储器进行检测,提高工作效率,充分利用存储器有效存储区域。
为达到上述目的,本发明的实施例提供了一种具有自检功能的存储器,包括:存储器及与其通信连接的控制器,所述控制器包括:读取模块,用于读取存储器测试区域和/或控制器内存的数据;写入模块,用于将数据写入存储器测试区域和/或控制器内存;删除模块,用于将存储器测试区域和/或控制器内存的数据删除;确定模块,包括:第一判断单元,用于确定控制器与存储器是否连接;第二判断单元,用于确定存储器测试区域的存储区域位置;第三判断单元,用于确定所读取和/或所写入的数据是否正确和/或一致;检测结果生成模块,用于根据确定模块所确定的结果,生成用于表征存储器状态的检测结果。
进一步地,所述存储器的测试区域为存储器的任意一存储区域位置。
进一步地,所述存储器的测试区域为存储器的最后一个存储区域位置,优选最后一个存储区域位置,即可以检测存储器的存储功能,又可以检测存储器的容量大小。
进一步地,所述读取模块,包括:读取存储器测试区域的初始数据;和/或,读取存储器测试区域所写入的检测数据;和/或,读取存储器测试区域所重新写入的初始数据。
进一步地,所述写入模块,包括:将从存储器测试区域读取的初始数据写入到控制器内存中;和/或,在存储器测试区域写入一检测数据;和/或,将所保存在控制器内存中的初始数据重新写入存储器测试区域。
进一步地,所述第三判断单元,包括:确定所读取的初始数据是否正确;和/或,确定所写入的检测数据与所读取的检测数据是否一致;和/或,确定所重新写入的初始数据与所重新读取的初始数据是否一致。
进一步地,所述检测结果生成模块,包括:根据确定模块对所读取的初始数据是否正确的判断,是则继续检测;否则生成存储器异常或存储器容量异常的检测结果;和/或,根据确定模块对所写入的检测数据与所读取的检测数据是否一致的判断,是则继续检测;否则生成存储器异常的检测结果;和/或,根据确定模块对所重新写入的初始数据与所重新读取的初始数据是否一致的判断,是则结束检测,生成存储器正常的检测结果;否则结束检测,生成存储器异常的检测结果。
可选地,所述存储器可以为Flash存储器(FlashMemory)、EEPROM存储器(Electrically Erasable Programmable Read-Only Memory);所述控制器可以为单片机(Microcontrollers)、ARM处理器(Acorn RISC Machine)、DSP处理器(DigitalSignalProcessor);所述控制器通过SPI(Serial Peripheral Interface)、I2C(Inter-Integrated Circuit)总线方式与存储器进行通信连接。
进一步地,所述具有自检功能的存储器还包括:报警装置,用于若检测结果生成模块生成存储器异常和/或存储器容量异常的检测结果时,则进行报警提示。
根据本发明的另一方面,本发明的实施例还提供一种存储器检测方法,包括:
步骤301、检测控制器与存储器是否连接,是则进入步骤302;否则结束检测;
步骤302、读取存储器的测试区域的初始数据,并将读取的初始数据保存到控制器内存中;
步骤303、判断步骤302所读取的初始数据是否正确,是则进入步骤304;否则结束检测,表示存储器异常或存储器容量异常;
步骤304、擦除或格式化存储器测试区域的初始数据,然后写入一检测数据;
步骤305、读取存储器测试区域所写入的检测数据;
步骤306、比较步骤304所写入的检测数据与步骤305所读取的检测数据是否一致,是则进入步骤307;否则结束检测,表示存储器异常;
步骤307、擦除或格式化存储器测试区域的检测数据,将步骤302所保存在控制器内存中的初始数据重新写入存储器的测试区域;
步骤308、重新读取存储器测试区域步骤307所重新写入的初始数据;
步骤309、比较步骤307所重新写入的初始数据与步骤308所重新读取的初始数据是否一致,是则结束检测,表示存储器正常;否则结束检测,表示存储器异常。
进一步地,采用握手通信来检测控制器与存储器是否连接。
进一步地,所述存储器的测试区域为存储器的任意一存储区域位置。
进一步地,所述存储器的测试区域为存储器最后一个存储区域位置,优选为最后一个存储区域位置,即可以检测存储器的存储功能,又可以检测存储器的容量大小。
本发明实施例的具有自检功能的存储器及其检测方法,有益效果为:
(1)不仅可以快速准确地检测存储器存储功能是否存在异常,同时可以检测存储器的存储容量是否正常,充分利用存储器有效存储区域,提高存储器检测的工作效率,进一步提高对电子产品硬件板卡的检测效率;
(2)可以对存储器的任意存储区域进行检测,检测结束后不影响原来数据的存储内容,并不破坏存储数据,保证了数据的完整性,更安全、更全面的对存储器进行检测;同时,检测代码和正式代码可以独立运行,彼此完全独立运行的同时保证数据的可靠性和一致性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1为本发明的实施例一的具有自检功能的存储器的结构框图;
图2为本发明的实施例二的具有自检功能的存储器的结构框图;
图3为本发明的实施例三的存储器检测方法的步骤流程图。
具体实施方式
下面结合附图(若干附图中相同的标号表示相同的元素)对本发明实施例的具有自检功能的存储器及其检测方法进行详细描述。
实施例一
图1为本发明的实施例一的具有自检功能的存储器的结构框图。
如图1所示,该具有自检功能的存储器,包括存储器1及与其通信连接的控制器2,所述控制器2包括:读取模块21,用于读取存储器1测试区域和/或控制器2内存的数据;写入模块22,用于将数据写入存储器1测试区域和/或控制器2内存;删除模块23,用于将存储器1测试区域和/或控制器2内存的数据删除;确定模块24,包括:第一判断单元241,用于确定控制器2与存储器1是否连接;第二判断单元242,用于确定存储器1测试区域的存储区域位置;第三判断单元243,用于确定所读取和/或所写入的数据是否正确和/或一致;检测结果生成模块25,用于根据确定模块24所确定的结果,生成用于表征存储器1状态的检测结果。
进一步地,所述存储器1的测试区域为存储器的任意一存储区域位置。
优选地,所述存储器1的测试区域为存储器1的最后一个存储区域位置,优选为最后一个存储区域位置,即可以检测存储器的存储功能,又可以检测存储器的容量大小。
进一步地,所述读取模块21,包括:读取存储器1测试区域的初始数据;和/或,读取存储器1测试区域所写入的检测数据;和/或,读取存储器1测试区域所重新写入的初始数据。
进一步地,所述写入模块22,包括:将从存储器1测试区域读取的初始数据写入到控制器2内存中;和/或,在存储器1测试区域写入一检测数据;和/或,将所保存在控制器2内存中的初始数据重新写入存储器1测试区域。
进一步地,所述第三判断单元243,包括:确定所读取的初始数据是否正确;和/或,确定所写入的检测数据与所读取的检测数据是否一致;和/或,确定所重新写入的初始数据与所重新读取的初始数据是否一致。
进一步地,所述检测结果生成模块25,包括:根据确定模块24对所读取的初始数据是否正确的判断,是则继续检测;否则生成存储器1异常或存储器1容量异常的检测结果;和/或,根据确定模块24对所写入的检测数据与所读取的检测数据是否一致的判断,是则继续检测;否则生成存储器异常的检测结果;和/或,根据确定模块24对所重新写入的初始数据与所重新读取的初始数据是否一致的判断,是则结束检测,生成存储器正常的检测结果;否则结束检测,生成存储器异常的检测结果。
可选地,所述存储器为Flash存储器、EEPROM存储器;所述控制器为单片机、ARM、DSP;所述控制器通过SPI、I2C总线方式与存储器进行通信连接。
实施例二
图2为本发明实施例二的具有自检功能的存储器的结构框图。
如图2所示,与图1所示实施例一中相同的部分采用相同的附图标记进行表示。下面仅对不同之处进行说明,本实施例中,该具有自检功能的存储器,进一步地,还包括:报警装置3,用于若检测结果生成模块25生成存储器1异常和/或存储器1容量异常的检测结果时,则进行报警提示,报警装置3可以为声光报警器、蜂鸣器等装置。
实施例三
图3为本发明的实施例三的存储器检测方法的步骤流程图。
本实施例的方法,可以由任意具有相应的处理功能的设备来执行,包括但不限于设置在控制器,如单片机、ARM、DSP等。
如图3所示,本实施例的存储器检测方法包括:
步骤301、检测控制器与存储器是否连接,是则进入步骤302;否则结束检测;
步骤302、读取存储器的测试区域的初始数据,并将读取的初始数据保存到控制器内存中;
步骤303、判断步骤302所读取的初始数据是否正确,是则进入步骤304;否则结束检测,表示存储器异常或存储器容量异常;
步骤304、擦除或格式化存储器测试区域的初始数据,然后写入一检测数据;
步骤305、读取存储器测试区域所写入的检测数据;
步骤306、比较步骤304所写入的检测数据与步骤305所读取的检测数据是否一致,是则进入步骤307;否则结束检测,表示存储器异常;
步骤307、擦除或格式化存储器测试区域的检测数据,将步骤302所保存在控制器内存中的初始数据重新写入存储器的测试区域;
步骤308、重新读取存储器测试区域步骤307所重新写入的初始数据;
步骤309、比较步骤307所重新写入的初始数据与步骤308所重新读取的初始数据是否一致,是则结束检测,表示存储器正常;否则结束检测,表示存储器异常。
进一步地,采用握手通信来检测控制器与存储器是否连接。
进一步地,所述存储器1的测试区域为存储器的任意一存储区域位置。
优选地,所述存储器的测试区域为存储器最后一个存储区域位置,优选为最后一个存储区域位置,即可以检测存储器的存储功能,又可以检测存储器的容量大小。
本发明实施例的具有自检功能的存储器及其检测方法,(1)不仅可以快速准确地检测存储器存储功能是否存在异常,同时可以检测存储器的存储容量是否正常,充分利用存储器有效存储区域,提高存储器检测的工作效率,进一步提高对电子产品硬件板卡的检测效率;(2)可以对存储器的任意存储区域进行检测,检测结束后不影响原来数据的存储内容,并不破坏存储数据,保证了数据的完整性,更安全、更全面的对存储器进行检测;同时,检测代码和正式代码可以独立运行,彼此完全独立运行的同时保证数据的可靠性和一致性。
需要指出,根据实施的需要,可将本申请中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本发明的目的。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (6)
1.一种存储器检测方法,其特征在于,包括:
步骤301、检测控制器与存储器是否连接,是则进入步骤302;否则结束检测;
步骤302、读取存储器的测试区域的初始数据,并将读取的初始数据保存到控制器内存中;
步骤303、判断步骤302所读取的初始数据是否正确,是则进入步骤304;否则结束检测,表示存储器异常或存储器容量异常;
步骤304、擦除或格式化存储器测试区域的初始数据,然后写入一检测数据;
步骤305、读取存储器测试区域所写入的检测数据;
步骤306、比较步骤304所写入的检测数据与步骤305所读取的检测数据是否一致,是则进入步骤307;否则结束检测,表示存储器异常;
步骤307、擦除或格式化存储器测试区域的检测数据,将步骤302所保存在控制器内存中的初始数据重新写入存储器的测试区域;
步骤308、重新读取存储器测试区域步骤307所重新写入的初始数据;
步骤309、比较步骤307所重新写入的初始数据与步骤308所重新读取的初始数据是否一致,是则结束检测,表示存储器正常;否则结束检测,表示存储器异常;
其中,存储器(1)与控制器(2)通信连接,所述控制器(2)包括:
读取模块(21),用于读取存储器测试区域和/或控制器内存的数据;
所述读取模块(21),包括:
读取存储器测试区域的初始数据;
和/或,
读取存储器测试区域所写入的检测数据;
和/或,
读取存储器测试区域所重新写入的初始数据;
写入模块(22),用于将数据写入存储器测试区域和/或控制器内存;
所述写入模块(22),包括:
将从存储器测试区域读取的初始数据写入到控制器内存中;
和/或,
在存储器测试区域写入一检测数据;
和/或,
将所保存在控制器内存中的初始数据重新写入存储器测试区域;
删除模块(23),用于将存储器测试区域和/或控制器内存的数据删除;
确定模块(24),包括:第一判断单元(241),用于确定控制器与存储器是否连接;第二判断单元(242),用于确定存储器测试区域的存储区域位置;第三判断单元(243),用于确定所读取和/或所写入的数据是否正确和/或一致;
检测结果生成模块(25),用于根据确定模块(24)所确定的结果,生成用于表征存储器状态的检测结果。
2.根据权利要求1所述的存储器检测方法,其特征在于,采用握手通信来检测控制器与存储器是否连接。
3.根据权利要求1所述的存储器检测方法,其特征在于,所述存储器的测试区域为存储器最后一个存储区域位置。
4.根据权利要求1所述的存储器检测方法,其特征在于,所述第三判断单元(243),包括:
确定所读取的初始数据是否正确;
和/或,
确定所写入的检测数据与所读取的检测数据是否一致;
和/或,
确定所重新写入的初始数据与所重新读取的初始数据是否一致。
5.根据权利要求1所述的存储器检测方法,其特征在于,所述检测结果生成模块(25),包括:
根据确定模块对所读取的初始数据是否正确的判断,是则继续检测;否则生成存储器异常或存储器容量异常的检测结果;
和/或,
根据确定模块对所写入的检测数据与所读取的检测数据是否一致的判断,是则继续检测;否则生成存储器异常的检测结果;
和/或,
根据确定模块对所重新写入的初始数据与所重新读取的初始数据是否一致的判断,是则结束检测,生成存储器正常的检测结果;否则结束检测,生成存储器异常的检测结果。
6.根据权利要求1所述的存储器检测方法,其特征在于,所述存储器为Flash存储器或EEPROM存储器;所述控制器为单片机、ARM处理器或DSP处理器;所述控制器通过SPI、I2C总线方式与存储器进行通信连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711007678.2A CN109686397B (zh) | 2017-10-18 | 2017-10-18 | 具有自检功能的存储器及其检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711007678.2A CN109686397B (zh) | 2017-10-18 | 2017-10-18 | 具有自检功能的存储器及其检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109686397A CN109686397A (zh) | 2019-04-26 |
CN109686397B true CN109686397B (zh) | 2021-08-17 |
Family
ID=66184242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711007678.2A Active CN109686397B (zh) | 2017-10-18 | 2017-10-18 | 具有自检功能的存储器及其检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109686397B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110659150B (zh) * | 2019-10-10 | 2023-04-21 | 深圳芯邦科技股份有限公司 | 微控制单元内存的检测方法以及相关装置 |
CN113849393A (zh) * | 2020-06-28 | 2021-12-28 | 苏州宝时得电动工具有限公司 | 自移动设备及其工作方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130219235A1 (en) * | 2012-02-17 | 2013-08-22 | Kabushiki Kaisha Toshiba | Memory system and test method thereof |
CN104064217A (zh) * | 2013-03-21 | 2014-09-24 | 株式会社东芝 | 非易失性半导体存储器的检查方法及存储检查程序的记录介质 |
CN105786716A (zh) * | 2014-12-25 | 2016-07-20 | 研祥智能科技股份有限公司 | 异构混合内存架构的计算机系统及其控制方法、内存检测系统 |
-
2017
- 2017-10-18 CN CN201711007678.2A patent/CN109686397B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130219235A1 (en) * | 2012-02-17 | 2013-08-22 | Kabushiki Kaisha Toshiba | Memory system and test method thereof |
CN104064217A (zh) * | 2013-03-21 | 2014-09-24 | 株式会社东芝 | 非易失性半导体存储器的检查方法及存储检查程序的记录介质 |
CN105786716A (zh) * | 2014-12-25 | 2016-07-20 | 研祥智能科技股份有限公司 | 异构混合内存架构的计算机系统及其控制方法、内存检测系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109686397A (zh) | 2019-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI505277B (zh) | 在一儲存元件內追蹤錯誤資料的系統與方法 | |
CN110727597B (zh) | 一种基于日志排查无效代码补全用例的方法 | |
US9728276B2 (en) | Integrated circuits with built-in self test mechanism | |
CN103839591A (zh) | 存储器自动检错和容错电路及控制方法 | |
CN110459259A (zh) | 存储设备写错误纠错能力的测试方法、系统及存储介质 | |
CN111145826B (zh) | 一种存储器内建自测试方法、电路及计算机存储介质 | |
CN109686397B (zh) | 具有自检功能的存储器及其检测方法 | |
US20120173798A1 (en) | Memory controller, memory device and method for determining type of memory device | |
CN102968353A (zh) | 一种失效地址处理方法及装置 | |
CN109801668A (zh) | 数据储存装置及应用于其上的操作方法 | |
WO2007086150A1 (ja) | メモリ破壊検出方法および装置 | |
US6957377B2 (en) | Marking of and searching for initial defective blocks in semiconductor memory | |
CN113127071A (zh) | 基于固化启动代码的启动方法、装置、计算机设备和存储介质 | |
US8516310B2 (en) | Information processing device equipped with write-back cache and diagnosis method for main memory of the same | |
CN115495275B (zh) | 一种存储系统及其控制方法 | |
CN116701140A (zh) | 一种存储芯片性能检测装置、方法、系统及存储介质 | |
JP3124278B2 (ja) | プログラムメモリのメモリセル内容の検査方法 | |
CN110826114B (zh) | 基于ssd安全擦除后的用户数据测试方法和装置 | |
JP2007328620A (ja) | アクセス頻度評価装置およびアクセス頻度評価方法 | |
JPH03147086A (ja) | Icカード | |
CN115705914A (zh) | 闪存坏块的检测方法、检测设备和计算机存储介质 | |
US10754566B2 (en) | Data storage device and data storage method | |
KR100580071B1 (ko) | 메모리 오류 검출방법 | |
JP3314719B2 (ja) | フラッシュeepromとその試験方法 | |
CN107305790B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |