ラベル ストレージ の投稿を表示しています。 すべての投稿を表示
ラベル ストレージ の投稿を表示しています。 すべての投稿を表示

2021/11/14

Surface Pro 8にWindows 10をインストール

Surface Pro 8はSurface Proシリーズのユーザーが待ち望んでいた新機種ですが、発売タイミングの関係か、一般向けはWindows 11プリインストール機のみの販売となっています。

純粋に使うだけなら別にWindows 11でもいいですが、検証などを考えるとWindows 10の環境も当面必要なので、Windows 10をクリーンインストールしてみたところ、3点引っ掛かったことがあったので、メモしておきます。

1. インストール用USBメモリ

これはSurface Pro 8に特有の点ではないですが、Surface Pro 8のUSBコネクタはUSB-C(Thunderbolt 4)だけなので、インストール用USBメモリは、USB-Cのものを使うか、USB-CとUSB-Aの変換コネクタをかませる必要があります。

ここで、容量が大きめ(32GB=32768MB超)のUSBメモリを使おうとすると、フォーマットでファイルシステムが自動的にexFATになりますが、USBメモリからブートするにはFAT32である必要があるので、何らかの方法でFAT32にする必要があります。

ただ、この点はMicrosoftのメディア作成ツールでUSBメモリの作成までやってしまえば、自動的に32GBでFAT32のパーティションが作られるので、たいした問題ではありません。

2. 入力デバイス

インストール用USBメモリからブートすると、最初に言語や地域を設定する画面が出ますが、ここで本体のタッチスクリーンもSignatureキーボードも全く反応せず、何も操作できないので詰みます。

この原因が分からず、しばらく試行錯誤したのですが、ふと外付けUSBキーボードを繋いでみたら動きました。

つまり、タッチスクリーンにせよ、Signatureキーボードにせよ、これらのためのどこかのデバイスがインストーラーに含まれたインボックスドライバーでは動かないらしいというオチでした。これはOSのインストール後もWindows Updateをかけて各種ドライバーを更新するまで解決されないので、そういうことなのでしょう。

正攻法で行くならば、Surface Pro 8のドライバーパッケージ(後述)から該当するドライバーを探し出し、予めインストーラーに組み込んでおく方法で解決できるはずですが、USBキーボードを繋いだ方が百倍速いということで。

なお、使用したインストーラーは21H1のもので、Windows 11のインストーラーでも同じでしたが、いずれ修正されるかも。

3. 内蔵カメラ

OSのインストール後にWindows Updateをかければ、ほとんどのデバイスは使用可能になりますが、内蔵カメラだけは使えません。カメラが使えないということはWindows Helloの顔認証も使えないということで、実用上見過ごせない問題です。

デバイスマネージャーをWindows 11と見比べると、Windows 11では「カメラ」に存在する「Intel(R) TGL AVStream Camera」が存在せず、代わりに「ほかのデバイス」に「ISP Camera Device」があるので、これがそれらしいと目星はつきましたが、Windows Updateではドライバーが入りません。

しばらく探したところ、MicrosoftがSurface Pro 8のWindows 11用のドライバーパッケージを公開していました。
この中のWindows 10用(SurfacePro8_Win10_19042で始まるもの)をインストールし、展開された「SurfaceUpdate」フォルダーの中から「Cameras」フォルダーを指定して、「ISP Camera Device」のドライバーの更新をかけたところ、「Intel(R) TGL AVStream Camera」が出現し、カメラが使えるようになりました。これでWindows Helloの顔認証も問題なし。

以上で、とりあえずのところ、Windows 10の動作に支障は出ていません。

[追記]
11/19にWindows 10用のドライバーパッケージが追加されたので、Windows 11に一旦インストールする工程は不要になりました。

4. おまけ

今回のSurface Pro 8はi7のモデルを買いましたが、季節柄か普段使いではファンはほとんど回らないので静かです。

ストレージは512GBですが、ベンダーは予想外のKIOXIA

型番のKBG40ZNSで検索してみると、BG4というシリーズのSSDのようです。ホワイトペーパーによると、CrystalDiskMark 6.0による計測でシーケンシャルリードが最大2,336MB/s、シーケンシャルライトが最大1,815MB/sということなので、以下のCrystalDiskMark 8.0の結果は大体こんなものかと思います。

SignatureキーボードはUS版をAmazon USから購入。色はSurface Pro 7で使ってきたプラチナという名のグレイの使用感が今一だったのでブラックにしましたが、地味だったかも。

2021/05/30

タフな2.5インチドライブ用ケース

2.5インチドライブ用の外付けケースとして最もタフな部類に入るSilverStoneのSST-MMS01Bを使っていましたが、StarTech.comのS251BRU31C3に買い替えたので、記録として。

この2つ、ベンダーは違いますが、コントローラー基板以外の筐体は見たとおり全く同じなので、ODM元は同じなのでしょう。

インターフェイスとコネクタは以下のとおり。
  • SST-MMS01B : USB 3.0 : Micro-B 3.0
  • S251BRU31C3 : USB 3.1 : USB-C
Micro-B 3.0はとにかく華奢で、SST-MMS01Bでもいかにもタフな筐体に見合っていない感がありましたが、どうもコネクタが歪んでしまったようで、わざと傾けて力をかけないと認識されなくなったので、引退となりました。その点、S251BRU31C3のUSB-Cはコネクタがカチリと固定されて安定感があります。

筐体の中はどんなものかというと、ドライブはコネクタ以外の全方向がゴム素材で支えられる構造になっていて、縁には防水のパッキンがあります。

蓋は六角ネジで固定するようになっています。外側のゴムジャケットも合わせて厚みは30mmとなるので、ドライブが9.5mm厚として上下に10mmの緩衝スペースがある計算になります。見えませんが、ネジ穴部分の内側にワッシャー型のパッキンがあり、ネジ穴からの防水になっています。

コネクタにはパッキン付きの蓋があります。コネクタの貫通部はシールされているようには見えないので、蓋は閉めておかないと防水性は発揮されないかと。

一応性能確認のため、古いものですがSanDiskのExtreme Proを繋いでMBP2019からAmorphousDiskMarkで計測した結果。コントローラーはasmediaのASM235CMでした。

性能的には十分かと思います。

ということで、データを物理的要因から保護するケースとして現状不満点はないです。なお、難点というほどではないですが、アクセスランプはなく、HDDでも動作音はほとんど漏れてこないので、外からは動作状況が分からないのが注意点ではあります。

2020/01/13

HDDの波形の変化

HDDが性能的にSSDに置いて行かれて久しい現在、それでも3.5インチHDDにはぼちぼちと進化が見られるが、2.5インチHDDには目ぼしい進化は見られない(と思う)。それは仕方ないとして、特に変化は期待せずNAS用のHDDを更新したら、HDDの「波形」について発見があったのでメモしておく。

HDDの「波形」というのは、HDDの速度を計測すると現れる位置固定のパターンのことで、記録面の記録密度に由来するものと個人的に考えているもの。基本概念は以下参照。
購入したのは東芝の2TBのMQ04ADB200。店はいつものように秋葉原のArk。

9.5mm厚なのでプラッタは2枚で記録面は4。東芝以外も含めて4TBのモデルは存在するが、どれも厚みは15mmのようなので、プラッタは4枚と推測され、したがってプラッタ当たり容量は同じと思われる。

2台のうち1台目のDisk Gazerの結果。上に出ている水色のグラフが最外周(先頭)100GiB、下の黄色が最内周(末尾)100GiBを示す。

まず計測幅が100GiBなのは、初めは先頭10GiBで計測したら水平線だけで波形が出てこなかったので、広げたから。水色の方だけではやや迷うが、黄色の方を見れば特徴的な4つの水平面の波形が分かる。これには注目すべき点が2つあって、
  • 先頭の水平面の長さは約19GiBで、これは以前のHDDより桁違いに長い。4つの水平面を合わせると約71GiBにもなる(水平面ごとの長さは同一ではない)。末尾の4つでも約27GiBとなる。
  • 同じ記録面のものと推測される水平面でも高さが微妙に異なるので、完全に同じ波形の繰り返しではない。
次に2台目のDisk Gazerの結果。こちらも上の赤紫色が最外周100GiB、下の黄色が最内周100GiB。

こちらも同じ特徴を示しているが、赤紫色の方でも4つの水平面の波形が分かりやすい。

これらが何を意味するか。一番シンプルな解釈は、あるゾーンの記録面(この場合は4つある)中のトラックを移動するのに、以前のHDDのように1つの記録面のトラックをある程度使ったら別の記録面に次々に移っていくという、記録面を小刻みに切り替える使い方ではなく、1つの記録面のトラックは(そのゾーンに属する)全トラックを最初から最後まで使った後に次の記録面に移るという、記録面をゾーンの途中で切り替えない使い方になっていることが考えられる。
  • 4つの水平面が1つのゾーンを構成するとして、1台目のように最初のゾーンの容量を71GiB、最後のゾーンの容量を27GiBとし、この間で容量が一定幅で減っていく(正確には2次関数的に減ると思うが)と仮定すれば、1863GiBは38ぐらいのゾーンに分割できる。この数はゾーン数としてあり得なくはない。
  • 水平面ごとに同じ記録面でもゾーンが違うとすれば、高さ=速度=記録密度が違うのは普通。概ね末尾に行くにつれ同じ記録面でも微妙に高さが下がる=速度が遅くなるのは、ゾーンが変わっていると捉えれば自然な推移(同じ記録密度であっても末尾(内周)に行くにつれ線速度が遅くなるので、アクセス速度も遅くなる)。
この記録面の使い方の違いがユーザーにとって何か意味があるかといえば、別に何もないが、個人的には波形の健在を確認できた。

なお、過去には専らHGSTのHDDを見てきたので、ベンダーによる違いも考慮すべきではあるが、過去の東芝のHDDの波形は他社のHDDと基本的には変わらなかった。いずれにしても、そもそも2.5インチHDDの存在自体いつまで続くのか分からないし、ベンダーの違いにこだわる話でもない気がする。

[追記]

今更気づいたが、このMQ04 シリーズは公式スペックによれば、Drive-Managed SMR (瓦記録) 技術とのこと。

ということは、水平面が長いことはSMRと関係がありそうではある。また、SMRだとキャッシュの影響があるかもしれないが、Disk Gazerはリードだけなので関係ないか。

2018/08/08

FlashAir W-04の速度

遅ればせながら、W-03が一杯になって容量をやり繰りするのが面倒になってきたので、W-04を買ってきた。これで4世代のFlashAirが揃ったことになる。

かなり速くなった(特に無線LAN)らしいので、早速W-03と比較してみた。
PC側はThinkPad X230で、FlashAirからアンテナまでは約30cmの至近距離。なお、無線LANの速度はその時々の電波環境でかなり変わるので、あくまで参考値。

Snowyで759枚のJPGファイル(合計3GB)を転送するのにかかった時間は、W-03の場合は2033秒(約34分)。平均速度は1.515MiB/sとなる。

対して、W-04の場合は573秒(約10分)だった。平均速度は5.376MiB/sとなる。

つまり、W-04は約3.5倍の速さを発揮したことになる。

これは条件のよいときの速度だと思うので、出先で電波が飛び交うような環境ではもっと下がるだろうが、今時イベントで写真を撮ると1GBぐらいはすぐ行ってしまうので、それでも(条件がよければ)3~4分で転送が終わるとなれば、写真を撮った後の工程に大きく影響する。という意味では買う価値はあると思う。

2014/10/05

ThinkPad X230とmSATA SSD

ThinkPad X230にmSATAのCrucial M550 256GBを入れた。
ThinkPad X230 and Crucial M550
ThinkPad X230 and Crucial M550

開発環境を色々入れて手狭になってきていたところに、Windows 10 TPをどうやって動かそうか考えて、元からmSATAに増設する予定だったので丁度よく。

Windows 10 TPのインストールはISOファイルからインストール用USBメモリを作って行ったが、X230をUEFIブートにしているので、USBメモリもUEFIブータブルにするためにFAT32でフォーマットする必要があった以外は従来と変わりない。

とりあえずインストールしたままの状態ではM550の温度は常に50度台前半で、かつてないペースで雫ちゃんの声を聞くことになった。

さすがに気になったので、IntelのChipset SupportとRapid Storageのドライバーを古いインボックスのものからLenovoの新しいものに代えたら、30度台後半で落ち着くようになった。

速度はmSATAの制限があるので、このぐらい。実用上は十分以上。

これでまたX230のスロットが一つ埋まった。

2014/04/30

SSDかどうかをWMIから判別する

SSDかどうかをC#から判別するではP/Invokeを使ったが、それよりハードルの低いWMIでもSSDかどうかを判別する方法はある(ことを知った)。

1. 説明


具体的には、WMIからWindows Storage Management APIにあるMSFT_PhysicalDiskクラスを利用する。ただし、このWindows Storage Management APIが使えるのはWindows 8(とWindows Server 2012)以降なので、完全にこれに頼れるものでもなく、ケースバイケースで。なお、管理者権限は不要。

初めにWMIでディスクのハードウェア的な情報を取得できるものとして、新しいMSFT_DiskMSFT_PhysicalDisk、および従来からあるWin32_DiskDriveのプロパティをざっくり比較してみた。
この中でMSFT_PhysicalDiskのSpindleSpeedとMediaTypeにSSDの情報が含まれている。
  • SpindleSpeed
    文字どおりディスクの回転数で、これが0であればSSD。HDDで回転数の情報が取れればその回転数(RPM)、そうでなければUInt32の上限値が返ってくる。
  • MediaType
    これが3であればHDD、4であればSSD。情報が取れなければ0が返ってくる。
ここまで分かれば、後は名前空間が従来の\root\CIMV2ではなく、\Root\Microsoft\Windows\Storageなので、それを明示的に指定する必要がある以外は従来のWMIと変わりない。

2. テスト


テスト用に作成したC#のコンソールアプリを、ThinkPad X230上のWindows 8.1で実行した結果。

1番目はUSBポータブルケースに入れたTravelstar 5K1000で、USB接続ではMediaTypeもSpindleSpeedも情報を取れなかった。2番目はUSBメモリで、これも情報を取れず。3番目は内蔵SSDで、これはMediaTypeとSpindleSpeedの両方でSSDという情報が取れた。

次にThinkPad X61s上のWindows 8で実行した結果。

1番目は内蔵HDDのTravelstar 7K1000で、MediaTypeはHDDという情報が取れたが、SpindleSpeedはなぜか情報が取れなかった。2番目と3番目のUSBメモリは両方取れなかった。

以上、とりあえず内蔵であればSSDかどうかの判別に使えると思う。

[追記] PowerShellから実行

WMIということは当然PowerShellからも実行できるわけで、例として以下のような感じ。
Get-WMiObject -namespace Root\Microsoft\Windows\Storage -class msft_physicaldisk | Select-Object FriendlyName,Model,MediaType | Sort-Object FriendlyName

これを実行したもの。MediaTypeが3であればHDD、4であればSSD。

問題なく取得できている。

3. BusType


SSDに限らないが、BusTypeについて、従来のWin32_DiskDriveのInterfaceTypeプロパティでは取れる情報が少なかったので、Win32のDeviceIoControlをIOCTL_STORAGE_QUERY_PROPERTYで実行してSTORAGE_BUS_TYPEを取得するようにしていたが、MSFT_DiskとMSFT_PhysicalDiskにはBusTypeプロパティがあるので、比較してみた。
一目瞭然だが、情報はほとんど同じで、MSFT_DiskがNVMeを取れるだけ優位にある。したがって、BusTypeに関しては条件が許せばMSFT_Diskで代替できると思う。

2014/04/27

Disk Gazerを拡張

狭い領域の計測に特化していたDisk Gazerを広い領域を計測できるよう拡張しました。

1. アイデア


Disk Gazerは狭い領域の速度を細かく調べるという目的は達しましたが、これをより広い領域、あるいはディスク全体に使いたいという考えは初めからありました。問題は全領域をなめるようにリードしていくとおそろしく時間がかかることで、例えば、平均速度を100MB/sとすると1TBをリードするのに単純計算で2.8時間かかります。現在3.5インチHDDでポピュラーな4TBだと11.1時間にもなります。さすがにこれは実用的ではないです。

したがって、何らかの形で間を飛ばしながら計測する必要がありますが、下手なやり方を取るとHD Tuneの轍を踏むことになるので考え中でしたが、GitHubにリポジトリを置くに際して内部的に大改造したので(計測方法自体は変えず)、同時に広い領域を計測できるよう拡張しました。

基本的なアイデアは前に考えたとおりですが、
  • 記録面の波形をなるべく外さない
  • 速度の上下動を無理に平均化しない
となると、逆に複雑なことはしない方がいいということで、以下のような形に。
  • 実際にリードするblock数の、対象領域の全block数に対する割合を"Area ratio"と呼ぶ。例えばこれが1/16の場合、1/16だけ(累計)リードする。これを使ってリード位置の間隔を決める。
  • 速度計算はblockごとのままとする。
  • 1つの位置でリードする単位を8blockとする(block sizeを初期設定の1MiBとすると8MiB)。ただし、1番目のblockはシークタイムの影響を避けるため結果には含めない。
  • リードするblockを含めた同じ長さのグループを作り、1つのグループの先頭8blockをリードした後は次のグループの先頭に移る。これを順に繰り返す。例えば、Area ratioが1/16の場合、リードする8blockに対して、グループの全block数はその16倍の128とし、残る120blockは無視する。
まあこれ自体は外さない結果を出すための決めごとに過ぎませんが。

ソースコードは最終的にGitHubに置きました。

実行ファイル
レポジトリ

2. 結果


実際にHDDを計測した結果は以下のとおり。ThinkPad X230上のWindows 8.1からUSB3.0接続のポータブルケースに入れたHDDを計測。USB3.0でもHDD程度の速度なら問題ない模様。それぞれの以前のベンチマーク結果は前のエントリから見られる。

Travelstar 7K1000の1TBモデル


Area ratioはLocation (area location)の横に表示。先頭1GiBを先に1/1で全リードしたもの(黄色のライン)に重ねて1/16でリード(黄緑のライン)。

1/16ではリード開始位置は128MiBの間隔で、この記録面の波形なら上に突き出したスパイクを含めて上下動をほぼ捉えている。

次に全領域を1/16で計測したもの。

スパイクがうるさいが(外周では上に、内周では下に出ている)各ゾーンの波形は大体トレースできている。というか、この表示サイズだと計測位置を増やしてもごちゃっと固まるだけなので、あまり違いはないと思う。ちなみにこれで既にリード位置は5万を超えている。

時間は1回のリードに9分かかっているので、5回のリードで45分といったところ。これでもベンチマーク時間としては長いが、試しに1/32のリードをしたら網目が広すぎ、波形を外すようになって良くなかった。

結果とは関係ないが、ポータブルケースはAnkarの2.5" HDD/SSD External Enclosureというものだが、中のHDDの型番を全部返してこないのは少し良くない。

Travelstar 5K1000の1TBモデル


同様に先頭1GiBを1/1で全リードしたもの(黄色のライン)に重ねて1/16でリード(水色のライン)。

波形の上下動は1/16でも捉えられている。

次に全領域を1/16で。

これも問題ないと思う。7K1000は先頭より少し内側の方が速かったが(そういうHDDは時々ある)、5K1000は素直な曲線。

Travelstar 5K1000の500GBモデル


同様に先頭1GiBを1/1で全リードしたもの(黄色のライン)に重ねて1/16でリード(赤紫のライン)。

次に全領域を1/16で。

これも問題ないと思う。外周と内周の速度比が小さいのも以前と同じ。

3. まとめ


以上のように、グラフの表示上、スパイクが実際以上に強調されてしまう傾向はあるものの、ディスク全体を計測する用途にも使えるものになったと思います。思い描いたほどきれいな形にならなかったのは、実際のディスクの姿がそうである以上、仕方ないかな。Block offsetを使えばもう少し上下が収束すると思いますが、時間がおそろしくかかるので。

2013/10/27

ReadyNASの掃除

ReadyNAS Ultra 2のファンが、ついにというか、時々軸音を発するようになったので、どんなものか見てみたら埃まみれになっていたので、外してみた。

Ultra 2の筐体はバックパネルの部分が外せそうだとは分かっていたが、実際に外したことはなかったので、自分にしてはやや慎重に4本のネジを外すと、パカっと。

以下は、既に埃を落とした状態。
ReadyNAS Ultra 2: Back side
ReadyNAS Ultra 2: Back side

SATAコネクタのあるバックプレーンを裏側から見たことはなかったので、少し新鮮。

このPCBに"FOXCONN"の文字があったので、改めて見たらメインのPCBにも"FOXCONN"の文字が入っていて、ついでにこれらを繋ぐコネクタもFoxconn製で、つまり高い確率でReadyNASの製造はFoxconnだったんだと、今更ながら了解。既にFoxconn製というか、Hon Hai製の電子製品は日常生活の至るところに溢れているわけだが、その一つだったと。

ファンの方はDeltaのAFB0912HHで、それは初めから見えていたのだが、
ReadyNAS Ultra 2: Fan

このブレードの排気側の縁が、くいっと曲がっているのに初めて気づいた。
ReadyNAS Ultra 2: Fan

おそらくは静音上の意味があるのだろうが、後発メーカーが先発メーカーとの差別化のために変わったことをするのは珍しくないにしても、ファンにかけては老舗のDeltaが、しかも直接ユーザーにアピールする必要のないアプライアンス向けの製品でこういう工夫をしているのは、正直意外だった。

それはそれとして、掃除した結果、また静かな状態に戻ったので満足。交換用に用意していたファンの出番は、結局なしで終わりそうな気がしてきた。

2013/03/15

HD Tuneのぎざぎざの評価

HD Tuneのぎざぎざの形は偽のものだとして、これをどう捉えるか。

(このエントリは一続きのエントリの2/2)

2.1. Partial testとFull test


Partial testのぎざぎざが偽のものだとしても、直ちにPartial testはダメで、Full testの方がいいとも言い切れない。この点は自分も逆に考えていた。

なぜFull testでは乱れの少ないきれいなチャートになるかというと、比較的大きなサイズの計測結果からまとめて計算することで、その間の動きをすべて平均化してしまうから。例えば1TBのHDDをFull testで計測すると、200等分の5GBごとにまとめて計算することになる。

こういう平均化は小さくランダムな動きをならして安定的な値を得るには役立つが、記録面の波形はDisk Gazerで見られるように画然として存在するし、その高さも幅も決して小さなものではない。HD Tuneのように位置ごとの速度を示すよう設計されたベンチマークで、波形を押し潰すようにして平均化することが果たして正しいか。

むしろ、チャートの各位置の範囲に含まれる速度の幅をなるべくそのまま表示した方がいいように思う。図にすると、

左側のような一本の線より、右側のような太さのある帯のイメージ。

結局は使う人が何を見たいかによるが、Partial testもその性格を理解して使うなら(という前提は往々にしてスルーされるものだが)、速度の幅をある程度示すものとしてアリではないかと思う。

2.2. Partial test中の違い


という前提でPartial testについて改めて考えると、5段階あるPartial testの各計測点におけるテストサイズは以下のようになっていた。
Fast側から
各計測点における
速度との比
平均
概数
1
13.0%
1/8
2
25.5%
1/4
3
50.5%
1/2
4
100.5%
1
5
200.6%
2

比は4段目を中心として2の倍数になっているが、1段目などはかなり小さい。

これが結果にどう影響するかというと、7K1000で段を変えながら計測すると以下のようになる。
Travelstar 7K1000: HD Tune Pro (Partial test)

段が低いとぎざぎざが激しく、段が高くなるにつれなだらかになるのが分かる。

このどちらの方がいいかとなると、なだらかになるのはテストサイズが大きくなる分、面の間に掛かりやすくなって双方の面の中間の値になる、すなわち双方ともの本来の値から乖離するということだから、実際の速度の幅を忠実に示すという観点からは、逆にテストサイズが小さい低い段の方が、面の本来の値を伝える計測点が多くなって望ましい、と考えることができる。

2.3. まとめ


HD Tuneのぎざぎざの形は偽のものだが、その点を理解して使うなら、むしろPartial testの、その中でもより粗い低い段の方が結果的に実際の速度を忠実に示すので望ましい、という一見転倒した結論になった。我ながら予想外。

HD Tuneのぎざぎざの理由

HD TuneのBenchmarkがAdaptive FormattingのHDDでぎざぎざを描く理由について、記録面の波形によるものと推測してきたが、その結論。

(このエントリは一続きのエントリの1/2)

1.1. HD TuneのBenchmarkの計測方法


他のソフトの動作を外から分析するのはあまり行儀がいいとは言えない気がするが、これを確認しないと先に進めないので、HD Tune Pro(4.01)がBenchmarkを実行中にどうアクセスしているかをProcess Monitorで見てみた。対象はTravelstar 7K1000で容量は1TB。設定はPartial testで5段階中のAccurate側の4段目(デフォルト)、Block sizeは1MiBに設定してリード。

これは開始時で、この後ずっとReadFile(Win32でリードするAPI)が続いていくが、このDetailにリードした位置とサイズが出ている。Offsetが先頭からの距離、すなわち位置で、Lengthがサイズ。単位はByte。

初めに位置0でサイズが512Byte、すなわち1セクタのリードをしている。設定と違うので何かと思ったが、計測位置をジャンプさせる度に初めは同様に512Byteのリードをしているので、これはたぶんHDDをシークさせるためだけのリードで、速度の計算には入れてないのだろうと思う。

これに続いて1048576Byte=1MiBのリードが、隙間なくシーケンシャルに行われている。

結果をまとめると、少し戸惑わせることが分かった。
  1. 計測したサイズ(1MiB×リード回数)は計22250MiBで、容量の2.3%。まあそんなものか。
  2. 計測点の数は200で、各計測点の開始位置は容量を単純に200等分したもの(0、5GB、10GB……)。これはログから予想できたこと。
  3. 各計測点のサイズは一定ではない。……何コレ。
速度を計算するには比が分かればいいのであって、一定のサイズにする必然性はないが、計測条件はなるべく揃えるものじゃないかと思いつつ眺めていたら、気づいた。各計測点のサイズは、その計測点における速度に比例している。

各計測点における速度とテストサイズの関係をまとめたのが以下。速度はMB/sに、テストサイズはMBに、位置は都合でGiBに換算してある。

ほぼ完全に一致している。意図はよく分からないが、たぶん計測しながら速度を見て後何回リードするか決めているのか、予め決めた時間内だけリードを繰り返すようにしているのだと思う。

ちなみに、X25-M G2を5段階中の5段目で計測したときはテストサイズは381MiBで一定だったので、上限はあるっぽい。

1.2. 計測点をDisk Gazerと比較


とにかくHD Tune Proがリードした位置とサイズは分かったので、先頭から40個の計測点について、その位置の波形をDisk Gazerで計測したものと比較してみる。

左側がHD Tune Proのログから抜き出したもので、赤点が各計測点。右側のDisk Gazerのチャートで計測点に当たる部分を赤枠で囲ってある(数が多いので、スライドさせながら見てもらうといいと思う)。

一目瞭然だが、HD Tune Proの値は計測点が波形のどの部分にかかっているかで決定されているのが分かる。荒れた海を走る船のごとく、高い面に乗れば高く、低い面に落ちれば低く、面の間にまたがったときはその割合に応じて、上下している。

これがHD Tuneのぎざぎざの理由、ということになる。

各計測点における値は、その位置とサイズで得られた値として間違ってはいないが、それらを結んだチャートの形は、そのとおりに実際の速度が変動しているわけではないという意味で、偽のものと言えると思う。

次に、これをどう評価するかについて。