CN110297604A - 一种有效提高nand启动使用寿命的方法及其系统 - Google Patents

一种有效提高nand启动使用寿命的方法及其系统 Download PDF

Info

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
Application number
CN201910560934.3A
Other languages
English (en)
Inventor
刘坚
冯元元
臧鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Union Memory Information System Co Ltd
Original Assignee
Shenzhen Union Memory Information System Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Union Memory Information System Co Ltd filed Critical Shenzhen Union Memory Information System Co Ltd
Priority to CN201910560934.3A priority Critical patent/CN110297604A/zh
Publication of CN110297604A publication Critical patent/CN110297604A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-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启动使用寿命的方法及其系统。
背景技术
芯片使用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中读取的引导程序是否校验成功。
CN201910560934.3A 2019-06-26 2019-06-26 一种有效提高nand启动使用寿命的方法及其系统 Pending CN110297604A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113312071A (zh) * 2021-06-10 2021-08-27 山东英信计算机技术有限公司 一种ssd设备固件升级方法及相关装置

Citations (4)

* Cited by examiner, † Cited by third party
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 深圳忆联信息系统有限公司 一种利用硬件备份固态硬盘写速度的方法及其系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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