我就問他,主板開AHCI了嗎?他說不知道什么是AHCI!
于是,針對部分人不了解固態硬盤的基本常識,今天小編就來科普一下,小白入手固態硬盤需要了解的幾件事。
四種不同接口固態盤
市面上的消費級固態硬盤,大致分為SATA接口,M.2接口,PCI-E接口三類,越到后面越貴,性能越好。
1、SATA接口固態硬盤
SATA接口屬于串行ATA數據,這是由Intel、IBM、Dell、APT、Maxtor、Seagate公司共同提出的硬盤接口規范,它采用了串行總線徹底淘汰了過去的ATA接口。
SATA接口分為三種:SATA Revision 1.0 最大數據傳輸速率為150MB/s、SATA Revision 2.0最大數據傳輸速率為300MB/s,SATA Revision 3.0 最大數據傳輸速率為600MB/s。
而在筆記本上,SATA接口換了個體積更小的mSATA接口,不過速度沒變。
2、M.2接口固態硬盤
M.2接口也有各自協議的
M.2接口是Intel推出的一種快速接口,它兼容了SATA、PCIe、USB、HSIC、UART、SMBus等等協議。
M.2接口分成兩類:Socket 2的B口和Socket 3的M口,B口只支持SATA、PCI-E X2接口,理論帶寬最高為600MB/s;而M口的M.2接口(NGFF)由于直接采用了PCI-E ×4通道,所以,讀取速度可達7GB/s以上。
從上面圖中,大家可以看出來,對于同為M.2接口的這五款固態硬盤,區別非常大,它們走的完全就是兩條路。選購以前,一定要看清是否支持NVME協議。
3、PCI-E接口固態硬盤
PCI-E接口固態硬盤
PCI-E接口硬盤,從字面意思大家就可以知道,它走的是主板的PCI-Express總線,而不是上面硬盤的SATA串行總線。
在傳統的SATA硬盤中,我們的存儲數據先從硬盤讀取,然后到內存,接著數據到CPU內部進行計算,完后再寫入內存,最后存儲到硬盤;而PCI-E固態硬盤完全不一樣,它芯片中存儲的數據直接通過PCI-E總線和CPU直連,省去了內存這個流程,所以,PCI-E接口固態硬盤性能最強。
PCI-E接口固態硬盤的規格有PCI-E 2.0 x2、PCI-E 3.0 x4、PCIe4.0 X16三種,理論最高速度達到32Gbps,目前PCI-E接口的最大傳輸速度可以達到7GB/s的罕見速度。
三星固態盤
通過上述知識點,我們普通消費者需要掌握三個知識點:SATA接口固態硬盤最慢,B口的M.2接口固態硬盤和SATA接口沒區別;而M口的NGFF M.2硬盤和PCI-E接口固態硬盤沒有區別。
速度差距極大
AHCI與IDE區別
1、AHCI協議
主板的AHCI協議又叫高級串行ATA功能接口標準,這是在Intel的指導下,由多家公司聯合研發的接口標準。
它支持NCQ技術和熱插拔。硬盤在接到讀寫指令后,會根據指令對訪問地址進行重新排序,大大減少了讀取時間,使數據傳輸更為高效,同時也有效地延長了硬盤的使用壽命。
它通過包含一個PCI BAR(基址寄存器),來實現原生SATA功能,它和SATA接口一樣,本來都是為了高延時機械硬盤而設計的,還需要安裝驅動程序才能使用,所以,使用機械硬盤時,很多人的AHCI是不打開的。
而當我們使用速度遠高于機械硬盤的固態硬盤,就必須要開啟AHCI了,這樣才能實現NCQ功能,使得電腦用起來更快。
這也是上述這位網友買了固態硬盤,但是速度很慢的主要原因。
2、NVME規范
NVMe總線圖示
2009年,NVMe規范由包含Intel等90多家公司在內所定制一項全新的數據標準。
上述的SATA接口硬盤只能按照串行數據的處理模式,由CPU進行一個個處理串行流式信息,不論你用的是多少核處理器,也只能實現一個串行模式流程;而在NVMe協議中,處理器可以調用最多64K個隊列同時傳輸數據,多核處理器的優點被體現出來,如此并發的數據處理能力就可以大大提升硬盤的速度。
所以,支持NVMe協議的固態硬盤比AHCI協議快了很多。因此,選擇一塊能夠支持NVMe協議的NGFF固態硬盤,是目前最主流的選擇。
三星980 PRO NVMe M.2
例如三星980 PRO NVMe M.2硬盤,其讀取速度可以達到7000MB/s、寫入速度5000MB/s4K隨機讀1000000 IOPS、4K隨機寫1000000 IOPS的恐怖速度。
開啟主板AHCI選項
1、首先,找準固態硬盤插口的正確位置,因為主板的SATA2.0接口和SATA3.0接口是不同的,而主板的PCI-E插槽也要找準是否是全速插槽。
2、BIOS設置中,開啟上述所說的AHCI協議,關閉硬盤節能。
4K對齊設置
3、4K對齊非常重要, 正確的Windows下的4K分區究竟怎樣才是對的?往下看推薦使用分區軟件來對齊,例如常見的DiskGenius等等,然后如下設置即可:
1、【對齊到下列扇區數的整倍數 4096扇區(2048K)】;
2、【磁頭:65 扇區:2】;
3、【起始扇區號 4096】;
4、 文件系統必須是NTFS。
好了!對于固態硬盤主要的設置基本上就這些了,如果您從中學到了一點東西的話,麻煩給點個贊吧!
果不是最近的“三原色事件”,相信廣大電腦用戶絕不知道原來硬盤是可以“說壞就壞”的。
不過人生在世幾十年,總會有壞硬盤的那一天的。問問你那些丟失過幾百 G “日語學習資料”的朋友就會知道,硬盤壞道、耗損其實真的很正常。
事實上只要你打開搜索引擎一查,這類硬盤壞了的新聞年年都有,也總會搞出那么一些不愉快的事。學霸君不想帶節奏,在這里只想實事求是,談談那些在機房看上去好好的硬盤,為什么說壞就壞呢?
我們口中常說的“硬盤”是一個比較廣泛的概念,具體而言一般是指“機械硬盤”。而機械硬盤出現故障的情況可以分成兩種:一種是由于數據邏輯錯誤、分盤表丟失等導致的固件故障;另一種是由于硬盤內盤片物理性損壞導致的物理故障。
客觀來看,斷電操作都有可能會導致上述兩種問題的發生。因為當機械硬盤工作時,盤片會高速旋轉,磁頭緊貼盤片沿磁徑讀取數據,而兩者間的距離只有幾納米。所以當突然停電時,不僅會失去正在讀寫的數據,磁頭由于斷電保護機制也會驟然減速歸位。此時如果產生震動,無論多微小都有可能會劃花盤片上的磁徑,使硬盤出現異常。
這一點在移動硬盤上體現尤其突出:且不說在使用中不小心跌落摔碰,哪怕你把硬盤上下翻轉過來使用,都有可能產生異響、發生異常。因為它整體結構沒有臺式機或是筆記本那么穩固,磁頭和盤片更容易受到位移影響。所以頻繁的斷電操作事實上會大大增加事故發生機率,這還是針對普通的機械硬盤而言。
而對于監控硬盤來說,監控數據是以每秒計來即時更新的,監控硬盤每秒都在執行讀寫或覆蓋操作。所以監控系統用的機械硬盤在使用頻率、強度上遠高于普通硬盤,也就更容易耗損了。更不用說一些社會單位在采購時,會出于成本去選用較為廉價、或劣質的硬盤,加上“頻繁性強制斷電”這一根最后的稻草,于是你可以看到每年總有幾起社會矛盾事件都是硬盤的鍋。
另外可能還有一根“最后的稻草”:那就是一些用戶在構建監控硬盤系統時,采用的不是普通硬盤排列方式,而是磁盤陣列(RAID)。即用多個硬盤組成一個硬盤組,這樣做雖然有疊加 Buff、 可以提升整個系統效能,但如果是用最簡單的 RAID 0 模式搭建,那么當其中一個磁盤出現物理性損壞時,整個系統將都會受到破壞。
所以和個人用的電腦硬盤、移動硬盤相比,監控硬盤的易損性其實遠比你想象中高。但客觀而言,“損壞”比“損耗”更小概率發生。
也許你會說:“我的電腦也經常強制關機,但里面的數據依舊沒損失啊!”這是因為機械硬盤內基本都有斷電保護設計,只會丟失尚未寫入的數據,但如果這個過程中出現震動、跌落等因素也可能會導致盤片損傷。而對于正在進行大量讀寫操作的監控盤來說,這種保護措施作用是微乎其微的。
如果你擔心自己電腦硬盤是否已出現損傷,可以用像 “Crystal Disk Info” 這類檢測軟件檢測一下。通過“不安全關機次數”或者“壞道檢測”你就可以了解自己硬盤健康度。如果不幸出現故障,第一時間是停止硬盤一切讀寫操作,避免磁頭破壞盤片磁道,然后再來針對性修復。
如果是數據邏輯錯誤、分盤表丟失等導致的固件故障,可以試試數據恢復軟件,例如 DiskGenius ,就算是免費版功能也比較多,但一些核心功能還是要購買的。因此在實際體驗上,國內很多免費恢復軟件的功能局限性還是很大的,如果你自問英語 6 到不行,那么可以試試國外的 Recuva 或是 Disk Drill 。兩者都頗受好評,同時核心功能更開放。
如果出現物理性損傷,修復難度就大很多了。目前唯一也是最好的辦法就是開盤搶救,把盤片上未損壞磁道上的數據讀取出來、再通過算法修復。但這并非是萬能的,且不說整個過程耗時相當長、花費也大。如果磁道載體被嚴重破壞,那么該區域內的信息不僅無法讀取,更遑論修復了。
因此對于個人用戶來說,還是要避免強制斷電和摔落等情況。如果是監控設備用戶,就更要嚴格按操作流程使用,硬盤有價數據無價,修復更可怕。
所以對于重要資料來說,及時備份才是上策。目前不少單位都選擇“本地存儲+云端備份”的做法,這樣不僅花費少,即使本地數據出現問題也可以有一個安全的渠道去恢復數據。
“硬盤為什么容易壞,怎么修復”都談了,那么接下來該談談“監控硬盤怎么選”了。
首先可以看看一組數據:國外云備份服務商 BackBlaze 早前發布了一份機械硬盤故障率報告,在 2017 年第三季度損耗度中以品牌來看,表現最好的是東芝和HGST(昱科環球存儲/前日立硬盤),其次是西數,然后是希捷。雖然結論不夠客觀準確,但是對于一般企業單位來說,機械硬盤品質拔尖的都非這幾個品牌莫屬了。
其中值得一提的是西數的企業級硬盤,它以顏色區分功能,推出了紅盤、紫盤和金盤。在長時間的工作環境下,這些企業級硬盤比一般機械硬盤更穩定、表現更好。
其中紫盤是監控用硬盤,可組成多達 8 塊硬盤的 7x24 小時高清監控系統;支持 AIIFrame 技術與 ATA 流式傳輸技術分工協作。能保證數據的完整性,有效避免像素錯誤和視頻中斷發生。
硬盤損壞就像中頭獎一樣,你沒遇上并不代表不存在,所以個人電腦用戶也要像關愛小朋友一樣,好好對待你的硬盤哦!
文分享自華為云社區《MySQL怎樣處理排序??如何優化需要排序的查詢?-云社區-華為云》,作者:菜菜的后端私房菜。
在MySQL的查詢中常常會用到 order by 和 group by 這兩個關鍵字
它們的相同點是都會對字段進行排序,那查詢語句中的排序是如何實現的呢?
當使用的查詢語句需要進行排序時有兩種處理情況:
對于第一種情況,常常是使用二級索引中索引列的有序來保證結果集有序,從而不需要進行排序
對于表a,為a2建立二級索引,那么在二級索引上a2就是有序的
CREATE TABLE `a` (
`a1` int(11) NOT NULL AUTO_INCREMENT,
`a2` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL,
`a3` varchar(255) DEFAULT NULL,
PRIMARY KEY (`a1`),
KEY `idx_a2` (`a2`)
) ENGINE=InnoDB AUTO_INCREMENT=76 DEFAULT CHARSET=utf8;
select * from a order by a.a2 limit 10
當優化器選擇使用a2索引時,a2列的記錄本身就是有序的,因此不需要再使用其他開銷進行排序
當然,優化器也有可能不使用a2索引(當優化器認為使用a2回表開銷太大時會使用全表掃描)
當優化器使用的索引上a2無序時,則會通過其他手段對結果進行排序
當執行計劃的Extra附加信息中出現 Using filesort 時,會使用sort_buffer對結果進行排序
sort_buffer是一塊用于排序的內存,sort_buffer可能存放查詢需要的所有字段,也可能只存放需要排序的字段和主鍵
show variables like 'max_length_for_sort_data'
當查詢需要的字段長度小于 max_length_for_sort_data 時,則會將查詢需要的所有字段放入sort_buffer中,然后對需要排序的列進行排序,最后返回結果
當查詢需要的字段長度大于 max_length_for_sort_data 時,只會將需要排序的字段和主鍵值放入sort_buffer中,等到排序后再去查詢聚簇索引獲取需要查詢的列(相當于又多了一次回表)
在sort_buffer中進行排序時,如果內存足夠則會在內存中進行排序,如果內存不夠則會使用磁盤的臨時文件來輔助排序
開啟 optimizer_trace 可以查看是否使用臨時文件輔助排序
#開啟優化器追蹤
SET optimizer_trace='enabled=on';
#sql語句
select * from student order by student_name limit 10000;
?
#查看優化器追蹤的信息
SELECT * FROM `information_schema`.`OPTIMIZER_TRACE`\G;
排序使用的算法是歸并算法,先分割成多個小文件排序再進行合并
其中number_of_tmp_files 為使用到的臨時文件數量,sort_buffer_size 為sort_buffer大小
因此當使用order by、group by等需要排序的關鍵字時,最好建立合適的索引
如果數據量小可以在sort buffer中排序,如果數據量太大還需要與磁盤交互
當查詢語句需要排序時會分為不用排序和需要排序兩種情況
當使用的索引有序時則不用再進行排序,通過索引來保證有序
當使用的索引無序時則會使用sort_buffer進行排序,當查詢字段的長度未超過限制時,sort_buffer中每條記錄會存儲需要查詢的列
如果超過限制,則sort_buffer只會存儲需要排序的列和主鍵值,排序后再通過主鍵值進行回表獲取需要查詢的列
當數據量太大不夠在內存中排序完,會使用磁盤頁輔助排序,使用歸并算法將排序數據分散在多個頁再合并
可以通過追蹤優化器 optimizer_trace 分析內容查看輔助頁的數量等信息
為需要排序的列建立合適的索引,避免使用磁盤頁輔助排序
當無法使用索引時可以調整sort buffer 或 max_length_for_sort_data(謹慎)
關注#華為云開發者聯盟# 點擊下方,第一時間了解華為云新鮮技術~
華為云博客_大數據博客_AI博客_云計算博客_開發者中心-華為云