同步闪存u盘的启动方法及其控制系统的制作方法

文档序号:6766511阅读:199来源:国知局
同步闪存u盘的启动方法及其控制系统的制作方法
【专利摘要】本发明公开了一种同步闪存U盘的启动方法及其控制系统,其启动方法包括如下步骤:a根据闪存控制器的起始读写时钟将固件的测试数据写至闪存数据缓存区;b根据起始读写时钟将测试数据读至U盘控制器内存区;c对比两内存区的测试数据是否一致,并记录对比结果及读写时钟的相位参数;d闪存控制器的起始读写时钟延迟一个延迟单位,并重复步骤a至d;e当记录结果由一致跳变至不一致时,停止重复步骤d;f从记录结果为一致的连续区间选择一个结果对应的读写时钟相位参数确定U盘访问闪存的时钟相位,并根据该时钟的相位启动U盘。本发明的技术方案可以合理利用同步闪存工作频率较高的优点,且排除了不同类型同步闪存芯片之间的差异以及PCB等因素的影响,大大提高U盘启动的速度和稳定性。
【专利说明】同步闪存U盘的启动方法及其控制系统
【技术领域】
[0001]本发明涉及U盘存储器领域,更具体地涉及一种同步闪存U盘的启动方法及其控制系统。
【背景技术】
[0002]U盘的软件代码分为两部分,一部分为固件,是固化到U盘控制器芯片ROM里面的程序;另一部分为可以被修改的执行程序,放到存储器RAM中。U盘在启动的时候,需要从闪存当中去搜索配置信息以及把执行程序装载到存储器RAM里面。由于U盘外挂的闪存千差万别,读取数据的相位参数有很大不同,因此可靠地读取闪存的信息非常关键。
[0003]现有的技术方案一般是固件用很低的闪存读写频率(IOMHz左右)去访问闪存,但是目前USB3.0的U盘普遍使用同步闪存(读写频率最高80MHz),且U盘的容量也越来越大,再使用较低闪存读写频率去搜索整个闪存所耗时间非常的长,而且还存在不可靠的情况出现,造成U盘启动失败。
[0004]因此,有必要提供一种改进的同步闪存U盘的启动方法及控制系统来克服上述缺陷。

【发明内容】

[0005]本发明的目的是提供一种同步闪存U盘的启动方法及其控制系统,本发明的技术方案可以合理利用同步闪存工作频率较高的优点,且排除了不同类型同步闪存芯片之间的差异以及PCB等因素的影响,大大提高U盘启动的速度和稳定性。
[0006]为实现上述目的,本发明提供了一种同步闪存U盘的启动方法包括如下步骤:
a.根据闪存控制器的起始读写时钟将固件的测试数据写至闪存数据缓存区;b.根据闪存控制器的起始读写时钟将闪存数据缓存区的测试数据读至U盘控制器内存区;c.对比闪存数据缓存区内的测试数据与U盘控制器内存区内的测试数据是否一致,并记录对比结果及读写时钟的相位参数;d.闪存控制器的起始读写时钟延迟一个延迟单位,并重复步骤a至d;e.当记录结果由一致跳变至不一致时,停止重复步骤d;f.从记录结果为一致的连续区间选择一个结果对应的读写时钟相位参数确定U盘访问闪存的时钟相位,并根据该时钟的相位启动U盘。
[0007]较佳地,在所述步骤e中,当记录结果至少连续为两个不一致时,停止重复步骤d。
[0008]较佳地,所述步骤f具体为:从记录结果为一致的连续区间选择中间结果对应的读写时钟相位参数确定U盘访问闪存的时钟的相位。
[0009]较佳地,所述步骤b具体为:所述U盘控制器内的倍频器输出一低频时钟至所述闪存控制器,且所述低频时钟作为所述闪存控制器的起始读写时钟;且所述倍频器输出一高频时钟至所述U盘控制器的延时电路,以配置闪存控制器输出的DQS的延迟,一数据锁存器根据延迟后的DQS对闪存控制器输出的测试数据进行采样,并将采样后的测试数据输入至所述U盘控制器内存区。[0010]较佳地,所述延时电路根据所述高频时钟延迟DQS至少一个延迟单位,并输出延迟后的DQS至所述数据锁存器,且所述延迟单位为I个所述高频时钟周期。
[0011]较佳地,在所述步骤f中,当记录结果为一致的连续区间的结果数为单数时,选择中间结果对应的读写时钟相位参数确定U盘访问闪存的时钟的相位;当记录结果为一致的连续区间的结果数为双数时,选择两中间结果任意一个对应的读写时钟相位参数确定U盘访问闪存的时钟的相位。
[0012]较佳地,还包括步骤j:当记录结果为一致的连续区间大于设定区间的上限时,增加闪存控制器的起始读写时钟的频率,重复步骤a至f。
[0013]较佳地,重复步骤j,当记录结果为一致的连续区间位于设定区间且小于设定区间的下限时,停止重复步骤j。
[0014]相应地,本发明还提供一种同步闪存U盘的控制系统,用于读取闪存的数据至U盘控制器内存区,包括倍频器、延时电路及数据锁存器,所述倍频器分别输出一高频时钟与一低频时钟,所述低频时钟输入至闪存控制器,且作为所述闪存控制器的起始读写时钟,所述高频时钟输入至所述延时电路,所述闪存控制器根据所述低频时钟输出数据采样脉冲至所述延时电路,所述延时电路根据所述高频时钟延迟数据采样脉冲至少一个延迟单位,并输出延迟后的数据采样脉冲至所述数据锁存器;所述闪存控制器根据所述低频时钟将其数据缓存区的测试数据输出至所述数据锁存器,所述数据锁存器根据输入的数据采样脉冲对输入的测试数据进行采样,并将采样后的测试数据输入至U盘控制器内存区。
[0015]较佳地,所述延迟单位为I个所述高频时钟周期。
[0016]与现有技术相比,本发明的技术方案在U盘启动的时候,在不改变预先储存的闪存数据前提下,在不同读写时钟相位下,将测试数据写入至闪存的数据缓冲寄存器内,再将该测试数据读到U盘控制器内存区,通过固件对比两个内存区的测试数据,进行相位校准,选择最佳读写时钟相位,获得可以稳定读写操作的读写时钟相位参数以后,再启动U盘正式访问闪存数据的工作;从而合理利用同步闪存工作频率较高的优点,且排除了不同类型同步闪存芯片之间的差异以及PCB等因素的影响,大大提高U盘启动的速度和稳定性。
[0017]通过以下的描述并结合附图,本发明将变得更加清晰,这些附图用于解释本发明。
【专利附图】

【附图说明】
[0018]图1为本发明同步闪存U盘的启动方法的流程图。
[0019]图2为本发明同步闪存U盘的启动方法进行相位校准的时序图。
[0020]图3为本发明同步闪存U盘的启动方法进行相位校准的另一时序图。
[0021]图4为本发明同步闪存U盘的控制系统的结构框图。
【具体实施方式】
[0022]现在参考附图描述本发明的实施例,附图中类似的元件标号代表类似的元件。如上所述,本发明提供了一种同步闪存U盘的启动方法及其控制系统,本发明的技术方案可以合理利用同步闪存工作频率较高的优点,且排除了不同类型同步闪存芯片之间的差异以及PCB等因素的影响,大大提高U盘启动的速度和稳定性。
[0023]请参考图1至图3,描述本发明同步闪存U盘的启动方法。如图所示,所述同步闪存U盘的启动方法包括如下步骤:
[0024]步骤S101,根据闪存控制器的起始读写时钟将固件的测试数据写至闪存数据缓存区;在本步骤中,所述闪存控制器的起始读写时钟由U盘控制系统提供,且该读写时钟的频率一般为较低频率的低频时钟,仅为同步闪存最高读写时钟频率的十分之一或更低,该频率可保证被延迟多次后仍能可靠地读取数据;另外,写入的数据为测试数据,且在此时并没有启动闪存编程,因此写入的测试数据对闪存内部存储的其它数据并没有影响。
[0025]步骤S102,根据闪存控制器的起始读写时钟将闪存数据缓存区内的测试数据读至U盘控制器内存区;在本步骤中具体地,U盘控制器内的倍频器(PLL)输出所述低频时钟至所述闪存控制器,且所述低频时钟作为所述闪存控制器的起始读写时钟(见图2中的Lo_DQS_S0),从而在实际应用中,可通过设置调节PLL而设置闪存控制器的起始读写时钟的频率;闪存控制器根据所述低频时钟输出数据采样脉冲(DQS)至所述U盘控制器内的延迟电路,且所述PLL输出一高频时钟(见图2中的Hi_Clk)至所述延时电路,以配置闪存控制器输出的DQS的延迟,所述延时电路将延迟后的DQS输入至所述U盘控制器内的数据锁存器,所述数据锁存器根据延迟后的DQS对闪存数据缓存区输出的测试数据进行采样,并将采样后的测试数据输出至U盘控制器内存区。另外,同步闪存的数据读取特性是在DQS的上升沿和下降沿都采样数据,同步闪存数据输出的起始相位见图2中的Lo_DQS_S0所示(此时的DQS没有被延迟),可见DQS和测试数据(DQ,即图2中的Low_DQ)是同时上升,同时下降的,为了可靠读取DQ,从而对DQS进行延时调整,调整为上升沿和下降沿分别在相邻两个测试数据的中央位置,见图2中的Lo_DQS_S2,以保证稳定地采样测试数据。且在本步骤中,所述延时电路根据所述高频时钟延迟DQS至少一个延迟单位,其中,所述延迟单位为I个所述高频时钟周期。
[0026]步骤S103,对比闪存数据缓存区内的测试数据与U盘控制器内存区内的测试数据是否一致,并记录对比结果及读写时钟的相位参数;在本步骤中,固件对比两个内存区内的测试数据,如果两个测试数据完全相同,对比成功,则记录为S,同时记录此时被延迟后的DQS的相位参数;如果两个测试数据不相同,对比失败,则记录为F ;具体地,当延迟后的DQS对DQ的采样位置满足读数据的建立保持时间,即可使DQS对DQ进行正确采样,即对比测试数据成功(两测试数据完全相同)。
[0027]步骤S104,闪存控制器的起始读写时钟延迟一个延迟单位,并重复步骤SlOl至S104 ;在本步骤中,通过所述U盘控制器内的延迟电路,在前一个DQS的基础上延迟一个延迟单位(如图2中所示,Lo_DQS_Sl在Lo_DQS_S0的基础上延迟了一个延迟单位,其它Lo_DQS_S2、Lo_DQS_S3、Lo_DQS_S4均分别在其前者基础上延迟了一个延迟单位),并重复步骤SlOl至S104,以使DQS可正确地对DQ进行采样,也即对比测试数据成功;通常DQS —开始对DQ的采样位置并不能满足读数据的建立保持时间,从而通过对DQS进行延迟以将其相位校准至可正确采样DQ的相位;另外,经过多次的重复步骤SlOl至S104后,可获得如表1所示的读写对比成功和失败的纪录表:
[0028]
【权利要求】
1.一种同步闪存U盘的启动方法,其特征在于,包括如下步骤: a.根据闪存控制器的起始读写时钟将固件的测试数据写至闪存数据缓存区; b.根据闪存控制器的起始读写时钟将闪存数据缓存区的测试数据读至U盘控制器内存区; c.对比闪存数据缓存区内的测试数据与U盘控制器内存区内的测试数据是否一致,并记录对比结果及读写时钟的相位参数; d.闪存控制器的起始读写时钟延迟一个延迟单位,并重复步骤a至d; e.当记录结果由一致跳变至不一致时,停止重复步骤d; f.从记录结果为一致的连续区间选择一个结果对应的读写时钟相位参数确定U盘访问闪存的时钟相位,并根据该时钟的相位启动U盘。
2.如权利要求1所述的同步闪存U盘的启动方法,其特征在于,在所述步骤e中,当记录结果至少连续为两个不一致时,停止重复步骤d。
3.如权利要求2所述的同步闪存U盘的启动方法,其特征在于,所述步骤f具体为: 从记录结果为一致的连续区间选择中间结果对应的读写时钟相位参数确定U盘访问闪存的时钟的相位。
4.如权利要求3所述的同步闪存U盘的启动方法,其特征在于,所述步骤b具体为:所述U盘控制器内的倍频器输出一低频时钟至所述闪存控制器,且所述低频时钟作为所述闪存控制器的起始读写时钟;且所述倍频器输出一高频时钟至所述U盘控制器的延时电路,以配置闪存控制器输出的DQS的延迟,一数据锁存器根据延迟后的DQS对闪存控制器输出的测试数据进行采样,并将采样后的测试数据输入至所述U盘控制器内存区。
5.如权利要求4所述的同步闪存U盘的启动方法,其特征在于,所述延时电路根据所述高频时钟延迟DQS至少一个延迟单位,并输出延迟后的DQS至所述数据锁存器,且所述延迟单位为I个所述高频时钟周期。
6.如权利要求1所述的同步闪存U盘的启动方法,其特征在于,在所述步骤f中,当记录结果为一致的连续区间的结果数为单数时,选择中间结果对应的读写时钟相位参数确定U盘访问闪存的时钟的相位;当记录结果为一致的连续区间的结果数为双数时,选择两中间结果任意一个对应的读写时钟相位参数确定U盘访问闪存的时钟的相位。
7.如权利要求1-6任一项所述的同步闪存U盘的启动方法,其特征在于,还包括步骤j:当记录结果为一致的连续区间大于设定区间的上限时,增加闪存控制器的起始读写时钟的频率,重复步骤a至f。
8.如权利要求6所述的同步闪存U盘的启动方法,其特征在于,重复步骤j,当记录结果为一致的连续区间位于设定区间且小于设定区间的下限时,停止重复步骤j。
9.一种同步闪存U盘的控制系统,用于读取闪存的数据至U盘控制器内存区,其特征在于,包括倍频器、延时电路及数据锁存器,所述倍频器分别输出一高频时钟与一低频时钟,所述低频时钟输入至闪存控制器,且作为所述闪存控制器的起始读写时钟,所述高频时钟输入至所述延时电路,所述闪存控制器根据所述低频时钟输出数据采样脉冲至所述延时电路,所述延时电路根据所述高频时钟延迟数据采样脉冲至少一个延迟单位,并输出延迟后的数据采样脉冲至所述数据锁存器;所述闪存控制器根据所述低频时钟将其数据缓存区的测试数据输出至所述数据锁存器,所述数据锁存器根据输入的数据采样脉冲对输入的测试数据进行采样,并将采样后的测试数据输入至U盘控制器内存区。
10.如权利要求9所 述的同步闪存U盘的控制系统,其特征在于,所述延迟单位为I个所述高频时钟周期。
【文档编号】G11C7/10GK103927131SQ201410112035
【公开日】2014年7月16日 申请日期:2014年3月25日 优先权日:2014年3月25日
【发明者】唐剑 申请人:四川和芯微电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1