很多朋友都遇到過電腦強制關機之后再次啟動時不能上網的情況,這是由于異常斷電導致了網卡驅動程序的損壞或丟失。對于固態硬盤來說,異常斷電除了丟文件還有更可怕的后果:硬盤像手機刷機失敗一樣直接變磚。
為了增強寫入性能,電腦硬盤默認都開啟了寫入緩存,允許程序在寫入數據時由操作系統先放入內存緩沖,程序可以繼續執行后邊的任務,緩沖區內數據可以慢慢寫入到硬盤里。但這一過程中如果發生停電或強制關機,就有可能會丟文件了。
除了啟用寫入緩存之外,下方還有一個“關閉設備上寫入緩沖區刷新”的選項,NVMe固態硬盤必須要勾上這個選項才能全速運行,但顯然這樣做會增加更多的數據丟失風險。這也是目前NVMe不如普通SATA固態硬盤成熟的一個表現。
我們先來看機械硬盤是如何預防斷電數據丟失的:東芝在最新的10TB企業級機械硬盤上增加了一顆原本固態硬盤上才會使用的閃存芯片。在斷電時借助盤片旋轉的慣性發電,供主控將DRAM緩存內數據轉移到閃存中安全保存,完美實現了斷電數據不丟失,設計非常巧妙。
企業級固態硬盤通常使用斷電保護電容供電來實現緩存內數據的緊急寫入。不過電容壽命限制較多,很可能會在閃存之前損壞并導致嚴重的故障,所以家用固態硬盤中并沒有這個功能。另外固態硬盤的DRAM緩存內主要存放FTL閃存映射表,只有至多16MB容量用來短時緩存用戶讀寫的數據,隨著Flush指令的下達,這部分數據就會寫入到NAND閃存中永久保存下來。
Flush指令是由Windows系統自動定時發送的,會強制固態硬盤緩存區內數據實際寫入到閃存永久保存。下面以東芝Q200 240G固態硬盤來進行測試。Q200是東芝原廠8通道MLC閃存SSD,當前性價比最高的原廠固態硬盤之一。
使用名為sync的手動Flush軟件來檢驗一下Flush指令的作用:
文件復制完成后立刻斷電,重新開機后文件MD5會出錯,因為還有部分數據留在緩存中沒有實際寫入閃存:
如果文件復制后執行Flush命令,然后立刻斷電,再次校驗MD5是正確的,說明文件被完整寫入到了固態硬盤內。
Windows系統自動向固態硬盤發送Flush指令的頻率是很快的,所以偶爾強制關機并不一定出現問題。此外家用電腦的斷電保護和有無DRAM緩存關系不大:即便你能保護住硬盤緩存數據,主機沒有UPS不間斷供電的話,主內存數據依然會丟,斷電瞬間發送到SATA接口上的指令也有可能是錯誤的。
家用固態硬盤斷電防護的主要目標是避免閃存寫飛,破壞到同單元的原有數據位內容。東芝Q200主要應用了Copy on Write的方式來實現保護:如下圖所示,當固態硬盤要修改Page 3時,會先將Page 3原有內容拷貝一份到保留區域,然后再寫入Page 3的數據。如果寫入被停電打斷而出錯,固態硬盤還能通過提前拷貝出來的數據進行恢復。
總的來說,家用固態硬盤防斷電主要靠聰明的主控與固件搭配,當然如果大家能養成良好習慣,最大限度減少強制關機的發生才是對固態硬盤最好的保護。
現在大部分小伙伴的家庭、辦公地點都有很好的供電條件,所以養成了很少關機的習慣,反正默認會鎖屏“休眠”,需要的時候動動鍵鼠就能接著用,真方便。不過,大家有沒有考慮這種情況下,電腦的耗電是多少?如果找個功率計看一看,估計大部分小伙伴會嚇一跳,沒錯,待機功耗可能上百W了,和我們日常辦公上網啥的低負載使用相差也不大啊。
也許有些小伙伴覺得,這個功耗的電費也花得起,可是想想辦公室的幾十上百臺電腦、家里其他電器給供電的壓力,還有長時間高功耗運行對電腦配件壽命的影響等,這就不是小問題了。所以搞清楚為啥功耗這么高,在不使用時怎么降低功耗又便于使用就很重要了。
很多小伙伴可能會被一個假象蒙蔽,那就是很多臺式機和插電的筆記本電長時間不用時會自動關閉屏幕,給人一種電腦“休眠”的假象,其實這只是自動關閉屏幕,我們需要讓它真·睡眠,在“設置→系統→電源和睡眠”中即可看到設置項,將睡眠延遲設置的與屏幕一樣最好,睡眠數據保存在內存中,CPU等配件不再工作,而內存的功耗極少,使得整機功耗可降至10W,甚至3W以內。
如果是周末等長時間不用時也不想關機,希望開機后就快速進入之前狀態的話,還可以試一下“休眠”。它在Win10中默認不顯示,需要在上圖設置頁面的右側選擇“其他電源設置→選擇電源按鍵的功能”,點擊頁面頂部的“更改當前不可用的設置”,并且點選“休眠”前的選擇框。
休眠功能是將內存狀態存入硬盤,即hiberfil.sys文件,由于硬盤不需要持續供電,所以功耗和關機基本一致,還不怕特殊情況出現的臨時斷電等問題。開機時軟件、文檔直接從硬盤進入內存,恢復休眠前狀態,如果有高速SSD配合,喚醒時間也只需幾秒鐘,不會耽誤事兒。當然要注意在系統分區至少留下相當于內存容量的富余空間。
這里大家還可以猜一猜電腦待機的時候,最主要的耗電配件是啥?不對,不是CPU,答案是電源哦。這是因為電腦電源會針對中高負荷狀態設計優化,所以在待機、簡單操作的時候雖然電腦的總功耗低,但此時電源的轉換效率低,能量損失大,所以就成了最主要的耗電大戶。
其實對于電源多電壓、多線路轉換帶來的功耗,廠商們也有所考慮,比如現在很多電源的12V從12V1、12V2雙路輸出變回了單路輸出,更有僅輸出12V電流的ATX12VO電源,關注功耗、環保的小伙伴未來升級時可以考慮這些設計。