題 為什麼SSD有奇怪的尺寸?


為什麼SSD的大小如240 GB或120 GB而不是普通的25​​6 GB或512 GB? 這些數字比240或120更有意義。


79
2018-04-28 19:52


起源


為什麼這些數字更有意義? - Matthew Williams
@MatthewWilliams我會想,因為它們是較大存儲測量的分數部分。 256 GB是1/4 TB,512 GB是1/2,依此類推。 - Moses
@MatthewWilliams我說因為基數2算術:2 ^ 8 = 256,2 ^ 9 = 512,依舊等等 - Dudemanword
期望驅動器的大小為2的功率是愚蠢的,因為驅動器基本上沒有大小的2的大小.1TB驅動器不是240個字節,通常為10個字節12個字節。 - Zoredache
@Zoredache這對硬盤有意義,但我們談論的是SSD。它的存儲基本上是晶體管,只能容納2個狀態。因此,在我看來,SSD應該始終是基數2.答案有助於澄清模糊性 - Dudemanword


答案:


雖然許多現代固態硬盤(如840 EVO系列)確實提供了您曾經喜歡的尺寸,上面提到的256GB,製造商過去常常為保持性能下降和缺陷的機制保留一些存儲空間。

如果您 - 例如 - 購買了一個120GB的硬盤,您可以非常肯定它內部真的是128GB。保留的空間簡單地為控制器/固件空間提供諸如TRIM,垃圾收集和磨損均衡之類的東西。通常的做法是在控制器看不到的空間頂部留下一些未經分區的空間 - 當SSD首次上市時,但算法已經明顯更好,所以你不需要再這樣做了。

編輯: 關於這一現象必須用GigaBytes中規定的廣告空間(例如128x10 ^ 9字節)與操作系統顯示的GibiByte值之間的差異來解釋這一現象,這是大多數時候 - 2的冪,在這個例子中計算為119.2 Gibibyte。

至於我所知道的,這是在上面已經解釋的事情之上。雖然我當然無法說明哪些精確算法需要大部分額外空間,但計算保持不變。製造商組裝的SSD確實使用兩個閃存單元(或其組合)的功率,儘管控制器不會使操作系統可見所有空間。剩下的空間被宣傳為千兆字節,在此示例中為您提供了131 Gibibyte。


98
2018-04-28 20:07



除了一些SSD現在使用TLC(三級)狀態,並且實際上需要比以前的驅動器更多的保留空間,因為錯誤率更高。我的Samsung EVO驅動器的魔術師軟件建議在我進行設置時保留更多空間。因此,而不是太字節,它只有920 GB。 - Zan Lynx
你的意思是Gibibyte與Gigabyte的差異嗎?我對這個問題的理解不同,因為這種差異出現在120和128GB之間。購買具有120GB廣告尺寸的SSD將使您在操作系統中顯示的可用空間更少。 - Patrick R.
@Matthew嗯,這就是我想說的 - 我可以證實這並沒有停止。我的512G三星840讓我只有465G以上的可用空間。對困惑感到抱歉。因此,總而言之,宣稱為120GB的SSD可能在物理上具有128.000.000.000字節,120.000.000.000作為可用於分區的空間 - 導致OS顯示~110。 - Patrick R.
技術術語是 過度配置。 - Ben Voigt
@ADTC為什麼128GB中的8GB會太多?特別是多層細胞往往不會像你想要的那樣活著。由於製造商不希望您在保修期內退回SSD,因此保留這麼多空間肯定是有意義的。之前也討論過虛假廣告,這是最重要的事情。你買120GB的廣告,你得到128x10 ^ 9 Byte,淨你〜操作系統中顯示的110 Gibibyte。 - Patrick R.


機械和固態硬盤的原始容量均大於其額定容量。保留“額外”容量以替換壞扇區,因此驅動器不必在裝配線之外完美,並且因此在使用期間可以將壞扇區重新映射到備用扇區。在工廠的初始測試期間,任何壞扇區都映射到備用扇區。當使用驅動器時,它監視扇區(使用糾錯例程來檢測位級錯誤),當扇區開始變壞時,它將扇區復製到備用扇區,然後重新映射它。無論何時需要該扇區,驅動器都會進入新扇區,而不是原始扇區。

在機械驅動器上,由於它們控制伺服,磁頭和盤片編碼,因此它們可以添加任意數量的備用存儲,因此它們可以具有1 TB的額定存儲空間以及用於扇區重新映射的額外1 GB的備用空間。

然而,SSD使用閃存,閃存總是以2的冪製造。解碼地址所需的矽對於訪問200字節的8位地址是相同的,作為訪問256字節的8位地址。由於矽的那部分尺寸沒有變化,因此最有效地使用矽房地產是在實際閃存容量中使用2的冪。

因此,驅動器製造商堅持以2的冪為單位的總原始容量,但他們仍然需要留出一部分原始容量用於扇區重新映射。例如,這導致256GB的原始容量僅提供240GB的可用容量。


23
2018-04-29 02:44





簡而言之,所有固態硬盤都不是他們所宣傳的。他們宣傳的是“可用”磁盤空間。對於大多數具有120“可用”GB存儲空間的驅動器,基本驅動器實際上是128 GB驅動器。如前所述,8 GB保留用於某些特定的後台管理任務。

現在,從技術上講,他們可以拍下另一塊芯片,為你提供128 GB的“可用”空間,但這需要更多的錢。製造驅動器的公司已經意識到人們更關心他們的驅動器有多大,而不是它的可用空間實際上是2的倍數。

旁注 - 實際上有幾種編寫所需系統代碼的方法,這就是為什麼你會看到來自不同製造商的120,124和128 GB驅動器的原因。它們都有128 GB的“原始”空間,但它們以不同的方式處理所需的背景。在大多數情況下,沒有任何版本的驅動器編碼比其他版本更好。您可能會注意到性能基準略有差異,但除非您的計算機正在進行繁重的工作並且您知道要查找什麼,否則您不太可能注意到它。


6
2018-04-29 00:57



不是2的倍數,而是2的冪。 - Keltari


以2的冪增長是一個嚴格的數學概念,可以很容易地在基於兩個狀態的計算機中採用數學快捷方式。也就是說,計算機可以執行整數乘法或除法,就像您可以將數字乘以或除以10一樣容易。只需向左或向右移動數字而無需實際執行計算。

每種編程語言都有這些簡單操作的運算符,它們就像C語言一樣 n >> m 又名 shift n right m bits 又名 divide n by 2^m,和 n << m 又名 shift left 又名 multiply n by 2^m。在處理器內部,該操作通常需要一個週期並且就地發生數據。任何其他算術運算,例如乘以3,都需要調用ALU [算術邏輯單元]花費一個額外的周期或兩個編組周圍的位並將結果復制回某個寄存器。如果你需要小數點精度並且涉及FPU [浮點單元],Heaven會幫助你。

無論如何,這就是為什麼你的計算機喜歡在內部將所有內容稱為兩個權力的原因。如果機器每次想要進行一些簡單的數學運算來計算內存指針偏移量時都必須進入ALU操作,那麼計算機的運行速度會慢一個數量級。

另一方面,物理存儲的增長受原始二進制數學的控制,而不是物理,工程和 *扼殺* 營銷。對於主軸盤,容量由以下因素確定:盤片的數量,盤片的尺寸,“圓柱體”的尺寸以及可裝入圓柱體的扇形數量。這些通常更多地取決於硬件的物理能力和讀/寫磁頭的精度。

我並不十分熟悉SSD的內部特性,但我認為縮放是基於:我們可以構建一個N x M個NAND扇區陣列,將它們K層疊在一個芯片中,並將J芯片放入其中一個2.5英寸的硬盤盒。保留其中的H%以進行性能優化,將數字向下舍入到5/10/20的最接近倍數,這就是我們要在盒子上打印的驅動器的容量。

任何這些計算都可以得到一個簡潔的小功率,這將是一個完全的僥倖,對任何人都沒什麼好處。


1
2018-05-01 20:42



我想指出那些移位運算符的易用性還取決於您所針對的架構的填充行為(0-pad或1-pad)。不可否認,這對今天的高級語言來說不是問題 - Dudemanword
據我所知,一個好的編譯器甚至可以繼續替換錯誤的數學運算 var = var / 256 同 var >> 8 這些天對你而言。 - Sammitch
存儲器芯片的大小總是為2的冪,因此有效地址的數量完全受地址信號數量的限制。這消除了對“通過地址超出範圍選擇的芯片”錯誤信號的需要,並且還使得尺寸檢測更容易。如果沒有內存芯片的數量,整體驅動器可能不是2的功率(早期英特爾SSD使用10個通道,每個通道128Gb,總共160GB,略微優於競爭對手的128GB型號) - Ben Voigt


在較舊的SSD中,容量是8的倍數,因為“字節”中有8個“位”(0/1)。就像閃存驅動器一樣,這是在人們沒有看到固態硬盤的好處的時候,每一個“位”都有幫助。

既然消費者對SSD技術以及技術的進步更加了解,那麼SSD製造商正在通過組合“估算”尺寸將它們帶回到更熟悉的數字,就像HDD市場一樣,並結合不同尺寸的芯片得到一個偶數10,(例如6GB + 4GB = 10GB)


-8
2018-04-29 20:55



你可能會混淆比特和字節嗎? - James McLeod