一种底层驱动及NandFlash识别方法

文档序号:10593782阅读:166来源:国知局
一种底层驱动及NandFlash识别方法
【专利摘要】本发明实施例提供一种底层驱动及NandFlash识别方法,其中,NandFlash识别方法包括:确定待识别NandFlash,当所述待识别NandFlash处于得电状态时,读取所述待识别NandFlash的配置表信息,根据所述配置表信息识别所述待识别NandFlash的类型,根据所述类型读取所述待识别NandFlash内信息;其中,所述待识别NandFlash的配置表信息通过当所述待识别NandFlash处于非得电状态时,读取所述待识别NandFlash的ID,将所述ID发送给上位机,接收所述上位机根据所述ID查询得到的配置信息,将所述配置信息以配置表的形式写入所述待识别NandFlash中进行存储得到。无需更换底层驱动便可对所有类型的NandFlash进行识别,操作更为便捷,具有更强的适用性,且提高了识别效率,降低了识别成本。
【专利说明】
一种底层驱动及NandF I ash识别方法
技术领域
[000? ]本发明涉及计算机技术领域,特别是涉及一种底层驱动及NandFlash识别方法。
【背景技术】
[0002]随着计算机的飞速发展,大数据的普及应用,对大容量的存储设备需求也越来越广泛,并要求存储设备有更大的容量,更快的速度。通常,U盘、EMMC和SSD等设备均通过更换相对应的底层驱动来实现对不同类型NandFlash的识别。目前,NandFlash种类繁多,通过更换底层驱动来适应不同NandFlash,操作较为不便,适用性较差,且识别效率较低,成本较尚O

【发明内容】

[0003]有鉴于此,本发明实施例提供一种底层驱动及NandFlash识别方法,以解决现有技术中通过更换底层驱动来适应不同NandFlash,操作较为不便,且识别效率较低,成本较高的问题。
[0004]为实现上述目的,本发明实施例提供如下技术方案:
[0005]—种NandFlash识别方法,包括
[0006]确定待识别NandFlash,当所述待识别NandFlash处于得电状态时,读取所述待识另IjNandFlash的配置表信息,根据所述配置表信息识别所述待识别NandFlash的类型,根据所述类型读取所述待识别NandF I ash内信息;
[0007]其中,所述待识别NandFlash的配置表信息通过当所述待识别NandFlash处于非得电状态时,读取所述待识别NandFlash的ID,将所述ID发送给上位机,接收所述上位机根据所述ID查询得到的配置信息,将所述配置信息以配置表的形式写入所述待识别NandFlash中进行存储得到。
[0008]其中,所述读取所述待识别NandFlash的配置表信息后还包括:
[0009]判断所述配置表信息是否读取成功;
[0010]若不成功,生成第一错误信息。
[0011]其中,所述根据所述配置表信息识别所述待识别NandFlash的类型后还包括:
[0012I判断是否成功识别所述待识别NandFlash的类型;
[0013]若不成功,生成第二错误信息。
[0014]其中,所述将所述ID发送给上位机后还包括:
[0015]判断是否在预设时间内接收到所述上位机根据所述ID查询得到的配置信息;
[0016]若否,则重新将所述ID发送给上位机,直至在预设时间内接收到所述上位机根据所述ID查询得到的配置信息。
[0017]其中,所述将所述ID发送给上位机后还包括:
[0018]从零开始累积将所述ID发送给上位机的次数;
[0019]若所述次数大于预设阈值,则确认所述上位机中缺失所述待识别NandFlash的配置信息,控制所述上位机添加所述待识别NandFlash的配置信息,将所述次数归零。
[0020]一种底层驱动,用于识别NandFlash,包括:配置读取模块、识别模块、ID读取模块和写入模块;其中,
[0021 ] 所述配置读取模块,用于确定待识别NandFlash,当所述待识别NandFlash处于得电状态时,读取所述待识别NandFlash的配置表信息;
[0022]所述识别模块,用于根据所述配置表信息识别所述待识别NandFlash的类型,根据所述类型读取所述待识别NandF I ash内信息;
[0023]所述ID读取模块,用于当所述待识别NandFlash处于非得电状态时,读取所述待识别NandFlash的ID,将所述ID发送给上位机;
[0024]所述写入模块,用于接收所述上位机根据所述ID查询得到的配置信息,将所述配置信息以配置表的形式写入所述待识别NandFlash中进行存储。
[0025]其中,所述底层驱动还包括:第一判断模块,用于判断所述配置表信息是否读取成功,若不成功,生成第一错误信息。
[0026]其中,所述底层驱动还包括:第二判断模块,用于判断是否成功识别所述待识别NandFlash的类型,若不成功,生成第二错误信息。
[0027]其中,所述底层驱动还包括:第三判断模块,用于判断是否在预设时间内接收到所述上位机根据所述ID查询得到的配置信息;
[0028]所述ID读取模块,还用于当所述第三判断模块判定未在预设时间内接收到所述上位机根据所述ID查询得到的配置信息时,重新将所述ID发送给上位机。
[0029]其中,所述底层驱动还包括:计数模块,用于从零开始累积将所述ID发送给上位机的次数,若所述次数大于预设阈值,则确认所述上位机中缺失所述待识别NandFlash的配置信息,控制所述上位机添加所述待识别NandFlash的配置信息。
[°03°]基于上述技术方案,本发明实施例提供的底层驱动及NandFlash识别方法,在确定待识别NandFlash后,当该你待识别NandFlash处于得电状态时,读取该待识别NandFlash的配置表信息,根据该配置表信息识别该待识别NandFlash的类型,根据该待识别NandFlash的类型读取该待识别NandF I a sh内信息,完成对该待识别NandF I a sh的识别,其中,待识别NandFlash的配置表信息通过当该待识别NandFlash处于非得电状态时,读取该待识别NandFlash的ID,将该ID发送给上位机,接收该上位机根据该ID查询得到的配置信息,将该配置信息以配置表的形式写入该待识别NandFlash中进行存储得到。无论待识别NandFlash为何种类型,均可通过读取待识别NandFlash内配置表信息来识别该待识别NandFlash的类型,进而读取到该待识别NandFlash内信息,完成对该待识别NandFlash,无需更换底层驱动便可对所有类型的NandFlash进行识别,操作更为便捷,具有更强的适用性,且提高了识别效率,降低了识别成本。
【附图说明】
[0031]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0032]图1为本发明实施例提供的NandFlash识别方法的流程图;
[0033]图2为本发明实施例提供的NandFlash识别方法中生成第一错误信息的方法流程图;
[0034]图3为本发明实施例提供的NandFlash识别方法中生成第二错误信息的方法流程图;
[0035]图4为本发明实施例提供的NandFlash识别方法中重新将待识别NandFlash的ID发送给上位机的方法流程图;
[0036]图5为本发明实施例提供的Na n d FI a s h识别方法中确认上位机中缺失待识别NandFlash的配置信息的方法流程图;
[0037]图6为本发明实施例提供的底层驱动的系统框图;
[0038]图7为本发明实施例提供的底层驱动的另一系统框图;
[0039]图8为本发明实施例提供的底层驱动的再一系统框图;
[0040]图9为本发明实施例提供的底层驱动的又一系统框图;
[0041]图10为本发明实施例提供的底层驱动的又另一系统框图。
【具体实施方式】
[0042]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0043]图1为本发明实施例提供的NandFlash识别方法的流程图,无论待识别NandFlash为何种类型,均可通过读取待识别NandFlash内配置表信息来识别该待识别NandFlash的类型,进而读取到该待识别NandFlash内信息,完成对该待识别NandFlash,无需更换底层驱动便可对所有类型的NandFlash进行识别,操作更为便捷,具有更强的适用性,且提高了识别效率,降低了识别成本;参照图1,该NandFlash识别方法可以包括:
[0044]步骤SlOO:确定待识别NandFlash,当所述待识别NandFlash处于得电状态时,读取所述待识别NandF I ash的配置表信息;
[0045]在确定待识别NandFlash后,若该待识别NandFlash得电,即该待识别NandFlash处于得电状态,则读取该待识别NandFlash的配置表信息。其中,待识别NandFlash的配置表信息通过在该待识别NandFlash处于出厂量产阶段,非得电状态时,读取该待识别NandFlash的ID,将该ID发送给上位机,接收该上位机根据该ID查询得到的配置信息,将该配置信息以配置表的形式写入该待识别NandFlash中进行存储得到。
[0046]可选的,可在待识别NandFlash中存储至少两份配置信息。
[0047]可选的,在执行读取待识别NandFlash的配置表信息操作后,可判断是否成功读取到该待识别NandFlash配置表信息,若未成功读取到该待识别NandFlash配置表信息,则说明该待识别NandFlash的配置信息写入失败,生成第一错误信息,若成功读取到该待识别NandFlash配置表信息,可继续进行下一步操作,根据该配置表信息识别所述待识别NandFlash 的类型。
[0048]可选的,若确定生成第一错误信息,即确定待识别NandFlash的配置信息写入失败,则可对该待识别NandFlash的配置信息进行重新写入,即重新在该待识别NandFlash处于出厂量产阶段,非得电状态时,读取该待识别NandFlash的ID,将该待识别NandFlash的ID发送给上位机,然后接收该上位机根据该ID查询得到的配置信息,将该配置信息以配置表的形式写入该待识别NandFlash中进行存储。
[0049]可选的,在向待识别NandFlash中写入配置信息时,将待识别NandFlash的ID发送给上位机后,正常情况下,上位机在接收到该待识别NandFlash的ID后,将根据该待识别NandFlash的ID查询得到该ID相对应的配置信息,并将查询到的配置信息返回。然而,若上位机未能正确接收到该待识别NandFlash的ID,或该上位机中未存储有该待识别NandFlash的配置信息时,该上位机将无法查询且返回该待识别NandFlash的配置信息。因此,在向待识别NandFlash中写入配置信息时,将待识别NandFlash的ID发送给上位机后,可判断是否在预设时间内接收到上位机返回的配置信息。
[0050]若未能在预设时间内接收到上位机返回的配置信息,则首先认为该上位机未能正确接收到该待识别NandFlash的ID,重新将待识别NandFlash的ID发送给该上位机,直至在预设时间内接收到上位机返回的配置信息,而若向上位机发送将待识别NandFlash的ID超过预设的次数,则认为该上位机中未存储有该待识别NandFlash的配置信息,控制该上位机添加该待识别
[0051 ] NandFlash的配置信息,并将该累计的次数归零。
[0052]步骤SI10:根据所述配置表信息识别所述待识别NandFlash的类型,根据所述类型读取所述待识别NandFlash内信息。
[0053]根据待识别NandFlash的配置表信息便可识别该待识别NandFlash的类型,最后根据该待识别NandFlash类型读取该待识别NandFlash内信息,完成对该待识别NandFlash的识别。
[0054]可选的,在执行根据配置表信息识别待识别NandFlash的类型操作后,可判断是否成功识别到该待识别NandFlash的类型,若成功识别到该待识别NandFlash的类型,可继续进行下一步操作,根据该待识别NandFlash的类型读取该待识别NandFlash内信息,若未成功识别到该待识别NandFlash的类型,则生成第二错误信息,确定该待识别NandFlash识别失败,该待识别NandFlash可能发生故障。
[0055]基于上述技术方案,本发明实施例提供的底层驱动及NandFlash识别方法,在确定待识别NandFlash后,当该你待识别NandFlash处于得电状态时,读取该待识别NandFlash的配置表信息,根据该配置表信息识别该待识别NandFlash的类型,根据该待识别NandFlash的类型读取该待识别NandF I a sh内信息,完成对该待识别NandF I a sh的识别,其中,待识别NandFlash的配置表信息通过当该待识别NandFlash处于出厂量产阶段,非得电状态时,读取该待识别NandFlash的ID,将该ID发送给上位机,接收该上位机根据该ID查询得到的配置信息,将该配置信息写入该待识别NandFlash的配置表中得到。无论待识别NandFlash为何种类型,均可通过读取待识别NandF I ash内配置表信息来识别该待识别NandF I a sh的类型,进而读取到该待识别NandFlash内信息,完成对该待识别NandFlash,无需更换底层驱动便可对所有类型的NandFlash进行识别,操作更为便捷,具有更强的适用性,且提高了识别效率,降低了识别成本。
[0056]可选的,图2示出了本发明实施例提供的NandFlash识别方法中生成第一错误信息的方法流程图,参照图2,该生成第一错误信息的方法可以包括:
[0057]步骤S200:判断所述配置表信息是否读取成功;
[0058]在执行读取待识别NandFlash的配置表信息操作后,可判断是否成功读取到该待识别NandFlash配置表信息。
[0059]步骤S210:若不成功,生成第一错误信息。
[0000]若未成功读取到该待识别NandFlash配置表信息,则说明该待识别NandFlash的配置信息写入失败,生成第一错误信息。反正,若成功读取到该待识别NandFlash配置表信息,可继续进行下一步操作,根据该配置表信息识别所述待识别NandFlash的类型。
[0061]可选的,若确定生成第一错误信息,即确定待识别NandFlash的配置信息写入失败,则可对该待识别NandFlash的配置信息进行重新写入。
[0062]可选的,图3示出了本发明实施例提供的NandFlash识别方法中生成第二错误信息的方法流程图,参照图3,该生成第二错误信息的方法可以包括:
[0063]步骤S300:判断是否成功识别所述待识别NandFlash的类型;
[0064]在执行根据配置表信息识别待识别NandFlash的类型操作后,可判断是否成功识别到该待识别NandF I a s h的类型。
[0065]步骤S310:若不成功,生成第二错误信息。
[ΟΟ??]若未成功识别到该待识别NandFlash的类型,则生成第二错误信息,确定该待识别NandFlash识别失败,该待识别NandFlash可能发生故障。反正,若成功识别到该待识别NandFlash的类型,可继续进行下一步操作,根据该待识别NandFlash的类型读取该待识别NandFlash 内信息。
[0067]可选的,图4示出了本发明实施例提供的NandFlash识别方法中重新将待识别NandFlash的ID发送给上位机的方法流程图,参照图4,该重新将待识别NandFlash的ID发送给上位机的方法可以包括:
[0068]步骤S400:判断是否在预设时间内接收到所述上位机根据所述ID查询得到的配置信息;
[OO69 ]由于上位机可能因为未能正确接收到该待识别Nan dF I a s h的ID,或因为上位机中未存储有该待识别NandFlash的配置信息,而无法返回配置信息,因此,在向待识别NandFlash中写入配置信息时,将待识别NandFlash的ID发送给上位机后,可判断是否在预设时间内接收到上位机返回的配置信息。
[0070]步骤S410:若否,则重新将所述ID发送给上位机,返回步骤S400。
[0071]步骤S420:若是,则结束操作。
[0072]若未能在预设时间内接收到上位机返回的配置信息,则可认为该上位机未能正确接收到该待识别NandFlash的ID,重新将待识别NandFlash的ID发送给该上位机,直至在预设时间内接收到上位机返回的配置信息,结束操作。
[0073]可选的,图5示出了本发明实施例提供的NandFlash识别方法中确认上位机中缺失待识别NandFlash的配置信息的方法流程图,参照图5,该确认上位机中缺失待识别NandFlash的配置信息的方法可以包括:
[0074]步骤S500:从零开始累积将所述ID发送给上位机的次数;
[0075]将待识别NandFlash的ID发送给上位机后,可从零开始累积将所述ID发送给上位机的次数。
[0076]步骤S510:判断所述次数是否大于预设阈值;
[0077]步骤S520:若是,则确认所述上位机中缺失所述待识别NandFlash的配置信息,控制所述上位机添加所述待识别NandFlash的配置信息,将所述次数归零。
[0078]若向上位机发送将待识别NandFI a sh的ID超过预设的次数,贝Ij认为该上位机中未存储有该待识别NandFlash的配置信息,控制该上位机添加该待识别NandFlash的配置信息,并将该累计的次数归零。
[0079]本发明实施例提供的NandFlash识别方法,无需更换底层驱动便可对所有类型的NandFlash进行识别,操作更为便捷,具有更强的适用性,且提高了识别效率,降低了识别成本。
[0080]下面对本发明实施例提供的底层驱动进行介绍,下文描述的底层驱动与上文描述的NandFlash识别方法可相互对应参照。
[0081]图6为本发明实施例提供的底层驱动的系统框图,参照图6,该底层驱动可以包括:配置读取模块100、识别模块200、ID读取模块300和写入模块400;其中,
[0082]配置读取模块100,用于确定待识别NandFlash,当所述待识别NandFlash处于得电状态时,读取所述待识别NandFlash的配置表信息;
[0083]识别模块200,用于根据所述配置表信息识别所述待识别NandFlash的类型,根据所述类型读取所述待识别NandF I ash内信息;
[0084]ID读取模块300,用于当所述待识别NandFlash处于出厂量产阶段,非得电状态时,读取所述待识别NandFlash的ID,将所述ID发送给上位机;
[0085]写入模块400,用于接收所述上位机根据所述ID查询得到的配置信息,将所述配置信息以配置表的形式写入所述待识别NandFlash中进行存储。
[0086]可选的,图7示出了本发明实施例提供的底层驱动的另一系统框图,参照图7,该底层驱动可以还包括:第一判断模块500。
[0087]第一判断模块500,用于判断所述配置表信息是否读取成功,若不成功,生成第一错误信息。
[0088]可选的,图8示出了本发明实施例提供的底层驱动的再一系统框图,参照图8,该底层驱动可以还包括:第二判断模块600。
[0089]第二判断模块600,用于判断是否成功识别所述待识别NandFlash的类型,若不成功,生成第二错误信息。
[0090]可选的,图9示出了本发明实施例提供的底层驱动的又一系统框图,参照图9,该底层驱动可以还包括:第三判断模块700。
[0091 ]第三判断模块700,用于判断是否在预设时间内接收到所述上位机根据所述ID查询得到的配置信息;
[0092]当底层驱动中包括第三判断模块700时,ID读取模块300还用于当所述第三判断模块判定未在预设时间内接收到所述上位机根据所述ID查询得到的配置信息时,重新将所述ID发送给上位机。
[0093]可选的,图10示出了本发明实施例提供的底层驱动的又另一系统框图,参照图10,该底层驱动可以还包括:计数模块800。
[0094]计数模块800,用于从零开始累积将所述ID发送给上位机的次数,若所述次数大于预设阈值,则确认所述上位机中缺失所述待识别NandFlash的配置信息,控制所述上位机添加所述待识别NandF I ash的配置信息。
[0095]本发明实施例提供的底层驱动,无需更换底层驱动便可对所有类型的NandFlash进行识别,操作更为便捷,具有更强的适用性,且提高了识别效率,降低了识别成本。
[0096]本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0097]专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0098]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
【主权项】
1.一种NandFlash识别方法,其特征在于,包括 确定待识别NandFlash,当所述待识别NandFlash处于得电状态时,读取所述待识别NandFlash的配置表信息,根据所述配置表信息识别所述待识别NandFlash的类型,根据所述类型读取所述待识别NandF I ash内信息; 其中,所述待识别NandFlash的配置表信息通过当所述待识别NandFlash处于非得电状态时,读取所述待识别NandFlash的ID,将所述ID发送给上位机,接收所述上位机根据所述ID查询得到的配置信息,将所述配置信息以配置表的形式写入所述待识别NandFlash中进行存储得到。2.根据权利要求1所述的NandFlash识别方法,其特征在于,所述读取所述待识别NandFlash的配置表信息后还包括: 判断所述配置表信息是否读取成功; 若不成功,生成第一错误信息。3.根据权利要求1所述的NandFlash识别方法,其特征在于,所述根据所述配置表信息识别所述待识别NandFlash的类型后还包括: 判断是否成功识别所述待识别NandF I ash的类型; 若不成功,生成第二错误信息。4.根据权利要求1所述的NandFlash识别方法,其特征在于,所述将所述ID发送给上位机后还包括: 判断是否在预设时间内接收到所述上位机根据所述ID查询得到的配置信息; 若否,则重新将所述ID发送给上位机,直至在预设时间内接收到所述上位机根据所述ID查询得到的配置信息。5.根据权利要求4所述的NandFlash识别方法,其特征在于,所述将所述ID发送给上位机后还包括: 从零开始累积将所述ID发送给上位机的次数; 若所述次数大于预设阈值,则确认所述上位机中缺失所述待识别NandFlash的配置信息,控制所述上位机添加所述待识别NandFlash的配置信息,将所述次数归零。6.—种底层驱动,用于识别NandFlash,其特征在于,包括:配置读取模块、识别模块、ID读取模块和写入模块;其中, 所述配置读取模块,用于确定待识别NandFlash,当所述待识别NandFlash处于得电状态时,读取所述待识别NandFlash的配置表信息; 所述识别模块,用于根据所述配置表信息识别所述待识别NandFlash的类型,根据所述类型读取所述待识别NandF I ash内信息; 所述ID读取模块,用于当所述待识别NandFlash处于非得电状态时,读取所述待识别NandFlash的ID,将所述ID发送给上位机; 所述写入模块,用于接收所述上位机根据所述ID查询得到的配置信息,将所述配置信息以配置表的形式写入所述待识别NandFlash中进行存储。7.根据权利要求6所述的底层驱动,其特征在于,还包括:第一判断模块,用于判断所述配置表信息是否读取成功,若不成功,生成第一错误信息。8.根据权利要求6所述的底层驱动,其特征在于,还包括:第二判断模块,用于判断是否成功识别所述待识别NandFlash的类型,若不成功,生成第二错误信息。9.根据权利要求6所述的底层驱动,其特征在于,还包括: 所述底层驱动还包括:第三判断模块,用于判断是否在预设时间内接收到所述上位机根据所述ID查询得到的配置信息; 所述ID读取模块,还用于当所述第三判断模块判定未在预设时间内接收到所述上位机根据所述ID查询得到的配置信息时,重新将所述ID发送给上位机。10.根据权利要求9所述的底层驱动,其特征在于,还包括:计数模块,用于从零开始累积将所述ID发送给上位机的次数,若所述次数大于预设阈值,则确认所述上位机中缺失所述待识别NandFlash的配置信息,控制所述上位机添加所述待识别NandFlash的配置信息。
【文档编号】G06F3/06GK105955667SQ201610287087
【公开日】2016年9月21日
【申请日】2016年5月3日
【发明人】罗辉
【申请人】深圳芯邦科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1