CN104751881A - 快闪存储器烧录方法 - Google Patents
快闪存储器烧录方法 Download PDFInfo
- Publication number
- CN104751881A CN104751881A CN201410014463.3A CN201410014463A CN104751881A CN 104751881 A CN104751881 A CN 104751881A CN 201410014463 A CN201410014463 A CN 201410014463A CN 104751881 A CN104751881 A CN 104751881A
- Authority
- CN
- China
- Prior art keywords
- flash memory
- dynamic partition
- partition table
- subregion
- block
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000005192 partition Methods 0.000 claims abstract description 46
- 238000009826 distribution Methods 0.000 claims abstract description 6
- 238000010200 validation analysis Methods 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- NHDHVHZZCFYRSB-UHFFFAOYSA-N pyriproxyfen Chemical compound C=1C=CC=NC=1OC(C)COC(C=C1)=CC=C1OC1=CC=CC=C1 NHDHVHZZCFYRSB-UHFFFAOYSA-N 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明提供了一种快闪存储器烧录方法,该快闪存储器烧录方法步骤包含自快闪存储器载入启动载入程序,并判断快闪存储器是否存储有动态分区表。快闪存储器包含一或多个不可用区块且被写入有一映像文件,映像文件具有多个分区,分区其中之一包含启动载入程序的程序代码。当快闪存储器没有存储动态分区表时,依据前述分区的长度和不可用区块于该快闪存储器中的分布,建立该动态分区表。本发明提供改进并折衷两种动态分区方式,使终端设备商可省下客制化的额外负担,亦毋需用启动载入程序一一烧录分区,实现快速且成本受控的制造工艺。
Description
技术领域
本发明是关于快闪存储器制造工艺,特别是关于快闪存储器的烧录(programming)方法。
背景技术
快闪存储器(NAND flash)因为常有大量坏块(bad block),烧录时不适合采用静态分区。举例来说,虽然操作系统各分区的映像文件皆会预留缓冲,以涵盖烧录时会遇到的坏块数量,但当坏块的分布连续且广时,可能某分区整个坐落于坏块,导致烧录器认定烧录失败。可惜的是,快闪存储器制造商不会接收此类退货,终端设备业者必须自行吸收。
若烧录时采用动态分区,则可请烧录器厂商针对专案客制化一套通常所费不赀的分区规划流程,或先烧录特殊设计、具有映像文件烧录能力的启动载入程序(bootloader),再间接生成动态分区表,据以烧录各分区的映像文件。然而启动载入程序的烧录远不及烧录器一次到位来得迅速,相对增加了终端设备生产时程和产线复杂度。
发明内容
本发明要解决的技术问题是:提供一种快闪存储器烧录方法,以解决上述问题。
本发明解决问题的技术方案为:提供一种快闪存储器烧录方法,其步骤包含自快闪存储器载入启动载入程序,并判断快闪存储器是否存储有动态分区表。快闪存储器包含一或多个不可用区块且被写入有一映像文件,映像文件具有多个分区,分区其中之一包含启动载入程序的程序代码。若快闪存储器没有存储动态分区表,则依据前述分区的长度和不可用区块于该快闪存储器中的分布,建立该动态分区表。
综上所述,本发明提供改进并折衷前述两种动态分区方式,使终端设备商可省下客制化的额外负担,亦毋需用启动载入程序一一烧录分区,实现快速且成本受控的制造工艺。
附图说明
图1是依据本发明一实施例快闪存储器烧录方法的流程图。
具体实施方式
以下在实施方式中叙述本发明的详细特征,其内容足以使任何熟习相关技艺者了解本发明的技术内容并据以实施,且依据本说明书所揭露的内容、申请专利范围及附图,任何熟习相关技艺者可轻易地理解本发明相关的目的及优点。以下实施例进一步说明本发明的诸方面,但非以任何方面限制本发明的范畴。
请参见图1。图1是依据本发明一实施例快闪存储器烧录方法的流程图,且为说明方便,其中假设产线上是一台运算设备指示一台烧录器工作,而一台终端设备用以存取被烧录的快闪存储器。如图1所示,于步骤S101中,运算设备指示烧录器将带有多个分区的映像文件写入快闪存储器。具体而言,快闪存储器可具有多个可用区块和多个不可用区块(坏块),这些可用区块和不可用区块互斥,而运算设备指示烧录器开启其跳过(skip)坏块的功能,以将映像文件写入可用区块。
上述映像文件的某个分区(通常是第一个)记录有用以执行一启动载入程序的程序代码。烧录完成后,快闪存储器中不可用区块的分布(如地址和数量)已知,终端设备可于步骤S103中载入此启动载入程序。具体而言,终端设备从快闪存储器读入上述程序代码后,将终端设备的处理器的使用权交给启动载入程序。启动载入程序执行中,首先于步骤S105中判断快闪存储器是否存储有动态分区表可描述映像文件的分区。请注意在本发明中,动态分区表是烧录后计算而得。没有动态分区表各分区分别对应快闪存储器中哪些可用区块便无从得知。在一实施例中,动态分区表应记录有一个预定义值或魔数(magic number),启动载入程序便是凭借判断快闪存储器中是否存储有此值来探知动态分区表的存在。
若判断结果为否,则启动载入程序着手建立动态分区表。在一实施例中,这包含启动载入程序于步骤S107中按照映像文件中分区的顺序,依据前一分区于快闪存储器中被写入的一个可用区块的地址、前一分区于映像文件中的长度以及不可用区块的分布,计算下一分区被写入的一个可用区块的地址。假设前述被写入的可用区块分别是快闪存储器中前一分区和下一分区的首个区块,则下一分区的起始地址便是前一分区的起始地址、前一分区的长度与两个首区块之间坏块的数量转换成同样单位(如字节)后相加的和。映像文件的第一个分区通常是被写入在整个快闪存储器的第一个也是保证可用的区块(区块0),其地址不需计算。
于步骤S109中,启动载入程序将包含前述各分区的(起始)地址的动态分区表写入某个可用区块。在一实施例中,动态分区表还包含每个分区于映像文件中的长度。在一实施例中,启动载入程序是从快闪存储器的末端开始寻找可用区块。在另一实施例中,由于启动载入程序不大,区块0不会被写满,启动载入程序可将动态分区表以页为单位(on a page basis)自区块0的末端开始写入。具体而言,于步骤S101中,烧录器将映像文件写入区块0时可保留启动载入程序占用的页以外区块0的抹除后状态(逻辑的1或真),如此写入动态分区表时不需整个抹除区块0而影响其可用性。
若于步骤S105中已知快闪存储器存储有动态分区表,在一实施例中,启动载入程序更于步骤S111中验证动态分区表的正确性。具体而言,动态分区表可以记录有验证值,如投以循环冗余检查(cyclic redundancy check,简称CRC)系列的函数所得者,而启动载入程序于步骤S111中判断快闪存储器所存储的动态分区表的版本是否确实关联其所记录的验证值。当验证不通过时,启动载入程序执行步骤S107。若启动载入程序设计为将动态分区表写入快闪存储器末端的可用区块,则此时略过前次写入失败所用的区块再往前寻找可用区块;若启动载入程序是将动态分区表写入区块0,则此次选择前番所用的页的前一页。
在一实施例中,当完成如步骤S109所述的动态分区表写入动作或是当步骤S111验证通过时,设有快闪存储器的终端设备可根据动态分区表载入前述各分区,如步骤S113所示。
综上所述,本发明利用烧录器本身跳过不可用区块烧录的能力,将韧件或映像文件整份写入快闪存储器,再以启动载入程序反推出各分区地址,并建表记录之,供后续使用。
虽然本发明以前述的实施例揭露如上,然其并非用以限定本发明。在不脱离本发明的精神和范围内,所作的更动与润饰,均属本发明的专利保护范围。关于本发明所界定的保护范围请参考所附的权利要求。
Claims (8)
1.一种快闪存储器烧录方法,其特征在于,该方法包含:
自一快闪存储器载入一启动载入程序,该快闪存储器包含至少一不可用区块,且该快闪存储器被写入有一映像文件,该映像文件具有多个分区,所述分区其中之一包含该启动载入程序的程序代码;以及
判断该快闪存储器是否存储有一动态分区表;
其中当该快闪存储器没有存储该动态分区表时,依据所述分区的长度和所述至少一不可用区块于该快闪存储器中的分布,建立该动态分区表。
2.根据权利要求1所述的快闪存储器烧录方法,其特征在于,该方法还包含指示将该映像文件写入该快闪存储器。
3.根据权利要求2所述的快闪存储器烧录方法,其特征在于,该快闪存储器还包含多个可用区块,指示将该映像文件写入该快闪存储器的步骤指示一烧录器将所述分区写入至少部分的所述可用区块。
4.根据权利要求3所述的快闪存储器烧录方法,其特征在于,该动态分区表记录有所述分区中一第一分区被写入的所述可用区块中一第一可用区块于该快闪存储器中的一第一地址和所述分区中接续该第一分区的一第二分区被写入的所述可用区块中一第二可用区块于该快闪存储器中的一第二地址,且建立该动态分区表的步骤包含依据该第一地址、该第一分区的长度以及所述至少一不可用区块于该第一可用区块与该第二可用区块间的数量,计算该第二地址。
5.根据权利要求3所述的快闪存储器烧录方法,其特征在于,建立该动态分区表的步骤包含将该动态分区表写入所述可用区块其中之一。
6.根据权利要求5所述的快闪存储器烧录方法,其特征在于,将该动态分区表写入所述可用区块其中之一的步骤是以页为单位将该动态分区表写入所述可用区块中一可用区块的末端。
7.根据权利要求3所述的快闪存储器烧录方法,其特征在于,该动态分区表关联于一预定义值,且判断该快闪存储器是否存储有该动态分区表的步骤是判断所述可用区块其中之一是否存储有该预定义值。
8.根据权利要求1所述的快闪存储器烧录方法,其特征在于,建立该动态分区表的步骤包含计算关联于该动态分区表的一验证值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102148861 | 2013-12-27 | ||
TW102148861A TWI515733B (zh) | 2013-12-27 | 2013-12-27 | 快閃記憶體燒錄方法與電腦可讀取媒體 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104751881A true CN104751881A (zh) | 2015-07-01 |
CN104751881B CN104751881B (zh) | 2018-01-05 |
Family
ID=53591435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410014463.3A Active CN104751881B (zh) | 2013-12-27 | 2014-01-13 | 快闪存储器烧录方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104751881B (zh) |
TW (1) | TWI515733B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106339246A (zh) * | 2016-08-31 | 2017-01-18 | 福建联迪商用设备有限公司 | 一种用于nandflash生产阶段的烧写方法及其烧写系统 |
CN111124433A (zh) * | 2018-10-31 | 2020-05-08 | 华北电力大学扬中智能电气研究中心 | 程序烧写设备、系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100082962A1 (en) * | 2008-10-01 | 2010-04-01 | Novell, Inc. | Flash memory device for booting a computing device including embedded general purpose operating system |
CN101789265A (zh) * | 2009-12-31 | 2010-07-28 | 芯通科技(成都)有限公司 | 一种对PowerPC系统FLASH快速编程的方法 |
CN102520981A (zh) * | 2011-11-24 | 2012-06-27 | 深圳市路畅科技有限公司 | 一种基于inand/nand的多分区存储设备的生产方法 |
CN102999436A (zh) * | 2012-11-28 | 2013-03-27 | 华为终端有限公司 | 在Nand闪存中生成动态分区信息的方法和装置 |
CN103064710A (zh) * | 2012-12-26 | 2013-04-24 | 深圳市诺威达科技有限公司 | 一种flash烧录方法和装置 |
-
2013
- 2013-12-27 TW TW102148861A patent/TWI515733B/zh active
-
2014
- 2014-01-13 CN CN201410014463.3A patent/CN104751881B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100082962A1 (en) * | 2008-10-01 | 2010-04-01 | Novell, Inc. | Flash memory device for booting a computing device including embedded general purpose operating system |
CN101789265A (zh) * | 2009-12-31 | 2010-07-28 | 芯通科技(成都)有限公司 | 一种对PowerPC系统FLASH快速编程的方法 |
CN102520981A (zh) * | 2011-11-24 | 2012-06-27 | 深圳市路畅科技有限公司 | 一种基于inand/nand的多分区存储设备的生产方法 |
CN102999436A (zh) * | 2012-11-28 | 2013-03-27 | 华为终端有限公司 | 在Nand闪存中生成动态分区信息的方法和装置 |
CN103064710A (zh) * | 2012-12-26 | 2013-04-24 | 深圳市诺威达科技有限公司 | 一种flash烧录方法和装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106339246A (zh) * | 2016-08-31 | 2017-01-18 | 福建联迪商用设备有限公司 | 一种用于nandflash生产阶段的烧写方法及其烧写系统 |
CN111124433A (zh) * | 2018-10-31 | 2020-05-08 | 华北电力大学扬中智能电气研究中心 | 程序烧写设备、系统及方法 |
CN111124433B (zh) * | 2018-10-31 | 2024-04-02 | 华北电力大学扬中智能电气研究中心 | 程序烧写设备、系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104751881B (zh) | 2018-01-05 |
TWI515733B (zh) | 2016-01-01 |
TW201526005A (zh) | 2015-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102385535B (zh) | 处理从非易失性存储器进行设备引导期间的错误 | |
CN102750191B (zh) | 用于启动固态非易失性存储设备内的刷新操作的方法 | |
CN105144074B (zh) | 使用混合存储器设备的块存储 | |
CN103761124B (zh) | 用于保护测控装置的嵌入式Linux系统启动方法 | |
CN106776122A (zh) | 一种基于Flash启动过程中主备保护的方法 | |
CN109086079B (zh) | 一种存储设备挂载管理方法及装置 | |
CN108874582A (zh) | 一种系统恢复方法、装置及终端 | |
CN107168750B (zh) | 一种固件升级保护方法及系统 | |
US20130080751A1 (en) | Method and device for updating bios program for computer system | |
US9786373B2 (en) | EEPROM backup method and device | |
CN108304140B (zh) | 闪存数据管理方法、装置及微控制器 | |
CN103455750B (zh) | 一种嵌入式设备的高安验证方法及装置 | |
CN104751881A (zh) | 快闪存储器烧录方法 | |
US20140025870A1 (en) | Computer reprogramming method, data storage medium and motor vehicle computer | |
US11989418B2 (en) | Method and apparatus for upgrading SSD firmware compatible with raid SSD and non-raid | |
CN104484211A (zh) | 共享镜像文件的方法及装置 | |
CN110928570A (zh) | 一种固件升级的方法及装置、可读存储介质 | |
CN104575605B (zh) | 存储器装置及使用非易失性存储器对系统进行开机的方法 | |
CN102799496A (zh) | 一种与非型闪存操作系统内核和文件系统校验方法及装置 | |
CN115951920A (zh) | 移动设备升级方法、装置、存储单元和移动设备 | |
CN104750617A (zh) | 电子装置及其数据维护方法 | |
US20170131946A1 (en) | Method and device for formatting storage of mobile terminal | |
CN105278993A (zh) | 一种基于Linux系统的驱动模块升级方法及装置 | |
CN113672260A (zh) | 一种处理器cpu初始化方法 | |
CN108628699B (zh) | 一种基于ecc的flash数据异常处理方法及装置 |
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 |