2014年11月14日金曜日

Crucial M500/M550/MX100とSecure Erase

記録したデータのセキュリティに関する要望が多いのか、データを暗号化して保存する「SED(Self Encrypting Drive)」対応のSSDが増加しています。Crucial M500以降や、Intel 730シリーズなどがSEDに対応しています。SED対応のSSDは、Windows 8(Pro/Enterprise)以降で利用すると、Security feature setが「Disable」に設定され、Secure Eraseが行えなくなる場合があることが確認されています。今回は、SED対応SSDを利用していて、Secure Eraseが行えなくなった場合の対処方法を解説したいと思います。

現状、Windows 8以降で利用して、Secure Eraseが行えなくることが確認できているのは、「Crucial M500/M550/MX100」とそのOEM製品です。これらの製品をWindows 8以降で利用すると、Secure Eraseを実行するために必要な機能「Security feature set」の設定が、Windowsによって自動的に「Disable」に設定されます。Crucial M500/M550/MX100のSecurity feature setの工場出荷時の設定は、「Enable」となっていますが、これが「Disable」に設定されると、セキュリティ関係コマンドが利用できなくなり、Secure Eraseが行えなくなります。


Windows 8(Pro/Enterprise)以降では、SED対応製品を検出すると自動的に暗号化機能を有効にする仕様となっており、このモードが有効になると、対応ドライブのSecurity feature setを「Disable(無効)」に設定する仕様となっているようです。

Security feature setがDisableになった状態でも、「Secure Erase」と同等のデータ消去を行う方法はあります。それは、「BLOCK ERASE」を行うことです。BLOCK ERASEは、Secure Eraseと同じデータ消去用のコマンドで、「Sanitize feature set」に対応したSSDが対応しています。現状では、東芝やSandisk、Crucial、Intel、SAMSUNG製SSDの一部、などがこの機能に対応しています。

BLOCK ERASE実行後の状態は、Secure Erase後とほぼ同じ状態になり、実行時間もSecure Erase実行時とほぼ同じです。また、BLOCK ERASEは、Secure Eraseとは異なり、「Security Frozen」状態でも実行できます。ただし、現状では、BLOCK ERASEの実行に対応したツールが入手できません。将来的には、TxBenchでサポートされる可能性はありますが、現状は、未サポートの状態です(要望中です)。

このため、Security feature setがDisableになっているCrucial M500/M550/MX100の速度を工場出荷時に戻すには、Secure Erasega行える状態に戻すSecurity feature setを「Enable」に戻す)しか現状では手がありません。これを行うには、「PSID(Physical Security IDentification) Revert」を行えば良いようです。M500/M550/MX100でPSID Revertを行うためのPSID Revertツールは、ここから入手できます。

実際の実行の仕方は、最初に「msed --scan」と入力して、PSID Revertを行いたいドライブを確認し、その後、 以下のように入力してPSID Revertを実行します。PSID Revert実行時のコマンドラインオプションが異常に長い点に注意してください。また、XXXXXXXXX の部分にはSSDのラベルに記載されている「PSID」をハイフンをとった状態で入力してください。

#msed --scan

Scanning for Opal 2.0 compliant disks
\\.\PhysicalDrive0  No  LITEONIT S100-128                        VA85
\\.\PhysicalDrive1  Yes Crucial_CT256M550SSD1                    MU01
No more disks present ending scan


#msed --yesIreallywanttoERASE*ALL*mydatausingthePSID XXXXXXXXX \\.\PhysicalDrive1
- 20:32:47.000 INFO: revertTper completed successfully


「revertTper completed successfully」と画面に表示されたら作業は完了です。これと異なるメッセージが表示されたときは、入力したPSIDが間違っていたり、入力したPSIDの前後の半角スペースが抜けている可能性があります。PSID Revertが完了すると、Security feature setが「Enable」の状態に戻り、Secure Eraseを実行できるようになります。なお、PSID Revertを行うと、記録されていたデータはすべて消去される点に注意してください。

2014年9月24日水曜日

CFD販売 CSSD-M2E256HLMEQ(PCIe SSD)

CFD販売からM.2 PCIe接続のSSDの販売が始まりました。
この製品の256GBモデル(CSSD-M2E256HLMEQ)を購入したので、今回のこの製品のついて簡単にレポートしたいと思います。

CSSD-M2E256HLMEQは、現状では数少ないM.2のPCIe接続のSSDとして設計されている点が特徴です。サポートしている制御インターフェースは「AHCI」のみで、PCIe 2.0 x2接続。採用コントローラーは、Marvellの88SS9183。NANDメモリは、東芝の「TH58TEG8DDJBA8C」 。外部メモリは、Micron製の512MB(4Gbit)のDDR3-DRAMが搭載されていました。

NANDメモリは、現在主流のA19品ではなく、その前の世代のもののようです。東芝の命名ルールで読みとくと、TH58の次の「T」がToggle DDRであることを示しており、Tの次の「E」は電圧。Eの次の「G8」が容量で256Gbit(32GB)、G8の次の「D」がMLC(TLCなら「T」となる)、Dの次の「D」がページサイズとブロックサイズ、Dの次の「J」がデザインルールで19n世代を示しています。ちなみにA19世代の場合は、ここが「K」となるようで、15nm世代になるとたぶん、ここが「L」になるのではないかと推測されます。

ちなみに、本製品は、開発元が伏せられているだけでなく、InquriyもCFD独自型番に変更されており、現状ではどこが開発製造したものかわかりません。Marvell製コントローラーや東芝製NANDメモリの採用など、採用されている部品はPlextor M6eに酷似しており、Liteon(PLDS)のOEM向け製品と考えるのが妥当なところだとは思いますが、基板は明らかに別物です。



また、PX-M6eには、OS起動用のOROMが搭載されていましたが、本製品は、SAMSUNG XP941同様にOROM非搭載の製品として設計されています。加えて、性能面でのチューニングも異なるようです。

2014/10/23追記
当初、本製品はOROM非搭載としていましたが、OROMが搭載されていることを確認しました。起動画面にOROMが表示されない仕様となっているため、 勘違いしてしまいました。お詫びして訂正いたします。

実際にベンチマーク結果をみる限り、ほぼ同一スペックのPlextor M6eと比較して、本製品は全般的に遅めです。Crystal Disk Markの結果では、ランダム4KBのQD1のライトは、ほぼ同程度ですが、QD32では100MB/s以上も遅く、シーケンシャルリードライトともに遅めです。なお、CFD販売のホームページでは、本製品の512GBモデルのベンチマーク結果が掲載されています。それによると、容量が増えることで、シーケンシャルライト性能が若干向上しています。


TxBENCHの結果も同じような傾向がでています。128KB(QD32)のシーケンシャルリードは、差がほとんどなくなりましたが、シーケンシャルライトとランダム4KB(QD32)のライトは100MB/sほど遅いという結果です。唯一速かったのが、ランダム128KB(QD1)の読み出しのみで、これは、Crystal Disk Markのランダム512KBの傾向と同じとみてよいでしょう。



本製品は、ほぼ同スペックのPlextor PX-AG256M6e(PX-G256M6e)よりも数千円ほど安価な価格で販売されています。しかし、性能面では、PX-AG256M6eに若干劣っています。購入する場合は、このあたりの違いをしっかりと検討されることをオススメしたいと思います。

2014年9月15日月曜日

DEVSLP(Device Sleep)機能とは

2013年以降に登場したSATA接続のSSDは、フォームファクターに関係なく、SATA Rev3.2で規定された省電力機能「Device Sleep(通称、DEVSLP)」に対応した製品が一般的です。この機能は、待機時のSSDの消費電力をほぼ「0W」にする機能として知られています。しかし、ネット上の書き込みだけでなく、PC誌やネットメディアのライターさんの記事をみていると、この機能について若干誤解されている方が多いように見受けられます。そこで、今回は、DEVSLPについて、少し突っ込んだ説明をしたいと思います。

DEVSLPとは、前述したとおりSATAの省電力機能の1つです。SATAには、「LPM(Link Power Management)」という省電力機能も用意されており、この機能では、PHYを低消費電力状態にすることで消費電力を削減していました。DEVSLPでは、これを一歩進めPHYの電源をオフにすることで消費電力を削減しています。

また、DEVSLPは、SATA LPMによる省電力状態を経て移行します。その際、SATA LPMのSlumber状態を経ることが義務付けられているようで、「Auto Partial to Slumber」という機能が新たに規定されています。PartialからSlumberへの状態移行は、通常、COMWAKEを利用して、一旦通常状態に復帰し、その後Slumberへと移行します。この機能は、おそらく、COMWAKEを利用することなく、自動的にSlumber状態へと移行する機能だと推測されます。

なお、SSDの中には、DIPMのみに対応し、いきなりSlumberに入るような製品もあります。このような製品では、DEVSLPに対応していても、Auto Partial to Slumber機能に非対応となっている場合があります。また、ドライブの初期値では、DEVSLPの機能が「オフ」になっています。DEVSLPを利用するには、ATAコマンドをドライブに送ってこの機能をオンにする必要があります。DEVSLPの有効化は、通常、OS起動時に自動的に行われます。

DEVSLPで注意しなければならないのが、復帰の方法です。SATA LPMでは、PHYが省電力状態に移行しているだけなので、PHYを利用して省電力状態から復帰を行っていました。しかし、DEVSLPでは、PHYの電源がオフになっているため、SATA LPMと同じ手法で復帰することができません。そこで、DEVSLPでは、復帰を行うための別の信号線を準備しています。SSD向けのコントローラーは、リビジョンアップでこの信号線に対応した製品が多く、同じ型番のコントローラーを利用しているからといって、DEVSLPの復帰用の信号線に対応しているとは限りません。

たとえば、SandforceのSF-2281は、当初DEVSLPに対応していませんでしたが、Intel SSD 530などに搭載されているSF-2281は、リビジョンアップ版となっており、DEVSLPに対応したコントローラーが採用されています。また、TOSHIBAのHG5も同様です。HG5は、DEVSLP非対応ですが、コントローラーを改良したHG5dは、DEVSLP対応品となっています。

また、DEVSLPの復帰に利用される信号線は、ドライブの「電源ピン(P3で3.3Vの電源ピン)」に接続されています。このため、2.5インチ形状のSSDを利用する限り、自作PCでは、まずこの機能を利用することはできません。2.5インチ形状のSSDでDEVSLPが利用できるのは、メーカー製PCに限定され、通常、ノートPCのみだと思って間違いないでしょう。

M.2(SATA接続)とmSATAの場合は、Intel 8シリーズチップセットを搭載したノートPCならDEVSLPを利用できると推測されます。自作用のマザーボードに搭載されたM.2スロットやmSATAスロットの場合は、DEVSLPの信号線が結線されていれば利用できると思いますが、現状、それを確かめるすべはありません。

冒頭でDEVSLPを誤解していると書いたのは、上記の理由からです。2.5インチ形状のSSDでDEVSLPを利用できる環境は限定されており、そもそも自作PCでは、基本的にDEVSLPを利用することはできません。しかも、メーカー製のノートPCにおいても、DEVSLPを利用可能な環境だからといって、必ず、DEVSLPの機能が有効になっているという保証もありません。東芝製のノートPCでは、InstantGOに対応していなくても、DEVSLPが有効になっているという話は聞いたことがありますが、実のところ実物を僕は見たことがありません。

ネット上の書き込み等をみる限り、DEVSLP対応SSDであれば、待機時の消費電力が常に低くなる勘違いしている方が多くいらっしゃるようです。しかし、この機能は、意図的にオンすることによって初めて機能します。ドライブが対応しているだけでは、何の役にも立ちません。DEVSLPの機能がオンになっているかどうかは、TxBENCHで確認できます。対応SSDを利用されている方は、DEVSLPが有効になっているかどうか一度チェックされてみてはいかがでしょうか。

2014年6月4日水曜日

Intel 9シリーズチップセットとPCIe SSD

Intel 9シリーズチップセットは、M.2を標準サポートし、メーカー独自対応ながらSATA Expressにも対応した製品が多く登場しています。今回は、Intel 9シリーズチップセット搭載マザーボードにおけるPCIe SSDのサポート状況をレポートしたいと思います。テストに使ったPCIe SSDは、SAMSUNG XP941(128GB版)とPlextor PX-AG256M6eの2製品です。

Intel 9シリーズチップセットを採用したマザーボードにおけるPCIe SSDのサポートは、現状、大きく2つあります。1つは、OROM非搭載のPCIe SSDを起動するためのAHCI対応のOROMをマザーボードが搭載しているケース。もう1つが、Intelが9シリーズチップセットで行ったPCIe SSD対応機能を利用する方法です。

前者のOROM搭載による対応は、SAMSUNG XP941のようなOROM非搭載のPCIe SSDを従来のSATA接続のSSDやHDDと同じように利用できる点が特徴です。また、接続方法も柔軟で、マザーボード搭載のM.2スロットにPCIe SSDを接続して利用できるほか、M.2->PCIe変換ボードを利用してPCIe SSDを接続しても問題なく利用できます。もちろん、UEFIブートも利用でき、従来のBIOSブート(Legacyブート)も利用できます。

ドライバーは、Windowsに標準搭載されているインボックスドライバーが利用されます。Intelチップセットを搭載しているマザーボードでもIntel製ドライバーを利用することはできません。このタイプのマザーボードとしては、ASRockのZ97 Extreme6があり、おそらく、Intel 9シリーズチップセットを搭載したASRock製マザーボードは、すべてこのサポートが有効になっていると推測されます。また、某社の雑誌でもでているように、MSI製マザーボードでもこのサポートが有効になっているようです。

後者のIntelが9シリーズで行ったPCIe SSDサポート機能は、ある意味、限定的なサポートです。OS起動が行えるのは、チップセット側のPCIeに接続された「M.2スロット」のみで、UEFIブートのみのサポートです。M.2→PCIe変換ボードを使って、チップセット側のPCIeに接続されたPCIeの拡張スロットにPCIe SSDを接続しても動作しません。また、ドライバーは、Intel RST Ver13以降が必要です。Windowsの標準ドライバーやVer13以前のドライバーでは利用できません。

この機能を利用するには、マザーボードのUEFIセットアップ画面を起動し、SATAの動作モードCSM(Compatibility Supported Module)の設定を変更する必要もあります。 Windows 8.1の場合は、SATAの動作モードを「RAID」に設定し、CSMを「オフ」または「UEFI First」「UEFI Only」などとにかくUEFI優先または専用に設定してしまえば、OS起動を行えました。

だだし、Windows 7は、Windows 8.1用の設定ではOSをインストールできない場合があるので注意してください。たとえば、GigabyteのZ97 Gaming 7の場合は、Windows 8 Featuresの設定を「OtherOS」に設定し、その他の項目をUEFI優先または専用にしないとWindows 7をインストールできませんでした。また、ASUSのマザーボードには、Secure Boot menuという設定項目があり、そこに「OS Type」の設定があります。おそらくこの設定を「OtherOS」に変更しないとWindows 7をインストールできないと思います。MSIにも、「Windows 8/8.1 Configuration」という設定項目があるので、ここの設定を「Disable」等に設定しないとWindows 7のインストールが行えないと思います。

Windows 7の場合は、設定が間違っているとそもそもOSのインストールが行えなかったり、OSインストーラーの起動に失敗するなどの症状がでることを確認しています。CSM関連(SecureBootを含む)の設定は、前述したようにメーカーによって異なります。Windows 7をインストールするときは、トライアンドエラーでどう設定すると動作するかを探してもらえればと思います。

Intelが行っている9シリーズチップセットのPCIe SSDサポート機能は、 どちからというとノートPC向けのサポートのように個人的には感じています。この方法であれば、ASRockのZ97 Extreme6のようにOROMをUEFI内に搭載しなくてもIntel 9シリーズチップセットの機能のみでPCIe SSDからOS起動が行える点は確かにメリットです。しかし、チップセット側のPCIeに接続されたM.2スロットのみの利用に制限されてしまいXP941のようにPCIe x4接続の製品の場合、現状ではPCIe x2に速度が制限されてしまう点はデメリットです。また、M.2->PCIe変換ボードを利用してCPU側のPCIeで利用するといったこともできません。ノートPCなどではこれでも良いかもしれませんが、自作の世界では、自由度が低すぎるように感じます。 しかも、SATA接続のドライブの場合は、OSのインストールも簡単でしたが、Intel 9シリーズチップセットのPCIe SSDサポート機能は、特にWindows 7ではきちんとした設定が必要になります(Windows 8.1なら簡単ですけど)。

Intelは、V13.1以降のドライバーで、NVMeのサポートを行なうことを公表しています。NVMeは、Windows 8.1で標準サポートされていますが、Windows 7ではサポートされていません。NVMe対応ドライブをIntel製ドライバーで利用する場合、今回のようにSATAの動作モードを「RAID」に設定してということがまた必要になるのかもしれません。

2014年4月20日日曜日

SSHD向け新機能「Hybrid Information」とは

SSDは、相変わらずの人気ですが、その影でSSHDも着実に進化しています。
今回は、SATA Rev3.2で規格化されつつ、あまり話題に上がっていないSSHD向けの新機能「Hybrid Information」について説明したいと思います。現在入手可能なSSHDは、まだ、この機能に対応していませんが、キャッシュに利用するNANDメモリの容量を増加させた次世代のSSHDは、ここで解説するHybrid Information対応に対応していると推測されます。

Hybrid Informationは、不揮発メモリ(NANDメモリ)をキャッシュに利用するHDD(SSHD)向けの新機能です。現在入手可能なSSHDは、NANDメモリ内にキャッシュしておくデータをSSHD自体が管理していますが、Hybrid Informationでは、NANDメモリにキャッシュするデータの管理をOS(ホスト)側で行えます。管理は、論理アドレス単位で行え、OS(ホスト)が、コマンドでこの論理アドレスをキャッシュしてねと、SSHDにコマンドを送ると、その論理アドレスが、NANDメモリにキャッシュされるという感じです。また、キャッシュする論理アドレスは、優先順位をつけることもでき、キャッシュから取り除くコマンドも準備されています。これによって、OS(ホスト)が望むデータをNANDメモリにキャッシュできるようにしています。

ちなみに、SSHD本体がNANDメモリのキャッシュ管理を行なうことを「セルフコントロールモード」。ホスト側が管理することを「ホストコントロールモード」と呼ぶようです。Hybrid Information対応SSHDは、Hybrid Informationがオフのときは、セルフコントロールモードでキャッシュを管理し、Hybrid Informationがオンに設定されると、ホストコントロールモードでキャッシュを管理するようです。Hybrid Informationのオン/オフは、ATAコマンドによって切り替えることができます。

Hybrid Information対応SSHDでは、「Device Sleep(通称、DEVSLP)」にも対応することが推奨されています。DEVSLPは、SATAのPHYの電源をオフにすることで、デバイス(SSDやSSHD)の消費電力をほぼ「0」にする機能です。SATA LPMでは、PHYを省電力状態にするだけでしたが、DEVSLPでは、SATA LPMをもう一歩進めてPHYの電源を完全にオフにする点が異なります。

また、DEVSLPでは、PHYの電源をオフにするため、SATA LPMのようにPHYを使ってデバイスを省電力状態から叩き起こすことができません。そのため、デバイスを復帰させるための信号線を別途準備する必要があります。この信号線は、Intel 8シリーズ以降のチップセットが対応しています。

DEVSLPは、通常の利用状態では使用されません。この機能は、Windows 8以降で実装されたInstantGOを実現するための必須機能です。つまり、InstantGOを使わない限り、不要な機能と考えることもできます。また、Hybrid Information対応のSSHDでこの機能の実装を推奨しているということは、将来的には、InstantGOの環境でSSHDを使うことを想定しているのだと思います。

Hybrid Information対応のSSHDに搭載されるNANDメモリの容量は、24GB~32GBと言われています。これだけの容量があれば、OS起動に必要なファイルをすべてキャッシュに置くこともできるので、そういう使い方もアリなのかもしれません。

Hybrid Informationは、すでにWindows 8.1が対応済みです。対応SSHDさえ登場すれば、すぐにでも利用できる環境が整っています。

2014年3月31日月曜日

Plextor PX-M6e(PCIe M.2 SSD)

数カ月ぶりの更新になります。長期間の放置プレー申し訳ございません。
手元には、レビューでも書こうと思って購入した、東芝のSSD(Q ProとHG6)やSSHD、SeagateのSSD 600などもありますが、今回は、興味がある方が多いと思われるPlextorの新製品「PX-M6e」のレビューを簡単に書きたいと思います。購入したのは、256GBモデルの「PX-AG256M6e」です。

PX-M6eは、コンシューマ向け初のPCI Expressネイティブ接続のSSDである点が最大の特徴です。PCとの接続インターフェースは、PCI Express 2.0 x2を採用。PX-M6eそのものは、M.2のType2280-B-MのデュアルスロットモジュールのSSDですが、M.2-PCI Express変換カード上にPX-M6eを搭載した形で販売されています。また、KeyBとKeyMのデュアルスロットモジュールなので、KeyB(PCI E x2)およびKeyM(PCI E x4)のM.2カードスロットで利用できます。

このため、ノートPCの場合でも、PCI Expressの信号線をきちんと結線しているKeyBおよびKeyMのM.2カードスロットなら動作すると思います(SATA接続のM.2のSSDが刺さっているスロットは、SATA専用の可能性も十分ありますが)。

PX-M6eで特筆しておきたい点としては、PCI Expressネイティブ接続のSSDでありながら、OSの起動をサポートしていることです。SATA Expressの記事を書いたときにも触れましたが、本製品のようなPCI Expressネイティブ接続のSSDでOSの起動をサポートするには、「BootROM(OptionROM)」が必要です。PX-M6eでは、PX-M6e本体にBootROMを搭載することで、OS起動に対応していました。イメージとしては、PCI Express接続のSATAカードなどと同じです。


この製品に搭載されているMarvell製コントローラー「88SS9183」のスペックは、公開されていないので詳細はわかりませんが、88SS9183は、BootROMの搭載をサポートしているのでしょう。この方法なら、どのPCでもほぼ確実にOSの起動が行えます。また、ROMを拡張すれば、2枚刺しでRAID0で使うといったことも理論上は可能なはずです。

PX-M6eの性能ですが、びっくりするほどではありません。たしかに、SATA 6Gの性能は超えていますが、それもシーケンシャル性能と128KBのランダムライトのみです。それ以外は、若干性能が向上したかなという程度です。また、PC Mark 8のHDDテストのスコアは、5000強でした。このスコアは、Intel SSD 730シリーズより若干良いかなぐらいです。


ベンチマーク結果を見る限りでは、コントローラーの処理能力が若干足りない(サチっている)感があるようにも思えます。というのも、SAMSUNGの製品では、256GBモデルでライトが750MB前後ぐらいはでていました。SAMSUNGの製品の場合、NANDは64GbitのMLCです。PX-M6eも同じ64GbitのMLCなのですが、シーケンシャル書き込みが600MB/sec弱にとどまっています。読み出しに関しても、PCI Express 2.0 x2で接続するなら、900MB/secぐらいでても不思議ではありませんが、それもでていません。

SAMSUNGのMLC NANDのダイ当たりの速度は、PX-M6eが採用している東芝のMLC NANDと同じぐらいの速度(25MB/sec)だったと記憶しております。このため、PX-M6eでも理論上は、同程度の書き込み速度がでても不思議ではありません。しかし、PX-M6eの256GBモデルの場合、その速度に達していません。考えられる原因は、コントローラーの処理能力不足と消費電力の問題で速度を抑えたかのいずれかではないかと思います。

今後、登場するPCI Expressネイティブ接続のSSDが、PX-M6eのようにBootROMを搭載しているかどうかはわかりません。個人的には、このような仕組みを使わなくても起動できるようにするのが本筋のような気がします。しかし、この仕組なら多くのユーザーが、OS起動を行えるというメリットがあるのも事実です。

なお、PX-M6eですが、Windows環境からはSecureEraseを行うことはできませんでした。SATA接続のSSDと同じようにスリープに入れて、復帰を行ってもSecurity Lockを解除できません。Linuxを使っているParted Magicでは、最初からSecurity Lockがかかっていません。Secure Eraseを行う場合は、Parted Magicを使うと良いと思います。