USB情報 バナー

なぜDRAMだけでは、もはやAIに追いつけないのか

fast compute slow data idle gpu wasted cost ai doesnt wait

AIシステムが実際にどう作られているのかを見始めると、多くの人がごく自然にたどり着く結論があります。そして正直に言えば、それは最初の印象としてはとてももっともらしく聞こえます。

もしNANDがワークロードの一部にとって遅すぎて、しかも先進的なフラッシュアーキテクチャであっても無視できない程度の遅延を持ち込むのだとしたら、答えはもっとDRAMを増やすことだと思えてきます。DRAMは昔から高速な層だったからです。アクティブなデータが置かれる場所であり、応答も速く、そして何十年もの間、プロセッサが何かの到着を待って遊んでしまわないようにするときに頼るべき領域でした。

だからこそ、「速度が問題なら、手元で一番速いものを増やせばいい」という発想は簡単に生まれます。

その理屈は、AIが登場してDRAMを本来想定していなかった役割へ押し込み始めるまでは、かなりうまく成立しているように見えます。問題は、DRAMが突然遅くなったとか、時代遅れになったとか、以前より役に立たなくなったということではありません。問題は、AIワークロードがDRAMに対して、単なるcomputeとストレージの間の高速な作業層以上のことを求めている点にあります。

この変化の背景にある大きな流れについては、まずこのメインのピラー記事につながっています。NANDはなくならないが、AIサーバーはもはやフラッシュだけに依存していない です。

DRAMは速度のために作られたのであって、システム全体を背負うためではない

まず理解しておきたいのは、DRAMは昔から速度と応答性を中心に最適化されてきたのであって、大量のデータを大規模に抱え込むことを主目的にしていたわけではないということです。従来のコンピューティングでは、この違いが問題になることはほとんどありませんでした。多くのワークロードでは、アクティブなデータと保存データのあいだに比較的きれいな分離があったからです。システムはすぐ必要なものをメモリに置き、残りは必要に応じてストレージから引き出し、その受け渡しはたいていうまく機能していたので、深く意識されることもあまりありませんでした。

AIはそのバランスをかなり劇的に変えてしまいます。小さめのアクティブデータを処理して先へ進むのではなく、AIモデルは大規模データセットを何度も参照し、情報を並列に動かし、しかもワーキングセットのずっと大きな部分を長時間にわたってcompute層のすぐ届く範囲に置いておこうとします。つまり、DRAMはもはや現在のタスクだけを保持していればよい存在ではありません。システムが常に近くに置いておきたがる、巨大で絶えず変化するデータのかたまりを支える役目まで担わされているのです。

これはまったく別の仕事です。

そして、だからこそDRAMの上や周辺にある技術がより重要になってきました。以前の記事である High Bandwidth Memory(HBM)とは何か、そしてなぜAIはこれに依存しているのか では、GPUが空腹にならないように、より少量の重要データをプロセッサの極めて近くへ置くことに焦点がありました。あの記事は「近さが重要だ」という点を示していますが、同時に次の問題も静かに浮かび上がらせています。ワーキングセットがその直近の層を超えて広がった瞬間、システムは残りすべてをどこに置くのかを決めなければならないからです。

最初の壁はコストであり、それはすぐに現れる

「DRAMを足せばいい」という考え方が好まれやすい理由のひとつは、それがすっきりしていて直接的に聞こえるからです。けれども現実には、これはあっという間に高コストになります。DRAMの価格感はNANDとはまったく違いますし、AI領域までシステムをスケールさせ始めると、単にサーバーへ少しだけメモリを増設する話では済みません。数百ギガバイト、場合によってはそれ以上を、複数のノード、ラック、クラスター全体にわたって扱うことになります。

そうなると、DRAMは性能向上のためのアップグレードというより、インフラ上の負担のように見え始めます。コスト曲線は緩やかには上がりません。かなり急な角度で上がっていくため、あらゆるデータ局所性の問題をDRAMだけで解決しようという発想は、その経済性そのものによって崩れ始めます。

メモリスタックが単純化するのではなく、むしろ深くなっている理由のひとつはそこにあります。業界がDRAMから離れつつあるのは、DRAMの価値が失われたからではありません。AI規模のレイテンシに敏感なあらゆる問題に対して、DRAMだけが答えになり得るという前提から離れつつあるのです。

次の壁は電力であり、この問題は眠らない

仮にコストを正当化しやすかったとしても、DRAMにはシステムがある程度の規模を超えると無視できなくなる別の問題があります。それが電力です。DRAMは状態を保持するために、常に通電されていなければなりません。これは技術の性質そのものです。つまり追加すればするほど、そこにデータを置いて待機させるだけで、システムはより多くのエネルギーを消費することになります。

小規模な環境なら、そのオーバーヘッドは受け入れられるように感じられるかもしれません。しかし高密度で継続稼働するAIシステムでは、それが大きな運用上の問題へと変わります。DRAMが増えるほど、消費電力は増え、発熱は増え、冷却負荷は増し、プラットフォーム全体の設計にもより強い圧力がかかります。すると判断基準は単なるメモリ容量ではなくなります。熱設計上の限界、データセンター効率、そしてこれほど大量のアクティブメモリを24時間365日生かし続けるコストを支えられるのか、という話になってくるのです。

ここで中間層の役割がより納得しやすくなってきます。前回の ストレージクラスメモリ解説:DRAMとNANDの間にある欠けた層 では、DRAMを置き換えるのではなく、より多くのデータをcomputeの近くに残しながらも、すべてを最も高価で電力を食う層へ押し込まないようにすることで、DRAMへの圧力を和らげるという考え方が語られていました。

さらに、近接性には物理的な現実がある

AIシステムでDRAMが無限にはうまくスケールしない理由はもうひとつあります。それは予算というより物理に関係しています。DRAMが価値を持つ理由のひとつは、プロセッサに比較的近い位置に置けることです。メモリがcomputeに近いほど、一般にレイテンシは低くなり、システム全体の反応も良くなります。しかし、その「近さ」は何の代償もなく永遠に拡張できるものではありません。

CPUやGPUの近くに置けるメモリ量には物理的な限界があります。配置の複雑さ、配線長、信号品質、パッケージング制約が、ある地点を超えると逆に不利に働き始めるからです。高度なメモリパッケージングが登場したのは、まさにこのためです。HBMが存在するのは、従来のDRAM配置には限界があるからです。そしてcompute側が十分に高速になると、それまで以上に距離や経路が効いてくるようになります。

とはいえ、HBMも容量面での完全な答えではありません。驚異的な帯域幅はありますが、無限の容量があるわけではないからです。そのためシステムは、極めて近くに置けるものと、離れた場所へ置かざるを得ないものとの間で、常にバランスを取ることになります。AIワークロードは、その綱渡りを従来システムよりはるかに強く引き伸ばしているのです。

AIは小さな遅延すら高くつかせる

AIインフラの興味深い点のひとつは、従来のワークロードではほとんど隠れていた非効率を露わにしてしまうことです。より伝統的なシステムであれば、データアクセスのわずかな遅れはそれほど大きな意味を持たないかもしれません。プロセッサが少し待ち、タスクが少し遅れて終わり、ユーザーは何も気づかない。それで済みます。ところがAIシステムは、非常に大きな並列性で動作し、しかもcompute層そのものに莫大なコストがかかっているため、そうした遅れに対してずっと厳しいのです。

GPUが必要なタイミングでデータを受け取れなければ、それは単なる技術的な煩わしさではありません。高価なアイドル時間です。それが並列に動く多数のアクセラレータ全体に広がれば、ごく小さな遅延であっても、実際の利用効率の損失として表れてきます。

すると目標そのものが変わります。目指すのは単に「速いメモリを持つこと」ではありません。システムの中で最も高価な部分を常に忙しくしておけるだけの規模で、データ供給を一貫して維持することです。これはずっと難しい要求であり、だからこそAIインフラがある程度を超えて大きくなると、DRAMだけでは足りなく見えてくるのです。

ai warehouse analogy data flow memory hierarchy dram bottleneck loading dock

倉庫のたとえは今でも有効だ – ただし規模が大きくなっただけだ

これまでの記事と同じ倉庫のたとえを使い続けるなら、DRAMは今でも荷捌き場です。アクティブな仕事が行われ、荷物が開けられ、仕分けられ、すぐ使える状態へ移される場所です。長い間、このモデルはうまく機能していました。荷捌き場での活動量が管理可能で、システムもすべてを同時にそこへ並べておくことを要求していなかったからです。

AIはその運用規模を変えてしまいます。今や荷捌き場は、ほぼ絶え間ない物量の流れを支えなければならず、はるかに多くの処理が並列に進み、しかも遅延への許容度はずっと低くなっています。どれほど優れた荷捌き場であっても、ある地点を超えるとただ広げ続けることはできません。効率よく処理できる並列動作の数にも、置ける在庫にも、物理的なスペースにも限界があり、その先ではレイアウトそのものが問題の一部になってしまいます。

だから答えは、荷捌き場を無限に大きくすることではありません。答えは、その周囲のワークフロー自体を作り直すことです。

そこで初めて、メモリ階層のほかの層が意味を持ち始めます。HBMは最も時間に敏感なデータをプロセッサのすぐ隣に置きます。ストレージクラスメモリは、アクティブメモリとより遅いストレージの間の遷移を滑らかにします。そして、より新しい記事である フラッシュメモリはすべてを保存する – ただし、自分自身の歴史を除いて では、ストレージ側もまた、より賢くシステムへデータを供給できるように再設計されつつあることへ焦点が移っています。

それらの層は、DRAMが失敗したから存在しているわけではありません。AIが、「1つの高速な層だけで全ワークロードを支えられる」という考え方をすでに超えてしまったから存在しているのです。

これはAIメモリスタックにとって実際には何を意味するのか

ここで本当に重要なのは、DRAMが消えていくという話ではありません。そんなことは明らかに起きていません。DRAMは今でもスタック全体の中で最も重要な要素のひとつです。変わっているのは、その役割です。あらゆるアクティブデータが住むべき場所である、という立場から、最も緊急性が高く時間に敏感なデータが住む場所へと役割が変わりつつあり、規模、コスト、容量の増大する負担はほかの層が受け持つようになっています。

これは微妙な変化ですが、とても重要な変化です。つまりAIインフラは、以前の「メモリはこちら、ストレージはあちら」という単純な二層モデルから離れ、それぞれの技術が最も向いている部分のワークロードを担う、もっと複雑で繊細な構造へ移行しているということです。

簡単に言えば、DRAMは依然として不可欠ですが、それだけではもう足りません。AIはワーキングセットの大きさ、computeの速度、遅延のコスト、そしてすべてを近くに置いておくことの経済性を変えてしまいました。それらすべてが同時に変わった以上、メモリ階層もそれに合わせて変わらなければならないのです。

この先に何が来るのか

DRAMが、AIがcomputeの近くに置いておきたいすべてを抱え込めるほどには伸びないと受け入れた瞬間、次の問いはかなり明確になります。その残りのデータは実際にはどこに置かれるのか。しかも扱う情報量が、メモリ内に保持しておくにはあまりにも大きすぎる場合はなおさらです。

そこで議論は再び方向を変え、多くの人がすでに脇へ押しやられたと思っている技術が、驚くほど重要な形で再登場します。DRAMが規模の壁に苦しみ、フラッシュもまた独自のコストとレイテンシのトレードオフを抱えている一方で、ハードドライブは依然として、スタックのほかの部分では簡単に置き換えられないものを提供しているからです。それは、膨大なボリュームに対する実用的な容量です。

そして、まさにその理由から、このシリーズの次回では、なぜハードドライブが今でもAIインフラにとって重要なのかを見ていく必要があります。

著者について
この記事は、USB技術、フラッシュメモリの挙動、データストレージシステムにおいて20年以上の経験を持つ、GetUSB.infoの長年の寄稿者 Greg Morris の指揮のもとで作成されました。ここで示されている視点は、実際の業界経験に根ざした知見と、AIインフラを含む進化するワークロードの中で現実のシステムがどう振る舞うかについての継続的な分析を反映したものです。

この記事の作成方法
この記事の概念、構成、技術的な方向性は、人間の専門家によって執筆・確認されました。AIツールは、複雑な考え方をより自然な流れの文章へ整理するために、リズム、流れ、読みやすさの補助として使われていますが、根本にある技術的な正確性や意図そのものは変えていません。

ビジュアルについて
この記事で使用している画像は、データフローのボトルネック、メモリ階層の挙動、システムレベルの非効率といった、従来のストックフォトでは表現しにくい概念を説明するために специально作成されたものです。これらのビジュアルは、技術的な説明を補強し、読者にとっての理解をより明確にすることを目的としています。

Continue Reading

USBメモリが400MB/秒で書き込めるのに、なお正確だなんて信じにくい理由

小さなセル、圧倒的な速度、それでも正確。これは魔法ではなく、エンジニアリングです。

usbメモリが毎秒400mbで書き込めるのに正確さを保てるなんて信じにくい理由

USBフラッシュドライブに「毎秒400MB」と書かれているのを見たとき、どこかで「そんなの本当なはずがない」と感じる瞬間があります。少なくとも、そんな速さでしかも正確に書き込めるはずがない、と。

速すぎるように思えるのです。きれいすぎるし、完璧すぎる。どこかで無理が出ているはずだ、と感じてしまいます。

その直感は間違っていません。ただ、それは私たちが現実世界の「速さ」をどう理解しているかに基づいているだけです。人が速く動けばミスが起きます。システムが急げば雑になります。だから「毎秒400MB」と聞くと、頭の中では静かに「たぶん何かを省いているんだろう」と変換してしまいます。

でも、フラッシュメモリは私たちが思っているような仕組みでは動いていません。

最初に理解しておきたいのはここです。USBメモリは、ひとつのデータの流れをものすごい速度で書き込んでいるわけではありません。もっと小さなデータのかたまりを、複数のメモリエリアにまたがって同時に書き込み、それぞれが並列に動いているのです。

つまり、ひとつの処理を限界まで速くしているのではなく、小さな処理が何十本も、それぞれとても制御された、無理のないペースで動いているわけです。外から見ると速く見えますが、内部では整理され、分散され、意図的に設計された動きになっています。

これを倉庫にたとえてみてください。

もしひとりの作業員が、毎秒400箱をトラックに積み込まなければならないとしたら、現場は大混乱になります。箱は落ちるし、ラベルは間違うし、積み忘れも出るでしょう。これが「毎秒400MB」と聞いたときに多くの人が思い浮かべるイメージです。

でも、実際に起きているのはそういうことではありません。

代わりに、40本のコンベヤーベルトがあり、それぞれのベルトに作業員がいて、1回に1箱ずつ置いていく場面を想像してください。箱は1つずつスキャンされ、確認され、正しい場所に置かれてから次へ進みます。誰も急いでいません。誰も手いっぱいではありません。それでも、すべてが同時に進んでいるので、全体の処理量は非常に大きくなります。

フラッシュメモリが、正確さを犠牲にせずに速度を出せるのは、まさにこういう仕組みだからです。

USBメモリの内部では、コントローラが交通整理役のような働きをしています。入ってきたデータをもっと小さな単位に分け、それを複数のNANDフラッシュメモリチップに分散して書き込みます。各チップは自分の担当分を独立して処理し、多くの場合ほかのチップと並列に動きます。このシステムは、1本の経路を限界以上まで押し込むのではなく、作業を掛け算のように増やすことで性能を伸ばすように設計されています。

そして、ここからさらに面白くなってきます。

フラッシュメモリは完璧ではない – だからこそ常に自分で修正している

見落としやすいのは、このプロセスがどれだけ絶え間なく行われているかという点です。フラッシュに書き込まれる小さなデータのかたまりは、どれも書き込まれた直後にチェックされ、必要なら修正されたうえで次に進みます。これは一度きりの安全策ではありません。すべてのメモリエリアで、しかも新しいデータがまだ書き込まれている最中にも、ずっと続いています。システムは常に、書き込み、検証し、調整することを並列で行っているのです。

多くの人が気づいていないのはこの部分で、でも実はこここそがシステム全体を成り立たせている要素です。

NANDフラッシュメモリそのものは、もともと完璧ではありません。物理的なレベルでいうと、データを保存するとは、非常に小さなセルに電荷を置くことを意味します。その電荷はわずかにずれることがあります。書き込み結果がほんの少し狙った位置から外れることもあります。小さなエラーは、単に起こりうるだけではなく、最初から起こる前提で考えられています。

だからこそ、このシステムはその現実を前提に作られています。

データが書き込まれるたびに、コントローラはその結果を確認します。もし何かが少しでもずれていれば、調整して再度書き込みます。実際のデータに加えて、エラー訂正専用の追加情報も一緒に保存されます。あとでデータを読み出すとき、コントローラはその追加情報を使って不整合を即座に検出し、その場で修正します。

物理レベルで見ると、NANDへの書き込みは一発の動作ではありません。短い連続動作です。コントローラは正確な電圧をかけてセルに電荷を保存し、その電荷が狙った場所に収まったかをすぐに確認し、もし違っていれば調整してもう一度試します。これはマイクロ秒単位で起きていて、データが正しく書き込まれるまで何度も繰り返されます。

あまりにも速いので、目で見て分かることはありません。でも実際には、ずっと起き続けています。

言い換えると、正確さは完璧さから生まれるのではありません。機械の速度で行われる、絶え間ない検証と修正から生まれるのです。

だからUSBメモリは、毎秒何百メガバイトという速度でデータを動かしながらも、データ整合性を保てるのです。闇雲に書き込んで、うまくいくことを願っているわけではありません。書き込み、確認し、修正し、そして一歩一歩を確定させながら進んでいます。

ですから、次に400MB/secのようなスペックを見たときは、その数字が本当は何を意味しているのかを少し違う見方で捉えると分かりやすくなります。

何かひとつが不可能な速さで動いているわけではありません。もっと小さな処理がたくさん連携して動く、調和の取れたシステムなのです。しかもそのすべてがチェックされ、エラーは起こるものだという前提で設計され、起きたらすぐに直されるようになっています。

フラッシュが速いのは、急いでいるからではありません。処理を増やしているからです。

この記事の作り方について

この記事は、USBフラッシュメモリ、NANDアーキテクチャ、そしてコントローラの低レベル動作に実際に関わってきた経験をもとに作成しました。目指したのは、よく誤解されがちな概念を、複雑にするのではなく、システムが実際にどう動いているのかをシンプルに伝えることでした。

この投稿で使っているカートゥーン風のラボイラストは、フラッシュメモリが1回の慌ただしい動作で動いているのではなく、並列処理と継続的な検証によって動いていることを視覚的に伝えるために意図的に作られたものです。画像自体はスタイライズされていますが、そこに表れているのは非常に現実的な工学原理です。つまり、多数の小さく制御された処理が同時に進み、それぞれが完了前に検証されているということです。

実際のところ、現代のフラッシュシステムが高速性とデータ精度を両立できるのは、まさにこの仕組みによるものです。このビジュアルは、その考え方をひと目でつかみやすくするためのものです。特に、仕組みを頭の中で絵として思い描けると理解しやすい読者に向けて作っています。

技術的な説明はすべて見直しを行い、NANDフラッシュメモリが実際の用途でどのように振る舞うかを正確に表すよう確認しています。

著者: Matt LeBoff – USBストレージシステムおよびデュプリケーション専門家

Continue Reading

High Bandwidth Flash:NANDはついにメモリのように振る舞えるのか?

high bandwidth flash can nand finally act like memory

AIインフラには、多くのシステムではまず表に出てこない限界を、はっきりあぶり出してしまうところがあります。

これまでの記事では、AIワークロード向けのHigh Bandwidth MemoryがどうやってGPUのすぐ近くにデータを置くのか、そしてDRAMとNANDの間にあるStorage Class Memoryが、アクティブメモリと従来型フラッシュストレージのあいだの溝をどう埋めるのかを見てきました。こうした層が存在するのは、システムが少しの待ち時間すら効率低下なしには受け入れられないからです。

ただ、業界が進もうとしている方向はそれだけではありません。そしてそこでは、まったく新しい種類のメモリを導入しようとしているわけでもありません。

むしろ、すでに存在しているもの、つまりNANDフラッシュを、本来想定されていなかった役割へ押し上げようとしているのです。

そこで出てくるのが、High Bandwidth Flashという考え方です。

NANDがもともと解くように作られていなかった問題

NANDフラッシュは、昔からひとつのシンプルな考え方を中心に設計されてきました。大量のデータを効率よく保存し、必要になったときに取り出すという考え方です。

たいていのワークロードでは、そのモデルで十分うまく機能します。データはストレージにあり、システムがそれを要求し、SSDが十分な速度で返してくれるので、ほとんどの人は遅延を意識しません。

AIワークロードは、その前提を変えてしまいます。

たまに読み書きが発生するのではなく、こうしたシステムは常に並列でデータを引き込み続けます。しかも多くの場合は何千ものスレッドをまたいで動いており、データ供給のばらつきに対する許容度はきわめて低いのです。ここで問題になるのは、単純な速度だけではありません。計算側をフルに動かし続けられるだけの、安定したデータの流れを維持できるかどうかです。

そこで従来型のNANDの振る舞いが、限界を見せ始めます。

高性能なNVMeドライブであっても、深いキューと高いスループットを備えていても、前提としているのはあくまでバースト的なアクセスです。メモリのように途切れず流れ続けるアクセスを前提にしたモデルではありません。

すると問いはこうなります。NANDをストレージとして扱うのをやめ、メモリシステムの一部のように扱い始めたら、何が起こるのか。

「High Bandwidth Flash」が実際に意味しているもの

High Bandwidth Flashは、正式な標準でもなければ、単一の製品カテゴリでもありません。

どちらかといえば、これはアーキテクチャの方向性として理解するほうが正確で、そこがHigh Bandwidth Memoryとの違いでもあります。

High Bandwidth Memoryは、あくまでメモリです。つまりDRAMであり、プロセッサのすぐ近くに置かれることで、きわめて高速なアクセスを実現するよう設計されています。HBMの本質は近接性と低遅延にあります。データをできるだけ計算の近くへ寄せ、ほとんど瞬時にアクセスできるようにすることが目的です。

一方、High Bandwidth Flashが解こうとしているのは別の問題です。NANDはシステムの中でより遠くにあり、遅延も高い、という前提を受け入れたうえで、その距離の不利を感じにくくするほど大量のデータを並列に動かすことへ重点を置いています。

シンプルに言えば、HBMはメモリを近づけることで速くする話です。High Bandwidth Flashは、アクセスのされ方を変えることで、ストレージをより速く振る舞わせる話です。

この違いは重要です。ここでの目標は、NANDをDRAMに変えることではありません。従来のストレージではシステム全体が鈍ってしまうような場面で、NANDを役に立つものにすることです。

この変化は、メディアそのものよりも、システム全体のレベルで起きています。

従来のように1台のSSDがリクエストを処理するのではなく、多数のNANDチャネルが並列で動き、容量だけではなく同時実行性を重視したコントローラが使われ、PCIe Gen5やGen6のインターフェースを通るデータ経路はより広くなり、さらにソフトウェア層が要求前にデータを予測して先回りで配置するようになっています。

こうした変化をまとめて見れば、NAND固有の遅延そのものがなくなるわけではありませんが、その遅延がシステムのボトルネックになる場面はかなり減っていきます。

帯域幅を別の視点で考える

「高帯域」と聞くと、多くの人はまず生の速度を思い浮かべます。

けれどもこの文脈でいう帯域幅は、どれだけ速いかというより、どれだけ多くのデータを同時に動かせるか、そしてその動きをどれだけ安定して維持できるかという意味合いが強いのです。

AIワークロードが必要としているのは、ただ速いアクセスではなく、大規模でも予測可能なアクセスです。

GPUクラスタが不均一にデータを引き込むと、ほんの小さな揺らぎでもシステムの一部が止まり得ます。それが何百、何千というノードに広がれば、無視できない非効率として表面化してきます。

High Bandwidth Flashは、その問題をならそうとする試みです。NANDの性質そのものを消し去るのではなく、それを十分な並列性と十分なインテリジェンスで囲い込み、システム全体から見たときにその性質が目立たなくなるようにしているのです。

倉庫のたとえをもう少し広げると

前の記事で使った同じ倉庫のたとえを続けるなら、NANDはずっとメインの保管フロアでした。

あらゆるものがそこに置かれ、棚や列できれいに整理され、アクセス速度よりも密度と効率を重視して最適化されています。

DRAMは荷捌き場で、実際の作業が行われる場所です。SCMはそのすぐ後ろにあるステージングエリアです。

High Bandwidth Flashは、この倉庫の回し方を変えます。

以前は1人の作業員が通路に入って品物を1つずつ取っていたのが、今は複数の荷捌き場が同時に開き、何台ものフォークリフトが並列に動き、さらにシステムが次に必要としそうなものを先回りして配置しておくようになるのです。

倉庫そのものが根本から変わったわけではありませんが、アクセスのされ方は変わっています。

倉庫を荷捌き場そのものに変えているのではなく、倉庫がまるで荷捌き場のすぐそばにあるかのように振る舞わせているわけです。

実際にはどう構築されているのか

High Bandwidth Flashを可能にしている要素の多くは、NANDそのものから来ているわけではなく、その周囲の層から生まれています。

コントローラは今や、容量や摩耗管理だけでなく、複数のNANDダイやチャネルにまたがる並列動作をどうさばくかでより大きな役割を担っています。同時に、インターフェース帯域も拡大を続けており、バスに縛られずにデータを動かせる余地が増えています。

ただ、最も大きな違いを生んでいるのは、ソフトウェアがハードウェアとどう関わるかです。

データは、要求されてから取りに行くだけの存在ではなくなりました。予測され、前もって配置され、キャッシュされ、AIワークロードの振る舞いに合わせて整理されます。つまり、アクセスパターンを先読みし、よく使うデータをスタックの上位に近づけ、システムが遅い経路へ落ちる回数をできるだけ減らすということです。

もちろん、これでNANDが本物のメモリになるわけではありませんが、少なくとも以前よりはずっと積極的にメモリシステムへ参加できるようになります。

それでも、まだ違うもの

ここまで進歩しても、期待値は現実的に保っておく必要があります。

High Bandwidth Flashは、NANDをDRAMと同等にするものではありません。NANDは依然としてブロックベースであり、どんな本物のメモリよりも高い遅延を持ち、厳しい環境で高い性能を出すには依然としてコントローラとソフトウェアに大きく依存します。

そうした制約が消えるわけではなく、システム設計によってより上手に扱われるようになるだけです。

AIインフラの中でどこに収まるのか

実際の導入例では、High Bandwidth Flashは、巨大なデータセットを扱う必要がありながら、それらをすべて高価なメモリ階層へ押し込めないシステムの中で現れ始めています。

実際の姿を言えば、これはNANDを以前よりもずっと能動的に使うシステムです。単なる保存場所としてではなく、計算リソースへより連続的にデータを供給するワーキングデータ経路の一部としてNANDを使うのです。

たとえば大規模な推論環境では、モデルやコンテキストデータがDRAMに現実的に収まる量を超えることがよくあります。すべてを無理にメモリへ押し込むのではなく、高スループットでNANDへアクセスすることで、データが十分な速さで流れ込み、従来型ストレージというよりメモリの延長のように振る舞えるようになります。

トレーニング環境では、データセットが何度も再訪され、並列に処理され続けます。そのとき重要なのは、単発のバーストに対処することではなく、安定した流れを維持することです。High Bandwidth Flashは、複数のデータ経路を同時にアクティブに保つことで、どれか1つの要求がボトルネックになる可能性を下げます。

分散型のNVMe fabricシステムでも考え方は同じです。データは多くのデバイスやノードに分散されていますが、単純な保存容量ではなく、スループットと可用性を重視した形で協調的にアクセスされます。NANDが担う根本的な役割は変わりませんが、システムがそれと関わる方法は昔よりはるかに動的になっています。

その結果、NANDはスタック最下層の遠い層のようには感じられなくなり、たとえ完全にメモリの性能特性へ到達しなくても、アクティブなシステムの一部のように見え始めるのです。

なぜこの方向性が重要なのか

少し引いて、この3本の記事全体を眺めると、あるパターンが見えてきます。

HBMはメモリをコンピュートへ近づけ、SCMはメモリとストレージのあいだの溝を縮め、High Bandwidth Flashはストレージをメモリへ近づけます。

すべてが向かっている目標は同じです。データが移動しなければならない距離を減らし、システムが待たされる時間を減らすことです。

全体像に戻ると

NANDはなくなりません。

むしろ、こうしたシステムが必要とする総データ量は増え続けているのですから、重要性は高まっているとさえ言えます。

変わっているのは、NANDの使われ方です。

NANDはもう、スタック最下層の受け身な層ではありません。上へ引き上げられ、より密接に統合され、完全にそうなることはなくても、どんどんメモリに近い振る舞いを求められるようになっています。

この変化こそ、最初の記事で指摘したことでした。業界はNANDを置き換えたのではなく、NANDの周りを作り変えたのです。

次に来るもの

ここから先、スタックは上下両方向へ進化を続けます。

上ではメモリがさらに高速化し、より特化していきます。下ではストレージがより賢く、より統合されたものになっていきます。そしてその中間では、両者を分ける線がますます曖昧になっていきます。

次の記事では、AIシステムがリアルタイムでワーキングデータをどう扱っているのか、そしてコンテキストやKVキャッシュのような概念が、メモリとストレージを一緒に設計する方法へなぜ影響し始めているのかを見ていきます。

編集メモ

この記事の視点、方向性、そして技術的な framing は、本文全体で扱っているテーマと、AIインフラの中でNANDがメモリ層へ近づけられているというより広い議論を踏まえたうえで、著者によって定められました。

AIは、リズム、文の流れ、構成整理を補助する下書きアシスタントとして使われましたが、主題の方向付け、比較の観点、そして最終的な編集意図は著者によって決められています。

添付画像もAIで作成したものですが、ありきたりなストックビジュアルとしてではなく、通常の画像では伝えにくい記事固有の概念を表現するために用意した専用のイラストです。特に、現代のデータアーキテクチャの中でNANDフラッシュがメモリに隣接したアクティブな層のように振る舞う、という発想を可視化することを意図しています。

すべての内容は公開前に著者が確認し、調整し、承認しました。

Continue Reading

USBフラッシュドライブはデフラグもTRIMもできない – その理由

why-defrag-and-trim-dont-apply-to-usb-flash-drives

USBメモリをデフラグしようとしてここにたどり着いた、あるいはUSBフラッシュドライブでTRIMを使おうとして行き止まりになった、その理由はとてもシンプルです。そうしたツールは、ハードディスクやSSDに対するのと同じ形では、USBフラッシュドライブには当てはまりません。

この記事にたどり着いたということは、USBメモリをデフラグしたい、あるいはUSBフラッシュドライブにTRIMをかけたいと思って調べていたのだと思います。そして、きっと途中で少し厄介なことに気づいたはずです – そのどちらを行うための選択肢も見当たらないのです。設定もなければ、ツールもなく、ハードディスクやSSDでできるようなやり方で動くものもありません。これは不具合ではありませんし、どこかのメニューに隠されているわけでもありません。USBフラッシュドライブは、そもそもデフラグもTRIMも信頼できる形では使えないのです。そして、こうしたデバイスの仕組みを理解すると、その理由はかなりはっきり見えてきます。

Continue Reading

ストレージクラスメモリ解説:DRAMとNANDの間にある欠けていたレイヤー

040426a storage class memory explained between dram and nand

AIシステムが実際にどのようにデータを動かしているのかを見ていくと、問題は単にプロセッサを速くすることやストレージ容量を増やすことだけではなく、その間にある層で何が起きているのか、そしてシステムがどれだけの頻度で待たされているのかという点にあることに、わりとすぐ気づきます。

前回のHigh Bandwidth Memoryの記事では、GPUが止まらないようにデータをできるだけプロセッサの近くに置くことに焦点を当てていました。これはスタックの最上部にあたる重要な部分ですが、そこにすべてを置けるわけではないため、問題の一部しか解決しません。

作業データの量がその即時レイヤーに収まりきらなくなると、結局またDRAMとNANDの間でデータをやり取りすることになります。そしてまさにそのあたりから、バランスの悪さが見えてきます。DRAMは速くて反応も良いですが、高価で無制限に増やすことはできません。一方でNANDは容量面では現実的ですが、優れたフラッシュでも連続した負荷の中では無視できない遅延が発生します。

この2つの間にある隙間こそが、ストレージクラスメモリの出番になる場所です。どちらかを置き換える新しい技術というよりは、データの受け渡しを滑らかにして、システムが「非常に速い」と「明らかに遅い」の間を行き来し続けないようにするための層といえます。

こうしたレイヤー構造がなぜ生まれてきているのか、全体像を理解するには、こちらのメイン記事もあわせて読むとつながりが見えてきます:NANDはなくならないが、AIサーバーはもはやフラッシュだけに依存していない

Continue Reading

High Bandwidth Memory(HBM)とは何か、そしてなぜAIはこれに依存しているのか

high bandwidth memory hbmとは何かとaiがなぜ依存するのか

AIシステムは、計算能力の限界で遅くなることはあまりなく、むしろデータを十分な速度で動かせないために、プロセッサへ継続的に情報を供給できなくなることで性能が落ちます。

言い換えると、ボトルネックはデータを処理する能力ではなく、現代のAIワークロードが求める速度でデータを届ける能力にあります。

ここで重要な役割を果たすのがHigh Bandwidth Memory(HBM)です。

メモリがフラッシュを超えてどのように進化しているのか、そしてなぜAIシステムが複数の階層に依存するようになっているのかについては、こちらの分析も参考にしてください:NANDはなくならないが、AIサーバーはもはやフラッシュだけに依存していない

Continue Reading

NANDはなくならないが、AIサーバーはもはやフラッシュだけに依存していない

NANDはなくならないが、AIサーバーはもはやフラッシュだけに依存していない

20年以上にわたり、GetUSBはデータが実際にどのように動くのかを追い続けてきました。単なるマーケティング上の説明ではなく、現実の挙動を見てきたという意味です。その間に、ストレージは何度も大きな変化を経験してきました。回転ディスクの衰退からフラッシュの台頭、そして最近ではストレージが単なる受動的な部品ではなく、インフラそのものの一部として機能するシステムへと進化しています。

現在AIインフラで起きていることも、そうした転換点のひとつに見えますが、今回はそれを押し進めている圧力の種類がこれまでとは少し違います。

NANDフラッシュがなくなるわけではありませんし、その点について議論の余地はほとんどありません。現代のストレージの基盤であり、その役割を非常にうまく果たしています。一方で、NANDの需要は急激に増加しています。主な理由は、巨大なデータセットと継続的なアクセスを必要とするAIワークロードです。この需要は、価格の上昇や供給制限、あるいは大規模導入におけるリードタイムの長期化といった形で、無視できないレベルで供給とぶつかり始めています。

こうした不均衡が見え始めると、業界は状況が自然に落ち着くのを待つことはしません。別の解決策を探し始めます。そしてそこから変化が始まります。

Continue Reading

「ベストUSBドライブ」ランキングはなぜ無視すべきなのか

複数のUSBフラッシュドライブがデュプリケーターに並んでおり、見た目は似ていてもコントローラーの動作や機能は大きく異なる様子

毎年、ほぼ確実に同じような記事が出回ります。

「2026年おすすめUSBメモリ」「最速USBドライブTop10」「今買うべきUSBはどれ?」

どれも同じパターンです。いくつかの有名ブランド、いくつかのベンチマークグラフ、ちょっとした品質コメント、そしてそれっぽく見えるランキング。

一見すると役に立ちそうに見えるんですよね。昔は確かに、速度は重要な違いでしたし、容量も差がありましたし、ブランドの信頼性も見た目で判断しやすかった。

でも今は違います。

これらのリストは、すでに大きな意味を持たなくなった問題を前提に作られています。

Continue Reading

Raspberry Pi USBフラッシュドライブ — 特別なコントローラではなく、ベンダー選定が少し良いだけ

Raspberry Piボードに接続されたUSBフラッシュドライブ。制御型メディアや書き込み保護の話題で使われる構成

Raspberry Piの新しいUSBフラッシュドライブは、新しいストレージ発明というより、よく知られたコントローラ技術をきちんと実装した製品のようです。

Raspberry Piチームは最近、開発者やホビーユーザー向けに、自社ブランドのUSBフラッシュドライブを発表しました。ボードやシステム用に、安定したリムーバブルストレージを求める人たちがターゲットです。スペックを見る限り、アルミ筐体にそこそこ良い持続速度、そして品質の良いフラッシュ製品でよく見られるファームウェア機能が揃っており、全体としてしっかりした作りに見えます。

発表の中で一つすぐ目に入るのが、QLC NANDの書き込み速度を上げるための「pseudo-SLCキャッシュ」の説明です。ぱっと読むと、何か特別な独自技術のようにも聞こえます。でも実際にはそうではありません。これは今のフラッシュストレージではごく普通に使われている技術です。

ここをきちんと区別しておくことは大事です。本当に優れた製品なのか、それとも普通のコントローラ機能を少し特別に聞こえるように説明しているだけなのか、その違いが見えてきます。

Continue Reading

なぜUSBデバイスによってBOTを使うものとUASPを使うものがあるのか

BOTを1車線の橋、UASPを複数車線の高速道路として描いた比較図。異なるUSB転送方式を説明するためのグラフィック

パッと見では、ほとんどのUSBストレージ機器って全部同じことをしているように見えます。挿したらパソコンが認識して、ドライブ文字が出てきて、あとはファイルを移動するだけ。使う側からすると、だいたいそれで話は終わりです。

でも、そのシンプルな動きの裏側では、すべてのUSB機器が同じやり方でコンピュータとやり取りしているわけではありません。

ある機器は BOT でマウントされ、列挙されます。BOT は Bulk-Only Transport の略です。一方で、特に性能重視のUSB 3.xやUSB 3.2機器では、UASP が使われることがあります。これは USB Attached SCSI Protocol の略です。普通の人からすると、こういう名前はほぼ意味不明です。でもITチームやソフトウェア開発者、それから業務フローに使うUSBメディアを評価している企業にとっては、かなり大事な違いになることがあります。

1車線の橋と複数車線の高速道路だと思うとわかりやすい

この違いをイメージするなら、交通の流れで考えるのがいちばんわかりやすいです。

Continue Reading

著作権 © 2006年以降

USB電源対応ガジェットほか…

無断転載禁止

GetUSB 広告掲載のご案内

当サイトは、貴社の商品やブランドを効果的に紹介できる高付加価値のウェブサイトです。優れた露出効果をご提供します。詳細については、広告掲載ページをご覧ください。

詳細はこちら
広告掲載ページを見る

Nexcopy の提供内容

USBフラッシュドライブに保存されたデータ向けの、デジタル著作権管理(DRM)を備えたUSBコピー保護ソリューションを提供しています。

詳しくはこちらからお問い合わせください