來自微信公眾賬號:開點(diǎn)工作室(ID:kaidiancs)
阿里2015筆試中有這樣一道題目:
以下描述中,錯誤的是(??? )限煞。
A.SATA硬盤因?yàn)橛袡C(jī)械部件抹恳,隨機(jī)讀寫時會發(fā)生磁頭的物理運(yùn)動。主流硬盤的平均尋道時間在幾毫秒到幾十毫秒
B.SATA硬盤讀寫的最小單位是扇區(qū)署驻,扇區(qū)的大小是512字節(jié)或者4KB
C.文件系統(tǒng)讀寫硬盤的最小單位也是扇區(qū)
D.SSD支持隨機(jī)讀寫奋献,但是一般讀性能要好于寫性能
E.SSD的隨機(jī)讀寫延時要比SATA硬盤低兩個數(shù)量級
F.SSD根據(jù)使用技術(shù)的不同健霹,寫的壽命是有限的,需要軟件進(jìn)行寫優(yōu)化瓶蚂,確保存儲單元的寫次數(shù)基本同步增長
本題屬于計(jì)算機(jī)組成原理課程的內(nèi)容糖埋,考查硬磁盤和固態(tài)硬盤的讀寫特性。目前主流的外部存儲器是硬磁盤(Hard Disk窃这,HD)和固態(tài)硬盤(Solid State Disk瞳别,SSD),因?yàn)檫@兩種存儲器的存儲介質(zhì)完全不同杭攻,因而其讀寫特性完全不同祟敛。
選項(xiàng)A中的說法是正確的。早期內(nèi)置的硬盤驅(qū)動器使用并行的IDE接口(PATA)與磁盤控制器相連兆解,目前幾乎所有內(nèi)置硬盤驅(qū)動器都使用串行的SATA接口馆铁。因?yàn)橛脖P驅(qū)動器中每個盤面只有一個磁頭,所有磁頭都連接到同一個傳動臂锅睛,因此埠巨,當(dāng)傳動臂移動時,所有磁頭跟著一起移動现拒,尋道操作結(jié)束后辣垒,所有磁頭停留在不同盤面的同一個磁道上。在系統(tǒng)給出一組隨機(jī)磁盤訪問請求的情況下具练,傳動臂需要在不同的磁道上來回移動乍构,移動過程為一種機(jī)械運(yùn)動甜无,因此平均尋道時間達(dá)幾毫秒到幾十毫秒扛点。
選項(xiàng)B中的說法是正確的税灌。數(shù)據(jù)在磁盤上的記錄格式分定長記錄格式和不定長記錄格式兩種限匣。目前大多采用定長記錄格式般妙。當(dāng)尋道結(jié)束使磁頭固定在某一個位置上后疮薇,磁盤盤片進(jìn)行旋轉(zhuǎn)拓巧,盤片和磁頭做相對運(yùn)動形成一個磁道猾骡,磁頭固定在不同的位置就得到不同的磁道萨蚕,因而每個盤片上有很多磁道酱虎,它們構(gòu)成一個個同心圓寨蹋。每個磁道由若干個扇區(qū)(也稱扇段)組成松蒜,每個扇區(qū)記錄一個數(shù)據(jù)塊,每個扇區(qū)有ID字段和數(shù)據(jù)字段組成已旧。ID字段用于保存數(shù)據(jù)所在的位置信息(磁道號秸苗、磁頭號、扇區(qū)號)运褪;數(shù)據(jù)字段中存放真正的數(shù)據(jù)和相應(yīng)的CRC信息惊楼。早期磁盤的記錄格式中玖瘸,數(shù)據(jù)占512字節(jié),最近幾年的磁盤記錄格式中檀咙,數(shù)據(jù)占4KB雅倒。因此,對于磁盤來說弧可,最小的讀寫單位是扇區(qū)蔑匣。
選項(xiàng)C的說法可以認(rèn)為是正確的。文件系統(tǒng)以邏輯塊(簇)大小為單位在磁盤上給文件分配空間棕诵,因而最小的讀寫單位是一個邏輯塊殖演。一個邏輯塊可以包含一個或多個扇區(qū)。大多數(shù)文件系統(tǒng)的邏輯塊大小為多個扇區(qū)而不是一個扇區(qū)年鸳。其原因是趴久,若邏輯塊大小設(shè)定為一個扇區(qū),則文件系統(tǒng)需要使用更多的磁盤空間存放索引信息搔确,而且在文件讀寫時會發(fā)生頻繁的尋道和旋轉(zhuǎn)等待操作彼棍。當(dāng)然,如果某文件系統(tǒng)的邏輯塊大小就設(shè)定為一個扇區(qū)膳算,這也是可以的座硕,這種情況下,文件系統(tǒng)進(jìn)行磁盤讀寫的最小單位就是一個扇區(qū)涕蜂。
選項(xiàng)D中的說法是正確的的华匾。固態(tài)硬盤(SSD)是一種使用NAND閃存組成的外部存儲系統(tǒng)。與硬盤一樣机隙,SSD通過標(biāo)準(zhǔn)的硬盤接口(SATA或USB)插槽連接到主機(jī)上蜘拉,其外部接口的行為和硬盤一樣,處理的也是來自CPU的磁盤邏輯塊的讀寫請求有鹿,文件系統(tǒng)以邏輯塊為單位在SSD上為文件分配空間旭旭。SSD中包含一個或多個閃存芯片和閃存翻譯層(flashtranslation layer),其中的閃存芯片相當(dāng)于硬盤驅(qū)動器葱跋,閃存翻譯層相當(dāng)于磁盤控制器持寄,用于把對邏輯塊的請求轉(zhuǎn)換成對底層閃存芯片的訪問。因此娱俺,SSD也和硬盤一樣支持隨機(jī)讀寫稍味。由于閃存芯片中寫的過程是先進(jìn)行區(qū)塊擦除(使一個區(qū)塊中全都變成“1”狀態(tài)),然后再在需要的地方改寫為“0”荠卷,因此SSD的讀性能要好于寫性能模庐。順序讀比順序?qū)懘笾驴煲槐叮S機(jī)讀比隨機(jī)寫大致快10倍僵朗。
選項(xiàng)E的說法是正確的赖欣。SSD也可以通過標(biāo)準(zhǔn)的硬盤接口(SATA或USB)插槽連接到主機(jī)上屑彻,進(jìn)行隨機(jī)讀寫,其隨機(jī)讀的訪問時間(延時latency)大約為幾十微秒顶吮,而隨機(jī)寫的訪問時間大約為幾百微秒社牲。硬盤由于需要尋道和旋轉(zhuǎn)等待,所以其讀和寫的訪問時間大約是幾毫秒到幾十毫秒悴了,因此搏恤,SSD隨機(jī)讀寫延時比硬盤要低兩個數(shù)量級。
選項(xiàng)F的說法是錯誤的湃交。SSD中一個閃存芯片由若干個區(qū)塊組成熟空,每個區(qū)塊由若干頁組成,通常搞莺,頁大小為512B~4KB息罗,每個區(qū)塊由32~128個頁組成,因而區(qū)塊大小為16KB~512KB才沧,數(shù)據(jù)可以按頁為單位進(jìn)行讀寫迈喉。當(dāng)需要寫某頁信息時,必須先對該頁所在的區(qū)塊進(jìn)行擦除操作温圆。一旦一個區(qū)塊被擦除過挨摸,區(qū)塊中的每一頁就可以直接再寫一次。若某一區(qū)塊進(jìn)行了大約100 000次重復(fù)寫之后岁歉,就會被磨損而變成壞的區(qū)塊得运,不能再被使用。因此锅移,閃存翻譯層中有一個專門的均化磨損(wear leveling)邏輯電路熔掺,試圖將擦除操作平均分布在所有區(qū)塊上,以最大限度地延長SSD的使用壽命帆啃。由此可見瞬女,對于物理區(qū)塊的寫優(yōu)化是由SSD中的硬件實(shí)現(xiàn)的,無需軟件進(jìn)行寫優(yōu)化努潘。
更多計(jì)算機(jī)專業(yè)技術(shù)文章、筆試面試資料盡在微信公眾賬號:開點(diǎn)工作室坤学。