Re: [問題] 日立7k3000系列的RAM顯示為32767KB[已解]

看板Storage_Zone (儲存裝置)作者 ( )時間15年前 (2011/01/30 16:07), 編輯推噓0(0025)
留言25則, 2人參與, 最新討論串1/1
我上網查了一下 現在沒有任何軟體可確認cache大於32MB的硬碟其緩存是多少 因為一般硬碟製造商是用word 21來指示緩存大小 所以軟體會抓word 21去算緩存 1kB = 1024 bytes 1MB = 1024 kB = 1024 x 1024 = 1048576 bytes 比如: 16MB (word 21顯示8000h): 8000h = 32768 x 512 = 16777216 bytes/1048576 = 16 MB 而現在緩存32MB的硬碟可能會用多一個位元組來標示緩存大小 即10000h = 65536 x 512 = 33554432 bytes/1048576 = 32 MB 但硬碟偵測軟體只會抓到0000h, 變成顯示緩存為0MB 實際上的確是有32MB, 這是在講為何軟體顯示緩存為0 而可存儲在word 21的最大值為FFFFh 變成軟體抓的值為 FFFFh = 65535 x 512 = 32767.5 kB = 31.99951171875 MB 這也是為何軟體在緩衝區大小只顯示 32767kB 無法正確辨識緩存64MB(大於32MB)的原因 只能靠已知的硬碟型號 去搜尋官方的spec, 以得知正確緩存大小 所以這次Hitachi 7k3000系列 按spec http://0rz.tw/XR0Ea 不分1.5T, 2T, 3T 其緩存都是64MB 更正網路上一些文章寫說1.5T, 2T緩存32MB, 3T才是64MB的謬誤 根據Deskstar 7K3000 OEM Spec (2TB capacity & below): http://0rz.tw/tbSsy buffer size仍是定義在word 21, 只是64MB其中有超過7631.5kB會被firmware使用 原文: Sector Buffer Size of 64MB (Upper 7631.5kB is used for firmware, this is typical value, it depends on firmware revision.) 21 Buffer size in 512-byte increments. In case of 64MB buffer, it is clipped to 0xFFFF. 另從seagate說明文件找到一段話: 如無要求,即使在 ATA-3 規格變更時,許多磁碟機製造商仍可繼續使用字組 21 來指示 緩衝器大小。 多年以來,許多硬碟機診斷工具和基準測試公用程式一直根據字組 21 中 的預計資料編寫。 可以用來解釋comipa兄推文中提到的問題 而針對一般系統製造商或OEM, Hitachi提供他們另種功耗低的5k3000系列 http://0rz.tw/CcGln 5k3000系列的硬碟緩存才32MB 擷文: 所有的Deskstar 7K3000硬碟皆具備優異的能耗管理與散熱性能,同時也是市面上速度最 快、節能效益最高的7200轉產品之一。根據PCMark® Vantage®測試結果顯示,與前幾代 產品比較,7K3000的效能提昇27%之多,且在閒置時至少可節省高達9%的耗電。 針對系統製造商或OEM,全新的Hitachi Deskstar 5K3000系列正足以滿足他們對功耗的嚴 格要求。Hitachi Deskstar 5K3000可實現低功率及寧靜運作,適用於節能環保型電腦。 Hitachi Deskstar 5K3000不僅提供3TB、2TB及1.5TB三種容量及32MB緩衝記憶體,更結合 日立創新的Coolspin™技術,降低運作溫度與功耗,開發出具有最佳效能及優異能源效率 的全新水準之作。與Deskstar 7K3000相比,Deskstar 5K3000可節省功耗達29%,且減少 運作噪音達14%。 但是硬碟提供廠商沒法提供較好的緩存識別方法以供硬碟軟體偵測嗎? 已知seagate說不提供檢測buffer size的工具軟體 (只能用硬碟型號在官方網站找spec查緩衝區大小) 推測另兩家廠商 Hitachi, WD可能也沒提供 B/R ※ 編輯: diablos 來自: 59.115.232.129 (01/30 16:27)

01/30 17:47, , 1F
因為ATA command不是他們單方面訂的...
01/30 17:47, 1F

01/30 17:48, , 2F
與HDD之間全部都是透過ATA command(我前面說錯了,
01/30 17:48, 2F

01/30 17:48, , 3F
SMART是ATA command裡面的一部分command),同時也定義
01/30 17:48, 3F

01/30 17:49, , 4F
下這些command來回的資料格式
01/30 17:49, 4F

01/30 17:51, , 5F
廠商如果自己要偷動其中一些,HGST還算很好心幾乎都有
01/30 17:51, 5F

01/30 17:52, , 6F
cmd的spec可以看,別家也不一定有
01/30 17:52, 6F

01/30 17:53, , 7F
你說廠商有沒有辦法提供,當然有,但是不能成為標準就
01/30 17:53, 7F

01/30 17:54, , 8F
沒有一定的依據,另外,其實這些資料也只不過是韌體回
01/30 17:54, 8F

01/30 17:54, , 9F
給host,是不是一定真實反映硬體設計,很難說...
01/30 17:54, 9F

01/30 18:05, , 10F
剛看了一下ATA8 spec,word 20/21根本就retired...XD
01/30 18:05, 10F

01/30 18:09, , 11F
word 21早在ATA3就obsolate了..
01/30 18:09, 11F

01/30 18:13, , 12F
只是看來那些軟體應該還是用偵測word 21的方式判定
01/30 18:13, 12F

01/30 18:15, , 13F
緩存大小 是否過時 這部分comipa兄比較熟 我就不知了
01/30 18:15, 13F

01/30 18:20, , 14F
若word 21 retired, 那新的規範有定buffer size從哪
01/30 18:20, 14F

01/30 18:20, , 15F
標示嗎? Thanks
01/30 18:20, 15F

01/30 19:08, , 16F
剛回頭看EBSDZ兄的推文 7k3000還是將緩存大小定義在
01/30 19:08, 16F

01/30 19:10, , 17F
word 21啊 可能要請對規範相關較了解的朋友說明了...
01/30 19:10, 17F
※ 編輯: diablos 來自: 61.216.112.175 (01/31 04:23)

01/31 07:38, , 18F
因為大部分廠商還是用WORD21在放buffer size阿...
01/31 07:38, 18F

01/31 07:39, , 19F
重點是spec不明定就沒有一定的依據,寫軟體的人就只好
01/31 07:39, 19F

01/31 07:40, , 20F
半猜半憑經驗,今天HGST說FFFFh當作64M看,如果Segate
01/31 07:40, 20F

01/31 07:41, , 21F
說他家的FFFFh是128MB,那軟體要怎麼寫?
01/31 07:41, 21F

01/31 07:42, , 22F
廠商沿用過去的spec是有其傳統和包袱在,今天硬體已經
01/31 07:42, 22F

01/31 07:43, , 23F
升級到超越過去定義的規範,自然就容易有這種問題..
01/31 07:43, 23F

01/31 07:44, , 24F
只是Buffersize這個資訊說真的...沒啥重要性..
01/31 07:44, 24F

02/01 00:05, , 25F
我知道 所以seagate說明文件那段話已經解答了阿
02/01 00:05, 25F
文章代碼(AID): #1DHHnFJQ (Storage_Zone)
文章代碼(AID): #1DHHnFJQ (Storage_Zone)