雙端口存儲系統(tǒng)的存取控制方法
【專利摘要】本發(fā)明提供了一種雙端口存儲系統(tǒng)的存取控制方法。該方法包括:由第一處理器,請求由雙端口存儲器的存取;以及由雙端口存儲器,發(fā)送根據(jù)存取請求的結(jié)果信號給第一處理器,其中結(jié)果信號包括用于通知存取成功的第一結(jié)果信號、用于通知存取失敗的第二結(jié)果信號、和用于通知存取持續(xù)的第三結(jié)果信號。
【專利說明】
雙端口存儲系統(tǒng)的存取控制方法
技術(shù)領(lǐng)域
[0001 ]本公開涉及一種雙端口存儲系統(tǒng),且特別是,涉及一種雙端口存儲系統(tǒng)的存取控制方法。
【背景技術(shù)】
[0002]近年來,諸如個(gè)人數(shù)字助理(PDA)的移動(dòng)通信終端除了無線通信功能以外還包括諸如數(shù)字?jǐn)z像機(jī)、視頻通信、和多媒體回放的各種附加服務(wù)功能。
[0003]移動(dòng)通信終端可以包括諸如基帶處理器、應(yīng)用處理器等等至少一個(gè)處理器以便處理無線通信和各種附加服務(wù)功能,并且使用雙端口存儲器以便減小每個(gè)處理器的數(shù)據(jù)處理速度和存儲器的安裝面積。
[0004]也就是,當(dāng)兩個(gè)處理器使用雙端口存儲器時(shí),由于每個(gè)處理器在通過其端口存取存儲單元陣列時(shí)都可以讀取和寫入數(shù)據(jù),與兩個(gè)處理器分別連接至不同的存儲器并通過主機(jī)處理器接口(HPI)交換處理數(shù)據(jù)的情況相比,數(shù)據(jù)傳輸和處理速度更快并且因此,可以更好地提高系統(tǒng)的整體性能。
[0005]圖1為示出根據(jù)現(xiàn)有技術(shù)的雙端口存儲系統(tǒng)的配置的視圖,且圖2為示出圖1的雙端口存儲系統(tǒng)的時(shí)序圖。
[0006]參見圖1,雙端口存儲系統(tǒng)包括雙端口存儲器1、第一處理器2、和第二處理器3。
[0007]雙端口存儲器I可以為同步動(dòng)態(tài)隨機(jī)存取存儲器(SDRAM)。
[0008]此處,當(dāng)雙端口存儲器I應(yīng)用于移動(dòng)通信終端時(shí),第一處理器2可以作為基帶處理器運(yùn)行并且第二處理器3可作為應(yīng)用處理器運(yùn)行。
[0009]移動(dòng)通信終端中的基帶處理器可以執(zhí)行通信功能并且控制用于執(zhí)行具體功能(例如,多媒體回放、攝像機(jī)功能等等)的應(yīng)用處理器的操作。此外,基帶處理器可以控制設(shè)置于移動(dòng)通信終端中的附加設(shè)備(例如,顯示單元、外部存儲設(shè)備等等)的操作。
[0010]第一處理器2可以通過第一外部總線接口(未示出)在雙端口存儲器I上讀取和寫入數(shù)據(jù)并且第二處理器3可以通過第二外部總線接口(未示出)在雙端口存儲器I上讀取和寫入數(shù)據(jù)。
[0011]第一處理器2和第二處理器3中的每一個(gè)均和雙端口存儲器I交換時(shí)鐘信號CLK、芯片選擇信號CS、地址信號、數(shù)據(jù)信號數(shù)據(jù)、寫入信號WR、和存取請求結(jié)果信號(例如,繁忙)。
[0012]在這點(diǎn)上,當(dāng)嘗試存取雙端口存儲器I時(shí),第一處理器2和第二處理器3請求由雙端口存儲器I的存取。
[0013]在此,當(dāng)存在來自第一處理器2或第二處理器3的存取請求時(shí),雙端口存儲器I判定是否存在當(dāng)前另一個(gè)處理器的存取并且根據(jù)此存取輸出存取請求結(jié)果信號。
[0014]也就是,當(dāng)當(dāng)前另一個(gè)處理器已經(jīng)在存取雙端口存儲器I時(shí),雙端口存儲器I輸出繁忙信號作為存取請求結(jié)果信號以通知請求存取的處理器存取失敗。在這點(diǎn)上,繁忙信號具有低電平有效形式并且當(dāng)如上所述據(jù)此通知了存取失敗時(shí),如圖2中所示輸出低電平信號LOW作為存取請求結(jié)果信號。
[0015]此外,當(dāng)當(dāng)前另一個(gè)處理器未正在進(jìn)行存取時(shí),雙端口存儲器I允許請求存取的處理器的存取。
[0016]與根據(jù)現(xiàn)有技術(shù)的存取雙端口存儲器I的方法有關(guān)的是,在第一處理器2嘗試存取雙端口存儲器I時(shí),如果第二處理器已經(jīng)在存取雙端口存儲器I,則雙端口存儲器I輸出繁忙信號Busy至第一處理器2以通知第一處理器2存取失敗。
[0017]但是,根據(jù)上述現(xiàn)有技術(shù)的存取方法,由于檢查用于通知存取失敗的繁忙信號且據(jù)此,當(dāng)對雙端口存儲器I的存取失敗時(shí)要求對雙端口存儲器I的請求的存取稍后在應(yīng)用級進(jìn)行,到重試該存取為止,花費(fèi)了很長時(shí)間。
【發(fā)明內(nèi)容】
[0018]實(shí)施例提供了一種新型雙端口存儲系統(tǒng)的存取方法。
[0019]實(shí)施例還提供了一種雙端口存儲系統(tǒng)的存取方法以通過增加超時(shí)(time-out)功能和持續(xù)(hold)功能來允許作為極大減少存取重試時(shí)間的優(yōu)化存取。
[0020]在一個(gè)實(shí)施例中,提供了一種雙端口存儲系統(tǒng)的存取控制方法。該方法包括:由第一處理器,請求由雙端口存儲器的存?。灰约坝呻p端口存儲器,發(fā)送根據(jù)存取請求的結(jié)果信號給第一處理器,其中結(jié)果信號包括用于通知存取成功的第一結(jié)果信號、用于通知存取失敗的第二結(jié)果信號、和用于通知存取持續(xù)的第三結(jié)果信號。
[0021 ]結(jié)果信號的發(fā)送可以包括:檢查第二處理器的存取狀態(tài);當(dāng)?shù)诙幚砥魑丛诖嫒≈袝r(shí),發(fā)送第一結(jié)果信號給第一處理器;當(dāng)?shù)诙幚砥髟诖嫒≈袝r(shí),檢查是否經(jīng)過預(yù)定允許時(shí)間;如果經(jīng)過預(yù)定允許時(shí)間,則發(fā)送第二結(jié)果信號給第一處理器;以及如果未經(jīng)過預(yù)定允許時(shí)間,發(fā)送第三結(jié)果信號給第一處理器。
[0022]當(dāng)?shù)谌Y(jié)果信號被發(fā)送給第一處理器時(shí),雙端口存儲器可以檢查第二處理器的存取是否終止并根據(jù)第二處理器的存取是否終止,再次發(fā)送結(jié)果信號給第一處理器。
[0023]當(dāng)?shù)诙幚砥鞯拇嫒≡诮?jīng)過允許時(shí)間之前終止時(shí),雙端口存儲器可以再次發(fā)送第一結(jié)果信號給第一處理器。
[0024]當(dāng)接收到第三結(jié)果信號時(shí),處理器可以在經(jīng)過預(yù)定允許時(shí)間以前等待接收由雙端口存儲器再次發(fā)送的結(jié)果信號。
[0025]當(dāng)接收到第三結(jié)果信號且經(jīng)過預(yù)定允許時(shí)間時(shí),第一處理器可以將接收到的第三結(jié)果信號確認(rèn)為對應(yīng)于第二結(jié)果信號的存取失敗。
[0026]第一結(jié)果信號到第三結(jié)果信號可以通過由雙端口存儲器發(fā)送給第一處理器的第一信號和第二信號的高電平狀態(tài)和低電平狀態(tài)來判定。
[0027]在此外的另一實(shí)施例中,提供了一種雙端口存儲系統(tǒng)的存取控制方法。該方法包括:由第一處理器,請求由雙端口存儲器的存??;由雙端口存儲器,檢查第二處理器的存取狀態(tài);當(dāng)?shù)诙幚砥魑丛诖嫒≈袝r(shí),允許第一處理器的存??;以及當(dāng)?shù)诙幚砥髟诖嫒≈袝r(shí),由雙端口存儲器,發(fā)送用于通知存取拒絕的繁忙信號給第一處理器,其中繁忙信號基于預(yù)定第一允許時(shí)間在經(jīng)過預(yù)定第一允許時(shí)間之前用作用于通知存取等待的信號且在經(jīng)過預(yù)定第一允許時(shí)間之后用作用于通知存取失敗的信號。
[0028]當(dāng)發(fā)送給第一處理器的繁忙信號是用于通知存取等待的信號時(shí),雙端口存儲器可以檢查第二處理器的存取是否終止,當(dāng)?shù)诙幚砥鞯拇嫒〗K止時(shí)雙端口存儲器可以允許第一處理器的存取,并當(dāng)?shù)诙幚砥鞯拇嫒]有終止時(shí)雙端口存儲器可以根據(jù)是否經(jīng)過預(yù)定第一允許時(shí)間再次發(fā)送繁忙信號。
[0029]當(dāng)接收到用于通知存取等待的繁忙信號時(shí),在經(jīng)過預(yù)定第二允許時(shí)間以前,第一處理器可以等待接收由雙端口存儲器再次發(fā)送的存取結(jié)果信號。
[0030]第一允許時(shí)間可以是設(shè)定在雙端口存儲器中的時(shí)間并且第二允許時(shí)間可以是設(shè)定在第一處理器中的時(shí)間。
[0031]在以下的附圖和說明書中闡述一個(gè)或多個(gè)實(shí)施例的細(xì)節(jié)。從說明書和附圖、以及從權(quán)利要求書中其他特征將是顯而易見的。
【附圖說明】
[0032]圖1為示出根據(jù)現(xiàn)有技術(shù)的雙端口存儲系統(tǒng)的配置的視圖。
[0033 ]圖2為示出圖1的雙端口存儲系統(tǒng)的存取時(shí)序圖。
[0034]圖3為示出根據(jù)本發(fā)明的第一實(shí)施例的雙端口存儲系統(tǒng)的配置的視圖。
[0035]圖4到圖6為示出根據(jù)本發(fā)明的實(shí)施例的雙端口存儲系統(tǒng)的狀態(tài)特定的存取時(shí)序圖。
[0036]圖7為示出根據(jù)本發(fā)明的第一實(shí)施例的雙端口存儲系統(tǒng)中處理器的逐步操作的流程圖。
[0037]圖8為示出根據(jù)本發(fā)明的第一實(shí)施例的雙端口存儲系統(tǒng)中雙端口存儲器的逐步操作的流程圖。
[0038]圖9為示出根據(jù)本發(fā)明的第二實(shí)施例的雙端口存儲系統(tǒng)的配置的視圖。
[0039]圖10為示出根據(jù)本發(fā)明的第二實(shí)施例的雙端口存儲系統(tǒng)中處理器的逐步操作的流程圖。
[0040]圖11為示出根據(jù)本發(fā)明的第二實(shí)施例的雙端口存儲系統(tǒng)中雙端口存儲器的逐步操作的流程圖。
【具體實(shí)施方式】
[0041]以下參考附圖更詳細(xì)地描述一些實(shí)施例。在下面的描述中,由于為了容易進(jìn)行本公開而給部件賦予并交換了后綴“模塊”和“單元”,所以它們不具有不同的含義或功能。
[0042]本發(fā)明概念的效果和特征及其實(shí)施方式將通過參考附圖描述的以下的實(shí)施例來澄清。然而,實(shí)施例可以以不同形式來具體實(shí)現(xiàn)并且本發(fā)明概念不應(yīng)該解釋為局限于本文中所闡述的實(shí)施例。相反,提供這些實(shí)施例以使本公開徹底和完整并向本領(lǐng)域的技術(shù)人員充分表達(dá)了本發(fā)明概念的范圍。此外,本發(fā)明概念僅由權(quán)利要求書的范圍來限定。貫穿本公開的相同的附圖標(biāo)記指的是相同的部件。
[0043]在描述實(shí)施例時(shí),將去除與已知功能或配置相關(guān)的詳細(xì)描述以便不會不必要地模糊實(shí)施例的主題。此外,由于考慮到實(shí)施例中的功能來定義本文中使用的術(shù)語,這些術(shù)語可能會取決于用戶的、操作者的意圖或?qū)嵺`而改變。因此,需要基于貫穿本發(fā)明概念的細(xì)節(jié)來作出這些定義。
[0044]附圖的每個(gè)塊和流程圖的每個(gè)步驟的組合還可以通過計(jì)算機(jī)程序指令來執(zhí)行。由于計(jì)算機(jī)程序指令可以加載于通用計(jì)算機(jī)、專用計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器上,所以由計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令創(chuàng)建了執(zhí)行在附圖的每個(gè)塊或流程圖的每個(gè)步驟上描述的功能的工具。由于計(jì)算機(jī)程序指令還可以存儲于可以針對計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的計(jì)算機(jī)可使用或計(jì)算機(jī)可讀取的存儲器中以便以特定的方式來實(shí)現(xiàn)功能,所以存儲于計(jì)算機(jī)可使用或計(jì)算機(jī)可讀取的存儲器中的指令還可以產(chǎn)生包括執(zhí)行在附圖的每個(gè)塊或流程圖的每個(gè)步驟上描述的功能的指令工具的項(xiàng)。計(jì)算機(jī)程序指令還可以加載于計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上。因此,由于在計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上執(zhí)行一系列操作步驟以創(chuàng)建由計(jì)算機(jī)執(zhí)行的進(jìn)程,所以操作計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的指令還可以提供用于執(zhí)行在附圖的每個(gè)塊或流程圖的每個(gè)步驟上描述的功能的步驟。
[0045]另外,每個(gè)塊或每個(gè)步驟可以代表包括用于執(zhí)行特定邏輯功能的一條或多條可執(zhí)行指令的模塊、程序段或代碼的一部分。另外,應(yīng)當(dāng)注意的是可以用按照不同的順序執(zhí)行塊或步驟處所述功能的這樣的方式來執(zhí)行一些替換例。例如,相繼所示的兩個(gè)塊或步驟還可以大致同時(shí)來執(zhí)行,或者根據(jù)相應(yīng)的功能有時(shí)還可以按照相反的順序來執(zhí)行這些塊或步驟。
[0046]現(xiàn)在將詳細(xì)提及本公開的實(shí)施例,在附圖中示出了其示例。
[0047]圖3為示出根據(jù)本發(fā)明的第一實(shí)施例的雙端口存儲系統(tǒng)的配置的視圖,并且圖4到圖6為雙端口存儲系統(tǒng)的狀態(tài)特定的存取時(shí)序圖。
[0048]參見圖3,雙端口存儲系統(tǒng)包括雙端口存儲器110、第一處理器120、和第二處理器130。
[0049]第一處理器120通過第一端口(未示出)存取雙端口存儲器110,并且第二處理器130通過第二端口(未示出)存取雙端口存儲器110。
[0050]第一處理器120,例如,可以用移動(dòng)通信終端的基帶處理器來配置。
[0051]第二處理器130,例如,可以用移動(dòng)通信終端的應(yīng)用處理器來配置。
[0052]雙端口存儲器110通過第一端口連接至第一處理器120,并通過第二端口連接至第二處理器130。
[0053]此外,雙端口存儲器110可以包括存儲接口(未示出)和存儲區(qū)(未示出)。
[0054]每個(gè)存儲接口可以用SDRAM或PSRAM接口來配置并且可以包括命令譯碼器、行譯碼器、列譯碼器、和輸入/輸出緩沖器。
[0055]每個(gè)存儲接口通過每個(gè)相應(yīng)端口接收地址、控制信號、時(shí)鐘、和數(shù)據(jù),通過將地址譯碼為行地址和列地址來判定要執(zhí)行讀取或?qū)懭氩僮鞯拇鎯^(qū),并根據(jù)在預(yù)定存儲區(qū)上的諸如讀取、寫入、和刷新的操作時(shí)序從預(yù)定存儲區(qū)讀取數(shù)據(jù)或在預(yù)定存儲區(qū)上寫入數(shù)據(jù)。
[0056]雙端口存儲器110可以被分成專用存儲區(qū)和共用存儲區(qū)。專用存儲區(qū)是第一處理器120和第二處理器130通過第一端口和第二端口存取并且保證獨(dú)占的存取以防止第一處理器120和第二處理器130的存取沖突的存儲區(qū)。
[0057]共用存儲區(qū)是第一處理器120和第二處理器130共用地存取以讀取或?qū)懭霐?shù)據(jù)的區(qū)域。
[0058]存儲區(qū)可以具有DRAM的單位存儲單元結(jié)構(gòu),并可以用預(yù)定存儲體單元(bankunit)來配置??商娲?,每個(gè)存儲區(qū)可以用在一個(gè)存儲體中具有預(yù)定大小的塊單元來配置。
[0059]雙端口存儲器110的第一存儲接口(未示出)可以用同步DRAM(SDRAM)存儲接口來配置。因此,雙端口存儲器110的第一存儲接口通過第一端口從第一處理器120接收地址、控制信號、時(shí)鐘CLK、和數(shù)據(jù),并且在據(jù)此將地址譯碼為行地址和列地址之后,基于譯碼后的地址根據(jù)諸如存儲區(qū)的讀取、寫入、和刷新的操作時(shí)序從存儲區(qū)讀取數(shù)據(jù)或在存儲區(qū)上寫入數(shù)據(jù)。
[0060]為此,第一存儲接口可以包括用于通用SDRAM的命令譯碼器(未示出)、行譯碼器(未示出)、列譯碼器(未示出)、和輸入/輸出緩沖器(未示出)。
[0061]此外,雙端口存儲器110的第二存儲接口(未示出)用SDRAM存儲接口來配置并通過第二端口連接至第二處理器130,使得其從第二處理器130接收地址、控制信號、時(shí)鐘、和數(shù)據(jù)。
[0062]此外,在將輸入的地址譯碼為行地址和列地址之后,雙端口存儲器110的第二存儲接口基于譯碼后的地址根據(jù)諸如存儲區(qū)的讀取、寫入、和刷新的操作時(shí)序從存儲區(qū)讀取數(shù)據(jù)或在存儲區(qū)上寫入數(shù)據(jù)。
[0063]為此,第二存儲接口可以包括用于通用SDRAM接口的命令譯碼器(未示出)、行譯碼器(未示出)、列譯碼器(未示出)、和輸入/輸出緩沖器(未示出)。
[0064]另一方面,當(dāng)存在來自第一處理器120或第二處理器130的存取請求時(shí),雙端口存儲器110檢查雙端口存儲器110的存儲區(qū)是否由當(dāng)前另一個(gè)處理器使用。
[0065]另一方面,雙端口存儲器110根據(jù)該存儲區(qū)域是否被使用來輸出根據(jù)存取請求的存取結(jié)果信號至請求存取的處理器。
[0066]在這點(diǎn)上,雙端口存儲器110將根據(jù)存取請求的存取結(jié)果信號分為第一結(jié)果信號、第二結(jié)果信號、和第三結(jié)果信號并據(jù)此,輸出它們中的一個(gè)作為根據(jù)存取請求的結(jié)果信號。
[0067]第一結(jié)果信號是用于通知存取成功的信號,第二結(jié)果信號是用于通知存取失敗的信號,并且第三結(jié)果信號是用于通知存取持續(xù)的信號。
[0068]在這點(diǎn)上,一般而言,雙端口存儲器110通過一條信號線輸出高電平信號或低電平信號以輸出結(jié)果信號。也就是,存取結(jié)果信號是具有低電平有效形式的信號。因此,當(dāng)信號為低電平時(shí),它通知存取失敗而當(dāng)信號為高電平時(shí),它通知存取成功。
[0069]但是,根據(jù)本公開的第一實(shí)施例,存取結(jié)果信號通過兩條信號線輸出,使得存取成功信號、存取失敗信號、和存取持續(xù)信號中的每一個(gè)都可以通過將兩個(gè)信號組合而被輸出。
[0070]在這點(diǎn)上,存取持續(xù)信號由預(yù)定允許時(shí)間來確定。
[0071 ] 為此,雙端口存儲器110包括第三計(jì)時(shí)器115。
[0072]第三計(jì)時(shí)器115根據(jù)預(yù)定允許時(shí)間輸出第一結(jié)果信號、第二結(jié)果信號、和第三結(jié)果信號中的一個(gè)至請求存取的處理器。
[0073]下文中,請求存取的處理器稱為第一處理器并被描述。但是,這只是一個(gè)實(shí)施例,且由第一處理器執(zhí)行的操作可以由第二處理器同樣地執(zhí)行。
[0074]當(dāng)要求存取時(shí),第一處理器120發(fā)送存取請求信號給雙端口存儲器110。
[0075]雙端口存儲器110根據(jù)存取請求信號判定當(dāng)前第二處理器130是否在存取中。
[0076]然后,如果第二處理器130未在存取中,雙端口存儲器110輸出用于通知存取成功的第一結(jié)果信號至第一處理器120。
[0077]另一方面,如果第二處理器130在存取中,雙端口存儲器110通過第三計(jì)時(shí)器115檢查從第一處理器120請求存取的時(shí)間點(diǎn)起是否經(jīng)過預(yù)定允許時(shí)間,并且根據(jù)是否經(jīng)過允許時(shí)間來輸出用于通知存取失敗的第二結(jié)果信號或用于通知存取持續(xù)的第三結(jié)果信號。
[0078]然后,如果從第一處理器120請求存取的時(shí)間點(diǎn)起經(jīng)過預(yù)定允許時(shí)間,雙端口存儲器110據(jù)此輸出用于通知存取失敗的第二結(jié)果信號至第一處理器120并且請求稍后再存取。
[0079]此外,如果從第一處理器120請求存取的時(shí)間點(diǎn)起未經(jīng)過預(yù)定允許時(shí)間,雙端口存儲器110輸出用于通知存取持續(xù)的第三結(jié)果信號至第一處理器120。
[0080]存取持續(xù)用于當(dāng)雙端口存儲器110和第一處理器120互相連接時(shí)在所請求的時(shí)間內(nèi)保持存取請求。
[0081 ] 此外,在輸出第三結(jié)果信號時(shí),雙端口存儲器110檢查第二處理器130的存取是否在經(jīng)過所請求的時(shí)間之前終止并且如果第二處理器130的存取終止,輸出用于通知存取成功的第一結(jié)果信號至第一處理器120。
[0082]因此,在這個(gè)實(shí)施例中,通過增加存取持續(xù)功能以在預(yù)定允許時(shí)間內(nèi)持續(xù)保持請求存取的狀態(tài),可以防止嘗試另外的存取請求的不便。
[0083 ]另一方面,結(jié)果信號由ACK信號和NAK信號的狀態(tài)來確定。
[0084]參考圖4,它顯示出ACK信號處于低電平狀態(tài)且NAK信號處于高電平狀態(tài)。也就是,ACK信號和NAK信號可以具有低電平有效形式。
[0085]因此,圖4的信號通知ACK信號處于有效中并且這用作根據(jù)存取請求表示肯定的用于通知存取成功的信號。
[0086]此外,參考圖5,它顯示出ACK信號處于高電平狀態(tài)且NAK信號處于低電平狀態(tài)。
[0087]因此,圖5的信號通知NAK信號處于有效中并且這用作根據(jù)存取請求表示否定的用于通知存取失敗的信號。
[0088]此外,參考圖6,它顯示出ACK信號和NAK信號均處于低電平狀態(tài)。因此,圖6的信號通知ACK信號和NAK信號都處于有效中并且這用作根據(jù)存取請求既表示肯定又代表否定的存取持續(xù)信號。
[0089]另一方面,第一處理器120接收由雙端口存儲器110發(fā)送的結(jié)果信號并且當(dāng)結(jié)果信號為第一結(jié)果信號時(shí),正常存取雙端口存儲器110以執(zhí)行數(shù)據(jù)讀取或?qū)懭氩僮鳌?br>[0090]此外,當(dāng)由雙端口存儲器110發(fā)送的結(jié)果信號為第二結(jié)果信號時(shí),第一處理器120確認(rèn)當(dāng)前不能夠存取雙端口存儲器110并據(jù)此稍后重試存取。
[0091]此外,當(dāng)由雙端口存儲器110發(fā)送的結(jié)果信號為第三結(jié)果信號時(shí),第一處理器120將第三結(jié)果信號確認(rèn)為存取失敗或存取持續(xù)信號。
[0092]換言之,當(dāng)接收到第三結(jié)果信號時(shí),第一處理器120判定從請求存取的時(shí)間點(diǎn)起是否經(jīng)過預(yù)定允許時(shí)間。
[0093]然后,如果經(jīng)過預(yù)定允許時(shí)間,第一處理器120將第三結(jié)果信號確認(rèn)為存取失敗信號。
[0094]此外,如果未經(jīng)過預(yù)定允許時(shí)間,第一處理器120將第三結(jié)果信號確認(rèn)為存取持續(xù)信號并據(jù)此,等待接收由雙端口存儲器110再次發(fā)送的結(jié)果信號。
[0095]換言之,如果根據(jù)存取請求的存取不可得,則第一處理器120在預(yù)定允許時(shí)間以前等待以預(yù)備存取結(jié)果改變的情況。
[0096]換言之,在由第一處理器120請求存取的時(shí)間點(diǎn),第一處理器120的存取可能由于第二處理器130的存取而不可得。在這點(diǎn)上,第二處理器130的存取可以在預(yù)定允許時(shí)間之內(nèi)被終止。
[0097]因此,根據(jù)本發(fā)明,在預(yù)備第二處理器130的存取終止的情況中,通過在預(yù)定允許時(shí)間之內(nèi)持續(xù)保持第一處理器120的存取請求狀態(tài),可以防止再次發(fā)送存取請求的不便。
[0098]圖7為示出根據(jù)本發(fā)明的第一實(shí)施例的雙端口存儲系統(tǒng)中處理器的逐步操作的流程圖。圖8為示出根據(jù)本發(fā)明的實(shí)施例的雙端口存儲系統(tǒng)中雙端口存儲器的操作的流程圖。
[0099]參見圖7,在要求存取時(shí),第一處理器120可以請求由雙端口存儲器110的存取。
[0100]然后,在操作102中,第一處理器120接收根據(jù)存取請求的結(jié)果信號。
[0101]存取結(jié)果信號可以包括ACK信號和NAK信號且根據(jù)存取請求的結(jié)果是通過ACK信號和NAK信號的組合來判定的。
[0102]在操作103中,第一處理器120判定接收到的結(jié)果信號是否為ACK信號和NAK信號都處于低電平狀態(tài)(數(shù)值O)。
[0103]也就是,第一處理器120判定根據(jù)存取請求的結(jié)果信號是否為用于通知存取持續(xù)的第三結(jié)果信號。
[0104]然后,如果接收到的結(jié)果信號為第三結(jié)果信號,在操作104中,第一處理器120檢查預(yù)定請求時(shí)間并據(jù)此,在操作105中,第一處理器120判定是否經(jīng)過預(yù)定請求時(shí)間。
[0105]然后,如果未經(jīng)過預(yù)定請求時(shí)間,第一處理器120返回至操作102以再次接收根據(jù)存取請求的結(jié)果信號。
[0106]此外,如果經(jīng)過預(yù)定請求時(shí)間,第一處理器120確認(rèn)第三結(jié)果信號作為存取失敗信號。
[0107]另一方面,如果根據(jù)存取請求的結(jié)果信號不是第三結(jié)果信號,在操作107中,第一處理器120判定接收到的結(jié)果信號是否為ACK信號是低電平而NAK信號是高電平。
[0108]也就是,第一處理器120判定根據(jù)存取請求的結(jié)果信號是否為用于通知存取成功的第一結(jié)果信號。
[0109]然后,如果根據(jù)存取請求的結(jié)果信號為第一結(jié)果信號,在操作108中,第一處理器120確認(rèn)存取被允許。
[0110]另一方面,如果根據(jù)存取請求的結(jié)果信號不是第一結(jié)果信號,在操作109中,第一處理器120判定接收到的結(jié)果信號是否是ACK信號是高電平而NAK信號是低電平。
[0111]也就是,第一處理器120判定根據(jù)存取請求的結(jié)果信號是否為用于通知存取失敗的第二結(jié)果信號。
[0112]然后,如果根據(jù)存取請求的結(jié)果信號是第二結(jié)果信號,在操作106中,第一處理器120確認(rèn)存取被拒絕。
[0113]此外,在操作110中,當(dāng)根據(jù)存取請求的接收到的結(jié)果信號是ACK信號和NAK信號都處于對應(yīng)于無響應(yīng)狀態(tài)的高電平狀態(tài)時(shí),在操作111中,第一處理器120檢查與雙端口存儲器110的連接狀態(tài)以重試存取請求。
[0114]在本發(fā)明的上述實(shí)施例中,設(shè)定預(yù)定允許時(shí)間且在該允許時(shí)間內(nèi)允許存取持續(xù)。
[0115]參見圖8,在操作201中,雙端口存儲器110接收到來自第一處理器120的存取請求信號。
[0116]然后,雙端口存儲器110根據(jù)該存取請求檢查另一個(gè)處理器(例如,第二處理器)的存取狀態(tài)。
[0117]然后,在操作203中,雙端口存儲器110根據(jù)已檢查的存取狀態(tài)判定另一個(gè)處理器是否在存取中。
[0118]如果另一個(gè)處理器當(dāng)前在存取中,在操作204中,雙端口存儲器110檢查預(yù)定允許時(shí)間。
[0119]然后,在操作205中,雙端口存儲器110判定是否經(jīng)過所檢查的預(yù)定允許時(shí)間。
[0120]如果基于判定結(jié)果未經(jīng)過預(yù)定允許時(shí)間,在操作206中,雙端口存儲器110輸出第三結(jié)果信號(ACK信號和NAK信號均處于低電平狀態(tài));否則,在操作207中,雙端口存儲器110輸出第二結(jié)果信號(ACK信號和NAK信號均為高電平狀態(tài))。
[0121 ]此外,如果沒有進(jìn)行另一個(gè)處理器的存取,在操作208中,雙端口存儲器110輸出第一結(jié)果信號(ACK信號是低電平狀態(tài)而NAK信號是高電平狀態(tài))。
[0122]在這點(diǎn)上,如果發(fā)送第三結(jié)果信號,雙端口存儲器110定期地檢查另一個(gè)處理器的存取終止并且如果存取終止,再次發(fā)送第一結(jié)果信號給第一處理器120。
[0123]此外,不同于此,如果在未做出存取終止的狀態(tài)下經(jīng)過允許時(shí)間,雙端口存儲器110再次發(fā)送第二結(jié)果信號給第一處理器120。
[0124]圖9為示出根據(jù)本發(fā)明的第二實(shí)施例的雙端口存儲系統(tǒng)的配置的視圖。
[0125]根據(jù)本發(fā)明的第二實(shí)施例的雙端口存儲系統(tǒng)包括:雙端口存儲器,其包括第三計(jì)時(shí)器215 ;第一處理器220,其包括第一計(jì)時(shí)器225 ;和第二處理器230,其包括第二計(jì)時(shí)器235。
[0126]參見圖9,雙端口存儲系統(tǒng)具有與圖3中所示的雙端口存儲系統(tǒng)相同的整體配置。
[0127]盡管根據(jù)本發(fā)明的第一實(shí)施例,根據(jù)存取結(jié)果的結(jié)果信號通過兩條線來發(fā)送,但是在第二實(shí)施例中根據(jù)存取請求的結(jié)果信號是通過一條線來發(fā)送的。
[0128]第一線為從通用雙端口存儲系統(tǒng)輸出繁忙信號的線。
[0129]如果存在來自第一處理器220的存取請求,雙端口存儲器210檢查當(dāng)前另一個(gè)處理器是否在存取中并據(jù)此,根據(jù)是否存在存取來輸出表示存取拒絕的繁忙信號。
[0130]在這點(diǎn)上,繁忙信號可以用作用于通知存取失敗的信號,或可以用作用于通知存取持續(xù)的信號。
[0131 ]也就是,如果另一個(gè)處理器在存取中,雙端口存儲器210判定是否經(jīng)過預(yù)定第一允許時(shí)間。
[0132]此處,第一允許時(shí)間是在雙端口存儲器210中設(shè)定的時(shí)間并且例如可以設(shè)定為諸如I秒和2秒的時(shí)間。
[0133]然后,如果經(jīng)過預(yù)定第一允許時(shí)間,雙端口存儲器210輸出繁忙信號作為用于通知存取失敗的ig號。
[0134]此外,如果未經(jīng)過預(yù)定第一允許時(shí)間,雙端口存儲器210輸出繁忙信號作為用于通知存取持續(xù)的信號。
[0135]在這點(diǎn)上,如果輸出繁忙信號作為用于通知存取持續(xù)的信號,雙端口存儲器210定期地檢查另一個(gè)處理器的存取終止,并且如果該存取終止,通知第一處理器220存取成功。
[0136]當(dāng)請求由雙端口存儲器210的存取且根據(jù)來自雙端口存儲器210的存取允許的存取成功被確認(rèn)時(shí),第一處理器220存取雙端口存儲器210以執(zhí)行數(shù)據(jù)讀取和寫入操作。
[0137]此外,第一處理器220請求由雙端口存儲器210的存取并且如果據(jù)此從雙端口存儲器210接收到根據(jù)存取拒絕的繁忙信號,第一處理器220可以識別繁忙信號是用于存取失敗的信號還是用于通知存取持續(xù)的信號。
[0138]此處,識別繁忙信號是用于存取失敗的信號還是用于通知存取持續(xù)的信號是根據(jù)是否經(jīng)過預(yù)定第二允許時(shí)間來執(zhí)行的。
[0139]也就是,當(dāng)接收到繁忙信號時(shí),第一處理器220檢查是否經(jīng)過預(yù)定第二允許時(shí)間。然后,如果經(jīng)過預(yù)定第二允許時(shí)間,第一處理器220確認(rèn)繁忙信號作為存取失敗信號。此外,如果未經(jīng)過預(yù)定第二允許時(shí)間,第一處理器220確認(rèn)繁忙信號作為存取持續(xù)信號且據(jù)此,等待接收由雙端口存儲器210再次發(fā)送的結(jié)果信號。
[0140]此處,第二允許時(shí)間是設(shè)定在第一處理器220中的時(shí)間。
[0141]在這點(diǎn)上,第一允許時(shí)間和第二允許時(shí)間可以彼此相同或者不同于此,可以設(shè)定為不同的時(shí)間。
[0142]圖10為示出根據(jù)本發(fā)明的第二實(shí)施例的雙端口存儲系統(tǒng)中處理器的逐步操作的流程圖。
[0143]參見圖10,在操作301中,第一處理器220發(fā)送存取請求信號給雙端口存儲器210。
[0144]然后,在操作302中,第一處理器220接收根據(jù)存取請求信號的存取結(jié)果信號。
[0145]然后,在操作303中,第一處理器220判定接收到的存取請求結(jié)果信號是否為繁忙信號。也就是,第一處理器220判定是否接收到處于低電平狀態(tài)的繁忙信號。
[0146]也就是,當(dāng)接收到繁忙信號時(shí),在操作304中,第一處理器220檢查預(yù)定第二允許時(shí)間。
[0147]然后,在操作305中,第一處理器220判定是否經(jīng)過所檢查的第二允許時(shí)間。也就是,第一處理器220判定當(dāng)前時(shí)間點(diǎn)是否為基于請求存取的時(shí)間點(diǎn)經(jīng)過第二允許時(shí)間的時(shí)間點(diǎn)。
[0148]然后,如果未經(jīng)過第二允許時(shí)間,第一處理器220確認(rèn)繁忙信號作為存取持續(xù)信號并據(jù)此,返回至操作302。也就是,如果繁忙信號是存取持續(xù)信號,第一處理器220等待從雙端口存儲器210接收根據(jù)另一個(gè)處理器的存取是否終止而改變的結(jié)果信號。
[0149]此外,如果經(jīng)過第二允許時(shí)間,在操作306中,第一處理器220確認(rèn)繁忙信號作為存取失敗。
[0150]此外,如果繁忙信號處于高電平狀態(tài),由于允許存取,在操作307中,第一處理器220確認(rèn)存取成功。
[0151]圖11為示出根據(jù)本發(fā)明的第二實(shí)施例的雙端口存儲系統(tǒng)中雙端口存儲器的逐步操作的流程圖。
[0152]參見圖11,在操作401中,雙端口存儲器210接收從第一處理器210發(fā)送的存取請求信號。
[0153]然后,當(dāng)接收到存取請求信號時(shí),在操作403中,雙端口存儲器210判定當(dāng)前另一個(gè)處理器,即,第二處理器230,是否在存取中。
[0154]也就是,如果基于判定結(jié)果,第二處理器230在存取中,在操作404中,雙端口存儲器210檢查預(yù)定第一允許時(shí)間。
[0155]然后,在操作405中,雙端口存儲器210基于所檢查的第一允許時(shí)間判定從請求存取的時(shí)間點(diǎn)起是否經(jīng)過預(yù)定第一允許時(shí)間。
[0156]如果未經(jīng)過預(yù)定第一允許時(shí)間,在操作406中,雙端口存儲器210輸出繁忙信號作為存取持續(xù)信號。
[0157]此外,如果經(jīng)過預(yù)定第一允許時(shí)間,在操作406中,雙端口存儲器210輸出繁忙信號作為存取失敗信號。
[0158]此外,如果另一個(gè)處理器不在存取中,在操作408中,雙端口存儲器210允許第一處理器220的存取。
[0159]另一方面,如果輸出的繁忙信號是存取持續(xù)信號,雙端口存儲器210根據(jù)在存取中的另一個(gè)處理器的存取當(dāng)前是否終止再次發(fā)送結(jié)果信號給第一處理器220。
[0160]換言之,如果另一個(gè)處理器的存取終止,雙端口存儲器210允許第一處理器220的存取。
[0161 ]此外,如果另一個(gè)處理器的存取沒有終止,雙端口存儲器210重復(fù)進(jìn)入并執(zhí)行操作404。
[0162]根據(jù)本發(fā)明的實(shí)施例,由于通過雙端口接口邏輯增加了使用硬件的持續(xù)功能,因此通過應(yīng)用的存取重試過程被省略,使得可以大大減少存取重試時(shí)間并且可以執(zhí)行優(yōu)化控制。
[0163]盡管已經(jīng)參照數(shù)個(gè)其示范實(shí)施例描述了一些實(shí)施例,但應(yīng)當(dāng)理解的是,本領(lǐng)域技術(shù)人員能夠設(shè)想出將落在本公開原理的精神和范圍內(nèi)的許多其他修改和實(shí)施例。尤其是,在本公開、附圖和所附權(quán)利要求的范圍內(nèi)可以對主題組合布置的組成部件和/或布置做出各種變化和修改。除了對組成部件和/或布置做出的各種變化和修改以外,對于本領(lǐng)域的技術(shù)人員來說,替代性使用也將是顯而易見的。
【主權(quán)項(xiàng)】
1.一種雙端口存儲系統(tǒng)的存取控制方法,該方法包括: 由第一處理器,請求由雙端口存儲器的存??;以及 由所述雙端口存儲器,發(fā)送根據(jù)所述存取請求的結(jié)果信號給所述第一處理器, 其中所述結(jié)果信號包括用于通知存取成功的第一結(jié)果信號、用于通知存取失敗的第二結(jié)果信號、和用于通知存取持續(xù)的第三結(jié)果信號。2.如權(quán)利要求1所述的方法,其中所述結(jié)果信號的發(fā)送包括: 檢查第二處理器的存取狀態(tài); 當(dāng)所述第二處理器未在存取中時(shí),發(fā)送所述第一結(jié)果信號給所述第一處理器; 當(dāng)所述第二處理器在存取中時(shí),檢查是否經(jīng)過預(yù)定允許時(shí)間; 如果經(jīng)過所述預(yù)定允許時(shí)間,則發(fā)送所述第二結(jié)果信號給所述第一處理器;以及 如果未經(jīng)過所述預(yù)定允許時(shí)間,則發(fā)送所述第三結(jié)果信號給所述第一處理器。3.如權(quán)利要求2所述的方法,其中當(dāng)所述第三結(jié)果信號被發(fā)送給所述第一處理器時(shí),所述雙端口存儲器檢查所述第二處理器的存取是否終止,并根據(jù)所述第二處理器的存取是否終止,再次發(fā)送所述結(jié)果信號給所述第一處理器。4.如權(quán)利要求3所述的方法,其中當(dāng)所述第二處理器的存取在經(jīng)過所述允許時(shí)間之前終止時(shí),所述雙端口存儲器再次發(fā)送所述第一結(jié)果信號給所述第一處理器。5.如權(quán)利要求1所述的方法,其中當(dāng)接收到所述第三結(jié)果信號時(shí),所述第一處理器在經(jīng)過預(yù)定允許時(shí)間以前等待接收由所述雙端口存儲器再次發(fā)送的結(jié)果信號。6.如權(quán)利要求5所述的方法,其中當(dāng)接收到所述第三結(jié)果信號并且經(jīng)過所述預(yù)定允許時(shí)間時(shí),所述第一處理器將接收到的第三結(jié)果信號確認(rèn)為對應(yīng)于所述第二結(jié)果信號的存取失敗。7.如權(quán)利要求1所述的方法,其中所述第一結(jié)果信號到所述第三結(jié)果信號通過由所述雙端口存儲器發(fā)送給所述第一處理器的第一信號和第二信號的高電平狀態(tài)和低電平狀態(tài)來判定。8.一種雙端口存儲系統(tǒng)的存取控制方法,該方法包括: 由第一處理器,請求由雙端口存儲器的存??; 由所述雙端口存儲器,檢查第二處理器的存取狀態(tài); 當(dāng)所述第二處理器未在存取中時(shí),允許所述第一處理器的存取;以及當(dāng)所述第二處理器在存取中時(shí),由所述雙端口存儲器,發(fā)送用于通知存取拒絕的繁忙信號給所述第一處理器; 其中所述繁忙信號基于預(yù)定第一允許時(shí)間在經(jīng)過所述預(yù)定第一允許時(shí)間之前用作用于通知存取等待的信號且在經(jīng)過所述預(yù)定第一允許時(shí)間之后用作用于通知存取失敗的信號。9.如權(quán)利要求8所述的方法,其中當(dāng)發(fā)送給所述第一處理器的所述繁忙信號是用于通知存取等待的信號時(shí),所述雙端口存儲器檢查所述第二處理器的存取是否終止,當(dāng)所述第二處理器的存取終止時(shí)所述雙端口存儲器允許所述第一處理器的存取,并且當(dāng)所述第二處理器的存取沒有終止時(shí)所述雙端口存儲器根據(jù)是否經(jīng)過所述預(yù)定第一允許時(shí)間再次發(fā)送繁忙信號。10.如權(quán)利要求8所述的方法,其中當(dāng)接收到用于通知所述存取等待的所述繁忙信號時(shí),在經(jīng)過預(yù)定第二允許時(shí)間以前,所述第一處理器等待接收由所述雙端口存儲器再次發(fā)送的存取結(jié)果信號。11.如權(quán)利要求10所述的方法,其中所述第一允許時(shí)間是設(shè)定在所述雙端口存儲器中的時(shí)間并且所述第二允許時(shí)間是設(shè)定在所述第一處理器中的時(shí)間。
【文檔編號】G11C7/10GK106057226SQ201610214548
【公開日】2016年10月26日
【申請日】2016年4月7日 公開號201610214548.5, CN 106057226 A, CN 106057226A, CN 201610214548, CN-A-106057226, CN106057226 A, CN106057226A, CN201610214548, CN201610214548.5
【發(fā)明人】權(quán)大賢, 李壽康
【申請人】Ls產(chǎn)電株式會社