CN101957767A - 基于与非型闪存存储设备的系统软件升级方法 - Google Patents
基于与非型闪存存储设备的系统软件升级方法 Download PDFInfo
- Publication number
- CN101957767A CN101957767A CN2010102896379A CN201010289637A CN101957767A CN 101957767 A CN101957767 A CN 101957767A CN 2010102896379 A CN2010102896379 A CN 2010102896379A CN 201010289637 A CN201010289637 A CN 201010289637A CN 101957767 A CN101957767 A CN 101957767A
- Authority
- CN
- China
- Prior art keywords
- image file
- flash
- data block
- file data
- page
- 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
- Stored Programmes (AREA)
Abstract
本发明提出一种基于与非型闪存存储设备的系统软件升级方法,其包括步骤:从网络上读取用于更新与非型闪存其中一个存储页的镜像文件数据块,将所述镜像文件数据块写入与非型闪存中对应的存储页;于所述存储页更新成功后,再依次从网络上读取更新与非型闪存另一个存储页的镜像文件数据块对与非型闪存进行更新处理,直至所有镜像文件数据块均被写入至与非型闪存对应的存储页。本发明提供的在线一边下载一边进行软件升级的方法,为通过网络进行大范围的、快速的、便利的软件升级提供了实现可能;且本案也不存在本地缓冲镜像文件的存储空间不够而导致整个系统升级失败,从而提高了软件升级的质量。
Description
技术领域
本发明涉及一种电子设备的软件升级方法,尤其是涉及一种对采用与非型闪存存储系统软件的电子设备进行一边在线下载一边对与非型闪存中的系统数据进行升级的方法。
背景技术
Nand-flash存储器(简称为“与非型闪存”)是flash内存的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。Nand-flash存储器具有容量较大,改写速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用,如嵌入式设备中包括数码相机、MP3随身听记忆卡、体积小巧的U盘等。
对采用与非型闪存作为存储器的电子设备而言,不同厂家的电子设备在升级流程上可能存在一些差异,但是他们升级过程中都有一个很重要的步骤就是更新存储设备中的数据。一般而言,与非型闪存需要借助专门的软件工具,比如,软件名为mtd-utils(一种用于专门维护内存技术设备的工具)的nandwrite工具或者相同原理的应用程序去完成。升级过程中使NandWrite工具或者相同原理的的应用程序将二进制的镜像文件烧写至对应的分区。
NandWrite使用方法:
nandwrite[OPTION] MTD_DEVICE INPUTFILE
[OPTION]:参数选项
MTD_DEVICE:写入分区
INPUTFILE:镜像文件路径
当往nand flash的页写入数据的时候,每页字节生成一个ECC校验和,保存到页的OOB数据区。
OOB:nand flash中每一页最后有一块区域,用于存放校验的ECC数据和其他一些信息,比如上层文件系统放的和自己文件系统相关的数据。这个区域,在Linux MTD相关系统中,被称作OOB(Out Of Band)。
nandwrite操作语中一个参数“INPUTFILE”表示为本地镜像文件路径,如果系统采用在线升级的方式,就需要将镜像文件下载至内存或者本地存储器中。比如,申请号为CN200510083029的中国专利申请,其采用软件升级技术就是先将升级数据通过无线互联网络下载至通信设备本地的缓存区,再利用缓存区下载数据对与非型闪存存储器进行软件更新处理。
现有对与非型闪存存储器更新方式存在如下缺陷:若用于系统软件升级的镜像文件数量较多或者存储容量较大,需要借助外接存储器用于缓冲下载的镜像文件,或者外接存储器提供用于升级的镜像文件,难于同时对接入网络的若干电子设备进行在线软件升级处理;鉴于嵌入式硬件资源非常有限,若本地缓冲镜像文件的存储空间不够时,将会导致整个系统升级失败。
发明内容
本发明提出一种基于与非型闪存存储设备的系统软件升级方法,在线网络升级时可以实现边下载边写入用于升级的镜像文件,从而避免先将整个镜像文件下至与非型闪存中,导致存储空间消耗过大或者存储空间不够而无法实现升级的技术问题。
本发明提出的基于与非型闪存存储设备的系统软件升级方法采用了如下技术方案来实现:
从网络上读取用于更新与非型闪存其中一个存储页的镜像文件数据块,将所述镜像文件数据块写入与非型闪存中对应的存储页,包括同时更新该存储页的数据部分与OOB部分;
于所述存储页更新成功后,再依次从网络上读取更新与非型闪存另一个存储页的镜像文件数据块对与非型闪存进行更新处理,直至所有镜像文件数据块均被写入至与非型闪存对应的存储页。
在本发明的一种优选实施方式中,是将更新与非型闪存每一存储页中OOB部分的更新数据预先写入至网络上对应的镜像文件数据块;利用所述镜像文件数据块同时更新与非型闪存中对应存储页的数据部分与OOB部分。
在本发明的另一种优选实施方式中,是将所述镜像文件数据块写入与非型闪存中对应的存储页的数据部分,同时通过相应的算法更新OOB数据区的数据。
其中,所述镜像文件数据块存放在服务器或网站,采用与非型闪存作为存储的电子设备通过网络访问该服务器或网站获取所述镜像文件数据块。
与现有技术相比,本发明具有如下有益技术效果:
本发明以Nand Flash芯片的存储页(Page)为单位从网络上下载与非型闪存中更新每页数据对应的镜像文件部分,将下载的镜像文件部分烧入至与非型闪存对应的存储页实现同时更新与Nand Flash芯片中每一个存储页的数据部分与OOB部分,从而实现了一边从网络上下载用于软件升级的镜像文件一边对Nand Flash芯片进行软件升级处理。本发明无需将整个镜像文件全部下载完毕才能进行软件升级,更无需借助外接存储器提供缓冲镜像文件,从而为通过网络进行大范围的、快速的、便利的软件升级提供了实现可能;且本案也不存在本地缓冲镜像文件的存储空间不够而导致整个系统升级失败,从而提高了软件升级的质量。
附图说明
图1是本发明实现在线升级的流程示意图。
具体实施方式
为便于理解,先以型号为Samsung K9F1208U0B的Nand flash芯片对与非型闪存存储器作简单介绍。
Nand Flash芯片型号为Samsung K9F1208U0B的数据存储容量为64MB,采用块页式存储管理,8个I/O引脚充当数据、地址、命令的复用端口。芯片内部存储布局及存储操作特点:
一片Nand Flash芯片为一个设备(Device),其数据存储分层为:
1设备(Device)=4096块(Blocks);
1块(Block)=32页/行(Pages/Rows),页与行是相同的意思;
1页(Page)=528字节(Bytes)=数据部分(容量为512Bytes)+OOB部分(容量为16Bytes)。
在每一页中,最后16个字节(又称OOB块)用于Nand Flash芯片命令执行完后设置状态用,剩余512个字节又分为前半部分和后半部分,可以通过Nand Flash命令00h/01h/50h分别对前半部、后半部、OOB进行定位,通过Nand Flash内置的指针指向各自的首地址。
存储操作特点:
1.擦除操作的最小单位是块(Block)。
2.Nand Flash芯片每一位(bit)只能从1变为0,而不能从0变为1,所以在对其进行写入操作之前要一定将相应块擦除(擦除即是将相应块得位全部变为1)。
3.OOB部分的第6字节(即517字节)标志是否是坏块,如果不是坏块该值为FF,否则为坏块。
4.除OOB第6字节外,通常至少把OOB的前3个字节存放Nand Flash芯片的硬件ECC(Error Correcting Code,错误检查和纠正)码。
如图1所示,本发明提供一种基于与非型闪存存储设备的系统软件升级方法,以NandFlash芯片的存储页(Page)为单位从网络上下载与非型闪存中更新每页数据对应的镜像文件部分,将下载的镜像文件部分烧入至与非型闪存对应的存储页。具体如下:
步骤S1:通过网络从服务器读取用于软件升级的镜像文件,每次读取1个存储页(Page)的镜像文件数据块;
步骤S2:判断是否下载成功,若成功转入步骤S3,否则结束升级处理。
步骤S3:将该镜像文件数据块写入与非型闪存中对应的存储页(Page),包括同时更新该页的数据部分与OOB部分。
该页的数据部分的更新数据来源于所述镜像文件数据块。而该页的OOB部分的更新方式有两种:其一是事先通过OOB数据写入工具将OOB部分的更新数据写入服务器上的镜像文件,因此从网络读取加入OOB更新数据的镜像文件数据块后,根据该镜像文件数据块更新该页的OOB部分;另一种方式是服务器上的镜像文件没有加入OOB更新数据时,可以在将所述镜像文件数据块写入与非型闪存中对应的存储页时,通过相应算法更新OOB的数据,以实现在更新与非型闪存的某一存储页时,同时更新了该页的数据部分与OOB部分。
步骤S4:判断是否成功更新与非型闪存中的该存储页,若是,转入步骤S5,否则结束升级处理。
步骤S5:判断镜像文件中对应与非型闪存中每一个存储页的镜像文件数据块是否全部已经下载,若不是,则转入步骤S1开始下载下一个存储页对应的镜像文件数据块对下一个存储页进行更新处理,否则,结束升级处理流程。
综上,本发明以Nand Flash芯片的存储页(Page)为单位从网络上下载与非型闪存中更新每页数据对应的镜像文件部分,将下载的镜像文件部分烧入至与非型闪存对应的存储页实现同时更新与Nand Flash芯片中每一个存储页的数据部分与OOB部分,从而实现了一边从网络上下载用于软件升级的镜像文件一边对Nand Flash芯片进行软件升级处理。
Claims (4)
1.一种基于与非型闪存存储设备的系统软件升级方法,其特征在于包括步骤:
从网络上读取用于更新与非型闪存其中一个存储页的镜像文件数据块,将所述镜像文件数据块写入与非型闪存中对应的存储页,包括同时更新该存储页的数据部分与OOB部分;
于所述存储页更新成功后,再依次从网络上读取更新与非型闪存另一个存储页的镜像文件数据块对与非型闪存进行更新处理,直至所有镜像文件数据块均被写入至与非型闪存对应的存储页。
2.根据权利要求1所述基于与非型闪存存储设备的系统软件升级方法,其特征在于,还包括步骤:
将更新与非型闪存每一存储页中OOB部分的更新数据预先写入至网络上对应的镜像文件数据块;
利用所述镜像文件数据块同时更新与非型闪存中对应存储页的数据部分与OOB部分。
3.根据权利要求1所述基于与非型闪存存储设备的系统软件升级方法,其特征在于,将所述镜像文件数据块写入与非型闪存中对应的存储页的数据部分,同时通过相应的算法更新该存储页的OOB部分。
4.根据权利要求1所述基于与非型闪存存储设备的系统软件升级方法,其特征在于,所述镜像文件数据块存放在服务器或网站,采用与非型闪存作为存储的电子设备通过网络访问该服务器或网站获取所述镜像文件数据块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102896379A CN101957767A (zh) | 2010-09-21 | 2010-09-21 | 基于与非型闪存存储设备的系统软件升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102896379A CN101957767A (zh) | 2010-09-21 | 2010-09-21 | 基于与非型闪存存储设备的系统软件升级方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101957767A true CN101957767A (zh) | 2011-01-26 |
Family
ID=43485109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102896379A Pending CN101957767A (zh) | 2010-09-21 | 2010-09-21 | 基于与非型闪存存储设备的系统软件升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101957767A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102163155A (zh) * | 2011-03-09 | 2011-08-24 | 深圳创维数字技术股份有限公司 | 存储设备的升级方法及升级控制装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1499531A (zh) * | 2002-10-28 | 2004-05-26 | 管理非易失存储器系统中的数据完整性的方法和装置 | |
CN101458662A (zh) * | 2007-12-14 | 2009-06-17 | 创惟科技股份有限公司 | 改进闪存存取效率的存储系统与方法 |
US20090265403A1 (en) * | 2006-08-31 | 2009-10-22 | Keiji Fukumoto | File system |
CN101694662A (zh) * | 2009-09-25 | 2010-04-14 | 上海华为技术有限公司 | 对NAND Flash的文件保密方法、装置及系统 |
CN101715575A (zh) * | 2006-12-06 | 2010-05-26 | 弗森多系统公司(dba弗森-艾奥) | 采用数据管道管理数据的装置、系统和方法 |
-
2010
- 2010-09-21 CN CN2010102896379A patent/CN101957767A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1499531A (zh) * | 2002-10-28 | 2004-05-26 | 管理非易失存储器系统中的数据完整性的方法和装置 | |
US20090265403A1 (en) * | 2006-08-31 | 2009-10-22 | Keiji Fukumoto | File system |
CN101715575A (zh) * | 2006-12-06 | 2010-05-26 | 弗森多系统公司(dba弗森-艾奥) | 采用数据管道管理数据的装置、系统和方法 |
CN101458662A (zh) * | 2007-12-14 | 2009-06-17 | 创惟科技股份有限公司 | 改进闪存存取效率的存储系统与方法 |
CN101694662A (zh) * | 2009-09-25 | 2010-04-14 | 上海华为技术有限公司 | 对NAND Flash的文件保密方法、装置及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102163155A (zh) * | 2011-03-09 | 2011-08-24 | 深圳创维数字技术股份有限公司 | 存储设备的升级方法及升级控制装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8954654B2 (en) | Virtual memory device (VMD) application/driver with dual-level interception for data-type splitting, meta-page grouping, and diversion of temp files to ramdisks for enhanced flash endurance | |
US8954649B2 (en) | Garbage collection in storage devices based on flash memories | |
US9146854B2 (en) | Restoring storage devices based on flash memories and related circuit, system, and method | |
US9582416B2 (en) | Data erasing method, memory control circuit unit and memory storage apparatus | |
US9058256B2 (en) | Data writing method, memory controller and memory storage apparatus | |
US20110055457A1 (en) | Method for giving program commands to flash memory, and controller and storage system using the same | |
US9460004B2 (en) | Memory erasing method, memory controller, and memory storage apparatus | |
CN102163155A (zh) | 存储设备的升级方法及升级控制装置 | |
US8489942B1 (en) | Memory management method, and memory controller and memory storage device using the same | |
US9235534B2 (en) | Data protecting method, memory controller and memory storage apparatus | |
US9619380B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
CN106557432B (zh) | 缓冲存储器管理方法、存储器控制电路单元及存储装置 | |
US8667348B2 (en) | Data writing method for non-volatile memory module and memory controller and memory storage apparatus using the same | |
CN102650949A (zh) | 一种存储设备的固件升级的方法及装置 | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
JP5329689B2 (ja) | メモリコントローラ、不揮発性記憶装置 | |
US20120297115A1 (en) | Program code loading and accessing method, memory controller, and memory storage apparatus | |
US8943289B2 (en) | Data moving method for flash memory module, and memory controller and memory storage apparatus using the same | |
US8856425B2 (en) | Method for performing meta block management, and associated memory device and controller thereof | |
US9501397B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
CN107704338A (zh) | 一种资料储存型闪存的数据恢复方法和装置 | |
US9443604B2 (en) | Electronic device and data-management method thereof | |
CN104238956A (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
CN101957767A (zh) | 基于与非型闪存存储设备的系统软件升级方法 | |
CN104166558B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110126 |