TWI743859B - 記憶體裝置、電子裝置及與其相關的讀取方法 - Google Patents

記憶體裝置、電子裝置及與其相關的讀取方法 Download PDF

Info

Publication number
TWI743859B
TWI743859B TW109122076A TW109122076A TWI743859B TW I743859 B TWI743859 B TW I743859B TW 109122076 A TW109122076 A TW 109122076A TW 109122076 A TW109122076 A TW 109122076A TW I743859 B TWI743859 B TW I743859B
Authority
TW
Taiwan
Prior art keywords
memory module
period
read
time
memory
Prior art date
Application number
TW109122076A
Other languages
English (en)
Other versions
TW202203042A (zh
Inventor
吳聖倫
蘇俊聯
Original Assignee
旺宏電子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 旺宏電子股份有限公司 filed Critical 旺宏電子股份有限公司
Priority to TW109122076A priority Critical patent/TWI743859B/zh
Application granted granted Critical
Publication of TWI743859B publication Critical patent/TWI743859B/zh
Publication of TW202203042A publication Critical patent/TW202203042A/zh

Links

Images

Landscapes

  • Dram (AREA)

Abstract

本發明係為一種可對多個記憶體模組進行同步讀取之記憶體裝置、電子裝置及與其相關的讀取方法。電子裝置包含主控裝置、第一記憶體模組與第二記憶體模組。主控裝置對第一記憶體模組與第二記憶體模組同時執行讀取操作。當第一記憶體模組於讀取操作期間產生更新衝突時,第一記憶體模組將更新衝突的情形回報予主控裝置。於同步資料準備期間經過後,第一記憶體模組與第二記憶體模組於同步資料讀取期間分別傳送第一同步讀取資料與第二同步讀取資料至主控裝置。其中,同步資料準備期間大於預設讀取延遲。

Description

記憶體裝置、電子裝置及與其相關的讀取方法
本發明是有關於一種記憶體裝置、電子裝置及與其相關的讀取方法,且特別是有關於一種可對多個記憶體模組進行同步讀取之記憶體裝置、電子裝置及與其相關的讀取方法。
可攜式電子裝置日益普及,搭配影音應用趨勢,使記憶體模組的需求有增無減。也因此,記憶體模組的儲存容量越來越大。然而,隨著應用的不同,部分的電子裝置並不需要使用很大容量的記憶體模組。此外,大容量的記憶體模組需佔用較多的接腳數(pin number),因而成為設計嵌入式系統時的限制。
請參見第1圖,其係電子裝置內的記憶體模組使用動態隨機存取記憶體DRAM之示意圖。電子裝置10a包含主控裝置13a與記憶體模組11a。其中主控裝置13a可為嵌入式系統中的控制器(controller)或數位信號處理器(digital signal process,簡稱為DSP),記憶體模組(DRAM)11a採用的是動態隨機存取記憶體(Dynamic Random Access Memory,簡稱為DRAM)技術。主控裝置13a利用晶片選取信號CS#選取記憶體模組(DRAM)11a,並傳送控制信號CTL至 記憶體模組(DRAM)11a。根據控制信號CTL與系統時脈信號SCLK,主控裝置13a與記憶體模組(DRAM)11a之間,以64位元的系統輸入輸出信號線SIO[64:1]傳送記憶體位址與讀取資料DATm。其中,記憶體位址包含記憶體模組(DRAM)11a的列位址ADRr與行位址ADRc。
隨著記憶體技術的發展,採用DRAM技術的記憶體模組(DRAM)11a的容量可能過大,且接線數量可能過多。因此,目前市面上發展出一種使用虛擬靜態隨機存取記憶體(Pseudo Static Random Access Memory,簡稱為PSRAM)的記憶體模組。
請參見第2圖,其係電子裝置內的記憶體模組使用虛擬靜態隨機存取記憶體PSRAM之示意圖。電子裝置10b包含主控裝置13b與記憶體模組(PSRAM)11b。其中記憶體模組(PSRAM)11b採用的是虛擬靜態隨機存取記憶體PSRAM技術。主控裝置13b利用晶片選取信號CS#選取記憶體模組(PSRAM)11b後,將控制信號CTL傳送至記憶體模組(PSRAM)11b。根據控制信號CTL、系統時脈信號SCLK與資料閃控遮罩信號(Read Data strobe/Write Data Mask,簡稱為DQSM)的控制,主控裝置13與記憶體模組(PSRAM)11b之間,以8位元的系統輸入輸出信號線SIO[8:1]傳送記憶體位址與讀取資料。為便於說明,本文使用相同的符號代表信號線與利用該信號線所傳送的信號。例如,利用控制信號線CTL傳送控制信號CTL。
比較第1、2圖可以看出,兩張圖式中的系統輸入輸出信號線SIO的數量相差甚大。此外,第1圖的主控裝置13a所需之控制信號CTL的數量,較第2圖的主控裝置13b所需之控制信號CTL多。因此,使用記憶體模組(PSRAM)11b時,主控裝置13所需的接腳較少。連帶 的,使用PSRAM技術的記憶體模組(PSRAM)11b亦成為嵌入式系統的趨勢。
採用PSRAM技術時,記憶體模組需要持續地進行更新(refresh)方能維持所儲存的資料。若記憶體模組內部正在進行更新的期間,剛好接收到來自主控裝置的讀取指令,則記憶體模組因為正在進行更新的緣故,無法即刻執行讀取操作。此種因為記憶體模組正在進行更新而無法立刻執行讀取操作的現象稱為更新衝突(refresh collision)。
記憶體模組(PSRAM)11b採用虛擬靜態隨機存取記憶體PSRAM技術時,主控裝置13b對記憶體模組(PSRAM)11b進行讀取操作(read operation)時,可能因為記憶體模組(PSRAM)11b本身的狀態不同而有以下兩種情形:一般情況下的讀取操作,或是更新衝突下的讀取操作。以下,分別以第3A圖說明記憶體模組(PSRAM)11b在一般情況(未發生更新衝突時)的讀取操作的波形,以及以第3B圖說明記憶體模組(PSRAM)11b在讀取操作時發生更新衝突的波形。
在第3A、3B圖中,由上而下分別為晶片選取信號CS#、系統時脈信號SCLK、資料閃控遮罩信號DQSM、系統輸入輸出信號線SIO[8:1]。在本文中,波形圖的橫軸均為時間。
請參見第3A圖,其係主控裝置使用PSRAM記憶體模組進行一般讀取操作的波形圖。首先,主控裝置13b在時點t1將與記憶體模組(PSRAM)11b對應的晶片選取信號CS#由高位準拉低至低位準。接著,待記憶體模組11b在時點t2將資料閃控遮罩信號DQSM拉低至低位準後,主控裝置13b利用系統輸入輸出信號線SIO[8:1]依序發出讀取指 令mCMDrd、列位址(row address)ADRr與行位址(column address)ADRc至記憶體模組(PSRAM)11b。
在本文中,將主控裝置13b傳送讀取指令mCMDrd的期間(時點t3~時點t4)定義為讀取指令傳送期間Tcmd;主控裝置13b傳送記憶體位址的期間(時點t4~時點t7)定義為位址傳送期間Tadr;主控裝置13b傳送列位址ADRr的期間(時點t4~時點t6)定義為列位址期間Tadr_r;主控裝置13b傳送行位址ADRc的期間(時點t6~時點t7)定義為行位址期間Tadr_c。為便於說明,本文以點狀網底代表讀取指令mCMDrd;以橫向網底代表列位址ADRr;以及,以縱向網底代表行位址ADRc。
在記憶體模組(PSRAM)11b中,可定義讀取延遲計數(latency count,簡稱為LC)。讀取延遲計數LC代表記憶體模組(PSRAM)11b自主控裝置13b取得列位址(row address)後,自記憶體陣列內將讀取資料DATm讀取至內部緩衝器所需的時間。本文假設讀取延遲計數LC為系統時脈週期Tclk的三倍(LC=Tclk*3)。
記憶體模組(PSRAM)11b接收讀取指令mCMDrd、列位址ADRr與行位址(column address)ADRc後,需再等待一段時間後,方能將讀取資料DATm從記憶體陣列複製至內部緩衝器準備妥當。如第3A圖所示,若記憶體模組(PSRAM)11b未發生更新碰撞時,記憶體模組(PSRAM)11b所需之,將讀取資料DATm從記憶體陣列複製至內部緩衝器的期間,取決於預設讀取延遲(dftLC=LC*1)。預設讀取延遲dftLC代表,記憶體模組(PSRAM)11b未發生更新衝突時,為進行資料讀取所需等待之讀取延遲計數LC的個數。其中,預設讀取延遲 (dftLC=LC*1)係自記憶體模組(PSRAM)11b接收列位址mADRr(即,時點t5)後開始計算。
一旦預設讀取延遲(dftLC=LC*1)結束(時點t8)後,記憶體模組(PSRAM)11b在系統時脈信號SCLK的下一個上升緣(即,時點t9),利用資料閃控遮罩信號DQSM陸續產生兩個讀取閃控(read strobe)脈衝信號mstrb1、mstrb2。在讀取閃控脈衝信號mstrb1、mstrb2產生的同時,記憶體模組11b亦利用系統輸入輸出信號線SIO[8:1],將位於內部緩衝器的讀取資料DATm傳送至主控裝置13b。
請參見第3B圖,其係主控裝置使用PSRAM記憶體模組進行讀取操作時,記憶體模內部發生更新衝突的波形圖。由於第3A、3B圖的波形大致類似,此處不重複說明晶片選取信號CS#、系統時脈信號SCLK、資料閃控遮罩信號DQSM、系統輸入輸出信號SIO[8:1]的前後變動順序。
比較第3A、3B圖可以看出,在第3A圖中,記憶體模組(PSRAM)11b等待預設讀取延遲(dftLC=LC*1)後,即可傳送讀取資料DATm至主控裝置13b。在第3B圖中,記憶體模組(PSRAM)11b須等待至更新讀取延遲rfcLC(例如,rfcLC=LC*2)(時點t9)後,方得傳送讀取資料DATm至主控裝置13b。更新讀取延遲rfcLC代表,記憶體模組(PSRAM)11b發生更新衝突時,需等待更新衝突結束後可進行資料讀取所需的讀取延遲計數LC的個數。為便於說明,本文假設更新讀取延遲rfcLC為兩個讀取延遲計數的長度(rfcLC=LC*2)。實際應用時,更新讀取延遲rfcLC所包含之讀取延遲計數LC的個數並不以此為限。
在第3B圖中,資料閃控遮罩信號DQSM在時點t10由低位準上升至高位準,並用於在時點t10至時點t11的期間發出讀取閃控脈 衝信號m1strb1、m1strb2。記憶體模組(PSRAM)11b可藉由資料閃控遮罩信號DQSM的變化,通知主控裝置13b讀取資料DATm已經在內部緩衝器準備妥當。接著,記憶體模組(PSRAM)11b將先前存放在內部緩衝器的讀取資料傳送至系統輸入輸出信號線SIO[8:1],供主控裝置13b存取。由於主控裝置13b對記憶體模組(PSRAM)11b進行的讀取操作可能是連續性的,在記憶體模組(PSRAM)11b將先前存放在內部緩衝器的讀取資料傳送至系統輸入輸出信號線SIO[8:1]的同時,記憶體模組(PSRAM)11b亦將持續自記憶體陣列中讀取資料並傳送至內部緩衝器內。
在部分的應用中,電子裝置可能須同時使用多個使用虛擬靜態隨機存取記憶體PSRAM技術的記憶體模組。針對此種同時包含多個虛擬靜態隨機存取記憶體PSRAM記憶體模組之電子裝置,可能因為記憶體模組本身是否發生更新衝突的狀態不同,使主控裝置無法正確地自多個記憶體模組同步取得讀取資料。
本發明係有關於一種可對多個記憶體模組進行同步讀取之記憶體裝置、電子裝置及與其相關的讀取方法。當記憶體裝置包含多個記憶體模組,且其中一個記憶體模組發生更新衝突時,電子裝置內的主控裝置仍可同步地自記憶體模組取得讀取資料。
根據本發明之第一方面,提出一種電連接於主控裝置的記憶體裝置。主控裝置係於讀取操作期間(Trd)對第一記憶體裝置執行讀取操作,且記憶體裝置包含:第一記憶體模組 (PSRAM1)與第二記憶體模組(PSRAM2)。第一記憶體模組(PSRAM1)於讀取操作期間產生更新衝突。第一記憶體模組(PSRAM1)與第二記憶體模組(PSRAM2)於讀取指令傳送期間(Tcmd)分別接收主控裝置所傳送的第一讀取指令(m1CMDrd)與第二讀取指令(m2CMDrd)。第一記憶體模組(PSRAM1)與第二記憶體模組(PSRAM2)於位址傳送期間(Tadr)分別接收第一記憶體位址(m1ADDr、m1ADDc)與第二記憶體位址(m2ADDr、m2ADDc)。其中,讀取指令傳送期間(Tcmd)早於位址傳送期間(Tadr)。經過同步資料準備期間(Tsdatpr)後,第一記憶體模組(PSRAM1)與第二記憶體模組(PSRAM2)係同時於同步資料讀取期間(Tdat_sync),分別傳送第一同步讀取資料(DATm1)與第二同步讀取資料(DATm2)至主控裝置,其中該同步資料準備期間(Tsdatpr)係大於一預設讀取延遲(dftLC=LC*1)。
根據本發明之第二方面,提出一種電子裝置。電子裝置包含:記憶體裝置以及一主控裝置。記憶體裝置包含:第一記憶體模組(PSRAM1)與第二記憶體模組(PSRAM2)。第一記憶體模組(PSRAM1)於讀取操作期間產生更新衝突。第一記憶體模組(PSRAM1)與第二記憶體模組(PSRAM2)於讀取指令傳送期間(Tcmd)分別接收主控裝置所傳送的第一讀取指令(m1CMDrd)與第二讀取指令(m2CMDrd)。第一記憶體模組(PSRAM1)與第二記憶體模組(PSRAM2)於位址傳送期間(Tadr)分別接收第一記憶體位址(m1ADDr、m1ADDc)與第二記憶體位址(m2ADDr、 m1ADDc)。其中,讀取指令傳送期間(Tcmd)早於位址傳送期間(Tadr)。經過同步資料準備期間(Tsdatpr)後,第一記憶體模組(PSRAM1)與第二記憶體模組(PSRAM2)係同時於同步資料讀取期間(Tdat_sync),分別傳送第一同步讀取資料(DATm1)與第二同步讀取資料(DATm2)至主控裝置,其中該同步資料準備期間(Tsdatpr)係大於一預設讀取延遲(dftLC=LC*1)。
根據本發明之第三方面,提出一種應用於電子裝置的讀取方法。電子裝置包含主控裝置、第一記憶體模組(PSRAM1)與第二記憶體模組(PSRAM2)。主控裝置於讀取操作期間(Trd)對第一記憶體模組(PSRAM1)與第二記憶體模組(PSRAM2)執行讀取操作。第一記憶體模組(PSRAM1)於讀取操作期間產生更新衝突,且讀取方法包含以下步驟。首先,第一記憶體模組(PSRAM1)與第二記憶體模組(PSRAM2)於讀取指令傳送期間分別接收主控裝置所傳送的第一讀取指令(m1CMDrd)與第二讀取指令(m2CMDrd)。其次,第一記憶體模組(PSRAM1)與第二記憶體模組(PSRAM2)於位址傳送期間(Tadr)分別接收第一記憶體位址(m1ADRr、ADRc)與第二記憶體位址(m2ADRr、m2ADRc)。其中,讀取指令傳送期間(Tcmd)早於位址傳送期間(Tadr)。經過同步資料準備期間(Tsdatpr)後,第一記憶體模組(PSRAM1)與第二記憶體模組(PSRAM2)係同時於同步資料讀取期間(Tdat_sync),分別傳送第一同步讀取資料(DATm1)與第二同步讀取資料(DATm2)至主控裝置,其中該同步資料準備期間(Tsdatpr)係大於一預設讀取延遲(dftLC=LC*1)。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式詳細說明如下:
11a,DRAM,11b,21,22,PSRAM1,PSRAM2,51,52,41,42:記憶體模組
13a,13b,23,53,43:主控裝置
CS#:晶片選取信號(線)
SCLK:系統時脈信號(線)
SIO[64:1]、SIO[8:1]、SIO[16:9]:系統輸入輸出信號線
DQSM,DQSM[2:1],DQSM[1],DQSM[2]:資料閃控遮罩信號(線)
CTL:控制信號(線)
10a,10b,20,50,40:電子裝置
t1~t21:時點
Trd:讀取操作期間
Tcs:晶片選取期間
Tset:設定期間
LC:讀取延遲計數
Tclk,Tclk1~Tclk10:系統時脈週期
Tend:結束期間
Tadr_r:列位址期間
Tadr_c:行位址期間
mstrb1,mstrb2,m1strb1、m1strb2、m2strb1、m2strb2,m2strb1’,m2strb2’:讀取閃控脈衝信號
mCMDrd:讀取指令
ADRr,m1ADRr,m2ADRr:列位址
ADRc,m1ADRc,m2ADRc:行位址
DATm:同步讀取資料
Tcmd:讀取指令傳送期間
Tadr:位址傳送期間
25:記憶體裝置
Tsdatpr:同步資料準備期間
Tdat_sync:同步資料讀取期間
DATm1,DATm2:同步讀取資料
m1CMDrd,m2CMDrd:讀取指令
Trdnm:一般讀取期間
S51,S53,S55,S57,S59,S301a,S302a,S303a,S305a,S307a,S101a,S103a,S105a,S107a,S201a,S203a,S301b,S303b,S305b,S307b,S309b,S101b,S103b,S105b,S107b,S201b,S203b:步驟
Trdrf:更新衝突讀取期間
Trfrp:更新衝突通知期間
Taddwt:額外等待期間
drpDATm2:捨棄資料
Tdrp2:資料捨棄期間
m1CMDrd_sp,m2CMDrd_sp:特殊讀取指令
m2CMDext:延長讀取指令
Tcmdext:延長讀取指令期間
501,511,521,401,421,411:雙向介面電路
501a,521a,511a,401a,421a,411a:輸出反向器
501b,521b,511b,401b,421b,411b:輸入反向器
BRBBh,BRBBm1,BRBBm2:記憶庫忙碌信號(線)
50a,40a:上拉電阻
Vcc:供應電壓
Tstp:暫停讀取通知期間
Tick:時脈忽略期間
ICK1,ICK2:時脈忽略信號
m1CMDrtry,m2CMDrtry:重複讀取指令
Tcmd_rtry:重複讀取指令期間
T2rd:重複讀取期間
Tint:晶片選取間距
m1pre,m2pre:導引脈衝信號
第1圖,其係電子裝置內的記憶體模組使用動態隨機存取記憶體DRAM之示意圖。
第2圖,其係電子裝置內的記憶體模組使用虛擬靜態隨機存取記憶體PSRAM之示意圖。
第3A圖,其係主控裝置使用PSRAM記憶體模組進行一般讀取操作的波形圖。
第3B圖,其係主控裝置使用PSRAM記憶體模組進行讀取操作時,記憶體模內部發生更新衝突的波形圖。
第4圖,其係電子裝置包含兩個使用虛擬靜態隨機存取記憶體PSRAM之記憶體模組的示意圖。
第5圖,其係主控裝置對記憶體模組PSRAM1、PSRAM2,以預設資料同步方式進行讀取操作之示意圖。
第6圖,其係根據本發明實施例之電子裝置中,主控裝置對記憶體模組PSRAM1、PSRAM2進行同步讀取操作的流程圖。
第7A圖,其係根據本揭露構想,記憶體模組PSRAM1在發生更新衝突時,以即刻回報模式(mode A)通知主控裝置後,記憶體模組PSRAM1、PSRAM2進行同步讀取操作的流程圖。
第7B圖,其係根據本揭露構想,記憶體模組PSRAM1在發生更新 衝突時,以延遲回報模式(mode B)通知主控裝置後,記憶體模組PSRAM1、PSRAM2進行同步讀取操作的流程圖。
第8A圖,其係根據本揭露構想,記憶體模組PSRAM1與主控裝置之間利用資料閃控遮罩信號DQSM搭配即刻回報模式(mode A),進行同步讀取操作的一種實施例的波形圖。
第8B圖,其係根據本揭露構想,記憶體模組PSRAM1與主控裝置之間利用資料閃控遮罩信號DQSM搭配延遲回報模式(mode B),進行同步讀取操作的一種實施例的波形圖。
第9A圖,其係於記憶體模組PSRAM1、PSRAM2與主控裝置之間設置記憶庫忙碌信號線BRBB,且由主控裝置驅動記憶庫忙碌信號BRBB之示意圖。
第9B圖,其係於記憶體模組PSRAM1、PSRAM2與主控裝置之間設置記憶庫忙碌信號線BRBB,且由記憶體模組PSRAM1驅動記憶庫忙碌信號BRBB之示意圖。
第10圖,其係根據本揭露構想,記憶體模組PSRAM1、PSRAM2與主控裝置之間利用記憶庫忙碌信號線BRBB搭配即刻回報模式(mode A),進行同步讀取操作的一種實施例的波形圖。
第11圖,其係根據本揭露構想,記憶體模組PSRAM1以即刻回報模式(mode A)通知主控裝置後,記憶體模組PSRAM1、PSRAM2進行同步讀取操作的另一種實施例的波形圖。
第12A圖,其係記憶體模組PSRAM1、PSRAM2與主控裝置之間利用晶片選取信號CS#作為更新衝突之溝通介面,且晶片選取信 號CS#由主控裝置驅動之示意圖。
第12B圖,其係記憶體模組PSRAM1、PSRAM2與主控裝置之間利用晶片選取信號CS#作為更新衝突之溝通介面,且晶片選取信號CS#由記憶體模組PSRAM1驅動之示意圖。
第13圖,其係記憶體模組PSRAM1、PSRAM2與主控裝置之間利用晶片選取信號CS#作為更新衝突之溝通介面,且記憶體模組PSRAM1依據即刻回報模式(mode A)通知主控裝置後,進行同步讀取操作的實施例之波形圖。
第14圖,其係記憶體模組PSRAM1、PSRAM2與主控裝置之間,利用晶片選取信號CS#搭配系統時脈信號SCLK搭配即刻回報模式(mode A)進行同步讀取操作的實施例之波形圖。
第15圖,其係於主控裝置和記憶體模組PSRAM1、PSRAM2間設置時脈忽略信號ICK1、ICK2信號,在記憶體模組PSRAM1發生更新衝突的情況下進行同步讀取操作的實施例之波形圖。
第16圖,其係主控裝置得知記憶體模組PSRAM1發生更新衝突後,透過暫停產生系統時脈信號SCLK而使記憶體模組PSRAM1、PSRAM2進行同步讀取操作之示意圖。
第17圖,其係主控裝置發出重複讀取指令,使記憶體模組PSRAM1、PSRAM2同步進行讀取操作之示意圖。
第18圖,其係記憶體模組PSRAM1、PSRAM2與主控裝置之間利用晶片選取信號CS#搭配系統時脈信號SCLK,依據產生導引脈衝信號m1pre、m2pre之間的時間差,判斷記憶體模組PSRAM1發生 更新衝突後,如何進行同步讀取操作的實施例之波形圖。
請參見第4圖,其係電子裝置包含兩個虛擬靜態隨機存取記憶體PSRAM記憶體模組的示意圖。電子裝置20包含主控裝置23與記憶體裝置25,且記憶體裝置25包含記憶體模組(PSRAM1)21、(PSRAM2)22。
主控裝置23的系統輸入輸出信號線SIO[16:1]包含16個位元,這16個位元中的8根系統輸入輸出信號線SIO[8:1]與記憶體模組(PSRAM1)21相連;另外的8根系統輸入輸出信號線SIO[16:9]則與記憶體模組(PSRAM2)22相連。主控裝置23具有兩根資料閃控遮罩信號線DQSM[2:1],其中資料閃控遮罩信號線DQSM[1]與記憶體模組(PSRAM1)21相連,資料閃控遮罩信號線DQSM[2]與記憶體模組(PSRAM2)22相連。
主控裝置23利用晶片選取信號CS#選取記憶體模組(PSRAM1)21、(PSRAM2)22。根據系統時脈信號SCLK,主控裝置23利用系統輸入輸出信號線SIO[8:1]、SIO[16:9]分別傳送與記憶體模組(PSRAM1)21、(PSRAM2)22對應的記憶體位址至記憶體模組(PSRAM1)21、(PSRAM2)22,且記憶體模組(PSRAM1)21、(PSRAM2)22分別利用系統輸入輸出信號線SIO[8:1]、SIO[16:9]將讀取資料DATm1、DATm2傳送至主控裝置23。其中,記憶體模組(PSRAM1)21的記憶體位址包含列位址m1ADRr與行位址m1ADRc,記 憶體模組(PSRAM2)22的記憶體位址包含列位址m2ADRr與行位址m2ADRc。
請參見第5圖,其係主控裝置對記憶體模組PSRAM1、PSRAM2,以預設資料同步方式進行讀取操作之示意圖。第5圖的波形由上而下分別為同時傳送至記憶體模組(PSRAM1)21、(PSRAM2)22的晶片選取信號CS#與系統時脈信號SCLK、傳送至記憶體模組(PSRAM1)21的資料閃控遮罩信號DQSM[1]與系統輸入輸出信號SIO[8:1],以及傳送至記憶體模組(PSRAM2)22的資料閃控遮罩信號DQSM[2]與系統輸入輸出信號SIO[16:9]。資料閃控遮罩信號DQSM[1]、DQSM[2]未被驅動時,可能處於浮接狀態。或者,可藉由上拉電阻將未被驅動的資料閃控遮罩信號DQSM[1]、DQSM[2]維持在高位準,或是藉由下拉電阻將未被驅動的資料閃控遮罩信號DQSM[1]、DQSM[2]維持在低位準。本文假設未被驅動的資料閃控遮罩信號DQSM[1]、DQSM[2]維持在低位準。
為簡化說明,在以下的波形圖中,定義數個時間參數。這些時間參數包含:讀取操作期間Trd、晶片選取期間Tcs、設定期間Tset、讀取指令傳送期間Tcmd、位址傳送期間Tadr、同步資料準備期間Tsdatpr、同步資料讀取期間Tdat_sync。接著,簡要介紹這些時間參數的定義。
讀取操作期間Trd為,主控裝置23對記憶體模組(PSRAM1)21、(PSRAM2)22執行讀取操作所需花費的時間。晶片選取期間Tcs為,主控裝置23針對記憶體模組(PSRAM1)21、(PSRAM2)22 執行讀取操作時,將晶片選取信號CS#拉低的期間。設定期間Tset為,主控裝置23將晶片選取信號CS#拉低後,至主控裝置23開始傳送讀取指令m1CMDrd、m2CMDre前的時間差。讀取指令傳送期間Tcmd為,主控裝置23傳送讀取指令m1CMDrd、m2CMDre至記憶體模組(PSRAM1)21、(PSRAM2)22所需的時間。
位址傳送期間Tadr為,主控裝置23同步將與記憶體模組(PSRAM1)21對應之記憶體位址(包含列位址m1ADRr、行位址m1ADRc)傳送至記憶體模組(PSRAM1)21,以及將與記憶體模組(PSRAM2)22對應之記憶體位址(包含列位址m2ADRr、行位址m2ADRc)傳送至記憶體模組(PSRAM2)22所需的時間。其中,位址傳送期間Tadr進一步包含列位址期間Tadr_r與行位址期間Tadr_c。在列位址期間Tadr_r,主控裝置23傳送與記憶體模組(PSRAM1)21對應的列位址m1ADRr至記憶體模組(PSRAM1)21,以及同步傳送與記憶體模組(PSRAM2)22對應的列位址m2ADRr至記憶體模組(PSRAM2)22。在行位址期間Tadr_c,主控裝置23傳送與記憶體模組(PSRAM1)21對應的行位址m1ADRc至記憶體模組(PSRAM1)21,以及同步傳送與記憶體模組(PSRAM2)22對應的行位址m2ADRc至記憶體模組(PSRAM2)22。
此外,同步資料準備期間Tsdatpr為,主控裝置23傳送記憶體位址至記憶體模組(PSRAM1)21、(PSRAM2)22後,至同步資料讀取期間Tdat_sync開始前的一段時間。其中,同步資料準備期間Tsdatpr的長度可能隨著實施例的不同,而有顯著的差異。同步資料讀取期間Tdat_sync為,記憶體模組(PSRAM1)21從內部緩衝器將同步讀取資料DATm1經系統輸入輸出信號線SIO[8:1]傳送至主控裝置23,以及記憶體模組(PSRAM2)22從內部緩衝器將同步讀取資料DATm2經系統輸入 輸出信號線SIO[16:9]傳送至主控裝置的期間。結束期間Tend為,晶片選取期間Tcs的結束時點,與讀取操作期間Trd的結束時點之間的時間差。
在第5圖中,時點t1至時點t11為讀取操作期間Trd;時點t1至時點t10為晶片選取期間Tcs;時點t1至時點t2為設定期間Tset;時點t2至時點t3為讀取指令傳送期間Tcmd;時點t4至時點t7為位址傳送期間Tadr;時點t7至時點t9為同步資料準備期間Tsdatpr;時點t9至時點t11為同步資料讀取期間Tdat_sync;時點t10至時點t11為結束期間Tend。其中,同步資料讀取期間Tdat_sync小於1個讀取延遲計數LC。在預設資料同步方式下,記憶體模組(PSRAM1)21、(PSRAM2)22僅需花費時點t5至時點t9的期間,即可開始將內部儲存器的資料傳出至系統輸入輸出信號線SIO[16:1]。因此,可將時點t5至時點t9的期間定義為一般讀取期間Trdnm。
由於記憶體模組(PSRAM1)21、(PSRAM2)22並不會頻繁的發生更新衝突,記憶體模組(PSRAM1)21、(PSRAM2)22通常均如第5圖般,進行正常的讀取操作。但是,在部分的情況下,記憶體模組(PSRAM1)21、(PSRAM2)22的其中一者可能出現更新衝突的情況,導致主控裝置23因為讀取速度不一致的緣故無法正確讀取儲存在記憶體模組(PSRAM1)21、(PSRAM2)22內的資料的情況發生。
為此,本揭露提出一種可使記憶體模組(PSRAM1)21、(PSRAM2)22彈性的因應更新衝突的發生與否,動態地調整以1個讀取延遲計數LC或2個讀取延遲計數LC的方式讀取記憶體模組 (PSRAM1)21、(PSRAM2)22內的資料。為便於說明,以下假設記憶體模組(PSRAM1)21內部發生更新衝突的情況,而記憶體模組(PSRAM2)22可進行正常的讀取操作的情況。
當所有記憶體模組(PSRAM1)21、(PSRAM2)22均未發生更新衝突時,主控裝置與記憶體模組(PSRAM1)21、(PSRAM2)22之間均以1個讀取延遲計數LC的方式讀取資料。反之,若有任何一個記憶體模組(例如,記憶體模組(PSRAM1)21)發生更新衝突時,則可透過回報與通知的機制,讓主控裝置23仍可同步地自記憶體模組(PSRAM1)21、(PSRAM2)22內讀取資料。本揭露提供多種實施例,該些實施例的基本流程如第6圖所示。
請參見第6圖,其係根據本發明實施例之電子裝置中,主控裝置對記憶體模組PSRAM1、PSRAM2進行同步讀取操作的流程圖。首先,主控裝置23拉低晶片選取信號CS#的位準並發出讀取指令m1CMDrd、m2CMDrd至記憶體模組(PSRAM1)21、(PSRAM2)22(步驟S51)。接著,判斷是否有任何一個記憶體模組(PSRAM1)21、(PSRAM2)22產生更新衝突(步驟S53)。步驟S53的方式可能是由主控裝置23偵測後判斷,或者由發生更新衝突的記憶體模組(PSRAM1)21回報。關於步驟S53的判斷方式,後續將有不同的實施例說明。
如果步驟S53的判斷結果為否定,代表所有的記憶體模組(PSRAM1)21、(PSRAM2)22都可如第5圖所示,以一般資料讀取的方式完成讀取操作。因此,記憶體模組(PSRAM1)21、(PSRAM2)22在同步資料準備期間Tsdatpr以預設資料同步方式(Tsdatpr<LC)準備讀取資料(步驟S55)後,再於同步資料讀取期間Tdat_sync將同步讀取資料DATm1、DATm2傳送至主控裝置23(步驟S59)。
另一方面,步驟S53的判斷結果為肯定,代表有一個或多個記憶體模組(PSRAM1)21產生更新衝突。此時,產生更新衝突的一個或多個記憶體模組(PSRAM1)21無法在預設讀取延遲(dftLC=LC*1)內完成資料擷取。由於產生更新衝突的記憶體模組(PSRAM1)21需費時較長的讀取期間,方能將讀取資料從記憶體陣列複製至內部緩衝器。因此,未發生更新衝突的記憶體模組(PSRAM2)22必須暫緩其進行讀取操作的速度,才能與記憶體模組(PSRAM1)21的讀取速度一致。因此,主控裝置23需通知未發生更新衝突的記憶體模組(PSRAM2)22將以特殊資料同步方式準備讀取資料。採用特殊資料同步方式讀取資料時,記憶體模組(PSRAM1)21、(PSRAM2)22均需等待較長的同步資料準備期間Tsdatpr(Tsdatpr>LC)(步驟S57)後,再於同步資料讀取期間Tdat_sync將同步讀取資料DATm1、DATm2傳送至主控裝置23。
根據本揭露的構想,主控裝置23可自動感測記憶體模組(PSRAM1)21發生更新衝突的現象。或者,記憶體模組(PSRAM1)21發生更新衝突時,可主動將此情況回報予主控裝置23。記憶體模組(PSRAM1)21可透過兩種回報模式將其內部發生之更新衝突的現象通知主控裝置23,即刻回報模式(mode A)與延遲回報模式(mode B)。即刻回報模式(mode A)指的是,若記憶體模組(PSRAM1)21發生內部更新衝突時,記憶體模組(PSRAM1)21在晶片選取信號CS#被拉低後,立即通知主控裝置23關於其內部發生更新衝突。延遲回報模式(mode B)指的是,若記憶體模組(PSRAM1)21發生內部更新衝突時,待記憶體模組(PSRAM1)21從主控裝置23接收列位址m1ADRr後,記憶體模組(PSRAM1)21才通知主控裝置23關於其內部發生更新衝突的情形。
接著,以第7A圖說明當記憶體模組(PSRAM1)21以即刻回報模式(mode A)通知主控裝置23關於其內部發生更新衝突情形時的讀取流程;以及,以第7B圖說明當記憶體模組(PSRAM1)21以延遲回報模式(mode B)通知主控裝置23關於其內部發生更新衝突情形時的讀取流程。在第7A、7B圖中,由上而下為流程的先後順序,由左而右分別為主控裝置23、記憶體模組(PSRAM1)21,以及記憶體模組(PSRAM2)22所進行的流程。在第7A、7B圖中,以箭頭方向代表信號的傳送方向,另,虛線箭頭方向代表可根據實施例不同而選擇性執行或不執行。
請參見第7A圖,其係根據本揭露構想,記憶體模組PSRAM1在發生更新衝突時,以即刻回報模式(mode A)通知主控裝置後,記憶體模組PSRAM1、PSRAM2進行同步讀取操作的流程圖。首先,主控裝置23將對應於記憶體模組(PSRAM1)21、(PSRAM2)22的晶片選取信號CS#拉低(S301a)。接著,記憶體模組(PSRAM1)21確認產生更新衝突(步驟S101a)。接著記憶體模組(PSRAM1)21通知主控裝置23關於內部產生更新衝突的情形(步驟S103a)。關於記憶體模組(PSRAM1)21透過何種方式通知主控裝置23其內部產生更新衝突的細節,可根據實施例的不同而異,後續將進一步說明。
之後,主控裝置23傳送讀取指令m1CMDrd、m2CMDrd至記憶體模組(PSRAM1)21、(PSRAM2)22(步驟S302a),以及通知記憶體模組(PSRAM1)21、(PSRAM2)22須以特殊資料同步方式進行讀取(步驟S303a)。隨著實施例的不同,步驟S302a與步驟S303a可結合在一起執行,或者,步驟S302a與步驟S303a可分別執行。
關於主控裝置23透過何種方式通知記憶體模組(PSRAM1)21、(PSRAM2)22須以特殊資料同步方式進行讀取,可根據實施例的不同而異,後續將進一步說明。另請留意,儘管步驟S303a須待步驟S103a完成後方能進行。但,步驟S303a並不限定需在步驟S103a完成後立刻執行。例如,步驟S303a亦可在步驟S307a結束後才執行。
接著,主控裝置23利用系統輸入輸出信號SIO[16:1]先後傳送記憶體模組(PSRAM1)21、(PSRAM2)22的列位址m1ADRr、m2ADRr與行位址m1ADRc、m2ADRc(步驟S305a、S307a)。其中,系統輸入輸出信號SIO[8:1]用於傳送與記憶體模組(PSRAM1)21對應的列位址m1ADRr與行位址m1ADRc;系統輸入輸出信號SIO[16:9]用於傳送與記憶體模組(PSRAM2)22對應的列位址m2ADRr與行位址m2ADRc。
記憶體模組(PSRAM1)21等待更新衝突結束(步驟S105a)後,利用系統輸入輸出信號SIO[8:1]傳送同步讀取資料DATm1至主控裝置21(步驟S107a)。在記憶體模組(PSRAM1)21傳送讀取資料DATm1的同時,記憶體模組(PSRAM2)22亦須等待同步資料準備期間Tsdatpr結束(步驟S201a)。其後,記憶體模組(PSRAM2)22再利用系統輸入輸出信號SIO[16:9]傳送同步讀取資料DATm2至主控裝置23(步驟S203a)。
請參見第7B圖,其係根據本揭露構想,記憶體模組PSRAM1在發生更新衝突時,以延遲回報模式(mode B)通知主控裝置後,記憶體模組PSRAM1、PSRAM2進行同步讀取操作的流程圖。首先,主控裝置23將記憶體模組(PSRAM1)21、(PSRAM2)22的晶片選取 信號CS#拉低(S301b)。接著,主控裝置23發出讀取指令m1CMDrd、m2CMDrd與列位址m1ADRr、m2ADRr至記憶體模組(PSRAM1)21、(PSRAM2)22(步驟S303b、S305b)。
記憶體模組(PSRAM1)21確認產生更新衝突(步驟S101b)後,記憶體模組(PSRAM1)21將通知主控裝置23關於內部產生更新衝突的情形(步驟S103b)。在此同時,主控裝置23利用系統輸入輸出信號線SIO[16:1]傳送行位址m1ADRc、m2ADRc至記憶體模組(PSRAM1)21、(PSRAM2)22(步驟S307b)。之後,主控裝置23通知記憶體模組(PSRAM1)21、(PSRAM2)22須以特殊資料同步方式進行讀取(步驟S309a)。
記憶體模組(PSRAM1)21等待更新衝突結束(步驟S105b)後,利用系統輸入輸出信號SIO[8:1]將內部緩衝器的同步讀取資料DATm1傳送至主控裝置21(步驟S107b)。另一方面,記憶體模組(PSRAM2)22等待同步資料準備期間Tsdatpr結束(步驟S201b)後,利用系統輸入輸出信號SIO[16:9]將內部緩衝器的同步讀取資料DATm2傳送至主控裝置21(步驟S203b)。
請同時參見第7A、7B圖。其中可以看出,這兩個流程圖所需進行的步驟大致相似,兩者的主要差別為,記憶體模組(PSRAM1)21通知主控裝置23產生更新衝突(第7A圖的步驟S103a、第7B圖的步驟S103b),以及主控裝置23通知記憶體模組(PSRAM1)21、(PSRAM2)22須以特殊資料同步方式進行讀取(第7A圖的步驟S303a、第7B圖的步驟S309b)的時點不同。在即刻回報模式(mode A)(第7A圖)中,記憶體模組(PSRAM1)21在主控裝置23傳送讀取指令m1CMDrd、m2CMDrd與列位址m1ADRr、m2ADRr前,即已將更新衝突的情況通 知主控裝置23。在與延遲回報模式(mode B)(第7B圖)中,記憶體模組(PSRAM1)21在主控裝置23傳送讀取指令m1CMDrd、m2CMDrd與列位址m1ADRr、m2ADRr後,才將更新衝突的情況通知主控裝置23。
記憶體模組可區分為單記憶體庫(single bank)與多記憶體庫(multibank)。其中,單記憶體庫的記憶體模組可在晶片選取信號CS#被拉低的瞬間得知其內部是否產生更新衝突。另一方面,多記憶體庫的記憶體模組必須等待列位址m1ADRr、m2ADRr接收後,才能判斷是否發生更新衝突。因此,即刻回報模式(Mode A)可適用於單記憶體庫的記憶體模組,延遲回報模式(Mode B)則可適用於單記憶體庫與多記憶體庫的記憶體模組。以下提供的實施例,將分別說明記憶體模組(PSRAM1)21利用即刻回報模式(Mode A)與延遲回報模式(Mode B)回報更新衝突的做法。
根據本揭露的實施例,記憶體模組(PSRAM1)21回報更新衝突情況至主控裝置23時,除回報時點可根據實施例的不同而變化外,記憶體模組(PSRAM1)21通知主控裝置23的媒介與手段亦可不同。例如,記憶體模組(PSRAM1)21可利用不同的信號線,以及各種對信號的控制波形的組合通知主控裝置23。
接著,本文將說明基於本揭露構想的讀取方法可採用之實施例之所對應的波形圖。首先,第8A、8B圖以既有的資料閃控遮罩信號DQSM作為傳輸媒介,分別說明採用即刻回報模式(mode A)與延遲回報模式(mode B)的做法。後續另將提供使用不同的信號線作為傳輸媒介的相關實施例。
請參見第8A圖,其係根據本揭露構想,記憶體模組與主控裝置之間利用資料閃控遮罩信號DQSM搭配即刻回報模式(mode A),進行同步讀取操作的一種實施例的波形圖。在此圖式中,時點t1至時點t15為讀取操作期間Trd;時點t1至時點t14為晶片選取期間Tcs;時點t1至時點t3為設定期間Tset;時點t3至時點t4為讀取指令傳送期間Tcmd;時點t4至時點t8為位址傳送期間Tadr;時點t8至時點t13為同步資料準備期間Tsdatpr;時點t13至時點t15為同步資料讀取期間Tdat_sync;時點t14至時點t15為結束期間Tend。
主控裝置23在時點t1將晶片選取信號CS#拉低至低位準後,記憶體模組(PSRAM1)21於時點t2開始,藉由將資料閃控遮罩信號DQSM[1]的位準拉高的方式,通知主控裝置23其內部產生更新衝突。記憶體模組(PSRAM1)21在時點t2至時點t7期間將資料閃控遮罩信號DQSM[1]維持在高位準,並於時點t7開始將資料閃控遮罩信號DQSM[1]拉低至低位準。其中,時點t2至時點t7期間可定義為,發生更新衝突之記憶體模組(PSRAM1)21將本身發生更新衝突的情形,通知主控裝置23的更新衝突通知期間Trfrp。
另一方面,記憶體模組(PSRAM2)22在時點t10前,一直將資料閃控遮罩信號DQSM[2]維持在低位準。在時點t2時,主控裝置23已經分別藉由高位準的資料閃控遮罩信號DQSM[1]與低位準的資料閃控遮罩信號DQSM[2],掌握記憶體模組(PSRAM1)21、(PSRAM2)22的狀態。其中,高位準的資料閃控遮罩信號DQSM[1]代表記憶體模組PSRAM1發生更新衝突,而低位準的資料閃控遮罩信號DQSM[2]代表記憶體模組(PSRAM2)22並未發生更新衝突。
接著,在時點t3至時點t4期間(讀取指令傳送期間Tcmd),主控裝置23利用系統輸入輸出信號SIO[8:1]發出特殊讀取指令m1CMDrd_sp至記憶體模組(PSRAM1)21,以及利用系統輸入輸出信 號SIO[16:9]發出特殊讀取指令m2CMDrd_sp至記憶體模組(PSRAM2)22。一旦記憶體模組(PSRAM2)22收到特殊讀取指令m2CMDrd_sp後,即可知道此次的讀取操作應放緩。此處以點狀網底搭配粗外框代表特殊讀取指令m1CMDrd_sp、m2CMDrd_sp。據此,在時點t4時,記憶體模組(PSRAM2)22已經透過主控裝置23所發出的特殊讀取指令m2CMDrd_sp,獲知目前不應按照一般讀取操作的速度進行,需額外等候記憶體模組(PSRAM1)21完成其更新衝突。
如前所述,記憶體模組(PSRAM1)21、(PSRAM2)22在接收列位址m1ADRr、m2ADRr後起算讀取延遲計數。因此,由第8A圖可以看出,記憶體模組(PSRAM1)21、(PSRAM2)22均自時點t5開始起算讀取延遲計數。其中,記憶體模組(PSRAM1)21需費時兩個讀取延遲計數(LC*2),直到時點t12方能自內部的記憶體陣列取得讀取資料至內部緩衝器,而記憶體模組(PSRAM2)22僅需一個讀取延遲計數(LC*1),自時點t9開始,即可自內部的記憶體陣列取得讀取資料至內部緩衝器。接著分別說明記憶體模組(PSRAM1)21、(PSRAM2)22如何與何時從內部緩衝器傳送同步讀取資料DATm1、DATm2。
記憶體模組(PSRAM1)21的更新衝突在時點t12結束,並在下一個系統時脈信號SCLK的上升緣(即,時點t13)時,陸續以資料閃控遮罩信號DQSM[1]產生讀取閃控脈衝信號m1strb1、m1strb2。此處將時點t5至時點t13定義為更新衝突讀取期間Trdrf。更新衝突讀取期間Trdrf代表記憶體模組等待更新完成所需之讀取延遲計數(LC*2),加上等待下一個系統時脈信號SCLK的上升緣所需之期間(時點t12至時點t13)。即,Trdrf=LC*2+(t13-t12)。在第8A圖中,記憶體模組(PSRAM1)21自時點t13開始傳送同步讀取資料DATm1。
由於記憶體模組(PSRAM2)22可在一個讀取延遲計數結束(即,時點t9)時,在內部緩衝器準備好讀取資料,並在下一個系統時脈信號SCLK的上升緣(即,時點t10)時,利用資料閃控遮罩信號DQSM[2]陸續傳送讀取閃控脈衝信號m2strb1’、m2strb2’至主控裝置23。因此,記憶體模組(PSRAM2)22自時點t10,開始從內部緩衝器傳送讀取資料至系統輸入輸出信號SIO[16:9]。由於記憶體模組(PSRAM2)22在時點t10至時點t11所傳送的讀取資料並不會被主控裝置23採用,因此,記憶體模組(PSRAM2)22在時點t10至時點t11所傳送的讀取資料可被稱為捨棄資料drpDATm2,且記憶體模組(PSRAM2)22傳送捨棄資料drpDATm2的期間可被定義為資料捨棄期間Tdrp2。
之後,記憶體模組(PSRAM2)22在維持閒置一段期間(時點t11至時點t13)後,將再次自時點t13開始產生並以資料閃控遮罩信號DQSM[2]傳送讀取閃控脈衝信號m2strb1、m2strb2。此外,記憶體模組(PSRAM2)22亦將自時點t13開始,再次從內部緩衝器傳出讀取資料至系統輸入輸出信號SIO[16:9]。根據本揭露的構想,記憶體模組(PSRAM2)22從時點t13開始傳送的讀取資料與記憶體模組(PSRAM1)21從時點t13開始傳送的讀取資料的時點同步,因此,將記憶體模組(PSRAM1)21、(PSRAM2)22從時點t13開始傳送的讀取資料稱為同步讀取資料DATm1、DATm2。
根據本揭露的構想,主控裝置23並不使用記憶體模組(PSRAM2)22在時點t10至時點t11期間所傳送的捨棄資料drpDATm2,而是使用記憶體模組(PSRAM2)22在時點t13至時點t15的期間所傳送的同步讀取資料DATm2。因此,將時點t10至t11的期間定義為資料捨棄期間Tdrp2。記憶體模組(PSRAM2)22的內部緩衝器利用 系統輸入輸出信號SIO[16:9]在讀取閃控脈衝信號m2strb1’、m2strb2’後傳送的捨棄資料drpDATm2的內容,以及在讀取閃控脈衝信號m2strb1、m2strb2後所傳送的同步讀取資料DATm2的內容完全相同。
即便記憶體模組(PSRAM2)22在時點t10至時點t11期間傳出讀取資料,之後從時點t13開始還是需要重新傳送讀取資料。因此,時點t9至時點t13相當於,記憶體模組(PSRAM2)22為等待記憶體模組(PSRAM1)21的更新衝突結束所需花費的期間。由於時點t9至時點t13這段期間,並非(未發生更新衝突之)記憶體模組(PSRAM2)22為執行本身之讀取操作所需的期間,而是因應(實際發生更新衝突之)記憶體模組(PSRAM1)21的更新衝突結束而暫緩讀取操作所等待的期間。因此,此處將時點t9至時點t13定義為(未發生更新衝突之)記憶體模組(PSRAM2)22為等待(發生更新衝突之)記憶體模組(PSRAM1)21的更新衝突結束後,方得同時進行同步資料讀取的額外等待期間Taddwt(additional waiting duration)。
由第8A圖可以看出,記憶體模組(PSRAM1)21於時點t13至時點t15的期間傳送讀取資料,且記憶體模組(PSRAM2)22於時點t13至時點t15的期間傳送讀取資料。因此,時點t13至時點t15的期間可稱為同步資料讀取期間Tdat_sync,且記憶體模組(PSRAM1)21、(PSRAM2)22所傳送的讀取資料稱為同步讀取資料DATm1、DATm2。
在部分應用中,可將記憶體模組(PSRAM2)22設計為,一旦獲知記憶體模組(PSRAM1)21發生更新衝突時,就暫停從內部緩衝器將讀取資料傳出至系統輸入輸出信號SIO[16:9],一直等到時點t13後,記憶體模組(PSRAM2)22才開始傳送讀取閃控脈衝信號m2strb1、m2strb2與同步讀取資料DATm2。亦即,與記憶體模組(PSRAM2)22 對應的資料閃控遮罩信號DQSM[2]在時點t2至時點t13的期間維持低位準,且與記憶體模組(PSRAM2)22對應的系統輸入輸出信號SIO[16:9]在時點t8至時點t13期間,並不會從記憶體模組(PSRAM2)22輸出資料。
請參見第8B圖,其係根據本揭露構想,記憶體模組PSRAM1、PSRAM2與主控裝置之間,利用資料閃控遮罩信號DQSM搭配延遲回報模式(mode B)進行同步讀取操作的一種實施例的波形圖。在此圖式中,時點t1至時點t17為讀取操作期間Trd;時點t1至時點t16為晶片選取期間Tcs;時點t1至時點t3為設定期間Tset;時點t3至時點t4為讀取指令傳送期間Tcmd;時點t4至時點t9為位址傳送期間Tadr;時點t9至時點t15為同步資料準備期間Tsdatpr;時點t15至時點t17為同步資料讀取期間Tdat_sync;時點t16至時點t17為結束期間Tend。
主控裝置23在時點t1將晶片選取信號CS#拉低至低位準後,記憶體模組(PSRAM1)21、(PSRAM2)22於時點t2將資料閃控遮罩信號DQSM[1]、DQSM[2]維持在低位準。接著,在時點t3至時點t4期間,主控裝置23藉由系統輸入輸出信號線SIO[16:1]發出讀取指令m1CMDrd、m2CMDrd至記憶體模組(PSRAM1)21、(PSRAM2)22。接著,在時點t4至時點t6期間,主控裝置23利用系統輸入輸出信號SIO[8:1]傳送與記憶體模組(PSRAM1)21對應的列位址m1ADRr,以及利用系統輸入輸出信號SIO[16:9]傳送與記憶體模組(PSRAM2)22對應的列位址m2ADRr。在時點t6至時點t9期間,主控裝置23利用系統輸入輸出信號SIO[8:1]傳送與記憶體模組(PSRAM1)21對應的行位址 m1ADRc,以及利用系統輸入輸出信號SIO[16:9]傳送與記憶體模組(PSRAM2)22對應的行位址m2ADRc。
如前所述,記憶體模組(PSRAM1)21採用延遲回報模式(mode B)時,須先等待記憶體模組(PSRAM1)21接收列位址m1ADRr後,才通知主控裝置23。因此,記憶體模組(PSRAM1)21在時點t7與時點t8的期間,藉由將資料閃控遮罩信號DQSM[1]的位準拉高的方式,通知主控裝置23其內部產生更新衝突的情形。其中,時點t7至時點t8期間可定義為,發生更新衝突之記憶體模組(PSRAM1)21將其發生更新衝突的情形,通知主控裝置23所需的更新衝突通知期間Trfrp。
接著,在時點t9至時點t10期間(延長讀取指令期間Tcmdext),主控裝置23分別利用資料閃控遮罩信號DQSM[1]傳送延長讀取指令m1CMDext至記憶體模組(PSRAM1)21,以及利用資料閃控遮罩信號DQSM[2]傳送延長讀取指令m2CMDext至記憶體模組(PSRAM2)22。據此,在時點t10時,記憶體模組(PSRAM2)22已經透過主控裝置23獲知,目前進行的讀取操作不應按照一般讀取操作的速度進行,需額外等候記憶體模組(PSRAM1)21內部完成更新衝突。
如前所述,記憶體模組(PSRAM1)21、(PSRAM2)22在接收列位址m1ADRr、m2ADRr後,起算讀取延遲計數LC。因此,由第8B圖可以看出,記憶體模組(PSRAM1)21、(PSRAM2)22均自時點t5開始起算讀取延遲計數。其中,記憶體模組(PSRAM1)21需費時兩個讀取延遲計數(LC*2)可自內部的記憶體陣列取得讀取資料至內部緩衝器,而記憶體模組(PSRAM2)22僅需經過一個讀取延遲計數(LC),即可自內部的記憶體陣列取得讀取資料至內部緩衝器。接著分別說明記 憶體模組(PSRAM1)21、(PSRAM2)22如何與何時傳送同步讀取資料DATm1、DATm2。
記憶體模組(PSRAM1)21在時點t14結束其更新衝突,並在下一個系統時脈信號SCLK的上升緣(即,時點t15)時,陸續以資料閃控遮罩信號DQSM[1]產生讀取閃控脈衝信號m1strb1、m1strb2。因此,記憶體模組(PSRAM1)21的內部緩衝器自時點t15開始利用系統輸入輸出信號SIO[16:9]傳送同步讀取資料DATm1。此處將時點t5至時點t15定義為更新衝突讀取期間Trdrf。
由於記憶體模組(PSRAM2)22可在一個讀取延遲計數結束(即,時點t11)完成讀取,並在下一個系統時脈信號SCLK的上升緣(即,時點t12)時,陸續以資料閃控遮罩信號DQSM[2]產生讀取閃控脈衝信號m2strb1’、m2strb2’。因此,記憶體模組(PSRAM2)22自時點t12至時點t13將從內部緩衝器傳出讀取資料。
之後,記憶體模組(PSRAM2)22將維持閒置一段期間(時點t13至時點t15)後,再次自時點t15開始以資料閃控遮罩信號DQSM[2]產生讀取閃控脈衝信號m2strb1、m2strb2。此外,記憶體模組(PSRAM2)22亦將自時點t15開始,再次以系統輸入輸出信號SIO[16:9]傳送同步讀取資料DATm2。
與第8A相似,主控裝置23並不使用記憶體模組(PSRAM2)22在時點t12至時點t13期間所傳送的讀取資料,而是使用記憶體模組(PSRAM2)22在時點t15至時點t17期間所傳送的同步讀取資料DATm2。也因此,記憶體模組(PSRAM2)22在時點t12至時點t13期間所傳送的讀取資料可稱為捨棄資料drpDATm2,且記憶體模組(PSRAM2)22傳送捨棄資料drpDATm2的期間可被定義為資料捨棄期 間Tdrp2。系統輸入輸出信號SIO[16:9]在時點t12至時點t13傳送的捨棄資料drpDATm2,以及在時點t15至時點t17傳送的同步讀取資料DATm2,均由記憶體模組(PSRAM2)22的內部緩衝器提供,兩者的內容完全相同。
時點t11至時點t15相當於,記憶體模組(PSRAM2)22為等待記憶體模組(PSRAM1)21的更新衝突結束,所需額外花費的等待期間。由於時點t11至時點t15這段期間,並非(未發生更新衝突之)記憶體模組(PSRAM2)22為執行本身之讀取操作所需的期間,而是因應(實際發生更新衝突之)記憶體模組(PSRAM1)21的更新衝突結束而暫緩讀取操作所等待的期間。因此,此處將時點t11至時點t15定義為(未發生更新衝突之)記憶體模組(PSRAM2)22的額外等待期間Taddwt。
由第8B圖可以看出,記憶體模組(PSRAM1)21於時點t15至時點t17的期間傳送同步讀取資料DATm1,且記憶體模組(PSRAM2)22於時點t15至時點t17的期間傳送同步讀取資料DATm2。因此,時點t15至時點t17的期間為同步資料讀取期間Tdat_sync。在同步資料讀取期間Tdat_sync,記憶體模組(PSRAM1)21、(PSRAM2)22的內部緩衝器可以同步地將讀取資料透過系統輸入輸出信號SIO[8:1]、SIO[16:9]傳送至主控裝置23。
另請留意,實際應用時,第8B圖作法亦可搭配其他變化。例如,由於記憶體模組(PSRAM1)21本身發生更新衝突的緣故,主控裝置23僅需通知未發生更新衝突的記憶體模組(PSRAM2)22。因此,在某些應用中,主控裝置23可能僅發出延長讀取指令m2CMDext至記憶體模組(PSRAM2)22,但不發出延長讀取指令m1CMDext至記憶體模組(PSRAM1)21。
此外,在某些應用中,記憶體模組(PSRAM2)22可能僅利用系統輸入輸出信號SIO[16:9]傳送同步讀取資料DATm2而不傳送捨棄資料drpDATm2。因此,記憶體模組PSRAM2在時點t10至時點t15期間停止傳送任何資料,且資料閃控遮罩信號DQSM[2]在時點t2至時點t15期間維持在低位準。關於這些應用上的變化,此處不予詳述。
請同時參見第8A、8B圖。由於第8A圖所描述之即刻回報模式(mode A)較第8B圖所描述之延遲回報模式(mode B)早將發生更新衝突的情形回報至主控裝置23,第8A圖的更新衝突通知期間Trfrp較第8B圖的更新衝突通知期間Trfrp長。另,額外等待期間Taddwt與更新衝突讀取期間Trdrf的長度,則不因所採用之回報模式的不同而有所差異。再者,實際應用時,不同的記憶體模組也可能搭配不同的回報模式。
在第8A、8B圖所示的實施例中,係以既有的資料閃控遮罩信號線DQSM[1]、DQSM[2]作為記憶體模組PSRAM1、PSRAM2回報更新衝突之發生與否的媒介。在部分的應用時,則可透過額外設置的信號線,作為記憶體模組PSRAM1、PSRAM2回報更新衝突之發生與否的媒介。第9A、9B、10圖為,在記憶體模組(PSRAM1)51、(PSRAM2)52與主控裝置53設置記憶庫忙碌信號(bank read busy,簡稱為BRBB),並以記憶庫忙碌信號線BRBB作為記憶體模組(PSRAM1)51、(PSRAM2)52回報更新衝突至主控裝置53的舉例。其中,第9A、9B圖為,在主控裝置53與記憶體模組(PSRAM1)51、(PSRAM2)52間設置記憶庫忙碌信號線BRBB的接線,將因應讀取操作的狀態不同而改變驅動端的情形。
在第9A、9B圖中,電子裝置50包含主控裝置53與記憶體模組51、52。其中,主控裝置53透過CS#與系統時脈信號SCLK同時電連接於記憶體模組(PSRAM1)51、(PSRAM2)52。此外,主控裝置53透過系統輸入輸出信號SIO[8:1]、資料閃控遮罩信號DQSM[1]而電連接於記憶體模組51,以及透過系統輸入輸出信號SIO[16:9]、資料閃控遮罩信號DQSM[2]而電連接於記憶體模組(PSRAM2)52。再者,主控裝置53的記憶庫忙碌信號線BRBBh,記憶體模組(PSRAM1)51的記憶庫忙碌信號線BRBBm1,以及記憶體模組(PSRAM2)52的記憶庫忙碌信號線BRBBm2共同電連接在一起。根據本發明的實施例,記憶庫忙碌信號線BRBBh、BRBBm1、BRBBm2可採用一般的接線而彼此相連。或者,記憶庫忙碌信號線BRBBh、BRBBm1、BRBBm2可採用如第9A、9B圖所示,搭配雙向介面電路501、511、521與上拉電阻50a使用。其中,上拉電阻50a電連接在供應電壓Vcc與記憶庫忙碌信號線BRBBh間。在第9A、9B圖中,以虛線標示在記憶庫忙碌信號線BRBBh、BRBBm1、BRBBm2上的信號驅動方向。
當記憶庫忙碌信號線BRBBh、BRBBm1、BRBBm2搭配雙向介面電路501、511、521與上拉電阻50a使用時,發生更新衝突的記憶體模組(例如,記憶體模組(PSRAM1)51),可基於線或(wired OR)的接線方式而達到同時通知主控裝置53與其他未發生更新衝突的記憶體模組(例如,記憶體模組(PSRAM2)52)的效果。在第9A、9B圖中,主控裝置53的雙向介面電路501包含連接方式相反的輸出反向器501a、輸入反向器501b;記憶體模組(PSRAM1)51的雙向介面電路511包含連接方式相反的輸出反向器511a、輸入反向器511b;記憶體模組 (PSRAM2)52的雙向介面電路521包含連接方式相反的輸出反向器521a、輸入反向器521b。
請參見第9A圖,其係於記憶體模組與主控裝置之間設置記憶庫忙碌信號線BRBB,且由主控裝置驅動記憶庫忙碌信號BRBB之示意圖。記憶庫忙碌信號線以主控裝置53作為驅動端時,主控裝置53發出的驅動信號,先由雙向介面電路501中的輸出反向器501a傳送至記憶庫忙碌信號線BRBBh,再分別經由記憶庫忙碌信號線BRBBm1與雙向介面電路511的輸入反向器511b傳送至記憶體模組(PSRAM1)51,以及經由記憶庫忙碌信號線BRBBm2與雙向介面電路521的輸入反向器521b傳送至記憶體模組(PSRAM2)52。
請參見第9B圖,其係於記憶體模組與主控裝置之間設置記憶庫忙碌信號線BRBB,且由記憶體模組驅動記憶庫忙碌信號BRBB之示意圖。記憶庫忙碌信號線以記憶體模組(PSRAM1)51作為驅動端時,記憶體模組(PSRAM1)51先由雙向介面電路511中的輸出反向器511a將驅動信號傳送至記憶庫忙碌信號線BRBBm1,再分別經由記憶庫忙碌信號線BRBBh與雙向介面電路501的輸入反向器501b傳送至主控裝置53,以及經由記憶庫忙碌信號線BRBBm2與雙向介面電路521的輸入反向器521b傳送至記憶體模組(PSRAM2)52。
在預設狀況下,若主控裝置53與記憶體模組(PSRAM1)51、(PSRAM2)52均未產生驅動信號時,上拉電阻50a用於將記憶庫忙碌信號BRBBh、BRBBm1、BRBBm2維持在高位準。在本文中,假設記憶體模組(PSRAM1)51、(PSRAM2)52對記憶庫忙碌信號BRBBm1、BRBBm2的驅動能力,大於主控裝置53對記憶庫忙碌信號 BRBBh的驅動能力。且,由主控裝置53所發出之記憶庫忙碌信號BRBBh的驅動能力,大於上拉電阻50a的驅動能力。
接著,以第9A、9B圖所示的接線圖,搭配第10圖,說明記憶體模組利用記憶庫忙碌信號BRBB(PSRAM1)51、(PSRAM2)52,向主控裝置53回報更新衝突發生與否的舉例。
請參見第10圖,其係根據本揭露構想,記憶體模組與主控裝置之間利用記憶庫忙碌信號線BRBB搭配即刻回報模式(mode A),進行同步讀取操作的一種實施例的波形圖。在此圖式中,時點t1至時點t15為讀取操作期間Trd;時點t1至時點t14為晶片選取期間Tcs;時點t1至時點t3為設定期間Tset;時點t3至時點t4為讀取指令傳送期間Tcmd;時點t4至時點t8為位址傳送期間Tadr;時點t8至時點t13為同步資料準備期間Tsdatpr;時點t13至時點t15為同步資料讀取期間Tdat_sync;時點t14至時點t15為結束期間Tend。
主控裝置53在時點t1將晶片選取信號CS#拉低至低位準後,記憶體模組(PSRAM1)51於時點t2,藉由將記憶庫忙碌信號BRBBm1的位準拉低的方式,通知主控裝置53其內部產生更新衝突。記憶體模組(PSRAM1)51在時點t2至時點t7期間將記憶庫忙碌信號BRBBm1維持在低位準,並於時點t7開始將記憶庫忙碌信號BRBBm1拉高至高位準。其中,時點t2至時點t7期間可定義為更新衝突通知期間Trfrp。
另一方面,在時點t1至時點t7期間,記憶體模組PSRAM2將記憶庫忙碌信號BRBBm2維持在高位準。此時,記憶庫忙碌信號線BRBBh、BRBBm1、BRBBm2之間的信號驅動情形,將如第9B所示。即,記憶體模組(PSRAM1)51所發出的記憶庫忙碌信號BRBBm1,將 驅動主控裝置的記憶庫忙碌信號BRBBh,以及與記憶體模組(PSRAM2)22對應的記憶庫忙碌信號BRBBm2。
儘管在第10圖中,由記憶體模組(PSRAM2)52所發出之記憶庫忙碌信號BRBBm2為高位準,但因為從時點t2開始,記憶體模組(PSSRAM1)51進行主動驅動的緣故,記憶體模組PSRAM2的記憶庫忙碌信號線BRBBm2亦在時點t2開始,發生位準降低的情形。連帶的,記憶體模組(PSRAM2)52可藉由記憶庫忙碌信號BRBBm2的位準降低現象,立刻得知其他的記憶體模組(即,記憶體模組(PSRAM1)51)發生更新衝突的情況。
在第10圖中,係透過第9A、9B圖所示的硬體接線的方式達到通知記憶體模組PSRAM2的效果。因此,在第10圖中,主控裝置53無須再採用如第8A、8B圖的方式,以特殊讀取指令m2CMDrd_sp、延長讀取指令m2CMDext等方式通知記憶體模組PSRAM2。
在某些應用時,亦可不搭配雙向介面電路與上拉電路使用記憶庫忙碌信號線BRBBh、BRBBm1、BRBBm2。針對該些應用,則可搭配如第8A、8B圖所示的作法,由主控裝置53通知記憶體模組(PSRAM2)52。
如前所述,記憶體模組(PSRAM1)51、(PSRAM2)52在接收列位址m1ADRr、m2ADRr後起算讀取延遲計數。因此,由第10圖可以看出,記憶體模組(PSRAM1)51、(PSRAM2)52均自時點t5開始起算讀取延遲計數。其中,記憶體模組(PSRAM1)51需費時兩個讀取延遲計數(LC*2),方可將讀取資料備妥於內部緩衝器,而記憶體模組PSRAM2僅需一個讀取延遲計數(LC)即可在內部緩衝器備妥讀取資 料。接著分別說明記憶體模組PSRAM1、PSRAM2如何與何時傳送同步讀取資料DATm1、DATm2。
記憶體模組(PSRAM1)51的更新衝突在時點t12結束,並在下一個系統時脈信號SCLK的上升緣(即,時點t13)時,陸續以資料閃控遮罩信號DQSM[1]產生讀取閃控脈衝信號m1strb1、m1strb2。因此,記憶體模組(PSRAM1)51自時點t13開始利用系統輸入輸出信號SIO[8:1]傳送同步讀取資料DATm1。
由於記憶體模組(PSRAM2)52可在一個讀取延遲計數結束(即,時點t9)完成讀取,並在下一個系統時脈信號SCLK的上升緣(即,時點t10)時,以資料閃控遮罩信號DQSM[2]陸續產生讀取閃控脈衝信號m2strb1’、m2strb2’。因此,記憶體模組(PSRAM2)52自時點t10開始傳送利用系統輸入輸出信號SIO[16:9]傳送捨棄資料drpDATm2。記憶體模組(PSRAM2)52傳送捨棄資料drpDATm2的期間定義為資料捨棄期間Tdrp2。
之後,記憶體模組(PSRAM2)52將維持閒置一段期間(時點t11至時點t13)後,再次自時點t13開始以資料閃控遮罩信號DQSM[2]產生讀取閃控脈衝信號m2strb1、m2strb2。時點t9至時點t13可定義為,記憶體模組(PSRAM2)22為等待記憶體模組(PSRAM1)51的更新衝突結束所需花費的額外等待期間Taddwt。記憶體模組(PSRAM2)52亦將自時點t13開始,再次傳送同步讀取資料DATm2。
根據本揭露的構想,主控裝置53並不使用記憶體模組(PSRAM2)52在時點t9至時點t10期間所傳送的捨棄資料drpDATm2,而是使用記憶體模組(PSRAM2)52在時點t13至時點t15期間傳送的同步讀取資料DATm2。經由系統輸入輸出信號SIO[16:9]所傳送的捨棄資 料drpDATm2與同步讀取資料DATm2均由記憶體模組(PSRAM2)22所提供,兩者的內容完全相同。
此處將時點t5至時點t13定義為,因應記憶體模組(PSRAM1)51發生之更新衝突,等待記憶體模組(PSRAM1)51將讀取資料複製至內部緩衝器所需之更新衝突讀取期間Trdrf。由第10圖可以看出,記憶體模組(PSRAM1)51在時點t13至時點t15的期間傳送同步讀取資料DATm1,且記憶體模組(PSRAM2)52於時點t13至時點t15的期間(同步資料讀取期間Tdat_sync)傳送同步讀取資料DATm2。因此,記憶體模組(PSRAM1)51、(PSRAM2)52可以同步地將讀取資料傳送至主控裝置53。
第10圖所示為記憶體模組(PSRAM1)51、(PSRAM2)52與主控裝置53間,利用記憶庫忙碌信號線BRBBh、BRBBm1、BRBBm2搭配即刻回報模式(mode A)的波形圖,實際應用時,亦可搭配延遲回報模式(mode B)的方式。關於搭配延遲回報模式(mode B)的作法,可類推第8B圖與第10圖的說明故不予詳述。
再者,本揭露還可以主控裝置與記憶體模組PSRAM1、PSRAM2之間既有的信號線(例如,晶片選取信號CS#、系統時脈信號SCLK、資料閃控遮罩信號DQSM等),以及額外設置的信號線彼此搭配,進而產生特定的波形變化,作為回報記憶體模組(PSRAM1)51、(PSRAM2)52的狀態使用。例如,在第11圖中,假設以資料閃控遮罩信號DQSM[1]搭配記憶庫忙碌信號BRBBm1、BRBBh的變化,作為主控裝置與記憶體模組PSRAM1、PSRAM2之間的溝通使用。
請參見第11圖,其係根據本揭露構想,記憶體模組PSRAM1以即刻回報模式(mode A)通知主控裝置後,記憶體模組 PSRAM1、PSRAM2進行同步讀取操作的另一種實施例的波形圖。在此圖式中,時點t1至時點t13為讀取操作期間Trd;時點t1至時點t12為晶片選取期間Tcs;時點t1至時點t3為設定期間Tset;時點t3至時點t4為讀取指令傳送期間Tcmd;時點t4至時點t8為位址傳送期間Tadr;時點t8至時點t11為同步資料準備期間Tsdatpr;時點t11至時點t13為同步資料讀取期間Tdat_sync;時點t12至時點t13為結束期間Tend。
主控裝置53在時點t1將晶片選取信號CS#拉低後,記憶體模組(PSRAM1)51於時點t2,藉由同時將記憶庫忙碌信號BRBBm1的位準拉低,以及將資料閃控遮罩信號DQSM[1]的位準拉高的方式,通知主控裝置53其內部產生更新衝突。記憶體模組(PSRAM1)51在時點t2至時點t7期間(更新衝突通知期間Trfrp)將記憶庫忙碌信號BRBBm1維持在低位準並將資料閃控遮罩信號DQSM[1]維持在高位準。
由於記憶體模組(PSRAM1)51在更新衝突通知期間Trfrp將記憶庫忙碌信號BRBBm1維持在低位準的緣故,記憶庫忙碌信號BRBBh將如第9B圖所示,受到來自記憶體模組(PSRAM1)51的記憶庫忙碌信號BRBBm1的影響而在更新衝突通知期間Trfrp維持在低位準。記憶體模組(PSRAM1)51於時點t7停止將記憶庫忙碌信號BRBBm1拉高,並開始將資料閃控遮罩信號DQSM[1]拉低至低位準。
另一方面,在時點t1至時點t7期間,記憶體模組(PSRAM2)52將記憶庫忙碌信號BRBBm2維持在高位準,並將資料閃控遮罩信號DQSM[2]維持在低位準。儘管記憶體模組(PSRAM2)52在時點t2至時點t7期間將記憶庫忙碌信號BRBBm2維持在高位準,但因記憶庫忙碌信號BRBBh、BRBBm1、BRBBm2之間以線或(wired OR) 的方式相連的緣故,記憶體模組(PSRAM1)51在時點t2~時點t7期間將記憶庫忙碌信號BRBBm1拉低至低位準的變化,仍會反映至記憶庫忙碌信號BRBBm2,使記憶庫忙碌信號BRBBm2的位準受到波動。因此,記憶體模組(PSRAM2)52可藉由記憶庫忙碌信號BRBBm2的信號波動,獲知記憶體模組(PSRAM1)51發生更新衝突的情形。
據此,主控裝置53可以根據記憶庫忙碌信號BRBBh得知記憶體模組(PSRAM1)51產生更新衝突。此外,且記憶體模組(PSRAM2)52亦可如第9B圖所說明,藉由線或(wired OR)的連線方式,直接掌握記憶體模組(PSRAM1)51發生更新衝突的情形。換言之,採用線或(wired OR)的連線方式時,記憶體模組(PSRAM2)52可經由記憶庫忙碌信號BRBBm2直接得知記憶體模組(PSRAM1)51發生更新衝突,無須透過主控裝置53間接得知。
如前所述,記憶體模組(PSRAM1)51、(PSRAM2)52在接收列位址m1ADRr、m2ADRr後起算讀取延遲計數。因此,由第11圖可以看出,記憶體模組(PSRAM1)51、(PSRAM2)52均自時點t5開始起算讀取延遲計數。其中,記憶體模組(PSRAM1)51需費時兩個讀取延遲計數(LC*2),方可自內部的記憶體陣列取得讀取資料至內部緩衝器,而記憶體模組(PSRAM2)52僅需一個讀取延遲計數(LC)即可自內部的記憶體陣列取得讀取資料至內部緩衝器。接著分別說明記憶體模組(PSRAM1)51、(PSRAM2)52如何與何時傳送同步讀取資料DATm1、DATm2。
記憶體模組(PSRAM1)51從時點t5開始,經過更新讀取延遲rfcLC(例如,rfcLC=LC*2)後,其更新衝突在時點t10結束,記憶體模組(PSRAM1)51並在時點t1o後的下一個系統時脈信號SCLK的上 升緣(即,時點t11)時,陸續以資料閃控遮罩信號DQSM[1]產生讀取閃控脈衝信號m1strb1、m1strb2。因此,記憶體模組(PSRAM1)51自時點t11開始傳送同步讀取資料DATm1。
另一方面,記憶體模組(PSRAM2)52從時點t5開始,經過預設讀取延遲(dftLC=LC*1)後,於時點t9即可將讀取資料備妥於內部緩衝器。因為記憶體模組(PSRAM1)51發生更新衝突的緣故,記憶體模組(PSRAM2)52知道在預設讀取延遲(dftLC=LC*1)結束後,尚不能在預設讀取延遲(dftLC=LC*1)結束(時點t9)後的下一個系統時脈信號SCLK的上升緣即刻傳出讀取資料。時點t9至時點t11可定義為,記憶體模組(PSRAM2)22為等待記憶體模組(PSRAM1)51的更新衝突結束所需花費的額外等待期間Taddwt。
此處將時點t5至時點t11定義為,因應記憶體模組(PSRAM1)51發生之更新衝突,等待記憶體模組(PSRAM1)51將讀取資料複製至內部緩衝器所需之更新衝突讀取期間Trdrf。由第11圖可以看出,記憶體模組(PSRAM1)51於時點t11至時點t13的期間傳送同步讀取資料DATm1,且記憶體模組(PSRAM2)52於時點t11至時點t13的期間傳送同步讀取資料DATm2。時點t11至時點t13的期間可定義為同步資料讀取期間Tdat_sync。因此,記憶體模組(PSRAM1)51、(PSRAM2)52可以同步地利用系統輸入輸出信號SIO[8:1]、SIO[16:9]將內部緩衝器中的讀取資料傳送至主控裝置53。
除第9A、9B圖所舉例之,將額外設置的記憶庫忙碌信號BRBB搭配雙向介面電路與上拉電阻50a使用外,本揭露亦可將晶片選取信號CS#搭配雙向介面電路與上拉電阻40a使用,如第12A、12B圖所示。
在第12A、12B圖中,電子裝置40包含主控裝置43與記憶體模組(PSRAM1)41、(PSRAM2)42。其中,主控裝置43透過晶片選取信號CS#與系統時脈信號SCLK同時電連接於記憶體模組(PSRAM1)41、(PSRAM2)42。此外,主控裝置43透過系統輸入輸出信號SIO[8:1]、資料閃控遮罩信號DQSM[1]而電連接於記憶體模組(PSRAM1)41,以及透過系統輸入輸出信號SIO[16:9]、資料閃控遮罩信號DQSM[2]而電連接於記憶體模組(PSRAM2)42。此處並假設晶片選取信號CS#搭配雙向介面電路401、411、421與上拉電阻40a使用。
當晶片選取信號CS#搭配雙向介面電路401、411、421與上拉電阻40a使用時,則發生更新衝突的記憶體模組(例如,記憶體模組(PSRAM1)41),可基於線或(wired OR)的接線方式而達到同時通知主控裝置43與其他未發生更新衝突的記憶體模組(例如,記憶體模組(PSRAM2)42)的效果。在第12A、12B圖中,主控裝置43的雙向介面電路401包含連接方式相反的輸出反向器401a、輸入反向器401b;記憶體模組(PSRAM1)41的雙向介面電路411包含連接方式相反的輸出反向器411a與輸入反向器411b;記憶體模組(PSRAM2)42的雙向介面電路421包含連接方式相反的輸出反向器421a與輸入反向器421b。
請參見第12A、12B圖,其係記憶體模組與主控裝置之間利用晶片選取信號CS#作為更新衝突之溝通介面,且晶片選取信號CS#分別由主控裝置43與記憶體模組(PSRAM1)41驅動之示意圖。第12A、12B圖的晶片選取信號CS#驅動方式可類推第9A、9B圖的記憶庫忙碌信號BRBB的信號驅動方式,故不予詳述。
當晶片選取信號CS#如第12A、12B圖所示,採用線或(wired OR)的方式連接時,記憶體模組(PSRAM1)41、(PSRAM2)42 亦可能對晶片選取信號CS#的位準產生影響。因此,在某些應用中,可以晶片選取信號CS#作為進行同步讀取操作的溝通用途。例如,第13圖所示為,記憶體模組(PSRAM1)41藉由晶片選取信號CS#依據即刻回報模式(mode A)進行同步讀取操作的實施例。
請參見第13圖,其係記憶體模組與主控裝置之間利用晶片選取信號CS#作為更新衝突之溝通介面,且記憶體模組依據即刻回報模式(mode A)通知主控裝置後,進行同步讀取操作的實施例之波形圖。在此圖式中,時點t1至時點t13為讀取操作期間Trd;時點t1至時點t4為晶片選取期間Tcs;時點t1至時點t3為設定期間Tset;時點t3至時點t4為讀取指令傳送期間Tcmd;時點t4至時點t7為位址傳送期間Tadr;時點t7至時點t12為同步資料準備期間Tsdatpr;時點t12至時點t13為同步資料讀取期間Tdat_sync。此處的時點t5至時點t12為更新衝突讀取期間Trdrf。時點t8至時點t12可定義為,記憶體模組(PSRAM2)42為等待記憶體模組(PSRAM1)41的更新衝突結束所需花費的額外等待期間Taddwt。此處的時點t5至時點t12為更新衝突讀取期間Trdrf。
另請留意,在此實施例中,若有任何一個記憶體模組(例如,記憶體模組PSRAM1)發生更新衝突時,發生更新衝突的記憶體模組便會將晶片選取信號CS#拉高,強制結束讀取操作。因此,第13圖所示的讀取操作期間Trd並不包含結束期間Tend,且晶片選取期間Tcs的長度較其他實施例的晶片選取期間Tcs短許多。在第13圖中,因為使用晶片選取信號CS#通知的緣故,更新衝突通知期間Trfrp幾乎與晶片選取期間Tcs等長。
在此實施例中,記憶體模組(PSRAM1)41在時點t1感測到主控裝置43將晶片選取信號CS#拉低的瞬間,即得知其內部存在更新衝突。因此,在時點t4,記憶體模組(PSRAM1)41將晶片選取信號CS#拉高,並以此方式通知主控裝置43其內部存在更新衝突。亦即,在時點t4前,主控裝置43如第12A圖所示,作為晶片選取信號CS#的驅動端。在時點t4至時點t13的期間,記憶體模組(PSRAM2)42如第12B圖所示,作為晶片選取信號CS#的驅動端。
由於主控裝置43、記憶體模組(PSRAM1)41、(PSRAM2)42均連接於晶片選取信號CS#的緣故,記憶體模組(PSRAM2)42亦可在時點t4獲知記憶體模組(PSRAM1)41內部發生更新衝突的現象。也因此,記憶體模組(PSRAM2)42可以得知,無法在預設讀取延遲(dftLC=LC*1)結束(時點t8)後的下一個系統時脈信號SCLK的上升緣(時點t9)立即將內部緩衝器內的讀取資料傳送至主控裝置43。
如第13圖所示,記憶體模組(PSRAM2)42在預設讀取延遲(dftLC=LC*1)結束後的下一個系統時脈信號SCLK的上升緣(時點t9),立刻開始傳送讀取資料至主控裝置43,但記憶體模組(PSRAM2)42在資料捨棄期間Tdrp2所傳送的讀取資料將被主控裝置43捨棄不用,因而稱為捨棄資料drpDATm2。因此,記憶體模組(PSRAM2)42仍需在時點t12開始,再次利用資料閃控遮罩信號DQSM[2]發出讀取閃控脈衝信號m2strb1、m2strb2,以及利用系統輸入輸出信號SIO[16:9]再次傳送同步讀取資料DATm2。經由資料閃控遮罩信號DQSM[2]所傳送的捨棄資料drpDATm2與同步讀取資料DATm2均由記憶體模組(PSRAM2)42所提供,兩者的內容完全相同。
第13圖所示為記憶體模組(PSRAM1)41與主控裝置間,利用晶片選取信號CS#搭配即刻回報模式(mode A)的波形圖,實際應用時,記憶體模組(PSRAM1)41與主控裝置43間,亦可搭配延遲回報模式(mode B)。關於搭配延遲回報模式(mode B)的作法,可類推第8B圖與第13圖的說明故不予詳述。
請參見第14圖,其係記憶體模組PSRAM1、PSRAM2與主控裝置之間,利用晶片選取信號CS#搭配系統時脈信號SCLK搭配即刻回報模式(mode A)進行同步讀取操作的實施例之波形圖。在此圖式中,時點t1至時點t12為讀取操作期間Trd;時點t1至時點t12為晶片選取期間Tcs;時點t1至時點t3為設定期間Tset;時點t3至時點t4為讀取指令傳送期間Tcmd;時點t4至時點t8為位址傳送期間Tadr;時點t8至時點t13為同步資料準備期間Tsdatpr;時點t13至時點t15為同步資料讀取期間Tdat_sync;時點t14至時點t15為結束期間Tend。此處的時點t5至時點t13為更新衝突讀取期間Trdrf。時點t5至時點t11為,記憶體模組(PSRAM2)42進行讀取操作所需的預設讀取延遲(dftLC=LC*1)。時點t11至時點t13可定義為,記憶體模組(PSRAM2)42為等待記憶體模組(PSRAM1)41的更新衝突結束所需花費的額外等待期間Taddwt。
在此實施例中,假設記憶體裝置(PSRAM1)41在系統時脈信號SCLK的一個完整週期的期間,透過將晶片選取信號CS#的位準拉高的方式,達到通知主控裝置43和記憶體模組(PSRAM2)42關於更新衝突產生情形的效果。在第14圖中,假設主控裝置43在時點t9至時點t10期間(相當於系統時脈週期Tclk4的整個週期的期間),將晶片選取信號CS#的位準拉高。因此,時點t9至時點t10期間可定義為,主控裝置43用於通知記憶體模組(PSRAM2)42需暫緩進行讀取操作的暫停讀 取通知期間Tstp。在此圖式中,假設更新衝突通知期間Trfrp相當於系統時脈信號SCLK的系統時脈週期Tclk4。
實際應用時,主控裝置43以晶片選取信號CS#搭系統時脈信號配SCLK通知記憶體模組(PSRAM2)42的做法並不需要被限定。例如,主控裝置43可選擇在系統時脈週期Tclk1~Tclk8的任一者將晶片選取信號CS#拉高。由於記憶體模組PSRAM2進行讀取操作所需的預設讀取延遲(dftLC=LC*1)在時點t11結束,若主控裝置43將晶片選取信號CS#拉高的位置早於時點t11,則記憶體模組(PSRAM2)42可即時得知應在預設讀取延遲(dftLC=LC*1)結束後,暫時停止從內部緩衝器傳出讀取資料。若主控裝置43在時點t11前將晶片選取信號CS#搭拉高,則記憶體模組(PSRAM2)42自時點t11結束後將暫停傳送內部緩衝器的資料。直到同步資料準備期間Tsdatpr結束(時點t13)後,記憶體模組(PSRAM2)42再開始從內部緩衝器傳出同步讀取資料DATm2。
另一方面,若主控裝置43將晶片選取信號CS#拉高的位置晚於時點t11。例如,主控裝置43在系統時脈週期Tclk6、Tclk7、Tclk8的拉高晶片選取信號CS#。則,記憶體模組(PSRAM2)42需從內部緩衝器傳送兩次讀取資料至系統輸入輸出信號SIO[16:9]。
在第14圖中,假設記憶體模組(PSRAM1)41利用即刻回報模式(mode A)通知與主控裝置43,且主控裝置43利用晶片選取信號CS#與系統時脈信號SCLK的組合通知記憶體模組(PSRAM2)42。實際應用時,亦可改採延遲回報模式(mode B)的方式,搭配晶片選取信號CS#與系統時脈信號SCLK的組合。關於搭配延遲回報模式(mode B)的作法,可類推第8B圖的說明故不予詳述。
根據本揭露的構想,記憶體模組PSRAM2獲知需等待同步資料準備期間Tsdatpr的方式相當彈性。例如,實際應用時,主控裝置與記憶體模組PSRAM1、PSRAM2間,還可額外設置時脈忽略信號線ICK1、ICK2。時脈忽略信號線ICK1、ICK2在大部分的時候處於低位準,但是當主控裝置將時脈忽略信號ICK1、ICK2拉高時,則記憶體模組PSRAM1、PSRAM2在時脈忽略信號ICK1、ICK2拉高的期間,將暫時性的忽視系統時脈信號SCLK的變動。
請參見第15圖,其係於主控裝置和記憶體模組PSRAM1、PSRAM2間設置時脈忽略信號線ICK1、ICK2,在記憶體模組PSRAM1發生更新衝突的情況下進行同步讀取操作的實施例之波形圖。在此圖式中,時點t1至時點t14為讀取操作期間Trd;時點t1至時點t13為晶片選取期間Tcs;時點t1至時點t3為設定期間Tset;時點t3至時點t4為讀取指令傳送期間Tcmd;時點t4至時點t8為位址傳送期間Tadr;時點t8至時點t12為同步資料準備期間Tsdatpr;時點t12至時點t14為同步資料讀取期間Tdat_sync;時點t12至時點t13為結束期間Tend。此處的時點t2至時點t7期間可定義為,發生更新衝突之記憶體模組PSRAM1通知主控裝置的更新衝突通知期間Trfrp。時點t5至時點t11可定義為更新衝突讀取期間Trdrf。時點t5至時點t9可定義為,記憶體模組PSRAM2進行讀取操作所需的預設讀取延遲(dftLC=LC*1)。時點t9至時點t11可定義為,記憶體模組PSRAM2為等待記憶體模組PSRAM1的更新衝突結束所需花費的額外等待期間Taddwt。
在第15圖中,主控裝置在時點t10至時點t11期間,將時脈忽略信號ICK2的位準暫時性的拉高。此處,時點t10至時點t11的期間可定義為時脈忽略期間Tick。在時脈忽略期間Tick,記憶體模組 PSRAM2內部將暫停接收系統時脈信號SCLK。也因此,記憶體模組PSRAM2在時脈忽略期間Tick暫停運作。於時脈忽略期間Tick結束(時點t11)後,主控裝置重新將時脈忽略信號ICK2拉低至低位準,使記憶體模組PSRAM2再度接收系統時脈信號SCLK的時脈並繼續進行讀取操作。因此,在時點t12,記憶體模組PSRAM、PSRAM2開始同步傳送讀取資料。
在第15圖的舉例中,主控裝置產生時脈忽略信號ICK2信號至記憶體模組PSRAM2,藉以通知記憶體模組PSRAM2暫停接收系統時脈信號SCLK。在第16圖的實施例中,則假設主控裝置實際停止傳送系統時脈信號SCLK至記憶體模組PSRAM2的作法。與第15圖相較,第16圖的做法無須額外設置接線,其成本相對較低。
請參見第16圖,其係主控裝置得知記憶體模組PSRAM1發生更新衝突後,透過暫停提供系統時脈信號SCLK至記憶體模組PSRAM1、PSRAM2而延緩其讀取操作,進而使記憶體模組PSRAM1、PSRAM2進行同步讀取操作之示意圖。在此圖式中,時點t1至時點t13為讀取操作期間Trd;時點t1至時點t12為晶片選取期間Tcs;時點t1至時點t3為設定期間Tset;時點t3至時點t4為讀取指令傳送期間Tcmd;時點t4至時點t8為位址傳送期間Tadr;時點t8至時點t11為同步資料準備期間Tsdatpr;時點t11至時點t13為同步資料讀取期間Tdat_sync;時點t12至時點t13為結束期間Tend。此處的時點t2至時點t7期間可定義為,發生更新衝突之記憶體模組PSRAM1通知主控裝置的更新衝突通知期間Trfrp。時點t5至時點t11可定義為更新衝突讀取期間Trdrf。時點t5至時點t9可定義為,記憶體模組PSRAM2進行讀取操作所需的預設 讀取延遲(dftLC=LC*1)。時點t9至時點t11可定義為,記憶體模組PSRAM2為等待記憶體模組PSRAM1的更新衝突結束所需花費的額外等待期間Taddwt。
在第16圖中,主控裝置在時點t9至時點t11期間,停止傳送系統時脈信號SCLK至記憶體模組PSRAM1、PSRAM2。在這段期間,因為記憶體模組PSRAM1內部進行更新衝突的緣故,即使記憶體模組PSRAM1未接收到系統時脈信號SCLK仍不影響其操作。另一方面,在時點t9至時點t11的期間,記憶體模組PSRAM2因為未接收到系統時脈信號SCLK的時脈的緣故而停止運作。於時點t11開始,主控裝置重新開始傳送系統時脈信號SCLK至記憶體模組PSRAM1、PSRAM2,記憶體模組PSRAM2將再次重新運作。因此,在時點t11,記憶體模組PSRAM、PSRAM2開始同步傳送同步讀取資料DATm1、DATm2。
前述的實施例中,假設主控裝置透過記憶體模組PSRAM1的回報,得知記憶體模組PSRAM1的內部發生更新衝突。實際應用時,主控裝置亦可藉由其他方式,主動掌握記憶體模組PSRAM1的內部發生更新衝突。
前述所舉的實施例均以一個晶片選取期間Tcs完成同步讀取操作。在該些實施例中,同步資料準備期間Tsdatpr大於預設讀取延遲(dftLC=LC*1),且同步資料準備期間(Tsdatpr)小於更新讀取延遲(rfcLC=2*LC)。實際應用時,亦可利用兩個(或以上)的晶片選取期間Tcs完成記憶體模組PSRAM1、PSRAM2以同步方式執行讀取操作。
請參見第17圖,其係主控裝置發出重複讀取指令m1CMDrtry、m2CMDrtry,使記憶體模組PSRAM1、PSRAM2同步進行讀取操作之示意圖。在此圖式中,時點t1至時點t21為讀取操作期間Trd;時點t1至時點t12為晶片選取期間Tcs1;時點t12至時點t14為晶片選取間距Tint;時點t14至時點t19為晶片選取期間Tcs2;時點t1至時點t3為設定期間Tset;時點t3至時點t4為讀取指令傳送期間Tcmd;時點t4至時點t6為位址傳送期間Tadr;時點t6至時點t18為同步資料準備期間Tsdatpr;時點t19至時點t21為同步資料讀取期間Tdat_sync;時點t20至時點t21為結束期間Tend。
在此實施例中,讀取操作期間Trd依序包含晶片選取期間Tcs1、晶片選取間距Tint、晶片選取期間Tcs2,以及結束期間Tend。其中,晶片選取信號CS#在晶片選取期間Tcs1、Tcs2為低位準,且晶片選取信號CS#在晶片選取間距Tint與結束期間Tend為高位準。
在晶片選取期間Tcs1,主控裝置先後收到記憶體模組PSRAM2在資料捨棄期間Tdrp2傳出的讀取資料,以及記憶體模組PSRAM1在資料捨棄期間Tdrp1傳出的讀取資料。若主控裝置在晶片選取期間Tcs1內,發現從記憶體模組PSRAM1、PSRAM2的內部緩衝器傳出讀取資料至系統輸入輸出信號SIO[8:1]、SIO[16:9]的時間不一致時,代表主控裝置無法正確使用該些讀取資料。因此,該些讀取資料可被視為捨棄資料drpDATm1、drpDATm2。連帶的,主控裝置可藉由此種不一致的資料傳送時點,主動得知記憶體模組PSRAM1產生更新 衝突,而記憶體模組PSRAM2並未產生更新衝突。此處的時點t5至時點t11為更新衝突讀取期間Trdrf。
承上所述,在晶片選取期間Tcs1中,記憶體模組PSRAM1、PSRAM2傳送至主控裝置的讀取資料,包含記憶體模組PSRAM1在時點t11至時點t13期間所傳送的讀取資料,以及記憶體模組PSRAM2在時點t8至時點t9期間所傳送的讀取資料,都將被主控裝置所忽視。在晶片選取期間Tcs1中,記憶體模組PSRAM1、PSRAM2傳送至主控裝置的讀取資料被視為捨棄資料drpDATm1、drpDATm2。
晶片選取期間Tcs1、Tcs2的中間為晶片選取間距Tint。在晶片選取間距Tint,主控裝置將晶片選取信號CS#拉高至高位準,並將系統時脈信號SCLK維持在低位準。在晶片選取期間Tcs2中,於時點t14至時點t15期間(重複讀取指令期間Tcmd_rtry),主控裝置發出重複讀取指令m1CMDrtry、m2CMDrtry至記憶體模組PSRAM1、PSRAM2。重複讀取指令m1CMDrtry、m2CMDrtry代表主控裝置要記憶體模組PSRAM1、PSRAM2再次等待更新讀取延遲rfcLC(例如,rfcLC=LC*2)後進行讀取操作。此處的時點t14至時點t19為記憶體模組PSRAM1、PSRAM2第二度進行讀取操作的期間,因此將其定義為,重複讀取期間T2rd。
由於在晶片選取期間Tcs1的位址傳送期間Tadr(時點t4至時點t6的期間)時,記憶體模組PSRAM1、PSRAM2已經接收過列位址m1ADRr、m2ADRr與行位址m1ADRc、m2ADRc。因此,在晶片選 取期間Tcs2期間,主控裝置無須再次將列位址m1ADRr、m2ADRr與行位址m1ADRc、m2ADRc傳送至記憶體模組PSRAM1、PSRAM2。
當記憶體模組PSRAM1、PSRAM2接收到重複讀取指令m1CMDrtry、m2CMDrtry後,便共同等待更新讀取延遲rfcLC(例如,rfcLC=LC*2)。在時點t18後,才開始同步產生讀取閃控脈衝信號m1strb1、m2strb1。在時點t18至時點t20期間,記憶體模組PSRAM1利用資料閃控遮罩信號DQSM[1]傳送讀取閃控脈衝信號m1strb1、m1strb2至主控裝置,以及利用系統輸入輸出信號SIO[8:1]從內部緩衝器傳送同步讀取資料DATm1至主控裝置。在此同時,記憶體模組PSRAM2利用資料閃控遮罩信號DQSM[2]傳送讀取閃控脈衝信號m2strb1、m2strb2至主控裝置,以及利用系統輸入輸出信號SIO[16:9]從內部緩衝器傳送同步讀取資料DATm2至主控裝置。
在第17圖中,經由系統輸入輸出信號SIO[8:1]所傳送的捨棄資料drpDATm1與同步讀取資料DATm1均由記憶體模組PSRAM1的內部緩衝器傳出,因此兩者的內容完全相同。同理,經由系統輸入輸出信號SIO[16:9]所傳送的捨棄資料drpDATm2與同步讀取資料DATm2均由記憶體模組PSRAM2的內部緩衝器傳出,因此兩者的內容完全相同。
在第17圖的實施例中,同步資料準備期間Tsdatpr同時涵蓋晶片選取期間Tcs1、Tcs2的一部分。因此,同步資料準備期間Tsdatpr較更新讀取延遲rfcLC長(Tsdatpr>rfcLC=2*LC)。另,在第18圖的實 施例中,同步資料準備期間Tsdatpr略短於更新讀取延遲rfcLC(Tsdatpr<rfcLC=2*LC)。
採用PSRAM技術的記憶體模組PSRAM時,主控裝置可透過對暫存器的設定,而致能資料閃控遮罩信號DQSM的導引脈衝信號mpre的預先脈衝(precycle pulse)的通知功能。導引脈衝信號mpre指的是,在資料閃控遮罩信號DQSM發出讀取閃控脈衝信號mstrb1、mstrb2前的系統時脈信號SCLK的高位準期間,記憶體模組PSRAM預先將資料閃控遮罩信號DQSM的位準拉高一小段期間,藉以通知主控裝置後續將有讀取資料傳出。即,在讀取閃控脈衝信號mstrb1、mstrb2傳出前,預先利用導引脈衝信號mpre對主控裝置預告後續即將開始傳出讀取資料。
在第17圖的實施例中,主控裝置可透過主動感測的方式,判斷記憶體模組PSRAM1發生更新衝突。因此,在這個實施例中,並未繪式更新衝突通知期間Trfrp。實際應用時,第17圖的實施例亦可搭配即刻回報模式(mode A)與延遲回報模式(mode B)的方式進行。即,仍由發生更新衝突的記憶體模組PSRAM1通知主控裝置。
第18圖為另一種由主控裝置主動感測記憶體模組PSRAM1發生更新衝突的實施例。請參見第18圖,其係記憶體模組PSRAM1、PSRAM2與主控裝置之間利用晶片選取信號CS#搭配系統時脈信號SCLK,依據產生導引脈衝信號m1pre、m2pre之間的時間差,判斷記憶體模組PSRAM1發生更新衝突後,如何進行同步讀取操作的實施例之波形圖。在此圖式中,時點t1至時點t15為讀取操作期間Trd;時點t1至時點t14為晶片選取期間Tcs;時點t1至時點t3為設定期間Tset;時點t3至時點t4為讀取指令傳送期間Tcmd;時點t4至時點t7為位 址傳送期間Tadr;時點t7至時點t13為同步資料準備期間Tsdatpr;時點t13至時點t15為同步資料讀取期間Tdat_sync;時點t14至時點t15為結束期間Tend。此處的時點t5至時點t13為更新衝突讀取期間Trdrf。時點t5至時點t9可定義為,記憶體模組PSRAM2進行讀取操作所需的預設讀取延遲(dftLC=LC*1)。時點t9至時點t13可定義為,記憶體模組PSRAM2為等待記憶體模組PSRAM1的更新衝突結束所需花費的額外等待期間Taddwt。
在第18圖的舉例中,假設記憶體模組PSRAM1、PSRAM2產生導引脈衝信號m1pre、m2pre的功能均被致能。因為記憶體模組PSRAM1發生更新衝突的緣故,記憶體模組PSRAM1產生導引脈衝信號m1pre的期間,將晚於記憶體模組PSRAM2產生導引脈衝信號m2pre的期間。記憶體模組PSRAM1在時點t11至時點t12期間,利用資料閃控遮罩信號DQSM[1]傳送導引脈衝信號m1pre;以及,記憶體模組PSRAM2在時點t8至時點t9期間,利用資料閃控遮罩信號DQSM[2]傳送導引脈衝信號m2pre。
由第18圖可以看出,主控裝置在時點t8至時點t9的期間,僅接收到由記憶體模組PSRAM2利用資料閃控遮罩信號線DQSM[2]產生的導引脈衝信號m2pre。主控裝置需等到時點t11至時點t12的期間,才能接收到記憶體模組PSRAM1利用資料閃控遮罩信號線DQSM[1]產生的導引脈衝信號m1pre。據此,主控裝置可基於此種先後(不同步)產生之導引脈衝信號m1pre、m2pre,得知記憶體模組PSRAM1、PSRAM2可提供與其對應之讀取資料的過程存在時間差。亦即,由於主控裝置先接收到由記憶體模組PSRAM2傳出的導引脈衝信號m2pre,主控裝置可據此判斷記憶體模組PSRAM2並未產生更新衝 突;另一方面,主控裝置較晚收到由記憶體模組PSRAM1傳出的導引脈衝信號m1pre,可據此判斷記憶體模組PSRAM1發生更新衝突。在此實施例中,由於主控裝置主動得知記憶體模組PSRAM1發生更新衝突,並非由記憶體模組PSRAM1通知。因此,此實施例不包含更新衝突通知期間Trfrp。
在第18圖中,主控裝置在時點t8至時點t9的期間,可根據僅有與記憶體模組PSRAM2對應之導引脈衝信號m2pre產生,無與記憶體模組PSRAM1對應之導引脈衝信號m1pre產生的現象,得知記憶體模組PSRAM1需花費較長的時間進行讀取操作,進而判斷記憶體模組PSRAM1產生更新衝突。此處,在時點t5至時點t11期間,記憶體模組PSRAM2須等待更新讀取延遲rfcLC(例如,rfcLC=LC*2)。其後,記憶體模組PSRAM1才在時點t11至時點t12的期間發出導引脈衝信號m1pre。
因此,在第18圖中,假設主控裝置在系統時脈週期Tclk6的期間,將晶片選取信號CS#拉高,作為通知記憶體模組PSRAM2需額外等待記憶體模組PSRAM1完成更新衝突使用。實際應用時,主控裝置亦可選擇在系統時脈週期Tclk7、Tclk8的期間,藉由將晶片選取信號CS#拉高的方式,作為通知記憶體模組PSRAM2需延緩讀取操作速度使用。
請留意,第18圖所提到之,主控裝置藉由導引脈衝信號m1pre、m2pre而判斷記憶體模組PSRAM1發生更新碰撞的作法,雖依據系統時脈週期將晶片選取信號CS#拉高的方式,通知記憶體模組 PSRAM2需延遲其讀取操作,但實際應用時並不以此為限。因此,如前述其他實施例所提到之,設置記憶庫忙碌信號BRBB、時脈忽略信號ICK等作法,亦可經修改後而應用於主控裝置藉由導引脈衝信號m1pre、m2pree而判斷記憶體模組PSRAM1發生更新碰撞的情況。
附帶一提的是,主控裝置僅選擇利用系統時脈週期Tclk6、Tclk7、Tclk8其中一者的期間將晶片選取信號CS#拉高的考量是,若主控裝置將晶片選取信號CS#拉高的期間較一個系統時脈週期Tclk長,可能導致記憶體模組PSRAM2誤以為主控裝置準備強制結束此次的讀取操作。因此,為避免記憶體模組PSRAM2產生誤動作,此實施例假設主控裝置利用將晶片選取信號CS#拉高一個系統時脈週期Tclk的方式,通知記憶體模組PSRAM2需延長讀取操作的期間。
前述所舉的多個實施例可以看出,本揭露的應用相當彈性。首先,主控裝置可以透過記憶體模組PSRAM1的回報,被動得知記憶體模組PSRAM1內部產生更新衝突(第8A、8B、10、11、13、14、15、16圖);主控裝置可透過比較讀取閃控脈衝信號m1strb1、m2strb1的產生時點的方式,主動判斷記憶體模組PSRAM1內部產生更新衝突(第17圖);或者,主控裝置可透過偵測導引脈衝信號m1pre、m2pre的方式,主動判斷記憶體模組PSRAM1內部產生更新衝突(第18圖)。此外,就記憶體模組PSRAM1的回報模式而言,還可進一步依據回報的時點而區分為,即刻回報模式(mode A)與延遲回報模式(mode B)。
再者,前述不同的實施例亦說明,若記憶體模組PSRAM1發生更新衝突時,記憶體模組PSRAM1可藉由不同類型的信 號線通知主控裝置。例如:資料閃控遮罩信號DQSM[1]、DQSM[2]、記憶庫忙碌信號BRBBh、BRBBm1、BRBBm2、晶片選取信號CS#,或者,以晶片選取信號CS#搭配系統時脈信號SCLK的波形組合等。實際應用時,記憶體模組PSRAM1通知主控裝置的信號線的種類與其波形的控制等,並不以前述實施例為限。
此外,根據實施例的不同,記憶體模組PSRAM2可從主控裝置間接得知記憶體模組PSRAM1產生更新衝突的情形;或者,記憶體模組PSRAM2可直接自記憶體模組PSRAM1獲知記憶體模組PSRAM1發生更新衝突的情形。
前述實施例中,關於記憶體模組PSRAM2間接從主控裝置得知記憶體模組PSRAM1產生更新衝突的做法包含:由主控裝置發出特殊讀取指令m1CMDrd_sp、m2CMDrd_sp(第8A圖)、由主控裝置發出延長讀取指令m1CMDext、m2CMDext(第8B圖)、由主控裝置改變晶片選取信號CS#的位準(第13A、13B圖)、由主控裝置改變晶片選取信號CS#與系統時脈信號SCLK的組合(第14圖)、主控裝置對額外設置的時脈忽略信號線ICK1、ICK2加以設定(第15圖)、主控裝置暫停傳送系統時脈信號SCLK(第16圖)、重複讀取指令m1CMDrtry、m2CMDrtry(第17圖)。前述實施例中,關於記憶體模組PSRAM2可直接從記憶體模組PSRAM1得知關於記憶體模組PSRAM1產生更新衝突情形的方式包含:如第9A、9B圖所示,以線或(wired OR)的方式設置記憶庫忙碌信號線BRBB;以及,如第12A、12B圖所示,以線或(wired OR)的方式設置晶片選取信號CS#。
根據前述說明可以看出,本揭露的讀取方法可透過相當彈性的方式應用於電子裝置。實際應用時,記憶體模組PSRAM2從主控裝置間接得知記憶體模組PSRAM1產生更新衝突的方式,以及記憶體模組PSRAM2直接從記憶體模組PSRAM1得知記憶體模組PSRAM1產生更新衝突的方式,並不以前述實施例為限。
採用本揭露構想時,主控裝置可以獲知是否有記憶體模組發生更新衝突,進而通知系統內的其他記憶體模組需延遲其傳送讀取資料時點,並確保主控裝置可同步自多個記憶體模組接收讀取資料。本文所述之使用PSRAM技術的記憶體模組,其PSRAM技術包括但不限於OctaRAM、HyperRAM、Xccela PSRAM等,且PSRAM技術採用的傳輸協議可為序列周邊介面(Serial Peripheral Interface Bus,簡稱為SPI)、雙倍序列周邊介面(Dual-SPI)、四倍序列周邊介面(QSPI)等。此外,本文的波形圖雖假設一個讀取延遲計數LC相當於系統時脈週期的三倍(LC=3*Tclk),但實際應用亦不以此為限。
另請留意,儘管在前述說明中,假設電子裝置僅包含兩個記憶體模組PSRAM1、PSRAM2,但本揭露的實際應用並不以此為限。例如,電子裝置可能包含四個或八個記憶體模組。或者,電子裝置所包含的多個記憶體模組輪流出現需要進行更新衝突的情況。則,前述的讀取方法仍可基於類似的控制方式,待所有發生更新衝突的記憶體模組均完成更新衝突後,再一併控制所有的記憶體模組同步傳送讀取資料。前述的實施例可在修改後,應用至這些不同類型的電子裝置。
綜上所述,雖然本發明已以實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
S51,S53,S55,S57,S59:步驟

Claims (13)

  1. 一種記憶體裝置,用以電連接於一主控裝置,其中該主控裝置係於一讀取操作期間內對該記憶體裝置執行一讀取操作,且該記憶體裝置係包含:一第一記憶體模組,其係於該讀取操作期間產生一更新衝突;以及,一第二記憶體模組,其中,該第一記憶體模組與該第二記憶體模組係同時於一讀取指令傳送期間分別接收該主控裝置所傳送的一第一讀取指令與一第二讀取指令;該第一記憶體模組與該第二記憶體模組係同時於一位址傳送期間分別接收一第一記憶體位址與一第二記憶體位址,其中該讀取指令傳送期間早於該位址傳送期間;以及,經過一同步資料準備期間後,該第一記憶體模組與該第二記憶體模組係同時於一同步資料讀取期間,分別傳送一第一同步讀取資料與一第二同步讀取資料至該主控裝置,其中該讀取操作期間係包含該讀取指令傳送期間、該位址傳送期間、該同步資料準備期間與該同步資料讀取期間,且該同步資料準備期間係大於一預設讀取延遲。
  2. 如請求項1所述之記憶體裝置,其中,該主控裝置通知該第二記憶體模組須以一特殊資料同步方式執行該讀取操作;或 該第一記憶體模組通知該第二記憶體模組須以該特殊資料同步方式執行該讀取操作。
  3. 如請求項1所述之記憶體裝置,其中,該第一記憶體模組係於該讀取指令傳送期間開始前,將該更新衝突的情形回報予該主控裝置;或該第一記憶體模組係於該位址傳送期間內,將該更新衝突的情形回報予該主控裝置。
  4. 如請求項1所述之記憶體裝置,其中該第一記憶體模組係藉由一晶片選取信號線、一資料閃控遮罩信號線、一專用信號線、一系統時脈信號線、與一時脈忽略信號線其中的一者或其組合,將該更新衝突的情形回報予該主控裝置。
  5. 如請求項1所述之記憶體裝置,其中該第二記憶體模組係於該同步資料準備期間傳送一捨棄資料,其中,該捨棄資料的內容與該第二同步讀取資料的內容相同。
  6. 如請求項1所述之記憶體裝置,其中,該同步資料準備期間係小於一更新讀取延遲,其中該讀取操作期間係包含:同時用於選取該第一記憶體模組與該第二記憶體模組的一晶片選取期間,其中該晶片選取期間係包含一設定期間、該讀取指令傳送期間、該位址傳送期間、該同步資料準備期間與一部分的該同步資料讀取期間。
  7. 如請求項1所述之記憶體裝置,其中,該同步資料準備期間係大於一更新讀取延遲,其中該讀取操作期間係包含:同時用於選取該第一記憶體模組與該第二記憶體模組的一第一晶片選取期間,其中該第一晶片選取期間係包含一設定期間、該讀取指令傳送期間、該位址傳送期間與一部分的該同步資料準備期間;一晶片選取間距;同時用於選取該第一記憶體模組與該第二記憶體模組的一第二晶片選取期間,其中該第二晶片選取期間係包含一重複讀取指令期間、另一部分的該同步資料準備期間與一部分的該同步資料讀取期間;以及一結束期間,其中該結束期間係包含另一部分的該同步資料讀取期間。
  8. 如請求項7所述之記憶體裝置,其中,該第一記憶體模組係於該同步資料準備期間傳送一第一捨棄資料,且該第二記憶體模組係於該同步資料準備期間傳送一第二捨棄資料,其中,該第一捨棄資料的內容與該第一同步讀取資料的內容相同,且該第二捨棄資料的內容與該第二同步讀取資料的內容相同。
  9. 如請求項8所述之記憶體裝置,其中,該第一晶片選取期間係包含該讀取指令傳送期間與該位址傳送期間,且該第二晶片選取期間係包含該重複讀取指令期間、該同步資料準備期間與該同步資料讀取期間。
  10. 如請求項1所述之記憶體裝置,其中, 該主控裝置係於該同步資料準備期間判斷該第一記憶體模組產生該更新衝突,且該主控裝置係於該同步資料準備期間內通知該第二記憶體模組須以一特殊資料同步方式執行該讀取操作。
  11. 如請求項10所述之記憶體裝置,其中,該第一記憶體模組係因應該讀取操作而發出一第一導引脈衝信號,且該第二記憶體模組係因應該讀取操作而發出一第二導引脈衝信號,其中,該主控裝置係根據該第一導引脈衝信號與該第二導引脈衝信號的比較而判斷該第一記憶體模組產生該更新衝突。
  12. 一種電子裝置,包含:一記憶體裝置,包含:一第一記憶體模組,其係於一讀取操作期間產生一更新衝突;以及一第二記憶體模組;以及一主控裝置,電連接於該第一記憶體模組與該第二記憶體模組,其中該主控裝置係於該讀取操作期間內對該第一記憶體模組與該第二記憶體模組同時執行一讀取操作,其中,該第一記憶體模組與該第二記憶體模組係同時於一讀取指令傳送期間同時接收該主控裝置所傳送的一讀取指令;該第一記憶體模組與該第二記憶體模組係同時於一位址傳送期間分別接收一第一記憶體位址與一第二記憶體位址,其中該讀取指令傳送期間早於該位址傳送期間;以及 經過一同步資料準備期間後,該第一記憶體模組與該第二記憶體模組係同時於一同步資料讀取期間,分別傳送一第一同步讀取資料與一第二同步讀取資料至該主控裝置,其中該讀取操作期間係包含該讀取指令傳送期間、該位址傳送期間、該同步資料準備期間與該同步資料讀取期間,且該同步資料準備期間係大於一預設讀取延遲。
  13. 一種應用於一電子裝置的讀取方法,其中該電子裝置係包含一主控裝置、一第一記憶體模組與一第二記憶體模組,其中該主控裝置係同時於一讀取操作期間內對該第一記憶體模組與該第二記憶體模組同時執行一讀取操作,該第一記憶體模組係於該讀取操作期間產生一更新衝突,且該讀取方法係包含以下步驟:該第一記憶體模組與該第二記憶體模組係同時於一讀取指令傳送期間分別接收該主控裝置所傳送的一第一讀取指令與一第二讀取指令;該第一記憶體模組與該第二記憶體模組係同時於一位址傳送期間分別接收一第一記憶體位址與一第二記憶體位址,其中該讀取指令傳送期間早於該位址傳送期間;以及經過一同步資料準備期間後,該第一記憶體模組與該第二記憶體模組係同時於一同步資料讀取期間,分別傳送一第一同步讀取資料與一第二同步讀取資料至該主控裝置,其中該讀取操作期間係包含該讀取指令傳送期間、該位址傳送期間、該同步資料準備期間與該同步資料讀取期間,且該同步資料準備期間係大於一預設讀取延遲。
TW109122076A 2020-06-30 2020-06-30 記憶體裝置、電子裝置及與其相關的讀取方法 TWI743859B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW109122076A TWI743859B (zh) 2020-06-30 2020-06-30 記憶體裝置、電子裝置及與其相關的讀取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW109122076A TWI743859B (zh) 2020-06-30 2020-06-30 記憶體裝置、電子裝置及與其相關的讀取方法

Publications (2)

Publication Number Publication Date
TWI743859B true TWI743859B (zh) 2021-10-21
TW202203042A TW202203042A (zh) 2022-01-16

Family

ID=80782612

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109122076A TWI743859B (zh) 2020-06-30 2020-06-30 記憶體裝置、電子裝置及與其相關的讀取方法

Country Status (1)

Country Link
TW (1) TWI743859B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201101330A (en) * 2009-06-17 2011-01-01 Mediatek Inc Apparatus and method that accesses memory
US20140169111A1 (en) * 2010-01-07 2014-06-19 Elpida Memory, Inc. Device including a plurality of memory banks and a pipeline control circuit configured to execute a command on the plurality of memory banks
US20150212945A1 (en) * 2014-01-28 2015-07-30 Stmicroelectronics International N.V. Cache memory system with simultaneous read-write in single cycle
TW201732830A (zh) * 2016-01-11 2017-09-16 美光科技公司 用於同時存取非揮發性記憶體之多個分區之裝置及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201101330A (en) * 2009-06-17 2011-01-01 Mediatek Inc Apparatus and method that accesses memory
US20140169111A1 (en) * 2010-01-07 2014-06-19 Elpida Memory, Inc. Device including a plurality of memory banks and a pipeline control circuit configured to execute a command on the plurality of memory banks
US20150212945A1 (en) * 2014-01-28 2015-07-30 Stmicroelectronics International N.V. Cache memory system with simultaneous read-write in single cycle
TW201732830A (zh) * 2016-01-11 2017-09-16 美光科技公司 用於同時存取非揮發性記憶體之多個分區之裝置及方法

Also Published As

Publication number Publication date
TW202203042A (zh) 2022-01-16

Similar Documents

Publication Publication Date Title
JP5415677B2 (ja) 高速メモリシステムにおいて読出しタイミングを同期させる方法
JP2007507056A (ja) メモリー素子、インターフェース・バッファ、メモリー・システム、コンピューター・システム、方法、機械アクセス可能な媒体
US7555625B2 (en) Multi-memory chip and data transfer method capable of directly transferring data between internal memory devices
US10892001B2 (en) Protocol for refresh between a memory controller and a memory device
JP2015158948A (ja) メモリ装置電源管理装置
US8468281B2 (en) Apparatus to improve bandwidth for circuits having multiple memory controllers
TW200921671A (en) Memory control device and semiconductor processing apparatus
US11928066B2 (en) I2C bridge device
US5818464A (en) Method and apparatus for arbitrating access requests to a shared computer system memory by a graphics controller and memory controller
EP2223224B1 (en) Scheduling based on turnaround event
TWI743859B (zh) 記憶體裝置、電子裝置及與其相關的讀取方法
WO2019141050A1 (zh) 一种刷新处理方法、装置、系统及内存控制器
US6469940B1 (en) Memory access method and system for writing and reading SDRAM
TWI766373B (zh) 單線雙向通訊電路及單線雙向通訊方法
JPH02120960A (ja) データを転送するためのおよびデータ転送周期の期間を減少させるための方法
TW200539180A (en) Semiconductor memory device without decreasing performance thereof even if refresh operation or word line changing operation occur during burst operation
WO2023125410A1 (zh) 访问片内存储控制单元的写数据通路的方法及电路
CN113900580A (zh) 存储器装置、电子装置及与其相关的读取方法
KR100438736B1 (ko) 어드레스 라인을 이용해 데이터 쓰기를 수행하는 메모리제어 장치
US7346714B2 (en) Notification of completion of communication with a plurality of data storage areas
US7062593B2 (en) Circuit system and method for data transmission between LPC devices
US20020181316A1 (en) System to set burst mode in a device
JPH11232180A (ja) データ処理装置
JP2002268827A (ja) 多重化記憶制御装置
JPH1185406A (ja) タイムスロット生成装置