存储设备的升级方法及升级控制装置的制作方法

文档序号:6355663阅读:101来源:国知局
专利名称:存储设备的升级方法及升级控制装置的制作方法
技术领域
本发明涉及一种升级方法及控制装置,尤其涉及一种存储设备的升级方法及升级控制装置。
背景技术
与非型闪存由于具有存储容量大,改写速度快等优点,适用于大容量数据的存储, 近来在业界得到了越来越广泛的应用,如应用在嵌入式设备中包括数码相机、MP3随身听记忆卡、体积小巧的U盘等。对采用与非型闪存作为存储器的电子设备而言,不同厂家的电子设备在系统软件的升级流程上可能存在一些差异,但是它们升级过程中都有一个很重要的步骤就是更新存储器中的数据。一般而言,与非型闪存需要借助专门的软件工具,比如,软件名为mtd-utils ( — 种用于专门维护内存技术设备的工具)的nandwrite工具或者相同原理的应用程序去完成。升级过程中使NandWrite工具或者相同原理的的应用程序将二进制的镜像文件烧写至对应的分区。NandWrite 命令为nandwrite[OPTION]MTD_DEVICE INPUTFILE [OPTION]表示参数选项,MTD_DEVICE :表示写入分区,INPUTFILE表示镜像文件路径。当往与非型闪存的存储单元中写入数据的时候,每存储单元的字节生成一个ECC校验码,保存到对应存储单元的带外数据(OOB)区。带外数据(OOB)区是与非型闪存中每一存储单元中用于存放校验的ECC数据和其他一些信息的存储区域,比如存放上层文件系统存放的和自己文件系统相关的数据。所述存储区域,被称作00B,即带外数据区。nandwrite操作语中一个参数“INPUTFILE”表示为本地镜像文件路径,如果系统采用在线升级的方式,就需要将镜像文件下载至内存或者本地存储器中。现有的升级技术就是先将升级数据通过互联网下载至通信设备本地的缓存区,再利用缓存区下载数据对与非型闪存存储器进行软件更新处理。现有技术中,对所述与非型闪存存储器的系统的更新方式存在以下缺陷首先,当系统软件升级的镜像文件容量较大时,通常需要外接存储器用于缓冲下载的镜像文件,或者外接专门的存储器存储用于升级的镜像文件,难于对接入网络的电子设备进行在线方式的升级处理。其次,当本地缓冲文件镜像文件存储空间不够时,会导致整个系统软件的升级失败。现有的升级方式升级不方便,容易造成失败。再则,现有技术的这种升级方式,在下载用于系统软件升级的镜像文件时,没有对已下载的镜像文件与原始的文件进行校验对比,在数据传输过程中,容易造成数据的丢失, 从而造成已下载的镜像文件与原始需要用的镜像文件不一致,从而造成升级失败,升级成功率低。

发明内容
本发明主要解决的技术问题是提供一种存储设备升级方法及升级控制装置,能够使所述存储设备在线升级、且升级方便和升级成功率高。为解决上述技术问题,本发明采用的一个技术方案是提供一种存储设备的升级方法,其包括如下步骤将所述存储设备划分为多个存储单元;根据所述存储设备中一存储单元的容量大小读取所述镜像文件数据块;获取已读取的一存储单元的镜像文件数据块的校验信息;将读取的所述镜像文件数据块存写入相应的存储单元;在所述存储设备所有的存储单元中均写入所述镜像文件数据块后,根据读取的所有存储单元的镜像文件数据块的校验信息生成被校验码,将所述被校验码与源镜像文件数据块的主校验码进行对比;若一致,则判定升级成功。作为所述存储设备的升级方法进一改进,在根据所述存储设备中一存储单元的容量大小读取所述镜像文件数据块的步骤之后,还包括步骤判断是否完成所述一存储单元镜像文件数据块的读取,是,则进行所述获取已读取的一存储单元的镜像文件数据块的校验信息的步骤,否则,停止升级。作为所述存储设备的升级方法进一改进,在所述将读取的镜像文件数据块存写入相应的存储单元步骤之后,还包括步骤判断是否完成所述一存储单元的镜像文件数据块的写入,是,则进行读取下一存储单元的镜像文件数据块,否则,停止升级。作为所述存储设备的升级方法进一改进,在将所述校验程序返回的校验值和源镜像文件数据块的校验值进行对比的步骤之前还包括步骤判断是否完成所有存储单元的镜像文件数据块的写入,是,则进行将所述校验程序返回的校验值和源镜像文件数据块的校验值进行对比的步骤,否则,返回所述根据所述存储设备中一存储单元的容量大小读取所述镜像文件数据块的步骤。本发明还提供一种存储设备的升级控制装置,其包括存储单元划分模块,用于将所述存储设备划分为多个存储单元;读取模块,用于根据所述存储设备中一存储单元的容量大小读取所述镜像文件数据块;校验信息获取模块,用于获取已读取的一存储单元的镜像文件数据块的校验信息;写入模块,用于将读取的所述镜像文件数据块存写入相应的存储单元;校验码验证模块,用于在所述存储设备所有的存储单元中均写入所述镜像文件数据块后,根据读取的所有存储单元的镜像文件数据块的校验信息生成被校验码,将所述被校验码与源镜像文件数据块的主校验码进行对比,若一致,则判定升级成功。作为所述存储设备的升级控制装置进一改进,还包括一读取判断模块,用于在所述读取模块根据所述存储设备中一存储单元的容量大小读取所述镜像文件数据块后判断所述读取模块是否完成所述一存储单元镜像文件数据块的读取。作为所述存储设备的升级控制装置进一改进,还包括一写入判断模块,用于在所述写入模块将读取的镜像文件数据块存写入相应的存储单元后,判断是否完成所述一存储单元的镜像文件数据块的写入。作为所述存储设备的升级控制装置进一改进,还包括一完整判断模块,在所述校验码验证模块将所述校验程序返回的校验值和源镜像文件数据块的校验值进行对比之前, 用于判断是否完成所有存储单元的镜像文件数据块的写入。本发明的有益效果是区别于现有技术的情况,本发明存储设备的升级方法中,以所述存储单元的容量从网络上下载所述存储设备用于升级的镜像文件数据块,这种设计不需单独外接缓存存储器,可以边下载边升级,可以实现在线升级,升级方便。将下载的所述镜像文件数据块通过校验程序进行校验读取校验信息,并通过校验程序根据所述校验信息生成所述所有已下载存储单元的镜像文件数据块的被校验码,通过所述被校验码验证是否匹配,进而验证是否写入正确,由于在升级过程进行了校验,升级成功率高。因此,本发明的存储设备升级方法具有能够进行在线升级,升级方便且升级成功率高的优点。


图1是本发明存储设备升级方法的第一实施方式的流程图;图2是本发明存储设备升级方法的第二实施方式的流程图;图3是本发明存储设备升级控制装置的第一实施方式的结构方框示意图。
具体实施例方式参阅图1,图1是本发明存储设备升级方法的的第一实施方式的流程图。本实施方式中,所述存储设备升级方法包括如下步骤Sl 将所述存储设备划分为多个存储单元;本步骤中,为方便从网络上读取用于升级的镜像文件数据块,对应的将所述存储设备的容量根据需要划分为多个存储单元,每一存储单元的容量根据需要设置。S2 根据所述存储设备中一存储单元的容量大小读取所述镜像文件数据块;本步骤中,所述镜像文件数据块是用于所述存储设备的系统软件升级存放在网络上的一种数据文件。所述镜像文件数据块的大小根据升级需要的数据容量对应设置。所述镜像文件数据块一般用于所述存储设备的系统软件本身升级或者用于构建系统软件的一个功能软件的升级,具体根据需要设置。本步骤中,以一存储单元为读取单位进行镜像文件数据块的读取。S3 获取已读取的一存储单元的镜像文件数据块的校验信息;步骤中,一般通过校验程序对已下载的存储单元的数据进行读取获得所述存储单元的校验信息,为计算包括有所述存储单元的文件被校验码提供校验信息。S4 将读取的所述镜像文件数据块数据存写入相应的存储单元;将所述已下载的一存储单元的镜像文件数据块经过上一步骤后写入所述存储设备中,一般在存储设备中也对应所述一存储单元的数据容量大小设置有一存储空间。S5:根据读取的所有存储单元的镜像文件数据块的校验信息生成被校验码,将所述被校验码与源镜像文件数据块的主校验码进行对比;在所述存储设备所有的存储单元中均写入所述镜像文件数据块后进行,对比若一致,则判定升级成功。本步骤中,完成一存储单元的镜像文件数据块的写入后,继续下一存储单元的镜像文件数据块的读取、获取校验信息和数据写入直到完成所有存储单元的镜像文件数据块的写入,即完成整个用于升级的镜像文件数据块到所述存储设备的写入操作。
根据获取的已下载的每一存储单元的镜像文件数据块的校验信息生成所述镜像文件数据块的被校验码,并将所述被校验码与所述镜像文件数据块的源镜像文件数据的主校验码进行对比,如果一致,则本次升级升级成功,否则本次升级失败。相较于现有技术,本发明存储设备的升级方法中,以所述存储单元的容量从网络上下载所述存储设备用于升级的镜像文件数据块,这种设计不需单独外接缓存存储器,可以边下载边升级,可以实现在线升级,升级方便。将下载的所述镜像文件数据块通过校验程序进行校验读取校验信息,并通过校验程序根据所述校验信息生成所述所有已下载存储单元的镜像文件数据块的被校验码,通过所述被校验码验证是否匹配,进而验证是否写入正确,由于在升级过程进行了校验,升级成功率高。因此,本发明的存储设备升级方法具有能够进行在线升级,升级方便且升级成功率高的优点。再请参阅图2,其是本发明存储设备升级方法的第二实施方式的流程图。在本实施方式中,本发明的存储设备在线升级方法,包括如下步骤Sll 读取一存储单元的镜像文件数据块;将存放在网络上的服务器或者网站上用于所述存储设备升级的一存储单元的镜像文件数据块读取到所述存储设备的缓存中,一般在存储设备中会根据需要设置有用于临时存储数据的缓存空间,缓存的读写的速度一般远大于所述存储设备从网络上读取数据的速度。所述存储设备是与非型闪存存储设备。具体可以为型号为Samsung K9F1208U0B的与非型闪存存储器,也可以为其它的与非型闪存存储设备,这里列举具体型号是为了便于说明。Samsung K9F1208U0B的容量为64M,采用块和存储单元式存储管理。在这一具体设备中,所述存储单元对应于本发明的存储单元,这里便于说明采用存储单元对应所述存储单元进行说明。存储器的8个I/O引脚充当数据、地址、命令的复用端口。所述存储器内部存储布局及存储操作特点一个所述存储设备包括4096块;1块包括32存储单元,1存储单元容量是5 字节,包括量为512字节的数据部分和容量为16字节的带外数据部分。在每一存储单元中,最后16个字节用于与非型闪存芯片命令执行完后设置状态用,剩余512个字节又分为前半部分和后半部分,可以通过与非型闪存命令00h/01h/50h分别对前半部、 后半部、带外数据部分进行定位,通过与非型闪存芯片内置的指针指向各自的首地址。存储操作特点1,擦除操作的最小单位是块(Block) ;2.,与非型闪存芯片每一位(bit)只能从 “ 1,,变为“0”,而不能从“0”变为“ 1 ”,所以在对其进行写入操作之前要一定将相应块擦除, 擦除即是将相应块得位全部变为“1”。3,带外数据部分的第6字节(即517字节)标志是否是坏块,如果不是坏块该值为FF,否则为坏块。4.除带外数据部分第6字节外,通常至少把带外数据部分的前3个字节存放与非型闪存芯片的硬件ECC(Error Correcting Code,错误检查和纠正)码。S12 判断是否完成所述一存储单元的镜像文件数据块的读取;是,进行步骤S13,否则,停止升级。当从网络上读取完一存储单元的镜像文件数据块后,将存放在缓存中的所述镜像文件数据块和源镜像文件数据块进行对比确定是否读取完整。如果完整则进行步骤S13,否则,停止升级。S13 获取所述存储单元的校验信息;
步骤中,通过设置校验程序对每一存储单元镜像文件数据块进行读取获取每一存储单元镜像文件数据块的对应校验信息。校验程序采用的算法有多种。本实施方式中,采用循环冗余算法,即CRC32算法。S14:将所述一存储单元的镜像文件数据块写入所述存储设备中对应的存储空间内;将经过校验程序获取对应校验信息的所述存储单元的镜像文件数据块写入到所述存储设备中。在所述存储设备中设置有一与所述存储单元的镜像文件块的容量对应的存储空间。在本步骤中,还包括将所述存储单元镜像文件数据块对应的带外数据部分写入所述存储设备的对应存储单元中的操作。所述带外数据部分可以是预先存放在所述存储单元镜像文件数据块中,也可以是,在所述存储单元镜像文件数据块写入到所述存储设备后,通过相应的算法得到所述带外数据部分并写入到所述存储设备中。所述带外数据部分是所述存储设备中存储每一所述存储单元镜像文件数据块的校验ECC数据和其他一些信息的区域,比如用于存储上层文件系统存放的和自己文件系统相关的数据。S15 判断是否完成所述一存储单元的镜像文件数据块的写入;是,则进行下一步,否则,停止升级。将已经写入的所述存储设备的一存储单元镜像文件数据块与所述存储单元的源镜像文件数据块进行对比,如果一致则,写入完成,否则,停止升级。S16 重复步骤Sll至S13的步骤直至完成所有存储单元的镜像文件数据块的写入;当所述一存储单元镜像文件数据块完成写入后,则继续下一存储单元镜像文件数据块的读取至写入的步骤,直到完成所有存储单元镜像文件数据块的写入。当然,也包括了在所述存储设备中更新每一存储单元镜像文件数据块的带外数据部分。S17 判断是否完成所有存储单元的镜像文件数据块的写入;是,则进行步骤S18, 否则,返回步骤S11。将已经写入到所述存储设备中的所有存储单元的镜像文件数据块与所有存储单元镜像文件数据块进行对比,验证是否已经完成所有存储单元镜像文件数据块的写入。如果没有,则继续步骤S11,继续下载未写入的存储单元的镜像文件数据块的下载,直至完成所有存储单元的镜像文件数据块的写入。S18 分析所有存储单元的校验信息生成被校验值,将被校验码和主校验码进行对比;匹配,则升级成功。本步骤中,将所有存储单元的镜像文件数据块通过步骤S13获取到的校验信息通过循环冗余算法得到被校验码,将所述被校验码与源镜像文件数据块的主校验码进行对比,匹配,则升级成功,否,则升级失败。相较于现有技术,本实施方式的所述存储设备的升级方法中,以存储单元为单位从网络上下载所述存储设备每一存储单元对应的镜像文件数据块,这种设计不需单独外接缓存存储器,可从网络上边下载边升级,可以实现在线升级,升级方便。将下载的所述镜像文件数据块通过校验程序进行校验读取校验信息,并通过采用循环冗余算法的校验程序根据所述校验信息得到所述所有已下载存储单元的镜像文件数据块的被校验码,通过所述被校验码验证是否匹配验证是否写入正确,由于在升级过程进行了校验,升级成功率高。因此,本实施具有能够进行在线升级,升级方便且升级成功率高的优点。请参阅图3,其是本发明存储设备升级控制装置的一具体实施方式
的结构方框示意图,其包括存储单元划分模块100,用于将所述存储设备划分为多个存储单元;读取模块200,用于根据所述存储设备中一存储单元的容量大小读取所述镜像文件数据块;读取判断模块300,用于在所述读取模块根据所述存储设备中一存储单元的容量大小读取所述镜像文件数据块后判断所述读取模块200是否完成所述一存储单元镜像文件数据块的读取。校验信息获取模块400,用于获取已读取的一存储单元的镜像文件数据块的校验 fn息;写入模块500,用于将读取的所述镜像文件数据块写入相应的存储单元;写入判断模块600,用于在所述写入模块500将读取的镜像文件数据块存写入相应的存储单元后,判断是否完成所述一存储单元的镜像文件数据块的写入。完整判断模块700,在将所述校验程序返回的校验值和源镜像文件数据块的校验值进行对比之前,用于判断是否完成所有存储单元的镜像文件数据块的写入。校验码验证模块800,用于在所述存储设备所有的存储单元中均写入所述镜像文件数据块后,根据读取的所有存储单元的镜像文件数据块的校验信息生成被校验码,将所述被校验码与源镜像文件数据块的主校验码进行对比,若一致,则判定升级成功。相校于现有技术,本实施方式中,通过所述存储单元划分模块100,将所述存储设备划分为多个存储单元,通过所述读取模块200以存储单元从网络上进行读取并在获取每一存储单元的对应校验信息后进行写入,这种设计不需要外接存储器进行数据的缓冲存储,能过实现在线升级。由于所述镜像文件数据块在在下载过程中进行了验证,提高了升级的准确率。因此,本发明的升级控制装置具有能够在线升级,升级方便且成功率高的优点。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种存储设备的升级方法,其特征在于,其包括如下步骤 将所述存储设备划分为多个存储单元;根据所述存储设备中存储单元的容量大小读取所述镜像文件数据块; 获取已读取的存储单元的镜像文件数据块的校验信息; 将读取的所述镜像文件数据块写入相应的存储单元;在所述存储设备所有的存储单元中均写入所述镜像文件数据块后,根据读取的所有存储单元的镜像文件数据块的校验信息生成被校验码,将所述被校验码与源镜像文件数据块的主校验码进行对比;若一致,则判定升级成功。
2.根据权利要求1所述存储设备的升级方法,其特征在于,在根据所述存储设备中一存储单元的容量大小读取所述镜像文件数据块的步骤之后,还包括步骤判断是否完成所述一存储单元镜像文件数据块的读取,若是,则进行所述获取已读取的一存储单元的镜像文件数据块的校验信息的步骤,否则,停止升级。
3.根据权利要求1所述存储设备的升级方法,其特征在于,在所述将读取的镜像文件数据块数据存写入相应的存储单元步骤之后,还包括步骤判断是否完成所述一存储单元的镜像文件数据块的写入,若是,则读取下一存储单元的镜像文件数据块,否则,停止升级。
4.根据权利要求3所述存储设备的升级方法,其特征在于,在将所述校验程序返回的校验值和源镜像文件数据块的校验值进行对比的步骤之前还包括步骤判断是否完成所有存储单元的镜像文件数据块数据的写入,若是,则进行将所述校验程序返回的校验值和源镜像文件数据块的校验值进行对比的步骤,否则,返回所述根据所述存储设备中一存储单元的容量大小读取所述镜像文件数据块数据的步骤。
5.一种存储设备的升级控制装置,其特征在于,其包括存储单元划分模块,用于将所述存储设备划分为多个存储单元; 读取模块,用于根据所述存储设备中存储单元的容量大小读取所述镜像文件数据块数据;校验信息获取模块,用于获取已读取的存储单元的镜像文件数据块数据的校验信息; 写入模块,用于将读取的所述镜像文件数据块存写入相应的存储单元; 校验码验证模块,用于在所述存储设备所有的存储单元中均写入所述镜像文件数据块后,根据读取的所有存储单元的镜像文件数据块的校验信息生成被校验码,将所述被校验码与源镜像文件数据块的主校验码进行对比,若一致,则判定升级成功。
6.根据权利要求5所述存储设备的升级控制装置,其特征在于,还包括读取判断模块,用于判断所述读取模块是否完成所述一存储单元镜像文件数据块的读取。
7.根据权利要求6所述存储设备的升级控制装置,其特征在于,还包括写入判断模块,用于判断是否完成所述一存储单元的镜像文件数据块的写入。
8.根据权利要求7所述存储设备的升级控制装置,其特征在于,还包括 完整判断模块,用于判断是否完成所有存储单元的镜像文件数据块的写入。
全文摘要
本发明公开了一种存储设备的升级方法及装置,所述方法包括如下步骤将所述存储设备划分为多个存储单元;根据所述存储设备中存储单元的容量大小读取镜像文件数据块;获取已读取的镜像文件数据块的校验信息;将读取的镜像文件数据块存写入相应的存储单元;在所有的存储单元中均写入镜像文件数据块后,根据读取的所有存储单元的镜像文件数据块的校验信息生成被校验码,将所述被校验码与源镜像文件数据块的主校验码进行对比;若一致,则判定升级成功。本发明的存储设备升级方法具有能够进行在线升级,升级方便且升级成功率高的优点。
文档编号G06F9/445GK102163155SQ201110055808
公开日2011年8月24日 申请日期2011年3月9日 优先权日2011年3月9日
发明者景麟, 贺成敏, 邓宇, 邬惺 申请人:深圳创维数字技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1