作者diablos ( )
站内Storage_Zone
标题Re: [问题] 日立7k3000系列的RAM显示为32767KB[已解]
时间Sun Jan 30 16:07:41 2011
我上网查了一下
现在没有任何软体可确认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)
1F:→ comipa :因为ATA command不是他们单方面订的... 01/30 17:47
2F:→ comipa :与HDD之间全部都是透过ATA command(我前面说错了, 01/30 17:48
3F:→ comipa :SMART是ATA command里面的一部分command),同时也定义 01/30 17:48
4F:→ comipa :下这些command来回的资料格式 01/30 17:49
5F:→ comipa :厂商如果自己要偷动其中一些,HGST还算很好心几乎都有 01/30 17:51
6F:→ comipa :cmd的spec可以看,别家也不一定有 01/30 17:52
7F:→ comipa :你说厂商有没有办法提供,当然有,但是不能成为标准就 01/30 17:53
8F:→ comipa :没有一定的依据,另外,其实这些资料也只不过是韧体回 01/30 17:54
9F:→ comipa :给host,是不是一定真实反映硬体设计,很难说... 01/30 17:54
10F:→ comipa :刚看了一下ATA8 spec,word 20/21根本就retired...XD 01/30 18:05
11F:→ comipa :word 21早在ATA3就obsolate了.. 01/30 18:09
12F:→ diablos :只是看来那些软体应该还是用侦测word 21的方式判定 01/30 18:13
13F:→ diablos :缓存大小 是否过时 这部分comipa兄比较熟 我就不知了 01/30 18:15
14F:→ diablos :若word 21 retired, 那新的规范有定buffer size从哪 01/30 18:20
15F:→ diablos :标示吗? Thanks 01/30 18:20
16F:→ diablos :刚回头看EBSDZ兄的推文 7k3000还是将缓存大小定义在 01/30 19:08
17F:→ diablos :word 21啊 可能要请对规范相关较了解的朋友说明了... 01/30 19:10
※ 编辑: diablos 来自: 61.216.112.175 (01/31 04:23)
18F:→ comipa :因为大部分厂商还是用WORD21在放buffer size阿... 01/31 07:38
19F:→ comipa :重点是spec不明定就没有一定的依据,写软体的人就只好 01/31 07:39
20F:→ comipa :半猜半凭经验,今天HGST说FFFFh当作64M看,如果Segate 01/31 07:40
21F:→ comipa :说他家的FFFFh是128MB,那软体要怎麽写? 01/31 07:41
22F:→ comipa :厂商沿用过去的spec是有其传统和包袱在,今天硬体已经 01/31 07:42
23F:→ comipa :升级到超越过去定义的规范,自然就容易有这种问题.. 01/31 07:43
24F:→ comipa :只是Buffersize这个资讯说真的...没啥重要性.. 01/31 07:44
25F:→ diablos :我知道 所以seagate说明文件那段话已经解答了阿 02/01 00:05