以下、図面を参照して、実施形態を説明する。
まず、実施形態に係るストレージシステムの構成について説明する。図1は、実施形態に係るストレージシステム1の構成例を示す図である。ストレージシステム1は、データセンタにおいて使用され得る。
本実施形態の説明において、X軸、Y軸およびZ軸がそれぞれ定義されている。X軸とY軸とZ軸とは、互いに直交する。X軸、Y軸によって規定されるX-Y平面は、データセンタのフロアに相当する。Z軸は、データセンタの高さ方向に相当する。
ストレージシステム1は、ホストコンピュータ2と、ウェハストッカー3と、カセッター4と、ウェハカセットストッカー5と、ウェハ搬送装置8と、ウェハカセット搬送装置9とを含む。
図1では、ホストコンピュータ2、ウェハカセットストッカー5、カセッター4、ウェハストッカー3(2つのウェハストッカー3b、3a)がX軸方向に沿って一列に並べられている場合が例示されている。
この場合、X軸は、ホストコンピュータ2、ウェハカセットストッカー5、カセッター4、ウェハストッカー3の各々の幅に沿う。Y軸は、ホストコンピュータ2、ウェハカセットストッカー5、カセッター4、ウェハストッカー3の各々の奥行きに沿う。Z軸は、ホストコンピュータ2、ウェハカセットストッカー5、カセッター4、ウェハストッカー3の各々の高さに沿う。
ストレージシステム1は、半導体ウェハ40をストレージ媒体として利用する。半導体ウェハ40は、複数の不揮発性メモリデバイスを含む。ストレージシステム1は、半導体ウェハ40に含まれる不揮発性メモリデバイスにデータを書き込み、半導体ウェハ40内の不揮発性メモリデバイスからデータを読み出すように構成されている。半導体ウェハ40に含まれる複数の不揮発性メモリデバイスの各々は、例えば、NAND型フラッシュメモリである。
通常、半導体ウェハに形成された不揮発性メモリデバイスはダイシングによってチップとして切り出される。切り出されたチップは、不揮発性メモリダイとも称される。これに対し、ストレージシステム1では、複数の不揮発性メモリデバイスを含む半導体ウェハ40そのものがストレージ媒体として利用される。ストレージシステム1で利用される半導体ウェハ400は、例えば500μm以上の厚みを有する。
形成された複数の不揮発性メモリデバイスがチップとして切り出される前の半導体ウェハが、半導体ウェハ40として使用され得る。あるいは、幾つかの半導体ウェハから切り出された不揮発性メモリダイを寄せ集めるリマウント処理を行うことによって得られる半導体ウェハが、半導体ウェハ40として使用され得る。
ここで、比較例に係るストレージシステムの構成例を説明する。比較例に係るストレージシステムは、半導体ウェハをストレージ媒体として使用する。比較例に係るストレージシステムは、プローバとホスト装置とを含む。プローバはプローブカードとステージとを含む。比較例に係るストレージシステムでは、プローバに接続されたホスト装置が、プローブカードを介して、ステージ上に載置された半導体ウェハに対するデータの書き込みおよび読み出しを行う。
しかしながら、比較例に係る構成では、ある半導体ウェハがホスト装置によってアクセスされている間は、プローバはこの半導体ウェハのみによって占有されてしまう。ホスト装置が新たなアクセス対象の半導体ウェハにアクセスするためには、ステージ上に現在載置されている半導体ウェハをプローバから取り外して、新たなアクセス対象の半導体ウェハをステージ上に載置することが必要となる。さらに、プローブカードの複数のプローブピンと、ステージ上の新たなアクセス対象の半導体ウェハの複数の電極との間の位置合わせを行う必要がある。
このため、ホスト装置が、ステージ上に載置された新たなアクセス対象の半導体ウェハに対して実際にデータの読み出しまたはデータの書き込みを行えるようになるまでには、ある一定の時間(レイテンシー)が必要とされる。
また、このレイテンシーを短くするためには、該半導体ウェハを、ウェハストッカーからプローバに高速に搬送する必要がある。この場合、該半導体ウェハが破損される恐れがある。
実施形態に係るストレージシステム1では、ホスト装置がプローバを介して半導体ウェハ40にアクセスするのではなく、ウェハカセット90が、ホスト装置によってアクセス可能なストレージデバイスとして使用される。ウェハカセット90は、カセット筐体80と半導体ウェハ40とを含む。
ホストコンピュータ2は、ホストユニット230を含む。図1では、2つのホストユニット230a、230bがホストコンピュータ2に含まれる場合が例示されている。しかしながら、ホストコンピュータ2に含まれるホストユニット230の数は、1でもよいし、3以上でもよい。
ホストユニット230はスロットを含む。スロットには、少なくとも1つのウェハカセット90を接続可能である。図1では、3つのスロット(スロット#1~#3)がホストユニット230に含まれる場合が例示されている。しかしながら、ホストユニット230に含まれるスロットの数は2以下であってもよいし、4以上であってもよい。
ホストユニット230は、スロットに接続されたウェハカセット90に含まれる半導体ウェハ40(より詳しくは半導体ウェハ40に含まれる各不揮発性メモリデバイス)に対してデータの読み出しおよび書き込みを行うように構成されたホスト装置として機能する。また、ホストユニット230は、インタフェースを介して、カセッター4、ウェハ搬送装置8、およびウェハカセット搬送装置9と通信を行うように構成される。このインタフェースは、例えば、Ethernet(登録商標)規格に準拠する。
データセンタでは、複数のサーバラックが配置されている。サーバラックは、コンピュータおよび通信装置を収容するためのラックである。サーバラックのサイズおよび形状は、例えばアメリカ電子工業会(EIA)によって規定されている。
例えば、19インチラックは、幅19インチで、1ユニット分の高さが1.75インチである。データセンタでは、例えば、42ユニットの高さを有する19インチラック(19インチ-42Uラック)が多く利用されている。
本実施形態では、ホストコンピュータ2は、19インチラックのようなサーバラックを有する。
ホストユニット230は、サーバラックに収容可能なサイズを有している。ホストユニット230は、例えば1ユニットの高さの整数倍の高さを有する。つまり、ホストユニット230は、サーバラックの1ユニット分のスペースに収容可能なサイズを有していてもよい。ホストユニット230は、サーバラックの2ユニット分のスペースに収容可能なサイズを有していてもよい。ホストユニット230は、サーバラックの3以上のユニット分のスペースに収容可能なサイズを有していてもよい。
ホストユニット230は、ホスト筐体と、システム基板と、電源ユニットとを含む。
ホスト筐体は、ウェハカセット90を接続可能なスロットを少なくとも1つ含む。システム基板は、種々の電子部品(プロセッサ、メモリ、システムコントローラ、通信インタフェースコントローラ等)が実装されたプリント回路基板である。電源ユニットは、システム基板に実装された種々の電子部品と、スロットに接続されたウェハカセット90とに、電力を供給する電源回路である。
ウェハストッカー3は、複数の半導体ウェハ40を保管可能である。ウェハストッカー3の筐体も、ホストコンピュータ2と同様に、19インチラックのようなサーバラックを用いて実現され得る。
図1では、ストレージシステム1に2つのウェハストッカー3a、3bが設けられる場合が例示されている。しかしながら、ストレージシステム1に設けられるウェハストッカー3の数は、1でもよいし、3以上でもよい。
NAND型フラッシュメモリのような不揮発性メモリのデータ保持特性を考慮すると、半導体ウェハ40は、常温(例えば、15~25℃)以下の低温で保管されることが好ましい。半導体ウェハ40を低温で保管することにより、NAND型フラッシュメモリの各メモリセルに蓄えられた電荷の保持期間を長くすることができる。
よって、ウェハストッカー3には、半導体ウェハ40を冷却するための温度調節装置が設けられていてもよい。温度調節装置は、例えば、冷却ファンであってもよい。
カセッター4は、半導体ウェハ40とカセット筐体80とから、半導体ウェハ40を含むウェハカセット90を組み立てる。また、カセッター4は、ウェハカセット90を分解して、ウェハカセット90から半導体ウェハ40を取り出す動作も実行する。カセッター4の筐体も、ホストコンピュータ2と同様に、19インチラックのようなサーバラックを用いて実現され得る。
ウェハカセットストッカー5は、複数のウェハカセット90を保管可能である。ウェハカセットストッカー5の筐体も、ホストコンピュータ2と同様に、19インチラックのようなサーバラックを用いて実現され得る。ウェハカセットストッカー5は、複数のウェハカセット90だけでなく、複数の空の(empty)カセット筐体80の保管にも使用され得る。空のカセット筐体80は、どの半導体ウェハ40も含んでいないカセット筐体80である。
ウェハ搬送装置8は、ウェハストッカー3とカセッター4との間で半導体ウェハ40を搬送するように構成されている。
ウェハカセット搬送装置9は、カセッター4とウェハカセットストッカー5とホストコンピュータ2との間でウェハカセット90を搬送するように構成されている。
ウェハストッカー3aの筐体は、側板SP1と、X軸方向で側板SP1の反対側に位置する側板SP2とを含む。側板SP1には、開口a1が形成され得る。側板SP2には、開口b1が形成され得る。開口a1と開口b1のそれぞれは、半導体ウェハ40が通過可能なサイズを有する。
ウェハストッカー3bの筐体は、側板SP11と、X軸方向で側板SP11の反対側に位置する側板SP12とを含む。側板SP12は、ウェハストッカー3aの側板SP1に対向する。側板SP11には、開口a2が形成され得る。側板SP12には、開口b2が形成され得る。開口b2は、開口a1と対向する位置に形成され得る。開口a2と開口b2のそれぞれは、半導体ウェハ40が通過可能なサイズを有する。
ウェハ搬送装置8は、開口a1と開口b2とを通して、ウェハストッカー3aとウェハストッカー3bとの間で半導体ウェハ40を搬送し得る。この場合、開口a1と開口b2との間の空間は、ウェハストッカー3aとウェハストッカー3bとの間を横断する内部搬送経路として機能する。開口a1と開口b2との間の空間は、塵や埃の侵入を防ぐためにカバー部材によって覆われていてもよい。
カセッター4の筐体は、側板SP21と、X軸方向で側板SP21の反対側に位置する側板SP22とを含む。側板SP22は、ウェハストッカー3bの側板SP11に対向する。側板SP21には、開口a3が形成され得る。側板SP22には、開口b3が形成され得る。開口b3は、開口a2と対向する位置に形成され得る。開口a3と開口b3のそれぞれは、半導体ウェハ40が通過可能なサイズを有する。
ウェハ搬送装置8は、開口a2と開口b3とを通して、ウェハストッカー3bとカセッター4との間で半導体ウェハ40を搬送し得る。開口a2と開口b3との間の空間は、ウェハストッカー3bとカセッター4との間を横断する内部搬送経路として機能する。開口a2と開口b3との間の空間は、塵や埃の侵入を防ぐためにカバー部材によって覆われていてもよい。
ウェハカセットストッカー5の筐体は、側板SP31と、X軸方向で側板SP31の反対側に位置する側板SP32とを含む。側板SP32は、カセッター4の側板SP21に対向する。側板SP31には、開口a4が形成され得る。側板SP32には、開口b4が形成され得る。開口b4は、開口a3と対向する位置に形成され得る。開口a4と開口b4のそれぞれは、ウェハカセット90が通過可能なサイズを有する。
ウェハカセット搬送装置9は、開口a3と開口b4とを通して、カセッター4とウェハカセットストッカー5との間でウェハカセット90を搬送し得る。開口a3と開口b4との間の空間は、カセッター4とウェハカセットストッカー5との間を横断する内部搬送経路として機能する。開口a3と開口b4との間の空間は、塵や埃の侵入を防ぐためにカバー部材によって覆われていてもよい。
ホストコンピュータ2のサーバラックは、側板SP41と、X軸方向で側板SP41の反対側に位置する側板SP42とを含む。側板SP42は、ウェハカセットストッカー5の側板SP31に対向する。側板SP42には、開口b5が形成され得る。開口b5は、開口a4と対向する位置に形成され得る。開口b5は、ウェハカセット90が通過可能なサイズを有する。
ウェハカセット搬送装置9は、開口a4と開口b5とを通して、ウェハカセットストッカー5とホストコンピュータ2との間でウェハカセット90を搬送し得る。開口a4と開口b5との間の空間は、ウェハカセットストッカー5とホストコンピュータ2との間を横断する内部搬送経路として機能する。開口a4と開口b5との間の空間は、塵や埃の侵入を防ぐためにカバー部材によって覆われていてもよい。
ウェハストッカー3とカセッター4との間を横断する内部搬送経路を通して半導体ウェハ40を搬送し、且つ、カセッター4とウェハカセットストッカー5とホストコンピュータ2との間を横断する内部搬送経路を通してウェハカセット90を搬送する構成は、必要な半導体ウェハ40または必要なウェハカセット90を必要な場所に迅速に移動することを可能にする。
これにより、例えば、アクセス対象の半導体ウェハ40を含むアクセス対象のウェハカセット90の組み立てに要する時間と、アクセス対象のウェハカセット90をホストユニット230のスロットに搬送して接続するまでの時間とを短縮することが可能となる。ここで、アクセス対象の半導体ウェハ40は、ホスト装置(ホストユニット230)によってデータの読み出しまたは書き込みが行われるべき半導体ウェハ40である。また、アクセス対象のウェハカセット90は、アクセス対象の半導体ウェハ40を含むウェハカセット90である。
なお、ウェハストッカー3とカセッター4との間を横断する内部搬送経路を使用せずにウェハストッカー3とカセッター4との間で半導体ウェハ40を搬送する搬送装置を、ウェハ搬送装置8として使用することもできる。このようなウェハ搬送装置8としては、例えば、データセンタのフロア内の通路上を移動する搬送ロボット(図6参照)を使用し得る。
同様に、カセッター4とウェハカセットストッカー5とホストコンピュータ2との間を横断する内部搬送経路を使用せずにカセッター4とウェハカセットストッカー5とホストコンピュータ2との間でウェハカセット90を搬送する搬送装置を、ウェハカセット搬送装置9として使用することもできる。このようなウェハカセット搬送装置9としても、例えば、データセンタのフロア内の通路上を移動する搬送ロボット(図6参照)を使用し得る。
次に、ストレージシステム1の基本的な動作について説明する。ホストユニット230は、位置管理機能と、搬送制御機能とを有している。位置管理機能は、複数の半導体ウェハ40それぞれが存在している位置を管理する。搬送制御機能は、カセッター4とウェハ搬送装置8とウェハカセット搬送装置9とを制御することによって半導体ウェハ40の搬送とウェハカセット90の搬送とを制御する。
複数の半導体ウェハ40の各々にはウェハ識別子が付与されている。ホストユニット230は、ウェハ識別子と、このウェハ識別子によって識別される半導体ウェハ40が存在している位置との間の対応関係を管理し得る。
ある半導体ウェハ40が存在し得る位置は、例えば、ホストユニット230内の複数のスロットのうちの任意の一つのスロット、ウェハカセットストッカー5内の複数のウェハカセット保管位置のうちの任意の一つのウェハカセット保管位置、または、ウェハストッカー3内の複数のウェハ保管位置のうちの任意の一つのウェハ保管位置、である。
ホストユニット230は、複数の半導体ウェハ40のうち、アクセス対象である半導体ウェハ40を決定する。ホストユニット230は、アクセス対象の半導体ウェハ40のウェハ識別子に関連付けられている位置を特定し、これによってアクセス対象のウェハカセット90がホストユニット230のいずれかのスロットに接続されているかどうかと、アクセス対象のウェハカセット90がウェハカセットストッカー5に保管されているかどうかを判定することができる。
アクセス対象のウェハカセット90がホストユニット230のいずれかのスロットに接続されている場合、ホストユニット230は、アクセス対象のウェハカセット90に読み出し要求または書き込み要求を送信する。これによって、ホストユニット230はアクセス対象の半導体ウェハ40に対するデータの読み出しまたは書き込みを実行する。
アクセス対象のウェハカセット90がホストユニット230のいずれのスロットに接続されておらず、且つ、ウェハカセットストッカー5に保管されている場合、ホストユニット230は、ウェハカセット搬送装置9に、アクセス対象のウェハカセット90をウェハカセットストッカー5からホストユニット230のいずれかのスロットに搬送させて接続させる。この場合、ホストユニット230は、ウェハカセット搬送装置9に次のような搬送要求を送信し得る。
この搬送要求は、例えば、アクセス対象のウェハカセット90が保管されているウェハカセットストッカー5内の位置(ウェハカセット保管位置)を移動元位置として指定し、且つ、ホストユニット230のいずれかのスロットを移動先位置として指定する。ウェハカセット搬送装置9は、指定された移動元位置に存在しているウェハカセット90を、指定された移動先位置に搬送する。
アクセス対象のウェハカセット90がホストユニット230のいずれのスロットに接続されておらず、且つ、ウェハカセットストッカー5にも保管されていない場合、ホストユニット230は、ウェハ搬送装置8に、アクセス対象の半導体ウェハ40をウェハストッカー3からカセッター4に搬送させる。この場合、ホストユニット230は、ウェハ搬送装置8に次のような搬送要求を送信し得る。
この搬送要求は、アクセス対象の半導体ウェハ40が存在しているウェハストッカー3内の位置(ウェハ保管位置)を移動元位置として指定し、且つ、カセッター4を移動先位置として指定する。ウェハ搬送装置8は、指定された移動元位置に存在している半導体ウェハ40を、指定された移動先位置に搬送する。
さらに、ホストユニット230は、カセッター4に、搬送されたアクセス対象の半導体ウェハ40とカセット筐体80とからアクセス対象のウェハカセット90を組み立てさせる。そして、ホストユニット230は、ウェハカセット搬送装置9に、組み立てられたアクセス対象のウェハカセット90をカセッター4からホストユニット230のいずれかのスロットに搬送させて接続させる。この場合、ホストユニット230は、ウェハカセット搬送装置9に次のような搬送要求を送信し得る。
この搬送要求は、例えば、カセッター4を移動元位置として指定し、且つ、ホストユニット230のいずれかのスロットを移動先位置として指定する。ウェハカセット搬送装置9は、指定された移動元位置に存在しているウェハカセット90を、指定された移動先位置に搬送する。
このように、ホストユニット230は、アクセス対象の半導体ウェハ40またはアクセス対象のウェハカセット90の搬送を制御することによって、複数の半導体ウェハ40のうちの任意の半導体ウェハ40に対してデータの読み出しまたは書き込みを行うことができる。
さらに、ホストユニット230は、複数の半導体ウェハ40それぞれの優先順位を管理する機能も有し得る。複数の半導体ウェハ40それぞれの優先順位を決定するためのアルゴリズムは特定のアルゴリズムに限定されず、様々な条件に基づいて、複数の半導体ウェハ40それぞれの優先順位を決定することができる。
例えば、各半導体ウェハ40に対するアクセス要求に基づいて各半導体ウェハ40の優先順位が決定されてもよい。各半導体ウェハ40に対するアクセス頻度に基づいて、各半導体ウェハ40の優先順位が決定されてもよい。各半導体ウェハ40への最終アクセス時刻からの経過時間に基づいて、各半導体ウェハ40の優先順位が決定されてもよい。各半導体ウェハ40に対するアクセス処理の完了または未完了を示す状態に基づいて、各半導体ウェハ40の優先順位が決定されてもよい。各半導体ウェハ40に対するアクセス処理が完了するまでの見込み残り時間に基づいて、各半導体ウェハ40の優先順位が決定されてもよい。実行されるアプリケーションプログラムに基づいて、各半導体ウェハ40の優先順位が決定されてもよい。各半導体ウェハ40に対するアクセス要求が生じる確率の予測結果に基づいて、各半導体ウェハ40の優先順位が決定されてもよい。
あるいは、アクセス要求、アクセス頻度、最終アクセス時刻からの経過時間、アクセス処理の完了または未完了、アクセス処理完了までの見込み残り時間、実行されるアプリケーションプログラム、およびアクセス確率予測結果、のうちの任意の2つ以上の条件を組み合わせて使用することによって、各半導体ウェハ40の優先順位が決定されてもよい。
ホストユニット230は、複数の半導体ウェハ40それぞれの優先順位に基づいて、複数の半導体ウェハ40それぞれが存在する位置を制御することもできる。例えば、ホストユニット230は、第1レベルの優先順位を有する半導体ウェハ40を含むウェハカセット90がホストユニット230のスロットに接続され、第2レベルの優先順位を有する半導体ウェハ40を含むウェハカセット90がウェハカセットストッカー5に保管され、第3レベルの優先順位を有する半導体ウェハ40がウェハストッカー3に保管されるように、複数の半導体ウェハ40それぞれが存在する位置を制御してもよい。ここで、第2レベルの優先順位は第1レベルの優先順位よりも低い。また、第3レベルの優先順位は第2レベルの優先順位よりも低い。
例えば、ホストユニット230に含まれるスロットの数が2で、ウェハカセットストッカー5に含まれる保管位置の数が2である場合には、最も高い優先順位と2番目に高い優先順位とが第1レベルの優先順位に相当する。また、3番目に高い優先順位と4番目に高い優先順位とが第2レベルの優先順位に相当する。5番目以下の優先順位の集合は、第3レベルの優先順位に相当する。
この場合、ホストユニット230は、個々の半導体ウェハ40に対するアクセス要求とは無関係に、第1レベルの優先順位を有する2つの半導体ウェハ40に対応する2つのウェハカセット90をホストユニット230の2つのスロットにそれぞれ接続してもよい。さらに、ホストユニット230は、個々の半導体ウェハ40に対するアクセス要求とは無関係に、第2レベルの優先順位を有する2つの半導体ウェハ40に対応する2つのウェハカセット90をウェハカセットストッカー5に保管してもよい。また、さらに、ホストユニット230は、個々の半導体ウェハ40に対するアクセス要求とは無関係に、第3レベルの優先順位を有する複数の半導体ウェハ40をウェハストッカー3に保管してもよい。
ここで、ある半導体ウェハ40の優先順位が第3レベルの優先順位から第2レベルの優先順位に上がった場合を想定する。
この場合、ホストユニット230は、この半導体ウェハ40を、組み立て対象の半導体ウェハ40として決定する。組み立て対象の半導体ウェハ40は、ウェハカセット90として組み立てられるべき半導体ウェハ40である。ホストユニット230は、ウェハ搬送装置8に、組み立て対象の半導体ウェハ40をウェハストッカー3からカセッター4に搬送させる。この場合、ホストユニット230は、ウェハ搬送装置8に次のような搬送要求を送信し得る。
この搬送要求は、組み立て対象の半導体ウェハ40が存在しているウェハストッカー3内の位置(ウェハ保管位置)を移動元位置として指定し、且つ、カセッター4を移動先位置として指定する。ウェハ搬送装置8は、指定された移動元位置に存在している半導体ウェハ40を、指定された移動先位置に搬送する。
さらに、ホストユニット230は、カセッター4に、搬送された組み立て対象の半導体ウェハ40とカセット筐体80とからウェハカセット90を組み立てさせる。
そして、ホストユニット230は、ウェハカセット搬送装置9に、組み立てられたウェハカセット90をカセッター4からウェハカセットストッカー5に搬送させる。この場合、ホストユニット230は、ウェハカセット搬送装置9に次のような搬送要求を送信し得る。
この搬送要求は、例えば、カセッター4を移動元位置として指定し、且つ、ウェハカセットストッカー5内の位置(ウェハカセット保管位置)を移動先位置として指定する。ウェハカセット搬送装置9は、指定された移動元位置に存在しているウェハカセット90を、指定された移動先位置に搬送する。
この結果、優先順位が比較的高い半導体ウェハ40に対するアクセス要求が発生する前に、この半導体ウェハ40を含むウェハカセット90を組み立てて、ウェハカセットストッカー5に保管しておくことが可能となる。
この半導体ウェハ40が実際にアクセス対象の半導体ウェハ40として決定された場合、この半導体ウェハ40を含むウェハカセット90がウェハカセットストッカー5に既に保管されているので、この半導体ウェハ40に対するデータの読み出しまたは書き込みが可能になるまでに必要なレイテンシーを削減することが可能となる。
次に、半導体ウェハ40の構成について説明する。図2は、半導体ウェハ40の構成例を示す図である。半導体ウェハ40は、ストレージシステム1においてストレージ媒体として使用される。
半導体ウェハ40は複数の不揮発性メモリデバイス70を含む。半導体ウェハ40のサイズは限定されないが、300mmウェハであってもよい。一つの半導体ウェハ40に含まれる不揮発性メモリデバイス70の数が1024個で、一つの不揮発性メモリデバイス70当たりの記憶容量が32Gバイトである場合、一つの半導体ウェハ40当たりの記憶容量は32Tバイトである。不揮発性メモリデバイス70は例えば矩形形状であり、その1辺には外部と電気的に接続可能な複数の電極(パッド)41が配置されている。
半導体ウェハ40に含まれる複数の不揮発性メモリデバイス70の少なくとも一つの不揮発性メモリデバイス70の記憶領域の一部は、識別情報記憶領域71として使用される。識別情報記憶領域71は、識別情報と、検査符号とを記憶するための記憶領域として使用される。識別情報は、この半導体ウェハ40を識別するためにホストユニット230によって発行される。識別情報としては、個々の半導体ウェハ40を一意に識別可能な識別子(ウェハ識別子)を使用し得る。検査符号は、識別情報の整合性(integrity)を検証するための符号である。検査符号の例には、巡回冗長符号(CRC)、CRCとは異なる別の種類のパリティ、識別情報から算出されるハッシュ値が含まれる。
識別情報と検査符号のペアを識別情報記憶領域71に記憶させることにより、識別情報記憶領域71から識別情報として読み出される値の整合性を検証することができる。よって、工場出荷直後の新しい半導体ウェハ40(すなわち、識別情報と検査符号のペアが記憶されていない半導体ウェハ40)の識別情報記憶領域71内に記憶されているランダムな値が誤って識別情報として扱われてしまうことを防止することが可能となる。
半導体ウェハ40においては、識別情報記憶領域71以外の他の記憶領域は、ユーザデータまたは管理データを記憶するために用いられる。管理データは、例えば、半導体ウェハ40に対するデータの書き込みおよび読み出しを行うために必要なウェハ制御情報を含む。ウェハ制御情報の例には、半導体ウェハ40に対応する論理物理アドレス変換テーブルが含まれる。
次に、ウェハカセット90の構成について説明する。図3は、ウェハカセット90の構成例を示す図である。ウェハカセット90は、ストレージシステム1においてストレージデバイスとして使用される。ウェハカセット90は、半導体ウェハ40とカセット筐体80とを含む。
カセット筐体80は、下部ケース21と、上部ケース31とを含む。下部ケース21には、半導体ウェハ40が載置可能である。下部ケース21は、半導体ウェハ40を載置するためのウェハ載置領域を含む。下部ケース21と上部ケース31とは互いに接合可能である。上部ケース31は、プローブカード11を含む。なお、プローブカード11は、上部ケース31から独立していてもよい。すなわち、プローブカード11は、カセット筐体80の必須の構成要素ではない。
プローブカード11は、下面と、下面と反対側の上面とを有する基板を含む。下面は、下部ケース21内のウェハ載置領域に載置された半導体ウェハ40と対向する。
プローブカード11の下面には、複数のプローブピン51が配置されている。複数のプローブピン51は、下部ケース21内のウェハ載置領域に載置された半導体ウェハ40の複数のパッド41にそれぞれ接触可能である。各プローブピン51は、半導体ウェハ40のパッド41に電気信号を供給する、またはパッド41から電気信号を受け取るために使用される。プローブピン51は、プローブまたはプローブニードルとも称される。プローブカード11の下面に配置されるプローブピン51の総数は、半導体ウェハ40内のパッド41の総数と同じあってもよい。この場合、プローブカード11は、半導体ウェハ40内の複数のパッド41に一括して接続することができる。これにより、並列にアクセス可能な不揮発性メモリデバイス70の数を増やすことができる。
プローブカード11の上面には、コントローラ61が配置されている。コントローラ61は、半導体ウェハ40内の複数の不揮発性メモリデバイス70を制御するように構成されたメモリコントローラである。コントローラ61は、system-on-a-chip(SoC)のようなlarge scale integration(LSI)によって実現されてもよい。図3では、複数のコントローラ61がプローブカード11の上面に配置される構成例が例示されている。プローブカード11の上面に配置されるコントローラ61の数は1であってもよいし、2以上であってもよい。
コントローラ61は、半導体ウェハ40内の各不揮発性メモリデバイス70のデータ管理を実行するように構成されたフラッシュトランスレーション層(FTL)として機能し得る。FTLによって実行されるデータ管理には、論理アドレスそれぞれと複数の不揮発性メモリデバイス70の物理アドレスそれぞれとの間の対応関係を示すマッピング情報の管理等が含まれる。論理アドレスは、アクセス対象の半導体ウェハ40の論理アドレス空間内の位置をアドレス指定するためにホストユニット230によって使用されるアドレスである。ある論理アドレスに対応する物理アドレスは、この論理アドレスに対応するデータが書き込まれた不揮発性メモリデバイス70内の物理的な記憶位置を指し示す。論理アドレスとしては、一般に、LBA(logical block address(addressing))が使用され得る。
また、カセット筐体80は、不揮発性メモリを含む。この不揮発性メモリには、カセット筐体80を識別するための識別子が記憶され得る。この不揮発性メモリは、コントローラ61内に実装されてもよい。
次に、カセッター4の構成例を説明する。図4は、カセッター4の構成例を示す図である。カセッター4は、ウェハカセット90の組み立ておよび分解を実行する。
カセッター4は、半導体ウェハ40が載置された下部ケース21と、上部ケース31とを互い機械的に接合することによって、ウェハカセット90を組み立てる。ウェハカセット90を組み立てる際には、カセッター4は、半導体ウェハ40の複数のパッド41にプローブカード11の複数のプローブピン51を接触させるための位置合わせを行う。そしてカセッター4は、複数のパッド41に複数のプローブピン51がそれぞれ接触するように、下部ケース21と上部ケース31とを互い接合する。
カセッター4は、ステージ401と、アクチュエータ402とを含む。ステージ401は、下部ケース21を保持する機構を有している。カセッター4は、ウェハ搬送装置8によってウェハストッカー3からカセッター4に搬送された半導体ウェハ40を、ステージ401に置かれた下部ケース21に載置する。
アクチュエータ402は、上部ケース31またはステージ401をZ軸方向に移動させて、半導体ウェハ40の複数のパッド41とプローブカード11の複数のプローブピン51とを接触させる。このとき、下部ケース21と上部ケース31とは互いに接合される。これにより、半導体ウェハ40は、カセット筐体80内に収容される。半導体ウェハ40の複数のパッド41とプローブカード11の複数のプローブピン51とがそれぞれ接触されることにより、コントローラ61と半導体ウェハ40(より詳しくは複数の不揮発性メモリデバイス70)とが電気的に接続される。
ウェハカセット90を分解する際には、アクチュエータ402は、上部ケース31またはステージ401を、Z軸方向に組み立て時とは反対側に移動させて、上部ケース31と下部ケース21とを互い分離させる。
次に、ホストコンピュータ2の構成について説明する。図5は、ストレージシステム1に含まれるホストコンピュータ2の構成例を示す図である。
図5においては、ホストコンピュータ2用のサーバラックに、2つのホストユニット230a、230bが収容されている場合が例示されている。ホストユニット230a、230bのそれぞれは、ホスト装置として機能する。ホストユニット230a、230bの各々は、1つ以上のスロット、例えば3つのスロット(スロット#1~#3)、を含む。スロット#1~#3のそれぞれには、ウェハカセット90が取り外し自在に挿入可能である。
次に、ストレージシステム1全体の構成について説明する。図6は、ストレージシステム1に含まれるウェハストッカー3a~3cとカセッター4とウェハカセットストッカー5とホストコンピュータ2とウェハ搬送装置8とウェハカセット搬送装置9の配置例を示す平面図である。
データセンタ内のフロア(X-Y平面)においては、サーバラックの前面側(例えば、サーバラックの前面扉)が通路に面するように複数のサーバラックが配置されている。図6においては、ストレージシステム1以外の他の各種コンピュータを収容したサーバラックは一般のサーバラックとして表されている。
ウェハストッカー3cは、図1を参照して説明したウェハストッカー3a、3bと同様の構成を有している。
ウェハストッカー3a~3cとカセッター4とウェハカセットストッカー5とホストコンピュータ2の各々も、そのサーバラックの前面側(例えば、サーバラックの前面扉)が通路に面するように配置され得る。
搬送ロボット101は、通路上を移動可能な移動型搬送ロボットである。搬送ロボット101は、ウェハストッカー3a~3cとカセッター4との間で半導体ウェハ40を搬送するウェハ搬送装置として機能することができる。搬送ロボット101は、各サーバラックに対して半導体ウェハ40を出し入れ可能なアームを有している。搬送ロボット101は、ウェハストッカー3a~3cとカセッター4の各々に、その前面側を通して半導体ウェハ40を追加する動作を行う。また、搬送ロボット101は、ウェハストッカー3a~3cとカセッター4の各々から、その前面側を通して半導体ウェハ40を取り出す動作を行う。
搬送ロボット101は、ウェハストッカー3a~3cとカセッター4との間を横断する内部搬送経路(すなわち、開口b3とa2のペア、開口b2とa1のペア、開口b1とa0のペア)を通して半導体ウェハ40を搬送するウェハ搬送装置8の代わりに、あるいは、加えて、使用し得る。
搬送ロボット102、103の各々は、通路上を移動可能な移動型搬送ロボットである。搬送ロボット102、103の各々は、ホストコンピュータ2とウェハカセットストッカー5とカセッター4との間でウェハカセット90を搬送するウェハカセット搬送装置として機能することができる。搬送ロボット102、103の各々は、各サーバラックに対してウェハカセット90を出し入れ可能なアームを有している。搬送ロボット102、103の各々は、ホストコンピュータ2とウェハカセットストッカー5とカセッター4の各々に、その前面側を通してウェハカセット90を追加する動作を行う。また、搬送ロボット102、103の各々は、ホストコンピュータ2とウェハカセットストッカー5とカセッター4の各々から、その前面側を通してウェハカセット90を取り出す動作を行う。
搬送ロボット102、103の各々は、ホストコンピュータ2とウェハカセットストッカー5とカセッター4との間を横断する内部搬送経路(すなわち、開口b5とa4のペア、開口b4とa3のペア)を通して半導体ウェハ40を搬送するウェハカセット搬送装置9の代わりに、あるいは、加えて、使用し得る。
図7は、ウェハストッカー3の構成例を示す平面図である。
ウェハストッカー3の筐体は、例えば、36インチ(914.4mm)の奥行きを有するディープ型の19インチラックを用いて実現されている。図7に示す構成例では、36インチの奥行きを効率よく利用するために、ウェハストッカー3の前面とウェハストッカー3の背面との間の中央位置に、ロボットアーム80が配置されている。ロボットアーム80の両側、つまりロボットアーム80とウェハストッカー3の前面との間の空間と、ロボットアーム80とウェハストッカー3の背面との間の空間の双方は、それぞれが300mmウェハである複数の半導体ウェハ40の保管位置として使用される。
ウェハストッカー3a、3bのそれぞれに配置されるロボットアーム80aとロボットアーム80bは、ウェハ搬送装置8として機能する。半導体ウェハ40は、開口a1と開口b2とを通して、ロボットアーム80aとロボットアーム80bとの間で受け渡される。
図8は、ウェハ搬送装置8として使用されるロボットアーム80の構成例を示す図である。
ロボットアーム80の構成は限定されないが、図8では、ベース81と、支柱82と、アーム83と、把持部84とを含む構成が例示されている。
支柱82は、ベース81に支持された一端を有している。支柱82は、Z軸方向に伸縮可能である。アーム83は、支柱82の他端に取り付けられている。アーム83は、支柱82の周りで回転するように構成されている。アーム83の先端部には、把持部84が取り付けられている。把持部84は、例えば吸着ヘッドやロボットハンドである。
ウェハカセット搬送装置9も、ウェハ搬送装置8と同様に、ホストコンピュータ2とウェハカセットストッカー5とカセッター4にそれぞれ配置されたロボットアームによって実現し得る。
次に、半導体ウェハ40を搬送する動作について説明する。図9Aは、ウェハストッカー3bの側板SP12の開口b2と、ウェハストッカー3aの側板SP1の開口a1とを通して、ウェハストッカー3bからウェハストッカー3aに半導体ウェハ40を搬送する動作の一部分を示す図である。
(1)ウェハストッカー3bに配置されたロボットアーム80bのアーム83とウェハストッカー3aに配置されたロボットアーム80aのアーム83各々の位置は、初期位置である。
(2)搬送対象である半導体ウェハ40が保管されている保管位置がロボットアーム80bのアーム83の初期位置よりも低い位置に存在する場合、ロボットアーム80bの支柱82が縮むことにより、アーム83が搬送対象の半導体ウェハ40の保管位置に下げられる。そして、ロボットアーム80bの支柱82が回転して、アーム83が搬送対象の半導体ウェハ40の上方に移動される。
(3)ロボットアーム80bのアーム83は、把持部84によって搬送対象の半導体ウェハ40を把持する。支柱82は、開口b2と開口a1とを含む内部搬送経路の位置までアーム83を上昇させる。アーム83は、搬送対象の半導体ウェハ40を内部搬送経路まで搬送する。
(4)ロボットアーム80aのアーム83は、搬送対象の半導体ウェハ40の上方に移動され、そして把持部84によって搬送対象の半導体ウェハ40を把持する。
図9Bは、ウェハストッカー3bからウェハストッカー3aに半導体ウェハ40を搬送する動作の残りの部分を示す図である。
(5)ロボットアーム80bのアーム83は、搬送対象の半導体ウェハ40を解放し、そして初期位置に戻る。
(6)ロボットアーム80aのアーム83は、搬送対象の半導体ウェハ40を搬送先の保管位置に搬送する。
(7)ロボットアーム80aのアーム83は、搬送対象の半導体ウェハ40を解放し、そして初期位置に戻る。
図10は、図6のウェハ搬送装置8とウェハカセット搬送装置9としてそれぞれ使用される複数のロボットアームの配置例を示す平面図である。
図10に示す配置例においては、ウェハストッカー3a~3c内の中央位置にロボットアーム8a~8cがそれぞれ配置されている。同様に、カセッター4およびウェハカセットストッカー5の中央位置にもロボットアーム9aおよび9bがそれぞれ配置されている。
ロボットアーム8a~8cとロボットアーム9aは、ウェハ搬送装置8として機能する。また、ロボットアーム9aおよび9bは、開口a3と開口b4とを通して、カセッター4とウェハカセットストッカー5との間でウェハカセット90を搬送するウェハカセット搬送装置9として機能する。
ウェハカセットストッカー5とホストコンピュータ2との間のウェハカセット90の搬送は、搬送ロボット102または103によっても行われ得る。搬送ロボット102または103は、例えば、ウェハカセットストッカー5の前面を通してウェハカセットストッカー5からウェハカセット90を取り出し、そしてホストコンピュータ2の前面に移動する。そして、搬送ロボット102または103は、ホストコンピュータ2の前面を通して、ウェハカセット90をホストユニット230のスロットに接続する。あるいは、搬送ロボット102または103は、ホストコンピュータ2の前面を通して、ウェハカセット90をホストユニット230のスロットから取り出し、そしてウェハカセットストッカー5またはカセッター4の前面に移動する。そして、搬送ロボット102または103は、ホストユニット230のスロットから取り出したウェハカセット90を、ウェハカセットストッカー5またはカセッター4の前面を通して、ウェハカセットストッカー5またはカセッター4に入れる。
図11は、図6のウェハ搬送装置8とウェハカセット搬送装置9としてそれぞれ使用される複数のロボットアームの別の配置例を示す平面図である。
図11に示す配置例では、ウェハストッカー3a~3c内の中央位置にロボットアーム8a~8cがそれぞれ配置されている。同様に、カセッター4、ウェハカセットストッカー5およびホストコンピュータ2の中央位置にもロボットアーム9a~9cがそれぞれ配置されている。
ロボットアーム8a~8cとロボットアーム9aは、図6のウェハ搬送装置8として機能する。また、ロボットアーム9a~9cは、図6のウェハカセット搬送装置9として機能する。
例えば、ウェハカセット90がカセッター4において組み立てられた場合を想定する。この場合、ウェハカセット90は、ロボットアーム9aからロボットアーム9bに受け渡される。さらに、ウェハカセット90は、ロボットアーム9bからロボットアーム9cに受け渡される。ロボットアーム9cは、ウェハカセット90をホストユニット230のスロットに接続する。
また、ロボットアーム9cは、ウェハカセット90をホストユニット230のスロットから取り外し、取り外したウェハカセット90をロボットアーム9bに受け渡す。ロボットアーム9bは、このウェハカセット90をウェハカセットストッカー5内の保管位置に搬送するか、またはロボットアーム9aに受け渡す。
図12は、ウェハカセット90の構成例を示す図である。
ウェハカセット90は、薄い箱形のカセット筐体80の背面に設けられた複数のプラグ端子22を含む。複数のプラグ端子22の各々は、ホストユニット230と通信するためのホストインタフェースである。各プラグ端子22は、例えば、PCI expressTM(PCIeTM)規格に準拠したPCIeオス端子、またはEthernet用のオス端子である。
図13は、ホストユニット230の構成例を示す図である。
図13の左部は、ホストユニット230をその前面側から見た図である。図13の中央部は、ホストユニット230をその側面側から見た図である。図13の右部は、ホストユニット230をその上面側から見た図である。
ホストユニット230は3つのスロット#1~#3を含む。スロット#1~#3の各々は、ウェハカセット90を収容可能な空洞を有している。図13の左部では、これらスロット#1~#3の各々にウェハカセット90が収容されている場合が示されている。
ホストユニット230においては、スロット毎に、複数のレセプタ端子232が設けられている。複数のレセプタ端子232の各々は、例えば、PCIeメス端子、またはEthernet用のメス端子である。また、ホストユニット230においては、ホスト基板とも称される上述したシステム基板と、電源ユニットとが、コンポーネント231として設けられている。システム基板(ホスト基板)には、プロセッサ、メモリ、システムコントローラ、通信インタフェースコントローラ等が設けられている。
ウェハカセット90がホストユニット230のあるスロットに接続された場合、ウェハカセット90の複数のプラグ端子22は、このスロット内の奥側に設けられた複数のレセプタ端子232にそれぞれ接続される。これらレセプタ端子232の各々は、システム基板に電気的に接続されている。
ホストユニット230の背面からは、電源ユニットに接続された電源ケーブルと、システム基板に接続されたネットワークケーブル等が、外部に導出されている。
図14は、ホストユニット230の構成例を示すブロック図である。
ホストユニット230は、プロセッサ201、メインメモリ202、システムコントローラ203、および通信インタフェースコントローラ204、等を含む。プロセッサ201、メインメモリ202、システムコントローラ203、および通信インタフェースコントローラ204は、ホストユニット230のシステム基板に実装されている。
メインメモリ202は、例えば、ダイナミックランダムアクセスメモリ(DRAM)である。
通信インタフェースコントローラ204は、通信インタフェース205を介して、カセッター4、ウェハ搬送装置8、およびウェハカセット搬送装置9と通信を行う。通信インタフェース205としては、例えば、Ethernet規格に準拠したインタフェースを使用し得る。この場合、通信インタフェースコントローラ204は、例えば、ネットワークインタフェースコントローラ(NIC)によって実現し得る。
プロセッサ201はメインメモリ202にロードされた様々なプログラム(ソフトウェア)を実行する。これらプログラムには、例えば、アプリケーションプログラム211、オペレーティングシステム(OS)212、ファイルシステム213、ウェハカセット90を制御するためのデバイスドライバ214、ストレージ管理ツール216、等が含まれていてもよい。ストレージ管理ツール216は、各半導体ウェハ40と、各カセット筐体80と、各ウェハカセット90とを管理し、且つ、各半導体ウェハ40と各ウェハカセット90の搬送を制御するためのプログラムである。
以降の説明においては、これらプログラムがある処理を実行するという記載は、ホストユニット230(より詳しくはプロセッサ210)がこれらプログラムを実行することによりその処理が実行されることを意味する。
ホストユニット230(より詳しくはプロセッサ210)は、ストレージ管理ツール216の制御の下に、ウェハ管理テーブル221を管理することができる。ウェハ管理テーブル221は、ウェハストッカー3内の複数の半導体ウェハ40のための管理データである。
また、ホストユニット230は、ストレージ管理ツール216の制御の下に、カセット管理テーブル222を管理することができる。カセット管理テーブル222は、ウェハカセットストッカー5内の複数のカセット筐体80または複数のウェハカセット90のための管理データである。
ウェハ管理テーブル221、およびカセット管理テーブル222はメインメモリ202に記憶されてもよい。ある半導体ウェハ40に対応するウェハ管理テーブル221で管理される情報の少なくとも一部は、この半導体ウェハ40の記憶領域に記憶されてもよい。
ホストユニット230は、個々の半導体ウェハ40に固有の識別子を付与するように構成されている。ホストユニット230は、ウェハ管理テーブル221を用いて、各半導体ウェハ40の識別子と、各半導体ウェハ40の優先順位と、各半導体ウェハ40の状態と、各半導体ウェハ40の位置情報とを管理する。図14では、ホストユニット230が、ウェハ識別子W#1、W#2、…、W#nのそれぞれを用いて、ストレージシステム1において使用される複数の半導体ウェハ40のそれぞれを識別する例が示されている。
ホストユニット230は、複数の半導体ウェハ40それぞれの優先順位をウェハ管理テーブル221に格納する。そして、ホストユニット230は、ウェハ管理テーブル221によって管理されている優先順位に基づいて、ウェハ搬送装置8およびウェハカセット搬送装置9に対して、半導体ウェハ40、カセット筐体80、およびウェハカセット90の搬送処理を指示する。
ホストユニット230は、複数の半導体ウェハ40それぞれがホストコンピュータ2、ウェハカセットストッカー5、ウェハストッカー3のいずれに存在するかを示す情報を、各半導体ウェハ40の状態として、ウェハ管理テーブル221に格納する。
ホストユニット230は、ある半導体ウェハ40がホストコンピュータ2に存在する場合、この半導体ウェハ40を含むウェハカセット90がホストユニット230のスロットに接続されていることを認識できる。
また、ホストユニット230は、ある半導体ウェハ40がウェハカセットストッカー5に存在する場合、この半導体ウェハ40を含むウェハカセット90がウェハカセットストッカー5に保管されていることを認識できる。すなわち、ホストユニット230は、この半導体ウェハ40が既にウェハカセット90として組み立てられた状態であることを認識できる。
また、ホストユニット230は、ある半導体ウェハ40がウェハストッカー3に存在する場合、この半導体ウェハ40がウェハストッカー3に保管されていることを認識できる。すなわち、ホストユニット230は、この半導体ウェハ40が未だウェハカセット90に組み立てられていない状態であることを認識できる。
ホストユニット230は、複数の半導体ウェハ40それぞれが接続あるいは保管されている位置を示す情報として、半導体ウェハ40の位置情報をウェハ管理テーブル221に格納する。
ホストユニット230は、ある半導体ウェハ40がホストコンピュータ2に存在する場合、この半導体ウェハ40を含むウェハカセット90が接続されているホストユニット230のスロットを示すスロット番号を、この半導体ウェハ40の位置情報としてウェハ管理テーブル221に格納する。
また、ホストユニット230は、ある半導体ウェハ40がウェハカセットストッカー5に存在する場合、この半導体ウェハ40を含むウェハカセット90が保管されているウェハカセットストッカー5内の位置を示す保管位置番号を、この半導体ウェハ40の位置情報としてウェハ管理テーブル221に格納する。
また、ホストユニット230は、ある半導体ウェハ40がウェハストッカー3に存在する場合、この半導体ウェハ40が保管されているウェハストッカー3内の位置を示す保管位置番号を、この半導体ウェハ40の位置情報としてウェハ管理テーブル221に格納する。
また、ホストユニット230は、個々のカセット筐体80に固有の識別子を付与するように構成されている。ホストユニット230は、カセット管理テーブル222を用いて、各カセット筐体80の識別子と、各カセット筐体80の状態と、各カセット筐体80が存在する位置情報とを管理する。図14では、ホストユニット230が、カセット識別子C#1、C#2、…、C#mのそれぞれを用いて、ストレージシステム1において使用される複数のカセット筐体80のそれぞれを識別する例が示されている。
ホストユニット230は、複数のカセット筐体80それぞれが空の状態か、ウェハカセット90に組み立て済みの状態か、あるいは使用禁止に設定されている状態かを示す情報をカセット管理テーブル222に格納する。
ホストユニット230は、あるカセット筐体80がいずれの半導体ウェハ40も含まずにウェハカセットストッカー5に保管されている場合、このカセット筐体80が空のカセット筐体であることを示す情報を、このカセット筐体80の状態を示す情報としてカセット管理テーブル222に格納する。
また、ホストユニット230は、あるカセット筐体80がある半導体ウェハ40とともにウェハカセット90として組み立て済みである場合、このカセット筐体80(ウェハカセット90)に含まれる半導体ウェハ40のウェハ識別子を、このカセット筐体80の状態を示す情報としてカセット管理テーブル222に格納する。
また、ホストユニット230は、あるカセット筐体80が使用禁止に設定された場合、このカセット筐体80が使用禁止の状態であることを示す情報を、このカセット筐体80の状態を示す情報としてカセット管理テーブル222に格納する。
ホストユニット230は、複数のカセット筐体80それぞれが接続あるいは保管されている位置を示す位置情報をカセット管理テーブル222に格納する。図14では、ホストユニット230が、ストレージシステム1の構成要素のいずれかを示す情報を位置情報としてカセット管理テーブル222に格納する例が示されている。
ホストユニット230は、あるカセット筐体80がホストコンピュータ2に存在する場合、このカセット筐体80を含むウェハカセット90が接続されているホストユニット230のスロットを示すスロット番号を、このカセット筐体80の位置情報としてカセット管理テーブル222に格納してもよい。
ホストユニット230は、ウェハカセット90として組み立てられたあるカセット筐体80がウェハカセットストッカー5に存在する場合、このウェハカセット90が保管されているウェハカセットストッカー5内の保管位置を示す保管位置番号を、このカセット筐体80の位置情報としてカセット管理テーブル222に格納してもよい。
ホストユニット230は、ある空のカセット筐体80がウェハカセットストッカー5に存在する場合、この空のカセット筐体80が保管されているウェハカセットストッカー5内の保管位置を示す保管位置番号を、このカセット筐体80の位置情報としてカセット管理テーブル222に格納してもよい。
図14に示す例では、ウェハ識別子W#1をもつ半導体ウェハ40が、最も高い優先順位を有している(優先順位=1)。ウェハ識別子W#1をもつ半導体ウェハ40は、ホストユニット230のスロット#1に接続されている状態である。また、ウェハ識別子W#2をもつ半導体ウェハ40は、5番目に高い優先順位を有している(優先順位=5)。ウェハ識別子W#2をもつ半導体ウェハ40は、カセット筐体80に格納されているウェハカセット90の状態であり、ウェハカセットストッカー5内の保管位置#2に保管されている。ウェハ識別子W#nをもつ半導体ウェハ40は、11番目に高い優先順位を有している(優先順位=11)。ウェハ識別子W#nをもつ半導体ウェハ40は、ウェハストッカー3内の保管位置#3に保管されている。
また、カセット識別子C#1をもつカセット筐体80は、ウェハ識別子W#1をもつ半導体ウェハ40を含むウェハカセット90として組み立て済みの状態であり、ホストユニット230のスロット#1に接続されている。カセット識別子C#2をもつカセット筐体80は、使用禁止に設定されている状態であり、ウェハカセットストッカー5内の保管位置#1に保管されている。カセット識別子C#mをもつカセット筐体80は、いずれの半導体ウェハ40も含まない空のカセット筐体80の状態であり、ウェハカセットストッカー5内の保管位置#3に保管されている。
次に、実施形態に係るストレージシステム1において実行されるアクセス対象のウェハカセット90を搬送するための処理について説明する。
以降では、簡潔に説明するため、ホストユニット230によるカセット管理テーブル222の情報の更新についての説明を省略する。そのため、各カセット筐体80に付与されるカセット識別子を明示せずに説明を行う。また、以下では、ウェハ識別子A~Eをもつ半導体ウェハ40それぞれをウェハA~Eと称する。
図15Aは、実施形態に係るストレージシステム1において実行されるスワップ動作について説明するための図である。スワップ動作によって、ホストユニット230のスロットに接続されているウェハカセット90は、ウェハカセットストッカー5内の別のウェハカセット90と入れ替えられる。図15Aでは、ホストユニット230に設けられているスロットの数が2である場合が想定されている。
ホストユニット230に空き(available)スロットがなく、且つウェハカセットストッカー5にアクセス対象の半導体ウェハ40を含むウェハカセット90が保管されている場合、ホストユニット230は、ウェハカセット搬送装置9を制御してスワップ動作を実行する。
スワップ動作が開始される前の状態では、ウェハAは、最も高い優先順位を有し(優先順位=1位)、ウェハAを含むウェハカセット90がホストユニット230のスロット#1に接続されている。ウェハBは、二番目に高い優先順位を有し(優先順位=2位)、ウェハBを含むウェハカセット90がホストユニット230のスロット#2に接続されている。ウェハCは、三番目に高い優先順位を有し(優先順位=3位)、ウェハCを含むウェハカセット90がウェハカセットストッカー5内の保管位置#11に保管されている。ウェハDは、四番目に高い優先順位を有し(優先順位=4位)、ウェハDを含むウェハカセット90がウェハカセットストッカー5内の保管位置#12に保管されている。ウェハEは、五番目に高い優先順位を有し(優先順位=5位)、ウェハストッカー3内の保管位置#111に保管されている。
ホストユニット230は、ストレージシステム1に含まれる複数の半導体ウェハ40のうち、アクセス対象である半導体ウェハ40を決定する。ここでは、ウェハCがアクセス対象の半導体ウェハ40として決定された場合を想定する。ホストユニット230は、例えば、アクセス要求、アクセス頻度、最終アクセス時刻からの経過時間、アクセス処理の完了または未完了、アクセス処理完了までの見込み残り時間、実行されるアプリケーションプログラム、アクセス確率予測の結果、等に基づいて、各半導体ウェハ40の優先順位を動的に変更し得る。例えば、ウェハCに対するアクセス要求が生じた場合、ウェハCの優先順位は上げられ得る。また、ホストユニット230のスロットにウェハカセット90として接続されている各半導体ウェハ40の優先順位は、これら各半導体ウェハ40に対するアクセス処理の完了に応じて、または、これら各半導体ウェハ40に対する最終アクセス時刻からの経過時間に応じて、下げられ得る。
このように、ストレージシステム1で管理されている各半導体ウェハ40の優先順位はホストユニット230によって変更される。図15Aでは、ウェハCの優先順位が3位から1位に変更され、ウェハAの優先順位が1位から2位に変更され、ウェハBの優先順位が2位から3位に変更された場合が想定されている。
ホストユニット230に空きスロットがないため、ホストユニット230は、ホストユニット230のスロットに接続されているウェハカセット90(ここでは、ウェハAを含むウェハカセット90、ウェハBを含むウェハカセット90)のうち、最低の優先順位を持つ半導体ウェハ40を含むウェハカセット90を入れ替え対象のウェハカセット90として決定する。ここでは、ウェハBを含むウェハカセット90が入れ替え対象のウェハカセット90として決定される。
ホストユニット230は、ウェハカセット搬送装置9に対して、ウェハBを含むウェハカセット90(ウェハカセット(ウェハB))をホストユニット230のスロット#2からウェハカセットストッカー5に搬送し、且つ、ウェハCを含むウェハカセット90(ウェハカセット(ウェハC))をウェハカセットストッカー5からホストコンピュータ2に搬送してホストユニット230のスロット#2に接続するように、指示する。
これにより、ウェハカセット(ウェハB)は、ホストユニット230のスロット#2から取り外されて、例えば、ウェハカセットストッカー5内の保管位置#11に保管される。ウェハカセット(ウェハC)は、ホストユニット230のスロット#2に接続される。その後、ホストユニット230は、各半導体ウェハ40の優先順位と状態と位置情報とが最新の内容を示すように、ウェハ管理テーブル221を更新する。
結果として、図15Aを参照して説明した処理によって、ホストユニット230のスロット#2に接続されていたウェハカセット(ウェハB)と、ウェハカセットストッカー5に保管されていたウェハカセット(ウェハC)とを入れ替えるスワップ動作が実行される。
図15Bは、ウェハストッカー3に保管されている半導体ウェハ40の優先順位が、ウェハカセットストッカー5に保管されているウェハカセット90のうちのいずれかに含まれる半導体ウェハ40の優先順位よりも高くなった場合に、実施形態に係るストレージシステム1において実行される動作について説明するための図である。
図15Bに示す例においては、ウェハAは、最も高い優先順位を有し(優先順位=1位)、ウェハAを含むウェハカセット90がホストユニット230のスロット#1に接続されている。ウェハBは、二番目に高い優先順位を有し(優先順位=2位)、ウェハBを含むウェハカセット90がホストユニット230のスロット#2に接続されている。ウェハCは、三番目に高い優先順位を有し(優先順位=3位)、ウェハCを含むウェハカセット90がウェハカセットストッカー5内の保管位置#11に保管されている。ウェハDは、四番目に高い優先順位を有し(優先順位=4位)、ウェハDを含むウェハカセット90がウェハカセットストッカー5内の保管位置#12に保管されている。ウェハEは、五番目に高い優先順位を有し(優先順位=5位)、ウェハストッカー3内の保管位置#111に保管されている。
ここで、各半導体ウェハ40の優先順位がホストユニット230によって変更され、この結果、ウェハストッカー3に存在するウェハEの優先順位が5位から3位に変更され、ウェハカセットストッカー5に存在するウェハCの優先順位が3位から4位に変更され、ウェハカセットストッカー5に存在するウェハDの優先順位が4位から5位に変更された場合を想定する。
ホストユニット230は、ウェハカセットストッカー5に保管されているウェハカセット90の中から、最低の優先順位を持つ半導体ウェハ40を含むウェハカセット90を選択する。ここでは、ウェハDを含むウェハカセット90(ウェハカセット(ウェハD))が選択される。そして、ホストユニット230は、ウェハカセット(ウェハD)をウェハカセットストッカー5からカセッター4に搬送するようにウェハカセット搬送装置9に指示する。
また、ホストユニット230は、優先順位が5位から3位に上がったウェハEをウェハストッカー3からカセッター4に搬送するようにウェハ搬送装置8に指示する。これにより、カセッター4には、ウェハカセット(ウェハD)と、ウェハEとが搬送される。
その後、ホストユニット230は、ウェハカセット(ウェハD)をウェハDと空のカセット筐体80とに分解するようにカセッター4に指示する。カセッター4は、搬送されたウェハカセット(ウェハD)をウェハDと空のカセット筐体80とに分解する。さらに、ホストユニット230は、空のカセット筐体80とウェハEとからウェハEを含むウェハカセット90(ウェハカセット(ウェハE))を組み立てるようにカセッター4に指示する。カセッター4は、空のカセット筐体80とウェハEとからウェハカセット(ウェハE)を組み立てる。ウェハカセット(ウェハE)の組み立てに使用される空のカセット筐体80は、ウェハカセット(ウェハD)を分解することによって得られた空のカセット筐体80であってもよい。
ホストユニット230は、組み立てられたウェハカセット(ウェハE)をカセッター4からウェハカセットストッカー5内の保管位置#12に搬送するようにウェハカセット搬送装置9に指示する。そして、ホストユニット230は、ウェハカセット(ウェハD)の分解によってウェハカセット(ウェハD)から取り出されたウェハDを、カセッター4からウェハストッカー3内の保管位置#111に搬送するようにウェハ搬送装置8に指示する。
これにより、ウェハカセット(ウェハE)は、ウェハカセットストッカー5内の保管位置#12に保管され、ウェハDは、ウェハストッカー3内の保管位置#111に保管される。その後、ホストユニット230は、各半導体ウェハ40の優先順位と状態と位置情報とが最新の内容を示すように、ウェハ管理テーブル221を更新する。
結果として、図15Bを参照して説明した処理では、各半導体ウェハ40の優先順位が更新されることに応じて、ウェハストッカー3内の保管位置#111に保管されていたウェハEがカセッター4に搬送されて、ウェハEを含むウェハカセット90が組み立てられる。
次に、アクセス対象のウェハカセット90をホストユニット230のスロットに搬送する処理について説明する。図16A~16Fは、ホストコンピュータ2のホストユニット230が4つのスロットを備え、ウェハカセットストッカー5が4つの保管位置を備えている場合を例示する。
図16Aは、アクセス対象のウェハカセット90がホストユニット230のスロットに接続済みである場合に、実施形態に係るストレージシステム1において実行される動作について説明するための図である。
例えば、1位から4位の優先順位を有する4つのウェハA~Dをそれぞれ含む4つのウェハカセット90が、ホストユニット230のスロット#1~スロット#4にそれぞれ接続されている。また、5位から8位の優先順位を有する4つのウェハE~Hをそれぞれ含む4つのウェハカセット90が、ウェハカセットストッカー5内の保管位置#11~#14にそれぞれ保管されている。また、9位から10位の優先順位を有する2つのウェハI~Jが、ウェハストッカー3内の保管位置#111~#112にそれぞれ保管されている。
ここで、ホストユニット230がウェハDをアクセス対象の半導体ウェハ40として決定した場合を想定する。上述したように、ウェハDに対するアクセス要求が生じた場合は、ウェハDの優先順位は上げられ得る。また、ホストユニット230のスロットに接続されている他のウェハカセット90に含まれる半導体ウェハ40(ここでは、ウェハA~C)の各々の優先順位は、例えば、その半導体ウェハ40に対するアクセス処理の完了に応じて、または、その半導体ウェハ40に対する最終アクセス時刻からの経過時間に応じて、下げられ得る。図16Aでは、ウェハDの優先順位が4位から1位に変更され、ウェハAの優先順位が1位から2位に変更され、ウェハBの優先順位が2位から3位に変更され、ウェハCの優先順位が3位から4位に変更された場合が想定されている。
ホストユニット230は、ウェハ管理テーブル221を参照し、アクセス対象のウェハDを含むウェハカセット90(ウェハカセット(ウェハD))がホストユニット230のスロット#4に既に接続されていることを認識する。ホストユニット230は、スロット#4に接続されているウェハカセット(ウェハD)にリードコマンドまたはライトコマンドを送信し、これによってウェハDに対するデータの読み出しまたは書き込みを実行する。
図16Bは、ホストユニット230に空きスロットがあり、且つ、アクセス対象のウェハカセット90がウェハカセットストッカー5に保管されている場合に、実施形態に係るストレージシステム1において実行される動作について説明するための図である。
1位から3位の優先順位を有する3つのウェハA~Cをそれぞれ含む3つのウェハカセット90が、ホストユニット230のスロット#1~スロット#3にそれぞれ接続されている。スロット#4は、どのウェハカセット90も接続されていない空きスロットである。また、4位から7位の優先順位を有する4つのウェハD~Gをそれぞれ含む4つのウェハカセット90が、ウェハカセットストッカー5内の保管位置#11~#14にそれぞれ保管されている。また、8位から10位の優先順位を有する3つのウェハH~Jが、ウェハストッカー3内の保管位置#111~#113にそれぞれ保管されている。
ここで、ホストユニット230がウェハDをアクセス対象の半導体ウェハ40として決定した場合を想定する。各半導体ウェハ40の優先順位はホストユニット230によって変更され得る。図16Bでは、ウェハDの優先順位が4位から1位に変更され、ウェハAの優先順位が1位から2位に変更され、ウェハBの優先順位が2位から3位に変更され、ウェハCの優先順位が3位から4位に変更された場合が想定されている。
ホストユニット230は、ウェハ管理テーブル221を参照し、アクセス対象であるウェハDを含むウェハカセット90(ウェハカセット(ウェハD))がウェハカセットストッカー5内の保管位置#11に保管されていることを認識する。加えて、ホストユニット230は、ホストユニット230のスロット#4がいずれのウェハカセット90も接続されていない空きのスロットであることも認識する。ホストユニット230は、ウェハカセット(ウェハD)をウェハカセットストッカー5内の保管位置#11からホストユニット230のスロット#4に搬送するようにウェハカセット搬送装置9に指示する。これにより、ウェハカセット搬送装置9は、ウェハカセット(ウェハD)をウェハカセットストッカー5からホストユニット230のスロット#4に搬送してスロット#4に接続する。この結果、ホストユニット230は、アクセス対象のウェハであるウェハDに対するデータの読み出しまたは書き込みを実行できるようになる。
図16Cは、ホストユニット230に空きスロットがあり、且つウェハカセットストッカー5に空のカセット筐体80がなく、且つ、アクセス対象のウェハカセット90がウェハカセットストッカー5に保管されていない場合に、実施形態に係るストレージシステム1において実行される動作について説明するための図である。
1位から3位の優先順位を有する3つのウェハA~Cをそれぞれ含む3つのウェハカセット90が、ホストユニット230のスロット#1~スロット#3にそれぞれ接続されている。スロット#4は、どのウェハカセット90も接続されていない空きスロットである。また、4位から7位の優先順位を有する4つのウェハD~Gをそれぞれ含む4つのウェハカセット90が、ウェハカセットストッカー5内の保管位置#11~#14にそれぞれ保管されている。また、8位から10位の優先順位を有する3つのウェハH~Jが、ウェハストッカー3内の保管位置#111~#113にそれぞれ保管されている。
ここで、ホストユニット230によってウェハHがアクセス対象の半導体ウェハ40として決定された場合を想定する。各半導体ウェハ40の優先順位はホストユニット230によって変更され得る。図16Cでは、アクセス対象のウェハHの優先順位が8位から1位に変更され、ウェハA、B、…、Gの優先順位が、2位、3位、…、8位にそれぞれ変更された場合が想定されている。
ホストユニット230は、ウェハ管理テーブル221を参照し、アクセス対象であるウェハHがウェハストッカー3内の保管位置#111に保管されていることを認識する。加えて、ホストユニット230は、ホストユニット230のスロット#4がいずれのウェハカセット90も接続されていない空きスロットであることを認識する。さらに、ホストユニット230は、カセット管理テーブル222を参照し、ウェハカセットストッカー5に空のカセット筐体80が保管されていないことを認識する。
ホストユニット230は、ウェハHをウェハストッカー3内の保管位置#111からカセッター4に搬送するようにウェハ搬送装置8に指示する。
そして、ホストユニット230は、ウェハカセットストッカー5に保管されているウェハカセット90の中から、最低の優先順位を持つ半導体ウェハ40を含むウェハカセット90を選択する。ここでは、ウェハGを含むウェハカセット90(ウェハカセット(ウェハG))が選択される。ホストコンピュータ2は、ウェハカセット(ウェハG)をウェハカセットストッカー5からカセッター4に搬送するようにウェハカセット搬送装置9に指示する。これにより、カセッター4には、ウェハカセット(ウェハG)と、ウェハHとが搬送される。
次いで、ホストユニット230は、ウェハカセット(ウェハG)をウェハGと空のカセット筐体80とに分解するようにカセッター4に指示する。そして、ホストユニット230は、ウェハカセット(ウェハG)を分解することによって得られた空のカセット筐体80と、カセッター4に搬送されたウェハHとから、ウェハHを含むウェハカセット90(ウェハカセット(ウェハH))を組み立てるようにカセッター4に指示する。カセッター4は、ウェハカセット(ウェハG)を分解することによって得られた空のカセット筐体80と、カセッター4に搬送されたウェハHとから、ウェハカセット(ウェハH)を組み立てる。
さらに、ホストユニット230は、ウェハカセット(ウェハG)を分解することによってウェハカセット(ウェハG)から取り出されたウェハGを、カセッター4からウェハストッカー3内の保管位置#114に搬送するようにウェハ搬送装置8に指示する。また、ホストユニット230は、組み立てられたウェハカセット(ウェハH)をカセッター4からホストユニット230のスロット#4に搬送するようにウェハカセット搬送装置9に指示する。結果として、ウェハGはウェハストッカー3内の保管位置#114に保管され、ウェハカセット(ウェハH)はホストユニット230のスロット#4に接続される。
その後、ホストユニット230は、各半導体ウェハ40の優先順位と状態と位置情報とが最新の内容を示すように、ウェハ管理テーブル221を更新する。
図16Dは、ホストユニット230に空きスロットがあり、ウェハカセットストッカー5に空のカセット筐体80があり、且つ、アクセス対象のウェハカセット90がウェハカセットストッカー5に保管されていない場合に、実施形態に係るストレージシステム1において実行される動作について説明するための図である。
1位から3位の優先順位を有する3つのウェハA~Cをそれぞれ含む3つのウェハカセット90が、ホストユニット230のスロット#1~スロット#3にそれぞれ接続されている。スロット#4は、どのウェハカセット90も接続されていない空きスロットである。また、4位から6位の優先順位を有する3つのウェハD~Fをそれぞれ含む3つのウェハカセット90が、ウェハカセットストッカー5内の保管位置#11~#13にそれぞれ保管されている。ウェハカセットストッカー5内の保管位置#14には、空のカセット筐体80が保管されている。また、7位から10位の優先順位を有する4つのウェハG~Jが、ウェハストッカー3内の保管位置#111~#114にそれぞれ保管されている。
ここで、ホストユニット230によってウェハHがアクセス対象の半導体ウェハ40として決定された場合を想定する。各半導体ウェハ40の優先順位はホストユニット230によって変更され得る。図16Dでは、ウェハHの優先順位が8位から1位に変更され、ウェハA、B、…、Gの優先順位が、2位、3位、…、8位にそれぞれ変更された場合が想定されている。
ホストユニット230は、ウェハ管理テーブル221を参照し、アクセス対象であるウェハHがウェハストッカー3内の保管位置#112に保管されていることを認識する。加えて、ホストユニット230は、ホストユニット230のスロット#4がいずれのウェハカセット90も接続されていない空きスロットであることを認識する。さらに、ホストユニット230は、カセット管理テーブル222を参照し、ウェハカセットストッカー5内の保管位置#14に空のカセット筐体80が保管されていることを認識する。
ホストユニット230は、ウェハHをウェハストッカー3内の保管位置#112からカセッター4に搬送するようにウェハ搬送装置8に指示する。
そして、ホストユニット230は、ウェハカセットストッカー5内の保管位置#14に保管されている空のカセット筐体80をウェハカセットストッカー5からカセッター4に搬送するようにウェハカセット搬送装置9に指示する。これにより、カセッター4には、空のカセット筐体80と、ウェハHとが搬送される。
ホストユニット230は、この空のカセット筐体80と、ウェハHとから、ウェハHを含むウェハカセット90(ウェハカセット(ウェハH))を組み立てるようにカセッター4に指示する。カセッター4は、この空のカセット筐体80とウェハHとからウェハカセット(ウェハH)を組み立てる。
ホストユニット230は、組み立てられたウェハカセット(ウェハH)をカセッター4からホストユニット230のスロット#4に搬送して接続するようにウェハカセット搬送装置9に指示する。これにより、ウェハカセット(ウェハH)はホストユニット230のスロット#4に搬送されて接続される。
その後、ホストユニット230は、各半導体ウェハ40の優先順位と状態と位置情報とが最新の内容を示すように、ウェハ管理テーブル221を更新する。
図16Eは、ホストユニット230に空きスロットがなく、ウェハカセットストッカー5内に空き保管位置があり、且つ、アクセス対象のウェハカセット90がウェハカセットストッカー5に保管されていない場合に、実施形態に係るストレージシステム1において実行される動作について説明するための図である。
1位から4位の優先順位を有する4つのウェハA~Dをそれぞれ含む4つのウェハカセット90が、ホストユニット230のスロット#1~スロット#4にそれぞれ接続されている。また、5位から7位の優先順位を有する3つのウェハE~Gをそれぞれ含む3つのウェハカセット90が、ウェハカセットストッカー5内の保管位置#11~#13にそれぞれ保管されている。ウェハカセットストッカー5内の保管位置#14は、ウェハカセット90または空のカセット筐体80のどちらも保管されていない空き保管位置である。また、8位から10位の優先順位を有する3つのウェハH~Jが、ウェハストッカー3内の保管位置#111~#113にそれぞれ保管されている。
ここで、ホストユニット230によってウェハIがアクセス対象の半導体ウェハ40として決定された場合を想定する。各半導体ウェハ40の優先順位はホストユニット230によって変更され得る。図16Eでは、ウェハIの優先順位が9位から1位に変更され、ウェハA、B、…、Hの優先順位が、2位、3位、…、9位にそれぞれ変更された場合が想定されている。
ホストユニット230は、ウェハ管理テーブル221を参照し、アクセス対象であるウェハIがウェハストッカー3内の保管位置#112に保管されていることを認識する。加えて、ホストユニット230は、ホストユニット230に空きスロットがないことを認識する。さらに、ホストユニット230は、カセット管理テーブル222を参照し、ウェハカセットストッカー5内に空き保管位置#14があることを認識する。
ここで、ホストユニット230は、アクセス対象のウェハIよりも優先順位の低い半導体ウェハ40を含むウェハカセット90がホストユニット230に接続されているか否かを判定する。
ホストユニット230に空きスロットがなく、ウェハカセットストッカー5内に空き保管位置があり、且つアクセス対象のウェハIよりも優先順位の低い半導体ウェハ40を含むウェハカセット90がホストユニット230に接続されている場合、ホストユニット230は、ホストユニット230に接続されているウェハカセット90のうち、最低の優先順位を持つ半導体ウェハ40(ここではウェハD)を含むウェハカセット90(ウェハカセット(ウェハD))を、入れ替え対象のウェハカセット90として決定する。
そして、ホストユニット230は、ウェハカセット(ウェハD)をホストユニット230のスロット#4からウェハカセットストッカー5内の保管位置#14に搬送するようにウェハカセット搬送装置9に指示する。
これにより、ウェハカセット(ウェハD)がホストユニット230のスロット#4から取り外されて、ウェハカセットストッカー5内の保管位置#14に移動される。よって、ホストユニット230のスロット#4が空きスロットとなる。そのため、このときのストレージシステム1は、ホストユニット230に空きスロットがあり、ウェハカセットストッカー5に空のカセット筐体80がなく、且つアクセス対象の半導体ウェハ40がウェハストッカー3にある状態になる。これは、図16Cにおいて説明した状態と同じ状態である。
以降では、ホストユニット230は、図16Cを参照して説明した動作と同様の動作を実行することで、アクセス対象の半導体ウェハIを含むウェハカセット90をホストユニット230のスロット#4に接続させることができる。
具体的には、まず、ホストユニット230は、ウェハIをウェハストッカー3内の保管位置#112からカセッター4に搬送するようにウェハ搬送装置8に指示する。
ウェハIの優先順位よりも低い優先順位を有する半導体ウェハ40を含むウェハカセット90がウェハカセットストッカー5に保管されているので、ホストユニット230は、ウェハカセットストッカー5に保管されているウェハカセット90の中から、最低の優先順位を持つ半導体ウェハ40を含むウェハカセット90を選択する。ここでは、ウェハGを含むウェハカセット90(ウェハカセット(ウェハG))が選択される。
ホストユニット230は、ウェハカセット(ウェハG)をウェハカセットストッカー5内の保管位置#13からカセッター4に搬送するようにウェハカセット搬送装置9に指示する。これにより、カセッター4には、ウェハカセット(ウェハG)と、ウェハIとが搬送される。
次いで、ホストユニット230は、ウェハカセット(ウェハG)をウェハGと、空のカセット筐体80とに分解するようにカセッター4に指示する。そして、ホストユニット230は、ウェハカセット(ウェハG)を分解することによって得られた空のカセット筐体80と、ウェハIとから、ウェハIを含むウェハカセット90(ウェハカセット(ウェハI))を組み立てるようにカセッター4に指示する。カセッター4は、ウェハカセット(ウェハG)を分解し、そして、ウェハカセット(ウェハG)を分解することによって得られた空のカセット筐体80と、ウェハIとから、ウェハカセット(ウェハI)を組み立てる。
ホストユニット230は、分解されたウェハカセット(ウェハG)から取り出されたウェハGをカセッター4からウェハストッカー3内の空き保管位置#114に搬送するようにウェハ搬送装置8に指示する。また、ホストユニット230は、組み立てられたウェハカセット(ウェハI)をカセッター4からホストユニット230のスロット#4に搬送して接続するようにウェハカセット搬送装置9に指示する。この結果、ウェハカセット(ウェハI)は、ホストユニット230のスロット#4に接続される。また、分解されたウェハカセット(ウェハG)から取り出されたウェハGは、ウェハストッカー3内の保管位置#114で保管される。
その後、ホストユニット230は、各半導体ウェハ40の優先順位と状態と位置情報とが最新の内容を示すように、ウェハ管理テーブル221を更新する。
図16Fは、ホストユニット230に空きスロットがなく、ウェハカセットストッカー5内に空き保管位置がなく、且つアクセス対象の半導体ウェハ40を含むウェハカセット90がウェハカセットストッカー5に保管されていない場合に、実施形態に係るストレージシステム1において実行される動作について説明するための図である。
1位から4位の優先順位を有する4つのウェハA~Dをそれぞれ含む4つのウェハカセット90が、ホストユニット230のスロット#1~スロット#4にそれぞれ接続されている。また、5位から8位の優先順位を有する4つのウェハE~Hをそれぞれ含む4つのウェハカセット90が、ウェハカセットストッカー5内の保管位置#11~#14にそれぞれ保管されている。また、9位から10位の優先順位を有する2つのウェハI~Jが、ウェハストッカー3内の保管位置#111~#112にそれぞれ保管されている。
ここで、ホストユニット230によってウェハIがアクセス対象の半導体ウェハ40として決定された場合を想定する。各半導体ウェハ40の優先順位はホストユニット230によって変更され得る。図16Fでは、ウェハIの優先順位が9位から1位に変更され、ウェハA、B、…、Hの優先順位が、2位、3位、…、9位にそれぞれ変更された場合が想定されている。
ホストユニット230は、ウェハ管理テーブル221を参照し、アクセス対象であるウェハIがウェハストッカー3内の保管位置#111に保管されていることを認識する。加えて、ホストユニット230は、ホストユニット230に空きスロットがないことを認識する。さらに、ホストユニット230は、カセット管理テーブル222を参照し、ウェハカセットストッカー5内にも空き保管位置がないことを認識する。
ここで、ホストユニット230は、アクセス対象のウェハIよりも優先順位の低い半導体ウェハ40を含むウェハカセット90がホストユニット230に接続されているか否かを判定する。
ホストユニット230に空きスロットがなく、ウェハカセットストッカー5内に空き保管位置がなく、且つアクセス対象のウェハIよりも優先順位の低い半導体ウェハ40を含むウェハカセット90がホストユニット230に接続されている場合、ホストユニット230は、ホストユニット230に接続されているウェハカセット90のうち、最低の優先順位を持つ半導体ウェハ40(ここではウェハD)を含むウェハカセット90(ウェハカセット(ウェハD))を、入れ替え対象のウェハカセット90として決定する。
ウェハカセットストッカー5には、アクセス対象のウェハIよりも優先順位が低く、且つ、入れ替え対象のウェハカセット90に含まれているウェハDよりも優先順位が低い半導体ウェハ40を含むウェハカセット90が保管されている。したがって、ホストユニット230は、ウェハカセットストッカー5に保管されているウェハカセット90のうち、最低の優先順位を持つ半導体ウェハ40(ここではウェハH)を含むウェハカセット90(ウェハカセット(ウェハH))を、分解対象のウェハカセット90として決定する。
そして、ホストユニット230は、アクセス対象のウェハIをウェハストッカー3内の保管位置#111からカセッター4に搬送するようにウェハ搬送装置8に指示する。さらに、ホストユニット230は、分解対象のウェハカセット(ウェハH)をウェハカセットストッカー5内の保管位置#14からカセッター4に搬送するようにウェハカセット搬送装置9に指示する。これにより、カセッター4には、ウェハカセット(ウェハH)と、ウェハIとが搬送される。また、ウェハカセットストッカー5内の保管位置#14からウェハカセット(ウェハH)が取り出されるので、ウェハカセットストッカー5内の保管位置#14は空き保管位置となる。
次いで、ホストユニット230は、ウェハカセット(ウェハH)をウェハHと、空のカセット筐体80とに分解するようにカセッター4に指示する。さらに、ホストユニット230は、ウェハカセット(ウェハH)を分解することによって得られた空のカセット筐体80と、ウェハIとから、ウェハIを含むウェハカセット90(ウェハカセット(ウェハI))を組み立てるようにカセッター4に指示する。
カセッター4は、ウェハカセット(ウェハH)を分解する。そして、カセッター4は、ウェハカセット(ウェハH)を分解することによって得られた空のカセット筐体80と、ウェハIとから、ウェハカセット(ウェハI)を組み立てる。
ホストユニット230は、分解されたウェハカセット(ウェハH)から取り出されたウェハHをカセッター4からウェハストッカー3内の空き保管位置#113に搬送するようにウェハ搬送装置8に指示する。この結果、分解されたウェハカセット(ウェハH)から取り出されたウェハHは、ウェハストッカー3内の保管位置#113で保管される。
また、ホストユニット230は、ウェハカセット(ウェハD)をホストユニット230のスロット#4からウェハカセットストッカー5内の保管位置#14に搬送するようにウェハカセット搬送装置9に指示する。ウェハカセット(ウェハD)は、ウェハカセットストッカー5内の保管位置#14が空き保管位置になって以降の任意のタイミングで搬送され得る。
これにより、ウェハカセット(ウェハD)がホストユニット230のスロット#4から取り外されて、ウェハカセットストッカー5内の保管位置#14に移動される。この結果、ホストユニット230のスロット#4が空きスロットとなる。
そして、ホストユニット230は、組み立てられたウェハカセット(ウェハI)をカセッター4からホストユニット230のスロット#4に搬送して接続するようにウェハカセット搬送装置9に指示する。この結果、ウェハカセット(ウェハI)は、ホストユニット230のスロット#4に搬送されて接続される。
このようにして、アクセス対象のウェハIよりも優先順位が低く、且つ、ホストユニット230またはウェハカセットストッカー5のいずれかに存在しているウェハカセット90のうち、最低の優先順位を持つ半導体ウェハ40(ここではウェハH)を含むウェハカセット90(ウェハカセット(ウェハH))が分解される。この結果、入れ替え対象のウェハカセット(ウェハD)は、分解されずに、ウェハカセット(ウェハH)が保管されていたウェハカセットストッカー5内の保管位置#14に移動される。
その後、ホストユニット230は、各半導体ウェハ40の優先順位と状態と位置情報とが最新の内容を示すように、ウェハ管理テーブル221を更新する。
図17は、実施形態に係るストレージシステム1おけるホストユニット230によって制御されるデータの読み出しまたは書き込み処理の手順を示すフローチャートである。
まず、ホストユニット230は、アクセス対象の半導体ウェハ40を決定する(ステップS101)。OS212またはファイルシステム213は、アプリケーションプログラム211から受信されるデータのリード要求またはライト要求に基づいて、ストレージシステム1で管理されている複数の半導体ウェハ40のうち、アクセス対象である半導体ウェハ40を決定する。
ホストユニット230は、ホストユニット230のスロットのいずれかにアクセス対象の半導体ウェハ40を含むウェハカセット90が接続されているか否かを判定する(ステップS102)。
ホストユニット230のスロットのいずれかにアクセス対象の半導体ウェハ40を含むウェハカセット90が接続されている場合(ステップS102でYes)、ホストユニット230は、アクセス対象の半導体ウェハ40に対するデータの読み出しまたは書き込みを実行する(ステップS103)。
ホストユニット230のどのスロットにもアクセス対象の半導体ウェハ40を含むウェハカセット90が接続されていない場合(ステップS102でNo)、ホストユニット230は、アクセス対象の半導体ウェハ40を含むウェハカセット90をホストユニット230のスロットに接続するためのウェハカセット準備処理を実行する。
ウェハカセット準備処理では、ホストユニット230は、アクセス対象の半導体ウェハ40を含むウェハカセット90がウェハカセットストッカー5に保管されているか否かを判定する(ステップS104)。ステップS104では、ホストユニット230は、ウェハ管理テーブル221を参照することで、アクセス対象の半導体ウェハ40を含むウェハカセット90がウェハカセットストッカー5に保管されているか否かを判定することができる。
アクセス対象の半導体ウェハ40を含むウェハカセット90がウェハカセットストッカー5に保管されている場合(ステップS104でYes)、ホストユニット230は、アクセス対象の半導体ウェハ40を含むウェハカセット90をウェハカセットストッカー5からホストユニット230のスロットに搬送して接続するようにウェハカセット搬送装置9に指示する(ステップS105)。
その後、ホストユニット230は、アクセス対象の半導体ウェハ40に対するデータの読み出し、または書き込みを実行する(ステップS103)。
アクセス対象の半導体ウェハ40を含むウェハカセット90がウェハカセットストッカー5に保管されていない場合(ステップS104でNo)、ホストユニット230は、アクセス対象の半導体ウェハ40が保管されているウェハストッカー3内の保管位置を特定する。そして、ホストユニット230は、アクセス対象の半導体ウェハ40をウェハストッカー3内の特定された保管位置からカセッター4に搬送するようにウェハ搬送装置8に指示する(ステップS106)。
そして、ホストユニット230は、カセッター4に空のカセット筐体80を用意する(ステップS107)。ステップS107では、ホストユニット230は、ウェハカセットストッカー5からカセッター4に空のカセット筐体80を搬送するようにウェハカセット搬送装置9に指示してもよい。ウェハカセットストッカー5に空のカセット筐体80が保管されていない場合には、ホストユニット230は、アクセス対象の半導体ウェハ40より低い優先順位を持つ半導体ウェハ40を含むウェハカセット90を、ウェハカセットストッカー5(またはホストユニット230のスロット)からカセッター4に搬送するように、ウェハカセット搬送装置9に指示し、且つ、このウェハカセット90を分解するようにカセッター4に指示してもよい。
ホストユニット230は、ステップS106で搬送されたアクセス対象の半導体ウェハ40と、ステップS107で用意された空のカセット筐体80とから、アクセス対象の半導体ウェハ40を含むウェハカセット90を組み立てるように、カセッター4に指示する(ステップS108)。
ホストユニット230は、ステップS108で組み立てられたアクセス対象の半導体ウェハ40を含むウェハカセット90を、カセッター4からホストユニット230のスロットに搬送して接続するようにウェハカセット搬送装置9に指示する(ステップS109)。
その後、ホストユニット230は、アクセス対象の半導体ウェハ40に対するデータの読み出し、または書き込みを実行する(ステップS103)。
次に、図18~図23を参照して、図17を参照して説明したデータの読み出しまたは書き込み処理の手順の詳細について説明する。
図18は、ストレージシステム1におけるホストユニット230によって制御されるアクセス処理の手順を示すフローチャートである。
まず、ホストユニット230は、アクセス対象の半導体ウェハ40を決定する(ステップS201)。OS212またはファイルシステム213は、アプリケーションプログラム211から受信されるデータのリード要求またはライト要求に基づいて、アクセス対象である半導体ウェハ40を決定する。
ホストユニット230は、アクセス対象の半導体ウェハ40を含むウェハカセット90がホストユニット230のスロットのいずれかに接続されているか否かを判定する(ステップS202)。ホストユニット230は、ウェハ管理テーブル221を参照することで、アクセス対象の半導体ウェハ40がホストユニット230のスロットのいずれかに接続されているかを判定することができる。
アクセス対象の半導体ウェハ40を含むウェハカセット90がホストユニット230のスロットのいずれかに接続されている場合(ステップS202でYes)、ホストユニット230は、アクセス対象の半導体ウェハ40に対するデータの読み出しまたは書き込みを実行する(ステップS203)。
アクセス対象の半導体ウェハ40を含むウェハカセット90がホストユニット230のどのスロットにも接続されていない場合(ステップS202でNo)、ホストユニット230は、ホストユニット230へのウェハカセット搬送処理を実行する(ステップS204)。ウェハカセット搬送処理では、ホストユニット230は、ホストユニット230に空きスロットがある場合のウェハカセット搬送処理、または、ホストユニット230に空きスロットがない場合のウェハカセット搬送処理を実行する。ステップS204のウェハカセット搬送処理によって、ホストユニット230は、アクセス対象の半導体ウェハ40を含むウェハカセット90をホストユニット230のスロットに接続することができる。
その後、ホストユニット230は、アクセス対象の半導体ウェハ40に対するデータの読み出しまたは書き込みを実行する(ステップS203)。
図19は、実施形態に係るストレージシステム1におけるホストユニット230によって実行されるウェハカセット搬送処理を説明するためのフローチャートである。
ウェハカセット搬送処理を開始すると、ホストユニット230は、ホストユニット230に空きスロットがあるか否かを判定する(ステップS301)。
ホストユニット230に空きスロットがあることを確認すると(ステップS301でYes)、ホストユニット230は、ホストユニット230に空きスロットがある場合のウェハカセット搬送処理を実行する(ステップS302)。ホストユニット230に空きスロットがある場合のウェハカセット搬送処理の詳細については、図20を参照して後述する。
ホストユニット230に空きスロットがない場合(ステップS301でNo)、ホストユニット230は、ウェハカセットストッカー5内に空き保管位置があるか否かを判定する(ステップS303)。ウェハカセットストッカー5内の空き保管位置とは、空のカセット筐体80またはウェハカセット90のいずれも保管されていない保管位置である。
ウェハカセットストッカー5内に空き保管位置がある場合(ステップS303でYes)、ホストユニット230は、ホストユニット230のスロットに接続されているウェハカセット90の中にアクセス対象の半導体ウェハ40よりも低い優先順位をもつ半導体ウェハ40を含むウェハカセット90が存在するか否かを判定する(ステップS304)。
ホストユニット230のスロットに接続されているウェハカセット90の中にアクセス対象の半導体ウェハ40よりも低い優先順位をもつ半導体ウェハ40を含むウェハカセット90が存在しない場合(ステップS304でNo)、ホストユニット230は、各半導体ウェハ40の優先順位の変更によって、ホストユニット230のスロットに接続されているウェハカセット90の中にアクセス対象の半導体ウェハ40よりも低い優先順位をもつ半導体ウェハ40を含むウェハカセット90が存在するようになるまで待つ(ステップS304)。
ホストユニット230のスロットに接続されているウェハカセット90の中にアクセス対象の半導体ウェハ40よりも低い優先順位をもつ半導体ウェハ40を含むウェハカセット90が存在する場合(ステップS304でYes)、ホストユニット230は、ホストユニット230のスロットに接続されているウェハカセット90の中から、最低の優先順位を持つ半導体ウェハ40を含むウェハカセット90を、入れ替え対象のウェハカセット90として選択する。
そして、ホストユニット230は、選択した入れ替え対象のウェハカセット90をホストユニット230のスロットからウェハカセットストッカー5に搬送するように、ウェハカセット搬送装置9に指示する(ステップS305)。ステップS305では、ウェハカセット搬送装置9は、入れ替え対象のウェハカセット90をホストユニット230のスロットから取り外し、ウェハカセットストッカー5に搬送する。
これにより、ホストユニット230に空きスロットが生じるため、ホストユニット230は、ホストユニット230に空きスロットがある場合のウェハカセット搬送処理を実行する(ステップS302)。
ウェハカセットストッカー5内に空き保管位置がない場合(ステップS303でNo)、ホストユニット230は、ホストユニット230に空きスロットがない場合のウェハカセット搬送処理を実行する(ステップS306)。ホストユニット230に空きスロットがない場合のウェハカセット搬送処理の詳細については、図21を参照して後述する。
次に、ホストユニット230に空きスロットがある場合のウェハカセット搬送処理の詳細について説明する。
図20は、実施形態に係るストレージシステム1におけるホストユニット230によって実行される、ホストユニット230に空きスロットがある場合のウェハカセット搬送処理の手順を示すフローチャートである。
まず、ホストユニット230は、ウェハカセットストッカー5にアクセス対象のウェハカセット90が保管されているか否かを判定する(ステップS401)。ホストユニット230は、ウェハ管理テーブル221を参照することによって、ウェハカセットストッカー5にアクセス対象のウェハカセット90が保管されているか否かを判定することができる。
ウェハカセットストッカー5にアクセス対象のウェハカセット90が保管されている場合(ステップS401でYes)、ホストユニット230は、アクセス対象のウェハカセット90をウェハカセットストッカー5からホストユニット230の空きスロットに搬送して接続するようにウェハカセット搬送装置9に指示する(ステップS402)。ステップS402では、ウェハカセット搬送装置9は、アクセス対象のウェハカセット90をウェハカセットストッカー5からホストコンピュータ2に搬送し、そして、アクセス対象のウェハカセット90をホストユニット230の空きスロットに接続する。
ウェハカセットストッカー5にアクセス対象のウェハカセット90が保管されていない場合(ステップS401でNo)、ホストユニット230は、ウェハカセット90の組み立てまたは分解処理の実行をカセッター4に指示する(ステップS403)。ステップS403で実行されるウェハカセット90の組み立てまたは分解処理の詳細については図22を参照して後述する。
ホストユニット230は、ステップS404で組み立てられたアクセス対象のウェハカセット90をカセッター4からホストユニット230の空きスロットに搬送して接続するようにウェハカセット搬送装置9に指示する(ステップS404)。ステップS404では、ウェハカセット搬送装置9は、組み立てられたアクセス対象のウェハカセット90をカセッター4からホストコンピュータ2に搬送し、ホストユニット230の空きスロットに接続する。
次に、ホストユニット230に空きスロットがない場合のウェハカセット搬送処理の詳細について説明する。
図21は、実施形態に係るストレージシステム1におけるホストユニット230によって実行される、ホストユニット230に空きスロットがない場合のウェハカセット搬送処理の手順を示すフローチャートである。ここでは、図16Fを参照して説明したように、ホストユニット230に空きスロットがなく、且つ、ウェハカセットストッカー5内に空き保管位置がない場合を想定する。
まず、ホストユニット230は、アクセス対象の半導体ウェハ40を含むウェハカセット90がウェハカセットストッカー5に保管されているか否かを判定する(ステップS501)。ホストユニット230は、ウェハ管理テーブル221を参照することによって、アクセス対象の半導体ウェハ40を含むウェハカセット90がウェハカセットストッカー5に保管されているか否かを判定することができる。
アクセス対象のウェハカセット90がウェハカセットストッカー5に保管されている場合(ステップS501でYes)、ホストユニット230は、アクセス対象の半導体ウェハ40よりも優先順位が低く、且つ、ホストユニット230のスロットに接続されているウェハカセット90のうち、最低の優先順位を持つ半導体ウェハ40を含むウェハカセット90を入れ替え対象のウェハカセット90として選択する。
そして、ホストユニット230は、入れ替え対象のウェハカセット90をホストユニット230のスロットからウェハカセットストッカー5に搬送するようにウェハカセット搬送装置9に指示する(ステップS502)。
また、ホストユニット230は、ウェハカセットストッカー5から、入れ替え対象のウェハカセット90が接続されていたホストユニット230のスロットに、アクセス対象の半導体ウェハ40を含むウェハカセット90を搬送するように、ウェハカセット搬送装置9に指示する(ステップS503)。
ステップS502、S503では、ウェハカセット搬送装置9は、入れ替え対象のウェハカセット90をホストユニット230のスロットから取り外す。入れ替え対象のウェハカセット90が取り外されたホストユニット230のスロットは、空きスロットになる。ウェハカセット搬送装置9は、取り外したウェハカセット90をウェハカセットストッカー5に搬送する。そして、ウェハカセット搬送装置9は、アクセス対象の半導体ウェハ40を含むウェハカセット90をウェハカセットストッカー5からホストコンピュータ2に搬送し、アクセス対象のウェハカセット90を、入れ替え対象のウェハカセット90が取り外されたホストユニット230のスロット(空きスロット)に接続する。
ホストユニット230は、上記のステップS502の動作とステップS503の動作(スワップ動作)とを同時に実行するようにウェハカセット搬送装置9に指示することで、一時的にウェハカセット90を退避させる場所を必要とせずにアクセス対象のウェハカセット90をホストユニット230のスロットに搬送させることができる。
アクセス対象のウェハカセット90がウェハカセットストッカー5に保管されていない場合(ステップS501でNo)、ホストユニット230は、アクセス対象の半導体ウェハ40よりも優先順位が低く、且つ、ホストユニット230またはウェハカセットストッカー5のいずれかに存在しているウェハカセット90のうち、最低の優先順位を持つ半導体ウェハ40を含むウェハカセット90を、分解対象のウェハカセット90として選択する。ホストユニット230のスロットのいずれかに接続されているウェハカセット90が分解対象のウェハカセット90として選択された場合には、この分解対象のウェハカセット90が、アクセス対象のウェハカセット90と入れ替えられる入れ替え対象のウェハカセット90となる。
そして、ホストユニット230は、分解対象のウェハカセット90をホストユニット230のスロットまたはウェハカセットストッカー5内の保管位置からカセッター4に搬送するようにウェハカセット搬送装置9に指示する(ステップS504)。ステップS504では、ウェハカセット搬送装置9は、分解対象のウェハカセット90を、ホストユニット230のスロットまたはウェハカセットストッカー5内の保管位置から取り外す。分解対象のウェハカセット90が取り外されたホストユニット230のスロットまたはウェハカセットストッカー5内の保管位置は、空きスロットまたは空き保管位置になる。ウェハカセット搬送装置9は、取り外したウェハカセット90をカセッター4に搬送する。
ホストユニット230は、ウェハカセット90の組み立てまたは分解処理を実行するようにカセッター4に指示する(ステップS505)。このとき実行されるウェハカセット90の組み立てまたは分解処理の詳細については、図23を参照して後述する。
ホストユニット230は、分解されたウェハカセット90が存在していた元の位置が、ホストユニット230のスロットまたはウェハカセットストッカー5内の保管位置のどちらであるかを判定する(ステップS506)。
分解されたウェハカセット90が存在していた元の位置がホストユニット230のスロットである場合、つまり分解対象のウェハカセット90がホストユニット230のスロットから取り外された場合には(ステップS506で「ホストユニット」)、ホストユニット230は、カセッター4から、分解対象のウェハカセット90が取り外されたホストユニット230のスロットに、アクセス対象のウェハカセット90を搬送するように、ウェハカセット搬送装置9に指示する(ステップS507)。ステップS507では、ウェハカセット搬送装置9は、アクセス対象のウェハカセット90をカセッター4からホストコンピュータ2に搬送し、アクセス対象のウェハカセット90を、分解対象のウェハカセット90が取り外されたホストユニット230のスロット(空きスロット)に接続する。
分解されたウェハカセット90が存在していた元の位置がウェハカセットストッカー5内の保管位置である場合、つまり分解対象のウェハカセット90がウェハカセットストッカー5内の保管位置から取り外された場合には(ステップS506で「ウェハカセットストッカー」)、ホストユニット230は、アクセス対象の半導体ウェハ40よりも優先順位が低く、且つ、ホストユニット230のスロットに接続されているウェハカセット90のうち、最低の優先順位を持つ半導体ウェハ40を含むウェハカセット90を入れ替え対象のウェハカセット90として選択する。
そして、ホストユニット230は、入れ替え対象のウェハカセット90を、ホストユニット230のスロットから、分解対象のウェハカセット90が取り外されたウェハカセットストッカー5内の保管位置(空き保管位置)に搬送するようにウェハカセット搬送装置9に指示する(ステップS508)。ウェハカセット搬送装置9は、入れ替え対象のウェハカセット90をホストユニット230のスロットから取り外す。入れ替え対象のウェハカセット90が取り外されたホストユニット230のスロットは、空きスロットになる。ウェハカセット搬送装置9は、取り外したウェハカセット90をウェハカセットストッカー5内の空き保管位置に搬送する。この結果、入れ替え対象のウェハカセット90はウェハカセットストッカー5内の空き保管位置で保管される。
ホストユニット230は、カセッター4から、入れ替え対象のウェハカセット90が取り外されたホストユニット230のスロットに、アクセス対象のウェハカセット90を搬送するように、ウェハカセット搬送装置9に指示する(ステップS509)。ステップS509では、ウェハカセット搬送装置9は、アクセス対象のウェハカセット90をカセッター4からホストコンピュータ2に搬送し、アクセス対象のウェハカセット90を、入れ替え対象のウェハカセット90が取り外されたホストユニット230のスロット(空きスロット)に接続する。
次に、図20のステップS403において実行される、ウェハカセット90の組み立てまたは分解処理の詳細について説明する。
図22は、実施形態に係るストレージシステム1におけるホストユニット230によって実行される、ホストユニット230に空きスロットがある場合のウェハカセット組み立てまたは分解処理の手順を示すフローチャートである。
まず、ホストユニット230は、ウェハカセットストッカー5に空のカセット筐体80が保管されているか否かを判定する(ステップS601)。ホストユニット230は、カセット管理テーブル222を参照することで、ウェハカセットストッカー5に空のカセット筐体80が保管されているか否かを判定することができる。
ウェハカセットストッカー5に空のカセット筐体80がある場合(ステップS601でYes)、ホストユニット230は、ウェハカセットストッカー5からカセッター4に空のカセット筐体80を搬送するようにウェハカセット搬送装置9に指示する(ステップS602)。ステップS602では、ウェハカセット搬送装置9は、空のカセット筐体80をウェハカセットストッカー5からカセッター4に搬送する。
ホストユニット230は、ウェハストッカー3からカセッター4にアクセス対象の半導体ウェハ40を搬送するようにウェハ搬送装置8に指示する(ステップS603)。ステップS603では、ウェハ搬送装置8は、ウェハストッカー3からカセッター4にアクセス対象の半導体ウェハ40を搬送する。
ホストユニット230は、アクセス対象の半導体ウェハ40を含むウェハカセット90の組み立て処理の実行をカセッター4に指示する(ステップS604)。ステップS604では、カセッター4は、ステップS602で搬送された空のカセット筐体80と、ステップS603で搬送されたアクセス対象の半導体ウェハ40とから、アクセス対象の半導体ウェハ40を含むウェハカセット90を組み立てる。
ウェハカセットストッカー5に空のカセット筐体80がない場合(ステップS601でNo)、ホストユニット230は、ウェハカセットストッカー5に保管されているウェハカセット90の中にアクセス対象の半導体ウェハ40よりも低い優先順位を持つ半導体ウェハ40を含むウェハカセット90が存在するか否かを判定する(ステップS605)。
ウェハカセットストッカー5に保管されているウェハカセット90の中にアクセス対象の半導体ウェハ40よりも低い優先順位を持つ半導体ウェハ40を含むウェハカセット90が存在しない場合(ステップS605でNo)、ホストユニット230は、各半導体ウェハ40の優先順位の変更によって、ウェハカセットストッカー5に保管されているウェハカセット90の中にアクセス対象の半導体ウェハ40よりも低い優先順位を持つ半導体ウェハ40を含むウェハカセット90が存在するようになるまで待つ(ステップS605)。
ウェハカセットストッカー5に保管されているウェハカセット90の中にアクセス対象の半導体ウェハ40よりも低い優先順位を持つ半導体ウェハ40を含むウェハカセット90が存在する場合(ステップS605でYes)、ホストユニット230は、ウェハカセットストッカー5に保管されているウェハカセット90の中から最低の優先順位を持つ半導体ウェハ40を含むウェハカセット90を分解対象のウェハカセット90として選択する。
そして、ホストユニット230は、選択した分解対象のウェハカセット90をウェハカセットストッカー5からカセッター4に搬送するようにウェハカセット搬送装置9に指示し、且つ、この搬送されたウェハカセット90を分解するようにカセッター4に指示する(ステップS606)。ステップS606では、ウェハカセット搬送装置9は、分解対象のウェハカセット90をウェハカセットストッカー5からカセッター4に搬送する。また、カセッター4は、カセッター4に搬送された分解対象のウェハカセット90を分解する。これにより、ホストユニット230は、空のカセット筐体80を用意することができる。また、この時、ホストユニット230は、分解されたウェハカセット90に含まれていた半導体ウェハ40をウェハストッカー3内の空き保管位置に搬送するようにウェハ搬送装置8に指示してもよい。
その後、ホストユニット230は、ウェハストッカー3からカセッター4にアクセス対象の半導体ウェハ40を搬送するようにウェハ搬送装置8に指示する(ステップS603)。ステップS603では、ウェハ搬送装置8は、ウェハストッカー3からカセッター4にアクセス対象の半導体ウェハ40を搬送する。
ホストユニット230は、アクセス対象の半導体ウェハ40を含むウェハカセット90の組み立て処理の実行をカセッター4に指示する(ステップS604)。ここで、カセッター4は、ステップS606で用意された空のカセット筐体80と、ステップS603で搬送されたアクセス対象の半導体ウェハ40とから、アクセス対象の半導体ウェハ40を含むウェハカセット90を組み立てる。
次に、図21のステップS505において実行されるアクセス対象のウェハカセット90を組み立てるためのウェハカセット90の組み立てまたは分解処理の詳細について説明する。
図23は、実施形態に係るストレージシステム1におけるホストユニット230によって実行される、ホストユニット230に空きスロットがなく、且つ、ウェハカセットストッカー5内に空き保管位置がない場合のウェハカセット90の組み立てまたは分解処理の手順を示すフローチャートである。
まず、ホストユニット230は、ホストユニット230のスロットまたはウェハカセットストッカー5内の保管位置から取り外したウェハカセット90をカセッター4に搬送するようにウェハカセット搬送装置9に指示する(ステップS701)。
ホストユニット230は、ステップS701で搬送されたウェハカセット90を分解して空のカセット筐体80を用意するようにカセッター4に指示する(ステップS702)。
ホストユニット230は、ウェハストッカー3からカセッター4にアクセス対象の半導体ウェハ40を搬送するようにウェハ搬送装置8に指示する(ステップS703)。これにより、カセッター4には、ステップS702で分解されたウェハカセット90に含まれていた空のカセット筐体80と、アクセス対象の半導体ウェハ40とが用意される。
ホストユニット230は、ステップS702で用意された空のカセット筐体80と、ステップS703で搬送されたアクセス対象の半導体ウェハ40とから、アクセス対象の半導体ウェハ40を含むウェハカセット90を組み立てるように、カセッター4に指示する(ステップS704)。ステップS704では、カセッター4は、空のカセット筐体80とアクセス対象の半導体ウェハ40とから、アクセス対象の半導体ウェハ40を含むウェハカセット90を組み立てる。この結果、ホストユニット230のスロットまたはウェハカセットストッカー5内の保管位置から取り外されたウェハカセット90に使用されていたカセット筐体80は、アクセス対象のウェハカセット90の組み立てのために再利用される。
このとき、ホストユニット230は、ステップS702において分解されたウェハカセット90に含まれていた半導体ウェハ40をカセッター4からウェハストッカー3に搬送するようにウェハ搬送装置8に指示してもよい。
次に、ウェハカセット90がホストユニット230のスロットに接続された際に、エラーが発生した場合の処理について説明する。
図24は、実施形態に係るストレージシステム1におけるホストユニット230によって実行される、ウェハカセット90の接続エラー対処処理の手順を示すフローチャートである。
ウェハ管理テーブル221によって管理される、ある半導体ウェハ40の状態がホストユニット230のスロットに接続されたことを示す状態に変更された場合(ステップS801)、ホストユニット230は、この半導体ウェハ40を含むウェハカセット90がストレージデバイスとして認識されたか否かを判定する(ステップS802)。その状態がホストユニット230のスロットに接続されたことを示す状態に変更された半導体ウェハ40には、アプリケーションプログラム211からのアクセス要求に従ってホストユニット230によってアクセス対象として決定された半導体ウェハ40が含まれる。また、そのような半導体ウェハ40には、アクセス要求とは無関係に、その優先順位がホストユニット230に接続されるべき第1レベルの優先順位に上げられた半導体ウェハ40が含まれ得る。ホストユニット230は、例えばキャッシュアルゴリズムを用いて、半導体ウェハ40の優先順位を変更してもよい。以下では、これら半導体ウェハ40を総称して、接続対象の半導体ウェハ40と称する。
ステップS802では、接続対象の半導体ウェハ40を含むウェハカセット90内の全てのコントローラ61の各々がストレージデバイスとして認識されたか否かが判定されてもよい。
接続対象の半導体ウェハ40を含む接続対象のウェハカセット90がストレージデバイスとして認識された場合(ステップS802でYes)、ホストユニット230は、ホストユニット230のスロットに接続対象のウェハカセット90を接続する処理を完了する(ステップS803)。
接続対象の半導体ウェハ40を含む接続対象のウェハカセット90がストレージデバイスとして認識されなかった場合(ステップS802でNo)、ホストユニット230は、接続対象のウェハカセット90をホストユニット230のスロットに再接続するための処理が一定回数以上繰り返されたか否かを判定する(ステップS804)。
再接続のための処理が一定回数以上繰り返されていない場合(ステップS804でNo)、ホストユニット230は、ホストユニット230のスロットから接続対象のウェハカセット90を取り外してホストユニット230のスロットに再度接続するように、ウェハカセット搬送装置9に指示する(ステップS805)。ステップS805では、ウェハカセット搬送装置9は、接続対象のウェハカセット90をホストユニット230のスロットから取り外す動作と、取り外した接続対象のウェハカセット90をホストユニット230のスロットに再び接続する動作とを実行する。
その後、ホストユニット230は、ホストユニット230のスロットに再度接続された接続対象のウェハカセット90がストレージデバイスとして認識されたか否かを判定する(ステップS802)。これにより、ホストユニット230のスロットと接続対象のウェハカセット90との間の接続不良に起因する接続エラーに対処することができる。
ホストユニット230のスロットに再度接続された接続対象のウェハカセット90がストレージデバイスとして認識されることなく、接続対象のウェハカセット90をホストユニット230のスロットに再接続するための処理が一定回数以上繰り返された場合(ステップS804でYes)、ホストユニット230は、同じカセット筐体80を用いて接続対象のウェハカセット90を再組み立てする処理が一定回数以上繰り返されたか否かを判定する(ステップS806)。
同じカセット筐体80を用いて接続対象のウェハカセット90を再組み立てする処理が一定回数以上繰り返されていない場合(ステップS806でNo)、ホストユニット230は、接続対象のウェハカセット90をホストユニット230のスロットからカセッター4に搬送するようにウェハカセット搬送装置9に指示する(ステップS807)。ステップS807では、ウェハカセット搬送装置9は、接続対象のウェハカセット90をホストユニット230のスロットから取り外し、取り外した接続対象のウェハカセット90をカセッター4に搬送する。
ホストユニット230は、カセッター4に搬送された接続対象のウェハカセット90を分解する処理と、この分解されたウェハカセット90のカセット筐体80を用いて、接続対象の半導体ウェハ40を含む接続対象のウェハカセット90を再び組み立てる処理との双方を実行するようにカセッター4に指示する(ステップS808)。
ステップS808では、カセッター4は、カセッター4に搬送された接続対象のウェハカセット90を分解して、このウェハカセット90から接続対象の半導体ウェハ40を取り出す。そして、カセッター4は、接続対象のウェハカセット90を分解することによって得られたカセット筐体80内に接続対象の半導体ウェハ40を再び収容する。これによって、接続対象のウェハカセット90を分解することによって得られたカセット筐体80と、接続対象の半導体ウェハ40とから、接続対象の半導体ウェハ40を含む接続対象のウェハカセット90が再び組み立てられる。また、ステップS808では、ホストユニット230は、再び組み立てられた接続対象のウェハカセット90をカセッター4からホストユニット230のスロットに搬送して接続するように、ウェハカセット搬送装置9に指示する。この結果、再び組み立てられた接続対象のウェハカセット90がホストユニット230のスロットに再び接続される。
その後、ホストユニット230は、ホストユニット230のスロットに再び接続された接続対象のウェハカセット90がストレージデバイスとして認識されたか否かを判定する(ステップS802)。接続対象のウェハカセット90がストレージデバイスとして認識された場合(ステップS802でYes)、ホストユニット230は、ホストユニット230のスロットに接続対象のウェハカセット90を接続する処理を完了する(ステップS803)。
これにより、接続対象のウェハカセット90に含まれるプローブピン51と、接続対象の半導体ウェハ40のパッド41との間の位置ずれに起因する接続エラーに対処することができる。
ホストユニット230のスロットに再度接続された接続対象のウェハカセット90がストレージデバイスとして認識されることなく、同じカセット筐体80を用いて接続対象のウェハカセット90を再組み立てする処理が一定回数以上繰り返された場合(ステップS806でYes)、ホストユニット230は、接続対象のウェハカセット90に含まれるカセット筐体80の交換を一定回数以上繰り返したか否かを判定する(ステップS809)。
接続対象のウェハカセット90に含まれるカセット筐体80の交換が一定回数以上繰り返されていない場合(ステップS809でNo)、ホストユニット230は、接続対象のウェハカセット90をホストユニット230のスロットからカセッター4に搬送するようにウェハカセット搬送装置9に指示する(ステップS810)。ステップS810では、ウェハカセット搬送装置9は、接続対象のウェハカセット90をホストユニット230のスロットから取り外し、取り外した接続対象のウェハカセット90をカセッター4に搬送する。
ホストユニット230は、ウェハカセットストッカー5からカセッター4に空のカセット筐体80を搬送するようにウェハカセット搬送装置9に指示する(ステップS811)。ステップS811では、ウェハカセット搬送装置9は、ウェハカセットストッカー5からカセッター4に空のカセット筐体80を搬送する。
ホストユニット230は、ステップS810で搬送された接続対象のウェハカセット90を分解する処理と、ステップS811で搬送された空のカセット筐体80と分解されたウェハカセット90に含まれていた接続対象の半導体ウェハ40とから、新たな接続対象のウェハカセット90を組み立てる処理と、の双方を実行するようにカセッター4に指示する(ステップS812)。ステップS812では、カセッター4は、カセッター4に搬送された接続対象のウェハカセット90を分解して、接続対象のウェハカセット90から接続対象の半導体ウェハ40を取り出す。そして、カセッター4は、接続対象のウェハカセット90を分解することによって得られる元のカセット筐体80とは異なる別のカセット筐体80に、つまり、ステップS811で搬送された別の空のカセット筐体80に、接続対象の半導体ウェハ40を収容する。これによって、新たな接続対象のウェハカセット90が組み立てられる。また、ステップS812では、ホストユニット230は、組み立てられた接続対象の新たなウェハカセット90をカセッター4からホストユニット230のスロットに搬送して接続するように、ウェハカセット搬送装置9に指示する。この結果、元のカセット筐体80と異なるカセット筐体80を用いて組み立てられた接続対象の新たなウェハカセット90が、ホストユニット230のスロットに再び接続される。
その後、ホストユニット230は、ホストユニット230のスロットに再び接続された接続対象の新たなウェハカセット90がストレージデバイスとして認識されたか否かを判定する(ステップS802)。これにより、接続対象の半導体ウェハ40が取り出された元のカセット筐体80の破損に起因する接続エラーに対処することができる。
元のカセット筐体80に対する処理については、図25を参照して後述する。
ホストユニット230のスロットに再度接続された接続対象の新たなウェハカセット90がストレージデバイスとして認識されることなく、カセット筐体80の交換が一定回数以上繰り返された場合(ステップS809でYes)、ホストユニット230は、接続対象の半導体ウェハ40に破損の恐れがあると決定し、そして処理を終了する(ステップS813)。ホストユニット230は、例えばデータセンタの管理者に、半導体ウェハ40に破損の恐れがあることを通知してもよい。
図25は、実施形態に係るストレージシステム1におけるホストユニット230によって実行される、使用禁止のカセット筐体80に対する処理の手順を示すフローチャートである。
ここでは、図24のステップS812において接続対象の半導体ウェハ40が取り外された元のカセット筐体80の処理について説明する。元のカセット筐体80は、元のカセットとも称される。
図24のステップS812において、接続対象のウェハカセット90が分解された場合、ホストユニット230は、カセッター4からウェハカセットストッカー5に元のカセット筐体80を搬送するようにウェハカセット搬送装置9に指示し、且つ、元のカセット筐体80が一時的に使用禁止に設定されるようにカセット管理テーブル222を更新する(ステップS901)。
ホストユニット230は、接続対象の半導体ウェハ40を含む接続対象の新たなウェハカセット90が、図24のステップS802においてストレージデバイスとして認識されたか否かを判定する(ステップS902)。
接続対象の半導体ウェハ40を含む接続対象の新たなウェハカセット90がストレージデバイスとして認識された場合(ステップS902でYes)、ホストユニット230は、元のカセット筐体80の使用禁止の設定を維持し、元のカセット筐体80が破損している可能性があると判定する(ステップS903)。つまり、ホストユニット230は、接続対象の半導体ウェハ40と元のカセット筐体80とから組み立てられたウェハカセット90に生じた接続エラーの原因が、元のカセット筐体80の破損にあると判定する。ホストユニット230は、例えばデータセンタの管理者に、元のカセット筐体80に破損の恐れがあることを通知してもよい。
接続対象の半導体ウェハ40を含む接続対象の新たなウェハカセット90がストレージデバイスとして認識されなかった場合(ステップS902でNo)、ホストユニット230は、接続対象の半導体ウェハ40が破損されている可能性もあるので、元のカセット筐体80の使用禁止の設定を解除する(ステップS905)。
次に、ホストユニット230がウェハカセット90に効率良くアクセスすることを可能にするための構成について説明する。
まず、ウェハカセット90内に含まれる半導体ウェハ40の温度を調整するための構成について説明する。半導体ウェハ40内の不揮発性メモリデバイス70に対するデータの読み出しおよび書き込みは、半導体ウェハ40の温度が常温以上の所定の温度範囲にある状態で行うことが望ましい。
より詳しくは、NAND型フラッシュメモリのような不揮発性メモリデバイス70の温度が常温以上の所定の温度範囲にある場合には、例えば、不揮発性メモリデバイス70内のメモリセルの電荷蓄積層に電子がトラップされる準位が深くなる。この結果、安定したデータ書き込み動作およびデータ読み出し動作を行うことが可能となる。
一方、図1を参照して説明したように、ウェハストッカー3においては各半導体ウェハ40を比較的低い温度環境で保管することが好ましい。このため、組み立て直後のウェハカセット90内に含まれている半導体ウェハ40の温度は比較的低い場合があり得る。
図26は、ストレージシステム1において用いられるウェハカセット90内に含まれる半導体ウェハ40を昇温する構成を示す図である。
図26の上部は、ウェハカセット90(つまり、カセット筐体80)の下部ケース21に載置されている半導体ウェハ40を、下部ケース21に設けられたヒーター32によって昇温する構成例を示している。
下部ケース21に設けられたヒーター32は、下部ケース21に載置されている半導体ウェハ40を加熱することによって、半導体ウェハ40を昇温する。ヒーター32は、例えば、電熱線であってもよい。ヒーター32は、ホストユニット230のスロットにウェハカセット90が接続された場合に、プラグ端子22を介してホストユニット230から供給される電力によって駆動される。
この構成により、ホストユニット230のスロットに接続されたウェハカセット90内の半導体ウェハ40を昇温できるので、この半導体ウェハ40に対する安定したデータ書き込み動作およびデータ読み出し動作を実現できる。
図26の下部は、ウェハカセット90(つまり、カセット筐体80)の下部ケース21に載置されている半導体ウェハ40を、ホストユニット230(より詳しくはホストユニット230のホスト筐体)内に設けられたヒーター234によって昇温する構成例を示している。
ホストユニット230内に設けられたヒーター234は、下部ケース21に載置されている半導体ウェハ40を加熱することによって、半導体ウェハ40を昇温する。ヒーター234は、例えば、電熱線であってもよい。ヒーター234によって生じる熱は下部ケース21を介して半導体ウェハ40に伝達され、これによって半導体ウェハ40が昇温される。
次に、アクセス対象の半導体ウェハ40に対して実際にデータ読み出しおよびデータ書き込みが可能になるまでに必要なレイテンシーを短くするための構成について説明する。
アクセス対象の半導体ウェハ40を含むアクセス対象のウェハカセット90がホストユニット230のスロットに接続されておらず、且つ、アクセス対象のウェハカセット90がウェハカセットストッカー5に保管されていない場合には、カセッター4においてアクセス対象の半導体ウェハ40を含むアクセス対象のウェハカセット90を組み立てることが必要となる。レイテンシーを短くするためには、アクセス対象のウェハカセット90を迅速に組み立てることが求められる。
図27は、ストレージシステム1において用いられる半導体ウェハ40に対するエッジ処理について説明するための図である。
図27の左部に示されているように、ウェハストッカー3に保管されている半導体ウェハ40a~40cそれぞれの直径が製造バラツキによって不均一である場合には、複数のプローブピン51と半導体ウェハ40の複数のパッド41との間の位置合わせ動作に、多くの時間が要される場合がある。
本実施形態では、半導体ウェハ40a~40cの直径を特定の長さに揃えるためのエッジ処理が施される。エッジ処理では、半導体ウェハ40の外周を削る処理が行われる。ウェハストッカー3においては、エッジ処理が施された半導体ウェハ40a~40cが保管される。これにより、半導体ウェハ40を容易に下部ケース21のウェハ載置領域の中心に置くことが可能となるので、カセッター4による位置合わせ動作を迅速に実行することが可能になる。この結果、アクセス対象のウェハカセット90の組み立てに要する時間を削減でき、レイテンシーを短くすることが可能となる。
次に、位置合わせ動作を迅速に行うことを可能にするための別の構成について説明する。図28は、ストレージシステム1において用いられるウェハカセット90(つまり、カセット筐体80)の下部ケース21に設けられた3つのセンタリングアームを示す図である。
図28の左部はウェハカセット90の側面図である。図28の右部は下部ケース21に載置された半導体ウェハ40と3つのセンタリングアーム33a、33b、および33cとの関係を示す平面図である。ウェハカセット90の組み立て動作においては、カセッター4は、半導体ウェハ40を下部ケース21のウェハ載置領域の中心に置く。この場合、例えば、カセッター4は、まず、半導体ウェハ40の外周に形成されたノッチ45にアーム部材403を機械的に押し込むことによって半導体ウェハ40を粗く位置決めする。アーム部材403は、半導体ウェハ40をウェハ載置領域の中心に置く位置決め動作用の部材である。このアーム部材403は、カセッター4に設けられている。次いでカセッター4は、下部ケース21に設けられた3つのセンタリングアーム33a、33b、および33cを用いて半導体ウェハ40をウェハ載置領域の中心に寄せる。
下部ケース21においては、センタリングアーム33a~33cは、ウェハ載置領域の中心から所定の半径を有する円周に沿って互いに等間隔で配置され、且つ、ウェハ載置領域の中心に向かって移動可能である。この円周の直径は、半導体ウェハ40の直径よりも大きい。
カセッター4は、センタリングアーム33a~33cの各々をウェハ載置領域の中心に向けて移動させる。センタリングアーム33a~33cの各々は半導体ウェハ40の外周に当接される。そして、半導体ウェハ40は、センタリングアーム33a~33cの移動に伴ってウェハ載置領域の中心に位置づけられ、且つ、センタリングアーム33a~33cによってウェハ載置領域の中心に固定される。
プローブカード11が上部ケース31と一体化されている場合、ウェハ載置領域の中心に半導体ウェハ40が置かれた下部ケース21と、プローブカード11を含む上部ケース31とを互いに接合することによって、複数のプローブピン51が複数のパッド41にそれぞれ接触するように複数のプローブピン51と複数のパッド41との間の位置合わせを行うことが可能となる。
したがって、半導体ウェハ40を下部ケース21のウェハ載置領域の中心に置くためのこのような機械的な機構を使用することにより、光学センサ等を用いて半導体ウェハ40の位置を微調整しながら位置合わせ動作を行う構成を使用する場合に比し、簡単な構成で位置合わせ動作を迅速に行うことを可能となる。
なお、センタリングアームの数は4以上でもよい。
次に、複数のプローブピン51と複数のパッド41との間の位置合わせをより容易にするためのさらに別の構成について説明する。図29は、ストレージシステム1において用いられる半導体ウェハ40上に形成される再配線層について説明するための図である。
NAND型フラッシュメモリのような不揮発性メモリデバイス70に設けられるパッド41の数は、ダイナミックRAM(DRAM)ダイ(またはCMOS-LSIダイ)に設けられるパッドの数よりも少ない。このため、半導体ウェハ40に含まれる複数のパッド41相互間の間隔(ピッチ)は、複数のDRAMダイまたは複数のCMOS-LSIダイが形成された半導体ウェハに含まれる複数のパッド相互間の間隔(ピッチ)よりも広く設定することができる。
パッドのピッチを比較的広く設定可能という半導体ウェハ40の特徴を上手く活用することにより、複数のプローブピン51と複数のパッド41との間の位置合わせをより容易にすることが可能となる。
図29に示す半導体ウェハ40は、半導体ウェハ40上に形成された再配線層(RDL:redistribution layer)42を含む。再配線層42に含まれる複数の電極(パッド)44は、再配線層42内の内部配線43によって、半導体ウェハ40の複数のパッド41にそれぞれ電気的に接続されている。
再配線層42に含まれる複数のパッド44の各々のサイズは、半導体ウェハ40の複数のパッド41の各々のサイズより大きく設定されている。さらに、再配線層42に含まれる複数のパッド44間の間隔は、半導体ウェハ40の複数のパッド41間の間隔よりも広く設定されている。
この構成により、複数のプローブピン51と複数のパッド44との間の位置合わせを容易にすることが可能となる。この結果、複数のプローブピン51と複数のパッド41とを、より容易に電気的に接続することが可能となる。再配線層42を含む半導体ウェハ40は、図28を参照して説明したセンタリングアームと組み合わせて使用することが好ましい。
次に、アクセス対象のウェハカセット90の組み立てに要する時間を削減するためのカセッター4の構成について説明する。図30は、ストレージシステム1において用いられる、ウェハストッカーの機能を兼ね備えたカセッター4の構成を説明するための図である。
アクセス対象の半導体ウェハ40を含むアクセス対象のウェハカセット90がホストユニット230のスロットに接続されておらず、且つ、アクセス対象のウェハカセット90がウェハカセットストッカー5に保管されていない場合には、カセッター4においてアクセス対象の半導体ウェハ40を含むアクセス対象のウェハカセット90を組み立てることが必要となる。
図30に示すように、カセッター4がウェハストッカーの機能を兼ね備えている場合には、カセッター4は、複数の半導体ウェハ40を保管することが可能である。このため、アクセス対象の半導体ウェハ40がカセッター4に保管されている場合には、アクセス対象の半導体ウェハ40をウェハストッカー3からカセッター4に搬送することなく、カセッター4はアクセス対象の半導体ウェハ40を含むアクセス対象のウェハカセット90を迅速に組み立てることができる。この結果、アクセス対象の半導体ウェハ40を含むアクセス対象のウェハカセット90がホストユニット230のスロットに接続されるまでに要する時間を短縮することが可能となる。
なお、カセッター4は、ウェハストッカーの機能のみならず、ウェハカセットストッカーの機能を兼ね備えてもよい。この場合、幾つかの空のカセット筐体80および幾つかのウェハカセット90をカセッター4に保管することができる。
次に、カセット筐体80の他の構成例について説明する。図31は、ストレージシステム1において用いられる、プローブカード11が埋め込まれた上部ケース31を含むカセット筐体80の構成を説明するための図である。
図31の左部は、半導体ウェハ40とカセット筐体80から組み立てられたウェハカセット90の構成を示す。図31の右部は、カセット筐体80の構成を示す。図31に示すように、カセット筐体80の上部ケース31にプローブカード11が埋め込まれているので、上部ケース31の下面とほぼ同じ位置にプローブカード11を配置することができる。
この結果、上部ケース31の下面と下部ケースの上面との間の距離を、プローブピン51の長さと半導体ウェハ40の厚みとの合計にまで短くすることができる。この結果、ホストユニット230のスロットへの接続に好適な薄型のウェハカセット90を実現することができる。
図32は、ストレージシステム1において用いられる、上部ケース31の内側にプローブカード11が設けられたカセット筐体80について説明するための図である。
図32の左部は、上部ケース31の下側にプローブカード11が設けられたカセット筐体80の構成を示す。図32の右部は、上部ケース31の下側にプローブカード11が設けられ、且つ、プローブカード11の上面に複数のコントローラ61が配置されているカセット筐体80の構成を示す。
図33は、ストレージシステム1において用いられる、上部ケース31の上面にプローブカード11が設けられたカセット筐体80の構成を説明するための図である。
プローブカード11の上面に各種電子部品が実装される場合がある。図33の左部に示すように、上部ケース31の上面にプローブカード11を設けた場合には、プローブカード11の上面の放熱効率およびプローブカード11の上面上の電子部品の放熱効率を高めることができる。この結果、プローブカード11の上面および電子部品を冷却することができる。なお、プローブカード11の少なくとも上面が外部環境に露出されるようになっていれば、プローブカード11の一部が上部ケース31の内部に設けられてもよい。
また、図33の右部に示すように、外部環境に露出されるプローブカード11の上面上に複数のコントローラ61をさらに配置してもよい。これにより、コントローラ61の冷却も可能となる。
図33に示すカセット筐体80の構成は、図26を参照して説明したヒーターを使用して半導体ウェハ40を昇温する構成と組み合わせて使用し得る。この場合、半導体ウェハ40を昇温しつつ、プローブカード11の上面上の電子部品およびコントローラ61の過度な温度上昇を抑制することができる。
図34は、ストレージシステム1において用いられる、溝34が形成された下部ケース21と、下部ケース21の溝34に嵌め込み可能な突出部23が形成された上部ケース31とを含むカセット筐体80の構成を説明するための図である。
下部ケース21の溝34と、上部ケース31の突出部23は、下部ケース21と上部ケース31とを機械的に接合するための機構として機能する。またこれらは、下部ケース21に載置された半導体ウェハ40の複数のパッド41と、複数のプローブピン51との間の位置合わせのための機構としても機能し得る。つまり、上部ケース31の突出部23を下部ケース21の溝34に嵌め込むことにより、複数のプローブピン51が複数のパッド41にそれぞれ接触するように複数のパッド41と複数のプローブピン51との間の位置合わせをすることができる。
図34に示すカセット筐体80の構成は、図28を参照して説明したセンタリングアーム、および/または、図29を参照して説明した再配線層42と組み合わせて使用し得る。再配線層42は、複数のプローブピン51と複数のパッド44との粗い位置合わせのみで、複数のプローブピン51を複数のパッド41にそれぞれ電気的に接続させることを可能にする。よって、例えば、図34に示すカセット筐体80の構成と再配線層42と組み合わせて使用することにより、ウェハカセット90の組み立てに要する時間をより短くすることが可能となる。
なお、上部ケース31に溝34が設けられ、溝34に嵌め込み可能な突出部23が下部ケース21に設けられてもよい。
次に、下部ケース21に載置された半導体ウェハ40を支持するためのカセット筐体80の構成を説明する。図35は、ストレージシステム1において用いられる、真空チャック35を用いて半導体ウェハ40を下部ケース21に固定するウェハカセット90の構成を示す図である。
真空チャック35は、真空吸着によって半導体ウェハ40を下部ケース21のウェハ載置領域に固定する部材である。真空チャック35は、下部ケース21に設けられている。半導体ウェハ40は、真空チャック35上に載置される。この真空チャック35により、ウェハカセット90の搬送中に、複数のパッド41と複数のプローブピン51との間の位置ずれが生じることを抑制することができる。
次に、下部ケース21に載置された半導体ウェハ40を固定するためのカセット筐体80の別の構成例について説明する。
図36は、下部ケース21に載置された半導体ウェハ40に当接する複数の突起部24が設けられた上部ケース31を含むウェハカセット90の構成例を示す図である。図36に示す構成例においては、プローブカード11は上部ケース31に埋め込まれていてもよい。上部ケース31においては、上部ケース31の下面から下部ケース21に向かう方向に延在する複数の突起部24が設けられている。下部ケース21と上部ケース31とが接合された場合、複数の突起部24の各々は、下部ケース21に載置された半導体ウェハ40の表面上におけるパッド41以外の領域に当接し、これによって半導体ウェハ40を支持する。
したがって、半導体ウェハ40は、複数のパッド41と複数のプローブピン51との間の接触と、複数の突起部24と半導体ウェハ40の表面との間の接触とによって支持され、下部ケース21に固定される。
これら複数の突起部24が設けられていることにより、各プローブピン51によってパッド41を強く押圧することなく、半導体ウェハ40を下部ケース21に固定することが可能となる。この構成により、下部ケース21と上部ケース31とを互いに機械的に接合するという簡単な工程によってウェハカセット90を迅速に組み立てることが可能となる。
次に、下部ケース21に載置された半導体ウェハ40を固定するためのカセット筐体80のさらに別の構成例について説明する。図37は、ストレージシステム1において用いられる、下部ケース21に載置された半導体ウェハ40に当接して伸縮するクッション材25が設けられた上部ケース31を含むウェハカセット90の構成例を示す図である。
図37の左部は、下部ケース21と上部ケース31とが分離されている状態を示す図である。図37の右部は、下部ケース21と上部ケース31とが互いに機械的に接合された状態を示す図である。
プローブカード11は上部ケース31に埋め込まれていてもよい。上部ケース31においては、クッション材25が設けられている。複数のプローブピン51の各々は、クッション材25を貫通するように、導電性の弾性部材52を介してプローブカード11の下面に接続されている。弾性部材52は、例えば導電ゴムである。
下部ケース21と上部ケース31とが接合された場合、クッション材25は、下部ケース21に載置された半導体ウェハ40の表面上におけるパッド41以外の領域に当接して収縮し、これによって半導体ウェハ40を支持する。
下部ケース21と上部ケース31とが接合された場合、複数のプローブピン51の各々は対応するパッド41に接触し、弾性部材52は収縮する。
したがって、半導体ウェハ40は、複数のパッド41と複数のプローブピン51との間の接触と、クッション材25と半導体ウェハ40の表面との間の接触とによって支持され、下部ケース21に固定される。また、複数のプローブピン51の各々は導電性の弾性部材52を介してプローブカード11の下面に接続されているので、全てのプローブピン51の圧力を均一化することができる。
このように、クッション材25が設けられていることにより、各プローブピン51によってパッド41を強く押圧することなく、半導体ウェハ40を下部ケース21に固定することが可能となる。この構成により、下部ケース21と上部ケース31とを互いに機械的に接合するという簡単な工程によってウェハカセット90を迅速に組み立てることが可能となる。
次に、ストレージシステム1において用いられるウェハカセット90におけるホストインタフェースの配置例について説明する。
図38の左部は、上部ケース31の上面にホストインタフェースが配置されたウェハカセット90の構成例を示す図である。ホストインタフェースとしては、例えば、図12を参照して説明したプラグ端子22を使用することができる。
図36の右部は、上部ケース31の側面にホストインタフェースが配置されたウェハカセット90の構成例を示す図である。ホストインタフェースとしては、例えば、図12を参照して説明したプラグ端子22を使用することができる。
以上説明したように、本実施形態によれば、ホストユニット230は、ウェハカセット90が接続可能なスロットを含む。ホストユニット230は、このスロットに接続されているウェハカセット90に含まれる半導体ウェハ40に対してデータの読み出しおよび書き込みを行うことが可能である。ホストユニット230は、ストレージシステム1で管理されている複数の半導体ウェハ40のうち、アクセス対象の半導体ウェハ40を決定する。
アクセス対象の半導体ウェハ40を含むアクセス対象のウェハカセット90がホストユニット230のスロットに接続されている場合、ホストユニット230は、アクセス対象の半導体ウェハ40に対するデータの読み出しまたは書き込みを実行する。
アクセス対象のウェハカセット90がホストユニット230のスロットに接続されておらず、且つ、ウェハカセットストッカー5に保管されている場合、ホストユニット230は、ウェハカセット搬送装置9に、アクセス対象のウェハカセット90をホストユニット230のスロットに搬送させて接続させる。
アクセス対象のウェハカセット90がホストユニット230のスロットに接続されておらず、且つ、ウェハカセットストッカー5に保管されていない場合、ホストユニット230は、ウェハ搬送装置8に、アクセス対象の半導体ウェハ40をウェハストッカー3からカセッター4に搬送させ、カセッター4に、搬送されたアクセス対象の半導体ウェハ40を含むアクセス対象のウェハカセット90を組み立てさせ、ウェハカセット搬送装置9に、組み立てられたアクセス対象のウェハカセット90をホストユニット230のスロットに搬送させて接続させる。
このように、ストレージシステム1においては、カセット筐体80と半導体ウェハ40とから組み立てられたウェハカセット90が、ホストユニット230のスロットに接続される。この結果、ホストユニット230のスロットに接続されたウェハカセット90を、ホストユニット230によってアクセス可能なストレージデバイスとして使用することができる。このため、ホストユニット230は、ホストユニット230のスロットに接続されているウェハカセット90を別のウェハカセット90に交換するだけで、ストレージシステム1で管理される複数の半導体ウェハ40のうちの任意の半導体ウェハ40に対してデータの読み出しまたは書き込みを行うことができる。
ホスト装置がプローバを介して半導体ウェハにアクセスするという構成が用いられた場合には、プローバから一旦取り外された半導体ウェハを再びアクセスする場合は、この半導体ウェハをプローバのステージ上に再び載置し、さらに、プローブカードの複数のプローブピンとステージ上のこの半導体ウェハの複数の電極との間の位置合わせを再び行う必要がある。
本実施形態では、アクセス対象の半導体ウェハ40を含むウェハカセット90がウェハカセットストッカー5に保管されている場合には、アクセス対象の半導体ウェハ40を含むウェハカセット90を再び組み立てる必要がない。よって、ホスト装置がプローバを介して半導体ウェハにアクセスする構成に比し、アクセス対象の半導体ウェハ40に対して実際にデータ読み出しおよびデータ書き込みが可能になるまでに必要な時間を低減できる。この結果、データセンタにおいて必要される大量のデータの処理に好適なストレージシステム1を実現できる。
また、ウェハ搬送装置8は、開口a1と開口b2とを通して、ウェハストッカー3aとウェハストッカー3bとの間で半導体ウェハ40を搬送することができる。さらに、ウェハ搬送装置8は、開口a2と開口b3とを通して、ウェハストッカー3bとカセッター4との間で半導体ウェハ40を搬送することができる。よって、任意のウェハストッカー3からカセッター4に半導体ウェハ40を迅速に搬送することができる。
また、ウェハカセット搬送装置9は、開口a3と開口b4とを通して、カセッター4とウェハカセットストッカー5との間でウェハカセット90を搬送することができる。さらに、ウェハカセット搬送装置9は、開口a4と開口b5とを通して、ウェハカセットストッカー5とホストコンピュータ2との間でウェハカセット90を搬送することができる。よって、カセッター4とウェハカセットストッカー5とホストコンピュータ2との間でウェハカセット90を迅速に搬送することができる。
よって、アクセス対象の半導体ウェハ40に対して実際にデータ読み出しおよびデータ書き込みが可能になるまでに必要なレイテンシーをより短くすることが可能となる。
また、アクセス対象の半導体ウェハ40は、ウェハカセット90に収容された状態で、カセッター4またはウェハカセットストッカー5とホストコンピュータ2との間で搬送される。よって、搬送中の半導体ウェハ40の破損を防止することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。