CN110471620B - 一种闪存的数据引导方法和装置以及设备 - Google Patents

一种闪存的数据引导方法和装置以及设备 Download PDF

Info

Publication number
CN110471620B
CN110471620B CN201910615517.4A CN201910615517A CN110471620B CN 110471620 B CN110471620 B CN 110471620B CN 201910615517 A CN201910615517 A CN 201910615517A CN 110471620 B CN110471620 B CN 110471620B
Authority
CN
China
Prior art keywords
flash memory
data
module
address
storage device
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.)
Active
Application number
CN201910615517.4A
Other languages
English (en)
Other versions
CN110471620A (zh
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 Demingli Electronics Co Ltd
Original Assignee
Shenzhen Demingli Electronics 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 Demingli Electronics Co Ltd filed Critical Shenzhen Demingli Electronics Co Ltd
Priority to CN201910615517.4A priority Critical patent/CN110471620B/zh
Publication of CN110471620A publication Critical patent/CN110471620A/zh
Application granted granted Critical
Publication of CN110471620B publication Critical patent/CN110471620B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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
    • 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/0638Organizing or formatting or addressing of data
    • 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)
  • Read Only Memory (AREA)

Abstract

本发明公开了一种闪存的数据引导方法和装置以及设备。其中,所述方法包括:记录下来的用于读取第一级数据表的地址的完整读命令序列,通过量产工具写入设置的存储器件的指定位置,和在闪存上电之后,控制闪存的主控从该指定位置读取数据,和将该读取的数据作为命令序列发送给闪存,以及使闪存的主控根据该作为命令序列发送给闪存的数据,从而可以读取对应该闪存地址存储的数据即获取该闪存地址存储的第一级数据表。通过上述方式,能够实现无需进行任何搜索,就获得写入闪存的所有数据结构,方便快捷,同时又可避免量产时写入数据结构的过程碰到坏页而导致量产失败,从而保障闪存的正常量产。

Description

一种闪存的数据引导方法和装置以及设备
技术领域
本发明涉及存储技术领域,尤其涉及一种闪存的数据引导方法和装置以及设备。
背景技术
现有的以NF(Nand Flash,闪存)作为存储介质的各种存储设备,诸如U盘(Universal Serial Busflash disk,通用串行总线闪存盘)、SD(Secure Digital MemoryCard,安全数码卡)卡等,在上电引导的时候控制器是无法获知闪存Nand Flash型号的,自然无法知悉其操作参数,所以在上电之后是需要通过很多的尝试来获取闪存Nand Flash的参数,直至获取控制整个设备的所有数据结构。
这些以闪存作为存储介质的各种存储设备在量产的时候由PC(PersonalComputer,个人计算机)端量产工具将主控需要用到的所有数据结构写进闪存Nand Flash中的特定位置,该特定位置通常是一组预设的页地址或者是经过一个固定算法生成的一组页地址,在使用过程中,这些存储设备上电之后通过设备控制器自行搜索获得。整个搜索过程是由一系列的读操作完成的,这其中首先就需要通过尝试来获得闪存Nand Flash的完整的读命令,然后再通过搜索上述的特定位置从而依次获得量产工具预先写入其中的所有数据结构。
该整个搜索过程繁琐而且耗时,最关键的是无论是预设的一组页地址又或者是经过一个固定算法生成的一组页地址,在理论上都存在着全可能是坏页的情况,这是由闪存Nand Flash的结构和良率决定的,毕竟该两种途径获得的地址在固件确定后就都是固定的。在这种情况下,哪怕是其它所有的页或者块全都是好的,这也会导致这颗闪存NandFlash无法量产。
但是,发明人发现现有技术中至少存在如下问题:
现有的闪存的数据引导方案,一般是由一系列的读操作完成的,这其中首先就需要通过尝试来获得闪存的完整的读命令,然后再通过搜索特定位置的数据,该特定位置通常是一组预设的页地址或者是经过一个固定算法生成的一组页地址,从而依次获得量产工具预先写入闪存的所有数据结构,该搜索特定位置的数据的过程繁琐又耗时,而且该特定位置的所包含的所有页存在着可能全是坏页的情况,导致闪存无法正常量产。
发明内容
有鉴于此,本发明的目的在于提出一种闪存的数据引导方法和装置以及设备,能够实现无需进行任何搜索,就获得写入闪存的所有数据结构,方便快捷,同时又可避免量产时写入数据结构的过程碰到坏页而导致量产失败,从而保障闪存的正常量产。
根据本发明的一个方面,提供一种闪存的数据引导方法,包括:
在闪存的主控外围设置存储器件;
在闪存量产时,通过量产工具对闪存进行初始化扫描得到扫描结果;
将所述扫描得到的扫描结果整理成数据结构;
将所述整理成的数据结构采用链表的结构方式,写进闪存的任意的有效位置;
将所述采用的链表的结构方式对应的链表第一级的地址记录下来;
将所述记录下来的用于读取第一级数据表的地址的完整读命令序列,通过量产工具写入所述设置的存储器件的指定位置;
在闪存上电之后,控制闪存的主控从所述设置的存储器件的指定位置读取数据;其中,所述读取的数据是所述记录下来的链表第一级的地址的完整读命令序列;
将所述读取的数据作为命令序列发送给闪存;
使闪存的主控根据所述作为命令序列发送给闪存的数据,从而可以读取对应所述闪存地址存储的数据即获取所述闪存地址存储的第一级数据表。
其中,所述在闪存的主控外围设置存储器件,包括:
在设计闪存的主控时,在闪存的主控外围设置存储器件。
其中,所述将所述记录下来的用于读取第一级数据表的地址的完整读命令序列以数据的方式,通过量产工具写入所述设置的存储器件的指定位置,包括:
将所述记录下来的用于读取第一级数据表的地址的完整读命令序列以数据的方式,通过量产工具写入所述设置的存储器件的指定位置。
其中,在所述使闪存的主控根据所述作为命令序列发送给闪存的数据,从而可以读取对应所述闪存地址存储的数据即获取所述闪存地址存储的第一级数据表之后,还包括:
在所述获取的所述写入所述设置的存储器件的所有数据结构对应的数据出现坏页的情况或者坏块的情况时,采用关联所述所有数据结构的正确数据结构数据重新写入所述设置的存储器件。
根据本发明的另一个方面,提供一种闪存的数据引导装置,包括:
设置模块、扫描模块、整理模块、写进模块、记录模块、写入模块、控制模块、发送模块和获取模块;
所述设置模块,用于在闪存的主控外围设置存储器件;
所述扫描模块,用于在闪存量产时,通过量产工具对闪存进行初始化扫描得到扫描结果;
所述整理模块,用于将所述扫描得到的扫描结果整理成数据结构;
所述写进模块,用于将所述整理成的数据结构采用链表的结构方式,写进闪存的任意的有效位置;
所述记录模块,用于将所述采用的链表的结构方式对应的链表第一级的地址记录下来;
所述写入模块,用于将所述记录下来的用于读取第一级数据表的地址的完整读命令序列,通过量产工具写入所述设置的存储器件的指定位置;
所述控制模块,用于在闪存上电之后,控制闪存的主控从所述设置的存储器件的指定位置读取数据;其中,所述读取的数据是所述记录下来的链表第一级的地址的完整读命令序列;
所述发送模块,用于将所述读取的数据作为命令序列发送给闪存;
所述获取模块,用于使闪存的主控根据所述作为命令序列发送给闪存的数据,从而可以读取对应所述闪存地址存储的数据即获取所述闪存地址存储的第一级数据表。
其中,所述设置模块,具体用于:
在设计闪存的主控时,在闪存的主控外围设置存储器件。
其中,所述写入模块,具体用于:
将所述记录下来的用于读取第一级数据表的地址的完整读命令序列以数据的方式,通过量产工具写入所述设置的存储器件的指定位置。
其中,所述闪存的数据引导装置,还包括:
重新写入模块,用于在所述获取的所述写入所述设置的存储器件的所有数据结构对应的数据出现坏页的情况或者坏块的情况时,采用关联所述所有数据结构的正确数据结构数据重新写入所述设置的存储器件。
根据本发明的又一个方面,提供一种闪存的数据引导设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一项所述的闪存的数据引导方法。
根据本发明的再一个方面,提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的闪存的数据引导方法。
可以发现,以上方案,可以在闪存的主控外围设置存储器件,和在闪存量产时,通过量产工具对闪存进行初始化扫描得到扫描结果,和将该扫描得到的扫描结果整理成数据结构,和将该整理成的数据结构采用链表的结构方式,写进闪存的任意的有效位置,和将该采用的链表的结构方式对应的链表第一级的地址记录下来,和将该记录下来的用于读取第一级数据表的地址的完整读命令序列,通过量产工具写入该设置的存储器件的指定位置,和在闪存上电之后,控制闪存的主控从该设置的存储器件的指定位置读取数据,其中,该读取的数据是该记录下来的链表第一级的地址的完整读命令序列,和将该读取的数据作为命令序列发送给闪存,以及使闪存的主控根据该作为命令序列发送给闪存的数据,从而可以读取对应该闪存地址存储的数据即获取该闪存地址存储的第一级数据表,能够实现无需进行任何搜索,就可以获得写入闪存的所有数据结构,方便快捷,同时又可避免量产时写入数据结构的过程碰到坏页而导致量产失败,从而保障闪存的正常量产。
进一步的,以上方案,可以在设计闪存的主控时,在闪存的主控外围设置存储器件,这样的好处是可以降低闪存的生产成本,并减少外围电路和输入/输出的使用。
进一步的,以上方案,可以将该记录下来的用于读取第一级数据表的地址的完整读命令序列以数据的方式,通过量产工具写入该设置的存储器件的指定位置,这样的好处是该以数据的方式写入到该设置的存储器件的指定位置的完整读命令序列是闪存的关键数据,能够提高闪存的可靠性,一定程度上提高了闪存的主控对于后续更新的闪存产品的支持能力。
进一步的,以上方案,可以在该获取的该写入该设置的存储器件的所有数据结构对应的数据出现坏页的情况或者坏块的情况时,采用关联该所有数据结构的正确数据结构数据重新写入该设置的存储器件,这样的好处是能够避免写入闪存的所有数据结构对应的数据出现坏页的情况或者坏块的情况,保障闪存的正常量产。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明闪存的数据引导方法一实施例的流程示意图;
图2是本发明闪存的数据引导方法另一实施例的流程示意图;
图3是本发明闪存的数据引导装置一实施例的结构示意图;
图4是本发明闪存的数据引导装置另一实施例的结构示意图;
图5是本发明闪存的数据引导设备一实施例的结构示意图。
具体实施方式
下面结合附图和实施例,对本发明作进一步的详细描述。特别指出的是,以下实施例仅用于说明本发明,但不对本发明的范围进行限定。同样的,以下实施例仅为本发明的部分实施例而非全部实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明提供一种闪存的数据引导方法,能够实现无需进行任何搜索,就可以获得写入闪存的所有数据结构,方便快捷,同时又可避免量产时写入数据结构的过程碰到坏页而导致量产失败,从而保障闪存的正常量产。
请参见图1,图1是本发明闪存的数据引导方法一实施例的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图1所示的流程顺序为限。如图1所示,该方法包括如下步骤:
S101:在闪存的主控外围设置存储器件。
其中,该在闪存的主控外围设置存储器件,可以包括:
在设计闪存的主控时,在闪存的主控外围设置存储器件,这样的好处是可以降低闪存的生产成本,并减少外围电路和IO(Input/Output,输入/输出)的使用。
在本实施例中,该设置的存储器件可以是OTP(One Time Programable,一次性可编程)存储器,也可以是通用串行总线闪存盘,还可以是安全数码卡,又可以是EEPROM(Electrically Erasable Programmable read only memory,带电可擦可编程只读存储器),本发明不加以限定。
S102:在闪存量产时,通过量产工具对闪存进行初始化扫描得到扫描结果。
S103:将该扫描得到的扫描结果整理成数据结构。
S104:将该整理成的数据结构采用链表的结构方式,写进闪存的任意的有效位置。
S105:将该采用的链表的结构方式对应的链表第一级的地址记录下来。
S106:将该记录下来的用于读取第一级数据表的地址的完整读命令序列,通过量产工具写入该设置的存储器件的指定位置。
其中,该将该记录下来的用于读取第一级数据表的地址的完整读命令序列以数据的方式,通过量产工具写入该设置的存储器件的指定位置,可以包括:将该记录下来的用于读取第一级数据表的地址的完整读命令序列以数据的方式,通过量产工具写入该设置的存储器件的指定位置,这样的好处是该以数据的方式写入到该设置的存储器件的指定位置的完整读命令序列是闪存的关键数据,能够提高闪存的可靠性,一定程度上提高了闪存的主控对于后续更新的闪存产品的支持能力。
S107:在闪存上电之后,控制闪存的主控从该设置的存储器件的指定位置读取数据;其中,该读取的数据是该记录下来的链表第一级的地址的完整读命令序列。
S108:将该读取的数据作为命令序列发送给闪存。
S109:使闪存的主控根据该作为命令序列发送给闪存的数据,从而可以读取对应该闪存地址存储的数据即获取该闪存地址存储的第一级数据表。
其中,在该使闪存的主控根据该作为命令序列发送给闪存的数据,从而可以读取对应该闪存地址存储的数据即获取该闪存地址存储的第一级数据表之后,还可以包括:在该获取的该写入该设置的存储器件的所有数据结构对应的数据出现坏页的情况或者坏块的情况时,采用关联该所有数据结构的正确数据结构数据重新写入该设置的存储器件,这样的好处是能够避免写入闪存的所有数据结构对应的数据出现坏页的情况或者坏块的情况,保障闪存的正常量产。
可以发现,在本实施例中,可以在闪存的主控外围设置存储器件,和在闪存量产时,通过量产工具对闪存进行初始化扫描得到扫描结果,和将该扫描得到的扫描结果整理成数据结构,和将该整理成的数据结构采用链表的结构方式,写进闪存的任意的有效位置,和将该采用的链表的结构方式对应的链表第一级的地址记录下来,和将该记录下来的用于读取第一级数据表的地址的完整读命令序列,通过量产工具写入该设置的存储器件的指定位置,和在闪存上电之后,控制闪存的主控从该设置的存储器件的指定位置读取数据,其中,该读取的数据是该记录下来的链表第一级的地址的完整读命令序列,和将该读取的数据作为命令序列发送给闪存,以及使闪存的主控根据该作为命令序列发送给闪存的数据,从而可以读取对应该闪存地址存储的数据即获取该闪存地址存储的第一级数据表,能够实现无需进行任何搜索,就可以获得写入闪存的所有数据结构,方便快捷,同时又可避免量产时写入数据结构的过程碰到坏页而导致量产失败,从而保障闪存的正常量产。
进一步的,在本实施例中,可以在设计闪存的主控时,在闪存的主控外围设置存储器件,这样的好处是可以降低闪存的生产成本,并减少外围电路和输入/输出的使用。
进一步的,在本实施例中,可以将该记录下来的用于读取第一级数据表的地址的完整读命令序列以数据的方式,通过量产工具写入该设置的存储器件的指定位置,这样的好处是该以数据的方式写入到该设置的存储器件的指定位置的完整读命令序列是闪存的关键数据,能够提高闪存的可靠性,一定程度上提高了闪存的主控对于后续更新的闪存产品的支持能力。
请参见图2,图2是本发明闪存的数据引导方法另一实施例的流程示意图。本实施例中,该方法包括以下步骤:
S201:在闪存的主控外围设置存储器件。
可如上S101所述,在此不作赘述。
S202:在闪存量产时,通过量产工具对闪存进行初始化扫描得到扫描结果。
S203:将该扫描得到的扫描结果整理成数据结构。
S204:将该整理成的数据结构采用链表的结构方式,写进闪存的任意的有效位置。
S205:将该采用的链表的结构方式对应的链表第一级的地址记录下来。
S206:将该记录下来的用于读取第一级数据表的地址的完整读命令序列,通过量产工具写入该设置的存储器件的指定位置。
可如上S106所述,在此不作赘述。
S207:在闪存上电之后,控制闪存的主控从该设置的存储器件的指定位置读取数据;其中,该读取的数据是该记录下来的链表第一级的地址的完整读命令序列。
S208:将该读取的数据作为命令序列发送给闪存。
S209:使闪存的主控根据该作为命令序列发送给闪存的数据,从而可以读取对应该闪存地址存储的数据即获取该闪存地址存储的第一级数据表。
可如上S109所述,在此不作赘述。
S210:在该获取的该写入该设置的存储器件的所有数据结构对应的数据出现坏页的情况或者坏块的情况时,采用关联该所有数据结构的正确数据结构数据重新写入该设置的存储器件。
可以发现,在本实施例中,可以在该获取的该写入该设置的存储器件的所有数据结构对应的数据出现坏页的情况或者坏块的情况时,采用关联该所有数据结构的正确数据结构数据重新写入该设置的存储器件,这样的好处是能够避免写入闪存的所有数据结构对应的数据出现坏页的情况或者坏块的情况,保障闪存的正常量产。
本发明还提供一种闪存的数据引导装置,能够实现无需进行任何搜索,就可以获得写入闪存的所有数据结构,方便快捷,同时又可避免量产时写入数据结构的过程碰到坏页而导致量产失败,从而保障闪存的正常量产。
请参见图3,图3是本发明闪存的数据引导装置一实施例的结构示意图。本实施例中,该闪存的数据引导装置30包括设置模块31、扫描模块32、整理模块33、写进模块34、记录模块35、写入模块36、控制模块37、发送模块38和获取模块39。
该设置模块31,用于在闪存的主控外围设置存储器件。
该扫描模块32,用于在闪存量产时,通过量产工具对闪存进行初始化扫描得到扫描结果。
该整理模块33,用于将该扫描得到的扫描结果整理成数据结构。
该写进模块34,用于将该整理成的数据结构采用链表的结构方式,写进闪存的任意的有效位置。
该记录模块35,用于将该采用的链表的结构方式对应的链表第一级的地址记录下来。
该写入模块36,用于将该记录下来的用于读取第一级数据表的地址的完整读命令序列,通过量产工具写入该设置的存储器件的指定位置。
该控制模块37,用于在闪存上电之后,控制闪存的主控从该设置的存储器件的指定位置读取数据;其中,该读取的数据是该记录下来的链表第一级的地址的完整读命令序列。
该发送模块38,用于将该读取的数据作为命令序列发送给闪存。
该获取模块39,用于使闪存的主控根据该作为命令序列发送给闪存的数据,从而可以读取对应该闪存地址存储的数据即获取该闪存地址存储的第一级数据表。
可选地,该设置模块31,可以具体用于:在设计闪存的主控时,在闪存的主控外围设置存储器件。
可选地,该写入模块36,可以具体用于:将该记录下来的用于读取第一级数据表的地址的完整读命令序列以数据的方式,通过量产工具写入该设置的存储器件的指定位置。
请参见图4,图4是本发明闪存的数据引导装置另一实施例的结构示意图。区别于上一实施例,本实施例所述闪存的数据引导装置40还包括:重新写入模块41。
该重新写入模块41,用于在该获取的该写入该设置的存储器件的所有数据结构对应的数据出现坏页的情况或者坏块的情况时,采用关联该所有数据结构的正确数据结构数据重新写入该设置的存储器件。
本发明又提供一种闪存的数据引导设备,如图5所示,包括:至少一个处理器51;以及,与至少一个处理器51通信连接的存储器52;其中,存储器52存储有可被至少一个处理器51执行的指令,指令被至少一个处理器51执行,以使至少一个处理器51能够执行上述的闪存的数据引导方法。
其中,存储器52和处理器51采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器51和存储器52的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器51处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器51。
处理器51负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器52可以被用于存储处理器51在执行操作时所使用的数据。
本发明再提供一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
可以发现,以上方案,可以在闪存的主控外围设置存储器件,和在闪存量产时,通过量产工具对闪存进行初始化扫描得到扫描结果,和将该扫描得到的扫描结果整理成数据结构,和将该整理成的数据结构采用链表的结构方式,写进闪存的任意的有效位置,和将该采用的链表的结构方式对应的链表第一级的地址记录下来,和将该记录下来的用于读取第一级数据表的地址的完整读命令序列,通过量产工具写入该设置的存储器件的指定位置,和在闪存上电之后,控制闪存的主控从该设置的存储器件的指定位置读取数据,其中,该读取的数据是该记录下来的链表第一级的地址的完整读命令序列,和将该读取的数据作为命令序列发送给闪存,以及使闪存的主控根据该作为命令序列发送给闪存的数据,从而可以读取对应该闪存地址存储的数据即获取该闪存地址存储的第一级数据表,能够实现无需进行任何搜索,就可以获得写入闪存的所有数据结构,方便快捷,同时又可避免量产时写入数据结构的过程碰到坏页而导致量产失败,从而保障闪存的正常量产。
进一步的,以上方案,可以在设计闪存的主控时,在闪存的主控外围设置存储器件,这样的好处是可以降低闪存的生产成本,并减少外围电路和输入/输出的使用。
进一步的,以上方案,可以将该记录下来的用于读取第一级数据表的地址的完整读命令序列以数据的方式,通过量产工具写入该设置的存储器件的指定位置,这样的好处是该以数据的方式写入到该设置的存储器件的指定位置的完整读命令序列是闪存的关键数据,能够提高闪存的可靠性,一定程度上提高了闪存的主控对于后续更新的闪存产品的支持能力。
进一步的,以上方案,可以在该获取的该写入该设置的存储器件的所有数据结构对应的数据出现坏页的情况或者坏块的情况时,采用关联该所有数据结构的正确数据结构数据重新写入该设置的存储器件,这样的好处是能够避免写入闪存的所有数据结构对应的数据出现坏页的情况或者坏块的情况,保障闪存的正常量产。
在本发明所提供的几个实施方式中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本发明各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的部分实施例,并非因此限制本发明的保护范围,凡是利用本发明说明书及附图内容所作的等效装置或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种闪存的数据引导方法,其特征在于,包括:
在闪存的主控外围设置存储器件;
在闪存量产时,通过量产工具对闪存进行初始化扫描得到扫描结果;
将所述扫描得到的扫描结果整理成数据结构;
将所述整理成的数据结构采用链表的结构方式,写进闪存的任意的有效位置;
将所述采用的链表的结构方式对应的链表第一级的地址记录下来;
将所述记录下来的用于读取第一级数据表的地址的完整读命令序列,通过量产工具写入所述设置的存储器件的指定位置;
在闪存上电之后,控制闪存的主控从所述设置的存储器件的指定位置读取数据;其中,所述读取的数据是所述记录下来的链表第一级的地址的完整读命令序列;
将所述读取的数据作为命令序列发送给闪存;
使闪存的主控根据所述作为命令序列发送给闪存的数据,从而可以读取对应闪存地址存储的数据即获取所述闪存地址存储的第一级数据表。
2.如权利要求1所述的闪存的数据引导方法,其特征在于,所述在闪存的主控外围设置存储器件,包括:
在设计闪存的主控时,在闪存的主控外围设置存储器件。
3.如权利要求1所述的闪存的数据引导方法,其特征在于,所述将所述记录下来的用于读取第一级数据表的地址的完整读命令序列以数据的方式,通过量产工具写入所述设置的存储器件的指定位置,包括:
将所述记录下来的用于读取第一级数据表的地址的完整读命令序列以数据的方式,通过量产工具写入所述设置的存储器件的指定位置。
4.如权利要求1所述的闪存的数据引导方法,其特征在于,在所述使闪存的主控根据所述作为命令序列发送给闪存的数据,从而可以读取对应所述闪存地址存储的数据即获取所述闪存地址存储的第一级数据表之后,还包括:
在所述获取的所述写入所述设置的存储器件的所有数据结构对应的数据出现坏页的情况或者坏块的情况时,采用关联所述所有数据结构的正确数据结构数据重新写入所述设置的存储器件。
5.一种闪存的数据引导装置,其特征在于,包括:
设置模块、扫描模块、整理模块、写进模块、记录模块、写入模块、控制模块、发送模块和获取模块;
所述设置模块,用于在闪存的主控外围设置存储器件;
所述扫描模块,用于在闪存量产时,通过量产工具对闪存进行初始化扫描得到扫描结果;
所述整理模块,用于将所述扫描得到的扫描结果整理成数据结构;
所述写进模块,用于将所述整理成的数据结构采用链表的结构方式,写进闪存的任意的有效位置;
所述记录模块,用于将所述采用的链表的结构方式对应的链表第一级的地址记录下来;
所述写入模块,用于将所述记录下来的用于读取第一级数据表的地址的完整读命令序列,通过量产工具写入所述设置的存储器件的指定位置;
所述控制模块,用于在闪存上电之后,控制闪存的主控从所述设置的存储器件的指定位置读取数据;其中,所述读取的数据是所述记录下来的链表第一级的地址的完整读命令序列;
所述发送模块,用于将所述读取的数据作为命令序列发送给闪存;
所述获取模块,用于使闪存的主控根据所述作为命令序列发送给闪存的数据,从而可以读取对应闪存地址存储的数据即获取所述闪存地址存储的第一级数据表。
6.如权利要求5所述的闪存的数据引导装置,其特征在于,所述设置模块,具体用于:
在设计闪存的主控时,在闪存的主控外围设置存储器件。
7.如权利要求5所述的闪存的数据引导装置,其特征在于,所述写入模块,具体用于:
将所述记录下来的用于读取第一级数据表的地址的完整读命令序列以数据的方式,通过量产工具写入所述设置的存储器件的指定位置。
8.如权利要求5所述的闪存的数据引导装置,其特征在于,所述闪存的数据引导装置,还包括:
重新写入模块,用于在所述获取的所述写入所述设置的存储器件的所有数据结构对应的数据出现坏页的情况或者坏块的情况时,采用关联所述所有数据结构的正确数据结构数据重新写入所述设置的存储器件。
9.一种闪存的数据引导设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至4中任一项所述的闪存的数据引导方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的闪存的数据引导方法。
CN201910615517.4A 2019-07-09 2019-07-09 一种闪存的数据引导方法和装置以及设备 Active CN110471620B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910615517.4A CN110471620B (zh) 2019-07-09 2019-07-09 一种闪存的数据引导方法和装置以及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910615517.4A CN110471620B (zh) 2019-07-09 2019-07-09 一种闪存的数据引导方法和装置以及设备

Publications (2)

Publication Number Publication Date
CN110471620A CN110471620A (zh) 2019-11-19
CN110471620B true CN110471620B (zh) 2022-11-22

Family

ID=68507164

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910615517.4A Active CN110471620B (zh) 2019-07-09 2019-07-09 一种闪存的数据引导方法和装置以及设备

Country Status (1)

Country Link
CN (1) CN110471620B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5841991A (en) * 1992-11-18 1998-11-24 Canon Information Systems, Inc. In an Interactive network board, a method and apparatus for storing a media access control address in a remotely alterable memory
CN1462979A (zh) * 2002-05-30 2003-12-24 华为技术有限公司 一种flash芯片的加载方法和jtag控制器
CN101283335A (zh) * 2005-10-07 2008-10-08 微软公司 闪存管理
CN101520735A (zh) * 2008-12-18 2009-09-02 康佳集团股份有限公司 一种启动闪存内引导程序的方法及其网络电视和机顶盒
CN101859604A (zh) * 2009-04-10 2010-10-13 国民技术股份有限公司 闪存坏块的利用方法
WO2014204331A1 (en) * 2013-06-17 2014-12-24 Llc "Topcon Positioning Systems" Nand flash memory interface controller with gnss receiver firmware booting capability

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049389B (zh) * 2012-12-14 2016-08-03 锐迪科科技有限公司 Nand闪存控制器及其写入控制方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5841991A (en) * 1992-11-18 1998-11-24 Canon Information Systems, Inc. In an Interactive network board, a method and apparatus for storing a media access control address in a remotely alterable memory
CN1462979A (zh) * 2002-05-30 2003-12-24 华为技术有限公司 一种flash芯片的加载方法和jtag控制器
CN101283335A (zh) * 2005-10-07 2008-10-08 微软公司 闪存管理
CN101520735A (zh) * 2008-12-18 2009-09-02 康佳集团股份有限公司 一种启动闪存内引导程序的方法及其网络电视和机顶盒
CN101859604A (zh) * 2009-04-10 2010-10-13 国民技术股份有限公司 闪存坏块的利用方法
WO2014204331A1 (en) * 2013-06-17 2014-12-24 Llc "Topcon Positioning Systems" Nand flash memory interface controller with gnss receiver firmware booting capability

Also Published As

Publication number Publication date
CN110471620A (zh) 2019-11-19

Similar Documents

Publication Publication Date Title
CN102647438B (zh) 主机可容易进行数据收发的存储系统
CN106354615B (zh) 固态硬盘日志生成方法及其装置
US8954705B2 (en) Memory space management method and memory controller and memory storage device and memory storage using the same
CN101271383A (zh) 操作数据处理系统的系统、方法以及计算机程序产品
CN102646025B (zh) 可向从网络得到的数据附加时间信息的存储卡
CN102428449A (zh) 数据存储装置中的后台无用单元收集的主机控制
CN103268201A (zh) 一种数据存储方法、存储装置及读取方法
US10802750B2 (en) Universal flash storage memory module, controller and electronic device with advanced turbo write buffer and method for operating the memory module
CN103309709A (zh) 一种固件升级方法、装置及通信设备
US8667242B2 (en) Data access method and system, storage medium controller and storage system
CN101216789A (zh) 数据更新方法、装置及系统
CN104216796A (zh) 一种数据备份、恢复方法及电子设备
CN112256492A (zh) 块设备备份方法、装置、设备及存储介质
CN102622190A (zh) 产品识别信息在线写入方法及电子产品
CN111208935B (zh) 数据储存装置与数据存取方法
US20110004719A1 (en) Memory Element
CN107678770B (zh) 接口芯片升级方法、装置、存储介质和处理器
US20060026415A1 (en) Method of updating a portion BIOS
CN110471620B (zh) 一种闪存的数据引导方法和装置以及设备
US20040193295A1 (en) Control apparatus for an industrial machine, a method of updating a program for controlling an industrial machine, and industrial machine system
CN109697077B (zh) 硬盘固件启动方法、装置及设备
JP3028055B2 (ja) Pcカードシステム及びプログラム書き換え方法
CN112214356B (zh) 文件数据恢复方法、装置、计算机设备及存储介质
US20180046450A1 (en) Method for updating system information of a computer device
CN112860595B (zh) Pci设备或pcie设备、数据存取方法及相关组件

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 518000 Intelligence Valley Innovation Park 701, 707, No. 1010 Bulong Road, Xinniu Community, Minzhi Street, Longhua District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen deminli Technology Co.,Ltd.

Address before: 518000 Intelligence Valley Innovation Park 701, 707, No. 1010 Bulong Road, Xinniu Community, Minzhi Street, Longhua District, Shenzhen City, Guangdong Province

Applicant before: SHENZHEN DEMINGLI ELECTRONICS Co.,Ltd.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: 2501, 2401, block a, building 1, Shenzhen new generation industrial park, 136 Zhongkang Road, Meidu community, Meilin street, Futian District, Shenzhen, Guangdong 518000

Applicant after: Shenzhen deminli Technology Co.,Ltd.

Address before: 701, 707, wisdom Valley Innovation Park, 1010 Bulong Road, Xinniu community, Minzhi street, Longhua District, Shenzhen, Guangdong 518000

Applicant before: Shenzhen deminli Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant