TWI703435B - 特定應用積體電路中之中央錯誤處理 - Google Patents

特定應用積體電路中之中央錯誤處理 Download PDF

Info

Publication number
TWI703435B
TWI703435B TW107128919A TW107128919A TWI703435B TW I703435 B TWI703435 B TW I703435B TW 107128919 A TW107128919 A TW 107128919A TW 107128919 A TW107128919 A TW 107128919A TW I703435 B TWI703435 B TW I703435B
Authority
TW
Taiwan
Prior art keywords
error
command
status
message
manager
Prior art date
Application number
TW107128919A
Other languages
English (en)
Other versions
TW201921244A (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 日商東芝記憶體股份有限公司
Publication of TW201921244A publication Critical patent/TW201921244A/zh
Application granted granted Critical
Publication of TWI703435B publication Critical patent/TWI703435B/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/0784Routing of error reports, e.g. with a specific transmission path or data flow
    • 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/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • 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/0706Error 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
    • 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
    • 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
    • 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/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • 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/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本發明係關於特定應用積體電路中之中央錯誤處理。在一個實施例中,一種系統包含:複數個硬體區塊,該複數個硬體區塊中之每一者經組態以回應於與一命令相關聯之一請求執行一功能;一錯誤佇列管理器,其經組態以自該複數個硬體區塊中之至少一者接收一錯誤訊息並將該錯誤訊息儲存在一錯誤佇列中,該錯誤訊息包括一出錯之命令之一命令識別符;及一錯誤狀態管理器,其包括一錯誤狀態位元映射,該錯誤狀態位元映射儲存複數個命令識別符中之每一者的一錯誤狀態位元,該錯誤狀態位元指示命令出錯或命令未出錯;該錯誤狀態管理器經組態以設定用於該出錯之命令之該命令識別符的該錯誤狀態位元以回應於一錯誤狀態訊息指示命令出錯,該錯誤狀態訊息包括該出錯之命令之該命令識別符。

Description

特定應用積體電路中之中央錯誤處理
本發明大體係關於特定應用積體電路,且更具體而言,係關於特定應用積體電路中之中央錯誤處理。
諸如片上系統(SoC)裝置之現代特定應用積體電路(ASIC)通常需要以非常高之資料速率操作。為了實現此高速操作,除了在處理器上運行之韌體之外,ASIC設計通常亦包括複雜之硬體自動化。具有高水平硬體自動化的一ASIC之一個實例為非揮發性揮發性固態記憶體驅動器中之記憶體控制器。在具有高階硬體自動化之裝置中,應以使得出錯之命令已限制對其他命令無影響之方式處理來自外部主機之執行中的命令中之錯誤。常見之錯誤處理方案涉及發送至裝置韌體之中斷以及停止遇到錯誤之硬體區塊之操作,或在硬體區塊之間傳遞錯誤,此導致ASIC設計之顯著複雜性。此等錯誤處理方案亦為遇到命令中之錯誤之一個硬體區塊創造「背壓」在執行與該同一命令相關聯之任務中所涉及的其他硬體區塊之機會。例如,若硬體區塊由於遇到錯誤之命令而停止操作,則需要由彼硬體區塊完成任務之所有其他命令之完成將延遲,直至錯誤經清除為止,從而導致等待時間峰值。
通常,遇到錯誤之每一硬體區塊將保持「錯誤狀態」,直至韌體清除錯誤為止。若兩個硬體區塊同時處於錯誤狀態,則彼等硬體區塊中之兩者都將導致系統中之背壓,此為多錯誤之極端狀況。旨在處理此等極端狀況之錯誤處理方案為系統之硬體及韌體兩者增加了顯著之複雜性。此複雜性要求在製造之前對系統之設計進行重要之驗證測試,此可能會延遲系統之上市時機。因此,長期以來需要一種用於ASIC中之錯誤處理之改良技術。
在一個實施例中,一種系統包含複數個硬體區塊,該複數個硬體區塊中之每一者經組態以回應於與一命令相關聯之一請求執行一功能;一錯誤佇列管理器,其經組態以自該複數個硬體區塊中之至少一者接收一錯誤訊息並將該錯誤訊息儲存在一錯誤佇列中,該錯誤訊息包括一出錯之命令之一命令識別符;及一錯誤狀態管理器,其包括一錯誤狀態位元映射,該錯誤狀態位元映射儲存複數個命令識別符中之每一者之一錯誤狀態位元,該錯誤狀態位元指示命令出錯或命令未出錯;該錯誤狀態管理器經組態以設定用於該出錯之命令之該命令識別符之該錯誤狀態位元以回應於一錯誤狀態訊息指示命令出錯,該錯誤狀態訊息包括該出錯之命令之該命令識別符。在一個實施例中,複數個硬體區塊中之每一者經組態以在回應於與一命令相關聯之一請求執行一功能之前發送一查詢至錯誤狀態管理器以判定該命令之錯誤狀態,並忽略對執行與出錯之命令有關之一功能的請求。在一個實施例中,該系統進一步包含韌體,該韌體經組態以自錯誤佇列管理器中之錯誤佇列中擷取錯誤訊息,並識別分配給包括出錯之命令之命令識別符的一請求之複數個硬體區塊中之至少一者中之一資源,及指示複數個硬體區塊中之至少一者釋放分配至請求之資源,包括出錯之命令之命令識別符。
在一個實施例中,一種方法包含:在一錯誤佇列管理器中自複數個硬體區塊中之一者接收一錯誤訊息,該錯誤訊息包括一命令識別符;將錯誤訊息儲存在一錯誤佇列中,使得一錯誤狀態管理器將對應於命令識別符之一錯誤狀態位元映射中的一錯誤狀態設定為錯誤之訊息;向韌體報告錯誤佇列中存在錯誤訊息;由韌體識別與複數個硬體區塊中之一第二者中之命令識別符相關聯的至少一個資源;及致使複數個硬體區塊中之第二者釋放與命令識別符相關聯之至少一個資源。在一個實施例中,該方法進一步包含回應於來自複數個硬體區塊中之一者之查詢報告一命令之錯誤狀態,若命令之錯誤狀態為命令出錯,則忽略與該命令相關聯之一請求,且若命令之錯誤狀態為命令未出錯,則回應與命令相關聯之請求執行一功能。在一個實施例中,該方法進一步包含在已釋放與命令識別符相關聯之至少一個資源時,使得錯誤狀態管理器將對應於命令識別符之一錯誤狀態位元映射中之錯誤狀態位元設定為命令未出錯。
圖1為根據本發明的具有中央錯誤處理之一特定應用積體電路(ASIC) 100之一個實施例之圖。ASIC 100包含但不限於一硬體區塊A 112、一硬體區塊B 114、一硬體區塊C 116、一硬體區塊D 118、韌體120、一錯誤佇列管理器122及一錯誤狀態管理器124。ASIC 100包括用於在硬體區塊之間交換命令及命令相關請求之一命令路徑132及用於在硬體區塊之間交換資料之一資料路徑134。為易於說明,圖1中未展示ASIC 100中之塊之間的所有通信路徑。韌體120為儲存在唯讀記憶體(未圖示)中之可執行碼,其由一處理單元(未圖示)結合一揮發性記憶體(未圖示)執行。硬體區塊A 112、硬體區塊B 114、硬體區塊C 116及硬體區塊D 118中之每一者為執行一特定任務或功能(例如,直接記憶體存取、排隊命令或糾錯譯碼)之一硬體狀態機。為易於說明,圖1中展示四個硬體區塊112、114、116及118;包括任何數目個硬體區塊之ASIC 100在本發明之範疇內。另外,錯誤佇列管理器122及錯誤狀態管理器124可實施為硬體狀態機。
硬體區塊A 112、硬體區塊B 114、硬體區塊C 116及硬體區塊D 118中之每一者回應於與一來自主機系統(未圖示)之一命令之命令識別符相關聯的一請求來執行任務或功能。若硬體區塊中之一者(例如硬體區塊C 116)在處理請求時遇到錯誤,則硬體區塊C 116藉由發送一錯誤訊息將錯誤報告至錯誤佇列管理器122。錯誤訊息包括硬體區塊C 116之一區塊識別符,該命令識別符用於識別與遇到錯誤之請求相關聯的命令(亦即,錯誤命令),以及與錯誤有關之任何其他適當資訊。在將錯誤訊息發送至錯誤佇列管理器122之後,硬體區塊C 116釋放與錯誤命令有關之所有狀態並開始處理下一個請求。藉由將與錯誤訊息中之一錯誤有關的所有資訊包含至錯誤佇列管理器122,釋放與一出錯之命令相關聯之所有狀態,且接著繼續下一個請求,硬體區塊A 112、硬體區塊B 114、硬體區塊C 116及硬體區塊D 118中無一者藉由延遲處理與其他命令相關聯之請求來「背壓」ASIC 100中之任何其他硬體區塊。
當錯誤佇列管理器122將一錯誤訊息移動至錯誤佇列之頂部(頭部)時,錯誤佇列管理器122發送一中斷至韌體120。錯誤佇列管理器122發送一「命令出錯」狀態訊息至錯誤狀態管理器124,該狀態訊息致使錯誤狀態管理器124將關於錯誤狀態位元映射中之該命令識別符的錯誤狀態設定為出錯。在另一實施例中,遇到錯誤之硬體區塊,例如硬體區塊C 116,發送一「命令出錯」狀態訊息至錯誤狀態管理器124,該狀態訊息致使錯誤狀態管理器124將關於彼命令識別符之一錯誤狀態設定為錯誤狀態位元映射中之錯誤。韌體120自錯誤佇列管理器122擷取錯誤資訊且識別出出錯之命令。接著,韌體120執行「清除」程序以識別並釋放與執行錯誤命令有關之其他硬體區塊中的資源。例如,硬體區塊A 112可具有諸如暫存器之資源,該暫存器儲存關於與在硬體區塊C 116中遇到一錯誤之命令有關的請求之狀態資訊。韌體120將指示硬體區塊A 112釋放分配至與錯誤命令相關聯之處理請求之任何資源。接著,釋放之資源可用於處理與其他未出錯之命令相關聯的請求。當「清除」程序完成時,韌體120發送一「清除錯誤」訊息至錯誤狀態管理器124,以將命令識別符之錯誤狀態設定為未出錯。
錯誤狀態管理器124中之錯誤狀態位元映射包括可分配給ASIC 100中之一命令之每一命令識別符的一錯誤狀態位元。當一硬體區塊(例如,硬體區塊A 112)自韌體120或功能介面上之另一硬體區塊接收執行任務之請求時,硬體區塊A 112首先藉由發送一查詢至錯誤狀態管理器124來檢查與該請求相關聯之命令識別符的錯誤狀態。若錯誤狀態管理器124回應該命令出錯之訊息,則硬體區塊A 112忽略與該命令相關聯之請求,並繼續進行查詢它接收的下一個請求之錯誤狀態。若錯誤狀態管理器124以該命令未出錯之一訊息做出回應,則硬體區塊A 112處理該請求。藉由在嘗試處理請求之前檢查與其功能介面上之每一傳入請求相關聯之命令的錯誤狀態,且丟棄與錯誤狀態管理器124報告為出錯之命令相關聯之請求,硬體區塊A 112、硬體區塊B 114、硬體區塊C 116及硬體區塊D 118中之每一者避免經先前在另一硬體區塊中遇到錯誤之一命令「感染」。因此,硬體區塊A 112、硬體區塊B 114、硬體區塊C 116及硬體區塊D 118中無一者浪費資源來處理與報告為一出錯之命令相關聯的請求。
圖2為根據本發明的圖1之錯誤狀態管理器124之一個實施例之圖。錯誤狀態管理器124包括但不限於具有一命令識別符(命令ID)索引212及一錯誤狀態欄位214、一錯誤狀態邏輯216及一錯誤檢查邏輯218之一錯誤狀態位元映射210。錯誤狀態位元映射210包括等於ASIC 100中所使用的可能命令識別符之數目(N)之數目個行。錯誤狀態欄位214中之一錯誤狀態位元表示每一命令之錯誤狀態。在圖2實施例中,具有邏輯值「0」之錯誤狀態位元意謂該命令未出錯,且具有邏輯值「1」之一錯誤狀態位元意謂該命令出錯。在圖2之實施例中,命令4及命令N-1具有「出錯」之一錯誤狀態。錯誤狀態管理器124自錯誤佇列管理器122接收「命令出錯」狀態訊息,以將一命令標記為出錯,其中每一訊息包括一命令識別符。在另一個實施例中,當硬體區塊在執行與命令識別符相關聯之任務時遇到錯誤時,錯誤狀態管理器124自硬體區塊A 112、硬體區塊B 114、硬體區塊C 116及硬體區塊D 118中之任何一者接收一「錯誤命令」狀態訊息。在一個實施例中,錯誤狀態管理器124包括一暫存器介面(未圖示),其使得韌體120能夠設定命令之錯誤狀態。例如,韌體120可中止命令並將錯誤狀態位元映射210中的彼命令之錯誤狀態設定為出錯。回應於「命令出錯」狀態訊息,錯誤狀態邏輯216將針對指定命令識別符之錯誤狀態欄位214中的錯誤狀態位元設定為出錯,例如藉由將該位元設定為邏輯值「1」。錯誤狀態管理器124自韌體120接收「清除錯誤」訊息,以將指定之命令標記為不再出錯。回應於一「清除錯誤」訊息,錯誤狀態邏輯216將針對「清除錯誤」訊息中規定的命令識別符之錯誤狀態欄位214中之錯誤狀態位元設定為未出錯,例如藉由將該位元設定為邏輯值「0」。
錯誤狀態管理器124亦經組態以自尋求一特定命令之錯誤狀態的硬體區塊A 112、硬體區塊B 114、硬體區塊C 116及硬體區塊D 118接收「檢查錯誤」查詢。當錯誤狀態管理器124接收到來自硬體區塊A 112,硬體區塊B 114,硬體區塊C 116或硬體區塊D 118中之一者之查詢時,錯誤檢查邏輯218讀取針對查詢中規定之命令識別符的錯誤狀態欄位214中之錯誤狀態。接著,錯誤檢查邏輯218發送包括命令識別符及當前錯誤狀態之回應至請求硬體區塊。此回應使得硬體區塊能夠避免將與報告給錯誤佇列管理器122之命令相關聯的請求處理為出錯。
圖3為根據本發明的圖1之錯誤佇列管理器122之一個實施例之圖。錯誤佇列管理器122包含但不限於一錯誤佇列310、一韌體介面318及一錯誤訊息邏輯320。在圖3實施例中,錯誤佇列310包括但不限於一命令識別符欄位312、一硬體區塊識別符欄位314及一錯誤資訊欄位316。錯誤佇列管理器122在韌體120與硬體區塊A 112、硬體區塊B 114、硬體區塊C 116及硬體區塊D 118中之每一者之間提供一錯誤訊息介面。錯誤佇列管理器122經由錯誤訊息邏輯320自遇到錯誤之一硬體區塊接收錯誤訊息。錯誤訊息包括遇到錯誤之硬體區塊之硬體區塊識別符、出錯之命令之命令識別符以及與該命令有關之其他錯誤狀態資訊。錯誤狀態資訊之內容及格式取決於遇到錯誤的硬體區塊執行之功能。例如,執行直接記憶體存取功能之一硬體區塊將具有與執行數值計算功能之一硬體區塊不同的狀態資訊。
錯誤訊息邏輯320回應於來自一硬體區塊之一錯誤訊息發送一「命令出錯」狀態訊息至錯誤狀態管理器124,並將錯誤訊息資訊儲存在錯誤佇列310中。在圖3實施例中,錯誤佇列310展示硬體區塊A 112在處理與命令N-1有關之請求時報告錯誤,且硬體區塊C 116在處理與命令4有關之請求時報告錯誤。如圖2中所展示,命令4及命令N-1具有錯誤狀態「1」,命令出錯。錯誤訊息邏輯320按接收到錯誤訊息之順序將錯誤訊息資訊儲存在錯誤佇列310中。當錯誤訊息移動至錯誤佇列310之頂部時,韌體介面318發送中斷至韌體120以通知韌體120命令已遇到錯誤,且韌體120將自錯誤佇列管理器122獲取關於該命令之錯誤資訊。在一個實施例中,錯誤佇列310為具有頭部及尾部之一緩衝器。錯誤訊息邏輯320將每一所接收到之錯誤訊息寫入至錯誤佇列310之尾部,且韌體120自錯誤佇列310之頭部讀取錯誤訊息。在韌體120已處理錯誤訊息之後,韌體120寫入至一頭部暫存器(未圖示)以更新錯誤佇列310中頭部之位置。韌體120執行「清除」程序,其中其識別已經分配至與出錯之命令有關的請求之其他硬體區塊中之資源,並指示彼等硬體區塊釋放彼等資源。接著,韌體120以任何適當之方式處理錯誤資訊,例如藉由向主機系統報告錯誤及/或重新提交命令以便執行。
圖4為根據本發明的包括具有中央錯誤處理之一控制器的一固態儲存驅動器400之一個實施例之圖。固態儲存驅動器400包括但不限於一前端子系統410、一後端子系統414及複數個NAND快閃記憶體裝置416。前端子系統410提供與主機系統(未圖示)之一介面且後端子系統414提供與NAND快閃記憶體裝置416之一介面。在圖4實施例中,固態儲存驅動器400為雙主機系統,其中前端子系統410與兩個單獨之主機系統接口連接以接收命令及資料並輸出自NAND裝置416讀取之資料。前端子系統410中之NVM快速(NVMe)控制器412將自符合NVMe標準之主機系統接收之命令轉譯成對後端子系統414之一組請求以致使自NAND裝置416讀取資料或將資料寫入至NAND裝置416。
圖5為根據本發明的圖4之NVMe控制器412之一個實施例之圖。NVMe控制器412為ASIC,其包括但不限於一雙埠介面510、一佇列直接記憶體存取(DMA) 512、一命令處理器514、一子命令產生器516、一子命令執行區塊518、資料DMA 520、一韌體522、一錯誤佇列管理器524及一錯誤狀態管理器526。韌體522為儲存在唯讀記憶體(未圖示)中之可執行碼,其由一處理單元(未圖示)結合揮發性記憶體(未圖示)執行。雙埠介面510、佇列DMA 512、命令處理器514、子命令產生器516、子命令執行區塊518及資料DMA 520中之每一者為經組態以執行一特定任務之一硬體區塊。佇列DMA 512經由雙埠介面510提取主機命令(諸如,讀取命令及寫入命令),並將命令發送至命令處理器514。命令處理器514將一命令識別符指派至每一主機命令且將命令識別符發送至韌體522。命令處理器514將具有其分配之命令識別符的命令發送至子命令產生器516,子命令產生器516產生該命令之一組子命令(或請求)。例如,若該命令為調用待自NAND裝置416讀取之32 KB資料的一讀取命令,則子命令產生器516將產生一組讀取子命令,其中每一子命令經組態以致使自NAND裝置416中之一者讀取32KB有效載荷之部分。在一個實施例中,子命令產生器516經組態以產生各自具有4 KB之資料有效載荷的子命令。因此,對於調用32 KB資料之例示性讀取命令,子命令產生器516將產生與讀取命令之命令識別符相關聯的8個子命令。每一子命令包括標識彼子命令之資料標記。子命令產生器516將子命令發送至子命令執行區塊518,該子命令執行區塊執行子命令以使後端子系統414執行諸如自NAND裝置416讀取資料之操作。子命令執行區塊518使用資料標籤來管理子命令之處理。子命令執行區塊518將自NAND裝置416讀取之資料發送至資料DMA 520,資料DMA 520經由雙埠介面510提供資料至請求主機系統。資料DMA 520亦經由雙埠介面510自主機系統接收待寫入至NAND裝置416之資料,並將資料提供至子命令執行區塊518。
在接收與主機命令相關聯之請求時,佇列DMA 512、命令處理器514、子命令產生器516、子命令執行區塊518及資料DMA 520中之每一者發送查詢至錯誤狀態管理器526以確定與請求相關聯的命令之錯誤狀態。錯誤狀態管理器526包括一錯誤狀態位元映射(未圖示),且在錯誤狀態位元映射中查找包括在查詢中的命令識別符之錯誤狀態。錯誤狀態管理器526用包括彼命令之錯誤狀態之當前狀態(無錯或出錯)的訊息來對該查詢做出回應。若錯誤狀態管理器526對該命令未出錯之查詢做出回應,則硬體區塊處理該請求。若錯誤狀態管理器526對該命令出錯之查詢做出回應,則硬體區塊丟棄或忽略該請求並繼續進行下一個請求。
若佇列DMA 512、命令處理器514、子命令產生器516、子命令執行區塊518及資料DMA 520中之任何一者在處理與主機命令相關聯之請求時遇到錯誤,則遇到該錯誤之塊將錯誤訊息發送至錯誤佇列管理器524。錯誤訊息包括硬體區塊之一識別符,例如命令處理器514之識別符,遇到錯誤的命令之命令識別符,以及其他適用之錯誤資訊。在發送錯誤訊息後,遇到錯誤之塊將釋放該請求之所有狀態,並繼續處理其下一個傳入請求。錯誤佇列管理器524將每一錯誤訊息中之資訊儲存在錯誤佇列(未圖示)中,並將「命令出錯」狀態訊息發送至錯誤狀態管理器526。在另一實施例中,遇到錯誤之塊將「命令出錯」狀態訊息發送至錯誤狀態管理器526。錯誤狀態管理器526接著在錯誤狀態位元映射中將命令識別符之錯誤狀態設定為出錯。錯誤佇列管理器524發送中斷至韌體522以通知韌體522訊息可用,且韌體522將自錯誤佇列管理器524提取關於彼命令之錯誤資訊。
韌體522適當地處理錯誤資訊,接著將釋放分配給出錯之命令的資源,並在必要時將錯誤報告至請求主機系統。韌體522識別已分配至與出錯之命令有關之請求之其他硬體區塊中的資源,並指示彼等硬體區塊釋放彼等資源。例如,韌體522將自命令處理器514之執行佇列中刪除出錯之命令,並掃描子命令執行區塊518之一資料標籤表,以識別與出錯之命令之命令識別符相關聯的任何資料標籤。接著,韌體522將指令發送至資料DMA 520及子命令執行區塊518,以便釋放與出錯之命令相關聯的所有資料標籤。一旦釋放了與出錯之命令相關聯的所有資料標籤,韌體522指示資料DMA 520解除分配與出錯之命令相關聯的任何殘留資料指標。當與出錯之命令有關的所有資源都已經釋放時,韌體522將「清除錯誤」訊息發送至錯誤狀態管理器526以將命令之錯誤狀態改變為「未出錯」。韌體522亦可指示命令處理器514將現在清除之命令之命令識別符標記為可用或空閒,使得命令識別符可經分配至自主機系統接收之新命令。替代地,韌體522將錯誤報告至發出命令之主機系統。在一個實施例中,韌體522將命令完成訊息發送至請求主機系統之完成佇列,其中完成訊息包括錯誤碼。發送完成訊息之韌體522亦將釋放命令識別符。在一個實施例中,韌體522經組態以將命令完成訊息發送至符合NVMe協定的請求主機之完成佇列。
圖6為根據本發明一個實施例的用於諸如NVMe控制器412之特定應用積體電路中的中央錯誤處理之方法步驟之流程圖。在步驟610中,硬體區塊(例如圖5之NVMe控制器412之子命令執行區塊518)偵測由彼區塊處理之命令中的錯誤。在步驟612中,遇到錯誤之硬體區塊將錯誤訊息發送至錯誤佇列管理器524,該錯誤訊息包括關於出錯之命令之命令識別符、遇到錯誤之硬體區塊之識別符,以及其他錯誤資訊。其他錯誤資訊之格式及內容將根據經歷錯誤之硬體區塊經組態執行之功能而變化。遇到錯誤之硬體區塊亦會釋放與出錯之命令有關的所有狀態,且接著繼續處理下一傳入請求。在步驟614中,錯誤佇列管理器524發送中斷至韌體522以通知韌體522已發生錯誤且526發送「命令出錯」狀態訊息至錯誤狀態管理器,錯誤狀態管理器526將錯誤狀態位元映射中之命令之錯誤狀態設定為出錯。在另一實施例中,遇到錯誤之硬體區塊發送「命令出錯」狀態訊息至錯誤狀態管理器526。在一個實施例中,錯誤佇列管理器524在錯誤佇列管理器524將下一錯誤訊息置放在錯誤佇列之頭部處時發送中斷至韌體522。在步驟616中,韌體522讀取錯誤佇列管理器524之錯誤佇列中的錯誤訊息。在步驟618中,韌體522執行「清除」程序以釋放分配至在其他硬體區塊中的出錯之命令之資源。下面結合圖7描述此「清除」程序之一個實施例。當清除程序完成後,該方法繼續步驟620,其中韌體522將訊息發送至錯誤狀態管理器526以清除錯誤狀態位元映射中之命令識別符之錯誤狀態。換句話說,韌體522發送「清除錯誤」訊息至錯誤狀態管理器526,以將命令識別符之錯誤狀態設定為無錯誤。在步驟622中,韌體522用適當之錯誤狀態碼發送命令完成訊息至主機系統之完成佇列。
圖7為根據本發明一個實施例的用於釋放與一錯誤命令相關聯之硬體資源之方法步驟之流程圖。在圖7實施例中,韌體522執行「清除」程序以釋放已在圖5之NVMe控制器412之硬體區塊中之一者中遇到錯誤的一命令之硬體資源。在步驟710中,韌體522自子命令產生器516之執行佇列中刪除錯誤之命令。在步驟712中,韌體522藉由在子命令執行區塊518掃描一個資料標籤表識別與錯誤之命令相關聯的所有資料標籤。在步驟714中,韌體522釋放與相關硬體區塊中之錯誤命令相關聯的所有資料標籤。例如,韌體522指示資料DMA 520及子命令執行區塊518以釋放與出錯之命令相關聯的所有資料標籤。一旦已釋放了與出錯之命令相關聯之所有資料標籤,在步驟716中,韌體522指示資料DMA 520解除分配與錯誤命令相關聯之任何殘留資料指標。
本發明之各個態樣之其他目標、優點及實施例對於熟習此項技術者將為顯而易見的,且在說明書及附圖之範疇內。例如但不限於,可重新配置結構或功能元件,或重新排序方法步驟,與本發明一致。類似地,機器可包含單個實例或複數個機器,此複數個機器可能囊括多種類型之機器,其一起提供所指示之功能。在各種實施例中所描述之機器類型並不意謂限制可在本發明之態樣之實施例中使用的可能類型之機器,且亦可實施可完成類似任務之其他機器。類似地,根據本發明的原理以及體現其之方法及系統可應用於其他實例,即使此處無具體描述,其仍然在本發明之範疇內。
100‧‧‧特定應用積體電路(ASIC)112‧‧‧硬體區塊A114‧‧‧硬體區塊B116‧‧‧硬體區塊C118‧‧‧硬體區塊D120‧‧‧韌體122‧‧‧錯誤佇列管理器124‧‧‧錯誤狀態管理器132‧‧‧命令路徑134‧‧‧資料路徑210‧‧‧錯誤狀態位元映射212‧‧‧命令識別符(命令ID)索引214‧‧‧錯誤狀態欄位216‧‧‧錯誤狀態邏輯218‧‧‧錯誤檢查邏輯310‧‧‧錯誤佇列312‧‧‧命令識別符欄位314‧‧‧硬體區塊識別符欄位316‧‧‧錯誤資訊欄位318‧‧‧韌體介面320‧‧‧錯誤訊息邏輯400‧‧‧固態儲存驅動器410‧‧‧前端子系統412‧‧‧NVM快速(NVMe)控制器414‧‧‧後端子系統416‧‧‧NAND快閃記憶體裝置510‧‧‧雙埠介面512‧‧‧佇列直接記憶體存取(DMA)514‧‧‧命令處理器516‧‧‧子命令產生器518‧‧‧子命令執行區塊520‧‧‧資料DMA522‧‧‧韌體524‧‧‧錯誤佇列管理器526‧‧‧錯誤狀態管理器
圖1為根據本發明的具有中央錯誤處理之一特定應用積體電路之一個實施例之圖。
圖2為根據本發明的圖1之錯誤狀態管理器之一個實施例之圖。
圖3為根據本發明的圖1之錯誤排隊管理器之一個實施例之圖。
圖4為根據本發明的包括具有中央錯誤處理之一控制器的一固態儲存驅動器之一個實施例之圖。
圖5為根據本發明的具有圖4之中央錯誤處理的控制器之一個實施例之圖。
圖6為根據本發明一個實施例的用於特定應用積體電路中之中央錯誤處理之方法步驟之流程圖。
圖7為根據本發明一個實施例的用於釋放與一錯誤命令相關聯之硬體資源之方法步驟之流程圖。
100‧‧‧特定應用積體電路(ASIC)
112‧‧‧硬體區塊A
114‧‧‧硬體區塊B
116‧‧‧硬體區塊C
118‧‧‧硬體區塊D
120‧‧‧韌體
122‧‧‧錯誤佇列管理器
124‧‧‧錯誤狀態管理器
132‧‧‧命令路徑
134‧‧‧資料路徑

Claims (23)

  1. 一種中央錯誤處理系統,其包含:複數個硬體區塊,該複數個硬體區塊中之每一者經組態以回應於與一命令相關聯之一請求而執行一功能;一錯誤佇列管理器,其經組態以自該複數個硬體區塊中之至少一者接收一錯誤訊息,並將該錯誤訊息儲存在一錯誤佇列中,該錯誤訊息包括一出錯之命令之一命令識別符;及一錯誤狀態管理器,其包括一錯誤狀態位元映射,該錯誤狀態位元映射儲存複數個命令識別符中之每一者的一錯誤狀態位元,該錯誤狀態位元指示命令出錯或命令未出錯;該錯誤狀態管理器經組態以將該出錯之命令之該命令識別符的該錯誤狀態位元設定為回應於一錯誤狀態訊息指示出錯之命令,該錯誤狀態訊息包括該出錯之命令之該命令識別符。
  2. 如請求項1之系統,其中該複數個硬體區塊中之每一者經組態以在回應於與該命令相關聯之一請求執行一功能之前,發送一查詢至該錯誤狀態管理器以判定一命令之錯誤狀態。
  3. 如請求項2之系統,其中該複數個硬體區塊中之每一者經組態以忽略執行與一出錯之命令相關聯之一功能的一請求。
  4. 如請求項1之系統,其中該錯誤佇列管理器經進一步組態以將該錯誤 狀態訊息發送至該錯誤狀態管理器。
  5. 如請求項1之系統,其中該複數個硬體區塊中之每一者經進一步組態以將該錯誤狀態訊息發送至該錯誤狀態管理器。
  6. 如請求項1之系統,其中該複數個硬體區塊中之每一者經組態以在執行與該請求相關聯之該功能時偵測一錯誤,並在偵測至該錯誤時將該錯誤訊息發送至該錯誤佇列管理器。
  7. 如請求項6之系統,其中該複數個硬體區塊中之每一者為一狀態機,且經進一步組態以在將該錯誤訊息發送至該錯誤佇列管理器之後釋放與該請求有關之所有狀態。
  8. 如請求項1之系統,其進一步包含韌體,該韌體經組態以自該錯誤佇列管理器中之該錯誤佇列中擷取該錯誤訊息並識別分配至包括該出錯之命令之該命令識別符的一請求之該複數個硬體區塊中之至少一者中之一資源。
  9. 如請求項8之系統,其中該韌體經進一步組態以指示該複數個硬體區塊中之該至少一者釋放分配至包括該出錯之命令之該命令識別符的該請求之該資源。
  10. 如請求項9之系統,其中該韌體經進一步組態以當已釋放分配至該複 數個硬體區塊中之該請求的所有資源時,指示該錯誤狀態管理器將用於該命令識別符之該錯誤狀態位元映射中的該錯誤狀態位元設定為命令未出錯。
  11. 如請求項1之系統,其中該錯誤訊息進一步包括該複數個硬體區塊中之該至少一者之一識別符。
  12. 如請求項1之系統,其中該錯誤訊息進一步包括關於該複數個硬體區塊中之該至少一者之狀態資訊。
  13. 一種中央錯誤處理方法,其包含:自複數個硬體區塊中之一者接收一錯誤佇列管理器中之一錯誤訊息,該錯誤訊息包括一命令識別符;將該錯誤訊息儲存在一錯誤佇列中;致使一錯誤狀態管理器將對應於該命令識別符之一錯誤狀態位元映射中之一錯誤狀態位元設定為命令出錯;向韌體報告該錯誤佇列中存在該錯誤訊息;藉由該韌體識別與該複數個硬體區塊中之一第二者中之該命令識別符相關聯的至少一個資源;及致使該複數個硬體區塊中之該第二者釋放與該命令識別符相關聯之該至少一個資源。
  14. 如請求項13之方法,其進一步包含查詢該錯誤狀態管理器以藉由該 複數個硬體區塊中之一者判定一命令之該錯誤狀態。
  15. 如請求項13之方法,其進一步包含:回應於來自該複數個硬體區塊中之一者之一查詢報告一命令之該錯誤狀態;若該命令之該錯誤狀態為命令出錯,則忽略與該命令相關聯之一請求;且若該命令之該錯誤狀態為命令未出錯,則回應於與該命令相關聯之該請求而執行一功能。
  16. 如請求項13之方法,其中致使一錯誤狀態管理器將對應於該命令識別符之一錯誤狀態位元映射中的一錯誤狀態位元設定為命令出錯包含將一錯誤狀態訊息自該錯誤佇列管理器或該複數個硬體區塊中之該一者發送至該錯誤狀態管理器。
  17. 如請求項13之方法,其進一步包含在已釋放與該命令識別符相關聯之該至少一個資源時,致使該錯誤狀態管理器將對應於該命令識別符之一錯誤狀態位元映射中的該錯誤狀態位元設定為命令未出錯。
  18. 如請求項13之方法,其進一步包含藉由複數個硬體區塊中之該一者在執行與該命令識別符相關聯之功能時偵測一錯誤,並釋放與複數個硬體區塊中之該一者中之該錯誤有關的所有狀態資訊。
  19. 如請求項13之方法,其中該複數個硬體區塊中之每一者為一狀態機,且經組態以在將該錯誤訊息發送至該錯誤佇列管理器之後釋放與該命令識別符有關之所有狀態。
  20. 如請求項13之方法,其中該複數個硬體區塊包含一特定應用積體電路,該特定應用積體電路將該韌體儲存在一記憶體中。
  21. 如請求項13之方法,其進一步包含發送一命令完成訊息至一主機系統,該命令完成訊息包括一錯誤碼。
  22. 如請求項13之方法,其中該錯誤訊息進一步包括該複數個硬體區塊中之該一者之一識別符。
  23. 如請求項13之方法,其中該錯誤訊息進一步包括關於該複數個硬體區塊中之該一者的狀態資訊。
TW107128919A 2017-09-13 2018-08-20 特定應用積體電路中之中央錯誤處理 TWI703435B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/702,853 2017-09-13
US15/702,853 US10528414B2 (en) 2017-09-13 2017-09-13 Centralized error handling in application specific integrated circuits

Publications (2)

Publication Number Publication Date
TW201921244A TW201921244A (zh) 2019-06-01
TWI703435B true TWI703435B (zh) 2020-09-01

Family

ID=63678359

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107128919A TWI703435B (zh) 2017-09-13 2018-08-20 特定應用積體電路中之中央錯誤處理

Country Status (4)

Country Link
US (1) US10528414B2 (zh)
EP (1) EP3457283B1 (zh)
CN (2) CN109491958B (zh)
TW (1) TWI703435B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10540219B2 (en) * 2017-09-13 2020-01-21 Toshiba Memory Corporation Reset and error handling in application specific integrated circuits
US10528414B2 (en) * 2017-09-13 2020-01-07 Toshiba Memory Corporation Centralized error handling in application specific integrated circuits
US11841776B2 (en) * 2019-06-12 2023-12-12 Intel Corporation Single chip multi-die architecture having safety-compliant cross-monitoring capability
US10938657B1 (en) * 2019-09-13 2021-03-02 Servicenow, Inc. Enhancing discovery patterns with shell command exit status
US11599481B2 (en) * 2019-12-12 2023-03-07 Western Digital Technologies, Inc. Error recovery from submission queue fetching errors
CN113485859A (zh) * 2021-06-23 2021-10-08 珠海格力电器股份有限公司 故障定位方法、装置、电子设备和计算机可读存储介质
CN114564324B (zh) * 2022-01-28 2024-06-28 苏州浪潮智能科技有限公司 一种ssd硬件错误处理方法、系统、装置及存储介质
TWI839862B (zh) * 2022-09-26 2024-04-21 英柏得科技股份有限公司 檢查資料存儲裝置之系統環境是否異常的方法與系統

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120239973A1 (en) * 2009-12-08 2012-09-20 Hewlett-Packard Development Company, L.P. Managing Errors In A Data Processing System
US8713357B1 (en) * 2011-09-06 2014-04-29 Western Digital Technologies, Inc. Systems and methods for detailed error reporting in data storage systems
US20150212738A1 (en) * 2014-01-27 2015-07-30 Micron Technology, Inc. Methods and apparatuses for executing a plurality of queued tasks in a memory
US20150254121A1 (en) * 2014-03-06 2015-09-10 International Business Machines Corporation Command execution results verification

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5278984A (en) * 1990-12-19 1994-01-11 Bull Hn Information Systems Inc. Method for managing requests by specifying time intervals for transmitting a minimum number of messages for specific destinations and priority levels
US5687390A (en) * 1995-11-14 1997-11-11 Eccs, Inc. Hierarchical queues within a storage array (RAID) controller
US7308700B1 (en) 1999-12-15 2007-12-11 Stmicroelectronics, Inc. Network station management system and method
US7397859B2 (en) * 2000-04-22 2008-07-08 Atheros Communications, Inc. Multi-carrier communication systems employing variable symbol rates and number of carriers
JP4771615B2 (ja) 2000-06-02 2011-09-14 コンパック インフォメーション テクノロジーズ グループ リミテッド パートナーシップ 仮想記憶システム
US6829697B1 (en) * 2000-09-06 2004-12-07 International Business Machines Corporation Multiple logical interfaces to a shared coprocessor resource
US7743147B2 (en) * 2001-04-20 2010-06-22 Hewlett-Packard Development Company, L.P. Automated provisioning of computing networks using a network database data model
US7151744B2 (en) 2001-09-21 2006-12-19 Slt Logic Llc Multi-service queuing method and apparatus that provides exhaustive arbitration, load balancing, and support for rapid port failover
US7756053B2 (en) 2006-06-30 2010-07-13 Intel Corporation Memory agent with error hardware
US8228338B1 (en) 2006-11-03 2012-07-24 Nvidia Corporation Hardware override of application programming interface programmed state
US8307128B2 (en) * 2006-12-08 2012-11-06 International Business Machines Corporation System and method to improve sequential serial attached small computer system interface storage device performance
US7721076B2 (en) * 2006-12-18 2010-05-18 Intel Corporation Tracking an oldest processor event using information stored in a register and queue entry
US7849259B1 (en) * 2007-02-14 2010-12-07 Marvell International Ltd. Disk controller response handler for write commands
US9794348B2 (en) * 2007-06-04 2017-10-17 Todd R. Smith Using voice commands from a mobile device to remotely access and control a computer
US8095829B1 (en) 2007-11-02 2012-01-10 Nvidia Corporation Soldier-on mode to control processor error handling behavior
US8351426B2 (en) * 2008-03-20 2013-01-08 International Business Machines Corporation Ethernet virtualization using assisted frame correction
US8504538B2 (en) * 2009-03-05 2013-08-06 Matrixx Software, Inc. Dependent commit queue for a database
US20110041005A1 (en) * 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System
US8862973B2 (en) * 2009-12-09 2014-10-14 Intel Corporation Method and system for error management in a memory device
US8839037B2 (en) * 2011-10-05 2014-09-16 Lsi Corporation Hardware queue for transparent debug
US9015533B1 (en) 2011-12-06 2015-04-21 Amazon Technologies, Inc. Error handling for asynchronous applications
US9086965B2 (en) * 2011-12-15 2015-07-21 International Business Machines Corporation PCI express error handling and recovery action controls
KR101749466B1 (ko) * 2013-09-23 2017-06-20 인텔 코포레이션 비휘발성 메모리에 대한 데이터의 이벤트 트리거링된 저장
US20150186068A1 (en) * 2013-12-27 2015-07-02 Sandisk Technologies Inc. Command queuing using linked list queues
US9454310B2 (en) * 2014-02-14 2016-09-27 Micron Technology, Inc. Command queuing
US10061780B2 (en) * 2014-04-28 2018-08-28 Bank Of America Corporation Information management command process device
US9497025B2 (en) * 2014-09-20 2016-11-15 Innovasic Inc. Ethernet interface module
JP6413813B2 (ja) * 2015-02-04 2018-10-31 富士ゼロックス株式会社 電子機器、制御装置及びプログラム
US20160248628A1 (en) * 2015-02-10 2016-08-25 Avago Technologies General Ip (Singapore) Pte. Ltd. Queue pair state transition speedup
KR102367982B1 (ko) * 2015-06-22 2022-02-25 삼성전자주식회사 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
US10437483B2 (en) * 2015-12-17 2019-10-08 Samsung Electronics Co., Ltd. Computing system with communication mechanism and method of operation thereof
US10102084B1 (en) * 2015-12-23 2018-10-16 Github, Inc. Decoupled maintenance and repository synchronization error detection
US10216668B2 (en) * 2016-03-31 2019-02-26 Intel Corporation Technologies for a distributed hardware queue manager
US10536441B2 (en) * 2016-08-23 2020-01-14 Texas Instruments Incorporated Thread ownership of keys for hardware-accelerated cryptography
US10503434B2 (en) * 2017-04-12 2019-12-10 Micron Technology, Inc. Scalable low-latency storage interface
US11243899B2 (en) * 2017-04-28 2022-02-08 International Business Machines Corporation Forced detaching of applications from DMA-capable PCI mapped devices
US10210095B2 (en) * 2017-07-06 2019-02-19 International Business Machines Corporation Configurable hardware queue management and address translation
US10528414B2 (en) * 2017-09-13 2020-01-07 Toshiba Memory Corporation Centralized error handling in application specific integrated circuits
US10540219B2 (en) * 2017-09-13 2020-01-21 Toshiba Memory Corporation Reset and error handling in application specific integrated circuits

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120239973A1 (en) * 2009-12-08 2012-09-20 Hewlett-Packard Development Company, L.P. Managing Errors In A Data Processing System
US8713357B1 (en) * 2011-09-06 2014-04-29 Western Digital Technologies, Inc. Systems and methods for detailed error reporting in data storage systems
US20150212738A1 (en) * 2014-01-27 2015-07-30 Micron Technology, Inc. Methods and apparatuses for executing a plurality of queued tasks in a memory
US20150254121A1 (en) * 2014-03-06 2015-09-10 International Business Machines Corporation Command execution results verification

Also Published As

Publication number Publication date
CN109491814A (zh) 2019-03-19
CN109491958A (zh) 2019-03-19
US10528414B2 (en) 2020-01-07
EP3457283A1 (en) 2019-03-20
US20190079824A1 (en) 2019-03-14
CN109491958B (zh) 2023-07-21
EP3457283B1 (en) 2020-07-29
TW201921244A (zh) 2019-06-01

Similar Documents

Publication Publication Date Title
TWI703435B (zh) 特定應用積體電路中之中央錯誤處理
US10540219B2 (en) Reset and error handling in application specific integrated circuits
US8108570B2 (en) Determining the state of an I/O operation
US7904605B2 (en) Computer command and response for determining the state of an I/O operation
US8166206B2 (en) Cancel instruction and command for determining the state of an I/O operation
US9483433B2 (en) Processing communication data in a ships passing condition
US10078543B2 (en) Correctable error filtering for input/output subsystem
US20090210571A1 (en) Processing of data to monitor input/output operations
US11614986B2 (en) Non-volatile memory switch with host isolation
US20050027894A1 (en) Standard ATA queuing automation in serial ATA interface
US20210216388A1 (en) Method and System to Detect Failure in PCIe Endpoint Devices
US10013367B2 (en) I/O processing system including dynamic missing interrupt and input/output detection
US20160292054A1 (en) Failover Method, Apparatus and System
CN116149559A (zh) 队列处理方法、装置、服务器、电子设备和存储介质
WO2022001138A1 (zh) 一种ssd盘片控制器复位方法、系统、装置及可读存储介质
US6732212B2 (en) Launch raw packet on remote interrupt
US20120290875A1 (en) Methods and structure for storing errors for error recovery in a hardware controller
CN107153580B (zh) 获取队列精确状态的装置及其方法
WO2016095340A1 (zh) 数据发送成功的确认方法及装置
WO2020006715A1 (zh) 一种数据存储方法、装置及相关设备
CN114637712B (zh) 一种EDFB模式下SAS2SATA Bridge的错误处理方法和装置
US20240168877A1 (en) Solving submission queue entry overflow with an additional out-of-order submission queue entry
JP2017162113A (ja) 記憶装置
US8315268B1 (en) Method and system for communication with an adapter
CN114048156A (zh) 一种多通道多映射中断控制器