发明内容
本发明的一目的在于提供一种存储器控制器、存储器的读取控制的方法及相关存储系统,以解决上述有效数据被延迟的问题。
本发明至少一实施例提供一种存储器控制器。该存储器控制器包含一数据锁存电路、一遮罩产生电路、一电耦接至该遮罩产生电路的时钟控制逻辑、以及一电耦接至该数据锁存电路和该时钟控制逻辑的解复用器。该数据锁存电路可用来依据来自一存储器的一数据选通信号来锁存来自该存储器的一数据信号中的一系列数据,该遮罩产生电路可用来依据该数据选通信号来产生一遮罩信号,该时钟控制逻辑可用来依据该遮罩信号产生一接收时钟信号,以及该解复用器可用来藉助该接收时钟信号决定该系列数据中的有效数据。
本发明至少一实施例提供一种用于一存储器的读取控制的方法。该方法包含:自该存储器接收一数据选通信号以及一数据信号;依据该数据选通信号来锁存该数据信号中的一系列数据;依据该数据选通信号来产生一遮罩信号;依据该遮罩信号来产生一接收时钟信号;以及藉助该接收时钟信号决定该系列数据中的有效数据。
本发明至少一实施例提供一种存储系统,其中该存储系统包含一存储器以及电耦接至该存储器的一存储器控制器。该存储器可用来存储数据,以及该存储器控制器可用来进行该存储器的读取控制。尤其是,该存储器控制器包含一数据锁存电路、一遮罩产生电路、一电耦接至该遮罩产生电路的时钟控制逻辑、以及一电耦接至该数据锁存电路和该时钟控制逻辑的解复用器。该数据锁存电路可用来依据来自该存储器的一数据选通信号来锁存来自该存储器的一数据信号中的一系列数据,该遮罩产生电路可用来依据该数据选通信号来产生一遮罩信号,该时钟控制逻辑可用来依据该遮罩信号产生一接收时钟信号,以及该解复用器可用来藉助该接收时钟信号决定该系列数据中的有效数据。
本发明实施例所提供的存储器控制器、存储器的读取控制的方法及相关存储系统直接利用一数据锁存电路来锁存一数据信号中的一系列数据,之后再于降低数据率的步骤中利用一遮罩信号来选出有效数据。由于该存储器控制器在锁存该系列数据以前不需要利用该遮罩信号来对该数据选通信号进行门控,因此本发明能解决在相关技术中产生额外的数据延迟的问题。另外,相较于相关技术,本发明的存储器控制器所产生的遮罩信号的时序能具有较大的容忍度。因此,本发明能在没有副作用或较不会带来副作用的情况下解决相关技术的问题。
具体实施方式
于说明书及权利要求当中使用了某些词汇来指称特定的元件。本领域技术人员应可理解,硬件制造商可能会用不同的名词来称呼同样的元件。本说明书及权利要求并不以名称的差异来作为区分元件的方式,而是以元件在功能上的差异来作为区分的准则。于通篇说明书及权利要求当中所提及的“包含”为一开放式的用语,故应解释成“包含但不限定于”。另外,“电耦接”一词在此是包含任何直接及间接的电气连接手段。因此,若文中描述一第一装置电耦接于一第二装置,则代表该第一装置可直接电气连接于该第二装置,或通过其他装置或连接手段间接地电气连接至该第二装置。
图1为依据本发明一实施例的存储系统10的示意图。存储系统10可包含一存储器50以及电耦接至存储器50的一存储器控制器100,其中存储器50可用来存储数据,以及存储器控制器100可用来进行存储器50的读取控制。存储器50的例子可包含(但不限于)动态随机存取存储器(dynamic random access memory,DRAM)诸如同步动态随机存取存储器(synchronous DRAM,SDRAM)。
如图1所示,存储器控制器100可包含一接收电路110、一数据锁存(latch)电路120、一遮罩产生电路(mask generating circuit)130、一时钟控制逻辑(clock controllogic)140以及一解复用器(demultiplexer)150(例如一降速解复用器)。接收电路110可用来接收来自存储器50的数据选通信号(data strobe signal){DQS,DQSB}以及一数据信号DQ,其中数据选通信号{DQS,DQSB}是一对差动信号,但本发明不限于此。接收电路110可针对数据选通信号{DQS,DQSB}以及数据信号DQ进行预先处理(例如放大、延迟等等),并且据以产生数据选通信号DQSIN以及数据信号DQIN给数据锁存电路120。数据锁存电路120可用来依据来自存储器50的数据选通信号(尤指藉由接收电路110接收并处理过后产生的数据选通信号DQSIN)来锁存来自存储器50的数据信号(尤指藉由接收电路110接收并处理过后产生的数据信号DQIN)中的一系列数据。遮罩产生电路130可用来依据数据选通信号DQSIN来产生一遮罩信号(mask signal)MASK,例如,在存储系统10上电时,存储器控制器100可基于数据选通信号DQSIN的一使能时段(例如该使能时段中的一或多个上升缘及/或下降缘)来控制遮罩产生电路130以产生遮罩信号MASK,但本发明不限于此。时钟控制逻辑140电耦接至遮罩产生电路130,其中时钟控制逻辑140可用来依据遮罩信号MASK产生一接收时钟信号(clock signal)CLKR。解复用器150电耦接至数据锁存电路120以及时钟控制逻辑140,其中解复用器150可用来藉助接收时钟信号CLKR决定数据锁存电路120所锁存的该系列数据中的有效数据,并且将该有效数据载于降速后的数据信号DATAC,再将数据信号DATAC与对应的时钟信号CLKC一并传输至后端电路以供后续使用。
图2为依据本发明一实施例的图1所示的存储器控制器100中的接收电路110与数据锁存电路120的电路示意图。如图2所示,接收电路110可包含多个接收放大器(receivingamplifier,简称为“RA”)112及114以及一延迟电路116。接收放大器112可基于一参考电压VREF将数据信号DQ放大以产生数据信号DQIN,而接收放大器114可将数据选通信号{DQS,DQSB}放大后传送至延迟电路116以产生数据选通信号DQSIN。由于数据选通信号{DQS,DQSB}以及数据信号DQ是同步的,延迟电路116可将放大后的数据选通信号{DQS,DQSB}进行适当延迟,使得数据选通信号DQSIN的转换缘(例如上升缘以及下降缘)能尽量位于数据信号DQIN的每一位的中间,以确保每一位的数据都被妥善的锁存,但本发明不限于此。延迟电路116的例子可包含(但不限于)一延迟锁定回路(delay locked loop,DLL)。
在本实施例中,数据锁存电路120可依据数据选通信号DQSIN的上升缘以及下降缘来分别锁存数据信号DQIN中的该系列数据,即存储器控制器100可应用于一双倍数据率(double data rate,DDR)存储系统,例如,第二代双倍数据率(DDR2)存储系统、第三代双倍数据率(DDR3)存储系统、以及低功耗双倍数据率(Low Power DDR,LPDDR)存储系统诸如第三代低功耗双倍数据率(LPDDR3)存储系统以及第四代低功耗双倍数据率(LPDDR4)存储系统等等。如图2所示,数据锁存电路120可包含一正缘触发触发器122以及一负缘触发触发器124,其中正缘触发触发器122的时钟端子(以一三角形表示)以及数据输入端子(标示为“D”)分别接收数据选通信号DQSIN以及数据信号DQIN并且通过其数据输出端子(标示为“Q”)将锁存的数据输出,因此正缘触发触发器122可依据数据选通信号DQSIN的上升缘来锁存该系列数据中的一部分,而负缘触发触发器124的时钟端子(以一三角形以及一圆圈表示)以及数据输入端子(标示为“D”)分别接收数据选通信号DQSIN以及数据信号DQIN并且通过其数据输出端子(标示为“Q”)将锁存的数据输出,因此负缘触发触发器124可依据数据选通信号DQSIN的下降缘来锁存该系列数据中的另一部分,但本发明不限于此。此外,正缘触发触发器122与负缘触发触发器124的数据输出端子则分别连接至解复用器150。
图3为依据本发明一实施例的图2所示的时钟控制逻辑140的电路示意图。如图3所示,时钟控制逻辑140可包含一降速控制逻辑142以及电耦接至降速控制逻辑142的一降速电路144。在本实施例中,降速控制逻辑142可用来至少依据遮罩信号MASK产生一控制信号RCTRL,而降速电路144可依据控制信号RCTRL的逻辑状态(例如高逻辑电平“1”或低逻辑电平“0”)选择性地对数据选通信号DQSIN进行降速以产生接收时钟信号CLKR。例如,因应控制信号RCTRL的一第一逻辑状态,降速电路144可对数据选通信号DQSIN进行降速以产生接收时钟信号CLKR;以及因应控制信号RCTRL的一第二逻辑状态,降速电路144可控制接收时钟信号CLKR具有一固定的逻辑状态,换言之,降速电路144此时的操作类似一时钟门。
如图3所示,降速电路144可为一分频器(frequency divider)),例如一负缘触发分频器,其中该分频器可通过一或多个触发器来实施。在本实施例中,降速电路144可包含多个负缘触发触发器144_1以及144_2,其中负缘触发触发器144_1以及144_2重设端子(标示为“RST”)均可用来接收控制信号RCTRL。负缘触发触发器144_1的时钟端子(以一三角形以及圆圈)可用来接收数据选通信号DQSIN,而负缘触发触发器144_1的反向数据输出端子(标示为“QB”)电耦接至负缘触发触发器144_1的数据输入端子(标示为“D”)。负缘触发触发器144_2的时钟端子(以一三角形以及圆圈)电耦接至负缘触发触发器144_1的反向数据输出端子,而负缘触发触发器144_2的反向数据输出端子(标示为“QB”)电耦接至负缘触发触发器144_2的数据输入端子(标示为“D”)。在本实施例中,当控制信号RCTRL处于该第一逻辑状态(例如低逻辑电平“0”),降速电路144可对数据选通信号DQSIN进行分频以分别在负缘触发触发器144_1以及144_2的反向数据输出端子产生接收时钟信号DQSDIV2以及DQSDIV4,其中接收时钟信号DQSDIV2是藉由将数据选通信号DQSIN的频率除二所产生,而接收时钟信号DQSDIV4是藉由将数据选通信号DQSIN的频率除四所产生。另外,当控制信号RCTRL处于该第二逻辑状态(例如高逻辑电平“1”),降速电路144可控制接收时钟信号DQSDIV2以及DQSDIV4具有一固定的逻辑状态(例如低逻辑电平)。在本实施例中,接收时钟信号CLKR包含接收时钟信号DQSDIV2以及DQSDIV4。
如图3所示,降速控制逻辑142可包含多个或非门(NOR gate)142_1以及142_2。或非门142_1的第一输入端子可用来接收遮罩信号MASK,以及或非门142_1的第二输入端子可电耦接至或非门142_2的输出端子,其中或非门142_1的输出端子可用来输出控制信号RCTRL。或非门142_2的第一输入端子可用来接收控制信号RCTRL,以及或非门142_2的第二输入端子可电耦接至降速电路144中的负缘触发触发器144_2的数据输出端子,其中负缘触发触发器144_2的数据输出端子输出的信号为负缘触发触发器144_2的反向数据输出端子输出的信号(即接收时钟信号DQSDIV4)的反向信号。因此,降速控制逻辑142可依据遮罩信号MASK以及接收时钟信号DQSDIV4来产生控制信号RCTRL。
图4为依据本发明一实施例的图2所示的存储器控制器100及图3所示的时钟控制逻辑140的操作的时序图。假设在一次读取动作中,数据信号DQIN共包含十六位的有效数据,数据选通信号DQSIN则包含八个循环的周期性方波以用来锁存该十六位的有效数据。需注意的是,遮罩信号MASK的使能时段(即高逻辑电平的时段)在本实施例中可短于数据选通信号DQSIN操作为一周期性信号的时段(即该八个循环的周期性方波的时段)。具体来说,遮罩信号MASK的使能时段的起始时间点(即时间点t2)可晚于数据选通信号DQSIN中用于锁存该有效数据的第一位的时间点(即时间点t1),而遮罩信号MASK的使能时段的结束时间点(即时间点t4)可早于数据选通信号DQSIN中用于锁存该有效数据的最后一位的时间点(即时间点t3),其中时间点t2以及t4(即遮罩信号MASK的使能时段)只是为了说明的目的,并非本发明的限制。
为便于理解,请连同图2以及图3来参考图4。在遮罩信号MASK由低逻辑电平转为高逻辑电平以前,降速控制逻辑142可将控制信号RCTRL固定在高逻辑电平以控制降速电路144固定输出低逻辑电平。当遮罩信号MASK由低逻辑电平转为高逻辑电平时,降速控制逻辑142可将控制信号RCTRL由高逻辑电平转为低逻辑电平以启用降速电路144的分频功能,如图4中接收时钟信号DQSDIV2以及DQSDIV4所示。当遮罩信号由高逻辑电平转为低逻辑电平时,由于接收时钟信号DQSDIV4在时间点t5时已由低逻辑电平转为高逻辑电平,因此降速控制逻辑142中的或非门142_1的第二输入端子已由低逻辑电平转为高逻辑电平,使得控制信号RCTRL在遮罩信号MASK转为低逻辑电平以后仍然维持在低逻辑电平。于接收时钟信号DQSDIV4在时间点t6由高逻辑电平转为低逻辑电平以后,控制信号RCTRL才可回到高逻辑电平以控制降速电路144停用分频功能并且将输出接收时钟信号DQSDIV2以及DQSDIV4固定在低逻辑电平。如图4所示,存储器控制器100可直接利用数据选通信号DQSIN来锁存数据信号DQIN的一系列数据,其中该系列数据可包含依据数据选通信号DQSIN中的抖动信号所锁存的无效数据以及依据数据选通信号DQSIN中的该八个循环的周期性方波所锁存的有效数据。由于接收时钟信号DQSDIV2以及DQSDIV4是藉由对数据选通信号DQSIN进行分频来产生,因此接收时钟信号DQSDIV2以及DQSDIV4的最后一个下降缘的时间点(即时间点t6)与数据选通信号DQSIN在该八个循环的周期性方波中的最后一个下降缘(即时间点t3)的时间点一致,而解复用器150在将该系列数据进行降速的过程中(例如进行串列至并列(serial-to-parallel)的转换程序中)即可依据接收时钟信号DQSDIV2及/或DQSDIV4来判断该系列数据中的该有效数据的部分,以决定该系列数据中的该有效数据(例如数据Data_0、Data_1等等)。
以图4所示的数据选通信号DQSIN以及数据信号DQIN为例,相关技术需要先利用一遮罩信号对数据信号DQIN进行门控(gating)来产生一门控输出信号,并且利用该门控输出信号来锁存数据信号DQIN中的一系列数据以确保该系列数据都是有效数据,因此,相关技术中的遮罩信号的使能时段的起始时间点必须早于时间点t1,而相关技术中的遮罩信号的使能时段的结束时间点必须晚于时间点t3。相较于相关技术的作法,本发明的存储器控制器100所使用的遮罩信号MASK可具有较大的容忍度。由于降速电路144是实施为一负缘触发分频器,因此遮罩信号MASK的使能时段的起始时间点最多可延后至数据选通信号DQSIN在该八个循环的周期性方波中的第一个下降缘的时间点(即时间点t7),而遮罩信号MASK的使能时段的结束时间点最多可提早至接收时钟信号DQSDIV4的最后一个上升缘的时间点(即时间点t5)。
上述实施例中的遮罩产生电路130以及解复用器150的实施方式不限于特定的逻辑电路。凡是能依据数据选通信号DQSIN来产生符合上述操作时序的限制的遮罩信号MASK者,均适用于遮罩产生电路130;以及能在将该系列数据(包含该无效数据以及该有效数据)降速后,利用分频后的信号(例如接收时钟信号DQSDIV2及/或DQSDIV4)来找出该有效数据并传送至后端电路者,均适用于解复用器150。另外,图3所示的降速电路144是以具有除二、除四功能的分频器为例,但本发明不限于以特定倍数的分频器来实施。
请连同图1参考图5,其中图5为依据本发明一实施例的用于一存储器(例如存储器50)的读取控制的方法的工作流程。图5所示的工作流程可由本发明实施例所揭示的存储器控制器100来实施。需注意的是,图5所示的工作流程只是为了说明的目的,并非本发明的限制,其中一或多个步骤可在该工作流程中被新增、删除或修改。此外,假若可得到相同的结果,则这些步骤不一定要完全遵照图5所示的顺序来执行。
在步骤510中,存储器控制器100可通过接收电路110自存储器50接收数据选通信号DQS以及数据信号DQ,并且产生相对应的数据选通信号DQSIN以及数据信号DQIN。
在步骤520中,存储器控制器100可依据数据选通信号DQSIN来锁存数据信号DQIN中的一系列数据。
在步骤530中,遮罩产生电路130可依据数据选通信号DQSIN(或DQS)来产生遮罩信号MASK。
在步骤540中,时钟控制逻辑140可依据遮罩信号MASK来产生接收时钟信号CLKR。
在步骤550中,解复用器150可藉助接收时钟信号CLKR决定该系列数据中的有效数据。
总结来说,本发明实施例提供了一种存储器控制器、一种用于存储器的读取控制的方法以及一包含该存储器控制器以及该存储器的存储系统。该存储器控制器先利用一数据选通信号来锁存一数据信号中的一系列数据(不论是否有无效数据在其内),接着在将该系列数据降速(例如分频)以后才从该系列数据中取得有效数据。由于本发明在锁存该系列数据以前不需要利用一遮罩信号来对该数据选通信号进行门控,因此在相关技术中数据延迟的问题得以被解决。另外,相较于相关技术,于本发明中用来取得该有效数据的遮罩信号的时序能具有较大的容忍度,因此因为该遮罩信号的时序的不准确而发生错误的机率能大幅地被减少,整体效能也能因此被提升。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。