存储接口、时序控制方法及存储系统转让专利

申请号 : CN201780089446.8

文献号 : CN110495100B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 涂君

申请人 : 华为技术有限公司

摘要 :

本申请公开了一种存储接口,所述存储接口连接在主控制器和存储设备之间,可包括:第一可编程输入输出单元,用于对主控制器输出的时钟信号进行相位反转,并输出反相后的时钟信号给存储设备;第二可编程输入输出单元,用于对主控制器输出的数据信号进行延时处理,并输出延时后的数据信号给存储设备,延时后的数据信号比主控制器输出的时钟信号延后了时间△T,且TCLK/2-△T≥TISU且△T≥TIH;其中,TCLK表示时钟信号的周期,TISU表示不同数据速率模式下存储设备要求的最短输入建立时间,TIH表示不同数据速率模式下存储设备要求的最短输入保持时间。上述方案可简单的实现存储设备在不同速率模式之间切换。

权利要求 :

1.一种存储接口,所述存储接口连接在主控制器和存储设备之间,其特征在于,包括:第一可编程输入输出单元和第二可编程输入输出单元,其中:所述第一可编程输入输出单元用于对所述主控制器输出的时钟信号进行相位反转,并输出反相后的时钟信号给所述存储设备,用于采样所述主控制器输出给所述存储设备的数据信号;

所述第二可编程输入输出单元对所述主控制器输出的数据信号进行延时处理,并输出延时后的数据信号给所述存储设备,延时后的数据信号在时序上比所述主控制器输出的时钟信号延后了时间△T,且TCLK/2-△T≥TISU且△T≥TIH;

其中,TCLK表示所述时钟信号的周期,TISU表示不同数据速率模式下所述存储设备要求的最短输入建立时间,TIH表示不同数据速率模式下所述存储设备要求的最短输入保持时间。

2.如权利要求1所述的存储接口,其特征在于,所述存储设备包括:存储介质和设备控制器,所述设备控制器用于根据所述存储接口输出的所述反相后的时钟信号和所述延时后的数据信号,对所述存储介质执行写操作。

3.如权利要求1所述的存储接口,其特征在于,所述数据信号对应多种数据速率模式,包括:单数据速率模式和双数据速率模式,其中:TCLK/2-△T≥TISU-SDR且△T≥TIH-SDR,TCLK/

2-△T≥TISU-DDR且△T≥TIH-DDR,其中,TISU-SDR、TISU-DDR分别表示所述存储设备在单数据速率模式、双数据速率模式下要求的最短输入建立时间,TIH-SDR、TIH-DDR分别表示所述存储设备在单数据速率模式、双数据速率模式下要求的最短输入保持时间。

4.如权利要求2所述的存储接口,其特征在于,所述数据信号对应多种数据速率模式,包括:单数据速率模式和双数据速率模式,其中:TCLK/2-△T≥TISU-SDR且△T≥TIH-SDR,TCLK/

2-△T≥TISU-DDR且△T≥TIH-DDR,其中,TISU-SDR、TISU-DDR分别表示所述存储设备在单数据速率模式、双数据速率模式下要求的最短输入建立时间,TIH-SDR、TIH-DDR分别表示所述存储设备在单数据速率模式、双数据速率模式下要求的最短输入保持时间。

5.如权利要求1-4中任一项所述的存储接口,其特征在于,所述第一可编程输入输出单元和所述第二可编程输入输出单元是两个分别独立的可编程逻辑器件,或者集成在同一个可编程逻辑器件中。

6.如权利要求1-4中任一项所述的存储接口,其特征在于,所述存储接口包括分别对应多种存储设备的多组所述第一可编程输入输出单元和所述第二可编程输入输出单元,其中,一种存储设备对应一组所述第一可编程输入输出单元和所述第二可编程输入输出单元;所述多种存储设备支持的数据速率模式不同。

7.如权利要求5所述的存储接口,其特征在于,所述存储接口包括分别对应多种存储设备的多组所述第一可编程输入输出单元和所述第二可编程输入输出单元,其中,一种存储设备对应一组所述第一可编程输入输出单元和所述第二可编程输入输出单元;所述多种存储设备支持的数据速率模式不同。

8.如权利要求1-4中任一项所述的存储接口,其特征在于,所述存储接口集成在所述主控制器上,或者,所述存储接口独立在所述主控制器外。

9.如权利要求5所述的存储接口,其特征在于,所述存储接口集成在所述主控制器上,或者,所述存储接口独立在所述主控制器外。

10.如权利要求6所述的存储接口,其特征在于,所述存储接口集成在所述主控制器上,或者,所述存储接口独立在所述主控制器外。

11.如权利要求7所述的存储接口,其特征在于,所述存储接口集成在所述主控制器上,或者,所述存储接口独立在所述主控制器外。

12.如权利要求1-4、9、10、11中任一项所述的存储接口,其特征在于,所述存储设备是嵌入式多媒体卡eMCC,所述数据信号对应的多种数据速率模式包括:HS200和HS400,其中:TCLK/2-△T≥TISU-HS200且△T≥TIH-HS200,TCLK/2-△T≥TISU-HS400且△T≥TIH-HS400,其中,TISU-HS200、TISU-HS400分别表示eMMC在HS200、HS400这两种数据速率模式下要求的最短输入建立时间,TIH-HS200、TIH-HS400分别表示eMMC在HS200、HS400这两种数据速率模式下要求的最短输入保持时间。

13.如权利要求5所述的存储接口,其特征在于,所述存储设备是嵌入式多媒体卡eMCC,所述数据信号对应的多种数据速率模式包括:HS200和HS400,其中:TCLK/2-△T≥TISU-HS200且△T≥TIH-HS200,TCLK/2-△T≥TISU-HS400且△T≥TIH-HS400,其中,TISU-HS200、TISU-HS400分别表示eMMC在HS200、HS400这两种数据速率模式下要求的最短输入建立时间,TIH-HS200、TIH-HS400分别表示eMMC在HS200、HS400这两种数据速率模式下要求的最短输入保持时间。

14.如权利要求6所述的存储接口,其特征在于,所述存储设备是嵌入式多媒体卡eMCC,所述数据信号对应的多种数据速率模式包括:HS200和HS400,其中:TCLK/2-△T≥TISU-HS200且△T≥TIH-HS200,TCLK/2-△T≥TISU-HS400且△T≥TIH-HS400,其中,TISU-HS200、TISU-HS400分别表示eMMC在HS200、HS400这两种数据速率模式下要求的最短输入建立时间,TIH-HS200、TIH-HS400分别表示eMMC在HS200、HS400这两种数据速率模式下要求的最短输入保持时间。

15.如权利要求7所述的存储接口,其特征在于,所述存储设备是嵌入式多媒体卡eMCC,所述数据信号对应的多种数据速率模式包括:HS200和HS400,其中:TCLK/2-△T≥TISU-HS200且△T≥TIH-HS200,TCLK/2-△T≥TISU-HS400且△T≥TIH-HS400,其中,TISU-HS200、TISU-HS400分别表示eMMC在HS200、HS400这两种数据速率模式下要求的最短输入建立时间,TIH-HS200、TIH-HS400分别表示eMMC在HS200、HS400这两种数据速率模式下要求的最短输入保持时间。

16.如权利要求8所述的存储接口,其特征在于,所述存储设备是嵌入式多媒体卡eMCC,所述数据信号对应的多种数据速率模式包括:HS200和HS400,其中:TCLK/2-△T≥TISU-HS200且△T≥TIH-HS200,TCLK/2-△T≥TISU-HS400且△T≥TIH-HS400,其中,TISU-HS200、TISU-HS400分别表示eMMC在HS200、HS400这两种数据速率模式下要求的最短输入建立时间,TIH-HS200、TIH-HS400分别表示eMMC在HS200、HS400这两种数据速率模式下要求的最短输入保持时间。

17.一种存储系统,其特征在于,包括:主控制器、存储设备,以及连接在所述主控制器和所述存储设备之间的存储接口,所述存储接口包括第一可编程输入输出单元和第二可编程输入输出单元,其中:

所述第一可编程输入输出单元用于对所述主控制器输出的时钟信号进行相位反转,并输出反相后的时钟信号给所述存储设备,用于采样所述主控制器输出给所述存储设备的数据信号;

所述第二可编程输入输出单元用于对所述主控制器输出的数据信号进行延时处理,并输出延时后的数据信号给所述存储设备,所述延时后的数据信号在时序上比所述主控制器输出的时钟信号延后了时间△T,且TCLK/2-△T≥TISU且△T≥TIH;

其中,TCLK表示所述时钟信号的周期,TISU表示不同数据速率模式下所述存储设备要求的最短输入建立时间,TIH表示不同数据速率模式下所述存储设备要求的最短输入保持时间。

18.一种时序控制方法,其特征在于,包括

终端通过第一可编程输入输出单元将主控制器输出给存储设备的时钟信号进行相位反转;

所述终端通过第二可编程输入输出单元将所述主控制器输出给所述存储设备的数据信号延迟时间△T;

其中,所述时钟信号用于采样所述数据信号;TCLK/2-△T≥TISU且△T≥TIH;TCLK表示所述时钟信号的周期,TISU表示不同数据速率模式下所述存储设备要求的最短输入建立时间,TIH表示不同数据速率模式下所述存储设备要求的最短输入保持时间。

19.一种终端,其特征在于,包括:第一时序控制单元和第二时序控制单元,其中:所述第一时序控制单元用于通过第一可编程输入输出单元将主控制器输出给存储设备的时钟信号进行相位反转;

所述第二时序控制单元用于通过第二可编程输入输出单元将所述主控制器输出给所述存储设备的数据信号延迟时间△T;

其中,所述时钟信号用于采样所述数据信号;TCLK/2-△T≥TISU且△T≥TIH;TCLK表示所述时钟信号的周期,TISU表示不同数据速率模式下所述存储设备要求的最短输入建立时间,TIH表示不同数据速率模式下所述存储设备要求的最短输入保持时间。

20.一种终端,其特征在于,包括:处理器、内部存储器,其中,所述内部存储器包括:主控制器、存储设备,以及连接在所述主控制器和所述存储设备之间的存储接口,所述存储接口包括第一可编程输入输出单元和第二可编程输入输出单元;其中:所述第一可编程输入输出单元用于对所述主控制器输出的时钟信号进行相位反转,并输出反相后的时钟信号给所述存储设备,用于采样所述主控制器输出给所述存储设备的数据信号;所述第二可编程输入输出单元用于对所述主控制器输出的数据信号进行延时处理,并输出延时后的数据信号给所述存储设备,所述延时后的数据信号在时序上比所述主控制器输出的时钟信号延后了时间△T,且TCLK/2-△T≥TISU且△T≥TI;其中,TCLK表示所述时钟信号的周期,TISU表示不同数据速率模式下所述存储设备要求的最短输入建立时间,TIH表示不同数据速率模式下所述存储设备要求的最短输入保持时间。

说明书 :

存储接口、时序控制方法及存储系统

技术领域

[0001] 本申请涉及存储技术领域,特别涉及存储接口、时序控制方法及存储系统。

背景技术

[0002] 嵌入式多媒体卡(Embedded Multi Media Card,eMMC)为MMC协会所订立的、主要是针对手机或平板电脑等产品的内嵌式存储器标准规格。目前,eMMC4.51协议支持的最大速率模式为HS200,eMMC5.0协议支持的最大速率模式为HS400。HS200的接口频率为200MHz,采用单数据速率模式,带宽为200MB/s。HS400的接口频率也是200MHz,采用双数据速率模式,带宽为400MB/s。
[0003] eMMC5.0协议规定eMMC芯片不能直接工作在HS400模式。主控制器(Host)需要和eMMC芯片先协商工作在HS200接口模式,然后通过配置eMMC芯片的相应寄存器才能切换到HS400接口模式。也即是说,主控制器侧的eMMC5.0版本的eMMC存储接口需要支持HS200和HS400这两种工作模式的动态切换。
[0004] 图1示出了HS200接口和HS400接口的时序对比图。如图1所示,HS200接口输出的时钟信号HS200_CLK的相位和HS400接口输出的时钟信号HS400_CLK的相位是不同的。时钟信号HS200_CLK和时钟信号HS400_CLK分别对应在数据信号HS200_DATA和数据信号HS400_DATA的中间位置,满足数据采样的稳定性。具体的,以主控制器内部的时钟信号(CLK)为参考,HS200_CLK向后移相180°,HS400_CLK向后移相90°。
[0005] 现有技术中,为了支持HS200和HS400这两种工作模式的动态切换,提供了图2所示的eMMC存储接口。如图2所示,现有的eMMC存储接口通过内部的锁相环(Phase Lock Loop,PII)产生3个时钟信号:tx_clk、tx_clk_90和tx_clk_180,tx_dk是主控制器输出的用于采样数据信号的时钟,tx_clk_90是eMMC存储接口处于HS400工作模式时主控制器输出给eMMC器件的时钟信号,tx_clk_180是eMMC存储接口处于HS200工作模式时主控制器输出给eMMC器件的时钟信号。其中,tx_clk_90比tx_clk向后移相90°,tx_clk_180比tx_clk向后移相180°。时钟选择模块CLK_MUX用于对eMMC存储接口输出的时钟信号进行选择。当eMMC存储接口处于HS200工作模式时,时钟选择模块CLK_MUX选择tx_clk_180作为eMMC存储接口输出的时钟信号。当eMMC存储接口处于HS400工作模式时,时钟选择模块CLK_MUX选择tx_clk_90作为eMMC存储接口输出的时钟信号。
[0006] 图2所示的这种现有的eMMC存储接口通过切换输出的时钟信号,可实现在HS200和HS400这两种工作模式之间进行动态切换。但是,图2所示的这种现有的eMMC存储接口存在下述缺点:
[0007] (1)为了满足eMCC协议规定的输入数据建立时间(Input Setup Time)和输入数据保持时间(Input Hold Time)的要求,现有的eMMC存储接口对数据输出时钟路径的时延要求非常严格。由于HS200和HS400的接口频率最高可达200MHz,时钟信号tx_clk到输入输出单元IOE1的时延和时钟信号tx_clk_90(或tx_clk_180)到输入输出单元IOE2的时延之差需要控制在1纳秒左右。对于利用可编程逻辑阵列(Field Programmable GateArray,FPGA)实现的eMMC存储接口来说,eMMC存储接口的内部信号时延是由大量的可编程逻辑单元和路径单元的分段时延累加形成的,想要对这种累加时延进行纳秒级别的精确控制是非常困难
的。
[0008] (2)对于需要利用单个FPGA芯片实现多个eMMC存储接口的设计来说,FPGA芯片的集成规模会很大,即集成多组图2所示的电路结构。可以理解的,FPGA芯片内部的各个锁相环PLL到相应的输入输出单元之间的距离和时延是不同的,FPGA芯片内部的各个时钟选择模块CLK_MUX到相应的输入输出单元之间的距离和时延也是不同的。这样,要将多个eMMC存储接口内的信号时延均控制在纳秒级就更加困难。
[0009] (3)在对实现eMMC存储接口的FPGA进行设计修改时,可编程逻辑单元之间的布线可能会不同,要将各种不同布线设计的FPGA内的信号时延都控制在纳秒级也是非常困难
的。
[0010] (4)同一个加载文件应用在不同批次的FPGA器件上,或者同一个FPGA器件运行在不同的温度、电压环境下,eMMC存储接口的时延参数都会有所不同,要将这些不同情况下的FPGA内的信号时延都控制在纳秒级是非常困难的。
[0011] 从上可以看出,对现有技术提供的eMMC存储接口进行时延控制是十分困难的。

发明内容

[0012] 本申请提供了存储接口、时序控制方法及存储系统,通过对主控制器输出给存储设备的数据信号进行延时处理,以及对主控制器输出给存储设备的时钟信号进行反相处理,可简单有效的实现不同数据速率模式下的存储接口在输出数据时满足输入数据建立时间和输入数据保持时间的要求。
[0013] 第一方面,本申请提供了一种存储接口,所述存储接口连接在主控制器和存储设备之间,可包括:第一可编程输入输出单元和第二可编程输入输出单元,其中:
[0014] 所述第一可编程输入输出单元用于对所述主控制器输出的时钟信号进行相位反转,并输出所述反相后的时钟信号给所述存储设备,用于采样所述主控制器输出给所述存储设备的数据信号;
[0015] 所述第二可编程输入输出单元对所述主控制器输出的数据信号进行延时处理,并输出延时后的所述数据信号给所述存储设备,延时后的所述数据信号在时序上比所述主控制器输出的时钟信号延后了时间ΔT,且TCLK/2-ΔT≥TISU且ΔT≥TIH;
[0016] 其中,TCLK表示所述时钟信号的周期,TISU表示不同数据速率模式下所述存储设备要求的最短输入建立时间,TIH表示不同数据速率模式下所述存储设备要求的最短输入保持时间。
[0017] 结合第一方面,在一些实施例中,所述存储设备可包括:存储介质和设备控制器,其中,所述设备控制器可用于根据存储接口输出的所述写时钟信号和延时后的所述数据信号,对所述存储介质执行写操作。
[0018] 结合第一方面,在一些实施例中,所述存储接口集成在所述主控制器上,或者,所述存储接口独立在所述主控制器外。
[0019] 结合第一方面,在一些实施例中,所述存储设备对应的多种数据速率模式可以表现为:单数据速率模式和双数据速率模式。在这两种数据速率模式下,存储接口输出的时钟信号和数据信号满足:TCLK/2-ΔT≥TISU-SDR且ΔT≥TIH-SDR,TCLK/2-ΔT≥TISU-DDR且ΔT≥TIH-DDR,其中,TISU-SDR、TISU-DDR分别表示所述存储设备在单数据速率模式、双数据速率模式下要求的最短输入建立时间,TIH-HS200、TIH-HS400分别表示所述存储设备在单数据速率模式、双数据速率模式下要求的最短输入保持时间。这样,存储接口可支持所述存储设备在单数据速率模式和双数据速率模式之间动态切换。
[0020] 可以理解的,在所述主控器向所述存储设备写入数据时,通过对所述主控制器输出的数据信号进行延时处理,并且对所述主控制器输出的时钟信号进行移相处理,可实现所述存储设备在不同数据速率模式下,根据移相后的所述时钟信号对延时后的所述数据信号进行采样,都能满足最短输入建立时间和最短输入保持时间的要求。也即是说,存储接口可支持所述存储设备在多种数据速率模式之间动态切换。
[0021] 结合第一方面,在一些实施例中,所述第一可编程输入输出单元和所述第二可编程输入输出单元可以是两个分别独立的可编程逻辑器件,也可以集成在同一个可编程逻辑器件中。
[0022] 结合第一方面,在一些实施例中,为了同时支持多种存储设备,所述存储接口可包括分别对应多种存储设备的多组所述第一可编程输入输出单元和所述第二可编程输入输出单元,其中,一种存储设备对应一组所述第一可编程输入输出单元和所述第二可编程输入输出单元。所述多种存储设备支持的数据速率模式不同。
[0023] 结合第一方面,在一些实施例中,所述存储设备可以是嵌入式多媒体卡eMCC,所述数据信号对应的多种数据速率模式包括:HS200和HS400,其中:TCLK/2-ΔT≥TISU-HS200且ΔT≥TIH-HS200,TCLK/2-ΔT≥TISU-HS400且ΔT≥TIH-HS400,其中,TISU-HS200、TISU-HS400分别表示eMMC在HS200、HS400这两种数据速率模式下要求的最短输入建立时间,TIH-HS200、TIH-HS400分别表示eMMC在HS200、HS400这两种数据速率模式下要求的最短输入保持时间。
[0024] HS200模式下,反相后的时钟信号tx_clk的上升沿之前的输入建立时间tISU=TCLK/2-ΔT,反相后的时钟信号tx_clk的上升沿之后的输入保持时间tIH=TCLK/2+ΔT。这里,eMMC的存储接口的频率为200MHz,TCLK=5ns。因此,HS200模式下eMMC要求的最短输入保持时间一定可以满足,只需要满足tISU=TCLK/2-ΔT≥1.4ns即可。
[0025] HS400模式下,反相后的时钟信号tx_clk的上升沿之前的输入建立时间tISU=TCLK/2-ΔT,反相后的时钟信号tx_clk的上升沿之后的输入保持时间tIH=ΔT。同样的,反相后的时钟信号tx_clk的下升沿之前的输入建立时间tISU=TCLK/2-ΔT,反相后的时钟信号tx_clk的下升沿之后的输入保持时间tIH=ΔT。HS400模式下,需要满足tISU=TCLK/2-ΔT≥0.4ns,tIH=ΔT≥0.4ns。
[0026] 可以计算的,TCLK/2-ΔT≥1.4ns,ΔT≥0.4ns,即可满足HS200和HS400这两种速率模式各自要求的最短输入建立时间和最短输入保持时间。也即是说,对于eMMC来说,通过存储接口将所述主控制器的输出的时钟信号进行相位反转,并将所述主控制器输出的数据信号延时ΔT(ΔT∈[0.4ns,1.1ns]),存储接口可支持eMMC在HS200和HS400这两种速率模式之间动态切换。
[0027] 可以理解的,在所述主控器向eMMC写入数据时,通过存储接口对所述主控制器输出的数据信号进行延时处理,并且对所述主控制器输出的时钟信号进行反相处理,可支持eMMC在不同数据速率模式之间切换。不需要为HS200和HS400这两种数据速率模式分别产生两种相位不同的时钟信号,也不需要对这两种相位不同的时钟信号之间的时延差进行严格的控制,实现起来很简单。另外,不同批次的可编程逻辑器件和可编程逻辑器件在不同温度、电压下的时延差异对存储接口的发送时序影响很小。
[0028] 第二方面,本申请提供了一种存储系统,可包括:主控制器、存储设备,以及连接在所述主控制器和所述存储设备之间的存储接口,所述存储接口包括第一可编程输入输出单元和第二可编程输入输出单元,其中:所述第一可编程输入输出单元用于对所述主控制器输出的时钟信号进行相位反转,并输出所述反相后的时钟信号给所述存储设备,用于采样所述主控制器输出给所述存储设备的数据信号;
[0029] 所述第二可编程输入输出单元对所述主控制器输出的数据信号进行延时处理,并输出延时后的所述数据信号给所述存储设备,延时后的所述数据信号在时序上比所述主控制器输出的时钟信号延后了时间ΔT,且TCLK/2-ΔT≥TISU且ΔT≥TIH;
[0030] 其中,TCLK表示所述时钟信号的周期,TISU表示不同数据速率模式下所述存储设备要求的最短输入建立时间,TIH表示不同数据速率模式下所述存储设备要求的最短输入保持时间。
[0031] 具体的,所述存储接口可以是第一方面及第一方面的任意一种可能的实施例所描述的存储接口,具体可参考第一方面,这里不赘述。
[0032] 第三方面,本申请提供了一种时序控制方法,可包括:终端通过第一可编程输入输出单元将主控制器输出给存储设备的时钟信号进行相位反转,并通过第二可编程输入输出单元将所述主控制器输出给所述存储设备的数据信号延迟时间ΔT。这里,所述时钟信号可用于采样所述数据信号;TCLK/2-ΔT≥TISU且ΔT≥TIH;TCLK表示所述时钟信号的周期,TISU表示不同数据速率模式下所述存储设备要求的最短输入建立时间,TIH表示不同数据速率模式下所述存储设备要求的最短输入保持时间。
[0033] 本申请中,所述终端可包括所述第一可编程输入输出单元和所述第二可编程输入输出单元。具体的,所述终端可以向所述存储设备提供存储接口,所述存储接口可包括所述第一可编程输入输出单元和所述第二可编程输入输出单元。所述存储设备可以集成在所述终端中,作为所述终端的内部存储。所述存储设备也可以独立在所述终端外,作为所述终端的外部存储。关于所述存储接口的具体实现可参考第一方面,这里不赘述。
[0034] 可以理解的,在所述终端向所述存储设备写入数据时,通过对所述终端输出的数据信号进行延时处理,并且对所述终端输出的时钟信号进行移相处理,可实现所述存储设备在不同数据速率模式下,根据移相后的所述时钟信号对延时后的所述数据信号进行采样,都能满足最短输入建立时间和最短输入保持时间的要求。也即是说,所述终端可支持所述存储设备在多种数据速率模式之间动态切换。
[0035] 结合第三方面,在一些实施例中,所述存储设备对应的多种数据速率模式可以表现为:单数据速率模式和双数据速率模式。在这两种数据速率模式下,存储接口10输出的时钟信号和数据信号满足:TCLK/2-ΔT≥TISU-SDR且ΔT≥TIH-SDR,TCLK/2-ΔT≥TISU-DDR且ΔT≥TIH-DDR,其中,TISU-SDR、TISU-DDR分别表示所述存储设备在单数据速率模式、双数据速率模式下要求的最短输入建立时间,TIH-HS200、TIH-HS400分别表示所述存储设备在单数据速率模式、双数据速率模式下要求的最短输入保持时间。这样,存储接口10可支持所述存储设备在单数据速率模式和双数据速率模式之间动态切换。
[0036] 结合第三方面,在一些实施例中,所述存储设备可以是嵌入式多媒体卡eMCC。eMCC可以工作在单数据速率模式HS200,或者双数据速率模式HS400下。在单数据速率模式下,eMCC仅在时钟信号的上升沿执行数据信号的读/写操作。在双数据速率模式下,eMCC分别在时钟信号的上升沿、下降沿各执行一次写操作、读操作。
[0037] 具体的,输出给eMMC的反相后的时钟信号和延时后的数据信号可满足:TCLK/2-ΔT≥TISU-HS200且ΔT≥TIH-HS200,TCLK/2-ΔT≥TISU-HS400且ΔT≥TIH-HS400,其中,TISU-HS200、TLSU-HS400分别表示eMMC在HS200、HS400这两种数据速率模式下要求的最短输入建立时间,TIH-HS200、TIH-HS400分别表示eMMC在HS200、HS400这两种数据速率模式下要求的最短输入保持时间。这样,存储接口10可支持eMMC在HS200、HS400这两种数据速率模式之间动态切换。
[0038] 可以计算的,对于eMMC来说,通过将所述主控制器的输出的时钟信号进行相位反转,并将所述主控制器输出的数据信号延时ΔT(ΔT∈[0.4ns,1.1ns]),即可支持eMMC在HS200和HS400这两种速率模式之间动态切换。关于具体计算过程,可参考图5实施例的内容,这里不再赘述。
[0039] 第四方面,本申请提供了一种终端,包括用于执行第三方面描述的方法的功能单元。
[0040] 第五方面,本申请提供了一种终端,包括:处理器、内部存储器,其中,所述内部存储器包括:主控制器、存储设备,以及连接在所述主控制器和所述存储设备之间的存储接口。所述存储接口可包括第一可编程输入输出单元和第二可编程输入输出单元。其中:所述第一可编程输入输出单元可用于对所述主控制器输出的时钟信号进行相位反转,并输出所述反相后的时钟信号给所述存储设备,用于采样所述主控制器输出给所述存储设备的数据信号。所述第二可编程输入输出单元可用于对所述主控制器输出的数据信号进行延时处理,并输出延时后的所述数据信号给所述存储设备,延时后的所述数据信号在时序上比所述主控制器输出的时钟信号延后了时间ΔT,且TCLK/2-ΔT≥TISU且ΔT≥TIH。这里,TCLK表示所述时钟信号的周期,TISU表示不同数据速率模式下所述存储设备要求的最短输入建立时间,TIH表示不同数据速率模式下所述存储设备要求的最短输入保持时间。
[0041] 具体的,所述存储接口可以是第一方面及第一方面的任意一种可能的实施例所描述的存储接口,具体可参考第一方面,这里不赘述。
[0042] 第六方面,提供了一种计算机可读存储介质,所述可读存储介质上存储有实现第三方面及第三方面的任意一种可能的实施例描述的时序控制方法的程序代码,该程序代码包含运行第三方面及第三方面的任意一种可能的实施例描述的时序控制方法的执行指令。

附图说明

[0043] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
[0044] 图1是现有技术中的HS200接口和HS400接口的时序对比图;
[0045] 图2是现有技术中的eMMC存储接口的结构示意图;
[0046] 图3是本申请涉及的eMMC存储系统的结构示意图;
[0047] 图4A是eMMC工作在数据速率模式HS200下的时序示意图;
[0048] 图4B是eMMC工作在数据速率模式HS400下的时序示意图;
[0049] 图5是本申请的一个实施例提供的存储接口的结构示意图;
[0050] 图6是本申请提供的存储接口在HS200和HS400两种速率模式下对时钟信号进行反相处理和对数据信号进行延迟处理的时序示意图;
[0051] 图7是本申请的另一个实施例提供的存储接口的结构示意图;
[0052] 图8是本申请的一个实施例提供的时序控制方法的流程示意图;
[0053] 图9是本申请的一个实施例提供的终端的结构示意图;
[0054] 图10是本申请的另一个实施例提供的终端的结构示意图。

具体实施方式

[0055] 本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
[0056] 图3示出了本申请涉及的一种eMMC存储系统。如图3所示,eMMC存储系统可包括:主控制器100和eMMC 200,主控制器100通过存储接口300控制eMMC 200。其中:
[0057] eMMC 200集成了内部控制器400和存储介质500。内部控制器400可用于纠错和校验(Error Checking and Correction,ECC)、坏块管理(Bad Block Management,BBM)和损耗均衡(Wear Leveling)等。存储介质500可以是一种可擦除和再编程的存储介质,例如
Nand Flash。eMMC200还实现了eMMC接口。主控制器100只需通过接口总线向eMMC200下发命令即可,不需要配置任何内存管理方面的功能,例如ECC、BMM、Wear Leveling等。
[0058] 具体的,主控制器100和eMMC200之间的接口总线可包括:时钟线CLK、命令和响应传输线CMD、双向数据线Data。其中,时钟线CLK上的每个时钟周期可在命令和响应传输线CMD上传输1比特的命令或响应信号,或者在双向数据线Data上传输1比特的数据(单数据速率模式下)或2比特的数据(双数据速率模式下)。
[0059] eMMC协议支持多种数据速率模式,图4A和图4B分别示出了HS200和HS400这两种数据速率模式的eMMC的输入时序。
[0060] 图4A示出了eMMC工作在数据速率模式HS200下的时序。如图4A所示,HS200是一种单数据速率模式,eMMC芯片仅在时钟信号的上升沿进行一次读/写操作,即HS200在一个时钟周期内采样一次。HS200的带宽最高可达200MB/s。为了保证采样点附近的数据是稳定的,eMMC协议对HS200模式下的采样点前后的稳态时间规定如下:
[0061] tISU≥1.4ns,tIH≥0.8ns
[0062] 其中,tISU表示输入建立时间,tIH表示输入保持时间。输入建立时间是指在时钟上升沿到来之前输入数据必须保持稳定的时间。输入保持时间是指在时钟上升沿到来以后输入数据必须保持稳定的时间。由此可以看出,HS200模式下的最短输入建立时间为1.4ns,最短输入保持时间为0.Sns。
[0063] 图4B示出了eMMC工作在数据速率模式HS400下的时序。如图4B所示,HS400是一种双数据速率模式,eMMC芯片在时钟信号的上升沿、下降沿分别进行一次读操作和一次写操作,即HS400在一个时钟周期内采样两次。HS400的带宽最高可达400MB/s。为了保证采样点附近的数据是稳定的,eMMC协议对HS400模式下的采样点前后的稳态时间规定如下:
[0064] tISU≥0.4ns,tIH≥0.4ns
[0065] 其中,tISU表示输入建立时间,tIH表示输入保持时间。由此可以看出,HS400模式下的最短输入建立时间和最短输入保持时间均为0.4ns。
[0066] 由于eMMC协议规定eMMC不能直接工作在HS400模式。因此,主控制器100需要和eMMC200先协商工作在HS200数据速率模式,然后通过配置eMMC200的相应寄存器才能切换到HS400数据速率模式。
[0067] 可以理解的,如果主控制器100通过存储接口300输出的时钟信号和数据信号在时序上既能满足HS200模式下的最短输入建立时间和最短输入保持时间,也能满足HS400模式下的最短输入建立时间和最短输入保持时间,那么主控制器100可以控制eMMC芯片200在HS200和HS400这两种数据速率模式之间切换。
[0068] 本申请中,存储接口300可以集成在主控制器100中,也可以独立在主控制器100外,不作限制。
[0069] 本申请提供了一种存储接口,所述存储接口连接在主控制器和存储设备之间,可简单有效的实现存储接口在不同数据速率模式下输出给存储设备的数据信号均满足协议规定的输入数据建立时间和输入数据保持时间的要求。
[0070] 本申请的主要发明原理可包括:
[0071] 对于工作在不同数据速率模式下的存储设备,存储接口对主控制器输出给存储设备的数据信号进行延时处理,以及对主控制器输出给存储设备的时钟信号进行移相处理,使得移相后的时钟信号的上升沿/下降沿在时序上对应延时后的所述数据信号的中间位置,从而满足所述不同数据速率模式下的最短输入建立时间和最短输入保持时间的要求。
[0072] 可以理解的,所述时钟信号的上升沿/下降沿可用于采样输出数据,如果所述时钟信号的上升沿/下降沿对应输出的数据信号的中间位置,则可以确保采样时刻前后的输出数据稳定,即满足所述存储设备要求的最短输入建立时间和最短输入保持时间。
[0073] 例如,在eMMC的HS200数据速率模式下,参考图4A,所述中间位置可以是指图中矩形阴影区指示的位置,即数据信号对应的采样时刻可以在一定范围内波动,满足下述条件即可:tISU≥tISU-min,tIH≥tIH-min,其中,tISU-min表示最短输入建立时间(HS200模式下,tIH-min=0.8ns),tIH-min表示最短输入保持时间。具体的,协议规定在(HS200模式下,tISU-min=1.4ns)。
[0074] 需要说明的,图3所示的eMMC存储系统仅仅示出了本申请适用的一种存储系统,对于其他需要在多种数据传输速率之间进行切换的存储系统,本申请同样适用。
[0075] 参考图5,图5是本申请的一个实施例提供的存储接口的结构示意图。存储接口10连接在主控制器和存储设备之间,存储接口10可集成在所述主控制器中,也可以独立在所述主控制器外。本申请中,所述存储设备可以工作在多种数据速率模式下。如图5所示,存储接口10可包括:第一可编程输入输出单元103和第二可编程输入输出单元105。其中:
[0076] 第一可编程输入输出单元103可用于对所述主控制器输出的时钟信号(tx_clk)进行相位反转,并输出所述反相后的时钟信号给所述存储设备,用于采样所述主控制器输出给所述存储设备的数据信号。所述反相后的时钟信号的周期可表示成TCLK。
[0077] 具体的,第一可编程输入输出单元103与所述主控制器中的时钟电路101相连。时钟电路101可用于产生时钟信号。具体实现中,时钟电路101可以是锁相环PLL电路,也可以是其他类型的时钟电路,这里不作限制。
[0078] 第二可编程输入输出单元105可用于对所述主控制器输出的数据信号进行延时处理,并输出延时后的所述数据信号给所述存储设备。延时后的所述数据信号在时序上比所述主控制器输出的时钟信号延后了时间ΔT,且TCLK/2-ΔT≥TISU且ΔT≥TIH。其中,TCLK表示所述时钟信号的周期,TISU表示不同数据速率模式下所述存储设备要求的最短输入建立时间,TIH表示不同数据速率模式下所述存储设备要求的最短输入保持时间。
[0079] 本申请中,所述存储设备可包括:存储介质和设备控制器,其中,所述设备控制器可用于根据存储接口10输出的所述写时钟信号和延时后的所述数据信号,对所述存储介质执行写操作。
[0080] 在一些实施例中,所述存储设备对应的多种数据速率模式可以表现为:单数据速率模式和双数据速率模式。在这两种数据速率模式下,存储接口10输出的时钟信号和数据信号满足:TCLK/2-ΔT≥TISU-SDR且ΔT≥TIH-SDR,TCLK/2-ΔT≥TISU-DDR且ΔT≥TIH-DDR,其中,TISU-S-DR、TISU-DDR分别表示所述存储设备在单数据速率模式、双数据速率模式下要求的最短输入建立时间,TIH-HS200、TIH-HS400分别表示所述存储设备在单数据速率模式、双数据速率模式下要求的最短输入保持时间。这样,存储接口10可支持所述存储设备在单数据速率模式和双数据速率模式之间动态切换。
[0081] 应理解的,如果所述存储设备工作在单数据速率模式下,即仅在时钟信号的上升沿/下降沿采样数据信号,则所述主控制器向所述存储设备输出数据信号的时钟周期TData与TCLK一致。如果所述存储设备工作在双数据速率模式下,即在时钟信号的上升沿和下降沿均采样数据信号,则所述主控制器向所述存储设备输出数据信号的时钟周期TData是TCLK的1/2。
[0082] 可以理解的,在所述主控器向所述存储设备写入数据时,通过对所述主控制器输出的数据信号进行延时处理,并且对所述主控制器输出的时钟信号进行移相处理,可实现所述存储设备在不同数据速率模式下,根据移相后的所述时钟信号对延时后的所述数据信号进行采样,都能满足最短输入建立时间和最短输入保持时间的要求。也即是说,存储接口10可支持所述存储设备在多种数据速率模式之间动态切换。
[0083] 下面以所述存储设备是嵌入式多媒体卡eMCC为例,详细说明本申请提供的技术方案。
[0084] 应理解的,eMCC可以工作在单数据速率模式HS200,或者双数据速率模式HS400下。在单数据速率模式下,eMCC仅在时钟信号的上升沿执行数据信号的读/写操作。在双数据速率模式下,eMCC分别在时钟信号的上升沿、下降沿各执行一次写操作、读操作。
[0085] 具体的,存储接口10输出给eMMC的时钟信号和数据信号可满足:TCLK/2-ΔT≥TISU-HS200且ΔT≥TIH-HS200,TCLK/2-ΔT≥TISU-HS400且ΔT≥TIH-HS400,其中,TISU-HS200、TISU-HS400分别表示eMMC在HS200、HS400这两种数据速率模式下要求的最短输入建立时间,TIH-HS200、TIH-HS400分别表示eMMC在HS200、HS400这两种数据速率模式下要求的最短输入保持时间。这样,存储接口10可支持eMMC在HS200、HS400这两种数据速率模式之间动态切换。
[0086] 如图6所示,tx_clk表示存储接口10输出给eMMC的时钟信号。HS200速率模式下存储接口10输出数据信号HS200_DATA的周期与tx_clk的周期一致,HS400速率模式下存储接口10输出数据信号HS400_DATA的周期是tx_clk的周期的1/2。存储接口10对时钟信号tx_clk进行了相位反转,对数据信号进行了延时处理,延迟了ΔT。
[0087] 从图6可以看出,在HS200速率模式下,移相处理前的时钟信号tx_clk的上升沿未对应数据信号HS200_DATA的中间位置,不满足HS200下eMMC要求的最短输入建立时间和最短输入保持时间,不能执行数据采样。在HS400速率模式下,移相处理前的时钟信号tx_clk的上升沿和下降沿都未对应数据信号HS400_DATA的中间位置,均不满足HS400下eMMC要求的最短输入建立时间和最短输入保持时间,不能执行数据采样。
[0088] 从图6可以看出,在HS200速率模式下,相位反转后的tx_clk的上升沿对应数据信号HS200_DATA的中间位置,满足HS200下eMMC要求的最短输入建立时间和最短输入保持时间,可用于执行数据采样。在HS400速率模式下,相位反转后的tx_clk的上升沿、下降沿均对应数据信号HS400_DATA的中间位置,均满足HS400下eMMC要求的最短输入建立时间和最短输入保持时间,均可用于执行数据采样。
[0089] 可以理解的,由于eMMC协议对HS200模式下的采样点前后的稳态时间规定如下:tISU≥1.4ns,tIH≥0.8ns,并且,eMMC协议对HS400模式下的采样点前后的稳态时间规定如下:tISU≥0.4ns,tIH≥0.4ns。
[0090] 从图6可以看出,HS200模式下,反相后的时钟信号tx_clk的上升沿之前的输入建立时间tISU=TCLK/2-ΔT,反相后的时钟信号tx_clk的上升沿之后的输入保持时间tIH=TCLK/2+ΔT。这里,eMMC的存储接口10的频率为200MHz,TCLK=5ns。因此,HS200模式下eMMC要求的最短输入保持时间一定可以满足,只需要满足tISU=TCLK/2-ΔT≥1.4ns即可。
[0091] 从图6可以看出,HS400模式下,反相后的时钟信号tx_clk的上升沿之前的输入建立时间tISU=TCLK/2-ΔT,反相后的时钟信号tx_clk的上升沿之后的输入保持时间tIH=ΔT。同样的,反相后的时钟信号tx_clk的下升沿之前的输入建立时间tISU=TCLK/2-ΔT,反相后的时钟信号tx_clk的下升沿之后的输入保持时间tIH=ΔT。HS400模式下,需要满足tISU=TCLK/2-ΔT≥0.4ns,tIH=ΔT≥0.4ns。
[0092] 可以计算的,TCLK/2-ΔT≥1.4ns,ΔT≥0.4ns,即可满足HS200和HS400这两种速率模式各自要求的最短输入建立时间和最短输入保持时间。也即是说,对于eMMC来说,通过存储接口10将所述主控制器的输出的时钟信号进行相位反转,并将所述主控制器输出的数据信号延时ΔT(ΔT∈[0.4ns,1.1ns]),存储接口10可支持eMMC在HS200和HS400这两种速率模式之间动态切换。
[0093] 实际应用中,可以选择时延参数满足ΔT∈[0.4ns,1.1ns]这一时延要求的可编程逻辑器件作为所述第二可编程输入输出单元105。
[0094] 可以理解的,在所述主控器向eMMC写入数据时,通过存储接口10对所述主控制器输出的数据信号进行延时处理,并且对所述主控制器输出的时钟信号进行反相处理,可支持eMMC在不同数据速率模式之间切换。不需要为HS200和HS400这两种数据速率模式分别产生两种相位不同的时钟信号,也不需要对这两种相位不同的时钟信号之间的时延差进行严格的控制,实现起来很简单。另外,不同批次的可编程逻辑器件和可编程逻辑器件在不同温度、电压下的时延差异对存储接口的发送时序影响很小。
[0095] 可以理解的,由于所述第一可编程输入输出单元103和所述第二可编程输入输出单元105均是逻辑可编程器件实现的,存储接口10对所述主控制器输出的数据信号可以进行不同程度的延时处理,因此,本申请提供的存储接口10可适用不同的存储设备。所述不同的存储设备各自支持动态切换的数据速率模式可以不同。
[0096] 在一些可选的实施例中,所述第一可编程输入输出单元103和所述第二可编程输入输出单元105可以是两个分别独立的可编程逻辑器件,也可以集成在同一个可编程逻辑器件中。
[0097] 在一些可选的实施例中,如图7所示,为了同时支持多种存储设备,存储接口10可包括分别对应多种存储设备的多组所述第一可编程输入输出单元103和所述第二可编程输入输出单元105,其中,每一组对应一种存储设备。所述多种存储设备支持的数据速率模式不同。例如,存储设备1-3支持的数据速率模式相同,在不同速率模式下要求的最短输入建立时间和最短输入保持时间也相同。存储设备4-6支持的数据速率模式相同,在不同速率模式下要求的最短输入建立时间和最短输入保持时间也相同。但是,存储设备1-3和存储设备4-6支持的数据速率模式不同。即,存储设备1-3是一种存储设备,存储设备4-6是另一种存储设备,分别支持的数据速率模式不同,需要通过存储接口10对所述主控制器输出的数据信号进行不同的延时处理。需要说明的,图7仅仅用于解释本发明实施例,不应构成限定。
[0098] 可选的,为了同时支持多种存储设备,也可以采用多个图5所示的存储接口10和所述主控制器相连,其中,一个存储接口10对应一种存储设备。
[0099] 基于图5实施例描述的存储接口10,本申请还提供了一种存储接口的时序控制方法,通过可编程输入输出单元对主控制器输出的时钟信号进行相位反转,以及对所述主控制器输出的数据信号进行延时处理,然后将反相后的时钟信号和延时后的数据信号输出给存储设备,可支持所述存储设备在不同数据速率模式之间动态切换。下面展开描述:
[0100] S101,终端通过第一可编程输入输出单元将主控制器输出给存储设备的时钟信号进行相位反转。
[0101] S103,所述终端通过第二可编程输入输出单元将所述主控制器输出给所述存储设备的数据信号延迟时间ΔT。
[0102] 这里,所述时钟信号可用于采样所述数据信号;TCLK/2-ΔT≥TISU且ΔT≥TIH;TCLK表示所述时钟信号的周期,TISU表示不同数据速率模式下所述存储设备要求的最短输入建立时间,TIH表示不同数据速率模式下所述存储设备要求的最短输入保持时间。
[0103] 本申请中,所述终端可包括所述第一可编程输入输出单元和所述第二可编程输入输出单元。具体的,所述终端可以向所述存储设备提供存储接口,所述存储接口可包括所述第一可编程输入输出单元和所述第二可编程输入输出单元。所述存储设备可以集成在所述终端中,作为所述终端的内部存储。所述存储设备也可以独立在所述终端外,作为所述终端的外部存储。关于所述存储接口的具体实现可参考前述实施例,这里不再赘述。
[0104] 在一些实施例中,所述存储设备对应的多种数据速率模式可以表现为:单数据速率模式和双数据速率模式。在这两种数据速率模式下,存储接口10输出的时钟信号和数据信号满足:TCLK/2-ΔT≥TISU-SDR且ΔT≥TIH-SDR,TCLK/2-ΔT≥TISU-DDR且ΔT≥TIH-DDR,其中,TISU-SDR、TISU-DDR分别表示所述存储设备在单数据速率模式、双数据速率模式下要求的最短输入建立时间,TIH-HS200、TIH-HS400分别表示所述存储设备在单数据速率模式、双数据速率模式下要求的最短输入保持时间。这样,存储接口10可支持所述存储设备在单数据速率模式和双数据速率模式之间动态切换。
[0105] 在一些实施例中,所述存储设备可以是嵌入式多媒体卡eMCC。eMCC可以工作在单数据速率模式HS200,或者双数据速率模式HS400下。在单数据速率模式下,eMCC仅在时钟信号的上升沿执行数据信号的读/写操作。在双数据速率模式下,eMCC分别在时钟信号的上升沿、下降沿各执行一次写操作、读操作。
[0106] 具体的,输出给eMMC的反相后的时钟信号和延时后的数据信号可满足:TCLK/2-ΔT≥TISU-HS200且ΔT≥TIH-HS200,TCLK/2-ΔT≥TISU-HS400且ΔT≥TIH-HS400,其中,TISU-HS200、TISU-HS400分别表示eMMC在HS200、HS400这两种数据速率模式下要求的最短输入建立时间,TIH-HS200、TIH-HS400分别表示eMMC在HS200、HS400这两种数据速率模式下要求的最短输入保持时间。这样,存储接口10可支持eMMC在HS200、HS400这两种数据速率模式之间动态切换。
[0107] 可以计算的,对于eMMC来说,通过将所述主控制器的输出的时钟信号进行相位反转,并将所述主控制器输出的数据信号延时ΔT(ΔT∈[0.4ns,1.1ns]),即可支持eMMC在HS200和HS400这两种速率模式之间动态切换。关于具体计算过程,可参考图5实施例的内容,这里不再赘述。
[0108] 可以理解的,在所述终端向所述存储设备写入数据时,通过对所述终端输出的数据信号进行延时处理,并且对所述终端输出的时钟信号进行移相处理,可实现所述存储设备在不同数据速率模式下,根据移相后的所述时钟信号对延时后的所述数据信号进行采样,都能满足最短输入建立时间和最短输入保持时间的要求。也即是说,所述终端可支持所述存储设备在多种数据速率模式之间动态切换。
[0109] 为了便于实施本申请提供的技术方案,本申请还提供了一种终端。所述终端可用于实现图8实施例描述的时序控制方法。如图9所示,终端90可包括:第一时序控制单元和第二时序控制单元,其中:
[0110] 所述第一时序控制单元可用于通过第一可编程输入输出单元将主控制器输出给存储设备的时钟信号进行相位反转。
[0111] 所述第二时序控制单元可用于通过第二可编程输入输出单元将所述主控制器输出给所述存储设备的数据信号延迟时间ΔT。
[0112] 这里,所述时钟信号可用于采样所述数据信号。TCLK/2-ΔT≥TISU且ΔT≥TIH,TCLK表示所述时钟信号的周期,TISU表示不同数据速率模式下所述存储设备要求的最短输入建立时间,TIH表示不同数据速率模式下所述存储设备要求的最短输入保持时间。
[0113] 本申请中,所述终端可包括所述第一可编程输入输出单元和所述第二可编程输入输出单元。具体的,所述终端可以向所述存储设备提供存储接口,所述存储接口可包括所述第一可编程输入输出单元和所述第二可编程输入输出单元。所述存储设备可以集成在所述终端中,作为所述终端的内部存储。所述存储设备也可以独立在所述终端外,作为所述终端的外部存储。关于所述存储接口的具体实现可参考前述实施例,这里不再赘述。
[0114] 可以理解的,终端90包括的各个功能单元的具体实现关可参考图8方法实施例,这里不再赘述。
[0115] 为了便于实施本申请提供的技术方案,本申请还提供了一种终端。所述终端可包括图5实施例描述的存储接口10,可用于实现图8实施例描述的时序控制方法。
[0116] 如图10所示,终端30可包括:处理器301、耦合于处理器301的内存302、射频模块303、输入输出系统304,以及eMMC305。这些部件可在一个或多个通信总线14上通信。
[0117] 射频模块303用于接收和发送信号,主要集成了终端30的接收器和发射器。具体实现中,射频模块303可包括但不限于:Wi-Fi模块3031、电信射频模块3033。其中,Wi-Fi模块3031可用于访问互联网。电信射频模块3033可以是GSM(2G)模块、WCDMA(3G)模块或者LTE(4G)模块,可用于通过电信运营商网络和其他设备建立通话连接,也可以用于通过电信运营商网络访问互联网。需要说明的,不限于图10所示,射频模块303还可以包括蓝牙模块等。
在一些实施例中,可在单独的芯片上实现射频模块303。
[0118] 输入输出系统304主要用于实现终端30和用户/外部环境之间的交互功能,主要包括终端30的输入输出装置。具体实现中,输入输出系统304可包括触摸屏控制器3041、音频控制器3045以及传感器控制器3047。其中,各个控制器可与各自对应的外围设备(触摸屏3051、音频电路3055以及运动传感器3057耦合。需要说明的,输入输出系统304还可以包括其他I/O外设。
[0119] eMMC305可用于扩展终端30的内部存储空间,存储用户的图片、文档、邮件等用户资料。eMMC305可以实现成图3所示的eMMC存储系统,可独立配置有主控制器306。可选的,主控制器306也可以集成在处理器301中。本申请中,eMMC305可支持在多种不同的数据速率模式之间动态切换,具体可参考图5实施例的内容,这里不再赘述。在一些可选的实施例中,终端30还可以包括其他类型的存储器,例如SDCard,这里不作限制。
[0120] 处理器301可集成包括:一个或多个CPU、时钟模块以及电源管理模块。所述时钟模块主要用于为处理器301产生数据传输和时序控制所需要的时钟。所述电源管理模块主要用于为处理器301、射频模块303以及输入输出系统304等提供稳定的、高精确度的电压。
[0121] 内存302与处理器301耦合,用于存储各种软件程序和/或多组指令,运行软件、输入和输出数据、中间结果及与外存交换信息等。具体实现中,内存302可包括高速随机存取的存储器,也可包括非易失性存储器,例如一个或多个易挥发性随机存取存储器(RamdomAccessMemory,RAM)。内存302还可以用于存储操作系统,例如ANDROID,IOS,
WINDOWS,或者LINUX等嵌入式操作系统。
[0122] 需要说明的,图10仅仅是本发明实施例的一种实现方式,实际应用中,终端30还可以包括更多或更少的部件,这里不作限制。
[0123] 另外,本申请还提供了一种存储系统,可包括:主控制器、存储设备,以及连接在所述主控制器和所述存储设备之间的存储接口,所述存储接口包括第一可编程输入输出单元和第二可编程输入输出单元。其中:所述第一可编程输入输出单元用于对所述主控制器输出的时钟信号进行相位反转,并输出所述反相后的时钟信号给所述存储设备,用于采样所述主控制器输出给所述存储设备的数据信号。所述第二可编程输入输出单元对所述主控制器输出的数据信号进行延时处理,并输出延时后的所述数据信号给所述存储设备,延时后的所述数据信号在时序上比所述主控制器输出的时钟信号延后了时间ΔT,且TCLK/2-ΔT≥TISU且ΔT≥TIH。这里,TCLK表示所述时钟信号的周期,TISU表示不同数据速率模式下所述存储设备要求的最短输入建立时间,TIH表示不同数据速率模式下所述存储设备要求的最短输入保持时间。
[0124] 关于所述存储接口的具体实现可参考图5实施例,这里不再赘述。
[0125] 综上,实施本发明实施例,在主控制器向存储设备写入数据时,通过存储接口对所述主控制器输出的数据信号进行延时处理,并且对所述主控制器输出的时钟信号进行反相处理,可支持所述存储设备在不同数据速率模式之间切换。不需要为不同的数据速率模式分别产生时钟信号,也不需要对不同的数据速率模式对应的不同的时钟信号之间的时延差进行严格的控制,实现起来很简单。另外,不同批次的可编程逻辑器件和可编程逻辑器件在不同温度、电压下的时延差异对所述存储接口的发送时序影响很小。
[0126] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。