TWI483117B - 用於執行命令之裝置、主機控制器及用於執行命令之系統 - Google Patents
用於執行命令之裝置、主機控制器及用於執行命令之系統 Download PDFInfo
- Publication number
- TWI483117B TWI483117B TW100108391A TW100108391A TWI483117B TW I483117 B TWI483117 B TW I483117B TW 100108391 A TW100108391 A TW 100108391A TW 100108391 A TW100108391 A TW 100108391A TW I483117 B TWI483117 B TW I483117B
- Authority
- TW
- Taiwan
- Prior art keywords
- command
- host controller
- controller
- response
- memory
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/188—Time-out mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/189—Transmission or retransmission of more than one copy of a message
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L2001/125—Arrangements for preventing errors in the return channel
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Communication Control (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Bus Control (AREA)
Description
本文所描述之實施例大致上係關於應用於(例如)一SDTM
卡並具有進階直接記憶體存取(ADMA)之一記憶體系統。
此申請案係基於且主張2010年9月29日申請之日本專利申請案第2010-219780號之優先權利;該案之全文以引用方式併入本文。
近來,SD卡(諸如SD記憶體卡)廣泛使用於(例如)作為主機設備之蜂巢式電話及數位相機中。此SD記憶體卡係經由一主機控制器連接至一主機設備,且該主機控制器控制該主機設備與該SD記憶體卡之間的資料傳輸。
由於一主機裝置通信方法使用一匯流排介面,存在一主機將一命令傳輸至一裝置並藉由接收到來自該裝置之一回應檢查該裝置是否接收到該命令之一方法。亦可能藉由使用一特定讀/寫命令執行資料傳送,或可能藉由使用用於偵測雜訊或類似物導致之一傳輸錯誤之一循環冗餘檢查(CRC)編碼而使用錯誤偵測。
甚至當雜訊發生於同一環境中且由雜訊導致之一位元錯誤發生之可能性維持相同時,一位元錯誤發生之時間間隔隨著該匯流排傳送速率增加而縮短。因此,預測一位元錯誤在(例如)每數秒至數分鐘一位元之一比率下發生。此使得支援一高速匯流排中之一協定之一再傳輸功能係重要的。
若在使用一習知命令協定之情況下藉由CRC編碼等檢查發生包含一位元錯誤之某一錯誤,則一主機必須藉由一中止命令暫時停止傳送並重試該命令。此會中斷資料傳送並降低該傳送效率。特別當由如同此之雜訊產生之中斷發生在使用硬體之直接記憶體存取(DMA)傳送期間時,必須藉由一驅動程式處理並降低DMA之影響。
由於使用一高速匯流排之資料傳輸中之雜訊或類似物而發生之一傳送錯誤會造成同一問題;若由於雜訊而在資料傳送期間藉由CRC編碼等檢查發生一位元錯誤,則一主機必須中斷該資料傳送一次並接著重試該資料傳送。在一高速匯流排中不能省略此額外負擔。
此實施例提供一記憶體系統、一主機控制器及可藉由防止資料傳送之中斷(甚至當一錯誤發生於一命令回應序列中時)增加該資料傳送效率之一記憶體系統。
一般而言,根據一實施例,一主機控制器包含一命令產生器及偵測器。該命令產生器產生具有一引數中之一再傳輸旗標之一命令並將該產生的命令傳輸至一記憶體裝置。該偵測器在來自該記憶體裝置之一回應不能在一經定義時間內被辨識之情況下偵測到逾時。當該主機控制器傳輸一初始命令時,其清除該再傳輸旗標並傳輸該命令。若該偵測器偵測到逾時,則該主機控制器設定該再傳輸旗標並將相同於該初始命令之命令再傳輸至該裝置。若接收到對應於該初始命令或該再傳輸命令之一正常回應,則該主機控制器辨識到已正確地執行該命令。
本發明之實施例可實現一記憶體裝置、一主機控制器及可藉由防止資料傳送之中斷(甚至當一錯誤發生於一命令回應序列中時)增加該資料傳送效率之一記憶體系統。
以下將參考隨附圖式解釋該實施例。
圖1示意地展示根據此實施例之該記憶體系統。
在此實施例中,一命令之一引數具有一再傳輸旗標。該實施例具有一序列,其中在該序列中若回應於一初始命令而發生一錯誤,則一主機控制器設定該再傳輸旗標並再傳輸相同於該初始命令之命令。因此,甚至當由於雜訊而在資料傳送期間發生一錯誤時,可能防止該資料傳送之中斷並防止資料傳送效率降低。
圖1中展示之一系統控制器11係安裝於一主機設備(諸如一蜂巢式電話)中並控制與該主機設備之一中央處理單元(CPU)12、系統記憶體13及SD主機控制器14之介面。
系統記憶體13儲存一主機驅動程式21、描述項表格22及資料23。一作業系統(OS)將儲存該主機驅動程式21、該描述項表格22及該資料23所必需之區域固定於該系統記憶體13上。
該主機驅動程式21係該OS專有之一驅動程式,且係針對(例如)該SD主機控制器14而提供,且係藉由該CPU 12執行。該主機驅動程式21在執行ADMA(將在後文予以描述)之前產生該描述項表格22。該描述項表格22係該系統記憶體13與一SD卡之間的資料傳送必需之資訊之一清單。將在後文描述該描述項表格22之結構。
該SD主機控制器14具有在該系統記憶體13與一SD卡之間藉由使用SD命令雙向傳送資料之一功能。該SD主機控制器14主要包含一系統匯流排介面(I/F)電路31、一記憶體卡I/F電路32、包含複數個暫存器之一暫存器組33、一ADMA 34及一計時器35。
該系統匯流排I/F電路31係經由一系統匯流排連接至該系統控制器11。該記憶體卡I/F電路32係可經由一SD匯流排介面(圖中未展示)連接至SD卡(例如,一SD記憶體卡15及SDIO卡16)。該SD記憶體卡15及該SDIO卡16係經設定以藉由自該SD主機控制器14供應之一命令控制並回應於該接收到的命令而在一預設定經定義時間內將一回應回傳至該SD主機控制器14。該SD記憶體卡15包含一CPU 15a、一隨機存取記憶體(RAM)15b、一唯讀記憶體(ROM)15c、一緩衝器(BUF)15d、一介面(I/F)15e、一NAND記憶體之一介面(NI/F)15f及一NAND記憶體(NAND)15g。該CPU 15a係藉由具有一引數中之一再傳輸旗標之一命令控制並回應於該接收到的命令而在一經定義時間內傳輸一回應。該CPU 15a亦偵測到一位元錯誤。
將該SD主機控制器14之暫存器組33分類為複數個單元(圖中未展示)(諸如一SD命令產生單元、回應單元、緩衝器資料埠單元、主機控制單元、中斷控制單元及ADMA單元)。發出一SD命令必需之資訊(諸如一命令編號、命令模式及引數)及傳送資料必需之資訊(諸如一區塊長度及區塊計數)係設定於該暫存器組33之SD命令產生單元中。當設定此等資訊時,該SD命令產生單元發出一命令給一SD卡。該暫存器組33中之該回應單元回應於該命令而接收到自該SD卡供應之一回應。
該ADMA 34係在無該CPU 12之任何介入之情況下在一SD卡與該系統記憶體13之間傳送資料之一電路。該ADMA 34根據該描述項表格22中描述之內容在該系統記憶體13上執行資料傳送。
該計時器35偵測到一逾時錯誤。舉例而言,若在經歷一預設定經定義時間或一預設量的時脈內並未自一命令之發出接收到回應,則該計時器35偵測到一逾時錯誤。當偵測到再傳輸旗標被設定為「0」之命令之回應逾時錯誤時,並未通知該主機CPU 12,但是該SD主機控制器14發出相同命令而使該再傳輸旗標設定為「1」。當偵測到再傳輸旗標設定為「1」之該命令之回應逾時錯誤時,藉由中斷而通知該主機CPU 12,且藉由該主機驅動程式處理。甚至當偵測到再傳輸旗標設定為「0」之該命令之回應逾時錯誤時,可藉由該主機驅動程式再傳輸該命令。然而,該效能降低。在一再傳輸命令中,當再次偵測到該回應逾時錯誤時,中斷傳輸並藉由該主機驅動程式執行錯誤處理。
圖2展示該系統記憶體13之分頁管理與SD實體位址之間的關係。藉由為每一小區域(例如,4 Kbyte區域)分頁來管理該系統記憶體13。藉由該主機CPU 12執行之一應用程式藉由使用該主機CPU 12管理之一分頁功能經由一邏輯位址存取該系統記憶體13。因此,如藉由一邏輯位址系統記憶體映射所指示,資料係顯然配置於一連續位址區域中。然而,其中實際記錄資料之系統記憶體13中之位置係隨意的,且係按照一實體位址系統記憶體映射所指示地被分割散佈。此等資料係藉由該等位址及資料長度而管理,且該等資料長度係可變的。而且,藉由一分頁表格(圖中未展示)管理儲存於該系統記憶體13中之資料之實體位址及邏輯位址之間的關係。
另一方面,針對具有(例如)512位元組至數百萬位元組之每一頁(每一區塊)管理儲存於該SD記憶體卡15中之資料,且該資料完全獨立於該系統記憶體13。因此,當該系統記憶體13上之資料將儲存於該SD記憶體卡15中時,如藉由一SD實體位址記憶體映射所指示,該系統記憶體13上之該資料係以不同於該系統記憶體13上之大小之一大小而儲存。該SD記憶體卡15中之資料係保持於針對每一命令而指定之一記憶體區域中並具有藉由該命令指定之一位址,且該資料長度係可變的。
DMA傳送藉由該實體位址直接存取該系統記憶體13。因此,DMA可藉由在該系統記憶體13上形成作為一傳送清單之一描述項而執行。
圖3展示根據此實施例之一描述項。此描述項係形成於該系統記憶體13之描述項表格22中。
此實施例之該描述項延長一習知描述項並具有一階層式結構。當使用此實施例之該描述項時,於該系統記憶體13與該SD記憶體卡15之間藉由ADMA執行之資料傳送係可完全藉由硬體執行。此消除對資料傳送期間中斷該主機CPU 12之需求。雖然藉由一中斷來通知該記憶體寫入錯誤等之處理請求,但是並未出現問題,這係由於其發生可能性極低。
如圖3所示,一第一描述項(整合式描述項)係對複數個第二描述項(部分描述項)之一組指標。
每一第二描述項(部分描述項)係一對第三描述項(SD命令描述項)及第四描述項(系統記憶體描述項)。
該第三描述項之內容係藉由用於發出一SD命令之資訊形成。即,該第三描述項之內容係藉由(例如)一命令編號、一命令模式、一引數及做為資料傳送所必需的資訊之一區塊長度及一區塊計數形成。該命令模式指示(例如)讀/寫。藉由將該第三描述項寫入該SD主機控制器14之該暫存器組33之SD命令產生單元中來發出一SD命令。
該第四描述項(系統記憶體描述項)之內容係藉由指示該系統記憶體13上之每一資料之位置之一位址及指示該資料長度之一長度形成,且指示一組複數個經分割資料。
該第一描述項至該第四描述項各自具有屬性資訊Att。每一屬性資訊Att含有(例如)用於識別該描述項類型之資訊及指示該描述項之結束位置之一結束位元。
注意到該第三描述項具有不同於該等其他描述項之一格式,使得可根據至少該第一命令編號形成該屬性資訊Att。
圖4展示該ADMA 34之配置之一輪廓。該ADMA 34包含一系統位址控制器34a、資料緩衝器34b、SD命令控制器34c及緩衝器記憶體34d。
該系統位址控制器34a管理該系統記憶體13中之位址。更特定言之,該系統位址控制器34a管理儲存於該系統記憶體13中之該第一描述項至該第四描述項之載入。即,該系統位址控制器34a最初載入該第一描述項(整合式描述項)之開始位址(即,來自該系統記憶體13之該第二描述項之位址)之內容並根據該位址載入該第二描述項。接著,該系統位址控制器34a將作為形成該第二描述項之該第三描述項之一SD命令描述項傳送至該SD命令控制器34c。此外,該系統位址控制器34a循序地載入形成該第二描述項之該第四描述項中描述之資料之位址及資料長度。根據所載入之位址及資料長度,當該系統位址控制器34a執行記憶體寫入時,其讀出來自該系統記憶體13之資料並將該資料傳送至該資料緩衝器34b。當該系統位址控制器34a執行記憶體讀取時,其將來自該資料緩衝器34b之資料傳送至該系統記憶體13。
為執行此等操作,該系統位址控制器34a包含複數個暫存器34a_1至暫存器34a_4及自此等暫存器選擇輸出信號之一多工器(MPX)34a_5,以保持該第一描述項(整合式描述項)之開始位址、對該第二描述項(部分描述項)之指標及資料之位址及資料長度。
該SD命令控制器34c循序產生用於設定該SD命令產生單元中之值之暫存器位址,並在該主機控制器14之該暫存器組33之該SD命令產生單元中循序設定一SD命令描述項中所含有之暫存器設定資訊作為該第三描述項。當該等暫存器之設定完成時,該暫存器組33之該SD命令產生單元產生一SD命令。
在記憶體寫入中,該緩衝器記憶體34d將資料載入藉由該系統位址控制器34a指定之系統記憶體13中並暫時保持所供應的資料。該資料緩衝器34b中保持之該資料被傳送至與一經發出的SD命令同步之該SD記憶體卡15中。
在記憶體讀取中,該緩衝器記憶體34d暫時保持自作為與一經發出的SD命令同步之一記憶體裝置之該SD記憶體卡15載入之資料並將該資料傳送至藉由該系統位址控制器34a指定之該系統記憶體13上之一位置。
依此方式,該緩衝器記憶體34b在以不同頻率操作之該系統記憶體13與該記憶體卡15或該SDIO卡16之間傳遞資料。
圖5A及圖5B圖解說明自該SD主機控制器14發出之一命令之一實例及自該SD記憶體卡15輸出之一回應之一實例。圖5A展示該命令實例,且圖5B展示該回應實例。
圖5A中展示之一命令封包包含一命令編號51、一引數52、藉由該引數判定之額外資訊53、及錯誤偵測資訊54(諸如一CRC)。舉例而言,將一個一位元再傳輸旗標52a分派為該引數之一部分。當該再傳輸旗標係「0」時,其指示一最初產生的命令。當該再傳輸旗標係「1」時,其指示相同於一最初產生的命令之命令之一再傳輸命令。
圖5B中展示之一回應封包包含錯誤狀態資訊55、額外資訊56及錯誤偵測資訊57(諸如一CRC)。當接收到一回應時,該錯誤狀態資訊55係錯誤資訊。雖然亦在並未接收到回應之情況下發生一錯誤,但是此錯誤係藉由該SD主機控制器14之計時器35偵測為一逾時錯誤。該計時器藉由一特定時間或特定時脈計數來控制逾時之偵測。
下文將解釋上述組態中之該SD主機控制器14及該SD記憶體卡15之命令及回應。
圖6展示該SD主機控制器14之一命令發出序列。
當該SD主機控制器14最初發出一命令時,其產生處於該引數52中之再傳輸旗標52a已被清除之一狀態(即,在設定為「0」之一狀態中)中之命令並將該命令傳輸至(例如)作為一裝置之該SD記憶體卡15中(S11)。
產生該命令之後,該SD主機控制器14等待來自該SD記憶體卡15之一回應(S12)。即,產生該命令之後,該SD主機控制器14等待一回應,且在該計時器35內預設定之一經定義時間內並未接收到回應之情況下判定是否已發生逾時(S12)。
藉由使該回應逾時短於資料逾時,可減小未接收到回應時之損失時間。
若在該逾時之前接收到一回應(S13),則該SD主機控制器14基於該回應中所含有之該錯誤狀態資訊55判定是否存在一錯誤(S14)。若不存在錯誤,則該SD主機控制器14判定該操作係正常的。因此,當(例如)該命令係一資料傳送命令時,可開始資料傳送。
若該回應中所含有之該錯誤狀態資訊55指示在步驟S14中之一錯誤,則該主機將此解釋為一命令傳輸錯誤並判定該命令發出時序或命令引數係錯誤的。此錯誤並非由雜訊導致之一錯誤,且需要修正主機程式。
另一方面,若在步驟S12中偵測到一回應之逾時,則該SD主機控制器14將「1」設定為該命令之引數52中之再傳輸旗標52a,且發出相同於該先前命令之命令(S15)。
當該SD主機控制器14再傳輸該命令時,其再次等待來自該SD記憶體卡15之一回應(S16)。若在該計時器35設定之經定義時間內可接收到該回應(S17),則該SD主機控制器14基於該錯誤狀態資訊55判定是否存在一錯誤(S18)。若並不存在一錯誤,則該SD主機控制器14判定該操作係正常的。
若在步驟S16中偵測到一回應之逾時,則該SD主機控制器14將此視為一命令傳輸錯誤。
如上所述,若一裝置(諸如該SD記憶體卡15)無法辨識一最初發出的命令或該SD主機控制器14由於雜訊或類似物而無法接收到一回應,則可能設定該再傳輸旗標52a並再發出具有相同於該先前命令之內容之內容之一命令。此使得可能在一裝置(諸如該SD記憶體卡15)無法辨識一最初發出的命令或該SD主機控制器14由於雜訊或類似物而無法接收到一回應之情況下消除一錯誤。
圖7展示一裝置之命令處理序列之一實例。
當一裝置(諸如該SD記憶體卡15)接收到一命令時(S21),其判定一CRC錯誤是否已發生於該命令中(S22)。若已發生一CRC錯誤,則無法指定該命令編號,因此該裝置將該命令作為一不可辨識的命令而忽略且並不回傳回應。因此,在此情況中,該SD主機控制器14之計時器35在經歷該經定義時間之後輸出一逾時錯誤。
另一方面,若判定該CRC係正常的,則該裝置檢查該命令之引數52中含有之該再傳輸旗標52a之狀態(S23)。即,該裝置判定該再傳輸旗標是否係「1」。當該SD主機控制器14最初發出一命令時,將該再傳輸旗標重設定為「0」。
若該再傳輸旗標係「0」,則該程序進展至一正常命令處理序列,且該裝置判定該接收到的命令是否係可執行的(S26)。即,基於該命令編號及該裝置之狀態判定該命令是否係可執行的。若判定該命令係不可執行的,則該裝置在並未回傳任何回應至該SD主機控制器14之情況下結束該程序。在此情況中,該SD主機控制器14無法接收到來自該裝置之任何回應(甚至在經歷該計時器35中預設之時間之後),因此該計時器35輸出一逾時錯誤。
另一方面,若在步驟S26中判定該命令係可執行的,則該裝置判定該引數是否係正確的(S27)。若判定該引數係正確的,則該裝置回傳一正常回應至該SD主機控制器14(S28)並執行該命令(S29)。
若該引數在步驟S27中係不正確的,則該裝置回傳一錯誤回應至該SD主機控制器14(S30)。
然而,當檢查一引數是否正確而花費過多時間時,亦可能回傳一正常回應而不等待一檢查結果。當該正常回應係藉由錯誤引數回傳時,可能在該引數中告知一錯誤,這係由於發生另一錯誤因數(諸如一記憶體存取錯誤)。該引數中之該錯誤並非係該實施例中再傳輸之命令之一目標,該主機驅動程式應建立正確引數。
進一步言之,若該再傳輸旗標在步驟S23中係「1」,則此指示該裝置無法辨識出該初始(緊接在前的)命令或該裝置回傳一回應至該初始命令,但是該SD主機控制器14無法正確地接收到該回應。若該再傳輸旗標係「1」,則該裝置檢查該命令是否已被執行(S24)。即,若在步驟S28中該裝置回傳一回應至該初始命令但該SD主機控制器14無法正確地接收到該回應,則存在該初始命令由於其已被正確地辨識出而被執行之可能性。因此,檢查該裝置是否執行該初始命令。若已執行該命令,則該裝置繼續被執行之該處理並回傳一正常回應至該SD主機控制器14(S25)。
若在步驟S24中判定該裝置並未執行該命令,則該控制進展至步驟26,且執行上述操作。
若對該再傳輸命令偵測到一回應錯誤(當一引數並非合適時)或回應逾時,則該SD主機控制器14對該CPU 12產生一中斷並通知其一錯誤之發生。
在上述提及的實施例中,於一命令之該引數52中形成該再傳輸旗標52a。若回應於一初始命令而於一裝置中發生一錯誤,則該SD主機控制器14在該再傳輸旗標中設定「1」並再傳輸相同於該初始命令之命令。若該再傳輸旗標係「0」或若該再傳輸旗標係「1」且並未執行對應於該初始命令之處理,則該裝置判定命令處理是否係可執行的。若該命令處理係可執行的,則該裝置執行該命令處理。如上所述,使用可將同一命令發出兩次之序列。因此,甚至當一裝置無法辨識出一初始命令或該SD主機控制器14無法接收到來自該裝置之任何回應時,藉由再傳輸該命令可消除該錯誤。此使得可能避免藉由該CPU 12之一中斷,且由於資料傳送無需中斷而可增加資料傳送效率。
此外,該裝置可藉由檢查該再傳輸旗標之內容判定該經傳輸的命令是否係一初始命令或再傳輸命令。進一步言之,若該命令係一再傳輸命令,則該裝置根據該初始命令判定是否已執行處理,並在已執行該處理之情況下繼續該操作。此使得可藉由防止資料傳送之中斷來防止資料傳送效率之降低,並防止該命令之再執行,藉此增加該命令處理速度。因此,甚至當由於雜訊而在執行該ADMA 34期間發生一位元錯誤時,可在並未中斷之情況下執行該ADMA 34之操作。
當該ADMA 34係在(例如)大約3 Gbps下執行高速資料傳送時,可在每數秒一位元之一比率下發生一位元錯誤。然而,此實施例可在資料傳送並未中斷之情況下藉由再傳輸一命令而執行資料傳送,藉此增加該資料傳送速率。
而且,僅需要在根據此實施例之該命令再傳輸中再傳輸同一命令。此有助於藉由硬體執行該操作並允許ADMA在並未使用任何主機驅動程式之情況下再傳輸一命令。
注意到該再傳輸旗標具有以上解釋中之一位元,但是該實施例並非限於此。舉例而言,可藉由複數個位元或一計數器形成該再傳輸旗標而複數次地再傳輸一命令。
進一步言之,已在上述實施例中解釋使用ADMA之資料傳送。然而,該實施例並非限於此,且亦可使用另外的傳送方法。若在此情況中在一命令之傳輸期間發生一錯誤,則僅需再傳輸相同於上述命令之命令並藉由一習知方法再傳輸資料。
雖然已描述某些實施例,但是此等實施例係僅藉由舉例方式而呈現,且並非意欲限制本發明之範疇。實際上,本文所描述之新穎的實施例可以多種其他方式具體實施;進一步言之,可在不脫離本發明之精神之情況下作出以本文所描述之該等實施例之形式之各種不同的省略、替代及改變。該等隨附申請專利範圍及其等效物意欲涵蓋將屬於本發明之範疇及精神中之此等形式或修改。
11...系統控制器
12...中央處理單元(CPU)
13...系統記憶體
14...SD主機控制器
15...SD記憶體卡
15a...中央處理單元(CPU)
15b...隨機存取記憶體(RAM)
15c...唯讀記憶體(ROM)
15d...緩衝器(BUF)
15e...介面(I/F)
15f...NAND記憶體之介面(NI/F)
15g...NAND記憶體(NAND)
16...SDIO卡
21...主機驅動程式
22...描述項表格
23...資料
31...系統匯流排介面(I/F)電路
32...記憶體卡介面(I/F)電路
33...暫存器組
34...進階直接記憶體存取(ADMA)
34a...系統位址控制器
34a_1...暫存器
34a_2...暫存器
34a_3...暫存器
34a_4...暫存器
34a_5...多工器
34b...資料緩衝器
34...SD命令控制器
34d...緩衝器記憶體
35...計時器
51...命令編號
52...引數
52a...再傳輸旗標
53...額外資訊
54...錯誤偵測資訊
55...錯誤狀態資訊
56...額外資訊
圖1係示意地展示根據一實施例之一記憶體系統之一方塊圖;
圖2係示意地展示一系統記憶體及記憶體卡之記憶體映射之一圖;
圖3係展示根據該實施例之一描述項之結構之一圖;
圖4係示意地展示圖1中展示之ADMA之一方塊圖;
圖5A係示意地展示一命令封包之格式之一圖,且圖5B係示意地展示一回應封包之格式之一圖;
圖6係展示一主機控制器之操作序列之一流程圖;及
圖7係展示一裝置之操作序列之一流程圖。
11...系統控制器
12...中央處理單元(CPU)
13...系統記憶體
14...SD主機控制器
15...SD記憶體卡
15a...中央處理單元(CPU)
15b...隨機存取記憶體(RAM)
15c...唯讀記憶體(ROM)
15d...緩衝器(BUF)
15e...介面(I/F)
15f...NAND記憶體之介面(NI/F)
15g...NAND記憶體(NAND)
16...SDIO卡
21...主機驅動程式
22...描述項表格
23...資料
31...系統匯流排介面(I/F)電路
32...記憶體卡介面(I/F)電路
33...暫存器組
34...進階直接記憶體存取(ADMA)
35...計時器
Claims (15)
- 一種用於執行命令之裝置,其包括:一傳輸單元,其係組態為:由所接收的複數命令控制,並在一經定義時間內傳輸對該等命令各個之回應,該等命令各包含一引數中之一再傳輸旗標;及一錯誤偵測單元,其偵測一位元錯誤;其中該等命令包括第一命令及於該第一命令之後被接收的第二命令,該第一命令之該再傳輸旗標係被重設(reset),該第二命令之該再傳輸旗標係被設定(set),且該第二命令具有與該第一命令相同之內容(content);若該第二命令係可辨識的且該再傳輸旗標已經被設定,且於該第一命令正在執行時,則該裝置回傳一正常回應;且若該第二命令係可辨識的且該再傳輸旗標已經被設定,且於該第一命令並未在執行時,則若該第二命令可被執行,該裝置回傳一正常回應,若該第二命令無法被執行,該裝置回傳一錯誤回應。
- 如請求項1之裝置,其中該裝置係一記憶體裝置。
- 如請求項1之裝置,其中該裝置係一I/O裝置。
- 如請求項1之裝置,其中若該第一及第二命令無法被辨識,則該裝置不回傳回應。
- 一種主機控制器,其中供傳輸至裝置之複數命令被設定,該主機控制器包括:一命令產生單元,其係組態為傳輸該等命令至該裝 置;及一偵測器,其經組態為當無法在一經定義時間內辨識到來自該裝置之一回應之情況下,偵測到逾時,其中該等命令之各個包含一引數中之一再傳輸旗標,且該等命令包括第一命令及第二命令,該第二命令具有與該第一命令相同之內容;當該命令產生單元重設該第一命令中之該再傳輸旗標並傳輸該第一命令至該裝置時,若該偵測器偵測到逾時,則該主機控制器設定該再傳輸旗標並再傳輸該第二命令至該裝置,且若接收到對應於該第一命令及該第二命令之一者的一正常回應,則該主機控制器辨識出已正確執行該第一命令及該第二命令之一者。
- 如請求項5之主機控制器,其進一步包括:連結至該主機控制器之一系統記憶體;一描述項(descriptor),其包含命令資訊而儲存於該系統記憶體;及連接至該系統記憶體及該裝置之一直接記憶體存取(DMA)控制器;其中該主機控制器自該系統記憶體讀取該命令資訊,且對該命令產生單元設定被傳送至該裝置之命令。
- 如請求項6之主機控制器,其中該DMA控制器包括:一系統位址控制器,其連接至該系統記憶體,該系統位址控制器接收來自該系統記憶體之一描述項;一命令控制器,其連接至該系統位址控制器;及 一資料緩衝器,其連接至該系統記憶體及該裝置。
- 如請求項5之主機控制器,其中若藉由該偵測器偵測到對應於該第二命令之逾時,則該主機控制器產生中斷以指示該第一命令及該第二命令兩者無法執行。
- 一種用於執行命令之系統,其包括:一主機控制器,其中供傳輸至裝置之複數命令被設定,且該主機控制器係經組態為傳輸該等命令至裝置;及一裝置,其經組態為接收來自該主機控制器之該等命令,若一接收到的命令係可辨識的,則該裝置在一經定義時間內回傳一回應至該主機控制器並執行該命令,且若該命令係不可辨識的,則該裝置藉由不回傳回應而指示該命令未被執行,且若該命令無法被執行,則該裝置傳回一錯誤回應;其中該等命令包括第一命令及第二命令,該第二命令具有與該第一命令相同之內容;該主機控制器進一步包括一偵測器,該偵測器係當無法在該經定義時間內辨識到來自該裝置之一回應之情況下,偵測到逾時;當傳輸該第一命令時,該主機控制器重設該第一命令中之再傳輸旗標,若該偵測器偵測到逾時,則該主機控制器設定該再傳輸旗標並傳輸作為該第一命令之該第二命令至該裝置,且若接收到指示一命令可被執行之一正常回應,則該主機控制器辨識出已正確 執行該第一命令及該第二命令之一者,且若藉由該偵測器偵測到對應於該第二命令之逾時,則該主機控制器產生中斷,其指示該第一命令及該第二命令兩者無法執行。
- 如請求項9之系統,其中該再傳輸旗標包括至少一個位元。
- 如請求項9之系統,其中該主機控制器包括:連結至該主機控制器之一系統記憶體;一描述項,其包含命令資訊而儲存於該系統記憶體;及一直接記憶體存取(DMA)控制器,其連接至該系統記憶體及該裝置;該DMA控制器基於儲存於該系統記憶體中之該描述項之一描述而傳送資料。
- 如請求項11之系統,其中該DMA控制器包括:一系統位址控制器,其連接至該系統記憶體,該系統位址控制器接收來自該系統記憶體之該描述項;一命令控制器,其連接至該系統位址控制器;及一資料緩衝器,其連接至該系統記憶體及該裝置。
- 如請求項9之系統,其中該裝置係一記憶體裝置。
- 如請求項9之系統,其中該裝置係一I/O裝置。
- 如請求項9之系統,其中若接收到來自該裝置之該錯誤回應,則該主機控制器產生中斷。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010219780 | 2010-09-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201214127A TW201214127A (en) | 2012-04-01 |
TWI483117B true TWI483117B (zh) | 2015-05-01 |
Family
ID=45871935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100108391A TWI483117B (zh) | 2010-09-29 | 2011-03-11 | 用於執行命令之裝置、主機控制器及用於執行命令之系統 |
Country Status (4)
Country | Link |
---|---|
US (2) | US8874989B2 (zh) |
JP (2) | JP5657459B2 (zh) |
CN (1) | CN102436430B (zh) |
TW (1) | TWI483117B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI483117B (zh) * | 2010-09-29 | 2015-05-01 | Toshiba Kk | 用於執行命令之裝置、主機控制器及用於執行命令之系統 |
US8972818B2 (en) | 2012-10-05 | 2015-03-03 | Qualcomm Incorporated | Algorithm for optimal usage of external memory tuning sequence |
JP6273972B2 (ja) * | 2014-03-31 | 2018-02-07 | 富士通株式会社 | 情報処理装置、送受信装置、及び情報処理装置の制御方法 |
US9819557B2 (en) * | 2014-12-18 | 2017-11-14 | Intel IP Corporation | Multi-rate high-speed bus with statistical aggregator |
US10437483B2 (en) | 2015-12-17 | 2019-10-08 | Samsung Electronics Co., Ltd. | Computing system with communication mechanism and method of operation thereof |
US10990319B2 (en) * | 2018-06-18 | 2021-04-27 | Micron Technology, Inc. | Adaptive watchdog in a memory device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070263631A1 (en) * | 1999-05-21 | 2007-11-15 | Mallory Tracy D | Limited automatic repeat request protocol for frame-based communication channels |
US20080188264A1 (en) * | 2004-05-07 | 2008-08-07 | Matsushita Electric Industrial Co., Ltd. | Base Station Apparatus |
TWI328947B (en) * | 2005-08-30 | 2010-08-11 | Sony Corp | System and method for transmitting and receiving data |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01231128A (ja) | 1988-03-11 | 1989-09-14 | Nec Corp | 障害処理方式 |
JP2907233B2 (ja) | 1990-12-19 | 1999-06-21 | オムロン株式会社 | プログラマブルコントローラの上位リンクシステム |
JPH05314026A (ja) * | 1992-05-08 | 1993-11-26 | Nec Corp | 制御処理装置 |
CN1206320A (zh) * | 1997-06-03 | 1999-01-27 | 诺基亚流动电话有限公司 | 解决移动台中的dcch到acc转移登录冲突 |
JP4342629B2 (ja) | 1999-03-24 | 2009-10-14 | 株式会社東芝 | 携帯可能電子装置とファイル制御情報の記憶方法とファイル制御情報の検索方法 |
JP3607229B2 (ja) | 2001-09-28 | 2005-01-05 | 株式会社東芝 | 携帯可能電子装置及びそのチェック方法 |
US7110371B2 (en) * | 2002-08-28 | 2006-09-19 | Intel Corporation | System and method to communicate between a host and a modem |
CN100417251C (zh) * | 2002-11-08 | 2008-09-03 | 中兴通讯股份有限公司 | 基于随路控制命令的数据下载方法 |
JP4209743B2 (ja) * | 2003-08-08 | 2009-01-14 | 三菱電機株式会社 | 電子制御装置 |
CN101964705B (zh) * | 2005-01-28 | 2012-08-08 | 夏普株式会社 | 通信设备、通信系统、通信方法、通信程序、通信电路 |
JP4768283B2 (ja) * | 2005-02-15 | 2011-09-07 | パナソニック株式会社 | 再送制御方法、無線通信システム、基地局および移動局 |
JP2007334555A (ja) | 2006-06-14 | 2007-12-27 | Ricoh Co Ltd | データ転送装置と電子装置 |
JP5193822B2 (ja) | 2008-11-19 | 2013-05-08 | 株式会社東芝 | 追記型メモリデバイス |
JP2010198138A (ja) * | 2009-02-23 | 2010-09-09 | Ricoh Co Ltd | データ転送装置、データ転送制御方法、データ転送制御プログラム及び記録媒体 |
TWI483117B (zh) | 2010-09-29 | 2015-05-01 | Toshiba Kk | 用於執行命令之裝置、主機控制器及用於執行命令之系統 |
-
2011
- 2011-03-11 TW TW100108391A patent/TWI483117B/zh not_active IP Right Cessation
- 2011-03-17 US US13/050,565 patent/US8874989B2/en not_active Expired - Fee Related
- 2011-03-18 CN CN201110066314.8A patent/CN102436430B/zh not_active Expired - Fee Related
- 2011-04-08 JP JP2011086524A patent/JP5657459B2/ja not_active Expired - Fee Related
-
2014
- 2014-10-08 US US14/509,868 patent/US9473273B2/en not_active Expired - Fee Related
- 2014-11-20 JP JP2014235935A patent/JP5932947B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070263631A1 (en) * | 1999-05-21 | 2007-11-15 | Mallory Tracy D | Limited automatic repeat request protocol for frame-based communication channels |
US20080188264A1 (en) * | 2004-05-07 | 2008-08-07 | Matsushita Electric Industrial Co., Ltd. | Base Station Apparatus |
TWI328947B (en) * | 2005-08-30 | 2010-08-11 | Sony Corp | System and method for transmitting and receiving data |
Also Published As
Publication number | Publication date |
---|---|
US20120079338A1 (en) | 2012-03-29 |
US8874989B2 (en) | 2014-10-28 |
US20150033090A1 (en) | 2015-01-29 |
CN102436430B (zh) | 2015-05-27 |
US9473273B2 (en) | 2016-10-18 |
JP5657459B2 (ja) | 2015-01-21 |
TW201214127A (en) | 2012-04-01 |
JP2012094107A (ja) | 2012-05-17 |
JP5932947B2 (ja) | 2016-06-08 |
CN102436430A (zh) | 2012-05-02 |
JP2015043237A (ja) | 2015-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10372199B2 (en) | Apparatus for managing power and running and booting an inter-processor communication link between independently operable processors | |
US10191795B2 (en) | Method and system for timeout monitoring | |
US10108372B2 (en) | Methods and apparatuses for executing a plurality of queued tasks in a memory | |
TWI483117B (zh) | 用於執行命令之裝置、主機控制器及用於執行命令之系統 | |
US8504737B2 (en) | Serial line protocol for embedded devices | |
EP1764703B1 (en) | A system for providing access to multiple data buffers of a data retaining and processing device | |
US7707346B2 (en) | PCI express multi-root IOV endpoint retry buffer controller | |
KR19990067731A (ko) | 유니버설 시리얼 버스 제어 이전을 처리하는 장치 및 방법 | |
WO2019109299A1 (zh) | 内存访问技术及计算机系统 | |
EP2157723A2 (en) | Data retransmission method and system | |
US9542251B2 (en) | Error detection on a low pin count bus | |
TWI498743B (zh) | 資料儲存系統以及其管理方法 | |
US20150006773A1 (en) | Control device and image forming apparatus | |
US7143206B2 (en) | Method for controlling data transfer unit having channel control unit, storage device control unit, and DMA processor | |
US8943238B2 (en) | Operations using direct memory access | |
WO2022039881A1 (en) | I3c pending read with retransmission | |
JP6136754B2 (ja) | 通信制御装置及び画像形成装置 | |
JP4439295B2 (ja) | データ転送制御装置 | |
WO2022086798A1 (en) | Repeated in sequence packet transmission for checksum comparison | |
JP2005277552A (ja) | バスリトライ制御方式及びデータ通信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |