存储器控制器装置与相位校正方法

文档序号:170907 发布日期:2021-10-29 浏览:40次 >En<

阅读说明:本技术 存储器控制器装置与相位校正方法 (Memory controller device and phase correction method ) 是由 郑杰 于 2020-04-29 设计创作,主要内容包括:本申请提供了存储器控制器装置和相位校正方法。存储器控制器装置包含延迟线电路系统、多个数据取样电路、多个相位检测电路以及控制逻辑电路。延迟线电路系统延迟数据选通信号以产生第一至第三时钟信号,其中第二时钟信号用来读取数据信号,且第一至第三时钟信号的相位按序相差一预定值。每一数据取样电路根据第一至第三时钟信号中一对应者对数据信号取样,以产生第一至第三信号中的对应者。多个相位检测电路比较第一信号与第二信号以产生第一检测信号,并比较第三信号与第二信号以产生第二检测信号。控制逻辑电路根据第一检测信号与第二检测信号调整第一至第三时钟信号。(The application provides a memory controller apparatus and a phase correction method. The memory controller device includes a delay line circuitry, a plurality of data sampling circuits, a plurality of phase detection circuits, and a control logic circuit. The delay line circuit system delays the data strobe signal to generate first to third clock signals, wherein the second clock signal is used for reading the data signal, and the phases of the first to third clock signals are sequentially different by a predetermined value. Each data sampling circuit samples a data signal according to a corresponding one of the first to third clock signals to generate a corresponding one of the first to third signals. The plurality of phase detection circuits compare the first signal with the second signal to generate a first detection signal, and compare the third signal with the second signal to generate a second detection signal. The control logic circuit adjusts the first to third clock signals according to the first detection signal and the second detection signal.)

存储器控制器装置与相位校正方法

技术领域

本公开涉及存储器控制器装置,尤其涉及可不使用模拟式的锁相回路的数据读取电路与相位校正方法。

背景技术

在一些常见的存储器中,其读写操作是根据数据选通(data strobe)信号执行。为了可正确读取存储器内存储的数据,数据选通信号的相位需对齐数据窗口。然而,随着操作条件(例如:温度、电压)的变化,数据选通信号的相位会漂移,造成读到不正确的数据。

发明内容

于一些实施例中,存储器控制器装置包含延迟线电路系统、多个数据取样电路、多个相位检测电路以及控制逻辑电路。延迟线电路系统用以延迟数据选通(data strobe)信号以产生第一时钟信号、第二时钟信号以及第三时钟信号,其中第二时钟信号用来读取数据信号,且第一时钟信号的相位、第二时钟信号的相位与第三时钟信号的相位按序相差一预定值。该些数据取样电路中每一者用以根据第一时钟信号、第二时钟信号与第三时钟信号中的一对应者对数据信号取样,以产生第一信号、第二信号以及第三信号中的对应者。多个相位检测电路用以比较第一信号与该第二信号以产生第一检测信号,并比较第三信号与第二信号以产生第二检测信号。控制逻辑电路用以根据第一检测信号与第二检测信号调整第一时钟信号、第二时钟信号与第三时钟信号。

于一些实施例中,相位校正方法包含下列操作:延迟数据选通信号以产生第一时钟信号、第二时钟信号以及第三时钟信号,其中第二时钟信号用来读取一数据信号,且第一时钟信号的相位、第二时钟信号的相位与第三时钟信号的相位按序相差预定值;根据第一时钟信号、第二时钟信号与第三时钟信号中的对应者对该数据信号取样,以产生第一信号、第二信号以及第三信号中的对应者;比较第一信号与第二信号以产生第一检测信号,并比较第三信号与第二信号以产生第二检测信号;以及根据第一检测信号与第二检测信号调整第一时钟信号、第二时钟信号与第三时钟信号。

有关本公开的特征、实作与技术效果,兹配合附图作优选实施例详细说明如下。

附图说明

图1A为根据本公开一些实施例绘制一种电子系统的示意图;

图1B为根据本公开一些实施例绘制的图1A中相关信号的波形示意图;

图2为根据本公开一些实施例绘制的图1A中存储器控制器装置的示意图;

图3为根据本公开一些实施例绘制的图2中延迟线电路系统的示意图;

图4A为根据本公开一些实施例绘制的一种相位校正方法的流程图;

图4B为根据本公开一些实施例绘制的图4A中的一操作的流程图;以及

图5为根据本公开一些实施例绘制的图2中的相关波形的示意图。

符号说明

100:电子系统

110:处理电路

120:存储器控制器装置

130:存储器

CLK1~CLK3:时钟信号

D0~D3:数据

DQ:数据信号

DQS:数据选通信号

N1,N2:负缘

P1,P2:正缘

S1~S3:信号

Texp:预定时间

210:延迟线电路系统

220,222,224:数据取样电路

230,232:相位检测电路

240:控制逻辑电路

j_max:预设最大值

j_min:预设最小值

n_max:预设最大值

SEL1~SEL3:选择信号

310:缓冲器电路

320,330,340:多工器电路

O1~Om:输出信号

T:延迟时间

400:相位校正方法

S410,S420,S430,S440,S450:操作

S1-1~S1-4,S2-1~S2-3,S3-1~S3-3,S4-1~S4-5:步骤

n:相位

j:预设值

具体实施方式

本文所使用的所有词汇具有其通常的含义。上述的词汇在普遍常用的字典中的定义,在本公开的内容中包含任一于此讨论的词汇的使用例子仅为示例,不应限制到本公开的范围与含义。同样地,本公开亦不仅以于此说明书所示出的各种实施例为限。

关于本文中所使用的“耦接”或“连接”,均可指两个或更多个元件相互直接作实体或电性接触,或是相互间接作实体或电性接触,亦可指两个或更多个元件相互操作或动作。如本文所用,用语“电路系统(circuitry)”可为由至少一电路(circuit)所形成的单一系统,且用语“电路”可为由至少一个晶体管与/或至少一个主被动元件按一定方式连接以处理信号的装置。

如本文所用,用语“与/或”包含了列出的关联项目中的一个或多个的任何组合。在本文中,使用第一、第二与第三等等的词汇,是用于描述并辨别各个元件。因此,在本文中的第一元件也可被称为第二元件,而不脱离本公开的本意。为易于理解,于各附图中的类似元件将被指定为相同标号。

图1A为根据本公开一些实施例绘制的一种电子系统100的示意图。于一些实施例中,电子系统100可为有使用存储器的各种类型的电子装置(例如:电脑、智能手机等等)。电子系统100包含处理电路110、存储器控制器装置120以及存储器130。

于一些实施例中,处理电路110可为中央处理器电路、微处理器电路等具有可执行软件的运算能力的电路。于一些实施例中,处理电路110可为各种类型的数据处理芯片。处理电路110可经由存储器控制器装置120自存储器130读取数据信号DQ。存储器控制器装置120可操作为处理电路110与存储器130之间的一接口电路,其可用以根据来自存储器130的数据选通(data strobe)信号DQS产生时钟信号CLK2(如图1B所示)。存储器控制器装置120可自动调整时钟信号CLK2的相位,并根据时钟信号CLK2来读取数据信号DQ的数据以输出为信号S2至处理电路110。通过存储器控制器装置120的操作,可确保处理电路110能够通过读取信号S2以获得数据信号DQ中的有效数据。

于一些实施例中,存储器130可为双倍数据率(double data rate,DDR)同步动态随机存取存储器。于一些实施例中,存储器130可为单一数据率(single data rate,SDR)同步动态随机存取存储器。上述关于存储器130的类型用于示例,且本公开并不以此为限。于其他实施例中,存储器130可为使用数据选通信号DQS来读/写数据的各种存储器。

图1B为根据本公开一些实施例绘制的图1A中相关信号的波形示意图。于此例中,存储器130为DDR同步动态随机存取存储器。在DDR同步动态随机存取存储器的读写操作中,数据选通信号DQS不是与数据信号DQ为边缘对齐(edge-aligned)就是与数据信号DQ为中央对齐(center-aligned)。

例如,在数据写入的操作中,存储器130根据数据选通信号DQS的正缘与负缘各存储一笔数据。例如,存储器130在数据选通信号DQS的正缘P1存储数据D0,并在数据选通信号DQS的负缘N1存储数据D1。依此类推,存储器130按序在正缘P2与负缘N2存储数据D2与数据D3。

或者,在数据读取操作中,存储器130发送数据选通信号DQS与数据信号DQ至处理电路110,且处理电路110可通过软件(或固件)延迟数据选通信号DQS一预定时间Texp以产生时钟信号CLK2。通过延迟预定时间Texp,时钟信号CLK2的相位与数据信号DQ的相位之间具有约90度的相位差。如此,时钟信号CLK2的正缘与负缘可对齐数据D0~D3的中央。存储器控制器装置120可根据时钟信号CLK2的正缘或负缘读取数据信号DQ,以输出数据信号DQ中的有效数据为信号S2至处理电路110。于一些实施例中,存储器控制器装置120可自动调节时钟信号CLK2的相位,以避免时钟信号CLK2的相位因操作条件(例如:温度、电压等等)变化产生漂移。如此,可确保处理电路110可稳定地读取到数据信号DQ的有效数据。

图2为根据本公开一些实施例绘制的图1A中存储器控制器装置120的示意图。于一些实施例中,存储器控制器装置120包含延迟线电路系统210、多个数据取样电路220、222与224、多个相位检测电路230与232以及控制逻辑电路240。

延迟线电路系统210自存储器130接收数据选通信号DQS,并用以延迟数据选通信号DQS以产生时钟信号CLK1、时钟信号CLK2以及时钟信号CLK3。时钟信号CLK1的相位、时钟信号CLK2的相位与时钟信号CLK3的相位按序相差一预定值j。举例来说,若时钟信号CLK2的相位表示为n,时钟信号CLK1的相位可表示为n-j,且时钟信号CLK3的相位可表示为n+j。换言之,时钟信号CLK1的相位落后时钟信号CLK2的相位一预设值j,且时钟信号CL3的相位领先时钟信号CLK2的相位一预设值j。于一些实施例中,相位n以及预设值j中每一者可表示为一数据值,控制逻辑电路240可根据这些数据值更新选择信号SEL1、选择信号SEL2以及选择信号SEL3。延迟线电路系统210可根据选择信号SEL1、选择信号SEL2以及选择信号SEL3调整时钟信号CLK1、时钟信号CLK2以及时钟信号CLK3。

多个数据取样电路220、222与224中每一者用以根据时钟信号CLK1、时钟信号CLK2以及时钟信号CLK2中一对应者对数据信号DQ取样,以产生信号S1、信号S2与信号S3中一对应者。详细而言,数据取样电路220可根据时钟信号CLK1的正缘(与/或负缘)触发以将数据信号DQ输出为信号S1。数据取样电路222可根据时钟信号CLK2的正缘(与/或负缘)触发以将数据信号DQ输出为信号S2,并提供信号S2至图1A的处理电路110。换言之,如先前图1A所述,时钟信号CLK2是用来读取数据信号DQ。数据取样电路224可根据时钟信号CLK3的正缘(与/或负缘)触发以将数据信号DQ输出为信号S3。

于一些实施例中,多个数据取样电路220、222以及224中每一者可由(但不限于)一D型触发器电路实施。上述关于多个数据取样电路220、222以及224的实施方式用于示例,各种可根据时钟信号来获取当前数据的取样电路皆为本公开所涵盖的范围。

多个相位检测电路230与232用以比较信号S1与信号S2以产生检测信号D1,并比较信号S3与信号S2以产生检测信号D2。举例而言,相位检测电路230可用以比较信号S1与信号S2。若信号S1相同于信号S2,相位检测电路230可输出具有第一逻辑值(例如为逻辑值1)的检测信号D1。或者,若信号S1不同于信号S2,相位检测电路230可输出具有第二逻辑值(例如为逻辑值0)的检测信号D1。类似地,相位检测电路232可用以比较信号S3与信号S2。若信号S3相同于信号S2,相位检测电路232可输出具有第一逻辑值的检测信号D2。或者,若信号S3不同于信号S2,相位检测电路232可输出具有第二逻辑值的检测信号D2。

于一些实施例中,多个相位检测电路230与232中每一者可由(但不限于)异或非(XNOR)门实施。上述关于多个相位检测电路230与232的实施方式用于示例,各种可判断数据值异同的检测电路皆为本公开所涵盖的范围。

控制逻辑电路240用以根据检测信号D1与检测信号D2调整时钟信号CLK1、时钟信号CLK2以及时钟信号CLK3,以确保时钟信号CLK2的相位可以稳定地对齐于数据信号DQ中数据有效区间的中央。于一些实施例中,控制逻辑电路240用以根据检测信号D1与检测信号D2输出选择信号SEL1、选择信号SEL2以及选择信号SEL3。关于此处的说明将于后参照图2至图5说明。

于一些实施例中,控制逻辑电路240可包含至少一暂存器,其可用以存储预设最大值j_max、预设最小值j_min以及预设最大值n_max。其中预设最大值j_max、预设最小值j_min用于设定前述的预设值j的范围,且预设最大值n_max用于设定时钟信号CLK2的相位n的上限。于一些实施例中,上述多个数值可由处理电路110执行的软件自动设定,或是由使用者直接输入。于一些实施例中,此些数值可用以调整追踪时钟信号CLK2的相位的速度。

于一些实施例中,控制逻辑电路240可由至少一数字电路实施。于一些实施例中,前述的至少一数字电路可用以执行对应于后述图4A的操作S420至操作S450的一状态机。于一些实施例中,前述的至少一数字电路可为(但不限于)数字信号处理电路、微控制器等等。

图3为根据本公开一些实施例绘制的图2中延迟线电路系统210的示意图。于一些实施例中,延迟线电路系统210包含多个缓冲器电路310与多个多工器电路320、330以及340。多个缓冲器电路310按序串联耦接,以延迟数据选通信号DQS。多个缓冲器电路310的多个输出信号O1~Om传输至多个多工器电路320、330以及340中每一者。多个多工器电路320、330以及340中每一者可根据选择信号SEL1、选择信号SEL2以及选择信号SEL中一对应者将多个输出信号O1~Om的一对应者输出为时钟信号CLK1、时钟信号CLK2以及时钟信号CLK3中一对应者。

举例来说,多工器电路330可根据选择信号SEL2将多个输出信号O1~Om中的输出信号On输出为时钟信号CLK2。多工器电路320可根据选择信号SEL1将多个输出信号O1~Om中的输出信号On-j(图中未示出)输出为时钟信号CLK1。多工器电路340可根据选择信号SEL3将多个输出信号O1~Om中的输出信号On+j(图中未示出)输出为时钟信号CLK3。换言之,若一个缓冲器电路310引入一个延迟时间T,时钟信号CLK2可视为数据选通信号DQS经过n个缓冲器电路310延迟后的信号。依此类推,时钟信号CLK1可视为数据选通信号DQS经过n-j个缓冲器电路310延迟后的信号,且时钟信号CLK3可视为数据选通信号DQS经过n+j个缓冲器电路310延迟后的信号。于一些实施例中,处理电路110可通过软件(或固件)选出n个缓冲器电路310,并经由该n个缓冲器电路310延迟数据选通信号DQS以产生时钟信号CLK2。换言之,图1B中的预定时间Texp相当于n个延迟时间T的总和。

一并参照图2、图4A、图4B与图5,以说明存储器控制器装置120的操作。图4A为根据本公开一些实施例绘制的一种相位校正方法400的流程图,图4B为根据本公开一些实施例绘制的图4A中的操作S450的流程图,且图5为根据本公开一些实施例绘制的图2中的相关波形的示意图。于一些实施例中,相位校正方法400可由(但不限于)图2的控制逻辑电路240执行。

于操作S410,在电子系统100通电(powered)后,自动校正时钟信号CLK2的相位为相位n。例如,当电子系统100通电时,处理电路110可执行一软件以发出一重置指令(图中未示出)至延迟线电路系统210。响应于此重置指令,延迟线电路系统210可对数据选通信号DQS延迟一预定时间Texp,以产生具有相位n的时钟信号CLK2,其中相位n与数据选通信号DQS的相位相差约为90度(如先前图1B所示)。

于操作S420,延迟数据选通信号DQS并根据选择信号SEL1、选择信号SEL2以及选择信号SEL3产生时钟信号CLK1、时钟信号CLK2以及时钟信号CLK3。于操作S430,根据时钟信号CLK1对数据信号DQ取样以产生信号S1,根据时钟信号CLK2对数据信号DQ取样以产生信号S2,并根据时钟信号CLK3对数据信号DQ取样以产生信号S3。于操作S440,比较信号S1与信号S2以产生检测信号D1,并比较信号S3与信号S2以产生检测信号D2。操作S420、操作S430以及操作S440可参照前述图2与图3的说明,故于此不再重复赘述。

于操作S450,根据检测信号D1与检测信号D2更新选择信号SEL1、选择信号SEL2以及选择信号SEL3,以调整时钟信号CLK1的相位、时钟信号CLK2的相位与时钟信号CLK3的相位。通过重复地执行操作S420至操作S450,存储器控制器装置120可自动地调整时钟信号CLK的相位,以确保处理电路110可稳定地读取有效数据。

为理解操作S450,参照图4B与图5,操作S450可包含多个步骤S1-1~S1-4、S2-1~S2-3、S3-1~S3-3以及S4-1~S4-5。

于步骤S1-1中,保持相位n。于步骤S1-2中,确认预设值j是否为预设最大值j_max。若预设值j不为预设最大值j_max,则执行步骤S1-3。于步骤S1-3,增加预设值j。若预设值j为预设最大值j_max,执行步骤S1-4。于步骤S1-4中,更新选择信号SEL1、选择信号SEL2与选择信号SEL3。

举例来说,如图5所示,在第一情形中,时钟信号CLK1的相位n-j、时钟信号CLK2的相位n以及时钟信号CLK3的相位n+j所对应的取样点皆落入数据信号DQ中的数据有效区间(即靠近数据窗口(data window)的中央区域)。于此条件下,信号S2会相同于信号S1与信号S3中每一者,故检测信号D1与检测信号D2皆具有第一逻辑值。响应于此检测信号D1与检测信号D2,控制逻辑电路240可保持相位n(即步骤S1-1),并逐渐增加预定值j至预设最大值j_max(即步骤S1-2至步骤S1-4),以增加数据取样的边界(margin)。如此,多个取样点可尽量涵盖数据有效区间的整体范围。

继续参照图4B,于步骤S2-1中,保持预设值j。于步骤S2-2中,减少相位n。于步骤S2-3中,更新选择信号SEL1、选择信号SEL2与选择信号SEL3。举例来说,如图5所示,在第二情形中,时钟信号CLK1的相位n-j与时钟信号CLK2的相位n所对应的多个取样点皆落入数据信号DQ中的数据有效区间,而时钟信号CLK3的相位n+j对应的取样点落入数据信号DQ中的数据模糊区(以点状区域表示,即为靠近转态边缘的区域)。于此条件下,信号S2会相同于信号S1且不同于信号S3,故检测信号D1具有第一逻辑值且检测信号D2具有第二逻辑值。响应于此检测信号D1与检测信号D2,控制逻辑电路240可保持预设值j(即步骤S2-1)并左移相位n(即步骤S2-2)。如此,可将多个取样点修正回数据有效区间。

继续参照图4B,于步骤S3-1中,保持预设值j。于步骤S3-2中,增加相位n。于步骤S3-3中,更新选择信号SEL1、选择信号SEL2与选择信号SEL3。举例来说,如图5所示,在第三情形中,时钟信号CLK1的相位n-j所对应的取样点落入数据信号DQ中的数据模糊区,且时钟信号CLK2的相位n以及时钟信号CLK3的相位n+j所对应的多个取样点皆落入数据有效区间。于此条件下,信号S2会相同于信号S3且不同于信号S1,故检测信号D1具有第二逻辑值且检测信号D2具有第一逻辑值。响应于此检测信号D1与检测信号D2,控制逻辑电路240可保持预设值j(即步骤S3-1)并右移相位n(即步骤S3-2)。如此,可将多个取样点修正回数据有效区间。换言之,当信号S2不同于信号S1与信号S3中一者且相同于信号S1与信号S3中的另一者时(即第二情形或第三情形),控制逻辑电路240可通过平移时钟信号CLK2的相位n,以确保可取样到有效数据。

继续参照图4B,于步骤S4-1中,保持相位n,并将预设值j设定为预设最小值j_min。于步骤S4-2中,更新选择信号SEL1、选择信号SEL2以及选择信号SEL3。于步骤S4-3,根据次一阶段(next cycle)收到的检测信号D1与检测信号D2判断信号S2是否相同于信号S1与信号S3。若信号S2不同于信号S1与信号S3中每一者,执行步骤S4-4。若信号S2相同于信号S1与信号S3每一者,执行步骤S4-5。于步骤S4-4,重置相位n。于步骤S4-5,更新选择信号SEL1、选择信号SEL2与选择信号SEL3。

举例来说,如图5所示,第四情形可发生于两种条件下。于第一条件下,相位n出错而使至少两个取样点(包含对应于相位n的取样点)落入数据模糊区。于第二条件下,预设值j太大而使得时钟信号CLK1的相位n-j及时钟信号CLK3的相位n+j所对应的多个取样点落入数据模糊区。于此两种条件下,信号S2将不同于信号S1与信号S3中每一者,故检测信号D1与检测信号D2皆具有第二逻辑值。响应于此检测信号D1与检测信号D2,控制逻辑电路240可保持相位n,并将预设值j设为预设最小值j_min(即步骤S4-1),并根据次一阶段收到的检测信号D1与检测信号D2判断信号S2是否相同于信号S1与信号S3(即步骤S4-2与步骤S4-3)。

应当理解,若预设值j已为预设最小值j_min而后续的信号S2仍不同于信号S1与信号S3中每一者,代表相位n出错,使得至少有两个取样点(包含对应于相位n的取样点)仍位于数据模糊区(即出现前述的第一条件)。于此条件下,检测信号D1与检测信号D2仍具有第二逻辑值。响应于此检测信号D1与检测信号D2,控制逻辑电路240可重置相位n(即步骤S4-4),以将多个取样点修正回数据有效区间。或者,若预设值j已为预设最小值j_min且后续的信号S2已相同于信号S1与信号S3中每一者,代表先前的预设值j过大(即出现前述的第二条件)。于此条件下,检测信号D1与检测信号D2皆具有第一逻辑值,此时可根据当前的相关参数更新选择信号SEL1、选择信号SEL2以及选择信号SEL3。换言之,通过减少预设值j,已足够将多个取样点修正回数据有效区间。

上述多个操作仅为示例,并非限定需依照此示例中的顺序执行。在不违背本公开的各实施例的操作方式与范围下,在相位校正方法400下的各种操作当可适当地增加、替换、省略或以不同顺序执行。或者,在相位校正方法400下的一或多个操作可以是同时或部分同时执行。

综上所述,本公开一些实施例中的存储器控制器装置与相位校正方法可不需采用锁相回路等模拟电路来自动调节用于读取数据信号的时钟信号的相位。如此,可简化电路布局与相位调节机制。另外,于本公开一些实施例中,可通过软件方式设定用于相位追踪的相关参数,故具有较高的使用弹性。

虽然本公开的实施例如上所述,然而所述实施例并非用来限定本公开,本技术领域技术人员可依据本公开的明示或隐含的内容对本公开的技术特征施以变化,凡此种种变化均可能属于本公开所寻求的专利保护范围,换言之,本公开的专利保护范围须视本说明书的权利要求所界定者为准。

16页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:识别存储器装置中的高阻抗故障

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!