Pages - Menu

2018年1月11日 星期四

啟動硬碟保護機制S.M.A.R.T?

最近DQATester常常在辦公室中,突然聽到一聲"哇!"的慘叫聲,說"我的硬碟掛了,資料都不見了,完蛋了!",這種慘不忍睹的事情,實在是很可憐。所以如果我們可以在硬碟有發生些許毀損之前就能提前預警,將資料備份,就可以減少這種慘案的發生,因此今天本文要來介紹一下S.M.A.R.T的技術。

什麼是S.M.A.R.T?
S.M.A.R.T(Self - Monitoring, Analysis and Reporting Technology)是一種硬碟自我檢測、分析技術,提供硬碟可靠性的一中預警系統。可以自動偵測硬碟內部溫度、轉速及磁碟飛行的高度及狀況,並與內建的安全係數做比對。當預期硬碟可能發生錯誤前,系統會自動發出警告訊息,讓使用者可以提早進行資料備份、補救的動作。目前市面上絕大多數的硬碟都有支援S.M.A.R.T的技術,不過還是需要有BIOS的支援。

開啟主機板上的S.M.A.R.T.
我們以ASUS主機板為例子,
1. 開機前,先按住F2鍵,再按下開關。直到出現BIOS畫面再放開F2鍵
2. Advanced > SMART Settings > SMART Self Test" > Disabled.  (預設狀態為"Enabled" )
開機顯示錯誤訊息"S.M.A.R.T Status Bad"
1.當硬碟發現異常狀態時,即會在開機時顯示“S.M.A.R.T Status Bad, Backup and Replace. Press F1 to Resume…”
2. 按下F1可跳過此畫面進入系統。但如果問題未修復,此訊息每次開機時均會出現。
建議:當看到此錯誤訊息,請立即備份資料並更換硬碟,以避免更嚴重的損壞

2018年1月10日 星期三

RAID運作原理?

什麼是RAID?
容錯式磁碟陣列(RAID, Redundant Array of Independent Disks),簡稱磁碟陣列。其基本構想就是把多個硬碟組合起來,成為一個硬碟陣列組,使效能達到甚至超過一個價格昂貴、容量巨大的硬碟。其特色為:
1.讀寫快速 - 多台硬碟同時讀寫的速度比單顆硬碟快。
2.具容錯性 - 容許硬碟故障,仍可正常運作或更新硬碟重建硬碟恢復運作。

常用的RAID類別?
目前RAID常見的類別有許多種,而本篇文章就以RAID0、RAID1、RAID5、RAID6做說明。

1.RAID0
為速度取向,至少需要兩顆硬碟以上。檔案以分段方式同時寫入兩顆硬碟之中。

優點:
讀取速度快。例如2顆硬碟讀寫資料時,讀寫速度較快。但每顆硬碟會被寫入1/2的檔案,所以每顆硬碟的檔案均不完整。

缺點:
每顆硬碟指存取1/2的檔案,因此只要其中一顆硬碟掛點,RAID既毀損。

2.RAID1
RAID1又稱為鏡像(Mirro),至少需要兩台硬碟以上組成。寫入檔案時,動不寫入兩顆硬碟,固兩台電腦資料會同步,萬一其中一顆硬碟掛了,還可以正常運作。

優點:
架構中一定需要兩顆硬碟以上,使兩顆硬碟能同步寫入資料,每顆硬碟資料都100%相同。因此容許其中一顆硬碟錯誤。

缺點:
浪費一顆硬碟的空間。

3.RAID5
最多人使用的,最少需要三顆硬碟組成。具有RAID0更快的速度,也兼備RAID1的容錯機制。

優點:
架構中最少需要三顆硬碟以上,

2018年1月3日 星期三

EFI Shell Command – mm | EFI Shell指令 – mm

Summary(介紹)
Displays or modifies MEM/MMIO/IO/PCI/PCIE address space.
顯示或修改MEM/MMIO/IO/PCI/PCIE位址資料。

Usage(使用方法)
mm address [value] [-w 1|2|4|8] [-MEM | -MMIO | -IO | -PCI | -PCIE] [-n]

Options(選項)
address
Starting address
起始位址。

value
The value to write. If not specified, then the current value will be displayed.
欲改變的數值。如未指定,則顯示當前數值。

-MEM
Memory Address type.
記憶體位址。

-IO
Address type
IO位址。

-PCI
PCI Configuration Space. The address will have the format 0x000000ssbbddffrr, where ss = Segment, bb = Bus, dd = Device, ff = Function and rr = Register. This is the same format used in the PCI command.
PCI配置空間。位址的格式為0x000000ssbbddffrr,其中ss = Segment、bb = Bus、dd = Device,ff = Function,rr = Register。這與PCI中使用的格式相同。

-PCIE
PCI Express Configuration Space. The address will have the format 0x0000000ssbbddffrrr, where ss = Segment, bb = Bus, dd = Device, ff = Function and rrr = Register
PCIe配置空間。地址格式為0x0000000ssbbddffrrr,其中ss = Segment,bb = Bus,dd = Device,ff = Function,rrr = Register。

-w
Access Width, in bytes. 1 = byte, 2 = 2 bytes, 4 = 4 bytes, 8 = 8 bytes. If not specified, then 1 is assumed
存取資料的寬度,以bytes為單位。 1 = 1 byte,2 = 2 bytes,4 = 4 bytes,8 = 8 bytes。如果沒有指定,則假定為1 byte。

-n
Non-interactive mode.
非交互模式。

Example(範例)
1.To display or modify memory:
2.To modify memory: Address 0x1b07288, width = 2 bytes:
3.To display IO space:   Address 80h, width = 4 bytes:
4.To modify IO space using non-interactive mode
5.To display PCI configuration space, ss=00, bb=00, dd=00, ff=00, rr=00:
6.To display PCIE configuration space, ss=00, bb=06, dd=00, ff=00, rrr=000:

2017年12月27日 星期三

什麼是Watchdog Timer?

什麼是Watchog Timer?
Watchdog Timer,既所謂的看門狗計時裝器,是一種透過電腦硬體式的計時裝置,當計時器時間結束後,進行某總行為的觸發。例如當系統主機發生某種錯誤時(系統當機),未能定時清除Watchdog計時器,使得硬體會觸發一個重啟命令,使系統重新開機。

Watchdog所觸發的行為有哪些?
看門狗計時器的觸發應用面非常廣,除了應用於電腦錯誤的重啟外,也可觸發控制系統,使控制系統轉入安全狀態,例如關閉馬達、關閉高壓電輸出,以及關閉其他具有潛在危險的子系統(Subsystem),直到系統錯誤、故障被解決排除為止。

舉例
DQATester今天根據台灣其中一家工業電腦廠的主機板為例子,說明其Watchdog設計用意及運作原理分析給大家了解。由下圖BIOS選項中"Watchdog ACPI Event Shutdown",可以設定為開或關閉啟狀態。此功能開啟的目的,主要在確保開機進入作業系統之後的工作狀態的檢查,進而處方相對應的措施。DQATester分別透過下面幾張圖說明:
<1>系統擊活狀態,如下圖所看到實線部分,當BMC上的WDT計時器Timeout後,便會透過觸發GPIO訊號去詢問系統或作業系統目前狀態是否還活著,如果活著,則作業系統會回應一個重置WDT計時器的命令給BMC,此時就不會觸發虛線的Reset系統的命令。
<2>系統錯誤或當機狀態,下圖清晰看出WDT計時器Timeout後,BMC觸發詢問的訊號給SoC,但系統發生錯誤或當機,導致作業系統並沒有回應WDT重置的命令給BMC,致使WDT沒有被重置,而使BMC對系統發出Reset命令。
總論
相信讓大家因該對於Watchdog Timer有了基本的認識,但其實WDT其實應用範圍非常廣,本篇提出的Watchdog案例分系主要是保護作業系統下,其實也可以設計保護Post期間,所以設計的概念就由大家自己想想如何去應用。

2016年11月3日 星期四

BIOS選項 - Setup Prompt Timeout

Setup Prompt Timeout
目的在於開機過程中停留於於POST畫面中,等待使用者敲擊進入Setup Menu的功能鍵(例如F2 或Del按鍵),設置時間越長的話,停留於開機畫面會越久。

選項說明
將停留時間於輸入欄中。(以秒為單位)

測試計畫
1.設置30秒,POST畫面停留約30秒,等待期間如無按Setup鍵進入BIOS,則繼續開機過程。
2.設置60秒,POST畫面停留約60秒,等待期間如無按Setup鍵進入BIOS,則繼續開機過程。

測試步驟
1.系統開機後進入BIOS設置畫面。
2.設置Setup Prompt Timeout時間為30/60/120秒,並存檔離開
3.系統重新啟動後,POST畫面會停留約30/60/120秒。

BIOS選項 - USB Precondition


USB Precondition
此項目住要用途為在開機過程中,提早開始USB初始化時間。

選項說明
Enabled - 優化USB連結時間,即強制USB在PEI階段進行初始化,為Fast Booot BIOS優化的部分優勢。
Disabled - 不優化USB連結時間,即USB初始化發生在DXE階段。

2016年11月1日 星期二

BIOS選項 - EIST


EIST
此選項主要功能在於省電,透過此選項的設置,可以讓CPU隨不同工作量調整CPU頻率來達到省電的效果。如在閒置狀態下,CPU頻率會降低達到省電效果,於高工作量狀態下,CPU頻率會加速以提高工作效率。

選項說明
Enable - CPU會根據工作量,自動調整頻率,以達到省電效果。
Disable - CPU頻率始終維持於高效能狀態。

測試計畫
1.設置Enabled,進行下列兩項驗證:
   - 系統閒置狀態下,CPU頻率是否降低至LFM(低頻模式)
   - 系統高工作狀態下,CPU頻率是否維持於高頻狀態。
2.設置Disabled,進行下列兩項驗證:
   - 系統閒置及高工作狀況下,CPU頻率維持在高檔。
Note.如CPU本身支援Turbo Frequency,請先關閉。

測試步驟(使用CPU I5-5350U)
前置作業,設置Enabled
1.系統開機進入BIOS設置畫面。
2.設置EIST為Enabled,並儲存後離開。
3.系統重啟並開機進入Windows系統。
4.安裝並開啟Intel TAT。
5.勾選CPU(0-N)中的Frequency項目並執行Start Monitor。
CPU於閒置狀態
6.將系統靜置1 - 2分鐘。
7.觀察CPU頻率變化結果,落在低頻率附近。
CPU於100%工作狀態
8.點選Intel TAT左上角Workload > CPU-All項目設置100% > 點選Start > 點選Monitor。
9.觀察CPU頻率變化結果,在高頻率附近。

前置作業,設置Disabled
1.系統開機進入BIOS設置畫面。
2.設置EIST為Disabled,並儲存後離開。
3.系統重啟並開機進入Windows系統。
4.安裝並開啟Intel TAT。
5.勾選CPU(0-N)中的Frequency項目並執行Start Monitor。
CPU於閒置狀態
6.將系統靜置1 - 2分鐘。
7.觀察CPU頻率變化結果,落在高頻率附近。
CPU於100%工作狀態
8.點選Intel TAT左上角Workload > CPU-All項目設置100% > 點選Start > 點選Monitor。
9.觀察CPU頻率變化結果,在高頻率附近。