本发明专利技术公开了一种存储装置的容量检测方法,其包括:将不同的源数据写入所述存储装置的多个目标地址,其中各个目标地址中写入的源数据均互不相同;从所述存储装置的各个目标地址中读取数据,将从每个目标地址中读取的数据与写入对应目标地址的数据进行对比以确定它们是否一致,如果读取的数据与写入的数据不都一致,则认为所述存储装置的容量不真实。本发明专利技术中的容量检测方法中,不需要对每个地址都进行读写检验,而是抽取相间隔的地址进行读写检验,这样速度大大加快,并且准确度并未显著降低。
【技术实现步骤摘要】
本专利技术涉及存储领域,尤其是涉及一种。
技术介绍
目前,闪存(Flash Memory,简称Flash)的运用非常广泛,用闪存制造出来的存储装置或产品有很多。这些存储装置或产品中闪存的成本比重非常大,一般可以达到70 -80 ,甚至可以达到 90 以上。以 TF 卡(Trans-FLash Card,又名 Micro SecureDigital Memory Card)为例,目前8GB的价格大约在25-40元之间,其中8GB的Flash价格即为22-28元左右,所占比重达到80%以上。因此如何控制Flash价格,成了 Flash存储装置生产厂商的利润关键点,甚至是厂商是否能够生存的根本。用户在使用闪存设备时,通常不会注意自己已经使用了多少容量,并且也不会在短期内将该存储装置的容量用完。以一个16G的U盘为例,很少有用户将这16G的容量全部装满,通常都是写一些数据到U盘后,又会删除一部分数据,这样容量一直不会达到16G,甚至不会超过10G,并且用户也会经常格式化U盘中的数据,这样U盘又会变成一个新的盘。总体来讲,对于大部分用户来说,其真正使用的存储装置的容量一般比该存储装置的总容量小很多。基于用户的上述使用习惯,有些不法厂商可能会将低容量的Flash做成高容量的存储装置,比如用4G的Flash做成一个8G或16G的存储装置以获得较高非法收益,但实际是其存储的空间仍然只有4GB。为了鉴别闪存装置的容量是否真实,目前的常用容量检测方法一般是:将测试数据写入该闪存装置的一个地址中,之后再从该闪存装置的该地址中读出测试数据,随后判断写入的测试数据和读出的测试数据是否一致,如果一致,则表示该地址是真实的;随后判断下一个地址是否真实。然而,这样的读写式容量检测方法非常耗时,例如一张512M升级为4G的卡(其真实容量为512M,而标记的容量为4G),假设读速度为12M/S,写速度为5M/S,那么需要的总测试时间=512/5+512/12 ^ 146 (秒),而如果是4G升级为8G/16G的卡(其真实容量为4G,而标记的容量为8G/16G),需要的总测试时间就是146s*4096M/512M=1168s=20分钟,并且随着容量的进一步增大,耗时会更长,这种速度明显是不能忍受的。此外,有些不法厂商会在技术上也做了很多的改进,这让这种普通的读写容量检测方法也无法查出来其真实的容量,比如采用了空间地址映射的方法就可以使得上述读写容量检测方法无效。以4G升级到16G为例,其可以将4G的空间重复映射多次后可以得到16G的逻辑地址,这样无论写入哪个地址,在从该地址读出数据后,比较写入的数据和读出的数据都会发现两者是一致的,从而通过容量检测。然而事实上,假如写入该闪存装置的总数据超过4G后,随后存入的数据会覆盖掉之前已经存储的数据。因此,确有必要提出一种改进的容量检测方法来克服上述问题。
技术实现思路
本专利技术提出一种,其可以快速的检测出所述存储装置的容量是否真实。为了解决上述问题,根据本专利技术的一个方面,本专利技术提供了一种,其包括:将不同的源数据写入所述存储装置的多个目标地址,其中各个目标地址中写入的源数据均互不相同;从所述存储装置的各个目标地址中读取数据,将从每个目标地址中读取的数据与写入对应目标地址的数据进行对比以确定它们是否一致,如果读取的数据与写入的数据不都一致,则认为所述存储装置的容量不真实。进一步的,如果读取的数据与写入的数据都一致,则继续进行如下操作:步骤A,将所述存储装置二分得到两个待分析存储区;步骤B,从每个待分析存储区的一个地址处读取数据,将从每个待分析存储区中读取的数据与所有的源数据逐一进行对比,将从其内读取的数据的部分或全部与所有源数据中的一个相同的待分析存储区称为映射存储区,将从其内读取的数据的部分或全部与所有源数据都不相同的待分析存储区称为准真实存储区,如果此次对比发现有映射存储区,则认为所述存储装置的容量不真实,如果此次对比没有发现有映射存储区,则进入步骤C ;步骤C,判断是否是连续N次判定没有映射存储区,若是,则认为所述存储装置的容量是真实的,若否,则继续对每个准真实存储区再次二分得到多个待分析存储区,并返回步骤B,N大于等于I。进一步的,如果读取的数据与写入的数据都一致,则继续进行如下操作:步骤A,将所述存储装置二分得到两个待分析存储区;步骤B,从每个待分析存储区的一个地址处读取数据,将从每个待分析存 储区中读取的数据与所有的源数据逐一进行对比,将从其内读取的数据的部分或全部与所有源数据中的一个相同的待分析存储区称为映射存储区,将从其内读取的数据的部分或全部与所有源数据都不相同的待分析存储区称为准真实存储区,如果此次对比发现有映射存储区,则认为所述存储装置的容量不真实,进入步骤D,如果此次对比没有发现有映射存储区,则进入步骤C ;步骤C,判断是否是连续N次判定没有映射存储区,若是,则根据所述准真实存储区的容量确定所述存储装置的真实容量,若否,则继续对每个准真实存储区再次二分得到多个待分析存储区,并返回步骤B,N大于等于I ;步骤D,继续对对每个准真实存储区再次二分得到多个待分析存储区,并返回步骤B。与现有技术相比,本专利技术中的容量检测方法中,不需要对每个地址都进行读写检验,而是抽取相间隔的地址进行读写检验,这样速度大大加快,并且准确度并未显著降低。进一步的,本专利技术中的容量检测方法,也同时结合了二分映射检验方法,这样可以检验出更为先进的作弊手段,使得容量检测更为准确。关于本专利技术的其他目的,特征以及优点,下面将结合附图在具体实施方式中详细描述。附图说明结合参考附图及接下来的详细描述,本专利技术将更容易理解,其中同样的附图标记对应同样的结构部件,其中:图1为本专利技术中的的应用架构示例;图2为本专利技术中的在一个实施例中的流程示意图3为本专利技术中的在另一个实施例中的流程示意图;图4为本专利技术中的向存储装置的多个目标地址写入不同源数据的示意图;图5为本专利技术中写入所述存储装置的一个目标地址中的源数据的示例;图6为本专利技术中将所述存储装置多次二分得到多个待分析存储区的一个示例图;和图7为本专利技术中将所述存储装置多次二分得到多个待分析存储区的另一个示例图。具体实施方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。本专利技术的详细描述主要通过程序、步骤、逻辑块、过程或其他象征性的描述来呈现,其直接或间接地模拟本专利技术中的技术方案的运作。所属领域内的技术人员使用此处的这些描述和陈述向所属领域内的其他技术人员有效的介绍他们的工作本质。此处所称的“ 一个实施例”或“实施例”是指与所述实施例相关的特定特征、结构或特性至少可包含于本专利技术至少一个实现方式中。在本说明书中不同地方出现的“在一个实施例中”并非必须都指同一个实施例,也不必须是与其他实施例互相排斥的单独或选择实施例。此外,表示一个或多个实施例的方法、流程图或功能框图中的模块顺序并非固定的指代任何特定顺序,也不构成对本专利技术的限制。在一个实施例中,本专利技术提供一种,其可以对存储装置进行容量检测,可以确定其容量是否真实,也可以确定其真实的容量大小。图1示出了所述容量检测方法的应用架构,在该架构中,容量检测装置110对存储装置120的容量进行本文档来自技高网...
【技术保护点】
一种存储装置的容量检测方法,其特征在于,其包括:将不同的源数据写入所述存储装置的多个目标地址,其中各个目标地址中写入的源数据均互不相同;从所述存储装置的各个目标地址中读取数据,将从每个目标地址中读取的数据与写入对应目标地址的数据进行对比以确定它们是否一致,如果读取的数据与写入的数据不都一致,则认为所述存储装置的容量不真实。
【技术特征摘要】
【专利技术属性】
技术研发人员:付建云,麻伟建,杨春华,
申请(专利权)人:杭州华澜微科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。