インサイチュ処理(インストレージ処理、 ISPとも呼ばれる)は、データが存在する場所でデータを処理することを意味するコンピュータサイエンスの用語です。インサイチュとは、「元の場所、自然な場所、または既存の場所や位置にある」という意味です。インサイチュ処理では、データをコンピュータの中央処理装置(CPU )に送信するのではなく、ソリッドステートドライブ(SSD)やNVDIMMなどのメモリデバイスといった、データが保存されている場所でデータを処理します。
この技術は、ストレージ デバイス内部の組み込み処理エンジンを利用して、ユーザー アプリケーションをその場で実行できるようにすることで、データを処理するためにデバイスから出す必要がないようにします。この技術自体は新しいものではありませんが、最新の SSD アーキテクチャと強力な組み込みプロセッサの利用可能性により、ユーザー アプリケーションをその場で実行することがより魅力的になっています。[ 1 ] SSD は、ハードディスク ドライブ(HDD)と比較して、より高いデータ スループットを実現します。さらに、HDD と対照的に、SSD は複数の I/O コマンドを同時に処理できます。
SSDは、フラッシュメモリアレイを管理し、ホストマシンに高速インターフェースを提供するための相当な処理能力を備えています。これらの処理能力により、ユーザーアプリケーションをその場で実行できる環境が提供されます。計算ストレージデバイス(CSD)という用語は、ユーザーアプリケーションをその場で実行できるSSDを指します。効率的なCSDアーキテクチャでは、組み込みのストレージ内処理サブシステムが、低消費電力かつ高速なリンクを介してフラッシュメモリアレイに保存されているデータにアクセスします。このようなCSDをクラスタに展開することで、ビッグデータおよび高性能コンピューティング(HPC)アプリケーションの全体的なパフォーマンスと効率を向上させることができます。[ 1 ]
Webscale data center designers have been trying to develop storage architectures that favor high-capacity hosts. In the following figure (from [1]), such a storage system is shown where 64 SSDs are attached to a host. For the sake of simplicity, only the details of one SSD are demonstrated. Modern SSDs usually contain 16 or more flash memory channels which can be utilized concurrently for flash memory array I/O operations. Considering 512 MB/s bandwidth per channel, the internal bandwidth of an SSD with 16 flash memory channels is about 8 GB/s. This huge bandwidth decreases to about 1 GB/s due to the complexity of the host interface software and hardware architecture. In other words, the accumulated bandwidth of all internal channels of the 64 SSDs reaches the multiplication of the number of SSDs, the number of channels per SSD, and 512 MB/s (bandwidth of each channel) which is equal to 512 GB/s. While the accumulated bandwidth of the SSDs’ external interfaces is equal to 64 multiply by 1 GB/s (the host interface bandwidth of each SSD) which is 64 GB/s. However, In order to talk to the host, all SSDs required to be connected to a PCIe switch. Hence, the available bandwidth of the host is limited to 32 GB/s.

Overall, there is a 16X gap between the accumulated internal bandwidth of all SSDs and the bandwidth available to the host. In other words, for reading 32 TB of data, the host needs 16 minutes while internal components of the SSDs can read the same amount of data in about 1 minute. Additionally, in such storage systems, data need to continuously move through the complex hardware and software stack between hosts and storage units, which imposes a considerable amount of energy consumption and dramatically decreases the energy efficiency of large data centers. Hence, storage architects need to develop techniques to decrease data movement, and ISP technology has been introduced to overcome the aforementioned challenges by moving the process to data.
計算ストレージ技術は、クラスタ内のデータ移動を最小限に抑え、電力効率の高い処理エンジンをシステム全体に拡張することでクラスタの処理能力を向上させます。この技術は、HDD と SSD の両方に適用できる可能性がありますが、最新の SSD アーキテクチャは、このような技術を開発するためのより優れたツールを提供します。ユーザー アプリケーションをその場で実行できる SSD は、計算ストレージ デバイス (CSD) と呼ばれます。これらのストレージ ユニットは拡張可能な処理リソースであり、最新のサーバーのハイエンド プロセッサを置き換えるように設計されているわけではありません。代わりに、ホストの CPU と連携して、効率的な処理能力をシステムに拡張することができます。Springer Publishingがオープン アクセス ポリシー (一般公開無料) で公開している科学論文「計算ストレージ: ビッグ データと HPC アプリケーションのための効率的でスケーラブルなプラットフォーム」 [ 1 ]では、クラスタにおける CSD 利用の利点が示されています。
ストレージ内処理の例は、可視化[ 2 ] 、生物学[ 3 ]、化学などの分野で見られます。これは、移動するデータの種類に関係なく、この技術がデータ移動よりも効率的にアクションと結果を確認できることを示しています。次の図([ 1 ]より)は、Apache Hadoopクラスタとメッセージパッシングインターフェースベースの分散環境でCSDがどのように利用できるかを示しています。


ストレージ業界では、NGD Systems [ 4 ] 、 ScaleFlux [ 5 ]、Eideticom [ 6 ]など、複数の企業から実装が提供されています。過去には、Micron Technology [ 7 ]やSamsungなど、他の企業も同様の取り組みを行ってきました。これらのアプローチはすべて同じ方向性で、データが存在する場所でデータを管理または処理します。
NGD Systemsは、インサイチュ処理ストレージを最初に開発した企業であり、2017年以降、このデバイスの2つのバージョンを製造している。Catalina-1は、処理機能とともに24TBのフラッシュを提供するスタンドアロンSSDだった。[ 4 ] 2018年には、最大32TBのフラッシュメモリを提供するNewportという2番目の製品がリリースされた。[ 8 ] [ 9 ]
ScaleFluxは、ホストのリソースとカーネルの変更を使用してデバイスをアドレス指定し、ホストのリソースを使用してデバイスまたはベースSSD上の最大6.4TBのフラッシュを管理するCSS-1000 NVMeデバイスを使用します。 [ 10 ] Eideticomは、永続データ用の実際のフラッシュストレージを持たないアクセラレータとして、No-Load DRAMのみのNVMeデバイスと呼ばれるデバイスを使用します。 [ 11 ] Micronは、2013年のFlash Memory Summit(FMS)イベントで自社バージョンを「Scale In」と呼びましたが、製品化することはできず、生産中のSATA SSDに基づいていました。 [ 7 ] Samsungは、KV Storeなどのさまざまなバージョンのデバイスに取り組んできました。[ 12 ]