皆様,新年あけましておめでとうございます。gihyo.jp恒例の新年企画「今年の○○はどうなる?」として記事を書く機会をいただきました。お題は「フラッシュメモリ」ということで,その中でも,ここ数年関心が高いコンピュータ用フラッシュメモリの方向性についてご紹介します。ところで......コイツ誰だ?と思われている方も多いと思います。「⁠エンジニアなら知っておきたい仮想マシンの仕組み」......とご説明するとおわかりの方もいらっしゃるかもしれません。2011年6月より,フュージョンアイオー株式会社のセールスエンジニアとして,エンタープライズクラスのNANDフラッシュストレージのプリセールスに従事しております。いうわけで,ストレージ業界に足を突っ込んでただ7ヵ月たらずなのですが......,私が見ているNANDフラッシュストレージの最前線についてお話したいと思います。ExpressネイティブなNANDフラッシュメモリデバイスがどのように違うのか,皆様ご存じでしょうか?ハードディスクは,主にデータを記憶するためのディスクが搭載されており,磁気ヘッドを使ってデータを読み書きします。Disk)とは,ハードディスクからメカ部分を取り除き,ディスクを不揮発なフラッシュメモリを置き換えることによりシーク時間を削減できるため,I/Oの時間待ちが減るという仕組みになっています。SCSI(SAS)を利用しています。これらのインターフェースは昔ながらのSCSIに由来する古いデザインのため,コンピュータからフラッシュメモリにアクセスするためのインターフェースとしては,必ずしも最適な解ではありません。ExpressネイティブなNANDフラッシュメモリデバイスが存在します。Fusion-ioの製品のアーキテクチャは「システムメモリの次に高速なNANDフラッシュメモリを用意し使い分ける」という考え方が基本思想になっており,これをioMemoryと呼んでいます。このような設計見直しにより,同じNANDフラッシュメモリを使っても,従来のSSDと比べ2~3桁のレイテンシ改善や,何倍ものIOPS/帯域幅の改善が実現できるのです。ioMemoryの設計思想キャッシュとしてのNANDフラッシュメモリ2012年のフラッシュ利用法のトピックとしては,NANDフラッシュメモリをキャッシュデバイスとして利用していくトレンドが非常に高まると感じています。Cachingと呼ばれる機能を耳にしたことがあったり,もしくは使っている方もいるのではないでしょうか?これはデスクトップPCに限らず,エンタープライズシステムでも同じ傾向にあり,今年はフラッシュメモリをキャッシュとして本格的に利用する年になりそうです。─なぜなら,NANDフラッシュメモリはシステムメモリとして使われるDRAMと比べ低価格&大容量だからです。ESX環境で利用できるキャッシングソフトウェアioTurbine,およびWindows/Linux用のキャッシュソフトウェアdirectCacheを提供しています。これらのソフトウェアは,オペレーティングシステムによるI/Oを自動的にキャプチャしティアリングするものです。これらのキャッシングの仕組みを利用することで,ハードディスクの容量とフラッシュメモリの高速性を両立できるのです。Expressのスロットには限りがあります。Expressバスのスロット数は論理的な制限ではありません。バスにたくさんのデバイスを接続できれば良いのです。Expressと呼ばれる規格です。Expressは,従来のSATAやSASと同様,SFFコネクタを通してコンピュータとデバイスを接続します。Expressは,物理層はそのまま,論理的なインターフェースは新しいものに置き換えることで,デバイスのI/O性能を一気に引き上げるのです。Portと同じ物理層に別のプロトコルも流せるようにしたThunderboltを発表しましたが,ストレージでも同様の方向性になっていると言えます。Expressもしくは同様のインターフェースのデバイスが提供されるようになれば,これまでのストレージのように,2.5インチのベイにフラッシュメモリを並べて利用できるようになるでしょう。アトミックライトフラッシュメモリはハードディスクと異なる特性をもつため,そのデバイス開発に様々な課題があります。その特性をうまく活かすと,これまでのハードディスクでは考えられなかったような新アーキテクチャに結びつく可能性をもっています。その一例として,現在進行中の話題であるアトミックライトについて紹介しましょう。MySQLなどのデータベースミドルウェアでは,データに変更を加える時には変更前のデータと変更後のデータを同時にストレージデバイスを書き込みます。万が一途中で処理が停止した場合には,変更前のデータにロールバックすることでデータの一貫性を保証します。この仕組みをダブルライトと呼びます。ダブルライトはその名前の通り⁠”データを二度書き⁠”するため,性能面の影響以外にも書き込み量が増えNANDフラッシュメモリの寿命を縮める仕組みと言えます。これに対して,アトミックライトは,アプリケーションから要求された書き込み要求をひとつのグループとして書き込みます。アトミックライトで書き込み前後の整合性を保証できれば,ダブルライトのようにデータの二度書きをせずとも一貫性を保証できます。このため,書き込むデータの絶対量が減少し,結果としてNANDフラッシュデバイスのI/Oパフォーマンス向上と長寿命化につながります。NANDフラッシュメモリデバイスは,ほぼ全てがログファイルシステム風の内部データ構造を用いています。このため,ユーザから見ればランダムライトでも,デバイスはデータをシーケンシャル化して書き込みます。アトミックライトは,ハードディスクと全く異なるフラッシュメモリデバイスの書き込み特性を活かし,書き込みデータにグループ化の情報を同時記録することで機能を実現しています。アトミックライトおわりに今回は,私が見ている今後のNANDフラッシュメモリの動向についてご紹介しました。今回ご紹介したテクノロジのうち幾つかは2012年中に皆様のお手元に届くと思いますし,もしかすると一部は来年以降のことになるかも知れません。今年はNANDフラッシュメモリがこれまでのシステムの常識を打ち破る年になると感じています。2012年もよろしくお願いいたします。アトミックライト著者プロフィール長谷川猛(はせがわたけし)スノーボード,ごまラーメン,飼い犬のミニチュアシュナウザー「ラピス君」が大好き。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。