CN116028261A - 一种确定nand flash纠错模式的方法、装置及电子设备 - Google Patents
一种确定nand flash纠错模式的方法、装置及电子设备 Download PDFInfo
- Publication number
- CN116028261A CN116028261A CN202310116089.7A CN202310116089A CN116028261A CN 116028261 A CN116028261 A CN 116028261A CN 202310116089 A CN202310116089 A CN 202310116089A CN 116028261 A CN116028261 A CN 116028261A
- Authority
- CN
- China
- Prior art keywords
- error correction
- nand flash
- correction mode
- correction capability
- cpu controller
- 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
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种确定nand flash纠错模式的方法、装置及电子设备,用以为nand flash确定最佳的纠错模式,有效避免了nand flash与CPU平台连接之初,由于纠错模式不匹配而重新烧录或多次升级导致的纠错模式切换效率低的问题。该方法包括:CPU控制器获取nand flash的芯片信息,并基于所述芯片信息,确定与nand flash匹配的CPU控制器的第一纠错能力,以及确定nand flash内部纠错模式的内部纠错能力;其中,所述第一纠错能力指示CPU控制器在单位数量的字节中所支持纠正的最大比特位数,所述内部纠错能力指示nand flash在单位数量的字节中所支持纠正的最大比特位数;响应于所述第一纠错能力大于或等于所述内部纠错能力,确定nand flash的纠错模式为CPU控制器纠错模式。
Description
技术领域
本申请涉及数据存储技术领域,尤其涉及一种确定nand flash纠错模式的方法、装置及电子设备。
背景技术
Nand flash是一种flash存储器,具备容量大、改写速度快的优点。Nand flash是串行组织的,当读取一个单元的时候,读出放大器所检测到信号强度会被这种串行存储结构削弱,这降低了所读信号的准确性。一般地,Nand flash出错只有一个或几个bit出错。ECC纠错(Error Checking and Correction)则用于这种检测并纠正这种错误,从而保证数据正常。
ECC纠错模式有两种,主要区别在于执行主体不同:第一种是通过Nand flash本身内部ecc实现;第二种是通过CPU Nand flash控制器实现。目前,新CPU平台适配Nand flash时,对ecc纠错模式的选择是固定的,若要切换ecc纠错模式,则需要根据ecc纠错模式的格式等信息重新制作程序烧录镜像,然后重新烧录或升级以完成纠错模式的切换。因此,现有技术在对ecc纠错模式进行切换时存在复杂繁琐、效率低的问题。
发明内容
本发明提供一种确定nand flash纠错模式的方法、装置及电子设备,用以为nandflash匹配最佳的纠错模式,有效避免了nand flash与CPU平台连接之初,由于纠错模式不匹配而重新烧录或多次升级导致的纠错模式切换效率低的问题。
第一方面,本申请实施例提供一种确定nand flash纠错模式的方法,包括:
CPU控制器获取nand flash的芯片信息,并基于所述芯片信息,确定与nand flash匹配的CPU控制器的第一纠错能力,以及确定nand flash内部纠错模式的内部纠错能力;其中,所述第一纠错能力指示CPU控制器在单位数量的字节中所支持纠正的最大比特位数,所述内部纠错能力指示nand flash在单位数量的字节中所支持纠正的最大比特位数;
响应于所述第一纠错能力大于或等于所述内部纠错能力,确定nand flash的纠错模式为CPU控制器纠错模式。
本申请实施例通过为nand flash确定匹配的CPU控制器的纠错能力,并与nandflash内部纠错模式的内部纠错能力进行对比,确定纠错能力较强的CPU控制器纠错模式为nand flash的最佳纠错模式;既避免了直接预设nand flash纠错模式为内部纠错模式,CPU控制器的纠错能力可用且纠错能力大于内部纠错能力时难以发挥作用的问题;也避免了直接预设nand flah纠错能力为CPU控制器纠错模式,而CPU控制器纠错模式的纠错能力低于内部纠错能力时,nand flash产生的bit反转位数高于CPU nand flash能够纠正的bit反转位数,导致nand flash读写异常的问题。同时,由于为自适应地确定纠错模式,所匹配到的最佳纠错模式还可有效提升nand flash中所写入数据的可靠性,从而改善了nand flash的使用寿命。
一种可能的实施方式,所述确定与nand flash匹配的CPU控制器的第一纠错能力,以及nand flash内部纠错模式的内部纠错能力之后,还包括:
响应于所述第一纠错能力小于所述内部纠错能力,确定nand flash的纠错模式为所述nand flash内部纠错模式。
一种可能的实施方式,所述CPU控制器获取nand flash的芯片信息,并基于所述芯片信息,确定与nand flash匹配的CPU控制器的第一纠错能力,以及nand flash内部纠错模式的内部纠错能力,包括:
获取所述nand flash的芯片信息;其中,所述芯片信息包括所述nand flash的page存储空间、及OOB存储空间;
基于所述page存储空间、所述OOB存储空间、以及所述CPU控制器支持的纠错能力所需存储空间,在所述CPU控制器支持的纠错能力中确定与nand flash匹配的所述第一纠错能力。
一种可能的实施方式,所述确定nand flash内部纠错模式的内部纠错能力,包括:
基于所述芯片信息,确定所述nand flash内部纠错模式的第一标识符;其中,所述芯片信息包括所述nand flash内部纠错模式的第一标识符;
基于所述第一标识符以及预设映射关系,确定所述内部纠错能力;其中,所述预设映射关系包括所述第一标识符与所述内部纠错能力之间的一一对应关系。
一种可能的实施方式,nand flash的初始纠错模式为所述nand flash内部纠错模式;
则所述响应于所述第一纠错能力大于或等于所述内部纠错能力,确定nand flash的纠错模式为CPU控制器纠错模式,包括:
读取nand flash中的原始数据,并将所述原始数据缓存;
将所述CPU控制器纠错模式对应的第二标识符写入nand flash的OTP区域;
基于所述CPU控制器纠错模式的数据格式,将缓存的所述原始数据在nand flash中进行持久化存储。
一种可能的实施方式,所述将所述原始数据缓存之后,还包括:
为nand flash配置与所述CPU控制器纠错模式匹配的寄存器。
第二方面,本申请实施例还提供一种确定nand flash纠错模式的装置,包括:
匹配单元:用于CPU控制器获取nand flash的芯片信息,并基于所述芯片信息,确定与nand flash匹配的CPU控制器的第一纠错能力,以及nand flash内部纠错模式的内部纠错能力;其中,所述第一纠错能力指示CPU控制器在单位数量的字节中所支持纠正的最大比特位数,所述内部纠错能力指示nand flash在单位数量的字节中所支持纠正的最大比特位数;
第一响应单元:用于响应于所述第一纠错能力大于或等于所述内部纠错能力,确定nand flash的纠错模式为CPU控制器纠错模式。
一种可能的实施方式,所述装置还包括第二响应单元,所述第二响应单元具体用于响应于所述第一纠错能力小于所述内部纠错能力,确定nand flash的纠错模式为所述nand flash内部纠错模式。
一种可能的实施方式,所述装置还包括第二响应单元,所述第二响应单元具体用于响应于所述第一纠错能力小于所述内部纠错能力,确定nand flash的纠错模式为所述nand flash内部纠错模式。
一种可能的实施方式,所述匹配单元具体用于获取所述nand flash的芯片信息;其中,所述芯片信息包括所述nand flash的page存储空间、及OOB存储空间;基于所述page存储空间、所述OOB存储空间、以及所述CPU控制器支持的纠错能力所需存储空间,在所述CPU控制器支持的纠错能力中确定与nand flash匹配的所述第一纠错能力。
一种可能的实施方式,所述匹配单元还用于基于所述芯片信息,确定所述nandflash内部纠错模式的第一标识符;其中,所述芯片信息包括所述nand flash内部纠错模式的第一标识符;基于所述第一标识符以及预设映射关系,确定所述内部纠错能力;其中,所述预设映射关系包括所述第一标识符与所述内部纠错能力之间的一一对应关系。
一种可能的实施方式,nand flash的初始纠错模式为所述nand flash内部纠错模式;则所述第一响应单元具体用于读取nand flash中的原始数据,并将所述原始数据缓存;将所述CPU控制器纠错模式对应的第二标识符写入nand flash的OTP区域;基于所述CPU控制器纠错模式的数据格式,将缓存的所述原始数据在nand flash中进行持久化存储。
一种可能的实施方式,所述装置还包括配置单元,所述配置单元具体用于为nandflash配置与所述CPU控制器纠错模式匹配的寄存器。
第三方面,本申请实施例还提供一种可读存储介质,包括,
存储器,
所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如第一方面及任一种可能的实施方式所述的方法。
第四方面,本申请实施例还提供一种电子设备,包括:
存储器,用于存放计算机程序;
处理器,用于执行所述存储器上所存放的计算机程序时,以实现如第一方面及任一种可能的实施方式所述的方法。
附图说明
图1为本申请实施例所提供的一种确定nand flash纠错模式的方法的流程示意图;
图2为本申请实施例所提供的一种nand flash与CPU进行交互的示意图;
图3为本申请实施例所提供的一种为nand flash烧录设备程序的流程示意图;
图4为本申请实施例所提供的一种确定nand flash纠错模式并进行切换的方法的示意图;
图5为本申请实施例提供的一种确定nand flash纠错模式的装置的结构示意图;
图6为本申请实施例提供的一种nand flash纠错模式的电子设备的结构示意图。
具体实施方式
针对现有技术中在调整nand flash预配置的纠错模式时,须通过重新烧录或多次升级导致的效率低的问题,本申请实施例提供一种确定nand flash纠错模式的方法:在新的CPU平台与nand flash连接时,先确定与nand flash匹配的第一纠错能力,以及nandflash内部纠错模式的内部纠错能力,当第一纠错能力大于或等于内部纠错能力时,确定ecc纠错模式为CPU控制器纠错模式。
通过本申请实施例所提供的方法,通过CPU控制器自适应地为nand flash确定纠错模式,使nand flash在接入新的CPU平台之后所确定的纠错模式为最合适的纠错模式,即可最大化实现纠正写入数据的目的。
为了更好的理解上述技术方案,以下首先针对本申请实施例所涉及的技术术语进行说明。
nand Flash:一种非易失性随机访问存储介质,基于浮栅(Floating Gate)晶体管设计,通过浮栅来锁存电荷,电荷被储存在浮栅中,它们在无电源供应的情况下仍然可以保持。
Page(页):nand flash上最小的读/写单位。
OOB(out of band,带外数据):每个page后均有1个OOB区域,用于存放ecc校验码、坏块标记、和文件系统的组织信息,主要用于硬件纠错和坏块处理。
OTP(one time programmable,一次性可编程)区域:该寄存器只可编程一次,写入后不可改写;支持多次读。
下面通过附图以及具体实施例对本申请技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请的技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
请参考图1,本申请实施例提供一种确定nand flash纠错模式的方法,用以为nandflash匹配最佳且最合适的纠错模式,以提升nand flash中数据的可靠性;同时,提升nandflash纠错模式的切换效率,并确保用户无感知,该方法具体包括以下实现步骤:
步骤101:CPU控制器获取nand flash的芯片信息,并基于芯片信息,确定与nandflash匹配的CPU控制器的第一纠错能力,以及nand flash内部纠错模式的内部纠错能力。
其中,第一纠错能力指示CPU控制器在单位数量的字节中所支持纠正的最大比特位数,内部纠错能力指示nand flash在单位数量的字节中所支持纠正的最大比特位数。
具体来说,当设备上电启动后,linux内核nand flash驱动初始化时,CPU与nandflash开始进行交互,具体为CPU控制器与nand flash进行交互,以在CPU控制器(即nandflash控制器)可支持的多种(个)纠错能力中,为nand flash匹配最合适的第一纠错能力,请参考图2。
以下针对第一纠错能力以及内部纠错模式的纠错能力的确定进行具体说明。
首先,获取nand flash的芯片信息。其中,芯片信息包括nand flash的page存储空间、OOB(区域)的存储空间、以及nand flash内部纠错模式的第一标识符。
然后,基于nand flash内部纠错模式的第一标识符与预设映射关系,确定对应于该第一标识符的内部纠错能力,即nand flash内部纠错码模式的纠错能力。其中,预设映射关系包括所述第一标识符与所述内部纠错能力之间的一一对应关系。
与此同时,由于CPU控制器纠错模式执行时所产生的ECC校验码分散地填充于原始数据中,即在page以及OOB区域中均包含ECC校验码片段,因此需根据page以及OOB的存储空间,进行CPU控制器纠错能力的匹配。基于芯片信息中的page存储空间、OOB存储空间、以及CPU控制器支持的纠错能力所需存储空间,在CPU控制器支持的纠错能力中确定与nandflash匹配的所述第一纠错能力。也就是说,在CPU控制器所支持的多种纠错能力中,根据page存储空间与OOB存储空间总和,以及每种纠错能力所需存储空间,筛选出与nand flash匹配的最佳纠错能力。例如,page存储空间为2Kbyte,OOB存储空间为64Byte时,对比CPU控制器纠错能力所需存储空间,小于(2K+64)Byte的纠错能力为8bit/1Kbyte、16bit/1Kbyte,则nand flash均可支持这两种纠错能力的运行;而在两种纠错能力均与nand flash匹配的情况下,确定较大纠错能力为最佳纠错能力:第一纠错能力。
上述nand flash在将设备程序烧录后启动,因此在设备上电启动确定纠错能力之前,还需进行设备程序的烧录。烧录设备程序可以带ECC数据,也可以不带ECC数据,由于ECC数据涉及不同的格式,而本申请实施例最终所确定的纠错模式可能为CPU控制器纠错模式,也可能是nand flash内部纠错模式,两种纠错模式格式不同,所以本申请实施例优选为设备程序中不带ECC纠错数据;烧录时可选择nand flash内部纠错模式为默认纠错模式,请参考图3,在制作设备程序,并利用烧录器烧录设备程序后,该nand flash就可在上电后正常启动。
步骤102:响应于所述第一纠错能力大于或等于所述内部纠错能力,确定nandflash的纠错模式为CPU控制器纠错模式。
例如,第一纠错能力为24bit/1024Byte,内部纠错能力为8bit/1024Byte,其中,24bit/1024Byte指示每1024个字节数据中可以纠正24比特以内的比特反转,即每1024个字节数据所支持纠正的最大比特位数为24比特。8bit/1024Byte示每1024个字节数据中可以纠正8比特以内的比特反转,即每1024个字节数据所支持纠正的最大比特位数为8比特。显然,该第一纠错能力大于该内部纠错能力,则可以确定当前nand flash的纠错模式为CPU控制器纠错模式。
进一步地,由于在烧录时选择内部纠错模式,即nand flash的初始纠错模式(默认)为nand flash内部纠错模式,所以在确定当前nand flash纠错模式为CPU控制器纠错模式时,则需读取nand flash中的原始数据,并将该原始数据进行缓存,然后将CPU控制器纠错模式对应的第二标识符写入nand flash OTP区域;最后,基于CPU控制器纠错模式的数据格式,将缓存的原始数据重新写入nand flash,即在nand flash中进行持久化存储。
进一步地,上述缓存原始数据之后,在第二标识符写入OTP区域的同时,还须为nand flash的纠错模式配置与CPU控制器纠错模式匹配的寄存器,以便于该纠错模式能够生效,使nand flash正常运行CPU控制器纠错模式。
相应地,假设在烧录时选择(默认的)纠错模式为CPU控制器纠错模式,但与前述所匹配的第一纠错能力不同的CPU控制器纠错模式,则为了匹配最佳纠错模式,可以对比烧录时所选择的CPU控制器的纠错模式的第二纠错能力与第一纠错能力之间的大小。响应于该第二纠错能力小于第一纠错能力,则仍然执行如前所述的第一纠错能力的切换。倘若第二纠错能力等于第一纠错能力,则仍然确定nand flash纠错模式为CPU控制器纠错模式,但由于纠错能力相等,实际上为同种能力的纠错模式,则不必执行如前所述的纠错模式切换的实施步骤。
除此之外,在执行本步骤102之前,在本申请的一种实施例中,响应于第一纠错能力小于所述内部纠错能力,确定nand flash的纠错模式为所述nand flash内部纠错模式。由于本申请实施例中在烧录时,选择初始纠错模式(默认)为nand flash内部纠错模式,因此,该情况下可以直接将内部纠错模式对应的标识符写入OTP区域,该标识符可以与前述预设映射关系中的第一预设符相同,也可以不相同。该情况下也可以不执行OTP写入步骤,后续nand flash上电后在未读出OTP区域标识符的情况下,将直接以烧录时默认的纠错模式:nand flash内部纠错模式作为纠错模式执行ECC纠错。
根据步骤101-102中所述的确定nand flash纠错模式的方法可得,本申请实施例尤其针对于nand flash新接入CPU平台,在OTP区域写入纠错模式对应标识符之前,为nandflash匹配最佳纠错模式,当纠错模式与烧录时默认的纠错模式不同时,可有效提升纠错模式的切换效率。并且,由于为nand flash匹配的纠错模式为最佳纠错模式,即支持纠正的最大比特位数,所以随着nand flash擦写次数的增加,以及反转比特位数的增加,最大化纠错能力还可使nand flash中数据可靠性得以增加,且使用寿命也得以有效提升。以下进行举例说明,假设CPU控制器纠错模式的预设标识符为“1”,nand flash内部纠错模式的预设标识符为“0”,请参考图4。在nand flash初始上电时,首先根据nand flash的芯片信息,匹配所能支持的CPU控制器的最大纠错能力。然后,获取OTP区域中的ECC纠错模式的标识符,判断该标识符是否为1。若是,则根据前述匹配到的最大纠错能力,初始化nand flash纠错模式为CPU控制器纠错模式。若标识符非1,或者未读取到标识符,则确定需进一步对比匹配到的CPU控制器的最大纠错能力是否大于nand flash的内部纠错能力。若否,则确定nandflash的纠错能力为nand flash内部纠错模式,因而初始化nand flash的纠错模式为nandflash内部纠错模式。若是,则确定切换nand flash纠错模式为CPU控制器纠错模式;即先读取nand flash分区程序内容(即原始数据)后缓存,然后修正nand flash驱动ECC纠错模式为CPU控制器(即CPU nand flash控制器)纠错模式,以及写入CPU控制器纠错模式的标识符“1”于OTP区域,最后将前述缓存的分区程序内容重新刷新到nand flash中,完成ECC纠错模式的切换。
需要说明的是,本申请实施例中所述的CPU控制器均为CPU nand flash控制器。
基于同一发明构思,本申请实施例中提供一种确定nand flash纠错模式的装置,该装置与前述图1所示确定nand flash纠错模式的方法对应,该装置的具体实施方式可参见前述方法实施例部分的描述,重复之处不再赘述,参见图5,该装置中的单片机包括:
匹配单元501:用于CPU控制器获取nand flash的芯片信息,并基于所述芯片信息,确定与nand flash匹配的CPU控制器的第一纠错能力,以及nand flash内部纠错模式的内部纠错能力。
其中,所述第一纠错能力指示CPU控制器在单位数量的字节中所支持纠正的最大比特位数,所述内部纠错能力指示nand flash在单位数量的字节中所支持纠正的最大比特位数。
匹配单元501具体用于获取所述nand flash的芯片信息;其中,所述芯片信息包括所述nand flash的page存储空间、及OOB存储空间;基于所述page存储空间、OOB存储空间、以及所述CPU控制器支持的纠错能力所需存储空间,在所述CPU控制器支持的纠错能力中确定与nand flash匹配的所述第一纠错能力。
匹配单元501还用于基于所述芯片信息,确定所述nand flash内部纠错模式的第一标识符;其中,所述芯片信息包括所述nand flash内部纠错模式的第一标识符;基于所述第一标识符以及预设映射关系,确定所述内部纠错能力;其中,所述预设映射关系包括所述第一标识符与所述内部纠错能力之间的一一对应关系。
第一响应单元502:用于响应于所述第一纠错能力大于或等于所述内部纠错能力,确定nand flash的纠错模式为CPU控制器纠错模式。
上述nand flash的初始纠错模式为所述nand flash内部纠错模式,则第一响应单元502具体用于读取nand flash中的原始数据,并将所述原始数据缓存;将所述CPU控制器纠错模式对应的第二标识符写入nand flash的OTP区域;基于所述CPU控制器纠错模式的数据格式,将缓存的所述原始数据在nand flash中进行持久化存储。
所述确定nand flash纠错模式的装置还包括第二响应单元,所述第二响应单元具体用于响应于所述第一纠错能力小于所述内部纠错能力,确定nand flash的纠错模式为所述nand flash内部纠错模式。
所述确定nand flash纠错模式的装置还包括配置单元,所述配置单元具体用于为nand flash配置与所述CPU控制器纠错模式匹配的寄存器。
基于同一发明构思,本申请实施例还提供一种可读存储介质,包括:
存储器,
所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如上所述的确定nand flash纠错模式的方法。
基于与上述确定nand flash纠错模式的方法相同的发明构思,本申请实施例中还提供了一种电子设备,所述电子设备可以实现前述一种确定nand flash纠错模式的方法的功能,请参考图6,所述电子设备包括:
至少一个处理器601,以及与至少一个处理器601连接的存储器602,本申请实施例中不限定处理器601与存储器602之间的具体连接介质,图6中是以处理器601和存储器602之间通过总线600连接为例。总线600在图6中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线600可以分为地址总线、数据总线、控制总线等,为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。或者,处理器601也可以称为控制器,对于名称不做限制。
在本申请实施例中,存储器602存储有可被至少一个处理器601执行的指令,至少一个处理器601通过执行存储器602存储的指令,可以执行前文论述确定nand flash纠错模式的方法。处理器601可以实现图5所示的装置中各个模块的功能。
其中,处理器601是该装置的控制中心,可以利用各种接口和线路连接整个该控制设备的各个部分,通过运行或执行存储在存储器602内的指令以及调用存储在存储器602内的数据,该装置的各种功能和处理数据,从而对该装置进行整体监控。
在一种可能的设计中,处理器601可包括一个或多个处理单元,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。在一些实施例中,处理器601和存储器602可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器601可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的确定nand flash纠错模式的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器602作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器602可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等。存储器602是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器602还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通过对处理器601进行设计编程,可以将前述实施例中介绍的确定nand flash纠错模式的方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图1所示的确定nand flash纠错模式的方法的步骤。如何对处理器601进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:通用串行总线闪存盘(Universal Serial Bus flash disk)、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种确定nand flash纠错模式的方法,其特征在于,包括:
CPU控制器获取nand flash的芯片信息,并基于所述芯片信息,确定与nand flash匹配的CPU控制器的第一纠错能力,以及确定nand flash内部纠错模式的内部纠错能力;其中,所述第一纠错能力指示CPU控制器在单位数量的字节中所支持纠正的最大比特位数,所述内部纠错能力指示nand flash在单位数量的字节中所支持纠正的最大比特位数;
响应于所述第一纠错能力大于或等于所述内部纠错能力,确定nand flash的纠错模式为CPU控制器纠错模式。
2.如权利要求1所述的方法,其特征在于,所述确定与nand flash匹配的CPU控制器的第一纠错能力,以及nand flash内部纠错模式的内部纠错能力之后,还包括:
响应于所述第一纠错能力小于所述内部纠错能力,确定nand flash的纠错模式为所述nand flash内部纠错模式。
3.如权利要求1或2所述的方法,其特征在于,所述CPU控制器获取nand flash的芯片信息,并基于所述芯片信息,确定与nand flash匹配的CPU控制器的第一纠错能力,以及nandflash内部纠错模式的内部纠错能力,包括:
获取所述nand flash的芯片信息;其中,所述芯片信息包括所述nand flash的page存储空间、及OOB存储空间;
基于所述page存储空间、所述OOB存储空间、以及所述CPU控制器支持的纠错能力所需存储空间,在所述CPU控制器支持的纠错能力中确定与nand flash匹配的所述第一纠错能力。
4.如权利要求3所述的方法,其特征在于,所述确定nand flash内部纠错模式的内部纠错能力,包括:
基于所述芯片信息,确定所述nand flash内部纠错模式的第一标识符;其中,所述芯片信息包括所述nand flash内部纠错模式的第一标识符;
基于所述第一标识符以及预设映射关系,确定所述内部纠错能力;其中,所述预设映射关系包括所述第一标识符与所述内部纠错能力之间的一一对应关系。
5.如权利要求3所述的方法,其特征在于,nand flash的初始纠错模式为所述nandflash内部纠错模式;
则所述响应于所述第一纠错能力大于或等于所述内部纠错能力,确定nand flash的纠错模式为CPU控制器纠错模式,包括:
读取nand flash中的原始数据,并将所述原始数据缓存;
将所述CPU控制器纠错模式对应的第二标识符写入nand flash的OTP区域;
基于所述CPU控制器纠错模式的数据格式,将缓存的所述原始数据在nand flash中进行持久化存储。
6.一种确定nand flash纠错模式的装置,其特征在于,包括:
匹配单元:用于CPU控制器获取nand flash的芯片信息,并基于所述芯片信息,确定与nand flash匹配的CPU控制器的第一纠错能力,以及nand flash内部纠错模式的内部纠错能力;其中,所述第一纠错能力指示CPU控制器在单位数量的字节中所支持纠正的最大比特位数,所述内部纠错能力指示nand flash在单位数量的字节中所支持纠正的最大比特位数;
第一响应单元:用于响应于所述第一纠错能力大于或等于所述内部纠错能力,确定nand flash的纠错模式为CPU控制器纠错模式。
7.如权利要求6所述的装置,其特征在于,所述装置还包括第二响应单元,所述第二响应单元具体用于响应于所述第一纠错能力小于所述内部纠错能力,确定nand flash的纠错模式为所述nand flash内部纠错模式。
8.如权利要求6所述的装置,其特征在于,所述匹配单元具体用于获取所述nand flash的芯片信息;其中,所述芯片信息包括所述nand flash的page存储空间、及OOB存储空间;基于所述page存储空间、所述OOB存储空间、以及所述CPU控制器支持的纠错能力所需存储空间,在所述CPU控制器支持的纠错能力中确定与nand flash匹配的所述第一纠错能力。
9.一种可读存储介质,其特征在于,包括,
存储器,
所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如权利要求1-5中任一项所述的方法。
10.一种电子设备,其特征在于,包括:
存储器,用于存放计算机程序;
处理器,用于执行所述存储器上所存放的计算机程序时,以实现如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310116089.7A CN116028261A (zh) | 2023-01-13 | 2023-01-13 | 一种确定nand flash纠错模式的方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310116089.7A CN116028261A (zh) | 2023-01-13 | 2023-01-13 | 一种确定nand flash纠错模式的方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116028261A true CN116028261A (zh) | 2023-04-28 |
Family
ID=86079539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310116089.7A Pending CN116028261A (zh) | 2023-01-13 | 2023-01-13 | 一种确定nand flash纠错模式的方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116028261A (zh) |
-
2023
- 2023-01-13 CN CN202310116089.7A patent/CN116028261A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7941593B2 (en) | Systems and methods for providing nonvolatile memory management in wireless phones | |
US9520992B2 (en) | Logical-to-physical address translation for a removable data storage device | |
US5742934A (en) | Flash solid state disk card with selective use of an address conversion table depending on logical and physical sector numbers | |
JP4373943B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
US8392797B2 (en) | Error correcting controller, flash memory chip system, and error correcting method thereof | |
JP2006048893A (ja) | 不良ブロック管理機能を有するフラッシュメモリ装置及びフラッシュメモリ装置の不良ブロック管理方法 | |
US20120110243A1 (en) | Data writing method, memory controller, and memory storage apparatus | |
US20170052720A1 (en) | Data protection method, memory contorl circuit unit and memory storage apparatus | |
US7370138B2 (en) | Mobile communication terminal including NAND flash memory and method for booting the same | |
US20050144364A1 (en) | Memory management method for simultaneously loading and executing program codes | |
CN111399752A (zh) | 不同类型存储单元的控制装置及方法 | |
US8527733B2 (en) | Memory system | |
US20030084231A1 (en) | Nonvolatile semiconductor storage device with interface functions | |
CN116028261A (zh) | 一种确定nand flash纠错模式的方法、装置及电子设备 | |
CN116185299A (zh) | 闪存控制器及相关装置和方法 | |
KR100692982B1 (ko) | 배드 블럭 정보가 기록된 난드 타입의 플래시 메모리 | |
US20040117541A1 (en) | System and method for updating firmware in a non-volatile memory without using a processor | |
WO2006101123A1 (ja) | 不揮発性記憶装置及び不揮発性記憶装置の制御情報のロード方法 | |
JP3826115B2 (ja) | 記憶装置、メモリ管理方法及びプログラム | |
US6898680B2 (en) | Minimization of overhead of non-volatile memory operation | |
CN118349186B (zh) | 映射表更新方法与存储装置 | |
US20240232071A1 (en) | Information processing apparatus, information processing system, and information processing method | |
US8214593B2 (en) | Serial interface cache controller including comparison control unit and finite state machine, control method and micro-controller system using the same | |
CN118276786A (zh) | 存储器控制方法及存储装置 | |
CN114842896A (zh) | 基于写入行为预测的写入控制方法、存储装置及控制电路 |
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 |