内存装置启动信息还原方法及其系统与流程

文档序号:30953471发布日期:2022-07-30 08:47阅读:78来源:国知局
内存装置启动信息还原方法及其系统与流程

1.本发明涉及一种内存装置启动信息还原方法及其系统,尤其涉及一种依据专属序列号及映像表以索引并取得对应的内存装置的非易失性存储器损坏区块地址数据,并对其编码以据此产生用户系统数据的内存装置启动信息还原方法及其系统。


背景技术:

2.一般来说,存储装置(例如固态硬盘)包含控制器及非易失性存储器(例如闪存),其中非易失性存储器是用来存储数据。内存制造商在制造非易失性存储器时,难免会有一些非易失性存储器未达到原厂的规格,而被列为次级品(downgrade)。因此,这些次级品在组装为产品前,需要先进行开卡(初始化)的步骤,以取得非易失性存储器中所有损坏区块(bad block)的地址,并将其记录至开机启动信息(或称启动信息)中。开机启动信息通常是存储于非易失性存储器中的信息区块(information block)。然而,这些次级品在smt(surface mount technology)生产作业时,因回焊炉(reflow oven)的高温环境,而导致开机启动信息遭到损毁或遗失,进而被列为不良品,从而影响企业的营收获利。


技术实现要素:

3.因此,为了解决非易失性存储器的次级品在通过回焊炉时,因回焊炉的高温环境,而导致非易失性存储器中的开机启动信息遭到损毁或遗失的问题。本发明实施例提供一种内存装置启动信息还原方法,适用于内存装置及其开卡软件,其中内存装置包括非易失性存储器,非易失性存储器包括多个良好区块及多个损坏区块,内存装置启动信息还原方法,包括:开卡软件依据专属序列号及映射表,取得对应内存装置的非易失性存储器损坏区块地址数据;开卡软件使内存装置,依据非易失性存储器损坏区块地址数据,擦除非易失性存储器中的这些良好区块;以及开卡软件产生用户系统数据,并使内存装置将其写入至非易失性存储器中。
4.在本发明的一实施例中,其中在开卡软件依据专属序列号及映射表,取得对应内存装置的非易失性存储器损坏区块地址数据的步骤前,内存装置启动信息还原方法,还包括:其中,内存装置通过回焊炉之前,内存装置启动信息还原方法,包括:开卡软件接收内存装置产生的非易失性存储器损坏区块地址数据,并针对内存装置产生专属序列号,其中非易失性存储器损坏区块地址数据与专属序列号为一对一对应关系;开卡软件建立非易失性存储器损坏区块地址数据与专属序列号之间的映射表;以及开卡软件以电子装置的高阶纠错单元,或使内存装置以内存装置的低阶纠错单元,对专属序列号进行编码,再写入多笔已编码的专属序列号至非易失性存储器中;其中,内存装置通过回焊炉之后,内存装置启动信息还原方法,还包括:开卡软件以电子装置的高阶纠错单元,或使内存装置以内存装置的低阶纠错单元,对非易失性存储器中这些已编码的专属序列号的至少一笔进行译码,以还原专属序列号。
5.在本发明的一实施例中,其中在开卡软件以电子装置的高阶纠错单元,或使内存
装置以内存装置的低阶纠错单元,对专属序列号进行编码,再写入这些已编码的专属序列号至非易失性存储器中的步骤后,还包括:开卡软件使内存装置将非易失性存储器划分为系统数据区及用户数据区。
6.在本发明的一实施例中,其中在开卡软件使内存装置,依据非易失性存储器损坏区块地址数据,擦除非易失性存储器中的这些良好区块的步骤后,还包括:开卡软件使内存装置将非易失性存储器划分为系统数据区及用户数据区。
7.在本发明的一实施例中,其中在开卡软件产生用户系统数据的步骤中,还包括:开卡软件以电子装置的低阶纠错单元,对非易失性存储器损坏区块地址数据进行编码,以产生用户系统数据。
8.本发明实施例另提供一种内存装置启动信息还原系统,包括:内存装置,包含非易失性存储器,非易失性存储器包括多个良好区块及多个损坏区块;以及电子装置,耦接于内存装置,电子装置包含开卡软件以执行内存装置启动信息还原方法,内存装置启动信息还原方法,包括:开卡软件依据专属序列号及映射表,取得对应内存装置的非易失性存储器损坏区块地址数据;开卡软件使内存装置,依据非易失性存储器损坏区块地址数据,擦除非易失性存储器中的这些良好区块;以及开卡软件产生用户系统数据,并使内存装置将其写入至非易失性存储器中。
9.本发明实施例所提供的内存装置启动信息还原方法及其系统,在内存装置通过回焊炉之前,开卡软件借由专属序列号以建立对应的内存装置的非易失性存储器损坏区块地址数据之间的对应关系。接着写入多笔已编码的专属序列号至非易失性存储器中。在内存装置通过回焊炉之后,开卡软件借由译码后的专属序列号,通过映像表以索引并取得对应内存装置的非易失性存储器损坏区块地址数据。接着对非易失性存储器损坏区块地址数据进行编码,并据此产生且还原用户系统数据。然后将其写入至非易失性存储器中。借此,借由专属序列号及映射表而成功地取得非易失性存储器损坏区块地址数据并还原用户系统数据至非易失性存储器中,从而有效地避免内存装置在通过回焊炉时,因回焊炉的高温环境,而使非易失性存储器中多笔相同的非易失性存储器损坏区块地址数据遭到损毁或遗失,以致内存装置在通过回焊炉后,无法还原用户系统数据的问题。
10.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
11.图1是依照本发明实施例所绘示的内存装置启动信息还原系统的系统架构示意图。
12.图2是依照本发明实施例所绘示的内存装置启动信息还原方法在内存装置通过回焊炉之前后的流程示意图。
13.图3是依照本发明另一实施例所绘示的内存装置启动信息还原方法在内存装置通过回焊炉之前后的流程示意图。
14.图4是依照本发明另一实施例所绘示的内存置启动信息还原方法在内存装置通过回焊炉之后的流程示意图。
具体实施方式
15.图1是依照本发明实施例所绘示的内存装置启动信息还原系统的系统架构示意图。如图1所示,内存装置启动信息还原系统1包括内存装置10及耦接于内存装置10的电子装置20。内存装置10包含非易失性存储器110、内存控制器120及低阶纠错单元130,其中内存控制器120耦接于非易失性存储器110及低阶纠错单元130,其中非易失性存储器110包括多个损坏区块、多个良好区块(good block),其中良好区块较佳是用以存储数据的数据区块,且每一个数据区块包括多个数据页。内存装置10较佳是存储数据的装置,例如是固态硬盘(solid-state drive)或sd(secure digital)存储卡。非易失性存储器110可以是具有长时间数据保存的数据存储媒体,例如是闪存(flash memory)。电子装置20包含开卡软件210、高阶纠错单元220及处理器230。处理器230主要是用以依据开卡软件210的指令或步骤,以控制高阶纠错单元220或内存装置10或者是与内存装置10进行通讯,以传送或接收指令/数据,其中处理器230耦接于开卡软件210及高阶纠错单元220,电子装置20较佳为计算机或闪存盘。此外,电子装置20还可包括耦接于处理器230的低阶纠错单元(图未绘),例如是低阶的纠错编译码器,其使用一般纠错能力的的纠错码,例如bch码。
16.内存装置10在制造阶段时,内存制造商借由电子装置20对内存装置10进行开卡(初始化)。更进一步来说,内存制造商借由加载并执行开卡软件210,以对内存装置10进行开卡。开卡主要包括低阶初始化及高阶初始化。低阶初始化是在内存装置10通过回焊炉之前的阶段,主要是针对内存装置10的非易失性存储器损坏区块地址数据(损坏区块记录表),建立一对一对应关系的专属序列号(唯一的序列号),以通过映像表索引对应的内存装置的非易失性存储器损坏区块地址数据。接着将多笔已编码的专属序列号写入至非易失性存储器110中,并将非易失性存储器损坏区块地址数据及映像表存储至电子装置20或云端主机(图未绘)。高阶初始化是在内存装置10通过回焊炉之后的阶段,主要是借由对这些已编码的专属序列号进行译码,以还原专属序列号。接着借由读取还原的专属序列号,以通过映像表索引并取得对应内存装置10的非易失性存储器损坏区块地址数据。然后对非易失性存储器损坏区块地址数据进行编码,并据此产生且还原用户系统数据(开机启动信息或启动信息,其包含损坏区块记录表),之后其写入至非易失性存储器110中。
17.请同时参阅图1及图2,图2是依照本发明实施例所绘示的内存装置启动信息还原方法在内存装置通过回焊炉之前后的流程示意图。电子装置20包含开卡软件210以执行内存装置启动信息还原方法,内存装置启动信息还原方法包括以下步骤:在内存装置10通过回焊炉之前,如步骤s100所示,内存控制器120对非易失性存储器110进行扫描或侦测,以检查非易失性存储器110中的每一个区块是否存在损坏区块。一旦内存控制器120发现损坏区块,就会将此损坏区块的信息(例如损坏区块的地址)标注或记录于非易失性存储器损坏区块地址数据(例如存储非易失性存储器110中所有损坏区块的地址),并将所产生的非易失性存储器损坏区块地址数据传送给电子装置20或开卡软件210。
18.如步骤s110所示,电子装置20或开卡软件210接收内存装置10所产生的非易失性存储器损坏区块地址数据(损坏区块记录表),并针对内存装置10产生专属序列号。专属序列号较佳是任意的数字、字母、特殊符号或其组合。换言之,非易失性存储器损坏区块地址数据与专属序列号之间为一对一的对应关系,亦即特定的非易失性存储器损坏区块地址数据与特定的专属序列号是专属于特定的内存装置。此外,开卡软件210可将非易失性存储器
损坏区块地址数据存储至电子装置20的内存(图未绘)中或通过网络传送并存储至云端主机的内存(图未绘)中。
19.如步骤s120所示,开卡软件210建立非易失性存储器损坏区块地址数据与专属序列号之间的映射表。映射表记录非易失性存储器损坏区块地址数据与专属序列号之间的对应关系。也就是说,开卡软件210可通过映像表以索引并取得对应的内存装置的非易失性存储器损坏区块地址数据。此外,开卡软件210可将映射表存储至电子装置20的内存中或通过网络传送并存储至云端主机的内存中。
20.如步骤s130所示,开卡软件210使电子装置20的高阶纠错单元220,或使内存控制器120以内存装置10的低阶纠错单元130,对专属序列号进行编码,然后再写入多笔已编码的专属序列号至非易失性存储器110中。高阶纠错单元220例如是高阶的纠错编译码器,其使用极佳纠错能力的纠错码,例如ldpc码(低密度奇偶检查码)。低阶纠错单元130例如是低阶的纠错编译码器,其使用一般纠错能力的的纠错码,例如bch码。举例来说,内存控制器120可借由复制多笔(例如100笔)第一笔已编码的专属序列号(最初的专属序列号),并将这些已编码的专属序列号写入至非易失性存储器110中一个或多个数据区块的一个或多个资料页。当然较佳是将已编码的专属序列号写满非易失性存储器110中所有可用的数据区块/数据页。至于写入已编码的专属序列号的方式并不限制,可以是连续写入、非连续写入或随机写入,由于这些写入的方式属公知常识的范畴,在此不再赘述。
21.如步骤s131所示,开卡软件210使内存装置10,借由内存控制器120将非易失性存储器110划分为系统数据区及用户数据区。系统数据区较佳是由所有良好区块中的一部分所组成,而用户数据区块较佳是由所有良好区块中的另一部分所组成。举例来说,若非易失性存储器110全部的良好区块包括m个数据区块,则第1个数据区块至第n个数据区块可以是系统数据区,第n+1个数据区块至第m个资料区块,其中n及m为正整数,且m大于n。
22.内存装置10通过回焊炉之后,内存装置启动信息还原方法,还包括以下步骤:首先,如步骤s140所示,开卡软件210以电子装置20的高阶纠错单元220,或使内存控制器120以内存装置10的低阶纠错单元130,对非易失性存储器110中这些已编码的专属序列号的至少一笔进行译码,以还原专属序列号。更进一步来说,开卡软件210使内存控制器120,从非易失性存储器110中读取已编码的专属序列号的至少一笔,并使处理器230借由高阶纠错单元220对被读取的这笔已编码的专属序列号进行译码,或使内存控制器120借由低阶纠错单元130对被读取的这笔已编码的专属序列号进行译码。借此还原专属序列号。
23.由于专属序列号的数据量很小,通常只有几个byte(字节),例如是4byte。因此若使用比专属序列号的数据比特数量较多的奇偶校验码(parity bit),例如是9byte,也就是以9byte的奇偶校验码对4byte的专属序列号进行保护,以确保内存装置10通过回焊炉之后,借由高阶纠错单元220或低阶纠错单元130对已编码的专属序列号的错误/损毁比特进行纠正,而能完全地纠正成功。举例来说,对于1kb(字节)的数据而言,高阶纠错单元220可以纠正的比特数量例如是240个,低阶纠错单元130可以纠正的比特数量例如是72个。因此,对于4byte大小的专属序列号而言,借由高阶纠错单元220或低阶纠错单元130对已编码的专属序列号进行译码后,可以成功地还原专属序列号。
24.如步骤s150所示,开卡软件210依据专属序列号(即译码后所取得的专属序列号)及映射表,取得对应内存装置10的非易失性存储器损坏区块地址数据。更进一步来说,开卡
软件210使处理器230至电子装置20的内存中或通过网络至云端主机的内存中取得映射表,并依据专属序列号通过映射表至电子装置20的内存中或云端主机的内存中,以索引并取得对应内存装置10的非易失性存储器损坏区块地址数据。
25.如步骤s160所示,开卡软件210使内存控制器120,依据非易失性存储器损坏区块地址数据,擦除非易失性存储器110中全部的良好区块。
26.如步骤s170所示,开卡软件210依据非易失性存储器损坏区块地址数据以产生用户系统数据(开机启动信息/启动信息),并使内存控制器120将其写入至非易失性存储器110中。更进一步来说,开卡软件210以电子装置20的低阶纠错单元(图未绘),对非易失性存储器损坏区块地址数据进行编码,并据此产生用户系统数据。接着,开卡软件210使内存控制器120将用户系统数据写入至非易失性存储器110的系统数据区。借此,借由专属序列号成功地取得对应的内存装置10的非易失性存储器损坏区块地址数据,并据此产生并还原用户系统数据至非易失性存储器110中,从而有效地避免内存装置10在通过回焊炉时,因回焊炉的高温环境,而使非易失性存储器110中多笔相同的非易失性存储器损坏区块地址数据/开机启动信息遭到损毁或遗失,以致内存装置10在通过回焊炉后,无法取得用户系统数据的问题。
27.请同时参阅图1、图2及图3,图3是依照本发明另一实施例所绘示的内存装置启动信息还原方法在内存装置通过回焊炉之前后的流程示意图。这一个实施例(即图3所示的步骤)的步骤与前一个实施例(即图2所示的步骤)步骤相似,差别在于这一个实施例少了步骤s131,但多了步骤s161。由于步骤s161所执行的流程内容与步骤s131一样,故在此不再赘述。此外,这一个实施例的步骤s100、s110、s120、s130、s140、s150、s160及s170所执行的流程内容,与前一个实施例(即图2)的步骤s100、s110、s120、s130、s140、s150、s160及s170完全相同,故在此不再赘述。
28.请同时参阅图1、图2及图4,图4是依照本发明另一实施例所绘示的内存装置启动信息还原方法在内存装置通过回焊炉之后的流程示意图。在内存装置通过回焊炉之后,开卡软件210只要借由读取非易失性存储器110中的专属序列号并通过映像表,就可以索引并取得对应内存装置10的非易失性存储器损坏区块地址数据(如步骤s210所示)。接着,开卡软件210使内存控制器120,依据非易失性存储器损坏区块地址数据,对非易失性存储器110中的所有良好区块进行擦除(如步骤s220所示)。然后,开卡软件210对非易失性存储器损坏区块地址数据进行编码,并据此产生并还原用户系统数据,且使内存控制器120将用户系统数据写入至非易失性存储器110中(如步骤s230所示)。借此,借由专属序列号及映像表而成功地索引并取得非易失性存储器损坏区块地址数据并还原用户系统数据至非易失性存储器110中,从而有效地避免内存装置10在通过回焊炉时,因回焊炉的高温环境,而使非易失性存储器110中多笔相同的非易失性存储器损坏区块地址数据遭到损毁或遗失,以致内存装置10在通过回焊炉后,无法还原用户系统数据的问题。另外,有关步骤s210、s220及s230的进一步说明,可参阅前一个实施例的步骤s150、s160及s170的说明,在此不再赘述。
29.综上所述,本发明实施例所提供的内存装置启动信息还原方法及其系统,在内存装置通过回焊炉之前,开卡软件借由专属序列号以建立对应的内存装置的非易失性存储器损坏区块地址数据之间的对应关系。接着写入多笔已编码的专属序列号至非易失性存储器中。在内存装置通过回焊炉之后,开卡软件借由译码后的专属序列号,通过映像表以索引并
取得对应内存装置的非易失性存储器损坏区块地址数据。接着对非易失性存储器损坏区块地址数据进行编码,并据此产生且还原用户系统数据。然后将其写入至非易失性存储器中。借此,借由专属序列号及映射表而成功地取得非易失性存储器损坏区块地址数据并还原用户系统数据至非易失性存储器中,从而有效地避免内存装置在通过回焊炉时,因回焊炉的高温环境,而使非易失性存储器中多笔相同的非易失性存储器损坏区块地址数据遭到损毁或遗失,以致内存装置在通过回焊炉后,无法还原用户系统数据的问题。
30.以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的方法及技术内容作出些许的更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1