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