本发明涉及存储装置技术领域,特别涉及emmc输出入定时控制,具体涉及一emmc校正输出入有效窗口自动调整方法、装置、存储介质。
背景技术:
emmc有不同传输速率,每个传输速率对于输出入定时有不同的条件。而总线速度模式的设置,这是host和emmc通讯的一种时序规范。
clk
clk信号用于从host端输出时钟信号,进行数据传输的同步和设备运作的驱动。
在一个时钟周期内,cmd和dat0-7信号上都可以支持传输1个比特,即sdr(singledatarate)模式。此外,dat0-7信号还支持配置为ddr(doubledatarate)模式,在一个时钟周期内,可以传输2个比特。
host可以在通讯过程中动态调整时钟信号的频率(注,频率范围需要满足spec的定义)。通过调整时钟频率,可以实现省电或者数据流控(避免over-run或者under-run)功能。在一些场景中,host端还可以关闭时钟,例如emmc处于busy状态时,或者接收完数据,进入programmingstate时。
cmd
cmd信号主要用于host向emmc发送command和emmc向host发送对于的response。
dat0-7
dat0-7信号主要用于host和emmc之间的数据传输。在emmc上电或者软复位后,只有dat0可以进行数据传输,完成初始化后,可配置dat0-3或者dat0-7进行数据传输,即数据总线可以配置为4bits或者8bits模式。
datastrobe
datastrobe时钟信号由emmc发送给host,频率与clk信号相同,用于host端进行数据接收的同步。datastrobe信号只能在hs400模式下配置启用,启用后可以提高数据传输的稳定性,省去总线tuning过程。
emmc总线中,可以有一个host,多个emmcdevices。总线上的所有通讯都由host端以一个command开发发起,host一次只能与一个emmcdevice通讯。系统在上电启动后,host会为所有emmcdevice逐个分配地址(rca,relativedeviceaddress)。当host需要和某一个emmcdevice通讯时,会先根据rca选中该emmcdevice,只有被选中的emmcdevice才会响应host的command。
host和emmcdevice的总线速度模式必须匹配起来才能正常通讯,需要设置host侧和emmcdevice侧。host侧针对传输速率改变,可用指令21,device发送tuning模式数据块。host会在不同采样点采集数据,找到最佳采样点。而emmcdevice对于不同传输速率调整输出入定时通常基于出厂初始通用设定,无法对单一emmcdevice逐一调整,因此针对不同的环境或芯片可能会有校正的困难与盲点。
技术实现要素:
发明目的:本发明的目的是为了解决现有技术中的不足,提供一种emmc校正输出入有效窗口自动调整方法,针对emmcdevice对于不同传输速率调整输出入定时通常基于出厂初始通用设定,无法对单一emmcdevice逐一调整,因此针对不同的环境或芯片可能会有校正的困难与盲点,可针对host侧设定传输速率变化,emmcdevice能自动校正对应的输出入有效窗口。
技术方案:
一种emmc校正输出入有效窗口自动调整方法,包括以下步骤:
接收指令数据;
对接收的数据处理;
时钟控制,根据接收的指令数据,控制调整参考时钟位置;
进行延迟调整处理,微校正参考时钟位置数据;
发送数据至内部回环数据接口,;
内部回环对接收的数据进行处理,搜寻每个数据接口的左右边界;
检查内部回环的数据是否正确,若正确,则输出内部回环的数据,调整延迟;
记录左右边界,并针对新的速度设定最佳值,依序找出所有数据接口;
关闭内部回环数据接口;
离开程序状态。
本发明的进一步改进在于,内部回环对接收的数据进行处理的具体步骤为:
接收微校正后的时钟位置数据;
对微校正后的时钟位置数据进行输出;
接收微校正后的时钟位置的时钟位置数据;
对微校正后的时钟位置的时钟位置数据进行回馈输出;
对回馈输出的时钟位置数据与微校正后的时钟位置数据进行对比;
判断回馈输出的时钟位置数据是否正确,若正确则调整延迟。
本发明的进一步改进在于,延迟调整处理,根据时钟输出定时需求调整参考时钟位置。
一种emmc校正输出入有效窗口自动调整的装置,
包括:处理器,处理器用于执行存储在存储器中的以下程序模块:
接收模块,用于接收指令数据;
时钟控制单元模块,用于根据接收的指令数据,控制调整参考时钟位置数据;
延迟单元模块,用于对参考时钟位置数据进行微校正;
内部回环模块,用于搜寻每个数据接口的左右边界,用于检查内部回环的数据是否正确,用于记录左右边界。
本发明的进一步改进在于,内部回环模块,包括回馈模式数据模块、可回环模块;
回馈模式数据模块,用于接收微校正后的时钟位置数据,用于对微校正后的时钟位置数据进行数据输出;
可回环模块,用于接收回馈模式数据模块输出的时钟位置数据,用于对回馈模式数据模块输出的时钟位置数据进行回馈输出;
回馈模式数据模块,还用于接收回馈输出的时钟位置数据,同时,用于对比回馈输出的时钟位置数据与微校正后的时钟位置数据。
本发明的进一步改进在于,回馈模式数据模块为双向iopad,包括输入端、输出端、输出致能端口、以及回环致能端口,回环致能端口与输入端口相连。
一种emmc校正输出入有效窗口自动调整的装置,包括存储器、处理器,以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现如上述emmc校正输出入有效窗口自动调整方法的步骤。
一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时,实现如上述emmc校正输出入有效窗口自动调整方法的步骤。
与现有技术相比,本发明提供的一种emmc校正输出入有效窗口自动调整方法,至少实现了如下的有益效果:
本发明可针对host侧设定传输速率变化,emmcdevice能自动校正对应的输出入有效窗口。
当然,实施本发明的任一产品并不特定需要同时达到以上所述的所有技术效果。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1为本发明的工作流程图;
图2为调整之前输出端口的状态图;
图3为调整之后输出端口的状态图;
图4为在调整之后输出端口搭配时脉控制示意图;
图5为调整参考时钟位置示意图;
图6为实施操作流程图。
具体实施方式
现详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
实施例1,
如图1所示,一种emmc校正输出入有效窗口自动调整方法,包括以下步骤:
接收指令数据;
对接收的数据处理;
时钟控制,根据接收的指令数据,控制调整参考时钟位置;
进行延迟调整处理,微校正参考时钟位置数据;其中,调整参考时钟位置示意图如图5;
发送数据至内部回环数据接口;
内部回环对接收的数据进行处理,搜寻每个数据接口的左右边界;
检查内部回环的数据是否正确,若正确,则输出内部回环的数据,调整延迟;
记录左右边界,并针对新的速度设定最佳值,依序找出所有数据接口;
关闭内部回环数据接口;
离开程序状态。
基于上述实施例,当emmc主机控制发送指令来切换速度时,emmc装置接收到指令后会进入程序状态(prgstate)。进入程序状态后,根据新的速度设定,调整参考时钟位置,可依据时钟输出定时需求调整参考时钟位置。发送数据至内部回的数据接口,数据接口致能内部回环,即通过数据接口使内部回环开启,并调整延迟单元,搜寻每个数据接口的左右边界。搜寻数据接口左右边界方法可为内部送出一组特定数据组合,由回馈模式数据送出,检查数据回环后是否错误,若正确则调整延迟单元,直到发生数据错误。
为了进一步解释本实施例,需要说明的是,内部回环对接收的数据进行处理的具体步骤为:
内部回环中的回馈模式数据模块,接收微校正后的时钟位置数据;
同时,内部回环中的回馈模式数据模块,对微校正后的时钟位置数据进行输出;
内部回环中的可回环模块,接收微校正后的时钟位置的时钟位置数据;
内部回环中的可回环模块,对微校正后的时钟位置的时钟位置数据进行回馈输出;
内部回环中的回馈模式数据模块,对回馈输出的时钟位置数据与微校正后的时钟位置数据进行对比;
判断回馈输出的时钟位置数据是否正确,若正确则调整延迟。
为了进一步解释本实施例,需要说明的是,延迟调整处理,根据时钟输出定时需求调整参考时钟位置。
实施例2,
如图1所示,一种emmc校正输出入有效窗口自动调整的装置,包括:处理器,处理器用于执行存储在存储器中的以下程序模块:
接收模块,用于接收指令数据;
时钟控制单元模块,用于根据接收的指令数据,控制调整参考时钟位置数据;
延迟单元模块,用于对参考时钟位置数据进行微校正;
内部回环模块,用于搜寻每个数据接口的左右边界,用于检查内部回环的数据是否正确,用于记录左右边界。
为了进一步解释本实施例,需要说明的是,内部回环模块,包括回馈模式数据模块、可回环模块;
回馈模式数据模块,用于接收微校正后的时钟位置数据,用于对微校正后的时钟位置数据进行数据输出;
可回环模块,用于接收回馈模式数据模块输出的时钟位置数据,用于对回馈模式数据模块输出的时钟位置数据进行回馈输出;即令内部回环模块开启,让输出数据能够回馈;
回馈模式数据模块,还用于接收回馈输出的时钟位置数据,同时,用于对比回馈输出的时钟位置数据与微校正后的时钟位置数据,并输出数据。
基于上述实施例,本发明可针对host侧设定传输速率变化,emmcdevice能自动校正对应的输出入有效窗口。
为了进一步解释本实施例,需要说明的是,回馈模式数据模块为双向iopad,包括输入端、输出端、输出致能端口、以及回环致能端口,回环致能端口与输入端口相连。其中,致能为enable,即开启的意思,用于开启iointernalloopback。输出致能端口、以及回环致能端口,只有在需要调整的状态下才开启。
本发明调整emmcdevice为校正对应时钟的输出有效窗口。附图2、3、4为emmcdevice输出端口的差异,在调整之前输出端口的状态图如图2,在调整之后输出端口的状态图如图3,在调整之后输出端口,搭配时脉控制示意图如图4。
实施例3,
一种emmc校正输出入有效窗口自动调整的装置/终端设备,包括存储器、处理器,以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现如实施例1中emmc校正输出入有效窗口自动调整方法的步骤。
实施例4,
一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时,实现如如实施例1中emmc校正输出入有效窗口自动调整方法的步骤。
实施例5,
如图6,一种emmc校正输出入有效窗口自动调整方法,包括以下步骤:
开始;
判断是否自动调整调谐相位;
需要自动调整谐相位,则通过数据接口开启内部回环:
设置data左边界,检查反馈数据;
设置data右边界,检查反馈数据;
数据接口内部回环关闭;
结束。
若判断无需自动调整谐相位,则直接跳转结束。
通过上述实施例可知,本发明提供的一种emmc校正输出入有效窗口自动调整方法、装置、存储介质,至少实现了如下的有益效果:
本发明可针对host侧设定传输速率变化,emmcdevice能自动校正对应的输出入有效窗口。
虽然已经通过例子对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上例子仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。