TWI824885B - 資料儲存裝置與錯誤回復執行方法 - Google Patents

資料儲存裝置與錯誤回復執行方法 Download PDF

Info

Publication number
TWI824885B
TWI824885B TW111148153A TW111148153A TWI824885B TW I824885 B TWI824885 B TW I824885B TW 111148153 A TW111148153 A TW 111148153A TW 111148153 A TW111148153 A TW 111148153A TW I824885 B TWI824885 B TW I824885B
Authority
TW
Taiwan
Prior art keywords
signal
data storage
storage device
processing circuit
signal processing
Prior art date
Application number
TW111148153A
Other languages
English (en)
Other versions
TW202427213A (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 TW111148153A priority Critical patent/TWI824885B/zh
Priority to CN202310081439.0A priority patent/CN118210744A/zh
Priority to US18/219,714 priority patent/US20240202060A1/en
Application granted granted Critical
Publication of TWI824885B publication Critical patent/TWI824885B/zh
Publication of TW202427213A publication Critical patent/TW202427213A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering

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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一種資料儲存裝置包括一介面電路,用以處理接收自同級裝置之接收訊號與傳送至同級裝置之傳送訊號。介面電路包括至少一訊號處理電路,用以於資料儲存裝置發生錯誤時,執行錯誤回復程序。於執行錯誤回復程序時,訊號處理電路執行週期性線路重置操作,用以於一既定期間內反覆地傳送線路重置訊號給同級裝置,直到既定期間屆期或者自同級裝置接收到另一線路重置訊號以表示線路重置訊號之確收。

Description

資料儲存裝置與錯誤回復執行方法
本發明係關於一種資料儲存裝置的錯誤回復執行方法,特別是一種可有效地使資料儲存裝置的存取操作回復正常的錯誤回復執行方法。
隨著資料儲存裝置的科技在近幾年快速地成長,許多資料儲存裝置,如符合安全數位(Secure Digital,縮寫為SD)/多媒體卡(Multi Media Card,縮寫為MMC)規格、複合式快閃記憶體(Compact flash,縮寫為CF)規格、記憶條(Memory Stick,縮寫為MS)規格與極數位(Extreme Digital,縮寫為XD)規格的記憶卡、固態硬碟、嵌入式多媒體記憶卡(embedded Multi Media Card,縮寫為eMMC)以及通用快閃記憶體儲存(Universal Flash Storage,縮寫為UFS)已經廣泛地被應用在多種用途上。因此,各領域對於資料儲存裝置的需求也大幅成長。以其中的UFS為例,由於UFS可提供高傳輸速度與高穩定性,已廣泛用於數位相機、智慧型手機、筆記型電腦、桌上型電腦等消費電子產品。
一般而言,於資料儲存裝置的存取過程中,若發生錯誤,將會觸發錯誤回復程序,以試圖使存取操作恢復正常。因此,如何於錯誤回復程序中有效地回復正常操作成為一個值得關注的議題。
有鑒於此,需要一種資料儲存裝置的錯誤回復執行方法,有效地使資料儲存裝置的存取操作回復正常,以進一步改善資料儲存裝置的存取效能。
根據本發明之一實施例,一種資料儲存裝置包括一介面電路,用以處理接收自同級裝置之接收訊號與傳送至同級裝置之傳送訊號。介面電路包括至少一訊號處理電路,用以於資料儲存裝置發生錯誤時,執行錯誤回復程序。於執行錯誤回復程序時,訊號處理電路執行週期性線路重置(Line Reset)操作,用以於一既定期間內反覆地傳送線路重置訊號給同級裝置,直到既定期間屆期或者自同級裝置接收到另一線路重置訊號以表示線路重置訊號之確收。
根據本發明之另一實施例,一種錯誤回復執行方法,用以於資料儲存裝置發生錯誤時,由一訊號處理電路執行錯誤回復程序,包括:傳送第一既定請求訊號至同級裝置以嘗試觸發第一訊號交握流程;於判斷第一訊號交握流程失敗時,執行一週期性線路重置(Line Reset)操作以於一既定期間內反覆地傳送線路重置訊號給同級裝置;於判斷線路重置訊號被同級裝置確收時,傳送第二既定請求訊號至同級裝置以嘗試觸發第二訊號交握流程;以及於判斷第二訊號交握流程成功時,判斷錯誤回復成功。
100:資料儲存裝置
110:記憶體控制器
112:微處理器
112C:程式碼
112M:唯讀記憶體
114:記憶體介面
116:緩衝記憶體
118:主機介面
120:記憶體裝置
130:主機裝置
131:處理器
132:隨機存取記憶體
133:唯讀記憶體
135:電源電路
138:裝置介面
140:錯誤更正碼引擎
200:介面電路
210,220,230:訊號處理電路
240:同級裝置
ACK:確收訊號
Local-TX:本機端傳送端口
PACP_PWR_REQ:電源改變請求訊號
PACP_PWR_CNF:電源改變確認訊號
Peer-TX:同級裝置端傳送端口
T1,T2:時間長度
Tactive、Tactive’、LINE-RESET、LINE-RESET’:時間區間
第1圖係顯示根據本發明之一實施例所述之資料儲存系統的方塊圖範例。
第2圖係顯示根據本發明之一實施例所述之介面電路方塊圖。
第3圖係顯示根據本發明之一實施例所述之錯誤回復執行方法之範例流程圖。
第4圖係顯示根據本發明之一實施例所述之由電源改變請求訊號所觸發之訊號交握流程之訊息流範例。
第5圖係顯示根據本發明之一實施例所述之週期性線路重置操作示意圖。
第6圖係顯示根據本發明之另一實施例所述之錯誤回復執行方法之範例流程圖。
在下文中,描述了許多具體細節以提供對本發明實施例的透徹理解。然而,本領域技術人員仍將理解如何在缺少一個或多個具體細節或依賴於其他方法、元件或材料的情況下實施本發明。在其他情況下,未詳細示出或描述公知的結構、材料或操作,以避免模糊本發明的主要概念。
在整個說明書中對「一實施例」或「一範例」的引用意味著結合該實施例或範例所描述的特定特徵、結構或特性係包括於本發明之多個實施例的至少一個實施例中。因此,貫穿本說明書在各個地方出現的短語「於本發明之一實施例中」、「根據本發明之一實施例」、「於一範例中」或「根據本發明之一範例」不一定都指到相同的實施例或範例。此外,特定特徵、結構或特性可以在一個或多個實施例或範例中以任何合適的組合和/或子組合進行結合。
此外,為讓本發明之目的、特徵和優點能更明顯易懂,下文特舉出本發明之具體實施例,並配合所附圖式,作詳細說明如下。目的在於說明本發明之精神而非用以限定本發明之保護範圍,應理解下列實施例可經由軟體、硬體、韌體、或上述任意組合來實現。
第1圖係顯示根據本發明之一實施例所述之資料儲存系統的方塊圖範例。資料儲存系統可包括一主機裝置130與一資料儲存裝置100。主機裝置130可至少包括一處理器131、至少一隨機存取記憶體(Random Access Memory,縮寫為RAM)132,例如至少一動態隨機存取記憶體(Dynamic RAM,縮寫為DRAM)或至少一靜態隨機存取記憶體(Static RAM,縮寫為SRAM)、至少一唯讀記憶體133、一電源電路135以及一裝置介面138。
主機裝置130透過裝置介面138存取資料儲存裝置100。處理器131、 裝置介面138、隨機存取記憶體132與唯讀記憶體133可透過一匯流排彼此相互連接,並且可耦接至電源電路135以取得電源。處理器131可控制主機裝置130之運作。唯讀記憶體133可儲存程式碼。處理器131執行程式碼以控制主機裝置130之運作。
電源電路135可透過匯流排或電源線將電源供應至處理器131、裝置介面138、隨機存取記憶體132與唯讀記憶體133,以及將電源供應至資料儲存裝置100,例如輸出一或多個驅動電壓至資料儲存裝置100。資料儲存裝置100可自主機裝置130取得所述驅動電壓作為資料儲存裝置100的電源,並且為主機裝置130提供儲存空間。
資料儲存裝置100可包括一記憶體裝置120與一記憶體控制器110。記憶體控制器110用以存取(Access)記憶體裝置120及控制記憶體裝置120之運作。記憶體裝置120可為一非揮發性(non-volatile,縮寫為NV)記憶體裝置(例如,一快閃記憶體(flash memory)),並且可包括一或多個記憶元件(例如,一或多個快閃記憶體晶粒、一或多個快閃記憶體晶片、或其他類似元件)。
根據本發明之一實施例,主機裝置130可對資料儲存裝置100發出指令,例如,讀取指令或寫入指令,用以存取記憶體裝置120所儲存之資料,或者主機裝置130可對資料儲存裝置100發出指令以進一步控制、管理資料儲存裝置100。
根據本發明之一實施例,記憶體控制器110可包括一微處理器112、一唯讀記憶體(Read Only Memory,縮寫為ROM)112M、一記憶體介面114、一緩衝記憶體116、與一主機介面118。唯讀記憶體112M係用以儲存程式碼112C。而微處理器112則用來執行程式碼112C以控制對記憶體裝置120之存取。程式碼112C可包括一或多個程式模組,例如啟動載入(boot loader)程式碼。當資料儲存裝置100自主機裝置130取得電源時,微處理器112可藉由執行程式碼112C執行資 料儲存裝置100之一初始化程序。於初始化程序中,微處理器112可自記憶體裝置120載入一組系統內編程(In-System Programming,縮寫為ISP)程式碼(未示於第1圖)。微處理器112可執行該組系統內編程程式碼,使得資料儲存裝置100可具備各種功能。根據本發明之一實施例,該組系統內編程程式碼可包括,但不限於:一或多個與記憶體存取(例如,讀取、寫入與抹除)相關的程式模組,例如一讀取操作模組、一查找表格模組、一損耗均衡(wear leveling)模組、一讀取刷新(read refresh)模組、一讀取回收(read reclaim)模組、一垃圾回收模組、一非預期斷電恢復(Sudden Power Off Recovery,縮寫為SPOR)模組、以及一不可更正錯誤更正碼(Uncorrectable Error Correction Code,縮寫為UECC)模組,其分別被提供用以執行對應之讀取、查找表格、損耗均衡、讀取刷新、讀取回收、垃圾回收、非預期斷電恢復以及對偵測到的UECC錯誤進行錯誤處理等操作。
記憶體介面114包含了一錯誤更正碼引擎140。錯誤更正碼引擎140內部可包含一資料緩衝器(圖未示),用以暫存資料,以輔助錯誤更正碼引擎140對資料執行編碼與解碼操作。於將資料寫入記憶體裝置120的寫入流程中,錯誤更正碼引擎140對需被寫入記憶體裝置120的資料進行編碼,例如執行錯誤更正碼(ECC)編碼,以產生額外的奇偶位元(parity bits)。而於將資料讀出記憶體裝置120的讀取流程中,錯誤更正碼引擎140對從記憶體裝置120所讀出的資料進行解碼,用以檢測資料中的錯誤位元,並且於可更正的情況下(例如,資料中的錯誤位元數量不超過錯誤更正碼引擎140所能更正的錯誤位元數上限),修正錯誤位元的位元值。
於典型狀況下,記憶體裝置120包含了多個記憶元件,例如多個快閃記憶體晶粒或多個快閃記憶體晶片,各記憶元件可包含複數個記憶體區塊(Block)。記憶體控制器110對記憶體裝置120進行抹除資料運作係以區塊為單位來進行。另外,一記憶體區塊可記錄(包含)特定數量的資料頁(Page),例如,實 體資料頁,其中記憶體控制器110對記憶體裝置120進行寫入資料之運作係以資料頁為單位來進行寫入。
實作上,記憶體控制器110可利用其本身內部之元件來進行諸多控制運作,例如:利用記憶體介面114來控制記憶體裝置120之存取運作(尤其是對至少一記憶體區塊或至少一資料頁之存取運作)、利用緩衝記憶體116進行所需之緩衝處理、以及利用主機介面118來與主機裝置130溝通。
在一實施例中,記憶體控制器110透過主機介面118並使用一標準通訊協定與主機裝置130溝通。同理,主機裝置130可透過裝置介面138並使用相同之標準通訊協定與記憶體控制器110溝通。
舉例而言,上述之標準通訊協定包含(但不限於):通用序列匯流排(USB)標準、SD介面標準、超高速一代(Ultra High Speed-I,縮寫為UHS-I)介面標準、超高速二代(Ultra High Speed-II,縮寫為UHS-II)介面標準、CF介面標準、MMC介面標準、eMMC介面標準、UFS介面標準、高技術組態(Advanced Technology Attachment,縮寫為ATA)標準、序列高技術組態(Serial ATA,縮寫為SATA)標準、快捷外設互聯標準(Peripheral Component Interconnect Express,縮寫為PCI-E)標準、並列先進附件(Parallel Advanced Technology Attachment,縮寫為PATA)標準等。
在一實施例中,用以提供資料緩衝之緩衝記憶體116係以隨機存取記憶體來實施。例如,緩衝記憶體116可以是靜態隨機存取記憶體,但本發明亦不限於此。於其他實施例中,緩衝記憶體116可以是動態隨機存取記憶體。
在一實施例中,資料儲存裝置100可以是可攜式記憶體裝置(例如:符合SD/MMC、CF、MS、XD標準之記憶卡、USB隨身碟等裝置),且主機裝置130為一可與資料儲存裝置連接的電子裝置,例如手機、筆記型電腦、桌上型電腦...等等,主機裝置130結合資料儲存裝置100的一個整體可以是一資料儲存系 統或電子裝置系統內的一資料儲存系統。而在另一實施例中,資料儲存裝置100可以是固態硬碟或符合UFS或eMMC規格之嵌入式儲存裝置,並且可被設置在一電子裝置中,例如設置在手機、筆記型電腦、桌上型電腦之中,而此時主機裝置130可以是包含資料儲存裝置100之電子裝置,主機裝置130結合資料儲存裝置100的一個整體同樣可以是一資料儲存系統。
根據本發明之一實施例,主機介面118與裝置介面138可具有對稱的訊號處理結構,用以處理於兩裝置之間被傳送及/或被接收的訊號,以實現資料儲存裝置100與主機裝置130之間的高速資料傳輸。
第2圖係顯示根據本發明之一實施例所述之介面電路方塊圖。根據本發明之一實施例,介面電路200可以是主機介面或裝置介面,配置於一既定裝置(例如,上述資料儲存裝置或者主機裝置)內,使既定裝置可透過介面電路200與另一同級(peer)裝置(例如,上述主機裝置或者資料儲存裝置)相互溝通,並傳送資料訊號與控制訊號等。根據本發明之一實施例,介面電路200可以是第1圖中配置於記憶體控制器110內之主機介面118,或配置於主機裝置130內之裝置介面138。需注意的是,於本發明之實施例中,由於對接的主機介面與裝置介面可具有對稱的訊號處理結構,因此,第2圖所示的介面電路200可同時代表或示意出主機介面與裝置介面的訊號處理結構,且當介面電路200分別被實施為主機介面與裝置介面時,其所包含的電路與對應的操作於兩種實施中可以相同或大體相同,且具有對稱的運作邏輯。因此,以下說明並不限於主機介面或裝置介面之任一者,而是可同時作為主機介面與裝置介面的具體實施範例。
介面電路200可包括依循不同層通訊協定運作的訊號處理電路210、220與230。訊號處理電路210可以是物理層訊號處理電路,用以依循物理層通訊協定處理接收自同級裝置240之一接收訊號與需傳送至同級裝置240之一傳送訊號。例如,訊號處理電路210可對接收訊號與傳送訊號執行放大或衰減、類比- 數位轉換、混頻、基本的編碼或解碼、以及物理層的封包拆解等操作。如上所述,當介面電路200被實施為主機介面時,同級裝置240可以是主機裝置或主機裝置的裝置介面,當介面電路200被實施為裝置介面時,同級裝置240可以是資料儲存裝置或資料儲存裝置的主機介面。
訊號處理電路220可以是通訊協定層訊號處理電路,用以依循較物理層更上層之通訊協定對傳送訊號與接收訊號執行對應之訊號處理。例如,訊號處理電路220可依循行動工業處理器介面(Mobile Industry Processor Interface,MIPI)聯盟所開發的統一協定(Unified Protocol,簡稱UniPro)對傳送訊號與接收訊號執行對應之訊號處理。訊號處理電路220內部可再細分為複數層訊號處理電路,例如,與物理層訊號處理電路相接之一物理適配(Physical Adapter,縮寫PA)層訊號處理電路,以及其他層訊號處理電路。訊號處理電路230可以是應用層訊號處理電路,用以依循應用層之通訊協定執行更上層的訊號處理。
於本發明之實施例中,訊號處理電路220可於資料儲存裝置100的存取發生錯誤或失敗時,經由上層通知開始執行錯誤回復(Error Recovery)程序,以試圖讓資料儲存裝置100的存取操作回復正常,其中所述之上層可以是第2圖所示之訊號處理電路230,或者是第2圖所示之微處理器112或處理器131。由於資料儲存裝置100的存取錯誤或失敗並不限於是由資料儲存裝置100本身所發生的錯誤而造成的,也可能是因為主機裝置130端所發生的錯誤而造成的,因此,於本發明之實施例中,實施本發明所提出之錯誤回復執行方法之訊號處理電路220可以是包含於主機介面118內之訊號處理電路,也可以是包含於裝置介面218內之訊號處理電路。
一般而言,於資料儲存系統或資料儲存裝置100發生錯誤時,會觸發錯誤回復程序,以試圖讓資料儲存裝置100的存取操作回復正常。若無法藉由錯誤回復程序將資料儲存裝置100的存取操作回復正常,則可能被判定為發生致命 錯誤(fatal error)。一旦判斷發生致命錯誤,便必須將資料儲存系統或者其所包含的主機裝置130與資料儲存裝置100的至少一者斷電或重置,如此將對使用者造成諸多不便。為能更有效地於錯誤回復程序中使資料儲存裝置的存取操作回復正常,以避免致命錯誤的判斷或發生,並進一步改善資料儲存裝置100的存取效能,本發明提出一種錯誤回復執行方法,且本發明所提出之錯誤回復執行方法可於資料儲存系統或資料儲存裝置發生錯誤時,由資料儲存系統中的主機裝置130與資料儲存裝置100的至少一者之一介面電路(例如,第2圖所示之介面電路200)所包含之一訊號處理電路(例如,第2圖所示之訊號處理電路220)執行。
第3圖係顯示根據本發明之一實施例所述之錯誤回復執行方法之範例流程圖。其中,第3圖係一簡化的流程圖,以簡潔地闡述本發明之概念,且以下將以訊號處理電路220做為實施錯誤回復執行方法的裝置代表。
步驟S302:傳送一第一既定請求訊號至一同級裝置(例如,同級裝置240)以嘗試觸發一第一訊號交握流程。於本發明之一實施例中,若訊號處理電路220判斷第一訊號交握流程成功,則可直接判定錯誤回復成功,並結束錯誤回復程序。於本發明之另一實施例中,若第一訊號交握流程成功,訊號處理電路220可再重複執行步驟S302至少一次,藉由執行多次第一訊號交握流程以提升判斷錯誤回復成功的可靠度。
另一方面,若訊號處理電路220判斷第一訊號交握流程失敗,執行步驟S304。而若於重複執行步驟S302的過程中,判斷第一訊號交握流程失敗,訊號處理電路220也可繼續執行步驟S304。
步驟S304:執行一週期性線路重置(Line Reset)操作,用以於一既定期間內反覆地傳送一線路重置訊號給同級裝置。於本發明之一實施例中,若訊號處理電路220判斷於步驟S304中所傳送的線路重置訊號未被同級裝置確收,可直接判斷錯誤回復失敗,並結束錯誤回復程序。於本發明之另一實施例中,若 訊號處理電路220判斷於步驟S304中所傳送的線路重置訊號未被同級裝置確收,訊號處理電路220也可繼續執行步驟S306。
另一方面,若訊號處理電路220判斷線路重置訊號被同級裝置確收,執行步驟S306。
步驟S306:傳送一第二既定請求訊號至該同級裝置以嘗試觸發一第二訊號交握流程。於本發明之一實施例中,若訊號處理電路220判斷第二訊號交握流程成功,則可判定錯誤回復成功,並結束錯誤回復程序。若訊號處理電路220判斷第二訊號交握流程失敗,則可判定錯誤回復失敗,並結束錯誤回復程序。於本發明之一實施例中,於判定錯誤回復失敗時,由於訊號處理電路220無法藉由錯誤回復程序將資料儲存裝置100的存取操作回復正常,則訊號處理電路220或包含訊號處理電路220之介面電路200可判斷資料儲存系統或資料儲存裝置發生致命錯誤,進而觸發對應的修復程序,例如但不限於,前述之將裝置斷電、斷電後重新上電(例如,重新開機)、或者重置。
根據本發明之一實施例,第一既定請求訊號與第二既定請求訊號可以是由行動工業處理器介面(Mobile Industry Processor Interface,MIPI)聯盟所規範之電源改變請求訊號,例如,由MIPI聯盟於資料儲存裝置100與主機裝置130所依循之相關之規格或規範書中所具體定義之電源改變請求訊號PACP_PWR_REQ。
第4圖係顯示根據本發明之一實施例所述之由電源改變請求訊號所觸發之訊號交握流程之訊息流範例。如第4圖所示之訊號交握流程可包含將複數溝通訊號傳送於兩裝置(例如,裝置A與裝置B)之間的操作,其中的裝置A可以是主機裝置130與資料儲存裝置100的一者,裝置B是主機裝置130與資料儲存裝置100的另一者。
裝置A可發送一電源改變請求訊號PACP_PWR_REQ給裝置B,其中 電源改變請求訊號PACP_PWR_REQ可帶有裝置A請求設定之傳輸速率。響應於電源改變請求訊號PACP_PWR_REQ之接收,裝置B可回覆一電源改變確認訊號PACP_PWR_CNF給裝置A。一般而言,裝置A與裝置B會在建立雙方連線的初始化階段中,得知對方所支援的傳輸速率,因此,由裝置A所請求設定之傳輸速率會是裝置A與裝置B皆可支援的傳輸速率。
於發送電源改變確認訊號PACP_PWR_CNF後,裝置B可對應地調整傳輸速率,用以將當前傳輸速率設定為裝置A所請求之傳輸速率。於確收電源改變確認訊號PACP_PWR_CNF後,裝置A可對應地調整傳輸速率,用以將當前傳輸速率設定為其所請求之傳輸速率。接著,裝置A與裝置B分別傳送確收(Acknowledgment,縮寫為ACK)訊號給對方,並結束訊號交握流程。
於本發明之實施例中,若訊號交握流程中的所有訊息都能被成功地傳送且都能被同級裝置成功地接收,可判定交握流程成功。反之,若訊號交握流程中的任一訊號未能被成功地傳送及/或接收,則交握流程會被判定為失敗。
根據本發明之一實施例,於步驟S302的第一訊號交握流程中,請求方(例如,裝置A)的訊號處理電路可請求重新設定一當前傳輸速率。例如,請求方可請求將當前傳輸速率維持在當資料儲存系統或資料儲存裝置發生錯誤時所使用的既定傳輸速率。換言之,於步驟S302的第一訊號交握流程中,請求方可將請求之傳輸速率設定為當前傳輸速率,由於在資料儲存系統或資料儲存裝置發生錯誤後,資料儲存系統或資料儲存裝置並未調整傳輸速率,因此,請求方當前的傳輸速率即為前述當資料儲存系統或資料儲存裝置發生錯誤時所使用的既定傳輸速率。
根據本發明之另一實施例,當步驟S302被重複執行時,請求方(例如,裝置A)的訊號處理電路也可將請求之傳輸速率設定為低於當前傳輸速率的另一傳輸速率(於當前傳輸速率並非資料儲存系統可支援的最低傳輸速率的情 境),因此,本發明並不限於在第一訊號交握流程中將當前傳輸速率維持在當資料儲存系統或資料儲存裝置發生錯誤時所使用的既定傳輸速率。
此外,根據本發明之一實施例,於步驟S306的第二訊號交握流程中,請求方(例如,裝置A)的訊號處理電路可請求重新設定一當前傳輸速率。例如,請求方可請求將當前傳輸速率設定回當資料儲存系統或資料儲存裝置發生錯誤時所使用的既定傳輸速率。
根據本發明之一實施例,所述傳輸速率可包含雙向的傳輸速率,即,將資料傳送至同級裝置之一傳送速率以及自同級裝置接收資料之一接收速率。例如,電源改變請求訊號PACP_PWR_REQ可至少包含用以設定傳送速率之一傳送速率設定欄位TXGear,以及設定接收速率之一接收速率設定欄位RXGear。
根據本發明之一實施例,主機裝置130與資料儲存裝置100之間可包括複數訊號傳輸線道(Lane),例如,主機裝置130與資料儲存裝置100之間可至少包括一傳送(TX)線道與一接收(RX)線道(lane),各線道之一端可連接主機裝置130(或資料儲存裝置100)之一傳送端口(port)或傳送墊(pad),另一端可連接資料儲存裝置100(或主機裝置130)之一接收端口或接收墊。
此外,各線道可分別包括一或多個訊號傳輸路徑,例如,以訊號線、傳輸線、走線、或其他類似元件所實施之訊號傳輸路徑。於主機裝置130與資料儲存裝置100之間係透過單端訊號傳輸的實施中,各線道可分別包括至少一訊號傳輸路徑,而於主機裝置130與資料儲存裝置100之間係透過差動訊號傳輸的實施中,各線道可分別包括至少二訊號傳輸路徑,用以分別傳輸正訊號(P)與負訊號(N)。於本發明之一實施例中,線路重置訊號可藉由依據一特定式樣設定至少一線道上的一對差動訊號傳輸路徑上的電壓而被傳送。例如,所述特定式樣可以是:{P:高位準,N:低位準,時間長:1毫秒(ms)}。
更具體的說,根據本發明之一實施例,主機裝置130或資料儲存裝置 100可將用以傳輸正訊號與負訊號之訊號傳輸路徑上的電壓分別設定在不同的電壓位準,並且維持此設定至少一既定時間長度,藉此傳送出線路重置訊號,使得另一端的同級裝置可容易識別或偵測到此線路重置訊號。
以前述{P:高位準,N:低位準,時間長:1毫秒(ms)}的特定式樣為例,傳送端(例如,主機裝置130與資料儲存裝置100之其中一者)可將用以傳輸正訊號(P)之訊號傳輸路徑上的電壓設定在高位準,例如,300毫伏(mv),以及將用以傳輸負訊號(N)之訊號傳輸路徑上的電壓設定在低位準,例如,0毫伏(mv)或接地電壓,並維持此設定至少1毫秒,藉此設定傳送線路重置訊號,以實施線路重置(Line Reset)的操作,使得接收端(例如,主機裝置130與資料儲存裝置100之另一者)可容易識別或偵測到此線道目前被設定為線路重置的狀態。
當接收端接收到線路重置訊號(或者,察覺或偵測到此線道目前被設定為線路重置的狀態),可回傳另一線路重置訊號給傳送端,以表示由傳送端傳送之線路重置訊號之確收(Acknowledgment)。此外,響應於線路重置訊號之接收,線路重置訊號之接收端必須將當前傳輸速率降低至資料儲存系統可支援的最低傳輸速率,即,資料儲存系統內之資料儲存裝置100與主機裝置130均可支援之最低傳輸速率。因此,於本發明之實施例中,於步驟S306的第二訊號交握流程中,訊號處理電路可再請求將當前傳輸速率設定回當資料儲存系統或資料儲存裝置發生錯誤時所使用的既定傳輸速率。
第5圖係顯示根據本發明之一實施例所述之週期性線路重置操作示意圖。第5圖上方繪示本機端傳送端口(標記為Local-TX)之PN兩訊號傳輸路徑上的電壓差,下方則繪示同級裝置端傳送端口(標記為Peer-TX)之PN兩訊號傳輸路徑上的電壓差,藉此顯示出於本機端所執行之週期性線路重置操作,以及於同級裝置端響應於至少一線路重置訊號之接收而回傳另一線路重置訊號之操作。
如圖所示,於時間區間Tactive,本機端(即,週期性線路重置操作之 執行端)可將用以傳輸負訊號(N)之訊號傳輸路徑上的電壓設定在高位準,以及將用以傳輸正訊號(P)之訊號傳輸路徑上的電壓設定在低位準,並且維持此設定至少T1時間長度,而於時間區間LINE-RESET,本機端可將用以傳輸正訊號(P)之訊號傳輸路徑上的電壓設定在高位準,以及將用以傳輸負訊號(N)之訊號傳輸路徑上的電壓設定低位準,並且維持此設定至少T2時間長度。本機端可以此式樣反覆地設定差動訊號傳輸路徑上的電壓,以實施週期性線路重置操作。
響應於至少一線路重置訊號之接收,同級裝置端亦可於時間區間Tactive’與時間區間LINE-RESET’以既定式樣設定同級裝置之差動訊號傳輸路徑上的電壓,以通知本機端由其所傳送之線路重置訊號之確收。
根據本發明之一實施例,訊號處理電路220可於一既定期間內執行週期性線路重置操作。即,於既定期間屆期前,訊號處理電路220可反覆地對同級裝置傳送線路重置訊號。於本發明之實施例中,既定期間可由一時間長度所定義、或者可由線路重置操作須被執行的次數所定義。例如,本機端於第5圖所示之一個時間區間Tactive以及一個時間區間LINE-RESET所執行的電壓設定操作可被定義為一次線路重置操作,因此,於第5圖所示之範例中,本機端至少執行了三次線路重置操作。同理,同級裝置端至少執行一次線路重置操作。訊號處理電路220可於反覆地對同級裝置傳送線路重置訊號的時間長度到達預先設定之時間長度,或者對應的線路重置操作被反覆執行的次數到達預先設定之次數時,判斷既定期間屆期。
此外,根據本發明之一實施例,除了既定期間屆期,週期性線路重置操作的停止條件也可以包含自同級裝置端接收到另一線路重置訊號。即,於判斷既定期間屆期或者判斷自同級裝置端接收到另一線路重置訊號時,訊號處理電路220可中斷或停止週期性線路重置的操作。其中,自同級裝置端接收到另一線路重置訊號可代表週期性線路重置的成功,訊號處理電路220可繼續錯誤回 復流程,例如,繼續執行第3圖所示步驟S306。若直到既定期間屆期時都未能自同級裝置接收到任何線路重置訊號,則可判定錯誤回復失敗。
第6圖係顯示根據本發明之另一實施例所述之錯誤回復執行方法之範例流程圖。其中,第6圖為較詳細的流程圖,且以下將以訊號處理電路220做為實施錯誤回復執行方法的裝置代表。
步驟S602:接收一錯誤回復觸發訊息,以觸發訊號處理電路220開始執行錯誤回復程序。根據本發明之一實施例,錯誤回復觸發訊息可以是由MIPI聯盟所規範之一物理適配層初始化請求訊息(PA_INIT_REQ)訊息。
步驟S604:傳送一第一既定請求訊號至一同級裝置(例如,同級裝置240)以嘗試觸發一第一訊號交握流程。
步驟S606:判斷第一訊號交握流程是否成功。根據本發明之一實施例,若訊號處理電路220判斷第一訊號交握流程成功,則可直接判定錯誤回復成功(步驟S618),並結束錯誤回復程序。若訊號處理電路220判斷第一訊號交握流程失敗,則執行步驟S608。需注意的是,如上所述,於本發明之另一實施例中,若第一訊號交握流程成功,訊號處理電路220也可再重複執行步驟S604至少一次,藉由執行多次第一訊號交握流程以提升判斷錯誤回復成功的可靠度。
此外,於第一訊號交握流程中,請求方可將請求之傳輸速率設定為當前傳輸速率,即,當資料儲存系統或資料儲存裝置發生錯誤時所使用的既定傳輸速率。而於執行多次第一訊號交握流程的實施中,請求方也可將請求之傳輸速率設定為低於當前傳輸速率的另一傳輸速率,因此,本發明並不限於在第一訊號交握流程中將當前傳輸速率維持在當資料儲存系統或資料儲存裝置發生錯誤時所使用的既定傳輸速率。
步驟S608:執行一週期性線路重置操作,用以於一既定期間內反覆地傳送一線路重置訊號給同級裝置。
步驟S610:判斷線路重置訊號是否被同級裝置確收。例如,判斷是否於週期性線路重置操作的執行過程中,自同級裝置接收到另一線路重置訊號。若判斷任一線路重置訊號被同級裝置確收,執行步驟S612,若判斷於週期性線路重置操作的執行過程中所傳送的線路重置訊號均未被同級裝置確收,則可直接判定錯誤回復失敗(步驟S616),並結束錯誤回復程序。需注意的是,於本發明之一實施例中,若訊號處理電路220判斷線路重置訊號未被同級裝置確收,也可繼續執行步驟S612。
步驟S612:傳送一第二既定請求訊號至該同級裝置以嘗試觸發一第二訊號交握流程。
如上所述,響應於線路重置訊號之接收,線路重置訊號之接收端必須將當前傳輸速率降低至資料儲存系統可支援的最低傳輸速率,即,資料儲存系統內之資料儲存裝置100與主機裝置130均可支援之最低傳輸速率。因此,於本發明之實施例中,第二既定請求訊號係以根據一最低傳輸速率設定之當前傳輸速率被傳送,並且於第二訊號交握流程中,訊號處理電路220係透過第二既定請求訊號請求接收端將當前傳輸速率回復為當資料儲存系統或資料儲存裝置發生錯誤時所使用的既定傳輸速率。例如,訊號處理電路220可將第二既定請求訊號中的傳送速率設定欄位與接收速率設定欄位的數值設定為當資料儲存系統或資料儲存裝置發生錯誤時所使用的傳送速率與接收速率。
步驟S614:判斷第二訊號交握流程是否成功。根據本發明之一實施例,若訊號處理電路220判斷第二訊號交握流程成功,由於當前傳輸速率已成功地被回復為當資料儲存系統或資料儲存裝置發生錯誤時所使用的既定傳輸速率,則訊號處理電路220可判定錯誤回復成功(步驟S618),並結束錯誤回復程序。若訊號處理電路220判斷第二訊號交握流程失敗,由於當前傳輸速率無法成功地被回復為當資料儲存系統或資料儲存裝置發生錯誤時所使用的既定傳輸速率, 則訊號處理電路220可判定錯誤回復失敗(步驟S616),並結束錯誤回復程序。
步驟S616:錯誤回復失敗。於本發明之一實施例中,於判定錯誤回復失敗時,由於訊號處理電路220無法藉由錯誤回復程序將資料儲存裝置100的存取操作回復正常,則訊號處理電路220或包含訊號處理電路220之介面電路200可判斷資料儲存系統或資料儲存裝置發生致命錯誤,進而觸發對應的修復程序,例如但不限於,前述之將裝置斷電、斷電後重新上電(例如,重新開機)、或者重置。
步驟S618:錯誤回復成功。
如上所述,於本發明所提出之錯誤回復執行方法中,藉由執行週期性線路重置操作,提高線路重置操作成功的機率,相較於既有技術可更有效地於錯誤回復程序中使資料儲存裝置的存取操作回復正常,例如將傳輸速率回復為當資料儲存系統或資料儲存裝置發生錯誤時所使用的既定傳輸速率,以避免致命錯誤的判斷或發生,並進一步改善資料儲存裝置的存取效能。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100:資料儲存裝置
110:記憶體控制器
112:微處理器
112C:程式碼
112M:唯讀記憶體
114:記憶體介面
116:緩衝記憶體
118:主機介面
120:記憶體裝置
130:主機裝置
131:處理器
132:隨機存取記憶體
133:唯讀記憶體
135:電源電路
138:裝置介面
140:錯誤更正碼引擎

Claims (17)

  1. 一種資料儲存裝置,包括:一介面電路,用以處理接收自一同級裝置之一接收訊號與傳送至該同級裝置之一傳送訊號,其中該介面電路包括至少一訊號處理電路,用以於該資料儲存裝置發生錯誤時,執行一錯誤回復程序,並且於執行該錯誤回復程序時,該訊號處理電路執行一週期性線路重置(Line Reset)操作,用以於一既定期間內反覆地傳送一線路重置訊號給該同級裝置,直到該既定期間屆期或者自該同級裝置接收到另一線路重置訊號以表示該線路重置訊號之確收(Acknowledgment);其中該訊號處理電路於判斷一第一訊號交握流程失敗後,執行該週期性線路重置操作,並且其中該訊號處理電路藉由傳送一第一既定請求訊號至該同級裝置至少一次,以嘗試觸發該第一訊號交握流程。
  2. 如請求項1所述之資料儲存裝置,其中該訊號處理電路於該第一訊號交握流程中請求重新設定一當前傳輸速率。
  3. 如請求項1所述之資料儲存裝置,其中該訊號處理電路於該第一訊號交握流程中請求將一當前傳輸速率維持在當該資料儲存裝置發生錯誤時所使用的一既定傳輸速率。
  4. 如請求項1所述之資料儲存裝置,其中該第一既定請求訊號為由行動工業處理器介面(Mobile Industry Processor Interface,MIPI)聯盟所規範之一電源改變請求訊號。
  5. 如請求項1所述之資料儲存裝置,其中該訊號處理電路藉由將一對差動訊號傳輸路徑上的電壓依據一特定式樣做設定以傳送該線路重置訊號給該同級裝置。
  6. 如請求項1所述之資料儲存裝置,其中該資料儲存裝置包含於一資料儲存系統內,並且該同級裝置為該資料儲存系統內用以存取該資料儲存裝置之一主機裝置。
  7. 如請求項1所述之資料儲存裝置,其中當該訊號處理電路於該既定期間屆期時並未自該同級裝置接收到任何線路重置訊號,該訊號處理電路判斷錯誤回復失敗,以及當該訊號處理電路於該既定期間屆期前自該同級裝置接收到該另一線路重置訊號時,進一步傳送一第二既定請求訊號以觸發一第二訊號交握流程。
  8. 如請求項7所述之資料儲存裝置,其中於判斷該第二訊號交握流程失敗時,該訊號處理電路判斷錯誤回復失敗,以及於判斷該第二訊號交握流程成功時,該訊號處理電路判斷錯誤回復成功。
  9. 如請求項7所述之資料儲存裝置,其中該訊號處理電路係以一最低傳輸速率作為一當前傳輸速率傳送該第二既定請求訊號,並且於該第二訊號交握流程中請求將該當前傳輸速率回復為當該資料儲存裝置發生錯誤時所使用的一既定傳輸速率。
  10. 一種錯誤回復執行方法,用以於一資料儲存裝置發生錯誤時,由 一訊號處理電路執行一錯誤回復程序,其中該訊號處理電路為該資料儲存裝置之一介面電路所包含之一訊號處理電路,該介面電路用以處理接收自一同級裝置之一接收訊號與傳送至該同級裝置之一傳送訊號,以及該錯誤回復程序包括:傳送一第一既定請求訊號至該同級裝置以嘗試觸發一第一訊號交握流程;於判斷該第一訊號交握流程失敗時,執行一週期性線路重置(Line Reset)操作以於一既定期間內反覆地傳送一線路重置訊號給該同級裝置;於判斷該線路重置訊號被該同級裝置確收(Acknowledgment)時,傳送一第二既定請求訊號至該同級裝置以嘗試觸發一第二訊號交握流程;以及於判斷該第二訊號交握流程成功時,判斷錯誤回復成功。
  11. 如請求項10所述之錯誤回復執行方法,更包括:於該第一訊號交握流程中請求重新設定一當前傳輸速率。
  12. 如請求項10所述之錯誤回復執行方法,更包括:於該第一訊號交握流程中請求將一當前傳輸速率維持在當該資料儲存裝置發生錯誤時所使用的一既定傳輸速率。
  13. 如請求項10所述之錯誤回復執行方法,其中該線路重置訊號係藉由依據一特定式樣設定一對差動訊號傳輸路徑上的電壓被傳送。
  14. 如請求項10所述之錯誤回復執行方法,更包括:於判斷該線路重置訊號未被該同級裝置確收時,判斷錯誤回復失敗,其中當該訊號處理電路於該既定期間屆期時並未自該同級裝置接收到任何線路重置訊號,判斷該線路重置訊號未被該同級裝置確收。
  15. 如請求項10所述之錯誤回復執行方法,更包括:於判斷該第二訊號交握流程失敗時,判斷錯誤回復失敗。
  16. 如請求項10所述之錯誤回復執行方法,其中該第二既定請求訊號係以根據一最低傳輸速率設定之一當前傳輸速率被傳送,並且於該第二訊號交握流程中,該當前傳輸速率被請求回復為當該資料儲存裝置發生錯誤時所使用的一既定傳輸速率。
  17. 如請求項10所述之錯誤回復執行方法,其中該第一既定請求訊號與該第二既定請求訊號為由行動工業處理器介面(Mobile Industry Processor Interface,MIPI)聯盟所規範之電源改變請求訊號。
TW111148153A 2022-12-15 2022-12-15 資料儲存裝置與錯誤回復執行方法 TWI824885B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW111148153A TWI824885B (zh) 2022-12-15 2022-12-15 資料儲存裝置與錯誤回復執行方法
CN202310081439.0A CN118210744A (zh) 2022-12-15 2023-01-19 数据储存装置与错误回复执行方法
US18/219,714 US20240202060A1 (en) 2022-12-15 2023-07-10 Data storage device and method for performing error recovery

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW111148153A TWI824885B (zh) 2022-12-15 2022-12-15 資料儲存裝置與錯誤回復執行方法

Publications (2)

Publication Number Publication Date
TWI824885B true TWI824885B (zh) 2023-12-01
TW202427213A TW202427213A (zh) 2024-07-01

Family

ID=90053125

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111148153A TWI824885B (zh) 2022-12-15 2022-12-15 資料儲存裝置與錯誤回復執行方法

Country Status (3)

Country Link
US (1) US20240202060A1 (zh)
CN (1) CN118210744A (zh)
TW (1) TWI824885B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648958A (zh) * 2015-10-30 2017-05-10 广达电脑股份有限公司 基本输入输出系统回复管理系统及其方法以及程序产品
US20210200649A1 (en) * 2019-12-30 2021-07-01 Advanced Micro Devices, Inc. Error recovery for non-volatile memory modules
TWI755739B (zh) * 2020-05-26 2022-02-21 慧榮科技股份有限公司 記憶體控制器與資料處理方法
TW202240420A (zh) * 2020-09-17 2022-10-16 日商鎧俠股份有限公司 主機裝置
TWI783012B (zh) * 2017-12-19 2022-11-11 韓商愛思開海力士有限公司 記憶體系統、其操作方法以及包括其的資料處理系統

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648958A (zh) * 2015-10-30 2017-05-10 广达电脑股份有限公司 基本输入输出系统回复管理系统及其方法以及程序产品
TWI783012B (zh) * 2017-12-19 2022-11-11 韓商愛思開海力士有限公司 記憶體系統、其操作方法以及包括其的資料處理系統
US20210200649A1 (en) * 2019-12-30 2021-07-01 Advanced Micro Devices, Inc. Error recovery for non-volatile memory modules
TWI755739B (zh) * 2020-05-26 2022-02-21 慧榮科技股份有限公司 記憶體控制器與資料處理方法
TW202240420A (zh) * 2020-09-17 2022-10-16 日商鎧俠股份有限公司 主機裝置

Also Published As

Publication number Publication date
CN118210744A (zh) 2024-06-18
US20240202060A1 (en) 2024-06-20

Similar Documents

Publication Publication Date Title
KR101623119B1 (ko) 솔리드 스테이트 드라이브의 에러 제어 방법
TWI443513B (zh) 記憶體儲存裝置、記憶體控制器與資料寫入方法
KR20040082022A (ko) 정보기억장치 및 정보처리시스템
US8010860B2 (en) Method and architecture to prevent corrupt data propagation from a PCI express retry buffer
CN112612634A (zh) 存储器系统和主机的操作方法以及计算系统
TWI771654B (zh) 記憶體系統,記憶體系統控制方法,以及資訊處理系統
CN103218271B (zh) 一种数据纠错方法及装置
TW202338851A (zh) 異常斷電恢復方法、記憶體控制電路單元以及記憶體儲存裝置
CN109426582B (zh) 用于存储装置为错误处置进行数据处理的方法及控制器
TWI824885B (zh) 資料儲存裝置與錯誤回復執行方法
WO2021088368A1 (zh) 一种存储器的修复方法及装置
TWI806262B (zh) 橋接裝置與資料儲存系統
US20240202070A1 (en) Data storage device and method for performing error recovery
US20190295681A1 (en) Nonvolatile memory device, operating method thereof and data storage device including the same
TW202234861A (zh) 用於控制器中的錯誤處理的控制方法、其記錄媒體、控制器以及儲存裝置
TWI811038B (zh) 記憶體控制器與偵錯訊息輸出控制方法
KR20200019513A (ko) 컨트롤러, 메모리 시스템 및 그 동작 방법
US11893275B2 (en) DRAM-less SSD with recovery from HMB loss
TWI812534B (zh) 資料儲存裝置與韌體更新方法
US11809742B2 (en) Recovery from HMB loss
TWI814634B (zh) 資料儲存裝置與韌體更新方法
CN113535459B (zh) 响应电源事件的数据存取方法及装置
EP4206931A1 (en) Storage device including mapping memory and method of operating the same
TWI740454B (zh) 反應電源事件的資料存取方法及裝置
US20230035137A1 (en) Idle power mode for external storage device