用于dqs選通的系統(tǒng)和方法
【專(zhuān)利摘要】提供了用于對(duì)存儲(chǔ)器設(shè)備的讀操作進(jìn)行定時(shí)的系統(tǒng)和方法。在選通電路處接收來(lái)自存儲(chǔ)器設(shè)備的時(shí)序信號(hào)。在選通窗期間使時(shí)序信號(hào)作為經(jīng)濾波的時(shí)序信號(hào)而通過(guò)。選通窗被配置用于基于控制信號(hào)打開(kāi)選通窗并且基于時(shí)序信號(hào)的下降沿關(guān)閉選通窗。下降沿基于由控制信號(hào)觸發(fā)以開(kāi)始計(jì)數(shù)的計(jì)數(shù)器被確定。在接收到來(lái)自存儲(chǔ)器控制器的讀請(qǐng)求之后,在時(shí)序控制電路處生成控制信號(hào)。時(shí)序控制電路被配置用于延遲控制信號(hào)的生成,以使得選通窗在時(shí)序信號(hào)的前同步碼部分期間打開(kāi)。
【專(zhuān)利說(shuō)明】用于DQS選通的系統(tǒng)和方法
[0001] 相關(guān)申請(qǐng)的奪叉引用
[0002] 本發(fā)明要求于2012年5月1日提交的第61/640,994號(hào)美國(guó)臨時(shí)專(zhuān)利申請(qǐng)以及于 2012年5月2日提交的第61/641,795號(hào)美國(guó)臨時(shí)專(zhuān)利申請(qǐng)的優(yōu)先權(quán),通過(guò)引用方式將它們 整體并入于此。
【技術(shù)領(lǐng)域】
[0003] 本文件中所描述的技術(shù)總體上涉及存儲(chǔ)器控制器,并且更具體地涉及被配置用于 選通時(shí)序信號(hào)以執(zhí)行存儲(chǔ)器設(shè)備的讀操作的選通電路。
【背景技術(shù)】
[0004] 同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM)是在計(jì)算設(shè)備中使用的隨機(jī)存取存儲(chǔ)器(RAM) 的一種類(lèi)型。SDRAM包括單數(shù)據(jù)速率(SDR) SDRAM和雙數(shù)據(jù)速率(DDR) SDRAM兩者。SDR SDRAM 在時(shí)序信號(hào)的每個(gè)周期期間與時(shí)序信號(hào)的上升沿同步地傳輸數(shù)據(jù)。相比之下,通過(guò)在時(shí)序 信號(hào)的上升沿和下降沿兩者上傳輸數(shù)據(jù),DDR SDRAM可以實(shí)現(xiàn)將近兩倍于SDR SDRAM的帶 寬。
[0005] 為了將數(shù)據(jù)從SDRAM存儲(chǔ)器模塊傳輸?shù)酱鎯?chǔ)器控制器,存儲(chǔ)器控制器可以通過(guò)發(fā) 出讀請(qǐng)求到SDRAM存儲(chǔ)器模塊來(lái)啟動(dòng)讀操作。經(jīng)過(guò)一段時(shí)間后,存儲(chǔ)器模塊可以通過(guò)將數(shù) 據(jù)信號(hào)連同時(shí)序信號(hào)一起(例如DQ數(shù)據(jù)信號(hào)和DQS數(shù)據(jù)選通信號(hào))發(fā)送到存儲(chǔ)器控制器 而做出響應(yīng)。在一些系統(tǒng)中,在存儲(chǔ)器控制器處接收之前,時(shí)序信號(hào)經(jīng)歷濾波操作以消除信 號(hào)噪聲或者時(shí)序信號(hào)的不期望的區(qū)域。響應(yīng)于接收到時(shí)序信號(hào),存儲(chǔ)器控制器可以讀取數(shù) 據(jù)信號(hào)并且通過(guò)在時(shí)序信號(hào)的上升沿或下降沿上寄存數(shù)據(jù)來(lái)存儲(chǔ)數(shù)據(jù)。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明針對(duì)用于對(duì)存儲(chǔ)器設(shè)備的讀操作進(jìn)行定時(shí)的系統(tǒng)和方法。用于對(duì)存儲(chǔ)器設(shè) 備的讀操作進(jìn)行定時(shí)的系統(tǒng)包括選通電路,該選通電路被配置用于接收來(lái)自存儲(chǔ)器設(shè)備的 時(shí)序信號(hào)并且在選通窗期間使時(shí)序信號(hào)作為經(jīng)濾波的時(shí)序信號(hào)而通過(guò)。選通電路被配置用 于基于控制信號(hào)打開(kāi)選通窗并且基于時(shí)序信號(hào)的下降沿關(guān)閉選通窗。下降沿基于計(jì)數(shù)器被 確定,該計(jì)數(shù)器由控制信號(hào)觸發(fā)以開(kāi)始計(jì)數(shù)。系統(tǒng)進(jìn)一步包括時(shí)序控制電路,該時(shí)序控制電 路被配置用于在接收到來(lái)自存儲(chǔ)器控制器的讀請(qǐng)求之后生成控制信號(hào)。時(shí)序控制電路被配 置用于延遲控制信號(hào)的生成,以使得選通窗在時(shí)序信號(hào)的前同步碼(preamble)部分期間 打開(kāi)。
[0007] 在另一示例中,在用于對(duì)存儲(chǔ)器設(shè)備的讀操作進(jìn)行定時(shí)的方法中,在選通電路處 接收來(lái)自存儲(chǔ)器設(shè)備的時(shí)序信號(hào)。在選通窗期間,時(shí)序信號(hào)作為經(jīng)濾波的時(shí)序信號(hào)而通過(guò)。 選通窗被配置用于基于控制信號(hào)打開(kāi)選通窗并且基于時(shí)序信號(hào)的下降沿關(guān)閉選通窗。下降 沿基于計(jì)數(shù)器被確定,該計(jì)數(shù)器由控制信號(hào)觸發(fā)以開(kāi)始計(jì)數(shù)。在時(shí)序控制電路處,在接收到 來(lái)自存儲(chǔ)器控制器的讀請(qǐng)求之后生成控制信號(hào)。時(shí)序控制電路被配置用于延遲控制信號(hào)的 生成,以使得選通窗在時(shí)序信號(hào)的前同步碼部分期間打開(kāi)。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0008] 圖1是圖示在存儲(chǔ)器控制器與存儲(chǔ)器模塊之間執(zhí)行的讀操作的框圖。
[0009] 圖2描繪了在存儲(chǔ)器控制器與SDRAM存儲(chǔ)器模塊之間執(zhí)行讀操作中所使用的信 號(hào)。
[0010] 圖3圖示了在選通DQS時(shí)序信號(hào)中的挑戰(zhàn)。
[0011] 圖4描繪了用于執(zhí)行存儲(chǔ)器設(shè)備中的DQS選通控制的示例選通電路。
[0012] 圖5描繪了使用選通電路在存儲(chǔ)器控制器與存儲(chǔ)器模塊之間執(zhí)行讀操作中所使 用的信號(hào)。
[0013] 圖6描繪了示例時(shí)序控制電路和示例信號(hào)時(shí)序圖。
[0014] 圖7描繪了用于生成在選通電路中打開(kāi)選通窗所使用的控制信號(hào)的示例時(shí)序控 制電路。
[0015] 圖8是圖示發(fā)生在片上系統(tǒng)(S0C)與DDR存儲(chǔ)器之間的示例通信的框圖。
[0016] 圖9描繪了圖示在執(zhí)行DDR存儲(chǔ)器的讀操作中的延遲to、tl和t2的示例信號(hào)時(shí) 序圖。
[0017] 圖10描繪了用于評(píng)估RD_DQS時(shí)序信號(hào)與DQS_gate_start控制信號(hào)之間的關(guān)系 的示例監(jiān)控器邏輯電路。
[0018] 圖11描繪了用于圖示針對(duì)一個(gè)周期的前同步碼情況的初始校準(zhǔn)的各方面的信號(hào) 時(shí)序圖。
[0019] 圖12描繪了用于圖示針對(duì)兩個(gè)周期的前同步碼情況的初始校準(zhǔn)的各方面的信號(hào) 時(shí)序圖。
[0020] 圖13描繪了用于圖示針對(duì)運(yùn)行時(shí)間自動(dòng)校準(zhǔn)程序的評(píng)估程序的各方面的信號(hào)時(shí) 序圖。
[0021] 圖14描繪了用于圖示運(yùn)行時(shí)間自動(dòng)校準(zhǔn)程序中的早DQS_gate_start條件和晚 DQS_gate_start條件的信號(hào)時(shí)序圖。
[0022] 圖15是描繪用于DDR DQS選通窗的自動(dòng)校準(zhǔn)的示例方法的流程圖。
[0023] 圖16描繪了圖示響應(yīng)于從存儲(chǔ)器控制器發(fā)出的連續(xù)(back-to-back)讀命令而執(zhí) 行的示例DQS選通操作的信號(hào)時(shí)序圖。
[0024] 圖17描繪了圖示響應(yīng)于由一個(gè)周期的間隙分開(kāi)的兩個(gè)讀命令而執(zhí)行的示例DQS 選通操作的信號(hào)時(shí)序圖。
[0025] 圖18描繪了圖示響應(yīng)于由兩個(gè)周期的間隙分開(kāi)的兩個(gè)讀命令而執(zhí)行的示例DQS 選通操作的信號(hào)時(shí)序圖。
[0026] 圖19描繪了圖示響應(yīng)于讀中斷命令而執(zhí)行的示例DQS選通操作的信號(hào)時(shí)序圖。
[0027] 圖20描繪了圖示響應(yīng)于突發(fā)突變(burst chop)命令而執(zhí)行的示例DQS選通操作 的信號(hào)時(shí)序圖。
[0028] 圖21描繪了圖示使用具有兩個(gè)周期的前同步碼區(qū)域的RD_DQS時(shí)序信號(hào)執(zhí)行的示 例DQS選通操作的信號(hào)時(shí)序圖。
[0029] 圖22描繪了圖示響應(yīng)于從存儲(chǔ)器控制器發(fā)出的連續(xù)讀命令而執(zhí)行的示例DQS選 通操作的信號(hào)時(shí)序圖,其中Rd_DQS時(shí)序信號(hào)的前同步碼區(qū)域具有兩個(gè)周期的持續(xù)時(shí)間。
[0030] 圖23描繪了圖示響應(yīng)于突發(fā)突變命令而執(zhí)行的示例DQS選通操作的信號(hào)時(shí)序圖, 其中Rd_DQS時(shí)序信號(hào)的前同步碼區(qū)域具有兩個(gè)周期的持續(xù)時(shí)間。
[0031] 圖24是圖示用于對(duì)存儲(chǔ)器設(shè)備的讀操作進(jìn)行定時(shí)的示例方法的流程圖。
【具體實(shí)施方式】
[0032] 圖1是圖示在存儲(chǔ)器控制器102與存儲(chǔ)器模塊106之間執(zhí)行的讀操作的框圖。在 存儲(chǔ)器控制器102發(fā)送讀請(qǐng)求104到存儲(chǔ)器模塊106、請(qǐng)求從存儲(chǔ)器中的特定地址讀取數(shù)據(jù) 的情況下,可以啟動(dòng)讀操作。存儲(chǔ)器控制器102可以包括例如微控制器或片上系統(tǒng)(S0C)。 通過(guò)輸出數(shù)據(jù)信號(hào)108和時(shí)序信號(hào)110兩者,存儲(chǔ)器模塊106可以對(duì)讀請(qǐng)求104做出響應(yīng)。 數(shù)據(jù)信號(hào)108和時(shí)序信號(hào)110可以分別包括例如DQ信號(hào)和DQS數(shù)據(jù)選通信號(hào)。時(shí)序信號(hào) 110用于通知存儲(chǔ)器控制器102數(shù)據(jù)信號(hào)108已經(jīng)準(zhǔn)備好被接收,并且用于告知存儲(chǔ)器控制 器102數(shù)據(jù)信號(hào)108的特定時(shí)序。具體地,DQS數(shù)據(jù)選通信號(hào)用于鎖存輸入數(shù)據(jù)并且驅(qū)動(dòng) 存儲(chǔ)器控制器102的先入先出(FIFO)邏輯。輸入數(shù)據(jù)可以在DQS數(shù)據(jù)選通信號(hào)的上升沿 和下降沿兩者上被鎖存,其中DQS數(shù)據(jù)選通信號(hào)可以是單端的或差分的。DQS數(shù)據(jù)選通信號(hào) 可以使用中心抽頭終止(CTT)。
[0033] 圖2描繪了在存儲(chǔ)器控制器與存儲(chǔ)器模塊之間執(zhí)行讀操作中所使用的信號(hào)。如在 圖2中圖示的,時(shí)序信號(hào)202可以包含五個(gè)不同的區(qū)域:三態(tài)區(qū)域204、212、前同步碼區(qū)域 206、數(shù)據(jù)傳輸區(qū)域208和后同步碼區(qū)域210。在存儲(chǔ)器模塊接收到讀請(qǐng)求之前,時(shí)序信號(hào) 202存在于由三態(tài)區(qū)域204表示的高阻抗?fàn)顟B(tài)。當(dāng)在三態(tài)區(qū)域204中進(jìn)行操作的同時(shí),時(shí) 序信號(hào)202具有不確定的值,既非邏輯電平高又非邏輯電平低(即"高阻抗"電平)。在接 收到讀請(qǐng)求之后,時(shí)序信號(hào)202轉(zhuǎn)變到在數(shù)據(jù)傳輸區(qū)域20g之前的邏輯電平低的前同步碼 區(qū)域206。前同步碼區(qū)域206的持續(xù)時(shí)間一般是一個(gè)或兩個(gè)時(shí)鐘周期。為了在存儲(chǔ)器模塊 與存儲(chǔ)器控制器之間傳輸數(shù)據(jù)信號(hào)內(nèi)的數(shù)據(jù)包,時(shí)序信號(hào)202進(jìn)入數(shù)據(jù)傳輸區(qū)域208。當(dāng) 在數(shù)據(jù)傳輸區(qū)域中進(jìn)行操作的同時(shí),時(shí)序信號(hào)202在邏輯電平高值與邏輯電平低值之間切 換。存儲(chǔ)器控制器使用切換的時(shí)序信號(hào)202作為參考信號(hào),并且可以在時(shí)序信號(hào)202的上 升沿或下降沿上讀入數(shù)據(jù)信號(hào)。跟隨數(shù)據(jù)傳輸區(qū)域208之后并且在進(jìn)入第二三態(tài)區(qū)域212 之前,時(shí)序信號(hào)202進(jìn)入邏輯電平低的后同步碼區(qū)域210。從后同步碼區(qū)域210到三態(tài)區(qū)域 212的過(guò)渡可以發(fā)生在數(shù)據(jù)傳輸區(qū)域208內(nèi)的有效數(shù)據(jù)的最后沿之后的二分之一時(shí)鐘周期 (即,后同步碼區(qū)域的持續(xù)時(shí)間可以是二分之一時(shí)鐘周期)。
[0034] 再次參照?qǐng)D1,可以采用濾波電路112以實(shí)現(xiàn)更可靠的讀操作。并非將時(shí)序信號(hào) 110直接從存儲(chǔ)器模塊106發(fā)送到存儲(chǔ)器控制器102,而是可以將時(shí)序信號(hào)110通過(guò)濾波電 路112,以消除信號(hào)噪聲或者移除時(shí)序信號(hào)110的可能導(dǎo)致錯(cuò)誤數(shù)據(jù)讀操作的部分。從而, 在接收到讀請(qǐng)求104之后,濾波電路112可以生成選通窗以充當(dāng)針對(duì)時(shí)序信號(hào)110的濾波 器。經(jīng)濾波的時(shí)序信號(hào)114(被允許通過(guò)濾波電路112的打開(kāi)的選通窗)可以由存儲(chǔ)器控 制器102接收。盡管在圖1中濾波電路112被描繪為與存儲(chǔ)器控制器102分離,但是在其 它示例系統(tǒng)中,濾波電路112可以被集成到存儲(chǔ)器控制器102中。
[0035] 如在圖2中圖示的,選通窗218可以在時(shí)序信號(hào)202的前同步碼區(qū)域206期間被 打開(kāi),并且跟隨數(shù)據(jù)傳輸區(qū)域208的最后下降沿(即在后同步碼區(qū)域210內(nèi))被關(guān)閉。選 通窗218可以用于從時(shí)序信號(hào)202中對(duì)噪聲進(jìn)行濾波,或者用于確保時(shí)序信號(hào)202的三態(tài) 區(qū)域204、212不被存儲(chǔ)器控制器讀取。從而,如在圖2中圖示的,經(jīng)濾波的時(shí)序信號(hào)220 可以?xún)H包含時(shí)序信號(hào)202的數(shù)據(jù)傳輸區(qū)域208并且另外可以保持在邏輯電平低,從而移除 存在于數(shù)據(jù)傳輸之前和之后的三態(tài)區(qū)域204、212。在經(jīng)濾波的時(shí)序信號(hào)220中消除三態(tài) 區(qū)域204、212可以防止在允許三態(tài)區(qū)域204、212被存儲(chǔ)器控制器讀取的情況下可能發(fā)生 的小故障(glitch)(例如,通過(guò)將三態(tài)區(qū)域204解釋為虛假的時(shí)序信號(hào)沿所造成的誤觸發(fā) (mistrigger)) 〇
[0036] 圖3圖示了選通DQS時(shí)序信號(hào)302的各方面。在圖3中,DQS時(shí)序信號(hào)302包括 上面描述的五個(gè)不同區(qū)域(例如兩個(gè)三態(tài)區(qū)域、前同步碼區(qū)域、數(shù)據(jù)傳輸區(qū)域和后同步碼 區(qū)域)。在DQS時(shí)序信號(hào)302中特別令人感興趣的是過(guò)渡區(qū)域304、306,其中分別地,時(shí)序 信號(hào)302從第一三態(tài)區(qū)域過(guò)渡到前同步碼區(qū)域并且時(shí)序信號(hào)302從后同步碼區(qū)域過(guò)渡到第 二三態(tài)區(qū)域。過(guò)渡區(qū)域304、306分別包括下降沿和上升沿,其在被存儲(chǔ)器控制器讀取的情 況下可能造成小故障(例如,通過(guò)將上升沿和下降沿解釋為虛假的時(shí)序信號(hào)沿所造成的誤 觸發(fā))。為了防止過(guò)渡區(qū)域304、306被存儲(chǔ)器控制器讀取,分別在工作窗308、310內(nèi)打開(kāi)和 關(guān)閉選通窗。
[0037] 選通窗312和314圖示了分別被打開(kāi)得太早和太晚的選通窗。在選通窗312的第 一部分中,選通窗312在時(shí)序信號(hào)302的第一三態(tài)區(qū)域期間被打開(kāi),這允許過(guò)渡區(qū)域304的 下降沿被存儲(chǔ)器控制器讀取。在選通窗312的第二部分中,選通窗312在時(shí)序信號(hào)302的 數(shù)據(jù)傳輸區(qū)域的結(jié)尾之前被關(guān)閉,從而造成時(shí)序信號(hào)302的在數(shù)據(jù)傳輸區(qū)域中的最后下降 沿不被存儲(chǔ)器控制器讀取。被打開(kāi)得太晚的選通窗314造成類(lèi)似的問(wèn)題。在選通窗314的 第一部分中,選通窗314跟隨時(shí)序信號(hào)302的數(shù)據(jù)傳輸區(qū)域的第一上升沿被打開(kāi),從而造成 第一上升沿不被存儲(chǔ)器控制器讀取。在選通窗314的第二部分中,選通窗跟隨后同步碼區(qū) 域被關(guān)閉,從而允許過(guò)渡區(qū)域306的上升沿被存儲(chǔ)器控制器讀取。
[0038] 在存儲(chǔ)器控制器分別讀入過(guò)渡區(qū)域304、306的下降沿或者上升沿時(shí),在存儲(chǔ)器控 制器中可能發(fā)生誤觸發(fā)。因此,為了裁掉潛在的誤觸發(fā),必須既不太早也不太晚地打開(kāi)和關(guān) 閉選通窗。一般地,DQS時(shí)序信號(hào)的前同步碼區(qū)域的持續(xù)時(shí)間是1到2個(gè)周期(例如針對(duì) 1. 6GHz時(shí)鐘,1250ps的兩個(gè)周期的前同步碼和625ps的一個(gè)周期的前同步碼)。DQS時(shí)序信 號(hào)的后同步碼區(qū)域的持續(xù)時(shí)間一般是二分之一周期。例如,在1. 6GHz下的半周期后同步碼 可以是312. 5ps,使得后同步碼中的選通控制可能是困難的,特別是由于電壓和溫度(VT) 拐點(diǎn)(corner)以及多等級(jí)(multi-rank)效應(yīng)。相比之下,在1.6GHz下的DDR前同步碼可 以是1250ps。從而,與可用于后同步碼選通的時(shí)序空間相比,存在可用于前同步碼選通的更 多時(shí)序空間。前同步碼選通可以由存儲(chǔ)器控制器或S0C的內(nèi)部邏輯控制,而后同步碼選通 可以由S0C或存儲(chǔ)器控制器的PHY層控制,以用于定時(shí)的目的。
[0039] 圖4描繪了用于執(zhí)行DQS選通控制的示例選通電路400。圖4的選通電路被配置 用于從存儲(chǔ)器設(shè)備接收時(shí)序信號(hào)420 ( "RD_DQS"),并且在選通窗426 ( "DQS_en")期間使 時(shí)序信號(hào)420作為經(jīng)濾波的時(shí)序信號(hào)430( "RD_DQS_gated")而通過(guò)。選通電路400通過(guò) 如下操作來(lái)實(shí)現(xiàn)此目的,即,通過(guò)基于控制信號(hào)402( "DQS_gate_start")打開(kāi)選通窗426 并且通過(guò)基于時(shí)序信號(hào)420的下降沿自動(dòng)關(guān)閉選通窗426。通過(guò)以這種方式進(jìn)行操作,只需 要前同步碼選通控制,因?yàn)檫x通窗426被配置用于自動(dòng)關(guān)閉(即,基于自控原理)。如下面 進(jìn)一步詳細(xì)說(shuō)明的,圖4中實(shí)現(xiàn)的選通電路400包括讀中斷功能和突發(fā)突變功能。進(jìn)一步 地,選通電路400支持兩個(gè)周期的前同步碼配置,從而允許選通電路400充分利用兩個(gè)周期 的前同步碼窗以調(diào)整用于打開(kāi)選通窗426的控制信號(hào)402。
[0040] 如上所述,在圖4中,選通窗426基于時(shí)序信號(hào)420的下降沿自動(dòng)關(guān)閉。基于計(jì)數(shù) 器406 ( "cnt邏輯")確定下降沿,計(jì)數(shù)器406由控制信號(hào)402觸發(fā)以開(kāi)始計(jì)數(shù)。連同計(jì)數(shù) 器406 -起,圖4的選通電路進(jìn)一步包括第一模塊410 ( "DQS_enl gen"),其被配置用于基 于控制信號(hào)402、來(lái)自計(jì)數(shù)器406的計(jì)數(shù)信號(hào)408 ("cnt")以及時(shí)序信號(hào)420中的一個(gè)或多 個(gè)信號(hào)生成第一中間信號(hào)412 ( "DQS_enl"),其中第一模塊410由時(shí)序信號(hào)420的上升沿 觸發(fā)。圖4的選通電路還包括第二模塊414( "DQS_en2gen"),其被配置用于基于第一中間 信號(hào)412和時(shí)序信號(hào)420生成第二中間信號(hào)416 ( "DQS_en2"),其中第二模塊414由時(shí)序 信號(hào)420的下降沿觸發(fā)。選通電路還包括第三模塊424,其被配置用于基于控制信號(hào)402、 第一中間信號(hào)412和第二中間信號(hào)416生成選通窗426。如在圖4中描繪的,第三模塊424 可以用"或"邏輯模塊(例如"或"邏輯門(mén))來(lái)實(shí)現(xiàn)。進(jìn)一步地,經(jīng)濾波的時(shí)序信號(hào)430由 "與"模塊428產(chǎn)生,"與"模塊428對(duì)時(shí)序信號(hào)420和選通窗426執(zhí)行"與"操作。
[0041] 圖5描繪了在使用選通電路(例如圖4的選通電路400)在存儲(chǔ)器控制器與存儲(chǔ)器 模塊之間執(zhí)行讀操作中所使用的信號(hào)。圖5中的時(shí)序信號(hào)502( "Rd_DQS")包括一個(gè)周期 的前同步碼區(qū)域、四個(gè)周期的數(shù)據(jù)傳輸區(qū)域、二分之一周期的后同步碼區(qū)域以及分別在前 同步碼區(qū)域之前和在后同步碼區(qū)域之后的三態(tài)區(qū)域。圖5的時(shí)序信號(hào)502對(duì)應(yīng)于圖4的時(shí) 序信號(hào)420??刂菩盘?hào)504 (例如在延遲周期之后由時(shí)序控制電路生成的"DQS_gate_start 信號(hào)")是包括持續(xù)時(shí)間是一個(gè)周期并且對(duì)應(yīng)于一個(gè)"讀"命令的脈沖的信號(hào)。通過(guò)校準(zhǔn)用 于發(fā)出控制信號(hào)504的時(shí)序控制電路的延遲設(shè)置,控制信號(hào)504的脈沖的上升沿被配置成 落入時(shí)序信號(hào)502的前同步碼區(qū)域的中心,并且控制信號(hào)504的脈沖的下降沿被配置成與 時(shí)序信號(hào)502的第一下降沿對(duì)齊。圖5的控制信號(hào)504對(duì)應(yīng)于圖4的控制信號(hào)402,并且用 于打開(kāi)選通窗514( "DQS_en")。
[0042] 在圖5的示例中,"BC_EN"信號(hào)506處于邏輯電平低。BC_EN信號(hào)506是用于向選 通電路指示當(dāng)前讀命令是突發(fā)突變命令或者全突發(fā)命令的全突發(fā)尺寸寬的信號(hào)。例如,對(duì) 于DDR3存儲(chǔ)器,存在BL8命令和BC4命令。在命令是BL8 (八個(gè)命令的全突發(fā))時(shí),BC_EN 信號(hào)506為低,并且在命令是BC4(突發(fā)突變4)時(shí),BC_EN信號(hào)506為低。BC_EN信號(hào)506 可以是指示突發(fā)突變的另外組合的多比特信號(hào)。圖5的BC_EN信號(hào)506對(duì)應(yīng)于圖4的BC_ ΕΝ信號(hào)404。
[0043] 計(jì)數(shù)信號(hào)508( "Cnt")是由2比特、3比特或4比特計(jì)數(shù)器產(chǎn)生的信號(hào),計(jì)數(shù)器由 時(shí)序信號(hào)502驅(qū)動(dòng)。響應(yīng)于時(shí)序信號(hào)502的改變,計(jì)數(shù)信號(hào)508從"0"值往上計(jì)數(shù)到"3" 值。如下面進(jìn)一步詳細(xì)說(shuō)明的,計(jì)數(shù)信號(hào)508被配置用于基于控制信號(hào)504而開(kāi)始計(jì)數(shù)。圖 5的計(jì)數(shù)信號(hào)508對(duì)應(yīng)于圖4的計(jì)數(shù)信號(hào)408。如在圖5中圖示的,在不發(fā)生讀操作的時(shí)間 段期間(即在時(shí)序信號(hào)502的三態(tài)區(qū)域期間),計(jì)數(shù)信號(hào)508被配置用于保持穩(wěn)態(tài)計(jì)數(shù)器值 為"3"。如還在圖5中圖示的,計(jì)數(shù)信號(hào)508被觸發(fā)到時(shí)序信號(hào)502的上升沿。從而,跟隨 時(shí)序信號(hào)502的前同步碼區(qū)域,時(shí)序信號(hào)502的第一上升沿使計(jì)數(shù)器將其計(jì)數(shù)信號(hào)508從 "3"值重置為"0"值。時(shí)序信號(hào)502的第二上升沿使計(jì)數(shù)信號(hào)508遞增為" 1"值,依此類(lèi) 推。時(shí)序信號(hào)502的第四上升沿將計(jì)數(shù)信號(hào)508重置為"3"的穩(wěn)態(tài)值。
[0044] 因?yàn)閬?lái)自存儲(chǔ)器控制器的單個(gè)讀命令使時(shí)序信號(hào)502的數(shù)據(jù)傳輸區(qū)域具有四個(gè) 上升沿,計(jì)數(shù)信號(hào)508的遞增用于確定什么時(shí)候關(guān)閉選通窗514。例如,如下面詳細(xì)說(shuō)明的, 用于產(chǎn)生選通窗514的模塊被配置用于在時(shí)序信號(hào)502的特定下降沿之后關(guān)閉,并且基于 計(jì)數(shù)信號(hào)508確定特定下降沿。選通窗514的關(guān)閉由時(shí)序信號(hào)502的最后下降沿觸發(fā),使 得選通窗514的關(guān)閉總是滯后于時(shí)序信號(hào)502的最后下降沿但不滯后大量時(shí)間。如下面進(jìn) 一步詳細(xì)說(shuō)明的,參照?qǐng)D4,時(shí)序信號(hào)502的最后下降沿與選通窗514的關(guān)閉之間的延遲可 以包括D觸發(fā)器到Q的延遲(S卩,D觸發(fā)器的輸出引腳"Q"在時(shí)鐘引腳的正沿或負(fù)沿下采 用"D"輸入引腳的狀態(tài),從而使輸出引腳"Q"在延遲之后跟隨"D"輸入)以及"或"門(mén)延遲。 時(shí)序信號(hào)502的最后下降沿與選通窗514的關(guān)閉之間的相對(duì)少量的時(shí)間使選通窗514在時(shí) 序信號(hào)502的后同步碼區(qū)域中自動(dòng)關(guān)閉,而不需要特定信號(hào)以關(guān)閉選通窗514。
[0045] 用于實(shí)現(xiàn)圖5的計(jì)數(shù)信號(hào)508的邏輯被圖示在圖4中。在圖4的選通電路400中, 計(jì)數(shù)器406接收包括控制信號(hào)402、BC_EN信號(hào)404和時(shí)序信號(hào)420在內(nèi)的輸入。響應(yīng)于這 些輸入,計(jì)數(shù)器406基于由計(jì)數(shù)器406采用的邏輯產(chǎn)生計(jì)數(shù)信號(hào)408。具體地,如在圖4中 圖示的,用于實(shí)現(xiàn)計(jì)數(shù)器406的功能的特定邏輯如下:
[0046] always @(posedge Rd DQS or negedge reset _n) if (-reset _n) cnt <= 2?3; else if (DQS_gate_start & ((cnt == 2'h3) I (cnt == 2'hl))) cnt <= 2,h0; else if (BC en & (cnt == 2?0)) cnt <= 2,h3; else if (cnt < 2'h3) cnt <= cnt + 1;
[0047] 語(yǔ)句 "alwaysO (posedge Rd_DQS or negedge reset_n) " 使得計(jì)數(shù)器 406 由 Rd_ DQS時(shí)序信號(hào)420的上升(即,正的)沿或者由重置信號(hào)"reSet_n"的下降(即,負(fù)的)沿 觸發(fā)。從而,在時(shí)序信號(hào)420的上升沿或者重置信號(hào)" reSet_n"的下降沿上評(píng)估用于實(shí)現(xiàn) 計(jì)數(shù)器406的邏輯的"if"語(yǔ)句和"else if"語(yǔ)句。
[0048] 如果"reset_n"被檢測(cè)為處于邏輯電平低(如由上面的語(yǔ)句"if (?reset_n) " 實(shí)現(xiàn)的),則計(jì)數(shù)信號(hào)408返回到穩(wěn)態(tài)值"3"( "cnt <= 2' h3 ; 。如果檢測(cè)到控制信號(hào) 402為高并且計(jì)數(shù)值408具有為"3"或"1"的值,則語(yǔ)句"else if(DQS_gate_start&((cnt ==2'h3) I (cnt == 2'hi)))"將計(jì)數(shù)值 408 重置為"0"值("cnt <= 2'h0 (計(jì)數(shù) 器406的最低值)。該語(yǔ)句反映了如下事實(shí):計(jì)數(shù)器406由控制信號(hào)402觸發(fā)以開(kāi)始計(jì)數(shù), 其中控制信號(hào)402被配置為跟隨由存儲(chǔ)器控制器發(fā)出讀命令而處于邏輯電平高。在"else if"語(yǔ)句中所使用的計(jì)數(shù)值"3"和"1"允許選通電路400支持正常讀操作(S卩,在時(shí)序信號(hào) 402的三態(tài)區(qū)域期間發(fā)生的那些讀操作)和讀中斷操作(即,在時(shí)序信號(hào)402的數(shù)據(jù)傳輸 區(qū)域期間發(fā)生的并且中斷先前讀操作的那些讀操作)。如果BC_EN信號(hào)404為高并且計(jì)數(shù) 值408具有"0"值,則語(yǔ)句"else if(BC_en&(cnt == 2' h0))"將計(jì)數(shù)值408設(shè)置為"3" 值("cnt <= 2' h3 ; 。BC_EN信號(hào)404用于向選通電路指示當(dāng)前讀命令是突發(fā)突變命 令。如果先前描述的"if"語(yǔ)句和"else if"語(yǔ)句不為真,則在計(jì)數(shù)值408具有小于"3"的 值時(shí),"else if(cnt < 2'h3) " 語(yǔ)句使計(jì)數(shù)值 408 遞增("cnt < = cnt+Ι ; ")。
[0049] 再次參照?qǐng)D5,在實(shí)現(xiàn)跟隨時(shí)序信號(hào)502的特定下降沿自動(dòng)關(guān)閉的選通窗514中 使用第一和第二中間信號(hào)510、512(分別為"DQS_enl"和"DQS_en2")。在計(jì)數(shù)信號(hào)508具 有"3"值并且控制信號(hào)504處于邏輯電平高時(shí),基于時(shí)序信號(hào)502的上升沿和從邏輯電平 低到邏輯電平高的過(guò)渡來(lái)觸發(fā)第一中間信號(hào)510。在計(jì)數(shù)信號(hào)508具有"2"值時(shí),第一中間 信號(hào)510變?yōu)榈?。第二中間信號(hào)512基于時(shí)序信號(hào)502的下降沿被觸發(fā)并且跟隨第一中間 信號(hào)510的值。然而,因?yàn)榛跁r(shí)序信號(hào)502的上升沿觸發(fā)第一中間信號(hào)510,并且因?yàn)榛?于時(shí)序信號(hào)502的下降沿觸發(fā)第二中間信號(hào)512,所以第二中間信號(hào)512滯后于第一中間信 號(hào)510大約二分之一周期。
[0050] 中間信號(hào)510、512對(duì)應(yīng)于圖4的第一和第二中間信號(hào)412、416,并且連同控制信號(hào) 504 -起用作"或"邏輯模塊的輸入。"或"邏輯模塊的輸出是選通窗514。圖5的這些方面 被圖示在圖4的選通電路400中,其中控制信號(hào)402以及由第一和第二模塊410、414產(chǎn)生 的第一和第二中間信號(hào)412、416被輸入到第三模塊424。第三模塊424實(shí)現(xiàn)"或"邏輯操作 以產(chǎn)生選通窗426。
[0051] 用于實(shí)現(xiàn)圖5的第一中間信號(hào)510的邏輯被圖示在圖4中。在圖4的選通電路400 中,第一模塊410接收包括計(jì)數(shù)信號(hào)408、時(shí)序信號(hào)420、控制信號(hào)402和BC_EN信號(hào)404在 內(nèi)的輸入。響應(yīng)于這些輸入,第一模塊410基于由第一模塊410采用的邏輯產(chǎn)生第一中間 信號(hào)412。具體地,如在圖4中圖示的,用于實(shí)現(xiàn)第一模塊410的功能的特定邏輯如下:
[0052] always @(posedge Rd DQS or negedge reset _n) if (-reset _n) DQS_enl <= l,b0;
[0053] else if (DQS gate start & (cnt == 2?h3)) DQS_enl <= l,bl; else if ((?BC_en & (cnt == 2'h2)) || (BC_en & (cnt == 2'hO)) DQS_enl <= l,b0;
[0054] 語(yǔ)句"alwaysO (posedge Rd_DQS or negedge reset_n) "使得第一模塊 410 由 Rd_ DQS時(shí)序信號(hào)420的上升沿或者由重置信號(hào)"reSet_n"的下降沿觸發(fā)。
[0055] 如果"reset_n信號(hào)"被檢測(cè)為處于邏輯電平低(如由上面的語(yǔ)句"if (?reset_ η) "實(shí)現(xiàn)的),則將第一中間信號(hào)412設(shè)置于邏輯電平低("DQS_enl <= 1'bO ; ")。如果檢 測(cè)到控制信號(hào)402為高并且計(jì)數(shù)值408具有"3"值,則語(yǔ)句"else if(DQS_gate_start&(cnt ==2'h3)) "將第一中間信號(hào)412設(shè)置為邏輯電平高("DQS_enl < = Γ bl ; "。如果 BC_EN信號(hào)404為低并且計(jì)數(shù)信號(hào)408具有"2"值或者如果BC_EN信號(hào)404為高并且計(jì)數(shù) 信號(hào) 408 具有 "0" 值,則語(yǔ)句 "else if ((?BC_en&(cnt = = 2' h2)) | | (BC_en&(cnt == 2' h0)) "將第一中間信號(hào)412設(shè)置為邏輯電平低("DQS_enl <= Γ bO ; 。
[0056] 用于實(shí)現(xiàn)圖5的第二中間信號(hào)512的邏輯被圖示在圖4中。在圖4的選通電路 400中,第二模塊414接收包括第一中間信號(hào)412和時(shí)序信號(hào)420在內(nèi)的輸入。響應(yīng)于這些 輸入,第二模塊414基于由第二模塊414采用的邏輯產(chǎn)生第二中間信號(hào)416。具體地,如在 圖4中圖示的,用于實(shí)現(xiàn)第二模塊414的功能的特定邏輯如下:
[0057] always @(negedge Rd DQS or negedge reset _n) if (-reset _n) DQS_en2<= l,b0; else DQS_en2 <= DQS enl;
[0058] 語(yǔ)句"alwaysO (negedge Rd_DQS or negedge reset_n) "使得第二模塊 414 由 Rd_ DQS時(shí)序信號(hào)420的下降沿(S卩,負(fù)沿)或者由重置信號(hào)"reSet_n"的下降沿觸發(fā)。
[0059] 如果"reset_n"信號(hào)被檢測(cè)為處于邏輯電平低(如由上面的語(yǔ)句"if (?reset_ η) "實(shí)現(xiàn)的),則將第二中間信號(hào)416設(shè)置于邏輯電平低("DQS_en2 <= 1'bO ; ")。"else" 語(yǔ)句使得第二中間信號(hào)416具有與第一中間信號(hào)412的值相等的值("DQS_en2 <= DQS_ enl ; 。因?yàn)榛跁r(shí)序信號(hào)420的上升沿觸發(fā)第一中間信號(hào)412,并且因?yàn)榛跁r(shí)序信號(hào) 420的下降沿觸發(fā)第二中間信號(hào)416,所以第二中間信號(hào)416滯后于第一中間信號(hào)412大約 二分之一周期。
[0060] 如上面說(shuō)明的,選通電路400還包括被配置用于基于控制信號(hào)402以及第一和第 二中間信號(hào)412、416 (即,經(jīng)由"或"邏輯模塊,如圖4中圖示)生成選通窗426的第三模 塊424。選通窗426被配置用于在時(shí)序信號(hào)420的最后下降沿之后關(guān)閉,并且基于計(jì)數(shù)信 號(hào)408確定最后下降沿。選通窗426的關(guān)閉滯后于時(shí)序信號(hào)420的最后下降沿但不滯后大 量時(shí)間。在圖4中,延遲由D觸發(fā)器到Q的延遲(即,在第一或第二模塊410、414中)以及 "或"門(mén)延遲(即,在第三模塊424中)造成。時(shí)序信號(hào)420的最后下降沿與選通窗426的 關(guān)閉之間的相對(duì)少量的時(shí)間允許選通窗426在時(shí)序信號(hào)420的后同步碼區(qū)域中關(guān)閉。
[0061] 經(jīng)濾波的時(shí)序信號(hào)430由"與"邏輯模塊428產(chǎn)生,"與"邏輯模塊428對(duì)時(shí)序信號(hào) 420和選通窗426執(zhí)行"與"操作(S卩,在選通窗426處于邏輯電平高值的時(shí)間段期間,時(shí)序 信號(hào)420在經(jīng)濾波的時(shí)序信號(hào)430中再生)。經(jīng)濾波的時(shí)序信號(hào)430可以被輸入到發(fā)出讀 命令的存儲(chǔ)器控制器的先入先出("FIFO")邏輯,并且可以用于將數(shù)據(jù)鎖存在存儲(chǔ)器控制 器中。圖4的選通電路400還可以接收用于寫(xiě)操作418("WR_DQS")的時(shí)序信號(hào)。用于讀 操作420的時(shí)序信號(hào)和用于寫(xiě)操作418的時(shí)序信號(hào)兩者可以經(jīng)由DQS焊盤(pán)422被接收。
[0062] 如下面通過(guò)示例性信號(hào)時(shí)序圖(例如圖16至圖24的信號(hào)時(shí)序圖1600至2400) 進(jìn)一步詳細(xì)說(shuō)明的,圖4的選通電路400可以用于實(shí)現(xiàn)包括讀中斷功能和突發(fā)突變功能在 內(nèi)的特征。選通電路400還支持兩個(gè)周期的前同步碼配置,并且允許兩個(gè)周期的前同步碼 窗被充分利用以調(diào)整控制信號(hào)402的時(shí)序??梢曰跁r(shí)序信號(hào)420的前同步碼的長(zhǎng)度來(lái)配 置控制信號(hào)402的脈沖的持續(xù)時(shí)間,使得針對(duì)一個(gè)周期的前同步碼,控制信號(hào)402的脈沖的 寬度是一個(gè)周期,并且針對(duì)兩個(gè)周期的前同步碼,控制信號(hào)402的脈沖的寬度是兩個(gè)周期。
[0063] 圖6描繪了示例時(shí)序控制電路600和示例信號(hào)時(shí)序圖618。參照?qǐng)D4和圖5,用于 執(zhí)行DQS選通控制的示例選通電路可以基于所接收的控制信號(hào)(分別例如圖4和圖5中的 "DQS_gate_start"控制信號(hào)402和504)打開(kāi)選通窗??刂菩盘?hào)可以由時(shí)序控制電路(例 如圖6的時(shí)序控制電路600)在接收到來(lái)自存儲(chǔ)器控制器的讀命令之后生成。通過(guò)校準(zhǔn)時(shí) 序控制電路的延遲設(shè)置,控制信號(hào)的上升沿可以被定時(shí)以落在DQS時(shí)序信號(hào)的前同步碼區(qū) 域內(nèi),并且控制信號(hào)的下降沿可以被定時(shí)為與DQS時(shí)序信號(hào)的第一下降沿對(duì)齊。
[0064] 為了生成在接收到來(lái)自存儲(chǔ)器控制器的讀命令之后被延遲適量時(shí)間的DQS_ gate_start控制信號(hào)616,時(shí)序控制電路600接收DQS_gate_start_in信號(hào)608、CLK時(shí) 鐘信號(hào) 609、delay_cyc_cnt[N_l : 0]信號(hào) 610、clk_edge_sel 信號(hào) 612 和 delay_line_ sel[M-l : 0]信號(hào)614。時(shí)序控制電路600包括處理輸入608、609、610、612、614的周期延 遲模塊604和步進(jìn)延遲線模塊606。
[0065] 參照?qǐng)D6的信號(hào)時(shí)序圖618, DQS_gate_start_in信號(hào)608包括在由存儲(chǔ)器控制 器發(fā)出讀命令之后產(chǎn)生的脈沖622。如分別在624、626和628處描繪的,DQS_gate_start_ in信號(hào)608的脈沖622被延遲以延遲周期Dl、D2和D3。延遲周期Dl、D2和D3使得DQS_ gate_Start控制信號(hào)616在適當(dāng)?shù)臅r(shí)間(例如在時(shí)序信號(hào)的前同步碼部分期間,使得選通 窗打開(kāi)得既不太早也不太晚)由選通電路接收。
[0066] 基于由時(shí)序控制電路600接收的delay_cyc_cnt[N_l : 0]信號(hào)610生成延遲周 期Dl。delay_CyC_cnt[N-l : 0]信號(hào)610用于將整數(shù)數(shù)字輸入到時(shí)序控制電路600(例如, 如由變量"η"表示的),其中整數(shù)數(shù)字指定被包括在延遲周期D1中的時(shí)鐘周期的數(shù)目。從 而,如在信號(hào)時(shí)序圖618中圖示的,延遲周期D1等于"η"個(gè)時(shí)鐘周期。CLK時(shí)鐘信號(hào)609由 周期延遲模塊604接收,從而允許基于由delay_cyc_cnt[N_l : 0]信號(hào)610指定的時(shí)鐘周 期的整數(shù)數(shù)目來(lái)計(jì)算延遲周期D1。
[0067] 基于由時(shí)序控制電路600接收的clk_edge_sel信號(hào)612生成延遲周期D2。clk_ edge_sel信號(hào)612用于選擇時(shí)鐘信號(hào)620的上升沿或下降沿,并且可以基于該選擇延遲 DQS_gate_start信號(hào)616。例如,如在圖6的示例信號(hào)時(shí)序圖618中圖示的,clk_edge_sel 信號(hào)612可以選擇時(shí)鐘信號(hào)620的下降沿,從而使得D2延遲周期等于大約二分之一時(shí)鐘周 期,如在626處圖示的。包括延遲以延遲周期D1和D2的DQS_gate_start_in信號(hào)608的 脈沖622的信號(hào)被圖示在圖6的623處。信號(hào)623對(duì)應(yīng)于時(shí)序控制電路600中的ln_d信 號(hào)605,其中l(wèi)n_d信號(hào)605是在周期延遲模塊604與步進(jìn)延遲線模塊606之間傳輸?shù)闹虚g 信號(hào)。
[0068] 基于由圖6的步進(jìn)延遲線模塊606接收的(^1&7_1丨1^_861[1-1:0]信號(hào)614生 成延遲周期D3。delay_line_ sel[M-l : 0]信號(hào)614用于將第二整數(shù)數(shù)字輸入到時(shí)序控制 電路600 (例如,如由變量"m"表示的),其中第二整數(shù)數(shù)字指定被包括在延遲周期D3中的 延遲線步進(jìn)周期的數(shù)目。從而,如在信號(hào)時(shí)序圖618中圖示的,延遲周期D3等于第二整數(shù) "m"乘以延遲線步進(jìn)周期。包括延遲以延遲周期Dl、D2和D3的DQS_gate_start_in信號(hào) 608的脈沖622的信號(hào)被圖示在圖6的625處,并且對(duì)應(yīng)于從時(shí)序控制電路600輸出的DQS_ gate_start控制信號(hào)616。使用圖6的示例時(shí)序控制電路600,每條DDR數(shù)據(jù)通道可以?xún)H需 要單個(gè)延遲結(jié)構(gòu)(延遲單元)。
[0069] 圖7描繪了用于生成用于在選通電路中打開(kāi)選通窗的控制信號(hào)724的示例時(shí)序控 制電路700。在接收到來(lái)自存儲(chǔ)器控制器的讀請(qǐng)求之后,時(shí)序控制電路700生成控制信號(hào) 724(例如圖7中描繪的"DQS_gate_start"信號(hào)),其中時(shí)序控制電路700被配置用于將控 制信號(hào)724的生成延遲適量的時(shí)間(例如,使得由選通電路產(chǎn)生的選通窗在DQS時(shí)序信號(hào) 的前同步碼部分期間打開(kāi)的時(shí)間量)。時(shí)序控制電路700包括周期延遲模塊701和延遲線 模塊722。響應(yīng)于下面描述的各種輸入702、704、706和708,周期延遲模塊701產(chǎn)生In d 信號(hào)721,ln_d信號(hào)721被發(fā)送到延遲線模塊722,并且由延遲線模塊722在產(chǎn)生控制信號(hào) 724中使用。
[0070] 如在圖7中描繪的,周期延遲模塊701包括一系列級(jí)聯(lián)D觸發(fā)器(DFF) 712,它們 接收DQS_gate_start_in信號(hào)702和CLK時(shí)鐘信號(hào)704。如在圖6的信號(hào)時(shí)序圖618中圖 示的,DQS_gate_start_in信號(hào)702可以包括第一脈沖,使得控制信號(hào)724中所包括的第二 脈沖可以等同于延遲一時(shí)間量的第一脈沖。一系列級(jí)聯(lián)D觸發(fā)器712作為延遲電路起作 用,單獨(dú)D觸發(fā)器的輸出713中的每個(gè)輸出包括被延遲以不同數(shù)目的時(shí)鐘周期的DQS_gate_ start_in信號(hào)702的脈沖。單獨(dú)D觸發(fā)器的輸出713由多路復(fù)用器714接收。除了輸出 713之外,多路復(fù)用器714還接收delay_ CyC_cnt信號(hào)706,其指定控制信號(hào)724要延遲的 時(shí)鐘周期的整數(shù)數(shù)目。從而多路復(fù)用器714基于delay_cyc_cnt信號(hào)706選擇輸出713中 的一個(gè)輸出。
[0071] 多路復(fù)用器714的輸出716(包括延遲由delay_CyC_ Cnt信號(hào)706指定數(shù)目的時(shí) 鐘周期的DQS_gate_start_in信號(hào)702)由D觸發(fā)器718接收。D觸發(fā)器718的輸出719 和CLK時(shí)鐘信號(hào)704由第二多路復(fù)用器720接收,其還接收clk_ edge_sel信號(hào)708。如上 面描述的,參照?qǐng)D6, clk_edge_sel信號(hào)708選擇CLK時(shí)鐘信號(hào)704的上升沿或下降沿,其 中該選擇可以使得DQS_gate_start信號(hào)724的脈沖進(jìn)一步被延遲(例如,如在圖6的示例 信號(hào)時(shí)序圖618中描繪的二分之一周期)。DQS_gate_start_in信號(hào)702的脈沖(具有由 delay_cyc_cnt信號(hào)706和clk_edge_sel信號(hào)708輸入造成的任一延遲)作為ln_d信號(hào) 721從多路復(fù)用器720被輸出。
[0072] ln_d信號(hào)721由延遲線模塊722接收。延遲線模塊722還接收delay_line_sel 信號(hào)710,其指定要進(jìn)一步延遲DQS_gate_start_in信號(hào)702的脈沖的延遲線步進(jìn)周期的 整數(shù)數(shù)目。由延遲線模塊722接收的delay_line_ sel信號(hào)710所產(chǎn)生的延遲被圖示在圖 6的628處(即D3延遲)。延遲線模塊722的DQS_gate_start控制信號(hào)724輸出包括具 有由周期延遲模塊701和延遲線722造成的任一延遲的DQS_gate_start_in信號(hào)702的脈 沖。由時(shí)序控制電路700輸出的控制信號(hào)724由選通電路(例如圖4的選通電路400)接 收并且用于打開(kāi)選通窗。
[0073] 圖8是圖示發(fā)生在片上系統(tǒng)(S0C) 802與DDR存儲(chǔ)器818之間的示例通信的框圖 800。S0C 802與DDR存儲(chǔ)器818之間的讀操作可以在S0C 802發(fā)送讀請(qǐng)求到DDR存儲(chǔ)器 818的情況下來(lái)啟動(dòng),從而請(qǐng)求從存儲(chǔ)器中的特定地址讀取數(shù)據(jù)。在進(jìn)行讀請(qǐng)求中,S0C 802 還可以發(fā)送DDR時(shí)鐘信號(hào)812到DDR存儲(chǔ)器818。通過(guò)輸出數(shù)據(jù)信號(hào)816 (例如DQ信號(hào)) 和DQS數(shù)據(jù)選通信號(hào)814兩者,DDR存儲(chǔ)器818對(duì)讀請(qǐng)求做出響應(yīng)。數(shù)據(jù)信號(hào)816和DQS數(shù) 據(jù)選通信號(hào)814由S0C 802的DDR PHY接口層810接收。為了裁掉DQS數(shù)據(jù)選通信號(hào)814 的問(wèn)題部分,SOC 802利用DQS gate選通窗808,其由DQS選通控制模塊806產(chǎn)生并且由 DDR PHY層810接收。作為在S0C 802中執(zhí)行的選通的一部分,內(nèi)部時(shí)鐘信號(hào)804由DQS選 通控制模塊806和DDR PHY接口層810兩者接收。
[0074] 用于打開(kāi)DQS_gate選通窗808的控制信號(hào)被校準(zhǔn)以在一段時(shí)間的延遲之后生成, 從而允許DQS_gate選通窗808在適當(dāng)?shù)臅r(shí)間(例如在DQS數(shù)據(jù)選通信號(hào)814的前同步碼 區(qū)域期間)打開(kāi)。校準(zhǔn)在打開(kāi)DQS_gate選通窗808中的延遲可以包括分析在執(zhí)行讀操作 中所涉及的時(shí)序的各方面。例如,讀操作包括往返延遲,往返延遲包括從S0C 802到DDR存 儲(chǔ)器818的通信中的延遲、DDR存儲(chǔ)器818內(nèi)的延遲以及從DDR存儲(chǔ)器818到S0C 802的 通信中的延遲。
[0075] 從S0C 802到DDR存儲(chǔ)器818的通信中的延遲可能主要由從S0C 802到DDR存 儲(chǔ)器818的DDR時(shí)鐘信號(hào)812的傳輸造成。例如,如相對(duì)于S0C 802的內(nèi)部時(shí)鐘信號(hào)804, 在DDR存儲(chǔ)器818處接收到的DDR時(shí)鐘信號(hào)812可能被延遲。該延遲可能由DDR PHY接 口 810、S0C 802或DDR存儲(chǔ)器818的PCB板(例如跡線(trace)或者邊界(term))以及從 S0C 802發(fā)送信號(hào)812到DDR存儲(chǔ)器818所花費(fèi)的時(shí)間造成。DDR存儲(chǔ)器818內(nèi)的延遲可 以包括在DDR存儲(chǔ)器818中生成DQS數(shù)據(jù)選通信號(hào)814中的延遲。DDR存儲(chǔ)器818內(nèi)的延 遲可以由DDR PHY 810、內(nèi)部DLL或者時(shí)鐘樹(shù)以及其它因素造成。從DDR存儲(chǔ)器818到S0C 802的通信中的延遲可能主要由從DDR存儲(chǔ)器818到S0C 802的DQS數(shù)據(jù)選通信號(hào)814的 傳輸造成。例如,如相對(duì)于從DDR存儲(chǔ)器818發(fā)送的DQS數(shù)據(jù)選通信號(hào)814,在S0C802的選 通處接收的DQS數(shù)據(jù)選通信號(hào)814可能被延遲。該延遲可能由S0C 802或DDR存儲(chǔ)器818 的PCB板、S0C 802的DDR PHY 810以及S0C 802或DDR存儲(chǔ)器818的內(nèi)部邏輯造成。
[0076] 分析在執(zhí)行讀操作中所涉及的時(shí)序的各方面還可以涉及考慮由于制造部件中的 變化而發(fā)生在延遲中的改變以及隨著設(shè)備的使用壽命而發(fā)生的改變。例如,由于用于生產(chǎn) S0C 802和DDR存儲(chǔ)器818的制造工藝中的細(xì)微變化,上面描述的某些延遲可能表現(xiàn)出變 化。例如,在SOC 802(例如由模具和封裝的制造中的變化造成的)、與S0C802或DDR存儲(chǔ) 器818 -起使用的PCB板或者DDR存儲(chǔ)器818本身中可能存在延遲改變。工藝、電壓和溫 度(PVT)拐點(diǎn)也可以造成上面描述的延遲周期中的改變。不同的讀字節(jié)通道可以具有不同 的延遲,并且不同的DDR等級(jí)可以具有不同的延遲。另外,由于可能發(fā)生在DDR存儲(chǔ)器818 中的時(shí)鐘抖動(dòng)(jitter)或者溫度或電壓的變化,從DDR存儲(chǔ)器818對(duì)讀請(qǐng)求的響應(yīng)可能要 求可變的時(shí)間量。
[0077] 圖9描繪了圖示在執(zhí)行DDR存儲(chǔ)器的讀操作中的延遲t0、tl和t2的示例信號(hào)時(shí) 序圖900。在圖9中,讀操作由存儲(chǔ)器控制器發(fā)送的讀命令906觸發(fā)。在914處的延遲t0 對(duì)應(yīng)于從SOC(例如圖8的S0C802)到DDR存儲(chǔ)器(例如圖8的DDR存儲(chǔ)器818)的通信中 的延遲。從而,在914處的延遲t0圖示了由DDR存儲(chǔ)器(例如等級(jí)0)接收到的DDR時(shí)鐘 信號(hào)904與S0C的內(nèi)部時(shí)鐘信號(hào)902之間的延遲。在916處的延遲tl對(duì)應(yīng)于在DDR存儲(chǔ) 器中生成DQS數(shù)據(jù)選通信號(hào)908中的延遲。在918處的延遲t2對(duì)應(yīng)于從DDR存儲(chǔ)器到S0C 的通信中的延遲。從而,在918處的延遲t2圖示了,如相對(duì)于從DDR存儲(chǔ)器發(fā)送的DQS數(shù) 據(jù)選通信號(hào)908,在S0C的選通處看到的DQS數(shù)據(jù)選通信號(hào)910被延遲??偟难舆t周期(等 于延遲周期t0、tl和t2之和)可能大于一個(gè)時(shí)鐘周期。
[0078] 通過(guò)考慮延遲周期t0、tl和t2以及其它延遲周期,可以校準(zhǔn)DQS選通信號(hào)912的 時(shí)序,使得DQS選通信號(hào)912在DQS數(shù)據(jù)選通信號(hào)910的前同步碼區(qū)域內(nèi)變?yōu)楦?。然而,還 可以考慮在生成DQS選通信號(hào)912中固有的延遲。DQS選通生成可以包括由內(nèi)部時(shí)鐘902 造成的延遲(例如,主要的延遲控制,1倍、2倍和4倍時(shí)鐘的上升沿和下降沿)。DQS選通 生成還可以包括由延遲線造成的延遲(例如,較小的延遲調(diào)整,其覆蓋至少一個(gè)時(shí)鐘周期 T_dl)。在執(zhí)行DQS選通時(shí),也可能需要考慮電壓和溫度(VT)效應(yīng)(例如,在VT條件改變 時(shí)的T_total和T_dl改變,其中T_total和T_dl可以表現(xiàn)出類(lèi)似的趨勢(shì),但是以不同的速 度改變)。
[0079] 圖10描繪了用于評(píng)估RD_DQS時(shí)序信號(hào)1010與DQS_gate_start控制信號(hào)1008 之間的關(guān)系的示例監(jiān)控器邏輯電路1000。如下面更加詳細(xì)描述的,在允許DQS選通窗自動(dòng) 校準(zhǔn)的程序中使用示例監(jiān)控器邏輯電路1000。自動(dòng)校準(zhǔn)程序可以用于解決一些潛在的DQS 選通問(wèn)題。例如,DQS_gate_start控制信號(hào)1008可以由片上延遲結(jié)構(gòu)(例如,在實(shí)現(xiàn)圖6 的時(shí)序控制電路600中所使用的片上延遲結(jié)構(gòu))生成,并且由片上延遲結(jié)構(gòu)生成的延遲可 能在溫度和電壓(即VT)條件改變時(shí)改變。如上面描述的,DQS_gate_start控制信號(hào)1008 由RD_DQS時(shí)序信號(hào)1010采樣(例如,在RD_DQS信號(hào)1010的上升沿或下降沿上評(píng)估DQS_ gate_start信號(hào)1008)以生成選通窗。存在用于DQS_gate_start信號(hào)1008的工作窗: DQS_gate_start信號(hào)1008應(yīng)當(dāng)具有在RD_DQS信號(hào)1010的第一上升沿之前的上升沿,并且 DQS_gate_start信號(hào)1008應(yīng)當(dāng)具有在RD_DQS信號(hào)1010的第一上升沿之后的下降沿。由 于VT條件的改變,DQS_gate_start信號(hào)1008的上升沿可能落在工作窗的外部,這可以造 成DQS選通失敗。理想地,RD_DQS信號(hào)1010的第一上升沿位于或靠近DQS_gate_start信 號(hào)1008的脈沖的中心。如下面描述的,使用算法來(lái)調(diào)整DQS_gate_start信號(hào)1008的脈沖 的時(shí)序以實(shí)現(xiàn)這一目的。
[0080] 圖10的電路1000包括用于評(píng)估RD_DQS信號(hào)1010與DQS_gate_start信號(hào)1008 之間的關(guān)系的監(jiān)控器邏輯。電路包括N0模塊1002、P0模塊1004和P1模塊1006。模塊 1002、1004、1006可以使用被觸發(fā)到RD_DQS信號(hào)1010的上升沿或下降沿的D觸發(fā)器來(lái)實(shí) 現(xiàn)。模塊1002、1004、1006各自接收005_ 83七6_8七3忖信號(hào)1008、1?_005信號(hào)1010和〇&1_ reset_n信號(hào)1014。另外,P1模塊1006從DQS選通邏輯接收CNT[1 : 0]信號(hào)1012(例如 圖5的計(jì)數(shù)信號(hào)508)。響應(yīng)于輸入,N0模塊1002、P0模塊1004和P1模塊1006分別產(chǎn)生 輸出 cal out NO 1016、cal_out_P0 1018 和 cal_out_Pl 1020。cal_reset_n 信號(hào) 1014 是 用于清除三個(gè)模塊1002、1004、1006中的每個(gè)模塊的cal_out輸出1016、1018、1020的一個(gè) 周期的低有效重置信號(hào)。
[0081] N0模塊1002由RD_DQS信號(hào)1010的下降沿驅(qū)動(dòng)并且產(chǎn)生輸出cal_out_N0 1016。 如在圖10中圖示的,在NO模塊1002內(nèi)使用的邏輯包括以下內(nèi)容:
[0082] always @(negedge RD DQS or negedge cal reset n) if (?cal_reset_n) cal_out_n0 <= 1'bO; else if (DQS gate start) cal out nO <= Thl;
[0083] 包括在NO模塊1002中的邏輯從而評(píng)估cal_reset_n信號(hào)1014并且如果cal_ 代861:_11信號(hào)1014被檢測(cè)為處于邏輯電平低,則清除〇31_〇111:__信號(hào)1016。如果〇31_〇111:_ N0信號(hào)1016沒(méi)有基于cal_reset_n信號(hào)1014被清除,則評(píng)估DQS_gate_start信號(hào)1008。 如果DQS_gate_start信號(hào)1008被檢測(cè)為處于邏輯電平高,則cal_out_N0信號(hào)1016被賦 予值"1"(即,邏輯電平高)。
[0084] P0模塊1004由RD_DQS信號(hào)1010的上升沿驅(qū)動(dòng)并且產(chǎn)生輸出cal_out_P0 1018。 如在圖10中圖示的,在P0模塊1004內(nèi)使用的邏輯包括以下內(nèi)容:
[0085] always @(posedge RD DQS or negedge cal reset n) if (-calresetn) cal_out_p0 <= 1 'b0; else if (DQS gate start) cal_out_p0 <= Thl;
[0086] 包括在P0模塊1004中的邏輯從而評(píng)估cal_reset_n信號(hào)1014并且如果cal_ 代861:_11信號(hào)1014被檢測(cè)為處于邏輯電平低,則清除〇31_〇111:_?0信號(hào)1018。如果〇31_〇111:_ P0信號(hào)1018沒(méi)有基于cal_reset_n信號(hào)1014被清除,則評(píng)估DQS_gate_start信號(hào)1008。 如果DQS_gate_start信號(hào)1008被檢測(cè)為處于邏輯電平高,則cal_out_P0信號(hào)1018被賦 予值"1"(即,邏輯電平高)。
[0087] P1模塊1006由RD_DQS信號(hào)1010的上升沿驅(qū)動(dòng)并且產(chǎn)生輸出cal_out_Pl 1020。 如在圖10中圖示的,在P1模塊1006內(nèi)使用的邏輯包括以下內(nèi)容:
[0088] always @(posedge RD DQS or negedge cal reset n) if (-cal reset n) cal_out_pl <= 1'bO; else if (DQS gate start & (cnt == 2^0)) cal_out_pl <= l'hl;
[0089] 包括在PI模塊1006中的邏輯從而評(píng)估cal_reset_n信號(hào)1014并且如果cal_ reset_n信號(hào)1014被檢測(cè)為處于邏輯電平低,則清除cal_out_Pl信號(hào)1020。如果cal_out_ P1信號(hào)1020沒(méi)有基于cal_reset_n信號(hào)1014被清除,則評(píng)估DQS_gate_start信號(hào)1008 和計(jì)數(shù)信號(hào)1012。如果DQS_gate_ Start信號(hào)1008被檢測(cè)為處于邏輯電平高并且計(jì)數(shù)信號(hào) 1012具有值"2",則cal_out_Pl信號(hào)1020被賦予值"1"( S卩,邏輯電平高)。
[0090] 在兩階段校準(zhǔn)程序中使用電路1000的輸出cal_out_N0 1016、cal_out_P01018和 cal_out_Pl 1020。初始校準(zhǔn)通過(guò)軟件手動(dòng)執(zhí)行。初始校準(zhǔn)的目的是確定用于DQS_gate_ start信號(hào)1008的初始延遲設(shè)置,其包括使得DQS_gate_start信號(hào)1008的上升沿位于RD_ DQS信號(hào)1010的前同步碼窗的中心的基于半周期的延遲設(shè)置和延遲線設(shè)置。初始校準(zhǔn)可以 用于補(bǔ)償若干工藝和板的變化。兩階段校準(zhǔn)程序還包括運(yùn)行時(shí)間自動(dòng)校準(zhǔn)。在初始校準(zhǔn)之 后,基于下面進(jìn)一步詳細(xì)討論的校準(zhǔn)窗和算法設(shè)置,運(yùn)行時(shí)間自動(dòng)校準(zhǔn)控制器慢慢調(diào)整延 遲線設(shè)置以補(bǔ)償電壓和溫度(VT)改變。
[0091] 圖11描繪了用于圖示針對(duì)一個(gè)周期的前同步碼情況的初始校準(zhǔn)的各方面的信號(hào) 時(shí)序圖1100。在圖11中,具有一個(gè)周期的前同步碼區(qū)域的RD_DQS信號(hào)被描繪在1102處。 如上面描述的,在理想情況下,DQS_gate_start脈沖的中心在時(shí)間上與RD_DQS信號(hào)的第一 上升沿的中心對(duì)齊。為了實(shí)現(xiàn)理想情況,由初始校準(zhǔn)采用的邏輯包括外回路和內(nèi)回路。在 確定用于DQS_gate_ Start信號(hào)的適當(dāng)延遲設(shè)置中,外回路用于通過(guò)半周期步進(jìn)來(lái)修改延 遲設(shè)置,而內(nèi)回路用于通過(guò)延遲線步進(jìn)來(lái)修改延遲設(shè)置。外回路開(kāi)始于DDR讀延時(shí)(例如, 除了附加延時(shí)之外的CAS延時(shí))。在內(nèi)回路中,遞增延遲線步進(jìn)并且每延遲線步進(jìn)發(fā)出一個(gè) 讀命令。
[0092] 在內(nèi)回路期間,開(kāi)始于延遲線步進(jìn)"0",延遲線步進(jìn)加一,直到監(jiān)控器邏輯電路的 CAL_0UT_P0輸出(例如,圖10的電路1000的CAL_0UT_P0信號(hào)1018)等于"1"。在CAL_ 0UT_P0輸出等于" 1"時(shí),確定延遲設(shè)置D1。如果達(dá)到了最大延遲線步進(jìn)并且CAL_0UT_P0 輸出不等于"1",則退出內(nèi)回路。對(duì)延遲設(shè)置D1的確定被圖示在1104和1106處。1104處 的DQS_gate_start脈沖可以圖示由外回路的半周期延遲設(shè)置造成的脈沖的初始時(shí)序。在 確定延遲設(shè)置D1中,當(dāng)在RD_DQS信號(hào)的第一上升沿期間DQS_gate_start被檢測(cè)為處于邏 輯電平高時(shí),可以設(shè)置CAL_0UT_P0輸出等于" 1",如在1106處圖示的。
[0093] 在內(nèi)回路中繼續(xù),延遲線步進(jìn)進(jìn)一步增加,直到監(jiān)控器邏輯電路的CAL_0UT_N0輸 出等于"1"。在CAL_0UT_N0輸出等于"1"時(shí),確定延遲設(shè)置D2。如果達(dá)到了最大延遲線步 進(jìn)并且CAL_0UT_N0輸出不等于"1",則退出內(nèi)回路。對(duì)延遲設(shè)置D2的確定被圖示在1108 處。在確定延遲設(shè)置D2中,當(dāng)在RD_DQS信號(hào)的第一下降沿期間DQS_gate_start被檢測(cè)為 處于邏輯電平高時(shí),可以設(shè)置CAL_0UT_N0輸出等于"1",如在1108處圖示的。延遲設(shè)置D2 是用于特定數(shù)據(jù)通道的DQS選通的初始設(shè)置,并且可以作為變量"init_dq S_gate_delay" 被存儲(chǔ)在存儲(chǔ)器內(nèi)。延遲設(shè)置D2使得DQS_gate_Start信號(hào)的上升沿處于一個(gè)周期的前同 步碼窗的中心。在延遲步進(jìn)方面,延遲設(shè)置D2大于延遲設(shè)置D1。
[0094] 圖12描繪了用于圖示用于兩個(gè)周期的前同步碼情況的初始校準(zhǔn)的各方面的信號(hào) 時(shí)序圖1200。在圖12中,具有兩個(gè)周期的前同步碼區(qū)域的RD_DQS信號(hào)被描繪在1202處。 如上面描述的,在理想情況下,DQS_gate_start脈沖的中心在時(shí)間上與RD_DQS信號(hào)的第一 上升沿的中心對(duì)齊。為了實(shí)現(xiàn)理想情況,類(lèi)似于上面針對(duì)圖11所描述的,由初始校準(zhǔn)采用 的邏輯包括外回路和內(nèi)回路。在確定用于DQS_gate_start信號(hào)的適當(dāng)延遲設(shè)置中,外回路 用于通過(guò)半周期步進(jìn)來(lái)修改延遲設(shè)置,而內(nèi)回路用于通過(guò)延遲線步進(jìn)來(lái)修改延遲設(shè)置。外 回路開(kāi)始于DDR讀延時(shí)(例如,除了附加延時(shí)之外的CAS延時(shí))。在內(nèi)回路中,遞增延遲線 步進(jìn)并且每延遲線步進(jìn)發(fā)出一個(gè)讀命令。
[0095] 在內(nèi)回路期間,開(kāi)始于延遲線步進(jìn)"0",延遲線步進(jìn)加一,直到監(jiān)控器邏輯電路的 CAL_0UT_P0輸出等于"1"。在CAL_0UT_P0輸出等于"1"時(shí),確定延遲設(shè)置D1。如果達(dá)到了 最大延遲線步進(jìn)并且CAL_0UT_P0輸出不等于"1",則退出內(nèi)回路。對(duì)延遲設(shè)置D1的確定 被圖示在1204和1206處。1204處的DQS_gate_start脈沖可以圖示由外回路的半周期延 遲設(shè)置造成的脈沖的初始時(shí)序。在確定延遲設(shè)置D1中,當(dāng)在RD_DQS信號(hào)的第一上升沿期 間DQS_gate_start被檢測(cè)為處于邏輯電平高時(shí),可以設(shè)置CAL_0UT_P0輸出等于"1",如在 1206處圖示的。
[0096] 在內(nèi)回路中繼續(xù),延遲線步進(jìn)進(jìn)一步增加,直到監(jiān)控器邏輯電路的CAL_0UT_N0輸 出等于"1"。在CAL_0UT_N0輸出等于"1"時(shí),確定延遲設(shè)置D2。如果達(dá)到了最大延遲線步 進(jìn)并且CAL_0UT_N0輸出不等于"1",則退出內(nèi)回路。對(duì)延遲設(shè)置D2的確定被圖示在1208 處。在確定延遲設(shè)置D2中,當(dāng)在RD_DQS信號(hào)的第一下降沿期間DQS_gate_start被檢測(cè)為 處于邏輯電平高時(shí),可以設(shè)置CAL_0UT_N0輸出等于"1",如在1208處圖示的。
[0097] 在內(nèi)回路中繼續(xù),延遲線步進(jìn)進(jìn)一步增加,直到監(jiān)控器邏輯電路的CAL_0UT_P1輸 出等于"1"。在CAL_0UT_P1輸出等于"1"時(shí),確定延遲設(shè)置D3。如果達(dá)到了最大延遲線步 進(jìn)并且CAL_0UT_P1輸出不等于"1",則退出內(nèi)回路。對(duì)延遲設(shè)置D3的確定被圖示在1210 處。在確定延遲設(shè)置D3中,當(dāng)在RD_DQS信號(hào)的第二上升沿期間DQS_gate_start被檢測(cè)為 處于邏輯電平高并且計(jì)數(shù)器值等于"2"時(shí),可以設(shè)置CAL_0UT_P1輸出等于" 1",如在1210 處圖示的。延遲設(shè)置D3是用于特定數(shù)據(jù)通道的DQS選通的初始設(shè)置,并且可以作為變量 "init_dqs_gate_delay"被存儲(chǔ)在存儲(chǔ)器內(nèi)。延遲設(shè)置D3使得DQS_gate_start信號(hào)的上 升沿處于兩個(gè)周期的前同步碼窗的中心。在延遲步進(jìn)方面,延遲設(shè)置D3大于延遲設(shè)置D2。 另外,在延遲步進(jìn)方面,延遲設(shè)置D2大于延遲設(shè)置D1。
[0098] 圖13描繪了用于圖示針對(duì)運(yùn)行時(shí)間自動(dòng)校準(zhǔn)程序的評(píng)估程序的各方面的信號(hào)時(shí) 序圖1300。如在1302中圖示的,定義用于一次校準(zhǔn)評(píng)估程序的評(píng)估窗1302。評(píng)估程序開(kāi) 始于讀命令1304,并且在評(píng)估讀出期1306之后結(jié)束。在使用DDR讀命令1304的評(píng)估程序 的開(kāi)始之后,通過(guò)將Cal_reset_n信號(hào)1314設(shè)置為邏輯電平低來(lái)執(zhí)行評(píng)估重置1308。Cal_ resets信號(hào)1304的邏輯電平低是一個(gè)周期的、邏輯電平低的重置。在評(píng)估期中,在評(píng)估 重置1308之后,在RD_DQS時(shí)序信號(hào)1312的P0、N0和P1時(shí)鐘沿處采樣。P0時(shí)鐘沿是RD_ DQS信號(hào)1312的第一上升沿,NO時(shí)鐘沿是RD_DQS信號(hào)1312的第一下降沿,并且P1時(shí)鐘沿 是RD_DQS信號(hào)1312的第二上升沿。在評(píng)估期之后,確定期1310出現(xiàn),其中確定期允許在 評(píng)估中所使用的觸發(fā)器(例如,用于實(shí)現(xiàn)圖10的電路1〇〇〇的P0模塊1004、N0模塊1002 和P1模塊1006的D觸發(fā)器)確定到可能的亞穩(wěn)態(tài)。評(píng)估程序結(jié)束于評(píng)估讀出期1306,其 中CAL_0UT輸出(例如,圖10的分別由N0模塊1002、P0模塊1004和P1模塊1006產(chǎn)生的 CAL_0UT_N0 1016、CAL_0UT_P0 1018 和 CAL_0UT_P1 1020)被讀回以用于校準(zhǔn),從而結(jié)束一 次評(píng)估程序。
[0099] 圖14描繪了用于圖示運(yùn)行時(shí)間自動(dòng)校準(zhǔn)程序中的早DQS_gate_start條件和晚 DQS_gate_start條件的信號(hào)時(shí)序圖1400、1450。信號(hào)時(shí)序圖1400、1450分別示出了在一個(gè) 周期的前同步碼情況下和兩個(gè)周期的前同步碼情況下的DQS_gate_ Start的早條件和晚?xiàng)l 件。信號(hào)1402和信號(hào)1452描繪了具有位于理想時(shí)間點(diǎn)處的脈沖的DQS_gate_start信號(hào)。 信號(hào)1404和信號(hào)1454描繪了具有時(shí)間上太早的脈沖的DQS_gate_start信號(hào)。在1404處, 針對(duì)具有早DQS_gate_start脈沖的一個(gè)周期的前同步碼情況,CAL_0UT_P0輸出等于"1", 并且CAL_0UT_N0輸出等于"0"。在1454處,針對(duì)具有早DQS_gate_start脈沖的兩個(gè)周期 的前同步碼情況,CAL_0UT_P1輸出等于"0",并且CAL_0UT_P0輸出等于"1"。類(lèi)似地,信號(hào) 1406和信號(hào)1456描繪了具有時(shí)間上太晚的脈沖的DQS_gate_start信號(hào)。在1406處,針對(duì) 具有晚DQS_gate_start脈沖的一個(gè)周期的前同步碼情況,CAL_0UT_P0輸出等于"1",并且 CAL_0UT_N0輸出等于"1"。在1456處,針對(duì)具有晚DQS_gate_start脈沖的兩個(gè)周期的前 同步碼情況,CAL_0UT_P1輸出等于"1",并且CAL_OUT_PO輸出等于"1"。如下面進(jìn)一步詳 細(xì)描述的,在DQS_gate_start信號(hào)的脈沖太早或太晚時(shí)發(fā)生的校準(zhǔn)輸出中的改變可以被 檢測(cè)并且用于調(diào)整延遲線設(shè)置以補(bǔ)償電壓和溫度改變以及其它改變。
[0100] 在執(zhí)行運(yùn)行時(shí)間自動(dòng)校準(zhǔn)程序中,使用校準(zhǔn)窗定時(shí)器CAL_WIN_HMER。在校準(zhǔn)窗定 時(shí)器被使能時(shí),其開(kāi)始計(jì)數(shù),并且在校準(zhǔn)窗定時(shí)器達(dá)到編程的CAL_WIN_PERI0D值時(shí),校準(zhǔn) 窗定時(shí)器被清零。在被清零之后,校準(zhǔn)窗定時(shí)器開(kāi)始下一輪計(jì)數(shù)。在設(shè)置CAL_WIN_PERI0D 中可以使用DDR刷新周期(例如,CAL_WIN_PERI0D可以被設(shè)置為Μ倍的DDR刷新周期,其 中Μ是整數(shù))。運(yùn)行時(shí)間自動(dòng)校準(zhǔn)程序還使用評(píng)估程序計(jì)數(shù)變量EVAL_CNT,其用于保存在 校準(zhǔn)窗中待執(zhí)行的評(píng)估程序的計(jì)數(shù)。
[0101] 針對(duì)運(yùn)行時(shí)間自動(dòng)校準(zhǔn)程序,在程序或變量AUT0_DQS_CAL被使能時(shí),CAL_WIN_ TIMER開(kāi)始計(jì)數(shù)。在定時(shí)器達(dá)到編程的CAL_WIN_PERI0D值時(shí),一個(gè)CAL_WIN_PERI0D結(jié)束, 并且CAL_WIN_HMER返回到零。在被重置之后,CAL_WIN_HMER繼續(xù)計(jì)數(shù),并且新的CAL_ WIN_PERI0D開(kāi)始。在單個(gè)CAL_WIN_PERI0D中存在兩個(gè)階段的操作:評(píng)估階段和分析階 段。在評(píng)估階段中,在校準(zhǔn)窗開(kāi)始之后,a)執(zhí)行評(píng)估(例如上面參照?qǐng)D13描述的評(píng)估), b)evaluation_counter加1,并且c)記錄評(píng)估結(jié)果。重復(fù)步驟a)至c),直到evaluation_ counter達(dá)到評(píng)估程序計(jì)數(shù)變量EVAL_CNT。在該點(diǎn)處,評(píng)估階段完成,并且分析階段開(kāi)始。 在分析階段中,對(duì)CAL_0UT輸出(即,CAL_0UT_N0、CAL_0UT P0和CAL_0UT_P1)的所有記錄 值進(jìn)行分析,計(jì)算新的延遲設(shè)置,并且預(yù)定延遲設(shè)置的更新。具體地,在分析階段中,如果 檢測(cè)到晚DQS_gate_start,則針對(duì)下一更新使延遲線步進(jìn)減小DELTA變量。如果檢測(cè)到早 DQS_gate_start,則針對(duì)下一更新使延遲線步進(jìn)增加 DELTA變量。DELTA變量是編程變量。 為了結(jié)束分析階段,在DDR非讀操作期間預(yù)定下一 DQS選通延遲更新。
[0102] 如上面描述的,評(píng)估階段包括如下步驟,這些步驟包括評(píng)估的執(zhí)行、evalUati 〇n_ counter的遞增以及評(píng)估結(jié)果的記錄。具體地,所執(zhí)行的評(píng)估可以包括在上面參照?qǐng)D13描 述的評(píng)估程序中執(zhí)行的步驟。從而,在一個(gè)校準(zhǔn)窗中,上面參照?qǐng)D13描述的評(píng)估程序或者 類(lèi)似的評(píng)估程序可以被執(zhí)行等于評(píng)估程序計(jì)數(shù)變量EVAL_CNT的次數(shù)。針對(duì)所執(zhí)行的EVAL_ CNT次評(píng)估程序中的每次評(píng)估程序,記錄CAL_0UT輸出值。
[0103] 針對(duì)一個(gè)周期的前同步碼情況,記錄CAL_0UT[1 : 0]值{CAL_0UT_N0, CAL_0UT_ P0}。針對(duì)兩個(gè)周期的前同步碼情況,記錄CAL_0UT[1 : 0]值{CAL_0UT_P1,CAL_0UT_P0}。 針對(duì)一個(gè)周期和兩個(gè)周期的前同步碼情況,待記錄的CAL_0UT值分別被描繪在1400、1450 處。針對(duì)一個(gè)周期的前同步碼情況,如果在當(dāng)前CAL_WIN_PERI0D中所記錄的所有CAL_ 0UT[1 : 0]值都是 2' bll,則 DQS_gate_start 太晚,并且如果在當(dāng)前 CAL_WIN_PERI0D 中 所記錄的所有CAL_0UT[1 : 0]值都是2'b01,則DQS_gate_start信號(hào)太早。針對(duì)兩個(gè)周 期的前同步碼情況,如果在當(dāng)前CAL_WIN_PERI0D中所記錄的所有CAL_0UT[1 : 0]值都是 2' bll,則DQS_gate_start太晚,并且如果在當(dāng)前CAL_WIN_PERI0D中所記錄的所有CAL_ 0UT[1 : 0]者是 2'b01,則 DQS_gate_start 信號(hào)太早。
[0104] 在每個(gè)DDR等級(jí)基礎(chǔ)上執(zhí)行校準(zhǔn)。如果在一個(gè)CAL_WIN_PERI0D中執(zhí)行了足夠數(shù) 目的評(píng)估程序,則針對(duì)下一 CAL_WIN_PERI0D可以重新開(kāi)始CAL_0UT記錄。如果在一個(gè)CAL_ WIN_PERI0D中所執(zhí)行的評(píng)估程序的數(shù)目不夠,則可以將CAL_0UT記錄周期擴(kuò)展到下一 CAL_ WIN_PERI0D。如果在N個(gè)連續(xù)CAL_WIN_PERI0D中仍然沒(méi)有積累足夠的評(píng)估,則DQS_auto_ cal控制邏輯向存儲(chǔ)器控制器發(fā)出標(biāo)志以出于DQS校準(zhǔn)目的而預(yù)定假讀。
[0105] 圖15是描繪用于DDR DQS選通窗的自動(dòng)校準(zhǔn)的示例方法的流程圖1500。在1502 處,校準(zhǔn)程序開(kāi)始于初始校準(zhǔn),其中初始校準(zhǔn)的目的是確定延遲設(shè)置的初始設(shè)置,以使得 DQS_gate_start脈沖的上升沿位于DQS時(shí)序信號(hào)的前同步碼窗的中心。在1504處,在執(zhí) 行初始校準(zhǔn)之后,進(jìn)入自刷新(SRF)模式,其中SRF模式是低功率模式。在SRF模式中,自 動(dòng)校準(zhǔn)控制可在周期性基礎(chǔ)上被執(zhí)行,或者替代地,可以在SRF模式中停止校準(zhǔn)。如果在圖 15中采取路徑1506,則在SRF模式中,自動(dòng)校準(zhǔn)控制在周期性基礎(chǔ)上被執(zhí)行,使得周期性地 執(zhí)行DQS校準(zhǔn)評(píng)估和更新。所執(zhí)行的評(píng)估和更新可以包括上面關(guān)于圖14描述的評(píng)估階段 和分析階段。如果采取路徑1508,則停止校準(zhǔn),并且不執(zhí)行DQS校準(zhǔn)評(píng)估,并且不執(zhí)行更新。 在1510處,退出SRF模式。在退出SRF模式時(shí),可以做出關(guān)于是否保持延遲設(shè)置不變或者 是否將延遲設(shè)置重置為初始設(shè)置的決定。在做決定的過(guò)程中,在1512處可以做出第二決 定,其中第二決定評(píng)估是否已經(jīng)使能SRF模式一段延長(zhǎng)的(即,長(zhǎng)的)時(shí)間量。如果采取路 徑1514,則延遲設(shè)置不變,并且如果采取路徑1516,則加載初始延遲設(shè)置" INIT_DQS_GATE_ DELAY"。
[0106] 圖16描繪了圖示響應(yīng)于從存儲(chǔ)器控制器發(fā)出的連續(xù)讀命令而執(zhí)行的示例DQS選 通操作的信號(hào)時(shí)序圖1600。在圖16中,DQS選通操作可以由選通電路(例如圖4的選通電 路400)執(zhí)行。在信號(hào)時(shí)序圖1600中,在S0C或存儲(chǔ)器控制器的選通處看到的Rd_DQS時(shí)序 信號(hào)包括一個(gè)周期的前同步碼區(qū)域。由時(shí)序控制電路(例如圖6的時(shí)序控制電路600)產(chǎn) 生的DQS_gate_start控制信號(hào)包括對(duì)應(yīng)于連續(xù)讀命令并且持續(xù)時(shí)間是一個(gè)周期以匹配前 同步碼區(qū)域的持續(xù)時(shí)間的脈沖。信號(hào)時(shí)序圖1600圖示了使用計(jì)數(shù)信號(hào)(Cnt)、第一中間信 號(hào)(DQS_enl)和第二中間信號(hào)(DQS_en2)生成選通窗(DQS_en)以在S0C或存儲(chǔ)器控制器 處選通Rd_DQS時(shí)序信號(hào)。該計(jì)數(shù)信號(hào)、第一中間信號(hào)、第二中間信號(hào)和選通窗信號(hào)可以類(lèi) 似于上面參照?qǐng)D5描述的那些信號(hào)。
[0107] 圖17描繪了圖示響應(yīng)于由一個(gè)周期的間隙1702分開(kāi)的兩個(gè)讀命令而執(zhí)行的示例 DQS選通操作的信號(hào)時(shí)序圖1700。在圖17中,DQS選通操作可以由選通電路(例如圖4的 選通電路400)執(zhí)行。信號(hào)時(shí)序圖1700圖示了使用計(jì)數(shù)信號(hào)(Cnt)、第一中間信號(hào)(DQS_ enl)和第二中間信號(hào)(DQS_en2)生成窗(DQS_en)以用于在S0C或存儲(chǔ)器控制器處選通Rd_ DQS時(shí)序信號(hào)。在圖17中,為了處理由一個(gè)周期的間隙1702分開(kāi)的兩個(gè)讀命令,由選通電 路采用的邏輯使得DQS_en選通窗在一個(gè)周期的間隙1702期間過(guò)渡到邏輯電平低,并且響 應(yīng)于DQS_gate_start信號(hào)的第二脈沖而返回到邏輯電平高。
[0108] 圖18描繪了圖示響應(yīng)于由兩個(gè)周期的間隙1802分開(kāi)的兩個(gè)讀命令而執(zhí)行的示例 DQS選通操作的信號(hào)時(shí)序圖1800。在圖18中,DQS選通操作可以由選通電路執(zhí)行,該選通 電路利用計(jì)數(shù)信號(hào)(Cnt)、第一中間信號(hào)(DQS_enl)和第二中間信號(hào)(DQS_en2)生成選通窗 (DQS_en)。在圖18中,為了處理由兩個(gè)周期的間隙1802分開(kāi)的兩個(gè)讀命令,由選通電路采 用的邏輯使得DQS_en選通窗在兩個(gè)周期的間隙1802期間過(guò)渡到邏輯電平低,并且響應(yīng)于 由時(shí)序控制電路產(chǎn)生的DQS_gate_start信號(hào)的第二脈沖而返回到邏輯電平高。
[0109] 圖19描繪了圖示響應(yīng)于讀中斷命令而執(zhí)行的示例DQS選通操作的信號(hào)時(shí)序圖 1900。在圖19中,由S0C或存儲(chǔ)器控制器發(fā)出第一讀命令,如由第一 DQS_gate_start脈沖 1902證實(shí)的。隨后,在完成第一讀操作之前由S0C或存儲(chǔ)器控制器發(fā)出第二讀命令,如由第 二DQS_gate_start脈沖1904證實(shí)的。第一讀取被第二讀取中斷。由實(shí)施DQS選通操作的 選通電路所采用的邏輯被配置用于通過(guò)重置計(jì)數(shù)信號(hào)(Cnt)的計(jì)數(shù)值來(lái)處理讀中斷命令。 重置計(jì)數(shù)值使得DQS_en選通窗保持在邏輯電平高一段適量的時(shí)間。例如,可以使用DDR2 存儲(chǔ)器的讀中斷功能。
[0110] 圖20描繪了圖示響應(yīng)于突發(fā)突變命令而執(zhí)行的示例DQS選通操作的信號(hào)時(shí)序圖 2000。DDR3和DDR4包括用于飛擊式(on-the-fly)、BC4(突發(fā)突變)模式的功能。在圖20 中,生成BC_EN信號(hào)2002以指示讀命令是BC4命令。BC_EN信號(hào)2002的持續(xù)時(shí)間是四個(gè) 周期。時(shí)序控制電路(例如圖6的時(shí)序控制電路600)可以利用delay_cyc_cnt(例如,要 延遲的時(shí)鐘周期的數(shù)目)和clk_ edge_Sel (例如,由選擇時(shí)鐘信號(hào)的上升沿或下降沿造成 的延遲)輸入,以生成用于DQS_gate_Start控制信號(hào)的必要延遲。在突發(fā)突變命令的情況 下,可以不需要由延遲線提供的延遲的周期(例如,如由圖7的延遲線模塊722和delay_ line_sel信號(hào)710實(shí)施的)。
[0111] 在圖16至圖20的每幅圖中,Rd_DQS時(shí)序信號(hào)的前同步碼區(qū)域的持續(xù)時(shí)間是一個(gè) 周期。對(duì)應(yīng)地,在圖16至圖20的每幅圖中,DQS_gate_start控制信號(hào)的脈沖具有一個(gè)周 期的寬度。相比之下,圖21描繪了圖示使用具有兩個(gè)周期的前同步碼區(qū)域的RD_DQS時(shí)序 信號(hào)執(zhí)行的示例DQS選通操作的信號(hào)時(shí)序圖2100。如在圖21中圖示的,針對(duì)兩個(gè)周期的前 同步碼情況,DQS_gate_ Start控制信號(hào)的脈沖的寬度是兩個(gè)周期。這允許充分利用兩個(gè)周 期的前同步碼窗以調(diào)整DQS_gate_Start控制信號(hào)的時(shí)序。兩個(gè)周期寬的控制信號(hào)對(duì)應(yīng)于 一個(gè)讀命令。在延遲校準(zhǔn)之后,控制信號(hào)的上升沿位于RD_DQS時(shí)序信號(hào)的前同步碼區(qū)域的 中心,并且控制信號(hào)的下降沿與讀DQS的第二上升沿對(duì)齊。
[0112] 圖22描繪了圖示響應(yīng)于從存儲(chǔ)器控制器發(fā)出的連續(xù)讀命令而執(zhí)行的示例DQS選 通操作的信號(hào)時(shí)序圖2200,其中Rd_DQS時(shí)序信號(hào)的前同步碼區(qū)域具有兩個(gè)周期的持續(xù)時(shí) 間。由時(shí)序控制電路(例如圖6的時(shí)序控制電路600)產(chǎn)生的DQS_gate_start控制信號(hào) 包括對(duì)應(yīng)于連續(xù)讀命令并且持續(xù)時(shí)間是兩個(gè)周期以匹配前同步碼區(qū)域的持續(xù)時(shí)間的脈沖。 在圖22中,為了處理連續(xù)讀命令并且允許Rd_DQS時(shí)序信號(hào)的數(shù)據(jù)傳輸區(qū)域的所有部分被 S0C或存儲(chǔ)器控制器讀取,由執(zhí)行選通操作的選通電路所采用的邏輯使得DQS_en選通窗在 所有相關(guān)時(shí)間保持在邏輯電平高。
[0113] 圖23描繪了圖示響應(yīng)于突發(fā)突變命令而執(zhí)行的示例DQS選通操作的信號(hào)時(shí)序圖 2300,其中Rd_DQS時(shí)序信號(hào)的前同步碼區(qū)域具有兩個(gè)周期的持續(xù)時(shí)間。在圖23中,生成 BC_EN信號(hào)2302以指示讀命令是BC4命令。BC_EN信號(hào)2302的持續(xù)時(shí)間是四個(gè)周期。因 為Rd_DQS時(shí)序信號(hào)的前同步碼區(qū)域具有兩個(gè)周期的持續(xù)時(shí)間,所以DQS_gate_start控制 信號(hào)的脈沖的持續(xù)時(shí)間也是兩個(gè)周期。
[0114] 圖24是圖示用于對(duì)存儲(chǔ)器設(shè)備的讀操作進(jìn)行定時(shí)的示例方法的流程圖2400。在 2402處,在選通電路處從存儲(chǔ)器設(shè)備接收時(shí)序信號(hào)。在2404處,在時(shí)序控制電路處,在接收 到來(lái)自存儲(chǔ)器控制器的讀請(qǐng)求之后生成控制信號(hào)。時(shí)序控制電路被配置用于延遲控制信號(hào) 的生成,以使得選通窗在時(shí)序信號(hào)的前同步碼部分期間打開(kāi)。在2406處,基于控制信號(hào)打 開(kāi)選通窗。在2408處,在選通窗期間使時(shí)序信號(hào)作為經(jīng)濾波的時(shí)序信號(hào)而通過(guò)。在2410 處,基于時(shí)序信號(hào)的下降沿關(guān)閉選通窗?;谟煽刂菩盘?hào)觸發(fā)以開(kāi)始計(jì)數(shù)的計(jì)數(shù)器來(lái)確定 下降沿。
[0115] 本書(shū)面描述使用示例來(lái)公開(kāi)本發(fā)明(包括最佳模式),并且還使得本領(lǐng)域技術(shù)人 員能夠做出和使用本發(fā)明。本發(fā)明的可取得專(zhuān)利權(quán)的范圍可以包括其它示例。另外,本文 中所描述的方法和系統(tǒng)可以通過(guò)程序代碼在許多不同類(lèi)型的處理設(shè)備上被實(shí)施,該程序代 碼包括由設(shè)備處理子系統(tǒng)可執(zhí)行的程序指令。軟件程序指令可以包括源代碼、目標(biāo)代碼、機(jī) 器代碼或者可操作用于使得處理系統(tǒng)執(zhí)行本文中所描述的方法和操作的任何其它存儲(chǔ)的 數(shù)據(jù)。然而,還可以使用其它實(shí)施方式,諸如固件或者甚至被配置用于執(zhí)行本文中所描述的 方法和系統(tǒng)的經(jīng)適當(dāng)設(shè)計(jì)的硬件。
[0116] 系統(tǒng)的數(shù)據(jù)和方法的數(shù)據(jù)(例如關(guān)聯(lián)、映射、數(shù)據(jù)輸入、數(shù)據(jù)輸出、中間數(shù)據(jù)結(jié)果、 最終數(shù)據(jù)結(jié)果等)可以被存儲(chǔ)和實(shí)施在一個(gè)或多個(gè)不同類(lèi)型的計(jì)算機(jī)實(shí)施的數(shù)據(jù)存儲(chǔ)設(shè) 備中,諸如不同類(lèi)型的存儲(chǔ)設(shè)備和編程結(jié)構(gòu)(例如RAM、ROM、閃速存儲(chǔ)器、平面文件、數(shù)據(jù) 庫(kù)、編程數(shù)據(jù)結(jié)構(gòu)、編程變量、IF-THEN(或類(lèi)似類(lèi)型)語(yǔ)句結(jié)構(gòu)等)。要注意的是,數(shù)據(jù)結(jié)構(gòu) 描述了將數(shù)據(jù)組織和存儲(chǔ)在數(shù)據(jù)庫(kù)、程序、存儲(chǔ)器或由計(jì)算機(jī)程序使用的其它計(jì)算機(jī)可讀 介質(zhì)中使用的格式。
[0117] 本文中所描述的計(jì)算機(jī)部件、軟件模塊、功能、數(shù)據(jù)存儲(chǔ)設(shè)備和數(shù)據(jù)結(jié)構(gòu)可以直接 或間接地彼此連接,以便允許它們的操作所需要的數(shù)據(jù)流動(dòng)。還要注意的是,模塊或處理器 包括但不限于執(zhí)行軟件操作的代碼單元,并且可以例如被實(shí)施為代碼的子程序單元或者代 碼的軟件功能單元或者對(duì)象(如在面向?qū)ο蟮姆缎停╬aradigm)中)或者小應(yīng)用程序或者 計(jì)算機(jī)腳本語(yǔ)言或者另一類(lèi)型的計(jì)算機(jī)代碼。依賴(lài)于手邊的情況,軟件部件和/或功能可 以位于單臺(tái)計(jì)算機(jī)上或者跨多臺(tái)計(jì)算機(jī)分布。
[0118] 應(yīng)當(dāng)理解的是,如在本文的描述中以及貫穿隨后的權(quán)利要求所使用的,"一(a)"、 "一個(gè)(an)"和"該(the)"的含義包括復(fù)數(shù)參考,除非上下文另外明確指示。同時(shí),如在本 文中的描述中以及貫穿隨后的權(quán)利要求所使用的,"在...中"的含義包括"在...中"和 "在...上",除非上下文另外明確指示。進(jìn)一步地,如在本文的描述中以及貫穿隨后的權(quán)利 要求所使用的,"每個(gè)(each)"的含義不要求"每一個(gè)(each and every)",除非上下文另 外明確指示。最后,如在本文的描述中以及貫穿隨后的權(quán)利要求所使用的,"和"以及"或" 的含義包括連接詞和反意連接詞兩者,并且可以互換使用,除非上下文另外明確指示;短語(yǔ) "不包括"可以用于指示其中只有反意連接含義可以適用的情形。
【權(quán)利要求】
1. 一種用于對(duì)存儲(chǔ)器設(shè)備的讀操作進(jìn)行定時(shí)的系統(tǒng),所述系統(tǒng)包括: 選通電路,被配置用于接收來(lái)自所述存儲(chǔ)器設(shè)備的時(shí)序信號(hào)并且在選通窗期間使所述 時(shí)序信號(hào)作為經(jīng)濾波的時(shí)序信號(hào)而通過(guò),所述選通電路被配置用于: 基于控制信號(hào)打開(kāi)所述選通窗,以及 基于所述時(shí)序信號(hào)的下降沿關(guān)閉所述選通窗,所述下降沿基于由所述控制信號(hào)觸發(fā)以 開(kāi)始計(jì)數(shù)的計(jì)數(shù)器被確定;以及 時(shí)序控制電路,被配置用于在接收到來(lái)自存儲(chǔ)器控制器的讀請(qǐng)求之后生成所述控制信 號(hào),所述時(shí)序控制電路被配置用于延遲所述控制信號(hào)的生成,以使得所述選通窗在所述時(shí) 序信號(hào)的前同步碼部分期間打開(kāi)。
2. 根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述選通電路包括: 所述計(jì)數(shù)器; 第一模塊,被配置用于基于以下信號(hào)中的一個(gè)或多個(gè)信號(hào)生成第一中間信號(hào):所述控 制信號(hào)、來(lái)自所述計(jì)數(shù)器的計(jì)數(shù)信號(hào)以及所述時(shí)序信號(hào),其中所述第一模塊由所述時(shí)序信 號(hào)的上升沿觸發(fā); 第二模塊,被配置用于基于所述第一中間信號(hào)和所述時(shí)序信號(hào)生成第二中間信號(hào),其 中所述第二模塊由所述時(shí)序信號(hào)的第二下降沿觸發(fā);以及 第三模塊,被配置用于基于所述控制信號(hào)、所述第一中間信號(hào)和所述第二中間信號(hào)控 制所述選通窗。
3. 根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述選通窗被配置用于在跟隨所述時(shí)序信號(hào)的 所述下降沿的延遲之后關(guān)閉,并且其中所述選通窗在所述時(shí)序信號(hào)的后同步碼部分期間關(guān) 閉。
4. 根據(jù)權(quán)利要求3所述的系統(tǒng),其中所述延遲由D觸發(fā)器以及"或"邏輯門(mén)造成。
5. 根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述時(shí)序控制電路延遲所述控制信號(hào)的生成,以 使得所述控制信號(hào)的上升沿處于或者靠近所述時(shí)序信號(hào)的所述前同步碼部分的中心,并且 其中延遲的所述生成基于校準(zhǔn)過(guò)程。
6. 根據(jù)權(quán)利要求5所述的系統(tǒng),其中所述校準(zhǔn)過(guò)程包括用于確定用于生成所述控制信 號(hào)的初始延遲設(shè)置的初始校準(zhǔn),并且其中所述校準(zhǔn)過(guò)程包括用于基于所述存儲(chǔ)器設(shè)備或者 所述存儲(chǔ)器控制器中的電壓或溫度改變來(lái)調(diào)整所述初始延遲設(shè)置的運(yùn)行時(shí)間校準(zhǔn)。
7. 根據(jù)權(quán)利要求5所述的系統(tǒng),進(jìn)一步包括: 監(jiān)控器電路,被配置用于確定所述時(shí)序信號(hào)與所述控制信號(hào)之間的關(guān)系,其中所述監(jiān) 控器電路包括: 第一模塊,被觸發(fā)到所述時(shí)序信號(hào)的第二下降沿,所述第一模塊被配置用于與所述第 二下降沿同時(shí)地讀取所述控制信號(hào)并且生成用于所述校準(zhǔn)過(guò)程的第一輸出信號(hào), 第二模塊,被觸發(fā)到所述時(shí)序信號(hào)的上升沿,所述第二模塊被配置用于與所述上升沿 同時(shí)地讀取所述控制信號(hào)并且生成用于所述校準(zhǔn)過(guò)程的第二輸出信號(hào),以及 第三模塊,被觸發(fā)到所述時(shí)序信號(hào)的第二上升沿,所述第三模塊被配置用于與所述第 二上升沿同時(shí)地讀取所述控制信號(hào)和來(lái)自所述計(jì)數(shù)器的計(jì)數(shù)信號(hào)并且生成用于所述校準(zhǔn) 過(guò)程的第三輸出信號(hào)。
8. 根據(jù)權(quán)利要求5所述的系統(tǒng),其中所述校準(zhǔn)過(guò)程包括低功率模式,校準(zhǔn)程序在所述 低功率模式期間被暫停,并且其中在退出所述低功率模式時(shí),用于所述控制信號(hào)的延遲設(shè) 置保持不變或者被重置為初始值。
9. 根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述選通電路被配置用于處理突發(fā)突變信號(hào),其 中所述突發(fā)突變信號(hào)包括持續(xù)時(shí)間是四個(gè)周期的脈沖,并且其中所述突發(fā)突變信號(hào)指示當(dāng) 前命令是突發(fā)突變命令。
10. 根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述控制信號(hào)的延遲的所述生成基于定義要延 遲的時(shí)鐘周期的數(shù)目的第一輸入、定義基于所述時(shí)序信號(hào)的上升沿或下降沿的延遲的第二 輸入以及定義基于延遲線的延遲的第三輸入。
11. 根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述控制信號(hào)的脈沖的寬度在持續(xù)時(shí)間上等于 所述時(shí)序信號(hào)的所述前同步碼部分的寬度。
12. 根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述選通窗被自動(dòng)關(guān)閉,并且其中不生成第二控 制信號(hào)以關(guān)閉所述選通窗。
13. 根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述選通電路包括被配置用于處理讀中斷命令 的邏輯,所述讀中斷命令是在完成第一讀請(qǐng)求的處理之前接收到的第二讀請(qǐng)求。
14. 一種用于對(duì)存儲(chǔ)器設(shè)備的讀操作進(jìn)行定時(shí)的方法,所述方法包括: 在選通電路處接收來(lái)自所述存儲(chǔ)器設(shè)備的時(shí)序信號(hào); 在選通窗期間使所述時(shí)序信號(hào)作為經(jīng)濾波的時(shí)序信號(hào)而通過(guò),其中所述選通電路被配 置用于: 基于控制信號(hào)打開(kāi)所述選通窗,以及 基于所述時(shí)序信號(hào)的下降沿關(guān)閉所述選通窗,所述下降沿基于由所述控制信號(hào)觸發(fā)以 開(kāi)始計(jì)數(shù)的計(jì)數(shù)器被確定;以及 在時(shí)序控制電路處,在接收到來(lái)自存儲(chǔ)器控制器的讀請(qǐng)求之后生成所述控制信號(hào),其 中所述時(shí)序控制電路被配置用于延遲所述控制信號(hào)的生成以使得所述選通窗在所述時(shí)序 信號(hào)的前同步碼部分期間打開(kāi)。
15. 根據(jù)權(quán)利要求14所述的方法,進(jìn)一步包括: 在所述選通電路處接收來(lái)自所述存儲(chǔ)器設(shè)備的所述時(shí)序信號(hào),其中所述選通電路包 括: 所述計(jì)數(shù)器; 第一模塊,被配置用于基于以下信號(hào)中的一個(gè)或多個(gè)信號(hào)生成第一中間信號(hào):所述控 制信號(hào)、來(lái)自所述計(jì)數(shù)器的計(jì)數(shù)信號(hào)以及所述時(shí)序信號(hào),其中所述第一模塊由所述時(shí)序信 號(hào)的上升沿觸發(fā); 第二模塊,被配置用于基于所述第一中間信號(hào)和所述時(shí)序信號(hào)生成第二中間信號(hào),其 中所述第二模塊由所述時(shí)序信號(hào)的第二下降沿觸發(fā);以及 第三模塊,被配置用于基于所述控制信號(hào)、所述第一中間信號(hào)和所述第二中間信號(hào)控 制所述選通窗。
16. 根據(jù)權(quán)利要求14所述的方法,進(jìn)一步包括: 在所述選通窗期間使所述時(shí)序信號(hào)作為所述經(jīng)濾波的時(shí)序信號(hào)而通過(guò),其中所述選通 窗被配置用于在跟隨所述時(shí)序信號(hào)的所述下降沿的延遲之后關(guān)閉,并且其中所述選通窗在 所述時(shí)序信號(hào)的后同步碼部分期間關(guān)閉。
17. 根據(jù)權(quán)利要求16所述的方法,其中所述延遲由D觸發(fā)器以及"或"邏輯門(mén)造成。
18. 根據(jù)權(quán)利要求14所述的方法,進(jìn)一步包括: 在所述時(shí)序控制電路處,生成所述控制信號(hào),其中所述時(shí)序控制電路延遲所述控制信 號(hào)的生成,以使得所述控制信號(hào)的上升沿處于或者靠近所述時(shí)序信號(hào)的所述前同步碼部分 的中心,并且其中延遲的所述生成基于校準(zhǔn)過(guò)程。
19. 根據(jù)權(quán)利要求18所述的方法,進(jìn)一步包括: 執(zhí)行所述校準(zhǔn)過(guò)程,其中所述校準(zhǔn)過(guò)程包括用于確定用于生成所述控制信號(hào)的初始延 遲設(shè)置的初始校準(zhǔn),并且其中所述校準(zhǔn)過(guò)程包括用于基于所述存儲(chǔ)器設(shè)備或者所述存儲(chǔ)器 控制器中的電壓或溫度改變來(lái)調(diào)整所述初始延遲設(shè)置的運(yùn)行時(shí)間校準(zhǔn)。
20. 根據(jù)權(quán)利要求18所述的方法,進(jìn)一步包括: 使用監(jiān)控器電路執(zhí)行所述校準(zhǔn)過(guò)程,其中所述監(jiān)控器電路被配置用于確定所述時(shí)序信 號(hào)與所述控制信號(hào)之間的關(guān)系,并且其中所述監(jiān)控器電路包括: 第一模塊,被觸發(fā)到所述時(shí)序信號(hào)的第二下降沿,所述第一模塊被配置用于與所述第 二下降沿同時(shí)地讀取所述控制信號(hào)并且生成用于所述校準(zhǔn)過(guò)程的第一輸出信號(hào),以及 第二模塊,被觸發(fā)到所述時(shí)序信號(hào)的上升沿,所述第二模塊被配置用于與所述上升沿 同時(shí)地讀取所述控制信號(hào)并且生成用于所述校準(zhǔn)過(guò)程的第二輸出信號(hào)。
21. 根據(jù)權(quán)利要求18所述的方法,進(jìn)一步包括: 執(zhí)行所述校準(zhǔn)過(guò)程,其中所述校準(zhǔn)過(guò)程包括低功率模式,校準(zhǔn)程序在所述低功率模式 期間被暫停,并且其中在退出所述低功率模式時(shí),用于所述控制信號(hào)的延遲設(shè)置保持不變 或者被重置為初始值。
22. 根據(jù)權(quán)利要求14所述的方法,進(jìn)一步包括: 處理突發(fā)突變信號(hào),其中所述突發(fā)突變信號(hào)包括持續(xù)時(shí)間是四個(gè)周期的脈沖,并且其 中所述突發(fā)突變信號(hào)指示當(dāng)前命令是突發(fā)突變命令。
23. 根據(jù)權(quán)利要求14所述的方法,進(jìn)一步包括: 在所述時(shí)序控制電路處,生成所述控制信號(hào),其中所述控制信號(hào)的延遲的所述生成基 于定義要延遲的時(shí)鐘周期的數(shù)目的第一輸入、定義基于所述時(shí)序信號(hào)的上升沿或下降沿的 延遲的第二輸入以及定義基于延遲線的延遲的第三輸入。
24. 根據(jù)權(quán)利要求14所述的方法,進(jìn)一步包括: 基于所述控制信號(hào)打開(kāi)所述選通窗,其中所述控制信號(hào)的脈沖的寬度在持續(xù)時(shí)間上等 于所述時(shí)序信號(hào)的所述前同步碼部分的寬度。
25. 根據(jù)權(quán)利要求14所述的方法,進(jìn)一步包括: 自動(dòng)關(guān)閉所述選通窗,其中不生成第二控制信號(hào)以關(guān)閉所述選通窗。
26. 根據(jù)權(quán)利要求14所述的方法,進(jìn)一步包括: 在所述選通電路處處理讀中斷命令,其中所述讀中斷命令是在完成第一讀請(qǐng)求的處理 之前接收到的第二讀請(qǐng)求。
【文檔編號(hào)】G06F13/16GK104272283SQ201380022641
【公開(kāi)日】2015年1月7日 申請(qǐng)日期:2013年4月30日 優(yōu)先權(quán)日:2012年5月1日
【發(fā)明者】朱軍, J·J·曹, S·盧 申請(qǐng)人:馬維爾國(guó)際貿(mào)易有限公司