CN110297604A - 一种有效提高nand启动使用寿命的方法及其系统 - Google Patents
一种有效提高nand启动使用寿命的方法及其系统 Download PDFInfo
- Publication number
- CN110297604A CN110297604A CN201910560934.3A CN201910560934A CN110297604A CN 110297604 A CN110297604 A CN 110297604A CN 201910560934 A CN201910560934 A CN 201910560934A CN 110297604 A CN110297604 A CN 110297604A
- Authority
- CN
- China
- Prior art keywords
- address
- unit
- reading
- firmware
- service life
- 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
- 238000000034 method Methods 0.000 title claims abstract description 18
- 239000002245 particle Substances 0.000 claims abstract description 15
- 238000012795 verification Methods 0.000 claims abstract description 14
- 238000012986 modification Methods 0.000 claims description 7
- 230000004048 modification Effects 0.000 claims description 7
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 239000007787 solid Substances 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种有效提高NAND启动使用寿命的方法及其系统;其中,方法,包括:S1,芯片启动,完成初始化;S2,从NAND颗粒固定地址X0中读取固件的地址信息;S3,判断读取是否成功;若是,进入S5;若否,则进入S4;S4,选取固定地址X0的下一个固定地址Xn进行读取,并返回S3;S5,从读出的地址中读取引导程序,并进行校验;S6,判断校验是否成功;若是,进入S7;若否,则返回S4;S7,运行固件。本发明通过两级映射,将读取的固定地址做多个备份,并将固件与存储地址分开,从而减少NAND颗粒对相同地址的反复擦写,以提高芯片NAND启动的使用寿命,延长固态硬盘的使用时间。
Description
技术领域
本发明涉及固态硬盘NAND启动技术领域,更具体地说是指一种有效提高NAND启动使用寿命的方法及其系统。
背景技术
芯片使用Nand FLASH启动在固态硬盘中有着广泛的应用,它不仅启动速度快,而且还降低了固态硬盘的成本。传统的固态硬盘启动时,芯片会从NAND FLASH的固定地址读取固件,但是,若长期的从固定地址读取数据或者固件不断地更新,会使得该地址的损耗更加严重,由于NAND FLASH的读写次数是有限的,随着时间的推移,NAND启动失败的风险大大增加,使得固态硬盘的使用寿命大大减少;因此,无法满足需求。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种有效提高NAND启动使用寿命的方法及其系统。
为实现上述目的,本发明采用于下技术方案:
一种有效提高NAND启动使用寿命的方法,包括以下步骤:
S1,芯片启动,完成初始化;
S2,从NAND颗粒固定地址X0中读取固件的地址信息;
S3,判断读取是否成功;若是,进入S5;若否,则进入S4;
S4,选取固定地址X0的下一个固定地址Xn进行读取,并返回S3;
S5,从读出的地址中读取引导程序,并进行校验;
S6,判断校验是否成功;若是,进入S7;若否,则返回S4;
S7,运行固件。
其进一步技术方案为:所述S1包括:
S11,进行芯片启动;
S12,完成初始化。
其进一步技术方案为:所述S4之后,还包括:判断下一个固定地址Xn是否为最后一个固定地址;若是,返回S3;若否,则选取下一个固定地址Xn的后续地址进行读取,并返回S3。
其进一步技术方案为:所述S4之后,还包括:判断固定地址Xn是否读取成功;若是,进入S5;若否,则对存储固件的位置进行修改。
其进一步技术方案为:所述S5之后,还包括:判断从固定地址Xn中读取的引导程序是否校验成功;若是,运行固件;若否,则对存储固件的位置进行修改。
其进一步技术方案为:所述Xn中的n至少大于等于2。
一种有效提高NAND启动使用寿命的系统,包括:启动完成单元,读取单元,第一判断单元,选取单元,校验单元,第二判断单元,及运行单元;
所述启动完成单元,用于芯片启动,完成初始化;
所述读取单元,用于从NAND颗粒固定地址X0中读取固件的地址信息;
所述第一判断单元,用于判断读取是否成功;
所述选取单元,用于选取固定地址X0的下一个固定地址进行读取;
所述校验单元,用于从读出的地址中读取引导程序,并进行校验;
所述第二判断单元,用于判断校验是否成功;
所述运行单元,用于运行固件。
其进一步技术方案为:所述启动完成单元包括启动模块和完成模块;
所述启动模块,用于芯片启动;
所述完成模块,用于完成芯片初始化。
其进一步技术方案为:还包括第三判断单元,用于判断下一个固定地址Xn是否为最后一个固定地址。
其进一步技术方案为:还包括:第四判断单元和第五判断单元;
所述第四判断单元,用于判断固定地址Xn是否读取成功;
所述第五判断单元,用于判断从固定地址Xn中读取的引导程序是否校验成功。
本发明与现有技术相比的有益效果是:通过采用两级存储映射来降低nandflash颗粒的损耗,第一级存储,存储着第二级存储的地址信息;第二级储存,存储着启动的固件信息;当固态硬盘启动后,先从第一级存储地址读取到固件的存储地址,然后再从这个地址读取出固件,从而完成固态硬盘的启动,其中,一、第一级由多个地址组成,当从某个固定地址启动失败以后,则会从另一个地址读取启动文件的地址信息,这样,多个地址的备份,防止了某个地址出错的风险;二、第一级只存储着固件的地址信息,固件信息则存储在第二级存储中。这样,固件可以多次修改,而指示固件地址信息的第一级存储的修改次数大大减少,从而降低了某段地址被过多的读写,即使使用寿命到期后,也可通过修改第一级存储的内容来重新分配新的地址存储固件,更好地满足需求。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
图1为现有Nand启动从固定地址读取固件的示意图;
图2为现有NAND颗粒从固定地址读取固件的流程示意图;
图3为本发明一种有效提高NAND启动使用寿命的方法流程图;
图4为图3的应用示意图;
图5为本发明一种有效提高NAND启动使用寿命的系统方框图。
具体实施方式
为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案进一步介绍和说明,但不局限于此。
如图1到图5所示的具体实施例,其中,如图1至图2所示的现有技术,如图1所示,当芯片启动后,bootrom(芯片)从NAND颗粒的固定地址读取固件,固定地址在bootorm中已经预先确定好了,无法修改,这使得芯片在未来的使用过程中,出现失败的概率大大增加;因为地址固定,无法修改,当多次读取或烧写该地址后,会使得NAND颗粒的损耗加大,而颗粒的读写次数是有限的,如果次数过多时,寿命将大大减少,最终影响到芯片的启动和固态硬盘的使用寿命。
其中,如图2所示,一直从NAND颗粒固定地址读取固件,会使得固定地址的损耗大大增加,时间长了之后就会出现失败,即使纠错也无法挽回,最后导致固态硬盘无法使用,甚至提前结束使用寿命周期。
其中,如图3至图4所示,本发明公开了一种有效提高NAND启动使用寿命的方法,包括以下步骤:
S1,芯片启动,完成初始化;
S2,从NAND颗粒固定地址X0中读取固件的地址信息;
S3,判断读取是否成功;若是,进入S5;若否,则进入S4;
S4,选取固定地址X0的下一个固定地址Xn进行读取,并返回S3;
S5,从读出的地址中读取引导程序,并进行校验;
S6,判断校验是否成功;若是,进入S7;若否,则返回S4;
S7,运行固件。
其中,所述S1包括:
S11,进行芯片启动;
S12,完成初始化。
其中,所述S4之后,还包括:判断下一个固定地址Xn是否为最后一个固定地址;若是,返回S3;若否,则选取下一个固定地址Xn的后续地址进行读取,并返回S3。
进一步地,所述S4之后,还包括:判断固定地址Xn是否读取成功;若是,进入S5;若否,则对存储固件的位置进行修改。
更进一步地,所述S5之后,还包括:判断从固定地址Xn中读取的引导程序是否校验成功;若是,运行固件;若否,则对存储固件的位置进行修改。
其中,在本实施例中,所述Xn中的n至少大于等于2。
其中,如图4所示,芯片先从固定地址X0读取固件的存储地址0,然后从固件的存储地址0读取固件,当失败时,则从固定地址X1读取固件的地址1,再从固件的存储地址1读取固件;如此往复,直到读取到正确固件或者失败;若失败的原因是由读取固件失败引起的,则可通过修改存储固件地址,即固定地址里的内容,重新指到新的地址,并在新的地址烧写固件。
如图5所示,本发明还公开了一种有效提高NAND启动使用寿命的系统,包括:启动完成单元10,读取单元20,第一判断单元30,选取单元40,校验单元50,第二判断单元60,及运行单元70;
所述启动完成单元10,用于芯片启动,完成初始化;
所述读取单元20,用于从NAND颗粒固定地址X0中读取固件的地址信息;
所述第一判断单元30,用于判断读取是否成功;
所述选取单元40,用于选取固定地址X0的下一个固定地址进行读取;
所述校验单元50,用于从读出的地址中读取引导程序,并进行校验;
所述第二判断单元60,用于判断校验是否成功;
所述运行单元70,用于运行固件。
其中,所述启动完成单元10包括启动模块11和完成模块12;
所述启动模块11,用于芯片启动;
所述完成模块12,用于完成芯片初始化。
其中,该系统还包括第三判断单元80,用于判断下一个固定地址Xn是否为最后一个固定地址。
其中,还包括:第四判断单元90和第五判断单元100;
所述第四判断单元90,用于判断固定地址Xn是否读取成功;
所述第五判断单元100,用于判断从固定地址Xn中读取的引导程序是否校验成功。
其中,本发明通过采用两级存储映射来降低nand flash颗粒的损耗,第一级存储,存储着第二级存储的地址信息;第二级储存,存储着启动的固件信息;当固态硬盘启动后,先从第一级存储地址读取到固件的存储地址,然后再从这个地址读取出固件,从而完成固态硬盘的启动,其中,一、第一级由多个地址组成,当从某个固定地址启动失败以后,则会从另一个地址读取启动文件的地址信息,这样,多个地址的备份,防止了某个地址出错的风险;二、第一级只存储着固件的地址信息,固件信息则存储在第二级存储中。这样,固件可以多次修改,而指示固件地址信息的第一级存储的修改次数大大减少,从而降低了某段地址被过多的读写,即使使用寿命到期后,也可通过修改第一级存储的内容来重新分配新的地址存储固件,更好地满足需求。
上述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。
Claims (10)
1.一种有效提高NAND启动使用寿命的方法,其特征在于,包括以下步骤:
S1,芯片启动,完成初始化;
S2,从NAND颗粒固定地址X0中读取固件的地址信息;
S3,判断读取是否成功;若是,进入S5;若否,则进入S4;
S4,选取固定地址X0的下一个固定地址Xn进行读取,并返回S3;
S5,从读出的地址中读取引导程序,并进行校验;
S6,判断校验是否成功;若是,进入S7;若否,则返回S4;
S7,运行固件。
2.根据权利要求1所述的一种有效提高NAND启动使用寿命的方法,其特征在于,所述S1包括:
S11,进行芯片启动;
S12,完成初始化。
3.根据权利要求1所述的一种有效提高NAND启动使用寿命的方法,其特征在于,所述S4之后,还包括:判断下一个固定地址Xn是否为最后一个固定地址;若是,返回S3;若否,则选取下一个固定地址Xn的后续地址进行读取,并返回S3。
4.根据权利要求3所述的一种有效提高NAND启动使用寿命的方法,其特征在于,所述S4之后,还包括:判断固定地址Xn是否读取成功;若是,进入S5;若否,则对存储固件的位置进行修改。
5.根据权利要求4所述的一种有效提高NAND启动使用寿命的方法,其特征在于,所述S5之后,还包括:判断从固定地址Xn中读取的引导程序是否校验成功;若是,运行固件;若否,则对存储固件的位置进行修改。
6.根据权利要求4所述的一种有效提高NAND启动使用寿命的方法,其特征在于,所述Xn中的n至少大于等于2。
7.一种有效提高NAND启动使用寿命的系统,其特征在于,包括:启动完成单元,读取单元,第一判断单元,选取单元,校验单元,第二判断单元,及运行单元;
所述启动完成单元,用于芯片启动,完成初始化;
所述读取单元,用于从NAND颗粒固定地址X0中读取固件的地址信息;
所述第一判断单元,用于判断读取是否成功;
所述选取单元,用于选取固定地址X0的下一个固定地址进行读取;
所述校验单元,用于从读出的地址中读取引导程序,并进行校验;
所述第二判断单元,用于判断校验是否成功;
所述运行单元,用于运行固件。
8.根据权利要求7所述的一种有效提高NAND启动使用寿命的系统,其特征在于于,所述启动完成单元包括启动模块和完成模块;
所述启动模块,用于芯片启动;
所述完成模块,用于完成芯片初始化。
9.根据权利要求7所述的一种有效提高NAND启动使用寿命的系统,其特征在于,还包括第三判断单元,用于判断下一个固定地址Xn是否为最后一个固定地址。
10.根据权利要求9所述的一种有效提高NAND启动使用寿命的系统,其特征在于,还包括:第四判断单元和第五判断单元;
所述第四判断单元,用于判断固定地址Xn是否读取成功;
所述第五判断单元,用于判断从固定地址Xn中读取的引导程序是否校验成功。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910560934.3A CN110297604A (zh) | 2019-06-26 | 2019-06-26 | 一种有效提高nand启动使用寿命的方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910560934.3A CN110297604A (zh) | 2019-06-26 | 2019-06-26 | 一种有效提高nand启动使用寿命的方法及其系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110297604A true CN110297604A (zh) | 2019-10-01 |
Family
ID=68028996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910560934.3A Pending CN110297604A (zh) | 2019-06-26 | 2019-06-26 | 一种有效提高nand启动使用寿命的方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110297604A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312071A (zh) * | 2021-06-10 | 2021-08-27 | 山东英信计算机技术有限公司 | 一种ssd设备固件升级方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944051A (zh) * | 2010-09-29 | 2011-01-12 | 山东大学 | 片上多备份的高可靠嵌入式系统固件及其工作方法 |
CN102135927A (zh) * | 2011-04-29 | 2011-07-27 | 杭州华三通信技术有限公司 | 一种基于nand flash的系统引导方法和装置 |
US20130254463A1 (en) * | 2012-03-23 | 2013-09-26 | Kabushiki Kaisha Toshiba | Memory system |
CN109086168A (zh) * | 2018-07-13 | 2018-12-25 | 深圳忆联信息系统有限公司 | 一种利用硬件备份固态硬盘写速度的方法及其系统 |
-
2019
- 2019-06-26 CN CN201910560934.3A patent/CN110297604A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944051A (zh) * | 2010-09-29 | 2011-01-12 | 山东大学 | 片上多备份的高可靠嵌入式系统固件及其工作方法 |
CN102135927A (zh) * | 2011-04-29 | 2011-07-27 | 杭州华三通信技术有限公司 | 一种基于nand flash的系统引导方法和装置 |
US20130254463A1 (en) * | 2012-03-23 | 2013-09-26 | Kabushiki Kaisha Toshiba | Memory system |
CN109086168A (zh) * | 2018-07-13 | 2018-12-25 | 深圳忆联信息系统有限公司 | 一种利用硬件备份固态硬盘写速度的方法及其系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312071A (zh) * | 2021-06-10 | 2021-08-27 | 山东英信计算机技术有限公司 | 一种ssd设备固件升级方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101650662B (zh) | 一种嵌入式系统的存储器件的固件启动及升级方法 | |
US8694766B2 (en) | Device bootup from a NAND-type non-volatile memory | |
EP1635261B1 (en) | Memory with embedded error correction code circuit | |
US20110029726A1 (en) | Data updating method, memory system and memory device | |
JP4534498B2 (ja) | 半導体装置およびその起動処理方法 | |
US9086961B2 (en) | Repair method and device for abnormal-erase memory block of non-volatile flash memory | |
US20080162789A1 (en) | Memory system with backup circuit and programming method | |
CN102637461B (zh) | 支持坏块闪存扫描的启动方法 | |
CN104461657A (zh) | 一种主备嵌入式引导程序的启动方法及装置 | |
CN103778964B (zh) | 一种NAND Flash烧写数据的处理、使用方法及装置、系统 | |
US20090037646A1 (en) | Method of using a flash memory for a circular buffer | |
CN109165115B (zh) | 一种增强flash存储器可靠性的方法 | |
CN102890656A (zh) | 提高flash使用寿命的方法 | |
CN101000569A (zh) | 一种对多重扇区进行错误修正编码的方法 | |
US20140164724A1 (en) | Method and apparatus for processing system command during memory backup | |
CN105760165A (zh) | 一种mcu自我备份加载刷新的方法 | |
CN102929740A (zh) | 检测存储设备坏块的方法和装置 | |
US20040250177A1 (en) | Flash memory device with fast reading rate | |
CN110297604A (zh) | 一种有效提高nand启动使用寿命的方法及其系统 | |
JP2007094921A (ja) | メモリカードとその制御方法 | |
US7962683B2 (en) | Flash memory, and method for operating a flash memory | |
CN107402843A (zh) | 数据库损坏的恢复方法、装置和设备 | |
US20070237007A1 (en) | Memory controller | |
CN112802534A (zh) | 一种电子雷管芯片自动纠错数据存储方法 | |
CN107168650B (zh) | 一种对bios的存储器中的数据的处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191001 |
|
RJ01 | Rejection of invention patent application after publication |