K75thunderbirdのブログスマートフォン用の表示で見るK75thunderbirdのブログどちらかというと自分の頭の整理用です。ネタとしてはモバイル、自動車、ロードバイク、電気関係やPC関係の突っ込んだ話題、ややデバイスやコンポーネント寄りの偏った内容になると思われます。この広告は、90日以上更新していないブログに表示しています。以前GXB260というHIDバーナーについて書いたことがある。理屈は明確ではないが、純正と比較して暗いのは間違いないらしい、という結論に至ったアレである。去年、このGXB260がモデルチェンジしていたことを知ったので、それについて少し書いておきたい。モデルチェンジして何が変わったか。カタログ上は明るくなった、らしい。3300lmだった光束が3400lmに。数割変化しても知覚上は大差ないので、この違いを認識することは不可能と思われる。それとは別に気になったことがある。演色性(Ra値)が公表されていないことだ。CARMATEはRa値をパッケージに記載していた。GXB260は、それが92となっていた。モデルチェンジして数値の表記がなくなっている。マーケティング上、不要であると判断されたのか。記載しなくても影響が小さいと判断されたのか。どちらにせよ、一般消費者はそこまで気にしていないという判断が下ったのだと思われる。この演色性、前にも書いたと思うが、値が高いほど自然に見えるという参考値だ。明るく見えるわけではない。よって、記載していないということは、演色性を落として光束の確保を優先した可能性が考えられる。100lm程度なら誤差とも言えるので、単なるコストダウンの可能性もあるわけだが。それでは皆さん、ごきげんよう。CPU何年か前に作成したPCを不満なく使用していたものの、Windows7のサポート期限が見えてきたり、AMDの頑張りで自作PC界隈が久しぶりに賑わっていることもあり、次のPCを作るための情報を集めてみた。数年経ったら浦島太郎。昔はチップセットのブロック図まで把握していたものだが、最近はそこまで気合を入れていなかったこともあり、知っているようで知らない単語がポツポツと。知っているけど定義があやふやなものも、ちらほらと。そんなわけで、今回はPC関連の調べものをしてみたメモである。Core2Duo世代以前は放置。一応、軽く脳内を整理すると0.35μmのPen2から0.25のPen2になり450MHzまで、エントリー向けは0.25の300Aが人気を博して大盛り上がり。その後Pen3が500くらいまで出てから0.18へ。L2外付けから内蔵の世代に突入。CoppermineコアでAMDと鍔迫り合いして1.13GHzまで駆け上がるも、発熱とエラーとか諸々の事情で製品取り下げ。並行してPen4が出るもチップセットとメモリで右往左往し、クロックだけは2.0GHzまで。共に0.13にスイッチし、Pen3は1.4GHzまで上がるも製品終了。Pen4は最も勢いに乗り、1.6GHzあたりから3.4GHzまでカバー。AMDがK8を出してきて大慌て、2ダイ1パッケージの爆熱伝説。救いとなるはずだった90nmは電流ダダ漏れでまさかの不発弾どころか大地雷、クロックは3.8GHzくらいで発熱に敗北、次世代の設計図を破棄。イスラエルの優秀な頭脳が作ったBaniasコアに助けを求め、Coreシリーズへ。その後、スイートスポットの2.4GHz近辺を中心に6600フィーバー。クアッドコアの時代到来。65nmにスイッチして徐々にクロックも上がりつつ、次のアーキテクチャを模索。その後、iシリーズが出てきて今に至る。いうことで、このiシリーズ辺りから情報収集。情報を漁っていて分かりにくかったのがPCIeのレーン数と世代。16レーン、20レーン、24レーンといった数値と、Gen2や3といった世代に関する情報がイマイチ整理されていない。情報をまとめてみれば特に複雑でもなんでもない。結局のところ、メインストリーム向けのCPUでは、GPU向けに16レーンのPCIeバスが確保されており、これは不変だ。CPUからのネイティブPCIeバスだ。CPUからチップセットへのシステムバスは、DMIと呼ばれるものが使用されている。完全にイコールではないものの、同じだと考えて問題ない。チップセットから20レーン前後のPCIeバスが(最新のチップセットであれば)出ている。ここに各種コントローラーやGPU以外のデバイスが接続されることになる。Kabylakeでレーン数が20から24に増えた、などと書かれているのは、DMIの先のチップセット側の話であって、CPU側は何も変更されていない。16レーン+DMI(実質4レーン)のままである。ここまで読んでお気づきのとおり、チップセットには4レーンしか割り当てられていないのに、チップセットの先には5倍も6倍ものレーン数がある。帯域としては全く釣り合っていない。全デバイスが同時にCPUにアクセスすることはないという前提条件で設計されているのだろう。PCIeやDMIの世代について。GPU向けのPCIeはIveBridgeでGen3.0になり、以降変わっていない。DMIはSkylake(6世代の1xxチップセット)でGen3.0になり、以降変わっていない。GPU向けは早々に3.0化したものの、チップセット側の対応は随分と遅れたことになる。次に、PCIeやDMIの速度について。PCIeは1レーンあたり(片方向)の速度がGen1.0で2.5Gbps、2.0で5Gbps、3.0で8Gbpsである。符号化により実際の転送レートは多少低い値となる。Gen2.0までは「8b/10b」なので8割となる。よって、転送レートはGen1.0で2Gbps、2.0で4Gbpsである。Gen3.0の符号化は「128b/130b」なので、8*128/130=7.8769230769230769230769230769231Gbps・・・である。面倒なので、8Gbps弱と考えておけばよいだろう。DMIは4レーン使用しているので、Gen2.0なら片方向16Gbps(2.0GB/s)となる。したがって、チップセット側に16Gbpsを超える速度のSSDを接続しても性能が発揮できない。現行のNVME版SSDの帯域はPCIeGen3.0x4なので、DMI3.0採用の裏にはNVME版SSDの存在があったことは想像に難くない。いえ前述のとおり、DMI3.0であっても決して十分な帯域であるとは言い難い。m.2スロットを2つ以上搭載したM/Bが増えているため、DMIの帯域が再び問題視されるのは時間の問題だろう。して見てみると、レーン数だけは十分にあるように見えるPCIeも、意外と制約が多いことに気づかされる。速度だけ考えれば、GPU向けのCPUネイティブなPCIeバスを使用するのが近道である。GPUの性能への影響や、CPU側のレーン分割の制約、さらにM/Bの設計上の制約などもあり、簡単ではない。このような悩みを軽減できるのが、X299チップセットやX99チップセットだ。X299については現時点で興味がない(高すぎる)ので置いておいて、X99(というかLGA2011-v3プラットフォーム)について触れてみる。このプラットフォームでは、6コア以下は28レーンしかないが、8コア以上は40レーンを使用可能だ。16レーンだのDMI3.0だの悩んでいたのが馬鹿らしく思える広帯域である。M/B設計上の制約はついて回るものの、使用上の自由度やポテンシャルは遥かに高い。欠点があるとすれば、X99そのものはDMI2.0接続であるので、チップセットから先の部分に接続されたデバイスに関しては速度的に期待しない方が良い、ということくらいだろうか。チップセットから出ているレーン数は8しかない。この辺りは設計の古さが隠せない。いえ、使用時に「X99はDMI2.0接続で、帯域は片方向16Gbps(2.0GB/s)」ということを把握して使えば、それほど問題が生じることはないはずだ。ドライブ間のデーターコピーなどであればDMAなので、ほぼ処理はチップセット内で完結する。DMAであればDMIの速度は関係ない・・・はずだ。影響するのはコントローラーが接続されているPCIeの世代とレーン数の方であろう。符号化の話が出たので、ついでに参考値を記す。SATA6.0Gbpsは、符号化(8b/10b)を除けば転送レート4.8Gbps(600MB/s)USB3.0は5Gbps、符号化(8b/10b)を除けば転送レート4.0Gbps(500MB/s)USB3.1(Gen2)は10Gbps、符号化は「128b/132b」なので、9.6969Gbps(1212MB/s)というわけで、昨今のCPUやチップセットに関する情報を整理してみた。それでは皆さん、ごきげんよう。NANDNVMeタイプのSSDで発熱と戦っている方々、いかがお過ごしだろうか。冬になって、ほっと一息ついているのではないだろうか。そんなわけで、今日は放熱について。放熱と言えばヒートシンク、ヒートパイプ、はては水冷から液冷からガス冷まで様々あるが、今回はもっとも単純で簡単なヒートシンクに限定したい。ヒートシンクの素材にはアルミ、あるいは銅が使用されるが、違いは重量だけではない。銅の方が熱伝導率は良いのだが、アルミの方が自己放熱性が良い。そのため、パッシブヒートシンクや風量の少ない状態ではアルミの方が放熱性能が高かったりする。これに関しては、SSDに装着するヒートシンクの比較記事で、同じサイズに切ったアルミ板と銅板ではアルミの方が低温だったという結果が出ている。記事はエルミタージュだったと思う。熱伝導率に優れる銅であっても、風がなければ性能を発揮できない例である。余談だが、自動車のラジエータもアルミ製と銅製(黄銅だったはず)がある。通常はアルミ製だが、社外品のアフターパーツではアルミ製ではないものもあるのだ。これに関しては、走行時の性能は後者が高く、渋滞時は前者が高い、という話も聞いたことがある。これも素材の性質を裏付けるものと言えよう。余談だが、普通のアルマイトとブラックアルマイトで性能差はあるのか?という話を思い出した。ヒートシンクの雄であるアルファのページで読んだ記憶があるが、これはブラックアルマイトだそうだ。周囲の熱源から赤外線で熱を吸収しない環境にあることが条件だとか。なんとも面白い話である。はては、ファンはヒートシンクに対して吹き付けるのが良いのか、吸い出すのが良いのか、といった話もあるが、それは脱線しすぎるので置いておくことにする。自己放熱性に優れるアルミ製のヒートシンクであるが、同じアルミ製であるなら性能差はどこから生じるのだろうか。複雑な形状による表面積の拡大は当然だが、一連のSSD用ヒートシンクのテストを見ていると、ヒートシンクの重量が重要であるように思える。変換ボードを使って高い冷却性能を発揮している有名な製品として、KryoM.2がある。ちなみに日本語でどのように発音するかは不明である。くりょー?それはさて置き、この製品はそれほど複雑な形状のヒートシンクではない。隣のスロットとの干渉を避けるため溝も浅い。テストしてみれば圧倒的な冷却性能を示す。これに対して、変換ボードを使わないSSDサイズのヒートシンクの場合、縦方向に拡大して表面積を大きくした製品であってもKryoには及ばない。接触面が熱伝導両面テープとシリコンの違いなのか?とも思ったが、そこまで相関性があるようにも見えない。そのため、最大の違いはヒートシンクの重量ではないか、と思う。NVMeとはいえSSDが発する熱量はそれほど大きなものではない。単体のヒートシンクとKryoのヒートシンクでは重量に何倍もの違いがある。ヒートシンクの熱容量が増えれば、吸熱できる量も増える。熱伝達速度の問題もあるので、やみくもに表面積を増やしても実際に使用される面積は少ないのだろう。熱源に対して、その熱量に見合った分の吸熱素材が、妥当な熱伝達の範囲内に十分な質量を持って存在していることが重要だと考えられる。それにより、安定した冷却性能を獲得しているのだと考えるのが自然だ。あれば、単体のヒートシンクも肉厚で重量化すれば性能を上げられると思うのだが、マザーボードに直接実装する関係上、製品のサイズには制限がある。重量の増加によって使用中に脱落する危険も増す。危険回避のためには確実に固定しなければならないが、実装上難しい。そのようなわけで、簡単にヒートシンクを追加して得られる冷却性能は、それなりのものでしかない。高い放熱性能を得たいのであれば、少しでも重たいヒートシンクを選ぶというのは判断基準としてはアリだろう。確実に固定できれば、という但し書きつきで。個人的には、過去のCPUクーラーを加工して格安かつ激冷を実現できないかと考えていたりするのだが、固定方法を確立できないのが最大のネックだ。ことPen4世代のCPUクーラーにSSDを2個並べて貼り付ければ相当強力に冷却できるはずだが、NVMeのSSDを2つ並べて使用できるマザーがなければ無理な話である上に、固定する方法を考えつかない。ヒートシンクを見ているとゴムバンド(シリコンバンド)でSSDと束ねるような固定方法もあるが、耐久性はともかく見た目が悪い。テープで固定するような製品は簡単に浮きそうで怖い。ここはパッシブヒートシンクを諦めてファンを使用すべきなのかもしれないが、NVMeなSSDは幅22mmしかない。マザーボードとの干渉も考えると、それほど大きなファンは使用できない。そのようなわけで、マザーボードに直接実装する場合はあまり効果的な冷却方法がない。「何もしないよりマシ」と考えるしかないのかもしれない。他に考えられるのは、PC内を負圧にしてサイドパネルからSSD周辺にダクトを作って風を当てる方法くらいだろうか。問題は、エアフローが変わる(乱れる)ことで、他の熱源への影響があること。数Wのために数十Wの熱源を無視することはできないので、難しいところだ。SSDの場所を風洞化して、そこにブレードサーバーのごとく横方向に風を通せば・・・とも思ったが、それこそM/B上でユーザーができる範疇の話ではない。アイディアだけはあるが、実現は難しい。結局のところ、お手軽冷却はそれなりの結果しか得られず、性能を求めるのであればPCI-Eのレーンとスロットを犠牲にして変換基板を使うしかない、という現状を裏付ける結論となった。物理特性に逆らうのは面倒であるということだ。取り留めの無い結論になってしまったが、こんなところで。それでは皆さん、ごきげんよう。SSD前回は、チップレベルの話について。今回は、それを制御するコントローラーの話に移る。最初に認識したいことは、NANDメモリは使いにくいメモリだ、ということだ。NANDメモリには書き換え回数に制限がある。書き換えるときはブロック単位で書き換えなければならない。HDDのようにセクター単位で書き換えることができないのだ。そのため、あるファイルに1bitの修正を加えただけで、そのファイルが書き込まれたブロックを読み出し、ブロック内を消去し、修正後の情報を書き込むという動作をしなければならない。限りある書き換え回数が必要以上に減ってしまう仕様、それがNANDメモリだ。そのブロックはどれくらいの単位なのか。手持ちのSSDで、予備ブロックと無効化された容量から計算したところ、512GBの製品で2MB、960GBの製品で4MBのようだ。製品の容量に応じてブロックの粒度は異なると思われる。参考までに、上の2製品はCrucialで、コントローラーはMarvellで、NANDはMLCである。NANDメモリの仕様は上に書いた通りなので、下手な使い方をすると頻繁に同じ場所を使用することで早期に寿命を迎えることは想像に難くない。そこで、コントローラーには「ウェアレベリング」という機能が搭載されている。名前のとおり、摩耗の平均化だ。3ステップが必要である。書き込む先として使用頻度の少ないブロックを優先的に使用し、書き換えが特定のブロックに集中しないようにするのが、この機能の目的だ。空き容量が少なくなってくると、ウェアレベリングに使用できる領域が減ってくる。極端な話、空き容量が数%といった状態で使用していると、書き換え対象のブロックを分散させることが難しくなり、どうしても特定のブロックを酷使することになる。NANDメモリは読み出しこそ高速なものの消去には時間がかかるため、空き容量が減少すると消去待ちの時間が表面化する。これの顕著な例が「プチフリ」である。このような時、消去に要する時間を隠蔽し、パフォーマンス低下を抑制するための手法が「オーバープロビジョニング領域」である。一定量の消去済みブロックを用意しておく、というもので、別名は余剰領域である。漢字の方が分かりやすいだろう、読んで字のとおりだ。ユーザーが使用できない領域を事前に確保しておけば、パフォーマンス低下を防ぐことができ、ウェアレベリングも行いやすい。容量が256や512や1024といった数値ではなく、240や480や960といった数値になっているSSDは、出荷時にオーバープロビジョニング領域として何GBか確保されていることになる。余談であるが、SSDにパーティションを作成する際に敢えて未使用領域を確保しておくという使い方も、同じ効果をもたらすようだ。ここで疑問には思うかもしれない。パーティションで区切ってしまえば、その領域は一生使われないままなのではないか?と。これに関しては全く問題とはならない。確かに、HDDのような媒体であれば論理アドレスと物理アドレスは一致しているため、一度パーティションを区切ってしまえば当該領域は物理的に未使用となる。これに対してSSDの場合は論理アドレスと物理アドレスが一致しない(参照テーブルはコントローラーだけが持つ)ため、PCから見て同じ場所であるとしても、物理的に同じ場所であり続けることはない。当該領域はウェアレベリングにより移動し続けることになるため、未使用領域が固定されることはない。NANDのチップレベルでの耐久性低下については前回書いたとおりだが、コントローラーも手をこまねいているわけではない。NANDの多値化に伴ってECCを強化し、仮にある程度までセルが劣化してエラーレートが増えたとしても問題なく使用できるようにしている。これにより、同じNANDを使用していてもSSDとしての耐久性を上げることができる・・・とされている。書き足りない点もあるが、脳内メモとしては以上としたい。Trimの話や、NVMeタイプの発熱の話、仮想SLCキャッシュの話、TLCの書き込み速度の話などについては、別途書くことにしたい。KryoM.2に関連した話も、少しだけあるかもしれない。それでは皆さん、ごきげんよう。SSDこのBlog開設から1年経ったというメールが届いた。大した内容は書いていないが、これからも脳内整理を兼ねて時々情報を書き留めておきたい。話は変わって、SSDだ。使っておられる方が大半かと思う。高速であり、耐衝撃性に優れ、低発熱で、非常に優秀なデバイスである。現在、速度はI/Fの限界に迫るものを獲得し、アプリの起動時間はすでにこれ以上短縮できないまでに飽和している。この点において登場当初から飛躍的な進歩を遂げたことは疑う余地がない。上に挙げたような特徴を本当に信じ続けて良いだろうか。今のSSDは昔のSSDと同じ扱いで良いのだろうか。SSDに使われているデバイスの観点から考えてみたい。SSDが一般的なデバイスになったのは、一つにはIntelが自社製品としてSSDを発売したことが大きかったのではないだろうか。当初、SSDと言えば「プチフリ」という単語に表されるように、安定性に欠けるデバイスである感が拭えなかった。