[go: up one dir, main page]

TW202145239A - 固態硬碟之錯誤分析方法及應用其之電腦 - Google Patents

固態硬碟之錯誤分析方法及應用其之電腦 Download PDF

Info

Publication number
TW202145239A
TW202145239A TW109117516A TW109117516A TW202145239A TW 202145239 A TW202145239 A TW 202145239A TW 109117516 A TW109117516 A TW 109117516A TW 109117516 A TW109117516 A TW 109117516A TW 202145239 A TW202145239 A TW 202145239A
Authority
TW
Taiwan
Prior art keywords
solid
event
abnormal event
abnormal
hard disk
Prior art date
Application number
TW109117516A
Other languages
English (en)
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 TW109117516A priority Critical patent/TW202145239A/zh
Publication of TW202145239A publication Critical patent/TW202145239A/zh

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

一種固態硬碟之錯誤分析方法及應用其之電腦。固態硬碟之錯誤分析方法包括以下步驟。對一驅動程式單元註冊至少一異常事件。驅動程式單元對一固態硬碟控制器發出至少一非同步事件請求命令。固態硬碟發生異常事件時,固態硬碟控制器回覆一完成等候紀錄至驅動程式單元。依據完成等候紀錄,驅動程式單元通知一應用程式單元發生異常事件。應用程式單元收集一系統資訊與一元件資訊,並上傳至一伺服器。

Description

固態硬碟之錯誤分析方法及應用其之電腦
本發明是有關於一種錯誤分析方法及應用其之電子裝置,且特別是有關於一種固態硬碟之錯誤分析方法及應用其之電腦。
故障分析(Failure Analysis)是在新產品開發或既有產品改善時的必要過程,快速且精準地收集故障資訊並加以分析更是一門重要的學問。在個人電腦中,內部元件眾多、系統複雜,而針對儲存裝置的故障分析經常需要長時間的測試加以復現,並且還要在故障發生的當下記錄裝置與其他所需的系統或元件資訊,過程十分浩大且費時。
本發明係有關於一種固態硬碟之錯誤分析方法及應用其之電腦,其利用應用程式單元與NVMe之非同步事件通知功能(AEN)的結合,可以記錄固態硬碟發生異常事件時的系統資訊與元件資訊,以提供更精準與完整的資源供後續的錯誤分析使用,並加速錯誤分析時程。並且,本發明提出自定義之資料儲存異常事件(Retention event)及非安全停機事件(Unsafe shutdown event)更符合電腦市場使用情境,補足目前規格上無法涵括的部分。
根據本發明之第一方面,提出一種固態硬碟(Solid-state disk, SSD)之錯誤分析方法。固態硬碟之錯誤分析方法包括以下步驟。對一驅動程式單元註冊至少一異常事件。驅動程式單元對一固態硬碟控制器發出至少一非同步事件請求命令(Asynchronous Event Request Command, AER cmd)。固態硬碟發生異常事件時,固態硬碟控制器回覆一完成等候紀錄(Completion queue (CQ) entry)至驅動程式單元。依據完成等候紀錄,驅動程式單元通知一應用程式單元發生異常事件。應用程式單元收集一系統資訊與一元件資訊,並上傳至一伺服器。
根據本發明之第二方面,提出一種電腦。電腦包括一固態硬碟(Solid-state disk, SSD)、一固態硬碟控制器、一驅動程式單元及一應用程式單元。驅動程式單元用以註冊至少一異常事件,並對固態硬碟控制器發出至少一非同步事件請求命令(Asynchronous Event Request Command, AER cmd)。固態硬碟發生異常事件時,固態硬碟控制器回覆一完成等候紀錄(Completion queue (CQ) entry)至驅動程式單元。應用程式單元依據完成等候紀錄,驅動程式單元通知應用程式單元發生異常事件。應用程式單元收集一系統資訊與一元件資訊,並上傳至一伺服器。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式詳細說明如下:
請參照第1圖,其繪示根據一實施例之電腦100的示意圖。電腦100例如是一筆記型電腦、一平板電腦、或一桌上型電腦。電腦100包括一固態硬碟110、一固態硬碟控制器120、一驅動程式單元130及一應用程式單元140。固態硬碟110係為主要以快閃記憶體(NAND Flash)作為永久性記憶體的電腦儲存裝置。固態硬碟控制器120例如是一非揮發性記憶體主機控制器介面規範(Non-Volatile Memory Express, NVMe)控制器。驅動程式單元130例如是Intel®快速儲存技術驅動程式(Rapid Storage Technology driver, RST driver)。應用程式單元140例如是Acer®使用者經驗調查計畫(User Experience Improvement Program, UEIP)應用程式。本實施例透過應用程式單元(UEIP App)140與NVMe之非同步事件通知功能(Asynchronous Event Notification, AEN)的結合,可以記錄固態硬碟110發生異常事件時的系統資訊與元件資訊,以提供更精準與完整的資源供後續的錯誤分析使用,並加速錯誤分析時程。
非同步事件通知功能(AEN)為非揮發性記憶體主機控制器介面規範(NVMe)協定中的其中一項機制,固態硬碟110可以對驅動程式單元130發出通知,告知其自身發生了何種異常事件。目前非揮發性記憶體主機控制器介面規範(NVMe)第1.4版定義了五種異常事件:錯誤事件(Error event)、智慧/健康事件(SMART/Health event)、通知事件(Notice Event)、NVMe命令集規範事件(NVMe command set specification event)、供應商特定事件(Vendor specific event)。
本揭露在此額外提出兩種自定義的異常事件,包含一資料儲存異常事件(Retention event)E1與一非安全停機事件(Unsafe shutdown event)E2。資料儲存異常事件E1係為硬體錯誤校正程序(HW ECC)P2無法進行資料校正的情況。非安全停機事件E2係為固態硬碟110正常供電之下,一PCIe暫存器150(繪示於第1圖)被重新初始化的情況。
請參照第2圖,其繪示固態硬碟110之資料取錯誤的校正程序。當固態硬碟110檢出資料讀取錯誤,依序會透過硬體錯誤校正程序(HW ECC)P1、軟體錯誤校正程序(SW ECC)P2及磁碟陣列校正程序(RAID ECC)P3進行校正。若校正成功,則可以輸出校正後資料。
資料儲存異常事件E1定義為當硬體錯誤校正程序(HW ECC)P1校正失敗,必須要進階使用軟體錯誤校正程序(SW ECC)P2時所發出的事件。硬體錯誤校正程序(HW ECC)P1是利用NAND頁面中的備用區域(spare area)所儲存的ECC位元進行校正,其過程透過NAND本身的邏輯閘電路即可執行,不需額外經由固態硬碟控制器120進行計算,處理時間短並且不耗費固態硬碟控制器120的資源。硬體錯誤校正程序(HW ECC)P1通常使用BCH演算法,並作用於一般讀取錯誤情況。
軟體錯誤校正程序(SW ECC)P2則是需要使用固態硬碟控制器120去運算更強力更多位元的ECC演算法。軟體錯誤校正程序(SW ECC)P2會耗費大量固態硬碟控制器120的資源,大幅增加固態硬碟110的反應延遲時間,嚴重影響消費者體驗。軟體錯誤校正程序(SW ECC)P2通常使用LDPC演算法並作用於長時間未上電或是固態硬碟120寫入量接近寫入總量(TotalBytes Written,TBW)時的情況。而執行軟體錯誤校正程序(SW ECC)P2時雖然不至於崩潰,但資料實已瀕臨損毀,若剛好為系統運行所需資料,很有可能於不久後或下一刻就會掛掉,因此本揭露定義當硬體錯誤校正程序(HW ECC)P1失敗時為發出資料儲存異常事件E1之時機。在本揭露中,固態硬碟控制器120負責資料儲存異常事件E1的偵測。
非安全停機事件E2則定義為固態硬碟110於上電正常運行時,PCIe暫存器150被重新初始化,此代表固態硬碟110遭遇到未知的錯誤而無預警的重啟,此種情況為系統發生錯誤重新啟動但由於固態硬碟110的供電還在,因此雖然非安全停機值(Unsafe shutdown value)不會增加,但應定義為異常事件之一。
請同時參照第1圖及第3圖,第3圖繪示根據一實施例之固態硬碟110之錯誤分析方法的流程圖。首先,在步驟S110中,對驅動程式單元130註冊異常事件。異常事件包括資料儲存異常事件E1及非安全停機事件E2。
接著,在步驟S120中,驅動程式單元130對固態硬碟控制器120發出非同步事件請求命令(Asynchronous Event Request Command, AER cmd)AER。非同步事件請求命令AER沒有超時(timeout)限制,並且多個非同步事件請求命令AER可以同時發出,以減少回報的延遲。在一實施例中,異常事件之數量為二(資料儲存異常事件E1及非安全停機事件E2),非同步事件請求命令AER之數量為二(分別對應於資料儲存異常事件E1及非安全停機事件E2)。
然後,在步驟S130中,判斷固態硬碟110是否發生異常事件(資料儲存異常事件E1或非安全停機事件E2)。若固態硬碟110發生異常事件,則進入步驟S140。
在步驟S140中,固態硬碟控制器120回覆完成等候紀錄(Completion queue (CQ) entry)CQ至驅動程式單元130;當異常事件發生時,固態硬碟110將非同步事件請求命令AER完整執行完畢,而回傳完成等候紀錄CQ。完成等候紀錄CQ帶有異常事件的分類內容以利驅動程式單元130分辨異常事件的類型。
然後,在步驟S150中,依據完成等候紀錄CQ,驅動程式單元130通知應用程式單元140發生異常事件。
接著,在步驟S160中,應用程式單元140收集一系統資訊與一元件資訊,並透過一網路900上傳至一伺服器500。在此步驟中,應用程式單元140收集到系統資訊與元件資訊後,係立即上傳至伺服器500。
綜上,就驅動程式單元130而言,本揭露之驅動程式單元130採用Intel®快速儲存技術驅動程式(RST driver),其開放上層軟體可以使用非同步事件通知功能,軟體可透過快速儲存技術(RST)所提供的應用程式介面(Application Programming Interface, API)註冊所需要的異常事件。再由驅動程式單元130對儲存裝置發出非同步事件請求命令AER,當固態硬碟110發生異常事件時,驅動程式單元130將會收到由固態硬碟110發出的完成等候紀錄CQ,再將其異常事件資訊轉傳至註冊此異常事件之應用程式單元140,達到固態硬碟110能夠主動通知異常事件的機制,並交給軟體做後續處理。
本揭露之應用程式單元140係以Acer®使用者經驗調查計畫(UEIP)應用程式作為上層實施軟體。使用者經驗調查計畫(UEIP)應用程式目前記錄與上傳動作皆為定期實施,未針對其餘情況做及時處理。本揭露利用額外對快速儲存技術驅動程式(RST driver)註冊本揭露自定義之兩個異常事件,並修改紀錄資訊的觸發條件為收到異常事件通知時,即刻上傳至伺服器500儲存,以利電腦100發生異常的事前通知與後續錯誤分析。
請參照下表一,為了實現本揭露提出之兩種自定義的資料儲存異常事件E1及非安全停機事件E2,在NVMe的Set Feature指令對非同步事件配置(Asynchronous Event Configuration(FID: 0BH))中的command Dword 11,於第25位元新增資料儲存異常提醒(Retention Notice)欄位,並於第26位元新增非安全停機提醒(Unsafe Shutdown Notice)欄位。當發生資料儲存異常事件E1或非安全停機事件E2時,韌體會將上述位元設為1表示事件發生,並回覆完成等候紀錄CQ通知驅動程式單元13。再由驅動程式單元130通知應用程式單元140。當應用程式單元140完成資訊收集與上傳工作後,驅動程式單元130對固態硬碟110發出相同的 Set Feature cmd將位元復歸設為0,來完成一次系統與元件資訊紀錄和異常事件通知。
位元 說明
31:28 規格已定義(specification defined)
27 Stress_mode_on之保留(Reserved for Stress_mode_on)
26 資料儲存異常事件E1
25 非安全停機事件E2
24:15 保留(Reserved)
14:00 規格已定義(specification defined)
表一
現行NVMe定義的異常事件對於使用固態硬碟110做為系統碟的電腦100來說太過極端。當現有已定義異常事件發生時,固態硬碟110早已損毀而無法做出後續處理。本揭露提出自定義之資料儲存異常事件E1及非安全停機事件E2更符合電腦市場使用情境,補足目前規格上無法涵括的部分,例如電腦100在運行當中S3/S4時所發生的當機(BSoD)或是由資料儲存/寫入量接近寫入總量(Retention/TBW)所造成的讀取失敗問題。現有針對固態硬碟110的錯誤分析通常是透過協定分析儀(Protocol Analyzer)分析固態硬碟110與驅動程式單元130之間的溝通情況,但少考慮了系統與其他元件的影響。本揭露透過應用程式單元140與非同步事件通知功能(AEN)的結合,可記錄固態硬碟110發生異常事件時的系統與元件資訊,以提供更精準與完整的資源供後續的錯誤分析使用,並加速錯誤分析時程。
綜上所述,雖然本發明已以實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100:電腦 110:固態硬碟 120:固態硬碟控制器 130:驅動程式單元 140:應用程式單元 150:PCIe暫存器 500:伺服器 900:網路 AER:非同步事件請求命令 CQ:完成等候紀錄 E1:資料儲存異常事件 E2:非安全停機事件 P1:硬體錯誤校正程序 P2:軟體錯誤校正程序 P3:磁碟陣列校正程序 S110, S120, S130, S140, S150, S160:步驟
第1圖繪示根據一實施例之電腦的示意圖。 第2圖繪示固態硬碟之資料取錯誤的校正程序。 第3圖繪示根據一實施例之固態硬碟之錯誤分析方法的流程圖。
100:電腦
110:固態硬碟
120:固態硬碟控制器
130:驅動程式單元
140:應用程式單元
150:PCIe暫存器
500:伺服器
900:網路
AER:非同步事件請求命令
CQ:完成等候紀錄
E1:資料儲存異常事件
E2:非安全停機事件

Claims (10)

  1. 一種固態硬碟(Solid-state disk, SSD)之錯誤分析方法,包括: 對一驅動程式單元註冊至少一異常事件; 該驅動程式單元對一固態硬碟控制器發出至少一非同步事件請求命令(Asynchronous Event Request Command, AER cmd); 該固態硬碟發生該異常事件時,該固態硬碟控制器回覆一完成等候紀錄(Completion queue (CQ) entry)至該驅動程式單元; 依據該完成等候紀錄,該驅動程式單元通知一應用程式單元發生該異常事件;以及 該應用程式單元收集一系統資訊與一元件資訊,並上傳至一伺服器。
  2. 如請求項1所述之固態硬碟之錯誤分析方法,其中該異常事件包括一資料儲存異常事件(Retention event),該資料儲存異常事件係為一硬體錯誤校正程序無法進行資料校正的情況。
  3. 如請求項1所述之固態硬碟之錯誤分析方法,其中該異常事件包括一非安全停機事件(Unsafe shutdown event),該非安全停機事件係為該固態硬碟正常供電之下,一PCIe暫存器被重新初始化的情況。
  4. 如請求項1所述之固態硬碟之錯誤分析方法,其中該應用程式單元收集該系統資訊與該元件資訊後,係立即上傳至該伺服器。
  5. 如請求項1所述之固態硬碟之錯誤分析方法,其中該至少異常事件之數量為二,該至少一非同步事件請求命令之數量為二。
  6. 一種電腦,包括: 一固態硬碟(Solid-state disk, SSD); 一固態硬碟控制器; 一驅動程式單元,用以註冊至少一異常事件,並對該固態硬碟控制器發出至少一非同步事件請求命令(Asynchronous Event Request Command, AER cmd),該固態硬碟發生該異常事件時,該固態硬碟控制器回覆一完成等候紀錄(Completion queue (CQ) entry)至該驅動程式單元;以及 一應用程式單元,依據該完成等候紀錄,該驅動程式單元通知該應用程式單元發生該異常事件,該應用程式單元收集一系統資訊與一元件資訊,並上傳至一伺服器。
  7. 如請求項6所述之電腦,其中該異常事件包括一資料儲存異常事件(Retention event),該資料儲存異常事件係為一硬體錯誤校正程序無法進行資料校正的情況。
  8. 如請求項6所述之電腦,其中該異常事件包括一非安全停機事件(Unsafe shutdown event),該非安全停機事件係為該固態硬碟正常供電之下,一PCIe暫存器被重新初始化的情況。
  9. 如請求項6所述之電腦,其中該應用程式單元收集該系統資訊與該元件資訊後,係立即上傳至該伺服器。
  10. 如請求項6所述之電腦,其中該至少異常事件之數量為二,該至少一非同步事件請求命令之數量為二。
TW109117516A 2020-05-26 2020-05-26 固態硬碟之錯誤分析方法及應用其之電腦 TW202145239A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW109117516A TW202145239A (zh) 2020-05-26 2020-05-26 固態硬碟之錯誤分析方法及應用其之電腦

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW109117516A TW202145239A (zh) 2020-05-26 2020-05-26 固態硬碟之錯誤分析方法及應用其之電腦

Publications (1)

Publication Number Publication Date
TW202145239A true TW202145239A (zh) 2021-12-01

Family

ID=80783629

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109117516A TW202145239A (zh) 2020-05-26 2020-05-26 固態硬碟之錯誤分析方法及應用其之電腦

Country Status (1)

Country Link
TW (1) TW202145239A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12045494B2 (en) 2022-09-29 2024-07-23 SanDisk Technologies, Inc. AER and AEN for overlapping cross feature

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12045494B2 (en) 2022-09-29 2024-07-23 SanDisk Technologies, Inc. AER and AEN for overlapping cross feature

Similar Documents

Publication Publication Date Title
WO2020177493A1 (zh) 内存错误处理方法和装置
CN113918375B (zh) 一种故障处理方法、装置及电子设备和存储介质
US20090150721A1 (en) Utilizing A Potentially Unreliable Memory Module For Memory Mirroring In A Computing System
WO2021169260A1 (zh) 一种系统板卡电源检测方法、装置、设备及存储介质
US6615374B1 (en) First and next error identification for integrated circuit devices
CN111984487A (zh) 一种离机记录故障硬件位置的方法及装置
WO2021135272A1 (zh) 一种内存异常的处理方法、系统、电子设备及存储介质
TWI529525B (zh) 處理系統錯誤之方法及系統
CN111858240A (zh) 一种分布式存储系统的监控方法、系统、设备以及介质
JP6713740B2 (ja) メモリモジュール
WO2025123552A1 (zh) 可恢复故障的固件检测系统、方法、存储介质及服务器
CN114003416B (zh) 内存错误动态处理方法、系统、终端及存储介质
US11593191B2 (en) Systems and methods for self-healing and/or failure analysis of information handling system storage
CN114996065A (zh) 内存故障预测方法、装置及设备
CN106776219B (zh) 一种服务器整机烧机的检测方法
TWI709039B (zh) 伺服器及錯誤事件紀錄登載功能的控制方法
CN115509786A (zh) 一种报告故障的方法、装置、设备及介质
US10635554B2 (en) System and method for BIOS to ensure UCNA errors are available for correlation
TW202145239A (zh) 固態硬碟之錯誤分析方法及應用其之電腦
JP5440073B2 (ja) 情報処理装置,情報処理装置の制御方法および制御プログラム
WO2021202431A1 (en) Targeted repair of hardware components in a computing device
CN114442918A (zh) 存储器模块及其操作方法
US12204914B2 (en) Enhanced service operating system capabilities through embedded controller system health state tracking
US20150067252A1 (en) Communicating outstanding maintenance tasks to improve disk data integrity
JP2008191864A (ja) データ処理装置及びその起動方法