TWI864240B - 用於控制器中的錯誤處理的控制方法、其記錄媒體、控制器以及儲存裝置 - Google Patents
用於控制器中的錯誤處理的控制方法、其記錄媒體、控制器以及儲存裝置 Download PDFInfo
- Publication number
- TWI864240B TWI864240B TW110107090A TW110107090A TWI864240B TW I864240 B TWI864240 B TW I864240B TW 110107090 A TW110107090 A TW 110107090A TW 110107090 A TW110107090 A TW 110107090A TW I864240 B TWI864240 B TW I864240B
- Authority
- TW
- Taiwan
- Prior art keywords
- error
- controller
- ufs
- data
- handling
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2002—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
- G06F11/2005—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication controllers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0745—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2002—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
- G06F11/2007—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
- G06F11/201—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/85—Active fault masking without idle spares
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Debugging And Monitoring (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
一種用於控制器中的錯誤處理的控制方法、其記錄媒體、控制器以及儲存裝置。該控制器用於能夠依據互連協定鏈接第二裝置的第一裝置中。該控制方法包括以下步驟:藉由該控制器,透過依據該互連協定向該第二裝置發送一否定應答控制訊息以處理第一錯誤資訊,其中該第一錯誤資訊表示該控制器在依據該互連協定的一協定層執行資料接收時發生的一第一錯誤;以及設定錯誤處理狀態資料,以表示針對該第一錯誤資訊宣告錯誤處理,使得該控制器不會處理在該第一錯誤之後發生的序號錯誤,直到該錯誤處理狀態資料被設定為表示對該錯誤處理解除宣告為止。
Description
本發明係關於一種電子裝置,更特別的是關於用於控制器中的錯誤處理的控制方法、其記錄媒體、控制器以及儲存裝置。
現今行動裝置(如智慧型手機、平板電腦、多媒體裝置、穿戴式裝置之類的運算裝置)中產生和處理的資料量不斷增加,行動裝置內部的晶片對晶片的或受行動裝置影響的互連介面技術需要進一步的演進,從而達至能夠滿足更高的傳輸速度、低功耗運作、具可擴充性、支援多工處理、易於採用等目標。
為此,行動產業處理器介面(Mobile Industry Processor Interface,MIPI)聯盟開發出能夠符合上述目標的互連介面技術,例如關於實體層的MIPI M-PHY規範以及關於統一協定(Unified Protocol,UniPro)的MIPI UniPro規範。另一方面,聯合電子裝置工程委員會(Joint Electron Device Engineering Council,JEDEC)利用MIPI M-PHY規範及通用傳協定MIPI UniPro規範推出下一代高性能非揮發性記憶體標準,稱為通用快閃儲存(Universal Flash Storage,UFS),其可實現每秒十億位元等級的高速傳輸及低功耗運作,並具有高階行動系統所需的功能和可擴展性,從而有助於為業界快速的採用。
技術人員在依據這些互連介面技術來開發的產品為相關晶片、電子模組或電子裝置時,要確保產品的功能及運作能夠符合規範。舉例而言,依據UFS標準而實現的系統如包含了運算裝置及非揮發性記憶體的儲存裝置,運算裝置及儲存裝置分別擔任本地的(local)主機與遙距的(remote)裝置的角色。主機與裝置建立起雙向的鏈路。依據UniPro規範需要實現錯誤處理(error handling),當主機與裝置中任何一方發現接收的資料有錯誤時,發現錯誤的一方應主動向另一方發送表示錯誤發生的通知信號,並因而觸發另一方再傳輸資料。
實施方式提供了一種用於互連介面的錯誤處理的控制技術,其中在互連介面的錯誤處理的過程中,設定錯誤處理狀態資訊,並據此錯誤處理狀態資訊來避免因重覆發送表示錯誤發生的通知信號所導致的延遲,從而有助於改善互連介面的錯誤處理的效能。以下依據該控制技術提出各種實施方式,如用於控制器中的錯誤處理的控制方法、其記錄媒體、控制器以及儲存裝置。
實施方式提供一種用於控制器中的錯誤處理的控制方法,該控制器用於能夠依據一互連協定鏈接一第二裝置的一第一裝置中,該控制方法包括以下步驟:藉由該控制器,透過依據該互連協定向該第二裝置發送一否定應答控制(Negative Acknowledgment Control,NAC)訊息以處理第一錯誤資訊,其中該第一錯誤資訊表示該控制器在依據該互連協定的一協定層執行資料接收時發生的一第一錯誤;以及設定錯誤處理狀態資料,以表示針對該第一錯誤資訊宣告(assert)錯誤處理,使得該控制器不會處理在該第一錯誤之後發生的序號錯誤
(sequence number error),直到該錯誤處理狀態資料被設定為表示對該錯誤處理解除宣告(deassert)為止。
於該控制方法的一些實施例中,該方法更包括:依據表示宣告該錯誤處理的該錯誤處理狀態資料,丟棄表示序號錯誤的第二錯誤資訊,以使該控制器不會因為該第二錯誤資訊而發送否定應答控制訊息。
於該控制方法的一些實施例中,該方法更包括:當收到解決該第一錯誤的資料訊息時,設定該錯誤處理狀態資料以表示對該錯誤處理解除宣告(deassert)。
實施方式又提供一種記錄媒體,其記錄用以讓一儲存裝置執行如前述用於控制器中的錯誤處理的控制方法的該等實施例中至少一個或其組合項的程式碼。
實施方式另外提供一種控制器,該控制器用於能夠依據一互連協定鏈接一第二裝置的一第一裝置中,該控制器包括:一錯誤處理模組以及一錯誤抑制模組。錯誤處理模組,被配置為透過依據該互連協定向該第二裝置發送一否定應答控制(NAC)訊息以處理第一錯誤資訊,其中該第一錯誤資訊表示該控制器在依據該互連協定的一協定層執行資料接收時發生的一第一錯誤。錯誤抑制模組,被配置為設定錯誤處理狀態資料以表示針對該第一錯誤資訊宣告(assert)錯誤處理,使得該控制器不會處理在該第一錯誤之後發生的序號錯誤(sequence number error),直到該錯誤處理狀態資料被設定為表示對該錯誤處理解除宣告(deassert)為止。
於一些實施例中,該錯誤抑制模組,更被配置為,依據表示宣告該錯誤處理的該錯誤處理狀態資料,丟棄表示序號錯誤的第二錯誤資訊,以使該控制器不會因為該第二錯誤資訊而發送否定應答控制訊息。
於一些實施例中,該錯誤抑制模組更被配置為,當收到解決該第一錯誤的資料訊息時,設定該錯誤處理狀態資料以表示對該錯誤處理解除宣告(deassert)。
實施方式又提供一種儲存裝置,能夠依據一互連協定鏈接一主機,該儲存裝置包括:一非揮發性記憶體以及一記憶體控制器。記憶體控制器,其耦合到該非揮發性記憶體,用於控制對該非揮發性記憶體的資料存取,其中該記憶體控制器被配置為執行多個操作,該等操作包括:透過依據該互連協定向該主機發送一否定應答控制(NAC)訊息以處理第一錯誤資訊,其中該第一錯誤資訊表示該控制器在依據該互連協定的一協定層執行資料接收時發生的一第一錯誤;以及設定錯誤處理狀態資料,以表示針對該第一錯誤資訊宣告(assert)錯誤處理,使得該記憶體控制器不會處理在該第一錯誤之後發生的序號錯誤(sequence number error),直到該錯誤處理狀態資料被設定為表示對該錯誤處理解除宣告(deassert)為止。
於一些實施例中,該記憶體控制器被配置為進一步執行:依據表示宣告該錯誤處理的該錯誤處理狀態資料,丟棄表示序號錯誤的第二錯誤資訊,以使該控制器不會因為該第二錯誤資訊而發送否定應答控制訊息。
於一些實施例中,該記憶體控制器被配置為進一步執行:當收到解決該第一錯誤的資料訊息時,設定該錯誤處理狀態資料以表示對該錯誤處理解除宣告(deassert)。
於一些實施例中,該協定層是通用快閃儲存互連(UFS interconnect,UIC)層。
於一些實施例中,該第一裝置是依據通用快閃儲存(UFS)標準的儲存裝置。
於一些實施例中,該第一裝置被配置為以非對稱功率模式與該第二裝置通信。
藉此,上述提供了一種用於互連介面的錯誤處理的控制技術的各種實施方式,例如用於控制器中的錯誤處理的控制方法、其記錄媒體、控制器以及儲存裝置。上述用於錯誤處理的控制技術,能夠在互連介面的錯誤處理的過程中,減少或避免因重覆發送表示錯誤發生的通知信號所導致的延遲,從而有助於改善互連介面的錯誤處理的效能。
1:儲存系統
2:UFS系統
10:主機
11:應用處理器
12:主機緩衝記憶體
13:主機控制器
15:主機介面
20:儲存裝置
20A:UFS裝置
21:記憶體控制器
22:內部記憶體
23:控制器
24:裝置緩衝記憶體
25:裝置介面
29:非揮發性記憶體(NVM)
110:UFS應用層
120:UFS互連(UIC)層
130:MIPI統一協定(UniPro)層
140:MIPI實體(M-PHY)層
141:發送器
142:接收器
150:裝置管理實體(DME)
210:UFS應用層
220:UFS互連(UIC)層
230:MIPI統一協定(UniPro)層
240:MIPI實體(M-PHY)層
241:發送器
242:接收器
250:裝置管理實體(DME)
400~413:方塊
420~440:方塊
500:波型
510:錯誤處理模組
520:錯誤抑制模組
521:錯誤處理狀態設定單元
523:抑制序號錯誤單元
600:控制器
610:錯誤處理模組
620:錯誤抑制模組
621:錯誤處理狀態設定單元
623:抑制序號錯誤單元
S10~S40:步驟
AP:應用程式
CLK:時脈線
DRV:裝置驅動程式
Din、Dout:資料線
E1:第一錯誤資訊
E2:第二錯誤資訊
ERR:輸入至的錯誤資訊的值
G1、G2:時間間隔
L1.5:PHY配接器層
L2:資料鏈路層
L3:網路層
L4:傳輸層
nac_error_handling:控制旗標
NEH:控制旗標nac_error_handling的值
OS:作業系統
RST:重置線
SL1:子鏈路
SL2:子鏈路
t1~t5、t5A:時間點
圖1為儲存系統的示意方塊圖,其中依據本揭露內容的互連介面的錯誤處理的控制技術的實施例可實現於該儲存系統。
圖2為依據圖1的儲存系統的多層分層架構的示意圖。
圖3為圖2的UFS系統的分層架構的示意圖。
圖4為主機與UFS裝置在資料傳輸過程中進行錯誤處理(error handling)時的示意圖,其中有發生不斷重複通知錯誤的狀況。
圖5A為用於控制器中的錯誤處理的控制方法的一種實施方式的流程圖。
圖5B為用於控制器中的錯誤處理的控制方法的一種實施方式的流程圖。
圖5C為用於控制器中的錯誤處理的控制方法的一種實施方式的流程圖。
圖6為用於控制器中的錯誤處理的控制方法的一種實施方式的示意圖。
圖7為用於實現圖5A的控制方法的控制器的一種實施方式的示意方塊圖。
圖8為依據圖7的控制器實現於UFS系統的分層架構的示意圖。
為充分瞭解本發明之目的、特徵及功效,茲藉由下述具體之實施例,並配合所附之圖式,對本發明做詳細說明,說明如後。
以下提供依據本揭露內容的用於互連介面的錯誤處理的控制技術的各種實施方式,例如用於控制器中的錯誤處理的控制方法、其記錄媒體、控制器以及儲存裝置。
為了促進對該控制技術的目的及作用的理解,以下藉由圖1~圖4的示例來說明該控制技術可適用的各種面向(aspect)的應用情景(scenarios)。首先,簡要介紹圖1~圖3。如圖1示意可用來實現依據本揭露內容的用於互連介面的錯誤處理的控制技術的實施例的儲存系統。圖2示意可將圖1的儲存系統實現為符合UFS標準的儲存系統,或簡稱UFS系統,其中示意UFS系統的多層分層架構(multi-layered hierarchical architecture)。圖3為圖2的UFS系統的多層分層架構的示意圖。
以下就圖1~圖3的示例來說明各種面向的應用情景。
請參考圖1,其為儲存系統的示意方塊圖。圖1示意可用來實現該控制技術的實施例(其將於之後詳細說明)的儲存系統。如圖1所示,儲存系統1可以包括主機10和儲存裝置20。
主機10可以包括應用處理器11、主機緩衝記憶體12、主機控制器13、和主機介面15。主機10透過應用處理器11可以運行主機緩衝記憶體12中的作業系統OS並在作業系統OS上執行裝置驅動程式DRV及各種應用程式AP。主機緩衝記憶體12可以用作主機10的主記憶體或高速緩衝記憶體。主機緩衝記憶體12可以暫時儲存要提供給儲存裝置20的資料。主機緩衝記憶體12也可以用作主機記憶體,用於暫存作業系統OS、裝置驅動程式DRV及應用程式AP。主機10可以將資料寫入儲存裝置20,或者可以讀取被寫入儲存裝置20的資料。應用處理器11執行應用程式AP以將用於傳輸資料的輸入/輸出請求發送至儲存裝置20或接收從儲存裝置20到裝置驅動程式DRV的資料。輸入/輸出請求例如是讀取請求、寫入請求或抹除請求。裝置驅動程式DRV可以將由應用程式AP產生的輸入/輸出請求轉換成協定規範中定義的請求,並且可以將轉換後的請求發送到主機控制器13。主機控制器13可以控制主機10中的關於儲存裝置20的運作。例如,當從裝置驅動程式DRV接收到寫請求時,主機控制器13可以透過主機介面15將儲存在主機緩衝記憶體12中的資料提供給儲存裝置20。例如,當從裝置驅動程式DRV接收到讀取請求時,主機控制器13可以透過主機介面15從儲存裝置20接收資料。
主機介面15能夠透過用於發送/接收資料的資料線Din和Dout、用於發送硬體重置信號的重置線RST、用於發送資料的時脈線CLK而與裝置介面25耦接。資料線Din和Dout可以被實現為多對,其中一對的資料線Din和Dout可稱為一個通道(lane)。主機介面15可以使用至少一種介面協定與裝置介面25進行通信,介面協定諸如移動工業處理器介面(MIPI)、通用快閃儲存(UFS)、小型計算機系統介面(SCSI)或串行連接的SCSI(SAS),然而本揭露內容的實現並不受限於上述示例。
儲存裝置20可以在主機10的控制下寫入資料或向主機10提供被寫入資料。儲存裝置20可以被實現為固態儲存裝置(SSD),多媒體卡(MMC),嵌入式MMC(eMMC)、安全數位(SD)卡或通用快閃儲存(UFS)裝置,然而本揭露內容的實現並不受限於上述示例。
儲存裝置20可以包括記憶體控制器21和非揮發性記憶體(NVM)29。記憶體控制器21可以控制儲存裝置20的整體運作。記憶體控制器21可以包括內部記憶體22、控制器23、裝置緩衝記憶體24和裝置介面25。內部記憶體22可以儲存在記憶體控制器21或控制器23正在運作時產生的各種類型的資訊。控制器23可以控制非揮發性記憶體29的寫入運作、讀取運作或抹除運作。控制器23可以透過地址匯流排或資料匯流排與非揮發性記憶體29或裝置緩衝記憶體24交換資料。裝置緩衝記憶體24可以暫時儲存要儲存在非揮發性記憶體29中的資料或從非揮發性記憶體29讀取的資料。裝置緩衝記憶體24可以被實現為揮發性記憶體或非揮發性記憶體。裝置介面25可以使用至少一種介面協定與主機介面15進行通信,介面協定諸如移動工業處理器介面(MIPI)、通用快閃儲存(UFS)、小型計算機系統介面(SCSI)或串行連接的SCSI(SAS),然而本揭露內容的實現並不受限於上述示例。非揮發性記憶體29可以在控制器23的控制下執行資料寫入運作、資料讀取運作或資料抹除運作。非揮發性記憶體29例如包含一個或多個記憶體晶片。
請參考圖2,其為依據圖1的儲存系統的多層分層架構的示意圖。圖2示意可將圖1的儲存系統1實現為符合UFS標準的儲存系統,或簡稱UFS系統2,其中示意UFS系統的多層分層架構。誠然,本揭露內容的實現並不受限於示
例,並且若在合適的情況下,可以應用於具有多層分層結構的各種儲存系統。圖2中個別的層在合適的情況下可以被實現為硬體、靭體或軟體。
請參考圖2,UFS系統2可以包括主機10和UFS裝置20A。舉例而言,UFS裝置20A可以利用如圖1的儲存裝置20來實現。
主機10包括UFS應用層110以及UFS互連(UFS interconnect,UIC)層120。UFS互連(UIC)層120包含MIPI統一協定(UniPro)層(以下可簡稱UniPro層)130以及MIPI實體(M-PHY)層(以下可簡稱M-PHY層)140,其中裝置管理實體(device management entity,DME)150被定義為能夠與UFS應用層110、UniPro層130以及M-PHY層140互通,從而實現涉及統一協定(UniPro)整體性的功能如開機、關機、重置、電源模式改變等控制或組態的功能。
相似地,UFS裝置20A包括UFS應用層210以及UFS互連層220。UFS互連層220包含UniPro層230以及M-PHY層240。UFS裝置20A也對應地定義了裝置管理實體(DME)250。
主機10的各個層可以執行與UFS裝置20A的各個層相同或相似的運作。
UFS應用層110(或210)可以運行運作主機10(或UFS裝置20A)所需的各種類型的模組。例如,UFS應用層110可以包括UFS命令集(UFS command set,UCS)層,並且UCS層可以管理來自主機10的應用程式AP、作業系統OS或驅動程式DRV使用的命令以發出指令至UFS互連層120以對UFS裝置20A的讀取、寫入或抺除資料。對應於主機10的UFS應用層110,由如圖1的儲存裝置20中的控制器23來實現UFS裝置20A的UFS應用層210,在收到來自主機10的UFS應用層110的指令後,對非揮發性記憶體29的讀取、寫入或抺除資料的運作。
裝置管理實體(DME)150(或250)可用以控制或管理UFS互連(UIC)層120(或220)。
UFS互連層120(或220)可以為作為上層的UFS應用層110(或210)提供服務。例如,UFS互連層120(或220)可以產生UFS協定資訊單元(UFS protocol information unit,UPIU),其是用於發送/接收資料或請求的資料封包,或者可以釋放接收到的UPIU。
M-PHY層140(或240)可以按照預定協定轉換從作為上層的UniPro層130(或230)接收的資訊,並且可以將轉換後的資訊發送到UFS裝置20A(或主機10)。此外,M-PHY層140(或240)可以按照預定協定轉換從UFS裝置20A(或主機10)接收到的資訊,並且可以將轉換後的資訊發送到作為上層的UniPro層130(或230)。
在一實施例中,UFS應用層210和UFS互連層220均可以利用靭體或硬體的形式實現,並且可以由控制器23執行或實現,如上面參考圖1或2所述。
請參考圖3,其為圖2的UFS系統的分層架構的示意圖。在圖3中,以UniPro層130由四層組成的情況為例進行說明。UFS裝置20A的UniPro層230中的各個層也可以相似地運作及實現。
如圖3所示,UniPro層130(或230)可以包括PHY配接器層(PHY adapter layer)L1.5、資料鏈路層(data link layer)L2、網路層(network layer)L3和傳輸層(transport layer)L4。
PHY配接器層L1.5將M-PHY層(140或240)耦合到資料鏈路層L2。PHY配接器層L1.5可以在M-PHY層和資料鏈路層L2之間執行頻寬控制、功率管
理等。在實現時,主機10的M-PHY層140包含發送器141及接收器142,又UFS裝置20A的M-PHY層240包含發送器241及接收器242,從而進行全雙功通訊。
資料鏈路層L2可以執行用於主機10和UFS裝置20A之間的資料傳輸的流程控制(flow control)。即,資料鏈路層L2可以監視資料傳輸或控制資料傳輸速率。此外,資料鏈路層L2可以執行基於循環冗餘校驗(cyclic redundancy check,CRC)的錯誤控制。資料鏈路層L2可以使用從網路層L3接收到的封包來產生訊框(frame),或者可以使用從PHY配接器層L1.5接收到的訊框來產生封包。
網路層L3用於對於從傳輸層L4接收的封包選擇傳輸路徑的路由功能。
傳輸層L4可以使用從UFS應用層110(或210)接收的命令來配置適合於協定的資料段(segment),並且將該資料段發送到網路層L3,或者可以從網路層L3接收的封包中提取命令並且發送該命令至UFS應用層110(或210)。傳輸層L4可以使用基於序列的錯誤控制方案,以保證資料傳輸的有效性。
當技術人員在依據如UFS標準的互連介面技術來開發的產品為相關晶片、電子模組或電子裝置時,要確保產品的功能及運作能夠符合規範。舉例而言,依據UFS標準而實現的系統如包含了運算裝置及非揮發性記憶體的儲存裝置(如前述圖2的主機10及UFS裝置20A),主機10及UFS裝置20A分別擔任本地的(local)主機與遙距的(remote)裝置的角色。主機10與UFS裝置20A建立起雙向的鏈路。依據UniPro規範,主機10及UFS裝置20A皆需要實現錯誤處理(error handling)的機制,如在資料鏈路層L2中實現關於訊框的錯誤處理。具體的機制例如,主機與UFS裝置20A中任何一方(或稱發起端)發送資料訊框時,會開啟計時器並檢查是否在預定時間內收到回應,否則要做處理錯誤處理;而主機與UFS裝
置20A中任何一方(或稱目標端)接收到資料訊框時,會檢查資料訊框是否正確或錯誤。當資料訊框為正確時,則向發起端發送代表資料訊框正確的控制訊框作為通知信號,如「應答及流量控制」(Acknowledgment and Flow Control,AFC)訊框。當資料訊框有錯誤時,則向發起端發送代表資料訊框錯誤的控制訊框作為通知信號,如「否定應答控制」(Negative Acknowledgment Control,NAC)訊框。發起端收到NAC訊框以後,會觸發發起端進行再傳輸(retransmission),即進行重播(replay)機制,例如發起端先發送AFC1、AFC0訊框,然後再傳送(即繼續傳送)資料訊框。
在UFS系統中,允許UFS發送器和UFS接收器以非對稱功率模式(或非對稱的速度)來運作。請再參考圖3,在這種情況下,連接到裝置接收器(如UFS裝置20A的接收器242)的主機發送器(如主機10的發送器141)的運作速度可能比連接到主機接收器(如主機10的接收器142)的裝置發送器(如UFS裝置20A的發送器241)的運作速度來得快。假設主機發送器至裝置接收器的子鏈路(sub-link)在快速模式下工作,而裝置發送器至主機接收器的子鏈路在慢速模式下工作,而且兩個子鏈路都在互相發送資料給對方。
發明人發現,依據UniPro規範實現主機10及UFS裝置20A的錯誤處理時,如果主機10及UFS裝置20A以非對稱功率模式(或非對稱的速度)來運作,則可能會發生不斷重複通知錯誤的狀況。請參考圖4,其為主機10與UFS裝置20A在資料傳輸過程中進行錯誤處理時的示意圖。為了便於說明,圖4以經過簡化的方式來示意依據UFS標準所採用的UniPro規範(如版本1.4、1.8)的主機10與UFS裝置20A的資料傳輸過程中可能發生的狀況。例如在圖4的最左側的上下兩個方塊分別代表主機10及UFS裝置20A。請參考圖3及圖4,在此示例中,設定主機10及
UFS裝置20A以非對稱功率模式(或非對稱的速度)來運作,如主機10的發送器141至UFS裝置20A的接收器242的子鏈路SL1在快速模式下工作,而UFS裝置20A的發送器241至主機10的接收器142的子鏈路SL2在慢速模式下工作。在圖4中主機10的右方的一系列的方塊400~413分別示意主機10隨著時間分別向UFS裝置20A透過子鏈路SL1發送的訊框;在圖4中UFS裝置20A的右方的一系列的方塊420~440分別示意UFS裝置20A隨著時間分別向主機10透過子鏈路SL2發送的訊框。又圖4顯示UFS裝置20A至主機10透過子鏈路SL2的資料傳輸中有助於說明狀況的訊框,如UFS裝置20A向主機10發送的通知訊號(如AFC或NAC訊框),其他暫且忽略但不影響理解。此外,圖4省略了主機10及UFS裝置20A接收到訊框的示意圖式。本發明所屬技術領域中具通常知識者當可依據UniPro規範(如版本1.4、1.8)而理解圖4的意義。
如圖4所示,在時間點t1時,主機10開始進行資料鏈路(data link,DL)訊框發送,例如訊框從序號0開始,故在圖4中以方塊400表示「訊框#0」。然後,UFS裝置20A接收到「訊框#0」,且經過檢查(如基於循環冗餘校驗(CRC)或其他合適的判斷準則)後確定「訊框#0」為正確,故向主機10發送AFC訊框,此AFC訊框帶有對應的訊框的序號「#0」,故在圖4中以方塊420表示AFC訊框「AFC#0」。
在時間點t2時,由於某些原因,「訊框#1」(如方塊401所示)損壞(如方塊401下方以交叉符號來示意)而令UFS裝置20A遭遇到協定資料單元(Protocol Data Unit,PDU)錯誤。之後,UFS裝置20A開始進行NAC訊框的傳輸,如以方塊430表示的NAC訊框,以進行錯誤處理。同時,主機10由於子鏈路SL1
較快而繼續發送了多個訊框。由於UFS裝置20A正在執行錯誤處理,因此「訊框#2」至「訊框#6」(如方塊402~406所示)會被UFS裝置20A丟棄。
在時間點t3時,主機10從UFS裝置20A收到第一個NAC訊框,並在適當的剪切點(cut point)停止發送訊框。在這種情況下,主機10在發送完「訊框#7」(如方塊408所示)後停止發送訊框。經過一段隨機的時間間隔(gap)(如箭號G1所示)後,主機10重播(replay)訊框,如方塊410~413所示,在「AFC#」訊框(如前述的AFC1、AFC0訊框)後從「訊框#1」(如方塊411所示)開始發送。
對於UFS裝置20A來說,接收良好的AFC訊框之後就完成了對應於該NAC訊框的傳輸。
在時間點t4時,UFS裝置20A期望能收到「訊框#1」。然而,主機10已發送了「訊框#7」,故UFS裝置20A接收到「訊框#7」後會導致訊框「序號錯誤」並觸發另一個NAC訊框的傳輸。同樣地,由於錯誤處理在進行,「訊框#1」及「訊框#2」(如方塊411~412所示)會被UFS裝置20A丟棄。
在時間點t5時,主機10從UFS裝置20A收到第二個NAC,並在適當的剪切點停止發送訊框。在這個時間點,主機10在發送完「訊框#3」(如方塊413示意)後停止發送訊框。當UFS裝置20A的接收器接收到「訊框#3」後會導致序號錯誤並觸發另一個NAC訊框的傳輸及另一次錯誤處理。
上述NAC訊框及錯誤處理因此重複的發生。由於主機10重播訊框的時間間隔可能是隨機時間,最終地,主機10的時間間隔和UFS裝置20A的NAC訊框傳輸可能會重疊,並且主機10和UFS裝置20A雙方都可以按照規範定義的方式完成錯誤處理。然而,主機10與UFS裝置20A要達至上述完成錯誤處理的
狀態要花費較多的等待時間(latency)。在最壞的情況下,這種情況將一直持續到資料鏈路(DL)保護計時器逾時為止。
由此,為了避免主機10及UFS裝置20A以非對稱功率模式(或非對稱的速度)來運作時,可能會發生重覆發送表示錯誤發生的通知信號(如NAC訊框)的狀況,並從而減少錯誤處理重複發生所導致的延遲時間,提出一種用於互連介面的錯誤處理的控制技術。該控制技術是在一種互連介面的錯誤處理(如UniPro規範的錯誤處理的實作)的基礎上,進一步設定該互連介面的規範中(如UniPro規範)中並未揭示的額外資訊,可稱為「錯誤處理狀態資訊」,以表示「否定應答」及「錯誤處理」的狀態,並依據此錯誤處理狀態資訊來避免重覆發送表示錯誤發生的通知信號(如NAC訊框)。以下依據該控制技術提出各種實施方式,如以下用於控制器中的錯誤處理的控制方法。
請參考圖5A,其為用於控制器中的錯誤處理的控制方法的一種實施方式的流程圖。該控制器用於能夠依據一互連協定(如UFS標準)鏈接一第二裝置的一第一裝置中。就以互連協定為UFS標準為例,該控制器可以是指主機10的主機控制器13或儲存裝置20的記憶體控制器21,從而實現圖2的UFS系統。該控制方法包括以下步驟:
如步驟S10所示,藉由該控制器,透過依據該互連協定向該第二裝置發送一否定應答控制(NAC)訊息以處理第一錯誤資訊,其中該第一錯誤資訊表示該控制器在依據該互連協定的一協定層執行資料接收時發生的一第一錯誤。
如步驟S20所示,藉由該控制器,設定錯誤處理狀態資料,以表示針對該第一錯誤資訊宣告(assert)錯誤處理,使得該控制器不會處理在該第一
錯誤之後發生的序號錯誤(sequence number error),直到該錯誤處理狀態資料被設定為表示對該錯誤處理解除宣告(deassert)為止。
如圖5B所示,於該控制方法的一些實施例中,該方法更包括:如步驟S30所示,依據表示宣告該錯誤處理的該錯誤處理狀態資料,丟棄表示序號錯誤的第二錯誤資訊,以使該控制器不會因為該第二錯誤資訊而發送NAC訊息。
如圖5C所示,於該控制方法的一些實施例中,該方法更包括:如步驟S40所示,當收到解決該第一錯誤的資料訊息時,設定該錯誤處理狀態資料以表示對該錯誤處理解除宣告。
舉例而言,在步驟S20中,錯誤處理狀態資訊可以利用控制旗標、任何合適的資料結構或電信號來實作。在以下的舉例說明及相關圖式中,該錯誤處理狀態資訊以控制旗標及符號nac_error_handling來舉例說明。
依據在步驟S20的一示例中,每當主機10及UFS裝置20A中任一方遭遇新的錯誤(如稱第一錯誤)時,發現錯誤的一方(如UFS裝置20A)設定此控制旗標nac_error_handling為一第一數值(如為邏輯1、其他數值或資料),以代表「否定應答」及「錯誤處理」作用中。發現錯誤的一方(如UFS裝置20A)令控制旗標nac_error_handling維持在第一數值,直到發現錯誤的一方(如UFS裝置20A)接收到良好的訊框時,設定此控制旗nac_error_handling為一第二數值(如為邏輯0、其他數值或資料),以代表「否定應答」及「錯誤處理」非在作用中。其中良好的訊框,例如是資料鏈路(DL)交通等級(traffic class,TC)訊框,此DL TC訊框表示該訊框的序號是合乎期望的,也就是能夠解決該錯誤的資料訊息。在控制旗標nac_error_handling代表「否定應答」及「錯誤處理」作用時,發現錯誤的一方(如UFS裝置20A)不再進行額外的NAC訊框的傳輸。
如圖6所示,其為用於控制器中的錯誤處理的控制方法的應用示例的示意圖。在圖6中,主機10及UFS裝置20A與圖4的示例相同地,以非對稱功率模式(或非對稱的速度)來運作,主機10所發送的訊框如方塊400~413所示,係與圖4所示的相同。圖6與圖4的差異在於,在圖6中,主機10及UFS裝置20A實現了依據圖5A的控制方法。
如圖6所示,在時間點t1時,主機10開始進行DL訊框發送,例如該訊框從序號0開始,故在圖6中以方塊400表示「訊框#0」。
在時間點t2時,由於某些原因,「訊框#1」(如方塊401所示)損壞(如方塊401下方以交叉符號來示意)而令UFS裝置20A遭遇到協定資料單元(PDU)錯誤。
之後,依據圖5A的步驟S10,UFS裝置20A開始進行NAC訊框的傳輸,如以方塊430表示的NAC訊框,以進行錯誤處理。依據圖5A的步驟S20,UFS裝置20A(如UIC層230)宣告控制旗標nac_error_handling(如設定為邏輯1),如圖6下方所示意的波型500表示控制旗標nac_error_handling的變化,從邏輯0改變為邏輯1。此後,UFS裝置20A(如UniPro層130)依據宣告的(asserted)控制旗標nac_error_handling而忽略序號錯誤而不作處理,從而抑制後續的序號錯誤。同時,主機10由於子鏈路SL1較快而繼續發送了多個訊框。由於UFS裝置20A正在執行錯誤處理,因此「訊框#2」至「訊框#6」(如方塊402~406所示)會被UFS裝置20A丟棄。
在時間點t3時,主機10從UFS裝置20A收到第一個NAC訊框,並在適當的剪切點停止發送訊框。在這種情況下,主機10在發送完「訊框#7」(如方塊408所示)後停止發送訊框。經過一段隨機的時間間隔(如箭號G2所示)後,主
機10重播(replay)訊框,如方塊410~413所示,在「AFC#」訊框(如前述的AFC1、AFC0訊框)後從「訊框#1」(如方塊401所示)開始發送。
對於UFS裝置20A來說,接收良好的AFC訊框之後就完成了對應於該NAC訊框的傳輸。
在時間點t4時,UFS裝置20A期望能收到「訊框#1」,其中因為在目前錯誤處理之前,UFS裝置20A最後一次收到的是「訊框#0」,若UFS裝置20A能夠收到因主機10重播而發送的「訊框#1」,則表示收到了正確的訊框,從而解決了目前的錯誤,故UFS裝置20A期望能收到「訊框#1」。
即便主機10發送了「訊框#7」,UFS裝置20A接收到「訊框#7」後會發生「序號錯誤」,但是由於UFS裝置20A依據圖5A的步驟S20而實現為依據宣告的控制旗標nac_error_handling而抑制序號錯誤,故在這種情況下的序號錯誤並未導致另一個NAC訊框的傳輸發生。舉例而言,UFS裝置20A可依據圖5B的步驟S20而實現為依據宣告的控制旗標nac_error_handling,丟棄表示序號錯誤的錯誤資訊。
在時間點t5A時,主機10重播發送的訊框,即訊框從序號#1開始,如「訊框#1」、「訊框#2」、「訊框#3」之類。UFS裝置20A可以正確接收這些訊框。UFS裝置20A接收到「訊框#1」後,發現「訊框#1」為期望收的訊框,從而解決了目前的錯誤,故依據圖5C的步驟S40,設定控制旗標nac_error_handling以表示對該錯誤處理解除宣告(deassert),如圖6下方所示意的波型500表示控制旗標nac_error_handling的變化,從邏輯1改變為邏輯0。
如上所述,使用基於圖5A所示的控制方法,不會發生額外的NAC訊框傳輸,並且可以促進在預期的延遲內完成錯誤處理,從而有助於改善互連介面的錯誤處理的效能。
依據前述用於控制器中的錯誤處理的控制方法,更可進一步實現一種控制器,該控制器用於能夠依據一互連協定(如UFS標準)鏈接一第二裝置的一第一裝置中。就以互連協定為UFS標準為例,該控制器可以是指圖1中主機10的主機控制器13或儲存裝置20的記憶體控制器21,從而實現圖2的UFS系統。
如圖7所示,就以圖2的UFS系統為圖,UFS裝置20A的控制器600包括:一錯誤處理模組610以及一錯誤抑制模組620。控制器600可以利用圖1中的記憶體控制器21或控制器23來實現。
錯誤處理模組610,被配置為透過依據該互連協定向該第二裝置(如主機10)發送一否定應答控制(NAC)訊息以處理第一錯誤資訊,其中該第一錯誤資訊表示該控制器在依據該互連協定的一協定層執行資料接收時發生的一第一錯誤。
錯誤抑制模組620,被配置為設定錯誤處理狀態資料以表示針對該第一錯誤資訊宣告錯誤處理,使得該控制器不會處理在該第一錯誤之後發生的序號錯誤,直到該錯誤處理狀態資料被設定為表示對該錯誤處理解除宣告為止。
上述圖7的實施方式亦可用以實現如前述圖5A~5C或相關的示例。相對應地,主機10的主機控制器13亦可依據圖7而實現以達成相對應的作用。
請參考圖8,其為依據圖7的控制器實現於UFS系統的分層架構的示意圖。如圖8所示,於UFS裝置20A(或主機10)中依據UniPro規範的實作中加以實現前述如圖5A所示的控制方式。
舉例而言,在UFS裝置20A的控制器(如記憶體控制器21或控制器23)中依據UniPro層230中的資料鏈路層L2的實現錯誤處理模組610用以處理錯誤訊息從而執行NAC傳輸控制,並進一步實現錯誤抑制模組620。
錯誤處理模組610透過依據該互連協定向主機發送一否定應答控制(NAC)訊息以處理第一錯誤資訊E1,其中該第一錯誤資訊E1表示該控制器在依據該互連協定的一協定層執行資料接收時發生的一第一錯誤。
舉例而言,錯誤抑制模組620可進一步包含錯誤處理狀態設定單元621及抑制序號錯誤單元623。
錯誤處理狀態設定單元621被配置為設定錯誤處理狀態資料(如宣告控制旗標nac_error_handling)以表示針對該第一錯誤資訊E1宣告錯誤處理,使得該控制器(如記憶體控制器21或控制器23)不會處理在該第一錯誤(如圖6中所示意的協定資料單元(PDU)錯誤)之後發生的序號錯誤。錯誤處理狀態設定單元621被配置為,當該控制器收到解決該第一錯誤的資料訊息(如圖6中示意的期望的訊框#1)時,設定該錯誤處理狀態資料以表示對該錯誤處理解除宣告(如解除宣告控制旗標nac_error_handling)。
抑制序號錯誤單元623被配置為依據表示宣告該錯誤處理的該錯誤處理狀態資料,丟棄表示序號錯誤的第二錯誤資訊E2,以使該控制器不會因為該第二錯誤資訊E2而發送NAC訊息。如圖8所示,抑制序號錯誤單元623可實現為依據輸入的錯誤資訊(第二錯誤資訊E2)及該錯誤處理狀態資料(控制旗標nac_error_handling)的一種運算來「丟棄」表示序號錯誤的第二錯誤資訊E2。例如,基於邏輯「和」(logic AND)運算,如ERR.NEH’的運算,其中ERR代表輸入的錯誤資訊(如第二錯誤資訊E2)的值(如邏輯值),當輸入的錯誤資訊為序號錯誤
時ERR為1,否則ERR為0;NEH代表控制旗標nac_error_handling的值(如邏輯值),其被宣告時,NEH為1,否則NEH為0(請注意,在另一示例中,控制旗標nac_error_handling也可以設為0表示宣告,設為1以表示解除宣告)。由此,抑制序號錯誤單元623可實現為依據輸入的錯誤資訊(第二錯誤資訊E2)及該錯誤處理狀態資料(宣告的控制旗標nac_error_handling)而透過ERR.NEH’的運算而得出邏輯0的結果,抑制序號錯誤單元623依據此結果可設定輸入的錯誤資訊(如第二錯誤資訊E2)為無效以丟棄第二錯誤資訊E2,從而使第二錯誤資訊E2不會輸入至錯誤抑制模組620,藉此抑制了第二錯誤資訊E2。反過來說,當控制旗標nac_error_handling為解除宣告時,ERR.NEH’的運算得出邏輯1的結果,抑制序號錯誤單元623依據此結果可設定輸入的錯誤資訊(如第二錯誤資訊E2)為有效,從而使第二錯誤資訊E2輸入至錯誤抑制模組620,從而錯誤抑制模組620依據互連協定(如UFS標準)而處理第二錯誤資訊E2,進行NAC訊息的傳輸。此外,在一些示例中,抑制序號錯誤單元623也可以實現為其他邏輯運算來達成相似的作用,如(ERR’+NEH)’,或其他合適的邏輯「與」(AND)、「或」(OR)、「非」(NOT)、「與非」(NAND)、「或非」(NOR)、「互斥或」(XOR)或「互斥或非」(XNOR)或其組合的運算,故抑制序號錯誤單元623的實現方式不受限於上述示例。
相對應地,在主機10的控制器(如主機控制器13)中依據UniPro層130中的資料鏈路層L2的實現錯誤處理模組510用以處理錯誤訊息從而執行NAC傳輸控制,並進一步實現錯誤抑制模組520,以實現與前述UFS裝置20A中對應模組的功能。舉例而言,錯誤抑制模組520也可進一步包含錯誤處理狀態設定單元521及抑制序號錯誤單元523,以實現與前述UFS裝置20A中對應單元的功能。
在一些實施方式中,提供一種儲存裝置(如20、20A),能夠依據一互連協定鏈接一主機,該儲存裝置包括:一非揮發性記憶體(如29)以及一記憶體控制器(如21)。記憶體控制器,其耦合到該非揮發性記憶體,用於控制對該非揮發性記憶體的資料存取,其中該記憶體控制器被配置為執行多個操作,該等運作包括對應至圖5A的控制方式中步驟S10~S20的運作。在一些實施例中,該儲存裝置更可被配置或被程式化為實現如上基於圖5A的方法的多個實施例中的至少一個或其組合。該儲存裝置可以實現為固態儲存裝置(SSD)、通用快閃記憶體(UFS)、嵌入式多媒體卡(eMMC)或其他任何合適的儲存裝置或基於儲存裝置的產品。
此外,在上述關於主機和儲存裝置實施例(如圖1、2、3或相關圖式、實施例)中,主機控制器13、記憶體控制器21(或控制器23)、UIC層(或PHY配接器層L1.5、資料鏈路層L2、網路層L3和傳輸層L4)以及MIPI實體層中至少一者或其組合,係可以利用一個或多個電路來實現,如微控制器、處理器、或數位訊號處理器。或是可以基於使用硬體描述語言(HDL)或本領域技術人員所熟悉的數位電路的任何其他設計方法的技術進行設計,並且可以基於使用現場可程式邏輯閘陣列(field programmable gate array,FPGA)、或特定積體電路(application specific integrated circuit,ASIC)或複雜可編程邏輯器件(CPLD)之類的電路中之一個或多個電路來實現,亦可使用專屬的電路或模組來實現。然而,本發明之實現並不受此等例子所限制。此外,前述圖5A的步驟S10~S20、圖5B~圖5C、或圖8所示的示例亦可利用硬體電路來加以實現,如邏輯電路或其他合適的數位電路來實現。
此外,在一些實施例中,提出一種非暫態的記錄媒體,其記錄用以讓一運算裝置(如前述圖1或2所示的儲存裝置),藉由儲存裝置中的記憶體控制器(或控制器)來執行用於控制器中的錯誤處理的控制方法之程式碼,其中方法包含依據圖5A之方法的任一實施例或其組合。舉例而言,程式碼是一個或多個程式或程式模組,如用於實現依據圖5A的步驟S10~S20、圖5B~圖5C、或圖8所示的示例,此等模組之程式碼係協同運作,且可以用任何適合的順序或平行而被執行。當運算裝置執行此程式碼時,能導致運算裝置執行基於圖5A之用於控制器中的錯誤處理的控制方法之一實施例。上述可讀取記錄媒體例如為靭體、ROM、RAM、記憶卡、光學式資訊儲存媒體、磁式資訊儲存媒體或其他任何種類的儲存媒體或記憶體,且本發明之實現方式並不受此例子限制。
藉此,上述實施方式提供了一種用於互連介面的錯誤處理的控制技術,依據該控制技術提出各種實施方式,如用於控制器中的錯誤處理的控制方法、其記錄媒體、控制器以及儲存裝置。其中在互連介面的錯誤處理的過程中,設定錯誤處理狀態資訊,並據此錯誤處理狀態資訊來避免因重覆發送表示錯誤發生的通知信號所導致的延遲,從而有助於改善互連介面的錯誤處理的效能。
本發明在上文中已以較佳實施例揭露,然熟習本項技術者應理解的是,該實施例僅用於描繪本發明,而不應解讀為限制本發明之範圍。應注意的是,舉凡與該實施例等效之變化與置換,均應設為涵蓋於本發明之範疇內。因此,本發明之保護範圍當以申請專利範圍所界定者為準。
S10~S20:步驟
Claims (18)
- 一種用於控制器中的錯誤處理的控制方法,該控制器用於能夠依據一互連協定鏈接一第二裝置的一第一裝置中,該控制方法包括:透過依據該互連協定向該第二裝置發送一否定應答控制(Negative Acknowledgment Control,NAC)訊息以處理第一錯誤資訊,其中該第一錯誤資訊表示該控制器在依據該互連協定的一協定層執行資料接收時發生的一第一錯誤;以及設定錯誤處理狀態資料,以表示針對該第一錯誤資訊宣告(assert)錯誤處理,使得該控制器不會處理在該第一錯誤之後發生的序號錯誤(sequence number error),直到該錯誤處理狀態資料被設定為表示對該錯誤處理解除宣告(deassert)為止。
- 如請求項1所述之控制方法,其中該方法更包括:依據表示宣告該錯誤處理的該錯誤處理狀態資料,丟棄表示序號錯誤的第二錯誤資訊,以使該控制器不會因為該第二錯誤資訊而發送否定應答控制訊息。
- 如請求項1所述之控制方法,其中該方法更包括:當收到解決該第一錯誤的資料訊息時,設定該錯誤處理狀態資料以表示對該錯誤處理解除宣告(deassert)。
- 如請求項1所述之控制方法,其中該協定層是通用快閃儲存互連(UFS interconnect,UIC)層。
- 如請求項1所述之控制方法,其中該第一裝置是依據通用快閃儲存(UFS)標準的儲存裝置。
- 如請求項5所述之控制方法,其中該第一裝置被配置為以非對稱功率模式與該第二裝置通信。
- 一種記錄媒體,其記錄用以讓一儲存裝置執行如請求項1至6中任一項所述之用於控制器中的錯誤處理的控制方法的程式碼。
- 一種控制器,該控制器用於能夠依據一互連協定鏈接一第二裝置的一第一裝置中,該控制器包括:一錯誤處理模組,被配置為透過依據該互連協定向該第二裝置發送一否定應答控制(Negative Acknowledgment Control,NAC)訊息以處理第一錯誤資訊,其中該第一錯誤資訊表示該控制器在依據該互連協定的一協定層執行資料接收時發生的一第一錯誤;以及一錯誤抑制模組,被配置為設定錯誤處理狀態資料以表示針對該第一錯誤資訊宣告(assert)錯誤處理,使得該控制器不會處理在該第一錯誤之後發生的序號錯誤(sequence number error),直到該錯誤處理狀態資料被設定為表示對該錯誤處理解除宣告(deassert)為止。
- 如請求項8所述之控制器,其中該錯誤抑制模組,更被配置為,依據表示宣告該錯誤處理的該錯誤處理狀態資料,丟棄表示序號錯誤的第二錯誤資訊,以使該控制器不會因為該第二錯誤資訊而發送否定應答控制訊息。
- 如請求項8所述之控制器,其中該錯誤抑制模組更被配置為,當收到解決該第一錯誤的資料訊息時,設定該錯誤處理狀態資料以表示對該錯誤處理解除宣告(deassert)。
- 如請求項8所述之控制器,其中該協定層是通用快閃儲存互連(UFS interconnect,UIC)層。
- 如請求項8所述之控制器,其中該第一裝置是依據通用快閃儲存(UFS)標準的儲存裝置。
- 如請求項12所述之控制器,其中該第一裝置被配置為以非對稱功率模式與該第二裝置通信。
- 一種儲存裝置,能夠依據一互連協定鏈接一主機,該儲存裝置包括:一非揮發性記憶體;以及一記憶體控制器,其耦合到該非揮發性記憶體,用於控制對該非揮發性記憶體的資料存取,其中該記憶體控制器被配置為執行多個操作,該等操作包括:透過依據該互連協定向該主機發送一否定應答控制(Negative Acknowledgment Control,NAC)訊息以處理第一錯誤資訊,其中該第一錯誤資訊表示該記憶體控制器在依據該互連協定的一協定層執行資料接收時發生的一第一錯誤;以及設定錯誤處理狀態資料,以表示針對該第一錯誤資訊宣告(assert)錯誤處理,使得該記憶體控制器不會處理在該第一錯誤之後發生的序號錯誤(sequence number error),直到該錯誤處理狀態資料被設定為表示對該錯誤處理解除宣告(deassert)為止。
- 如請求項14所述之儲存裝置,其中該記憶體控制器被配置為進一步執行:依據表示宣告該錯誤處理的該錯誤處理狀態資料,丟棄表示序號錯誤的第二錯誤資訊,以使該記憶體控制器不會因為該第二錯誤資訊而發送否定應答控制訊息。
- 如請求項14所述之儲存裝置,其中該記憶體控制器被配置為進一步執行:當收到解決該第一錯誤的資料訊息時,設定該錯誤處理狀態資料以表示對該錯誤處理解除宣告(deassert)。
- 如請求項14所述之儲存裝置,其中該協定層是通用快閃儲存互連(UFS interconnect,UIC)層。
- 如請求項14所述之儲存裝置,其中該儲存裝置符合通用快閃儲存(UFS)標準。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW110107090A TWI864240B (zh) | 2021-02-26 | 2021-02-26 | 用於控制器中的錯誤處理的控制方法、其記錄媒體、控制器以及儲存裝置 |
| US17/563,641 US11687420B2 (en) | 2021-02-26 | 2021-12-28 | Control method for error handling in a controller, storage medium therefor, controller and storage device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW110107090A TWI864240B (zh) | 2021-02-26 | 2021-02-26 | 用於控制器中的錯誤處理的控制方法、其記錄媒體、控制器以及儲存裝置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202234861A TW202234861A (zh) | 2022-09-01 |
| TWI864240B true TWI864240B (zh) | 2024-12-01 |
Family
ID=83006440
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW110107090A TWI864240B (zh) | 2021-02-26 | 2021-02-26 | 用於控制器中的錯誤處理的控制方法、其記錄媒體、控制器以及儲存裝置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US11687420B2 (zh) |
| TW (1) | TWI864240B (zh) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12101183B2 (en) * | 2022-07-28 | 2024-09-24 | Micron Technology, Inc. | Enhanced negative acknowledgment control frame |
| CN115586925B (zh) * | 2022-09-20 | 2025-08-19 | 超聚变数字技术有限公司 | 操作系统获取方法及服务器 |
| US12513227B2 (en) | 2022-10-11 | 2025-12-30 | SK Hynix Inc. | Method for control protocol frame transmission and electronic device |
| US12517791B2 (en) * | 2022-10-11 | 2026-01-06 | SK Hynix Inc. | Method for facilitating frame error handling and an electronic device |
| US12450136B2 (en) | 2022-10-11 | 2025-10-21 | SK Hynix Inc. | Method for facilitating testing for an interconnection protocol, a controller, and an electronic device |
| US12512927B2 (en) | 2022-11-14 | 2025-12-30 | SK Hynix Inc. | Operation method for an electronic device and an electronic device capable of performing an advanced line coding |
| US20250036579A1 (en) * | 2023-07-25 | 2025-01-30 | Micron Technology, Inc. | Memory device with multiple physical interfaces |
| US12524295B2 (en) * | 2024-07-01 | 2026-01-13 | Red Hat, Inc. | Computer cluster domain specific OSI L2 data source integration |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7106742B1 (en) * | 2000-01-13 | 2006-09-12 | Mercury Computer Systems, Inc. | Method and system for link fabric error detection and message flow control |
| US20110161777A1 (en) * | 2009-12-04 | 2011-06-30 | St-Ericsson Sa | Reliable Packet Cut-Through |
| TWI433493B (zh) * | 2006-12-18 | 2014-04-01 | Lm艾瑞克生(Publ)電話公司 | 用以實施鏈路層控制協定之方法、裝置及電腦程式產品 |
| US20160170824A1 (en) * | 2014-12-16 | 2016-06-16 | Oshri Ben Hamo | Apparatus, method and system to exchange error information in a unified protocol communication |
| US20190026179A1 (en) * | 2016-03-14 | 2019-01-24 | Hitachi, Ltd. | Computing system and error handling method for computing system |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA1306810C (en) * | 1987-09-30 | 1992-08-25 | Gregory D. Dolkas | Data communication method and apparatus |
| US5084816A (en) * | 1987-11-25 | 1992-01-28 | Bell Communications Research, Inc. | Real time fault tolerant transaction processing system |
| US5121390A (en) * | 1990-03-15 | 1992-06-09 | International Business Machines Corporation | Integrated data link controller with synchronous link interface and asynchronous host processor interface |
| KR101593241B1 (ko) | 2007-06-13 | 2016-02-11 | 엔엑스피 비 브이 | 보증된 서비스를 보장하는 전자장치 및 방법 |
| US20110078313A1 (en) | 2009-09-30 | 2011-03-31 | St-Ericsson Sa | Method and system for managing a connection in a connection oriented in-order delivery environment |
| EP2391042B1 (en) * | 2010-05-27 | 2015-07-29 | Telefonaktiebolaget L M Ericsson (publ) | Efficient error handling on a link using ARQ and multiple NACKs associated with multiple error thresholds |
| KR101869995B1 (ko) | 2010-10-19 | 2018-06-22 | 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘) | 선택적인 바이트 동기화를 이용하는 고속 직렬 통신 인터페이스 통신 시스템에서의 전력 절감 모드 시스템 및 방법 |
| US20140143588A1 (en) | 2012-11-21 | 2014-05-22 | Nokia Corporation | Instant Communication Error Indication From Slave |
| JP6523995B2 (ja) | 2016-03-09 | 2019-06-05 | 東芝メモリ株式会社 | 情報処理装置、送信装置、受信装置及び方法 |
| US10572427B2 (en) | 2017-11-13 | 2020-02-25 | Data I/O Corporation | Device programming system with protocol emulation |
| KR20220053249A (ko) * | 2020-10-22 | 2022-04-29 | 에스케이하이닉스 주식회사 | 데이터 처리 장치, 이를 포함하는 데이터 처리 시스템 및 그 동작 방법 |
| TWI850537B (zh) * | 2021-03-08 | 2024-08-01 | 韓商愛思開海力士有限公司 | 用於一互連協定的功耗模式改變的資訊配置的方法、控制器以及儲存裝置 |
| TWI878595B (zh) * | 2021-08-19 | 2025-04-01 | 韓商愛思開海力士有限公司 | 用於互連協定的錯誤處理的方法以及控制器 |
-
2021
- 2021-02-26 TW TW110107090A patent/TWI864240B/zh active
- 2021-12-28 US US17/563,641 patent/US11687420B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7106742B1 (en) * | 2000-01-13 | 2006-09-12 | Mercury Computer Systems, Inc. | Method and system for link fabric error detection and message flow control |
| TWI433493B (zh) * | 2006-12-18 | 2014-04-01 | Lm艾瑞克生(Publ)電話公司 | 用以實施鏈路層控制協定之方法、裝置及電腦程式產品 |
| US20110161777A1 (en) * | 2009-12-04 | 2011-06-30 | St-Ericsson Sa | Reliable Packet Cut-Through |
| US8402343B2 (en) * | 2009-12-04 | 2013-03-19 | St-Ericsson Sa | Reliable packet cut-through |
| US20160170824A1 (en) * | 2014-12-16 | 2016-06-16 | Oshri Ben Hamo | Apparatus, method and system to exchange error information in a unified protocol communication |
| US20190026179A1 (en) * | 2016-03-14 | 2019-01-24 | Hitachi, Ltd. | Computing system and error handling method for computing system |
Also Published As
| Publication number | Publication date |
|---|---|
| US20220276939A1 (en) | 2022-09-01 |
| US11687420B2 (en) | 2023-06-27 |
| TW202234861A (zh) | 2022-09-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI864240B (zh) | 用於控制器中的錯誤處理的控制方法、其記錄媒體、控制器以及儲存裝置 | |
| CN111258493B (zh) | 控制器、存储器控制器、存储设备以及操作控制器的方法 | |
| TWI878595B (zh) | 用於互連協定的錯誤處理的方法以及控制器 | |
| US12170128B2 (en) | Circuit for synchronization for an interconnection protocol, controller and storage device | |
| KR20130140018A (ko) | 선택적인 바이트 동기화를 이용하는 고속 직렬 통신 인터페이스 통신 시스템에서의 전력 절감 모드 시스템 및 방법 | |
| CN106959935B (zh) | 一种兼容i2c通信与ipmb通信的方法 | |
| CN103748561A (zh) | 用以减少延迟并提高对主机的吞吐量的同步数据传输和错误控制 | |
| CN105404596B (zh) | 一种数据传输方法、装置及系统 | |
| CN116737616A (zh) | 用于互连协议的错误处理的方法、控制器以及存储设备 | |
| CN103530215B (zh) | 一种内部集成电路主机的自检方法、装置及主机 | |
| CN102436430A (zh) | 存储设备、主机控制器和存储系统 | |
| TWI893177B (zh) | 用於互連協定的訊框接收的資料處理的方法以及儲存裝置 | |
| TW201512832A (zh) | 快照訊息技術 | |
| TWI850537B (zh) | 用於一互連協定的功耗模式改變的資訊配置的方法、控制器以及儲存裝置 | |
| US12469529B2 (en) | Buffer device with low-latency skid mode for data freshness | |
| CN115118378A (zh) | 控制器的控制方法、其存储介质、控制器以及存储设备 | |
| US20240089886A1 (en) | Method for lane synchronization for an interconnection protocol, controller, and storage device | |
| TWI888640B (zh) | 用於互連協定的資料處理的方法、控制器以及儲存裝置 | |
| TW202427206A (zh) | 用於互連協定於休眠運作時的組態資料處理方法、控制器以及電子裝置 | |
| US12363044B2 (en) | Method for facilitating data link layer initialization and electronic device | |
| CN120880999B (zh) | 报文传输方法、PCIe设备及计算机可读存储介质 | |
| CN115842605A (zh) | 用于互连协议的错误处理的方法、控制器以及存储设备 | |
| US20240297928A1 (en) | Reset techniques for protocol layers of a memory system | |
| TW202533558A (zh) | 能夠促進控制訊框傳輸的電子裝置及其方法 | |
| CN120454751A (zh) | 能够促进控制信框传输的电子器件及其方法 |