一般的なSSDの場合、読み書きパフォーマンスが幾つかの理由から低下してしまうことがる。パフォーマンスを高める仕組みと併せて、パフォーマンス低下の主な原因を2つ解説する。
SSDはHDDに比べてデータ読み書きのパフォーマンスに優れるストレージだが、一般的なSSDの場合は本来の能力を引き出せずに読み書きパフォーマンスが低下してしまうことがある。SSDのパフォーマンスを高める仕組みと併せて、何がSSDのパフォーマンス劣化を招く原因になるのかを解説する。
一般的なSSDの場合、コントローラーが内部の制御を自動で実行するため、ユーザーがパフォーマンスを細かく最適化することはできない。それに対して「Open-Channel SSD」は、コントローラーではなくホストマシン(サーバ)のOSが制御タスクの一部を担うことで、パフォーマンスの最適化が可能になる。
ここでは「ガベージコレクション」と「スケジューリング」を例にして、SSDのパフォーマンスが落ちる原因と、それを解消するOpen-Channel SSDの仕組みを見てみよう。
ガベージコレクションとは、部分的に使用されている複数のブロック(データの記録領域をまとめた単位)から有効なページ(データの記録領域をまとめた単位)を別のブロックに移動し、元のブロックを消去することで、NAND型フラッシュメモリ(SSDの記録媒体)のブロックを解放する仕組みだ。ガベージコレクションにより、新しく書き込むデータ用の空き容量を確保できる。
Open-Channel SSDでホストマシンがガベージコレクションを制御する場合、ガベージコレクションのために許容できるタイミングを、アプリケーションがホストマシンに通知する。これにより、ガベージコレクションがアプリケーションのパフォーマンスに与える影響を最小化できる。
ガベージコレクションは、SSDの処理に過度に干渉しないようにバックグラウンドで実行する。しかし、一般的なSSDでは、ガベージコレクションが通常の処理の妨げになることが多い。一般的なSSDではコントローラーがホストマシンからのアクセスパターンを把握できないため、最適なタイミングを推測してガベージコレクションを実行する必要がある。
Open-Channel SSDでは、アプリケーションがワークロードの変化をホストマシンのスケジューラーに事前に通知できる。ワークロードの変化の例としては以下がある。
アプリケーションがしばらくアイドル状態になる予定がある場合にも、アプリケーションはスケジューラーに通知できる。アイドル状態の間にバッファ(一時的な記憶領域)からデータをNAND型フラッシュメモリに書き込んだり、ガベージコレクションを実行したりできる。
一般的なSSDでは、ホストマシンがアプリケーションを実行する。その間、SSDのコントローラーはホストマシンからのランダムなアクセスリクエストの合間に、さまざまな制御タスクを処理するタイミングを見つける必要がある。制御タスクとしては例えば以下がある。
これらの制御タスクは、同じNAND型フラッシュメモリで実行中のアプリケーションからの読み書きタスクと干渉する。ホストマシンのアプリケーションの動作とSSD内の制御タスクが全く連携していないからだ。
一般的なSSDにおいて、この問題に対する解決策は、ホストマシンからのアクセスパターンを推測し、それに合わせたスケジューリングを実行する以外にない。
次回は、Open-Channel SSDの活用状況に焦点を当てる。
米国Informa TechTargetの豊富な記事の中から、さまざまな業種や職種に関する動向やビジネスノウハウなどを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
お知らせ
米国TechTarget Inc.とInforma Techデジタル事業が業務提携したことが発表されました。TechTargetジャパンは従来どおり、アイティメディア(株)が運営を継続します。これからも日本企業のIT選定に役立つ情報を提供してまいります。
「単なるスポーツ広告ではない」 Nikeの27年ぶりスーパーボウルCMは何がすごかった?
Nikeが27年ぶりにスーパーボウルCMに復帰し、注目を集めた。
Z世代と上の世代で利用率の差が大きいSNSトップ3 1位「TikTok」、2位「Instagram」、3位は?
サイバーエージェント次世代生活研究所が実施した「2024年Z世代SNS利用率調査」の結果が...
主戦場は「テレビ画面」へ YouTube20周年でCEOが公開書簡
20周年を迎えるYouTubeが、クリエイターとユーザーの双方にとってより魅力的で革新的なプ...