CN103310848A - 一种使用存储器的方法和装置 - Google Patents
一种使用存储器的方法和装置 Download PDFInfo
- Publication number
- CN103310848A CN103310848A CN2012100595499A CN201210059549A CN103310848A CN 103310848 A CN103310848 A CN 103310848A CN 2012100595499 A CN2012100595499 A CN 2012100595499A CN 201210059549 A CN201210059549 A CN 201210059549A CN 103310848 A CN103310848 A CN 103310848A
- Authority
- CN
- China
- Prior art keywords
- storage block
- testing result
- storer
- module
- memory
- 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
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供了一种使用存储器的方法和装置。其中,所述方法包括:将存储器划分为多个具有预定容量的存储块;当存储器所在硬件处理单元开始工作之前,对各个存储块进行检测,并记录检测结果;当存储器所在硬件处理单元需要使用存储器时,根据各个存储块的检测结果选取可用的存储块进行后续操作。应用本发明可以有效地减轻存储器失效的故障对整个存储器性能的影响,提高存储器的鲁棒性。
Description
技术领域
本发明涉及存储器技术领域,尤其涉及一种使用存储器的方法和装置。
背景技术
目前,双倍速率同步动态随机存储器(DDR)、随机存取存储器(RAM)、只读存储器(ROM)和闪存(FLASH)等存储器已被广泛地应用于通信和数字信号处理领域,用于加载所需执行的程序和存储已处理的数据。而且,大部分的处理器,例如,CPU、数字信号处理(DSP)微处理器、ARM处理器和现场可编程门阵列(FPGA)等,也都外置或内嵌了各种存储器。
存储器的工作场景比较复杂,容易受外界环境的高温、恶劣的电磁环境、存储器芯片供电或者接口信号过冲以及外力等因素影响,因此,随着存储器芯片运行时间越来越长,该存储器芯片受到损坏的概率也越来越大。
在应用存储器的产品硬件处理单元故障分析中,存储器失效的故障在总故障数中占有相当大的比例,存储器失效发生的概率也比其它芯片或芯片内其它资源发生失效的概率大很多。一旦发生存储器失效的故障,将导致存储器丧失处理器加载程序或处理数据的存储功能,进而将导致包括存储器在内的整个硬件处理单元不能正常工作。而且,对于发生存储单元失效的芯片,需要拆除和更换存储器芯片,硬件处理单元才能正常工作;而拆除或更换存储器芯片,则需要使用专门的设备才能实现,成本高,代价大,而且操作也比较复杂。
由此可知,现有技术中的存储器只要发生了存储器失效的故障(例如,仅存储器中的部分存储单元失效),则整个存储器都将无法再继续使用。因此,为了降低应用存储器的硬件处理单元的故障率和返修率,则必须尽量减轻存储器失效故障所造成的不利影响,以提高存储器的鲁棒性。
发明内容
有鉴于此,本发明提供了一种使用存储器的方法和装置,从而可有效地减轻存储器失效故障所造成的不利影响,提高存储器的鲁棒性。
本发明采用的技术方案具体是这样实现的:
一种使用存储器的方法,该方法包括:
将存储器划分为多个具有预定容量的存储块;
当存储器所在硬件处理单元开始工作之前,对各个存储块进行检测,并记录检测结果;
当存储器所在硬件处理单元需要使用存储器时,根据各个存储块的检测结果选取可用的存储块进行后续操作。
所述对各个存储块进行检测包括:
产生一个检测数据;
将所产生的检测数据写入待检测的存储块中;
从所述待检测的存储块中读取上述写入的检测数据;
将所读取的检测数据与原始的检测数据进行比对,根据比对结果得到检测结果。
所述根据各个存储块的检测结果选取可用的存储块进行后续操作包括:
根据各个存储块的编号,依次读取各个存储块的检测结果;
从检测结果为可用的存储块中选择所需数目的存储块进行后续操作。
划分后的各个存储块的容量相同。
该方法还进一步包括:为各个已划分的存储块设置连续的编号。
所述检测结果的内容为:可用或不可用。
本发明中还提出了一种使用存储器的装置,该装置包括:划分模块、检测模块和选取模块;
所述划分模块,用于将存储器划分为多个具有预定容量的存储块;将存储块的划分信息发送给所述检测模块;
所述检测模块,用于当存储器所在硬件处理单元开始工作之前,对各个存储块进行检测,并记录检测结果;将所述检测结果发送给所述选取模块;
所述选取模块,用于当存储器所在硬件处理单元需要使用存储器时,根据各个存储块的检测结果选取可用的存储块。
所述检测模块还进一步包括:产生子模块、写入子模块和比对子模块;
所述产生子模块,用于产生一个检测数据,并将检测数据发送给所述写入子模块和比对子模块;
所述写入子模块,用于将检测数据写入待检测的存储块中;
所述比对子模块,用于从所述待检测的存储块中读取由所述写入子模块写入的检测数据,将所读取的检测数据与原始的检测数据进行比对,根据比对结果得到检测结果;将所述检测结果发送给所述选取模块。
由上述技术方案可见,本发明中,由于可预先将存储器划分为多个具有预定容量的存储块,并在存储器所在硬件处理单元开始工作之前,即对各个存储块进行检测,而在存储器所在硬件处理单元需要使用存储器时,则可根据各个存储块的检测结果选取可用的存储块进行后续操作,从而即使在存储器中有部分存储单元失效的情况下,仍能使用该存储器存储数据,因而可有效地减轻存储器失效故障所造成的不利影响,提高存储器的鲁棒性,延长存储器的使用寿命。
附图说明
图1为本发明中使用存储器的方法的流程图。
图2为本发明中使用存储器的装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
受外界环境等因素的影响,从发生失效位置的角度划分,所述存储器芯片失效的故障主要包括两类故障:存储器芯片接口管脚故障和存储器部分存储单元故障。在本发明的技术方案中,主要所解决的是存储器部分存储单元故障。
目前,存储器芯片的价格比较便宜,因此硬件处理单元上的存储器芯片的存储容量一般都比较大,尤其是外置的DDR、FLASH等芯片。处理器加载程序或者处理数据所使用的存储单元一般仅是整个存储器中的一小部分存储单元,存储器中一般都具有较多的未使用的存储单元。因此,在本发明的技术方案中,可利用存储器中未使用的的存储单元实现对所存储的信息的备份,或者实现数据占用存储资源的备份,从而可有效地提高存储器的鲁棒性,进而减少整个硬件处理单元的故障率和返修率。
图1为本发明中使用存储器的方法的流程图。如图1所示,该方法包括如下所述的步骤:
步骤101,将存储器划分为多个具有预定容量的存储块。
在本步骤中,可根据预先设定的划分策略,将存储器划分为多个具有预定容量的存储块。根据实际应用情况的需要,在本发明的具体实施例中,划分后的各个存储块的容量可以相同,也可以不同。
在本发明的技术方案中,可以根据实际应用情况预先设定各个存储块的容量。一般来说,所划分的存储块的数目越多,存储器的鲁棒性就越高。
较佳的,在本发明的具体实施例中,还可以为各个已划分的存储块设置连续的编号,以便于进行后续的其它操作。
步骤102,当存储器所在硬件处理单元开始工作之前,对各个存储块进行检测,并记录检测结果。
在本步骤中,为了减轻存储器失效故障所造成的不利影响,可在使用上述存储器之前就对该存储器进行检测。例如,在本发明的具体实施例中,当存储器所在硬件处理单元开始工作之前,即可对上述存储器中已划分好的各个存储块进行检测,以检测各个存储块是否可用,从而可以获知哪些存储块可用,哪些存储块已失效。在检测完毕之后,还将记录各个存储块的检测结果。
较佳的,在本发明的具体实施例中,所述检测结果的内容为:可用或不可用。
在本发明的具体实施例中,可以使用多种方式对上述存储块进行检测。例如,可以使用如下所述的方法对上述存储块进行检测。
步骤1021、产生一个检测数据。
较佳的,在本发明的具体实施例中,所述的检测数据可以是PN18序列数据。
步骤1022,将所产生的检测数据写入待检测的存储块中。
步骤1023,从所述待检测的存储块中读取上述写入的检测数据。
步骤1024,将所读取的检测数据与原始的检测数据进行比对,根据比对结果得到检测结果。
在本步骤中,需要将所读取的检测数据与原始的检测数据进行比对。较佳的,如果比对结果是所读取的检测数据与原始的检测数据相同,则表示待检测的存储块能够正常工作,该待检测的存储块的状态为可用,此时,检测结果的内容为可用;如果比对结果是所读取的检测数据与原始的检测数据不相同,则表示待检测的存储块中具有存储失效的存储单元,已不能正常工作,因此该待检测的存储块的状态为失效,此时,检测结果的内容为不可用。
步骤103,当存储器所在硬件处理单元需要使用存储器时,根据各个存储块的检测结果选取可用的存储块进行后续操作。
由于在步骤102中已经对各个存储块进行了检测,并记录了相应的检测结果,因此,当存储器所在硬件处理单元需要使用存储器时,则可直接读取上述各个存储块的检测结果,获知哪些存储块的检测结果为可用,并从可用的存储块中选取相应的存储块进行存储。
例如,在本发明的具体实施例中,所述根据各个存储块的检测结果选取可用的存储块进行后续操作可以包括:
步骤1031,根据各个存储块的编号,依次读取各个存储块的检测结果;
步骤1032,从检测结果为可用的存储块中选择所需数目的存储块进行后续操作。例如,将硬件处理单元的加载程序或处理数据存储在所选择的存储块中。
通过上述的步骤101至103,即可有效地减轻存储器失效故障所造成的不利影响,提高存储器的鲁棒性,延长存储器的使用寿命,大大降低了存储器的使用成本。
另外,本发明中还提出了一种使用存储器的装置。图2为本发明中使用存储器的装置的结构示意图。如图2所示,本发明中的使用存储器的装置包括:划分模块201、检测模块202和选取模块203。
其中,所述划分模块201,用于将存储器划分为多个具有预定容量的存储块;将存储块的划分信息发送给所述检测模块202;
所述检测模块202,用于当存储器所在硬件处理单元开始工作之前,对各个存储块进行检测,并记录检测结果;将所述检测结果发送给所述选取模块203;
所述选取模块203,用于当存储器所在硬件处理单元需要使用存储器时,根据各个存储块的检测结果选取可用的存储块。
较佳的,在本发明的具体实施例中,所述检测模块202还可以进一步包括:产生子模块2021、写入子模块2022和比对子模块2023。其中,
所述产生子模块2021,用于产生一个检测数据,并将检测数据发送给所述写入子模块2022和比对子模块2023;
所述写入子模块2022,用于将检测数据写入待检测的存储块中;
所述比对子模块2023,用于从所述待检测的存储块中读取由所述写入子模块2022写入的检测数据,将所读取的检测数据与原始的检测数据进行比对,根据比对结果得到检测结果;将所述检测结果发送给所述选取模块203。
综上所述,在本发明的技术方案中,由于可预先将存储器划分为多个具有预定容量的存储块,并在存储器所在硬件处理单元开始工作之前,即对各个存储块进行检测,而在存储器所在硬件处理单元需要使用存储器时,则可根据各个存储块的检测结果选取可用的存储块进行后续操作,从而即使在存储器中有部分存储单元失效的情况下,仍能使用该存储器存储数据,因而可有效地减轻存储器失效故障所造成的不利影响,提高存储器的鲁棒性,延长存储器的使用寿命,大大降低了存储器的使用成本。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (8)
1.一种使用存储器的方法,其特征在于,该方法包括:
将存储器划分为多个具有预定容量的存储块;
当存储器所在硬件处理单元开始工作之前,对各个存储块进行检测,并记录检测结果;
当存储器所在硬件处理单元需要使用存储器时,根据各个存储块的检测结果选取可用的存储块进行后续操作。
2.根据权利要求1所述的方法,其特征在于,所述对各个存储块进行检测包括:
产生一个检测数据;
将所产生的检测数据写入待检测的存储块中;
从所述待检测的存储块中读取上述写入的检测数据;
将所读取的检测数据与原始的检测数据进行比对,根据比对结果得到检测结果。
3.根据权利要求1所述的方法,其特征在于,所述根据各个存储块的检测结果选取可用的存储块进行后续操作包括:
根据各个存储块的编号,依次读取各个存储块的检测结果;
从检测结果为可用的存储块中选择所需数目的存储块进行后续操作。
4.根据权利要求1所述的方法,其特征在于:
划分后的各个存储块的容量相同。
5.根据权利要求1所述的方法,其特征在于,该方法还进一步包括:
为各个已划分的存储块设置连续的编号。
6.根据权利要求1所述的方法,其特征在于,
所述检测结果的内容为:可用或不可用。
7.一种使用存储器的装置,其特征在于,该装置包括:划分模块、检测模块和选取模块;
所述划分模块,用于将存储器划分为多个具有预定容量的存储块;将存储块的划分信息发送给所述检测模块;
所述检测模块,用于当存储器所在硬件处理单元开始工作之前,对各个存储块进行检测,并记录检测结果;将所述检测结果发送给所述选取模块;
所述选取模块,用于当存储器所在硬件处理单元需要使用存储器时,根据各个存储块的检测结果选取可用的存储块。
8.根据权利要求7所述的装置,其特征在于,所述检测模块还进一步包括:产生子模块、写入子模块和比对子模块;
所述产生子模块,用于产生一个检测数据,并将检测数据发送给所述写入子模块和比对子模块;
所述写入子模块,用于将检测数据写入待检测的存储块中;
所述比对子模块,用于从所述待检测的存储块中读取由所述写入子模块写入的检测数据,将所读取的检测数据与原始的检测数据进行比对,根据比对结果得到检测结果;将所述检测结果发送给所述选取模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100595499A CN103310848A (zh) | 2012-03-08 | 2012-03-08 | 一种使用存储器的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100595499A CN103310848A (zh) | 2012-03-08 | 2012-03-08 | 一种使用存储器的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103310848A true CN103310848A (zh) | 2013-09-18 |
Family
ID=49135969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100595499A Pending CN103310848A (zh) | 2012-03-08 | 2012-03-08 | 一种使用存储器的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103310848A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105302747A (zh) * | 2014-07-11 | 2016-02-03 | 深圳市腾讯计算机系统有限公司 | 一种存储器启动控制方法,及存储器启动控制装置 |
CN109117417A (zh) * | 2018-09-29 | 2019-01-01 | 深圳比特微电子科技有限公司 | 计算芯片及其操作方法 |
CN112420115A (zh) * | 2020-11-05 | 2021-02-26 | 深圳市宏旺微电子有限公司 | 一种动态随机存取存储器的故障检测方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004027615A2 (en) * | 2002-09-20 | 2004-04-01 | Sharp Kabushiki Kaisha | Method of and apparatus for detecting an error in writing to persistent memory |
US20080209294A1 (en) * | 2007-02-26 | 2008-08-28 | Hakan Brink | Built-in self testing of a flash memory |
CN101540204A (zh) * | 2008-03-21 | 2009-09-23 | 深圳市朗科科技股份有限公司 | 闪存介质扫描方法 |
CN101944391A (zh) * | 2010-09-21 | 2011-01-12 | 深圳市国微电子股份有限公司 | 一次可编程只读存储器测试方法及一次可编程只读存储器 |
-
2012
- 2012-03-08 CN CN2012100595499A patent/CN103310848A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004027615A2 (en) * | 2002-09-20 | 2004-04-01 | Sharp Kabushiki Kaisha | Method of and apparatus for detecting an error in writing to persistent memory |
US20080209294A1 (en) * | 2007-02-26 | 2008-08-28 | Hakan Brink | Built-in self testing of a flash memory |
CN101540204A (zh) * | 2008-03-21 | 2009-09-23 | 深圳市朗科科技股份有限公司 | 闪存介质扫描方法 |
CN101944391A (zh) * | 2010-09-21 | 2011-01-12 | 深圳市国微电子股份有限公司 | 一次可编程只读存储器测试方法及一次可编程只读存储器 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105302747A (zh) * | 2014-07-11 | 2016-02-03 | 深圳市腾讯计算机系统有限公司 | 一种存储器启动控制方法,及存储器启动控制装置 |
CN105302747B (zh) * | 2014-07-11 | 2019-04-26 | 深圳市腾讯计算机系统有限公司 | 一种存储器启动控制方法,及存储器启动控制装置 |
CN109117417A (zh) * | 2018-09-29 | 2019-01-01 | 深圳比特微电子科技有限公司 | 计算芯片及其操作方法 |
CN109117417B (zh) * | 2018-09-29 | 2023-02-17 | 深圳比特微电子科技有限公司 | 计算芯片及其操作方法 |
CN112420115A (zh) * | 2020-11-05 | 2021-02-26 | 深圳市宏旺微电子有限公司 | 一种动态随机存取存储器的故障检测方法 |
CN112420115B (zh) * | 2020-11-05 | 2024-05-10 | 深圳市宏旺微电子有限公司 | 一种动态随机存取存储器的故障检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9170898B2 (en) | Apparatus and methods for providing data integrity | |
US9152512B2 (en) | Apparatus and methods for providing data integrity | |
CN101427323B (zh) | 读取非易失性计算机存储器的系统和方法 | |
JP5523562B2 (ja) | ストレージデバイス内のエラーデータを追跡するシステムおよび方法 | |
CN103019873A (zh) | 一种存储器故障单元的替换方法及装置、数据存储系统 | |
US20150339073A1 (en) | Selection of redundant storage configuration based on available memory space | |
US10891185B2 (en) | Error counters on a memory device | |
EP3262508B1 (en) | Patrol scrub periods based on power status | |
EP2960777B1 (en) | Data protection method, apparatus and device | |
CN105512056A (zh) | 数据保存方法、装置及终端 | |
US20130013978A1 (en) | Determining sector status in a memory device | |
CN101567220A (zh) | 闪存的损坏区块辨识方法、储存系统及其控制器 | |
CN109426441A (zh) | 数据储存装置以及其操作方法 | |
US9754682B2 (en) | Implementing enhanced performance with read before write to phase change memory | |
CN103218271A (zh) | 一种数据纠错方法及装置 | |
CN103310848A (zh) | 一种使用存储器的方法和装置 | |
CN103942119A (zh) | 一种存储器错误的处理方法和装置 | |
CN105575439B (zh) | 一种存储单元失效纠错的方法及存储器 | |
CN109375869A (zh) | 实现数据可靠读写的方法以及系统、存储介质 | |
CN103092713A (zh) | 使用与非闪存存储嵌入式代码的方法 | |
CN103399716A (zh) | 写数据和读数据的方法、及写数据和读数据处理器 | |
US9880926B1 (en) | Log structured reserved zone for a data storage device | |
CN104094238A (zh) | 用于存储有效性掩码及操作设备的设备及方法 | |
US9436547B2 (en) | Data storing method, memory control circuit unit and memory storage device | |
CN103365737A (zh) | 数据读写方法、读写装置及数据存储系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130918 |