CN102306503B - 一种假容量存储器的检测方法及系统 - Google Patents
一种假容量存储器的检测方法及系统 Download PDFInfo
- Publication number
- CN102306503B CN102306503B CN201010241976.XA CN201010241976A CN102306503B CN 102306503 B CN102306503 B CN 102306503B CN 201010241976 A CN201010241976 A CN 201010241976A CN 102306503 B CN102306503 B CN 102306503B
- Authority
- CN
- China
- Prior art keywords
- storer
- address
- data
- test data
- read
- 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
-
- 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/50—Marginal testing, e.g. race, voltage or current testing
- G11C2029/5002—Characteristic
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明适用于检测技术领域,提供了一种假容量存储器的检测方法及系统,所述方法包括:在存储器的高地址数据区写入预先设置的测试数据;读出所述存储器高地址数据区对应的数据,当所述读出的存储器高地址数据区对应的数据与写入的所述测试数据不相同时,则判定所述存储器为假写类型的假容量存储器,结束检测流程;当所述读出的存储器高地址数据区对应的数据与写入的所述测试数据相同时,在存储器的尾部区域和中部区域的若干扇区写入所述预先设置的测试数据;从存储器的0地址扇区开始,对读取到的扇区数据进行测试标识的比较,判断所述存储器是否循环写类型的假容量存储器,检测速度快,方便。
Description
技术领域
本发明属于检测技术领域,尤其涉及一种假容量存储器的检测方法及系统。
背景技术
随着Nand Flash在存储器领域的广泛应用,越来越多的电子类产品与存储器都在使用Nand Flash作为存储介质,例如U盘、存储卡、SSD等,它具有抗振动、低功耗、长效存储等优点。
Nand Flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何Flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。在固件程序中,为了提供连续的逻辑操作空间,需要对Flash的块进行有效的管理,包括对坏块的标识,对区的管理,对块的使用频率进行平衡等。这些算法需要占用Nand Flash的块,同时固件程序也保存在Nand Flash当中,也会占用Nand Flash的块。所以,一片容量为M的Nand Flash,私有数据占用了N大小的空间,那么经过固件程序管理后,提供给客户使用的有效空间只有M-N剩下的容量。
由于Nand Flash管理技术的普及,以及更多存储主控的出现,存储器领域的竞争日益激烈,在利益的驱使下,一些不法分子利用固件上的漏洞,或者不法主控商提供的虚假容量设置功能,使用M容量的Nand Flash,量产后,虚报容量为X(X>M)大小,然后以X容量的存储器进行销售,获取暴利。实际上,M容量的Nand Flash生产出来的存储器,是不可能提供超过M容量的可用空间的,那个虚报容量为X的存储器,实际上只能保存M大小的数据,那些X减去M得到的空间,是无法保存数据的,并且假容量的存储器是不会汇报说无法保存的,用户存入到设备里的数据会出现丢失的情况,给用户造成无法挽回的损失,有时候甚至是无法用金钱来衡量的。
由于假容量技术的不断改进和提高,已经从早期的逻辑分区虚拟假容量发展到了固件设置虚拟假容量,并且从以前的超出容量不保存发展到循环保存,也就是说X的假容量存储器,真实容量是M,那么循环使用M这部分空间,最后写入的M容量内容将被保存,最早写入的数据被覆盖掉,种种隐蔽的作假技术,使得假容量设备被检测出来需要更加费时费力,只有写入X容量的数据后再全盘读出进行匹配,才能发现存储器是否假容量,对于一个16GB的存储器,如果写入速度为5MB/s,读取速度为10MB/s,全盘写入和读取进行比较,需要耗时1小时20分钟,这是非常漫长的。
发明内容
本发明实施例的目的在于提供一种假容量存储器的检测方法,旨在解决现有技术中随着假容量技术的不断改进和提高,对假容量存储器的检测方式不完善,检测速度慢的问题。
本发明实施例是这样实现的,一种假容量存储器的检测方法,所述方法包括下述步骤:
在存储器的高地址数据区写入预先设置的测试数据;
读出所述存储器高地址数据区对应的数据,当所述读出的存储器高地址数据区对应的数据与写入的所述测试数据不相同时,则判定所述存储器为超出容量不保存的假容量存储器,结束检测流程;
当所述读出的存储器高地址数据区对应的数据与写入的所述测试数据相同时,在存储器的尾部区域和中部区域的若干扇区写入所述预先设置的测试数据;
从存储器的0地址扇区开始,对读取到的扇区数据进行测试标识的比较,判断所述存储器是否超出容量循环保存的假容量存储器。
本发明实施例的另一目的在于提供一种假容量存储器的检测系统,所述系统包括:
第一测试数据写入模块,用于在存储器的高地址数据区写入预先设置的测试数据;
超出容量不保存存储器判定模块,用于读出所述存储器高地址数据区对应的数据,当所述读出的存储器高地址数据区对应的数据与写入的所述测试数据不相同时,则判定所述存储器为超出容量不保存的假容量存储器,结束检测流程;
第二测试数据写入模块,用于当所述超出容量不保存存储器判定模块读出的存储器高地址数据区对应的数据与写入的所述测试数据相同时,在存储器的尾部区域和中部区域的若干扇区写入所述预先设置的测试数据;以及
超出容量循环保存存储器判断模块,用于从存储器的0地址扇区开始,对读取到的扇区数据进行测试标识的比较,判断所述存储器是否超出容量循环保存的假容量存储器。
在本发明实施例中,在存储器的高地址数据区写入预先设置的测试数据;读出所述存储器高地址数据区对应的数据,当所述读出的存储器高地址数据区对应的数据与写入的所述测试数据不相同时,则判定所述存储器为超出容量不保存的存储器;当所述读出的存储器高地址数据区对应的数据与写入的所述测试数据相同时,在存储器的尾部区域和中部区域的若干扇区写入所述预先设置的测试数据;从存储器的0地址扇区开始,对读取到的扇区数据进行测试标识的比较,判断所述存储器是否超出容量循环保存的假容量存储器,检测速度快,方便。
附图说明
图1是本发明实施例提供的假容量存储器的检测方法的实现流程图;
图2是本发明实施例提供的预先设置生成测试数据的实现流程图;
图3是本发明实施例提供的测试数据区的结构示意图;
图4是本发明实施例提供的从存储器的0地址扇区开始,对读取到的扇区数据进行测试标识的比较,判断所述存储器是否超出容量循环保存的假容量存储器的实现流程图;
图5是本发明实施例提供的假容量存储器的检测系统的结构框图;
图6是本发明实施例提供的测试数据生成模块的结构框图;
图7是本发明实施例提供的超出容量循环保存假容量存储器判断模块的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,在测试数据中加入了测试标识,将测试数据写入存储器,然后读取进行比较,判断存储器是否为假容量存储器。
本发明实施例的目的在于提供一种假容量存储器的检测方法,所述方法包括下述步骤:
在存储器的高地址数据区写入预先设置的测试数据;
读出所述存储器高地址数据区对应的数据,当所述读出的存储器高地址数据区对应的数据与写入的所述测试数据不相同时,则判定所述存储器为超出容量不保存的假容量存储器,结束检测流程;
当所述读出的存储器高地址数据区对应的数据与写入的所述测试数据相同时,在存储器的尾部区域和中部区域的若干扇区写入所述预先设置的测试数据;
从存储器的0地址扇区开始,对读取到的扇区数据进行测试标识的比较,判断所述存储器是否超出容量循环保存的假容量存储器。
本发明实施例的另一目的在于提供一种假容量存储器的检测系统,所述系统包括:
第一测试数据写入模块,用于在存储器的高地址数据区写入预先设置的测试数据;
超出容量不保存存储器判定模块,用于读出所述存储器高地址数据区对应的数据,当所述读出的存储器高地址数据区对应的数据与写入的所述测试数据不相同时,则判定所述存储器为超出容量不保存的假容量存储器,结束检测流程;
第二测试数据写入模块,用于当所述超出容量不保存存储器判定模块读出的存储器高地址数据区对应的数据与写入的所述测试数据相同时,在存储器的尾部区域和中部区域的若干扇区写入所述预先设置的测试数据;以及
超出容量循环保存存储器判断模块,用于从存储器的0地址扇区开始,对读取到的扇区数据进行测试标识的比较,判断所述存储器是否超出容量循环保存的假容量存储器。
在本发明实施例中,在存储器的高地址数据区写入预先设置的测试数据;读出所述存储器高地址数据区对应的数据,当所述读出的存储器高地址数据区对应的数据与写入的所述测试数据不相同时,则判定所述存储器为超出容量不保存的假容量存储器;当所述读出的存储器高地址数据区对应的数据与写入的所述测试数据相同时,在存储器的尾部区域和中部区域的若干扇区写入所述预先设置的测试数据;从存储器的0地址扇区开始,对读取到的扇区数据进行测试标识的比较,判断所述存储器是否超出容量循环保存的假容量存储器。
实施例一:
图1示出了本发明实施例提供的假容量存储器的检测方法的实现流程,其具体的步骤如下所述:
在步骤S101中,在存储器的高地址数据区写入预先设置的测试数据。
在本发明实施例中,在执行该步骤之前需要预先设置生成测试数据,下述给出其具体的实施步骤,在此不再赘述,但不用以限制本发明。
其中,该存储器可以为Nand Flash闪存,下述以Nand Flash闪存为实施例进行说明。
在步骤S102中,读出所述存储器高地址数据区对应的数据,当所述读出的存储器高地址数据区对应的数据与写入的所述测试数据不相同时,则判定所述存储器为超出容量不保存的假容量存储器,结束检测流程。
在本发明实施例中,当读取到存储器高地址数据区对应的数据与写入的测试数据不同时,表示该存储器超出容量不保存的假容量存储器。
在步骤S103中,当所述读出的存储器高地址数据区对应的数据与写入的所述测试数据相同时,在存储器的尾部区域和中部区域的若干扇区写入所述预先设置的测试数据。
在本发明实施例中,存储器中部区域所选择的扇区可以是随机选取的扇区,在此不用以限制本发明。
在步骤S104中,从存储器的0地址扇区开始,对读取到的扇区数据进行测试标识的比较,判断所述存储器是否超出容量循环保存的假容量存储器。
在本发明实施例中,从0扇区开始的扇区地址读取扇区数据,将读取的扇区数据所包含的指定位置的标识与写入的测试数据的测试标识进行比对,当两者不同时,继续读取下一个地址的扇区数据,并继续判断;当两者相同时,则判定该存储器为超出容量循环保存的假容量存储器。
实施例二:
图2示出了本发明实施例提供的预先设置生成测试数据的实现流程,其具体的步骤如下所述:
在步骤S201中,随机生成一测试标识,所述测试数据包含用于检测存储器假容量的测试标识。
在本发明实施例中,该测试标识保存在一个长度为512字节的缓冲区中,作为本发明的一个具体实施例,该测试标识可以采用2个DWORD(doubleword),当采用2个DWORD时,其随机重复概率置有2的64次方分之一,即1/18446744073709551616。
在步骤S202中,将所述测试标识加入到长度为512字节的缓冲区中。
在步骤S203中,将长度为512字节的缓冲区复制到64K区长的测试数据区,得到写入存储器尾部区域和中部区域的若干扇区的测试数据。
在本发明实施例中,以512字节作为缓冲区的一个单元,写满64KB的测试数据区,如图3所示,其中,64KB为存储器磁盘读写的SCSI命令最大传输单位。
实施例三:
图4示出了本发明实施例提供的从存储器的0地址扇区开始,对读取到的扇区数据进行测试标识的比较,判断所述存储器是否超出容量循环保存的假容量存储器的实现流程,其具体的步骤如下所述:
在步骤S401中,读取存储器的0地址的扇区数据。
在本发明实施例中,从逻辑地址0扇区开始读取扇区数据。
在步骤S402中,判断扇区数据指定位置的数据是否包含所述测试数据中所包含的测试标识,是则执行步骤S403,否则执行步骤S404。
在本发明实施例中,在读取的扇区数据的指定位置的标识位(扇区数据中必须携带有的数据),判断该标识位是否与测试数据中所包含的测试标识相同,若相同则表示该存储器是循环型的假容量存储器,其中,写入到指定扇区的测试数据被映射到其他扇区中。
在步骤S403中,当所述0地址扇区指定位置的数据包含所述测试数据中所包含的测试标识时,则判定所述存储器为循环型的假容量存储器,结束检测流程。
在步骤S404中,当所述0地址扇区指定位置的数据不包含所述测试数据中所包含的测试标识时,以固定步长递增的方式,计算要读取的扇区地址。
在本发明实施例中,当检测到0地址扇区的指定位置不包含测试标识时,继续读取下一个扇区数据,其中,该读取的下一个扇区数据的扇区的选取可以采用跳跃方式,即采用固定步长递增的方式,在此固定步长可以选取2MB,当前步长是2MB,则下一个扇区数据的读取地址可以在现有基础上增加(2+2)MB,在此仅为本发明的一个实施例。
在步骤S405中,判断计算的要读取的扇区地址是否位于写入测试数据的存储器的尾部区域和中部区域的若干扇区的地址内,是则执行步骤S406,否则执行S407。
在本发明实施例中,当计算得到要进行数据读取的扇区地址时,判断该扇区是否位于写入测试数据的存储器的尾部区域和中部区域的若干扇区的地址内,即当读取的扇区是写入测试数据的扇区,则跳过该地址扇区数据的读取,读取下一个扇区数据。
在步骤S406中,当计算的要读取的扇区地址位于写入测试数据的存储器的尾部区域和中部区域的若干扇区的地址时,控制跳过对所述扇区数据的读取,计算下一要读取的扇区数据的地址,并继续执行判断计算的要读取的扇区地址是否位于写入测试数据的存储器的尾部区域和中部区域的若干扇区的地址的步骤。
在本发明实施例中,该计算下一要读取的扇区数据的地址的方式也是固定步长递增的方式,在此不再赘述。
在步骤S407中,判断计算的要读取的扇区地址是否大于存储器的容量,是则执行步骤S409,否则执行步骤S408。
在步骤S408中,当计算的要读取的扇区地址不位于写入测试数据的存储器的尾部区域和中部区域的若干扇区的地址时,读取该扇区地址所对应的扇区数据,并返回执行步骤S402,即判断扇区数据指定位置的数据是否包含所述测试数据中所包含的测试标识。
在本发明实施例中,当计算的要读取的扇区地址不位于写入测试数据的存储器的尾部区域和中部区域的若干扇区的地址时,其判断的过程如上述步骤S402所述,在此不再赘述。
在步骤S409中,当计算的要读取的扇区地址大于存储器的容量时,控制结束检测流程,并确定所述存储器为真实存储器。
在本发明实施例中,该实施例提供的判断所述存储器是否超出容量循环保存的假容量存储器是一个循环的递进式的检测过程,即对整个存储器的扇区数据进行遍历,当遍历完整个扇区数据后,读取的扇区数据没有发现包含测试标识,则标识该检测的存储器为正常的存储器,当读取的扇区数据发现包含测试标识时,则表示该存储器为假容量存储器(超出容量循环保存的假容量存储器)。
实施例四:
在本发明实施例中,将测试数据写入到存储器的尾部区域以及随机选择的中部区域的若干扇区时,该测试数据将不应该出现在存储器的其他位置。
但是由于假容量存储设备循环使用有限的Nand Flash存储空间,该测试数据会被映射到其他逻辑地址,一旦在写入区域外的地址读到了则是数据,则该存储器为假容量存储器。
由于在写入测试数据时,长度为10倍的Nand Flash块大小,将采用连续写入的方式进行保存,因此,在读取时可以按照Nand Flash块大小进行递增读取,而不用担心错过被循环映射的测试数据。基于这个条件,理论上只需1/10的全盘读取时间可以完成检测,而每次读取只需要1个扇区,所以不需要访问过多的Nand Flash页,使得检测速度可以得到进一步的提高。
在数据对比上,只需判断读取到的扇区数据中,指定的某个位置是否与随机生成的测试标识相同,无需比较扇区的全部数据,检测速度得到再次提高,并且有利于在资源缺乏的嵌入式设备上实现该算法。
实施例五:
图5示出了本发明实施例提供的假容量存储器的检测系统的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。
第一测试数据写入模块11在存储器的高地址数据区写入预先设置的测试数据;超出容量不保存存储器判定模块12读出所述存储器高地址数据区对应的数据,当所述读出的存储器高地址数据区对应的数据与写入的所述测试数据不相同时,则判定所述存储器为超出容量不保存的假容量存储器,结束检测流程;当所述超出容量不保存存储器判定模块12读出的存储器高地址数据区对应的数据与写入的所述测试数据相同时,第二测试数据写入模块13在存储器的尾部区域和中部区域的若干扇区写入所述预先设置的测试数据;超出容量循环保存存储器判断模块14从存储器的0地址扇区开始,对读取到的扇区数据进行测试标识的比较,判断所述存储器是否超出容量循环保存的假容量存储器。
在本发明实施例中,测试数据生成模块15预先设置生成测试数据,所述测试数据包含用于检测存储器假容量的测试标识。
在本发明实施例中,下述给出具体的实施例进行说明,在此不再赘述,但不用以限制本发明。
实施例六:
图6示出了本发明实施例提供的测试数据生成模块的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。
测试标识生成模块151随机生成一测试标识;测试标识加入模块152将所述测试标识加入到长度为512字节的缓冲区中;测试数据获取模块153将长度为512字节的缓冲区复制到64K区长的测试数据区,得到写入存储器尾部区域和中部区域的若干扇区的测试数据。
实施例七:
图7示出了本发明实施例提供的超出容量循环保存存储器判断模块的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。
扇区数据读取模块141读取存储器的0地址的扇区数据;第一判断模块142判断扇区数据指定位置的数据是否包含所述测试数据中所包含的测试标识;当所述第一判断模块142判断所述0地址扇区指定位置的数据包含所述测试数据中所包含的测试标识时,第一超出容量循环保存存储器判定模块143判定所述存储器为循环型的假容量存储器,结束检测流程;当所述第一判断模块142判断所述0地址扇区指定位置的数据不包含所述测试数据中所包含的测试标识时,扇区地址计算模块144以固定步长递增的方式,计算要读取的扇区地址;第二判断模块145判断所述扇区地址计算模块144计算的要读取的扇区地址是否位于写入测试数据的存储器的尾部区域和中部区域的若干扇区的地址;当所述第二判断模块145判断计算的要读取的扇区地址位于写入测试数据的存储器的尾部区域和中部区域的若干扇区的地址时,控制跳过模块146控制跳过对所述扇区数据的读取,执行扇区地址计算模块144计算下一要读取的扇区数据的地址,并继续执行所述第二判断模块145判断计算的要读取的扇区地址是否位于写入测试数据的存储器的尾部区域和中部区域的若干扇区的地址的步骤;当所述第二判断模块判145断计算的要读取的扇区地址不位于写入测试数据的存储器的尾部区域和中部区域的若干扇区的地址时,则第三判断模块147判断计算的要读取的扇区地址是否大于存储器的容量。
其中,当所述第三判断模块147计算的要读取的扇区地址大于存储器的容量时,结束控制模块148控制结束检测流程,并确定所述存储器为真实存储器;当所述第三判断模块147计算的要读取的扇区地址小于等于存储器的容量时,则执行所述扇区数据读取模块141读取所述扇区地址所对应的扇区数据,并继续执行所述第一判断模块142判断扇区数据指定位置的数据是否包含所述测试数据中所包含的测试标识的步骤。
上述仅为本发明的一个实施例,其各模块的功能如上述方法实施例所述,在此不再赘述。
在本发明实施例中,在存储器的高地址数据区写入预先设置的测试数据;读出所述存储器高地址数据区对应的数据,当所述读出的存储器高地址数据区对应的数据与写入的所述测试数据不相同时,则判定所述存储器为超出容量不保存的假容量存储器,结束检测流程;当所述读出的存储器高地址数据区对应的数据与写入的所述测试数据相同时,在存储器的尾部区域和中部区域的若干扇区写入所述预先设置的测试数据;从存储器的0地址扇区开始,对读取到的扇区数据进行测试标识的比较,判断所述存储器是否超出容量循环保存的假容量存储器,检测速度快,方便。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种假容量存储器的检测方法,其特征在于,所述方法包括下述步骤:
预先设置生成测试数据,所述测试数据包含用于检测存储器假容量的测试标识;
在存储器的高地址数据区写入预先设置的测试数据;
读出所述存储器高地址数据区对应的数据,当所述读出的存储器高地址数据区对应的数据与写入的所述测试数据不相同时,则判定所述存储器为超出容量不保存的假容量存储器,结束检测流程;
当所述读出的存储器高地址数据区对应的数据与写入的所述测试数据相同时,在存储器的尾部区域和中部区域的若干扇区写入所述预先设置的测试数据;
从存储器的0地址扇区开始,对读取到的扇区数据进行测试标识的比较,判断所述存储器是否超出容量循环保存的假容量存储器。
2.如权利要求1所述的方法,其特征在于,所述预先设置生成测试数据的步骤包括下述步骤:
随机生成一测试标识;
将所述测试标识加入到长度为512字节的缓冲区中;
将长度为512字节的缓冲区复制到64K区长的测试数据区,得到写入存储器尾部区域和中部区域的若干扇区的测试数据。
3.如权利要求1所述的方法,其特征在于,所述从存储器的0地址扇区开始,对读取到的扇区数据进行测试标识的比较,判断所述存储器是否超出容量循环保存的假容量存储器的步骤具体包括下述步骤:
读取存储器的0地址的扇区数据;
判断扇区数据指定位置的数据是否包含所述测试数据中所包含的测试标识;
当所述0地址扇区指定位置的数据包含所述测试数据中所包含的测试标识时,则判定所述存储器为循环型的假容量存储器,结束检测流程;
当所述0地址扇区指定位置的数据不包含所述测试数据中所包含的测试标识时,以固定步长递增的方式,计算要读取的扇区地址;
判断计算的要读取的扇区地址是否位于写入测试数据的存储器的尾部区域和中部区域的若干扇区的地址;
当计算的要读取的扇区地址位于写入测试数据的存储器的尾部区域和中部区域的若干扇区的地址时,控制跳过对所述扇区数据的读取,计算下一要读取的扇区数据的地址,并继续执行判断计算的要读取的扇区地址是否位于写入测试数据的存储器的尾部区域和中部区域的若干扇区的地址的步骤;
当计算的要读取的扇区地址不位于写入测试数据的存储器的尾部区域和中部区域的若干扇区的地址时,判断计算的要读取的扇区地址是否大于存储器的容量。
4.如权利要求3所述的方法,其特征在于,所述判断计算的要读取的扇区地址是否大于存储器的容量的步骤之后还包括:
当计算的要读取的扇区地址大于存储器的容量时,控制结束检测流程,并确定所述存储器为真实存储器;
当计算的要读取的扇区地址小于等于存储器的容量时,则执行读取所述扇区地址所对应的扇区数据,并继续执行判断扇区数据指定位置的数据是否包含所述测试数据中所包含的测试标识的步骤。
5.一种假容量存储器的检测系统,其特征在于,所述系统包括:
测试数据生成模块,用于预先设置生成测试数据,所述测试数据包含用于检测存储器假容量的测试标识;
第一测试数据写入模块,用于在存储器的高地址数据区写入预先设置的测试数据;
超出容量不保存存储器判定模块,用于读出所述存储器高地址数据区对应的数据,当所述读出的存储器高地址数据区对应的数据与写入的所述测试数据不相同时,则判定所述存储器为超出容量不保存的假容量存储器,结束检测流程;
第二测试数据写入模块,用于当所述超出容量不保存存储器判定模块读出的存储器高地址数据区对应的数据与写入的所述测试数据相同时,在存储器的尾部区域和中部区域的若干扇区写入所述预先设置的测试数据;以及
超出容量循环保存存储器判断模块,用于从存储器的0地址扇区开始,对读取到的扇区数据进行测试标识的比较,判断所述存储器是否超出容量循环保存的假容量存储器。
6.如权利要求5所述的系统,其特征在于,所述测试数据生成模块具体包括:
测试标识生成模块,用于随机生成一测试标识;
测试标识加入模块,用于将所述测试标识加入到长度为512字节的缓冲区中;以及
测试数据获取模块,用于将长度为512字节的缓冲区复制到64K区长的测试数据区,得到写入存储器尾部区域和中部区域的若干扇区的测试数据。
7.如权利要求5所述的系统,其特征在于,所述超出容量循环保存存储器判断模块具体包括:
扇区数据读取模块,用于读取存储器的0地址的扇区数据;
第一判断模块,用于判断扇区数据指定位置的数据是否包含所述测试数据中所包含的测试标识;
第一超出容量循环保存存储器判定模块,用于当所述第一判断模块判断所述0地址扇区指定位置的数据包含所述测试数据中所包含的测试标识时,则判定所述存储器为循环型的假容量存储器,结束检测流程;
扇区地址计算模块,用于当所述第一判断模块判断所述0地址扇区指定位置的数据不包含所述测试数据中所包含的测试标识时,以固定步长递增的方式,计算要读取的扇区地址;
第二判断模块,用于判断所述扇区地址计算模块计算的要读取的扇区地址是否位于写入测试数据的存储器的尾部区域和中部区域的若干扇区的地址;
控制跳过模块,用于当所述第二判断模块判断计算的要读取的扇区地址位于写入测试数据的存储器的尾部区域和中部区域的若干扇区的地址时,控制跳过对所述扇区数据的读取,执行扇区地址计算模块计算下一要读取的扇区数据的地址,并继续执行所述第二判断模块判断计算的要读取的扇区地址是否位于写入测试数据的存储器的尾部区域和中部区域的若干扇区的地址的步骤;以及
第三判断模块,用于当所述第二判断模块判断计算的要读取的扇区地址不位于写入测试数据的存储器的尾部区域和中部区域的若干扇区的地址时,则判断计算的要读取的扇区地址是否大于存储器的容量。
8.如权利要求7所述的系统,其特征在于,所述超出容量循环保存存储器判断模块还包括:
结束控制模块,用于当所述第三判断模块计算的要读取的扇区地址大于存储器的容量时,控制结束检测流程,并确定所述存储器为真实存储器;
当所述第三判断模块计算的要读取的扇区地址小于等于存储器的容量时,则执行所述扇区数据读取模块读取所述扇区地址所对应的扇区数据,并继续执行所述第一判断模块判断扇区数据指定位置的数据是否包含所述测试数据中所包含的测试标识的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010241976.XA CN102306503B (zh) | 2010-07-30 | 2010-07-30 | 一种假容量存储器的检测方法及系统 |
PCT/CN2011/072831 WO2012013049A1 (zh) | 2010-07-30 | 2011-04-15 | 一种假容量存储器的检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010241976.XA CN102306503B (zh) | 2010-07-30 | 2010-07-30 | 一种假容量存储器的检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102306503A CN102306503A (zh) | 2012-01-04 |
CN102306503B true CN102306503B (zh) | 2014-03-12 |
Family
ID=45380348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010241976.XA Active CN102306503B (zh) | 2010-07-30 | 2010-07-30 | 一种假容量存储器的检测方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102306503B (zh) |
WO (1) | WO2012013049A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108335721A (zh) * | 2018-03-14 | 2018-07-27 | 烽火通信科技股份有限公司 | 一种实时检测随机存取存储器地址线故障的方法及系统 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102956270B (zh) * | 2012-10-25 | 2015-11-25 | 北京奇虎科技有限公司 | 移动存储设备检测方法和装置 |
CN103116536B (zh) * | 2013-02-25 | 2016-02-24 | 杭州华澜微电子股份有限公司 | 存储装置的容量检测方法 |
CN103500586B (zh) * | 2013-09-26 | 2016-04-13 | 北京奇虎科技有限公司 | 检测移动存储装置容量的方法及设备 |
CN104331061A (zh) * | 2014-08-28 | 2015-02-04 | 航天科工深圳(集团)有限公司 | 配网终端装置核心板的测试方法及其测试装置 |
CN107851456B (zh) * | 2015-08-10 | 2021-02-09 | 华为技术有限公司 | 存储卡的鉴别方法及其移动终端、终端设备 |
CN106558348A (zh) * | 2016-11-11 | 2017-04-05 | 北京京存技术有限公司 | 一种eMMC读写测试方法和装置 |
CN111273852A (zh) * | 2018-12-04 | 2020-06-12 | 智微科技股份有限公司 | 存储器区块大小判定方法 |
CN109634534B (zh) * | 2019-01-02 | 2022-04-01 | 威胜集团有限公司 | 存储芯片的容量快速判定方法 |
CN110109785B (zh) * | 2019-04-16 | 2023-03-31 | 晶晨半导体(上海)股份有限公司 | 内存容量获取方法、装置、计算机设备及可读存储介质 |
CN110598473B (zh) * | 2019-09-18 | 2022-08-16 | 深圳市网心科技有限公司 | 一种移动存储介质管理方法、装置及设备和存储介质 |
CN113345510B (zh) * | 2021-06-29 | 2022-06-10 | 珠海一微半导体股份有限公司 | 一种flash的容量识别方法及容量识别系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5640286A (en) * | 1995-05-08 | 1997-06-17 | Western Digital Corporation | Disk drive with error code embedded sector identification |
JP2008217936A (ja) * | 2007-03-06 | 2008-09-18 | Elpida Memory Inc | 半導体記憶装置 |
CN101527172A (zh) * | 2008-03-07 | 2009-09-09 | 佛山市顺德区顺达电脑厂有限公司 | 动态随机存储器容量检测系统及方法 |
CN101477837B (zh) * | 2009-01-21 | 2011-10-19 | 炬力集成电路设计有限公司 | 一种存储器容量检测方法和装置 |
-
2010
- 2010-07-30 CN CN201010241976.XA patent/CN102306503B/zh active Active
-
2011
- 2011-04-15 WO PCT/CN2011/072831 patent/WO2012013049A1/zh active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108335721A (zh) * | 2018-03-14 | 2018-07-27 | 烽火通信科技股份有限公司 | 一种实时检测随机存取存储器地址线故障的方法及系统 |
CN108335721B (zh) * | 2018-03-14 | 2021-04-20 | 烽火通信科技股份有限公司 | 一种实时检测随机存取存储器地址线故障的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2012013049A1 (zh) | 2012-02-02 |
CN102306503A (zh) | 2012-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102306503B (zh) | 一种假容量存储器的检测方法及系统 | |
US9846641B2 (en) | Variability aware wear leveling | |
KR100873943B1 (ko) | 비휘발성 컴퓨터 메모리를 독출하기 위한 시스템 및 방법 | |
CN102063943B (zh) | Nand闪存参数自动检测系统 | |
US8595463B2 (en) | Memory architecture with policy based data storage | |
CN108369818B (zh) | 一种闪存设备的刷新方法和装置 | |
Wei et al. | WAFTL: A workload adaptive flash translation layer with data partition | |
CN104115134B (zh) | 用于管理对复合数据存储设备进行访问的方法和系统 | |
US11194737B2 (en) | Storage device, controller and method for operating the controller for pattern determination | |
US20100050007A1 (en) | Solid state disk and method of managing power supply thereof and terminal including the same | |
CN110347338B (zh) | 混合内存数据交换处理方法、系统及可读存储介质 | |
CN110673789B (zh) | 固态硬盘的元数据存储管理方法、装置、设备及存储介质 | |
US20130132704A1 (en) | Memory controller and method for tuned address mapping | |
CN103942161A (zh) | 只读缓存的去冗余系统及方法以及缓存的去冗余方法 | |
CN110442533A (zh) | 一种提高访问性能的方法、设备及存储介质 | |
US20220171562A1 (en) | Garbage collection in a memory component using an adjusted parameter | |
CN107203341A (zh) | 基于闪存的数据存储方法、装置以及闪存芯片 | |
CN116913351B (zh) | 一种存储设备数据丢失测试方法、装置、介质及设备 | |
CN109324980A (zh) | 一种l2p表管理方法、数据读取方法、装置及设备 | |
CN111143238B (zh) | 基于eFlash存储芯片的数据擦写方法及系统 | |
CN104794061B (zh) | 一种相变存储系统损耗均衡方法 | |
Jin et al. | Write-aware buffer management policy for performance and durability enhancement in NAND flash memory | |
CN110333966B (zh) | 一种固态硬盘设备 | |
CN103870204A (zh) | 一种cache中数据写入和读取方法、cache控制器 | |
CN115525605A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 518057 A, B, C, D, E, F1, 8 Building, Financial Services Technology Innovation Base, No. 8 Kefa Road, Nanshan District, Shenzhen City, Guangdong Province Patentee after: Shenzhen jiangbolong electronic Limited by Share Ltd Address before: 518000 A, B, C, D, E, F1, 8 Building, Financial Services Technology Innovation Base, No. 8 Kefa Road, Nanshan District, Shenzhen City, Guangdong Province Patentee before: Shenzhen jiangbolong Electronic Co., Ltd. |
|
CP03 | Change of name, title or address |