闪存存储设备数据写的方法和系统技术方案

技术编号:10314359 阅读:150 留言:0更新日期:2014-08-13 16:28
本发明专利技术涉及一种闪存存储设备数据写的方法和系统。所述方法,包括以下步骤:接收对闪存存储设备发出的数据写操作命令,所述数据写操作命令包括待写入数据和待写入数据的逻辑地址;根据所述数据写操作命令将所述待写入数据存放在一个或多个数据缓存区域中;将所述缓存区域中的数据写入所述逻辑地址指向的闪存存储设备的存储单元中;对通过所述数据缓存区域所写入的数据进行ECC校验;当校验的错误字节数超过ECC阈值时,重写所述数据缓存区域的数据,并对重写的数据进行ECC校验直至所述校验的错误字节数不超过ECC阈值。通过对写入存储单元的数据进行多次的校验,直至写入存储单元的数据是正确的,保证了数据存取的准确,提高了写数据的稳定性和可靠性。

【技术实现步骤摘要】
闪存存储设备数据写的方法和系统
本专利技术涉及存储设备,特别是涉及一种闪存存储设备数据写的方法和系统。
技术介绍
传统的闪存存储设备用于数据的存放和读取时,历经了反反复复的擦除和写入操作,即充电和放电的过程,其寿命将会缩小,性能将会下降,从而可能会导致在后续继续使用该闪存存储设备时容易出现数据存取错误的问题。
技术实现思路
基于此,有必要针对传统的闪存存储设备因反复进行擦除和写入操作导致后续使用容易出现数据存取错误的问题,提供一种能保证数据存取准确的闪存存储设备数据写的方法。此外,还有必要提供一种能保证数据存取准确的闪存存储设备数据写的系统。一种闪存存储设备数据写的方法,包括以下步骤:接收对闪存存储设备发出的数据写操作命令,所述数据写操作命令包括待写入数据和待写入数据的逻辑地址;根据所述数据写操作命令将所述待写入数据存放在一个或多个数据缓存区域中;将所述缓存区域中的数据写入所述逻辑地址指向的闪存存储设备的存储单元中;对通过所述数据缓存区域所写入的数据进行ECC校验;当所述校验的错误字节数超过ECC阈值时,重写所述数据缓存区域的数据,并对重写的数据进行ECC校验直至所述校验的错误字节数不超过ECC阈值。在其中一个实施例中,所述根据所述数据写操作命令将所述待写入数据存放在一个数据缓存区域中的步骤包括:根据所述数据写操作命令以所述数据缓存区域的最大暂存数据量为单位分批次将所述待写入数据暂存入所述数据缓存区域中。在其中一个实施例中,所述根据所述数据写操作命令将所述待写入数据存放在多个数据缓存区域中的步骤包括:根据所述数据写操作命令,以所述多个数据缓存区域各自最大暂存数据量为单位轮流将所述待写入数据暂存入所述多个数据缓存区域中。在其中一个实施例中,对通过所述数据缓存区域所写入的数据进行ECC校验的步骤包括:对通过所述数据缓存区域所写入的数据以页为单位读取并进行ECC校验;当所述校验的错误字节数超过ECC阈值时,重写所述数据缓存区域的数据的步骤包括:当通过所述数据缓存区域所写入的数据中每个页的错误字节超过ECC阈值时,则将所述数据缓存区域中的数据写入到所述逻辑地址指向的后续的页中。在其中一个实施例中,对通过所述数据缓存区域所写入的数据进行ECC校验的步骤包括:对通过所述数据缓存区域所写入的数据以页为单位读取并进行ECC校验;当所述校验的错误字节数超过ECC阈值时,重写所述数据缓存区域的数据的步骤包括:当通过所述数据缓存区域所写入的数据中部分页的错误字节超过ECC阈值时,则将所述数据缓存区域中的部分页的数据重写入到所述逻辑地址指向的后续的页中。一种闪存存储设备数据写的系统,包括:接收模块,用于接收对闪存存储设备发出的数据写操作命令,所述数据写操作命令包括待写入数据和待写入数据的逻辑地址;缓存模块,用于根据所述数据写操作命令将所述待写入数据存放在一个或多个数据缓存区域中;写入模块,用于将所述缓存区域中的数据写入所述逻辑地址所指向的闪存存储设备的存储单元中;校验模块,用于对通过所述数据缓存区域所写入的数据进行ECC校验;所述写入模块还用于当所述校验的错误字节数超过ECC阈值时,重写所述数据缓存区域的数据;所述校验模块还用于对重写的数据进行ECC校验直至所述校验的错误字节数不超过所述ECC阈值。在其中一个实施例中,所述缓存模块还用于根据所述数据写操作命令以所述数据缓存区域的最大暂存数据量为单位分批次将所述待写入数据暂存入所述数据缓存区域中。在其中一个实施例中,所述缓存模块还用于根据所述数据写操作命令,以所述多个数据缓存区域各自最大暂存数据量为单位轮流将所述待写入数据暂存入所述多个数据缓存区域中。在其中一个实施例中,所述校验模块还用于对通过所述数据缓存区域所写入的数据以页为单位读取并进行ECC校验;所述写入模块还用于当所述数据缓存区域所写入的数据中每个页的错误字节超过ECC阈值时,则将所述数据缓存区域中的数据写入到所述逻辑地址指向的后续的页中。在其中一个实施例中,所述校验模块还用于对通过所述数据缓存区域所写入的数据以页为单位读取并进行ECC校验;所述写入模块还用于当所述数据缓存区域所写入的数据中部分页的错误字节超过ECC阈值时,则将所述数据缓存区域中的部分页的数据重写入到所述逻辑地址指向的后续的页中。上述闪存存储设备数据写的方法和系统,通过在对闪存存储设备进行数据写操作的过程中,对写入存储单元的数据进行多次的校验,直至写入存储单元的数据是正确的,从而防止闪存存储设备因为闪存电压不稳定或寿命和性能的影响在进行数据写操作时容易产生错误数据的问题,保证了数据存取的准确,并且提高了闪存存储设备写数据的稳定性和可靠性。附图说明图1为一个实施例中闪存存储设备数据写的方法的流程图;图2为一个实施例中闪存存储设备数据写的系统的结构框图;图3为一个实施例中闪存存储设备数据写的系统的结构框图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。图1为一个实施例中闪存存储设备数据写的方法的流程图。如图1所示,该闪存存储设备数据写的方法,包括以下步骤:步骤102,接收对闪存存储设备发出的数据写操作命令,所述数据写操作命令包括待写入数据和待写入数据的逻辑地址。具体的,通过主机对闪存存储设备发出数据写操作命令,闪存存储设备接收到该数据写操作命令。主机可为台式计算机或掌上电脑等。步骤104,根据所述数据写操作命令将所述待写入数据存放在一个或多个数据缓存区域中。具体的,闪存存储设备包括主控单元和存储单元,主控单元内可设置一个或多个数据缓存区域(buffer),用于临时存放待写入数据。当待写入数据的数据量足够大,且只有一个数据缓存区域,该数据缓存区域不能一次性的暂时存放待写入数据,则根据数据写操作命令以数据缓存区域的最大暂存数据量为单位分批次将待写入数据暂存入数据缓存区域中。具体的,所述数据缓存区域的最大暂存数据量,根据所述主控单元对所述数据缓存区域的划分,可以划分为一个页大小、两个页大小或者三个页大小等等。例如,假设待写入数据需要占用6.5个页(page)大小的数据量,该数据缓存区域的最大暂存数据量为1个页大小,则一个数据缓存区域可以将待写入数据分为7次的存储并写入存储单元,该7次的数据量大小为1页、1页、1页、1页、1页、1页、0.5页,此仅为举例说明,并不作为对本专利技术范围的限制。其中,待写入数据以数据缓存区域的最大暂存数据量为单位划分为多个分块后,剩余不足最大暂存数据量大小的待写入数据(如剩余的0.5页)也作为一个分块占用一次数据缓存区域,即剩余不足最大暂存数据量大小的待写入数据可以最大暂存数据量为单位进行统计。假设待写入数据需要占用7个页大小的数据量,该数据缓存区域的最大暂存数据量为1个页大小,则一个数据缓存区域可以将待写入数据分为7次的存储并写入存储单元,该7次的数据量大小为1页、1页、1页、1页、1页、1页、1页。当待写入数据的数据量足够大,且主控单元内设置有多个数据缓存区域,则根据数据写操作命令,以多个数据缓存区域各自最大暂存数据量为单位轮流将待写入数据暂存入多个数据缓存区域中。例如,假设待写入数据需要占用6本文档来自技高网...
闪存存储设备数据写的方法和系统

【技术保护点】
一种闪存存储设备数据写的方法,包括以下步骤:接收对闪存存储设备发出的数据写操作命令,所述数据写操作命令包括待写入数据和待写入数据的逻辑地址;根据所述数据写操作命令将所述待写入数据存放在一个或多个数据缓存区域中;将所述缓存区域中的数据写入所述逻辑地址指向的闪存存储设备的存储单元中;对通过所述数据缓存区域所写入的数据进行ECC校验;当所述校验的错误字节数超过ECC阈值时,重写所述数据缓存区域的数据,并对重写的数据进行ECC校验直至所述校验的错误字节数不超过ECC阈值。

【技术特征摘要】
1.一种闪存存储设备数据写的方法,包括以下步骤:接收对闪存存储设备发出的数据写操作命令,所述数据写操作命令包括待写入数据和待写入数据的逻辑地址,其中闪存存储设备包括主控单元和存储单元,主控单元内可设置一个或多个数据缓存区域;根据所述数据写操作命令将所述待写入数据存放在一个或多个数据缓存区域中;将所述数据缓存区域中的数据写入所述逻辑地址指向的闪存存储设备的存储单元中;对通过所述数据缓存区域所写入的数据进行ECC校验;当所述校验的错误字节数超过ECC阈值时,重写所述数据缓存区域的数据,并对重写的数据进行ECC校验直至所述校验的错误字节数不超过ECC阈值。2.根据权利要求1所述的闪存存储设备数据写的方法,其特征在于,所述根据所述数据写操作命令将所述待写入数据存放在一个数据缓存区域中的步骤包括:根据所述数据写操作命令以所述数据缓存区域的最大暂存数据量为单位分批次将所述待写入数据暂存入所述数据缓存区域中。3.根据权利要求1所述的闪存存储设备数据写的方法,其特征在于,所述根据所述数据写操作命令将所述待写入数据存放在多个数据缓存区域中的步骤包括:根据所述数据写操作命令,以所述多个数据缓存区域各自最大暂存数据量为单位轮流将所述待写入数据暂存入所述多个数据缓存区域中。4.根据权利要求2或3所述的闪存存储设备数据写的方法,其特征在于,对通过所述数据缓存区域所写入的数据进行ECC校验的步骤包括:对通过所述数据缓存区域所写入的数据以页为单位读取并进行ECC校验;当所述校验的错误字节数超过ECC阈值时,重写所述数据缓存区域的数据的步骤包括:当通过所述数据缓存区域所写入的数据中每个页的错误字节超过ECC阈值时,则将所述数据缓存区域中的数据写入到所述逻辑地址指向的后续的页中。5.根据权利要求2或3所述的闪存存储设备数据写的方法,其特征在于,对通过所述数据缓存区域所写入的数据进行ECC校验的步骤包括:对通过所述数据缓存区域所写入的数据以页为单位读取并进行ECC校验;当所述校验的错误字节数超过ECC阈值时,重写所述数据缓存区域的数据的步骤包括:当通过所述数据缓存区域所写入的...

【专利技术属性】
技术研发人员:梁小庆李志雄
申请(专利权)人:深圳市江波龙电子有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1