(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-20
(45)【発行日】2023-01-30
(54)【発明の名称】ストレージデバイスおよびストレージシステム
(51)【国際特許分類】
G06F 12/00 20060101AFI20230123BHJP
G11C 29/00 20060101ALI20230123BHJP
G06F 3/06 20060101ALI20230123BHJP
G06F 3/08 20060101ALI20230123BHJP
H01L 21/673 20060101ALI20230123BHJP
【FI】
G06F12/00 550K
G11C29/00 402
G06F3/06 550
G06F3/08 H
H01L21/68 T
(21)【出願番号】P 2020567999
(86)(22)【出願日】2019-11-15
(86)【国際出願番号】 JP2019044933
(87)【国際公開番号】W WO2021095252
(87)【国際公開日】2021-05-20
【審査請求日】2022-01-13
(73)【特許権者】
【識別番号】318010018
【氏名又は名称】キオクシア株式会社
(74)【代理人】
【識別番号】110001737
【氏名又は名称】弁理士法人スズエ国際特許事務所
(72)【発明者】
【氏名】吉水 康人
(72)【発明者】
【氏名】福島 崇
(72)【発明者】
【氏名】人見 達郎
(72)【発明者】
【氏名】井上 新
(72)【発明者】
【氏名】三浦 正幸
(72)【発明者】
【氏名】菅野 伸一
(72)【発明者】
【氏名】藤澤 俊雄
(72)【発明者】
【氏名】中塚 圭祐
(72)【発明者】
【氏名】佐貫 朋也
【審査官】北村 学
(56)【参考文献】
【文献】特開2008-107918(JP,A)
【文献】特開昭63-253494(JP,A)
【文献】特開2002-042092(JP,A)
【文献】特開昭61-297191(JP,A)
【文献】特開平07-147303(JP,A)
【文献】特開平11-120305(JP,A)
【文献】特開平11-251382(JP,A)
【文献】特開2000-278632(JP,A)
【文献】米国特許出願公開第2019/0227116(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
IPC G06F 3/06 - 3/08
G06F 12/00 - 12/06
G06K 17/00
G06K 19/00 - 19/18
G11C 29/00
H01L 21/673
(57)【特許請求の範囲】
【請求項1】
データの書き込みまたは読み出しが可能な複数のメモリダイを含むストレージ媒体と、
データの書き込みまたは読み出しを行うための複数の端子と、
前記端子と接続されたコントローラとを含み、
前記ストレージ媒体は、
前記端子と接続可能な電極と、
ユーザーデータを記憶可能な第1のメモリ領域と、
前記ストレージ媒体の識別のための識別情報と前記識別情報の整合性をチェックするための検査符号とを記憶可能な第2のメモリ領域とを含み、
前記コントローラは、前記第2のメモリ領域から前記識別情報および前記検査符号を読み出し可能であ
り、
前記コントローラは、前記第2のメモリ領域に正しい対応関係を有する識別情報と検査符号との組が記憶されていない場合、前記ストレージ媒体を識別する第1の識別情報及び前記第1の識別情報の整合性をチェックする第1の検査符号を、前記第2のメモリ領域に書き込む、
ストレージデバイス。
【請求項2】
前記電極、前記第1のメモリ領域および前記第2のメモリ領域は、前記メモリダイに含まれる、
請求項
1に記載したストレージデバイス。
【請求項3】
プローブカードを更に備え、
前記端子及び前記コントローラは、前記プローブカードに含まれる、
請求項1に記載したストレージデバイス。
【請求項4】
前記ストレージ媒体が載置可能なステージと、
駆動部と、を更に備え、
前記駆動部は、前記プローブカードまたは前記ステージを移動させて、前記ステージに載置された前記ストレージ媒体の電極と前記端子とを接触させる、
請求項
3に記載したストレージデバイス。
【請求項5】
各々が複数のメモリダイを含む複数のストレージ媒体を保管可能なストッカーを更に備える、
請求項1に記載したストレージデバイス。
【請求項6】
前記ストレージ媒体が載置可能なステージと、
前記ストッカーから前記ステージにストレージ媒体を搬送する搬送機構と、を更に備え、
前記搬送機構は、前記ステージに載置されたストレージ媒体を、前記ストッカー内の前記複数のストレージ媒体のいずれか一つと入れ替え可能である、
請求項
5に記載したストレージデバイス。
【請求項7】
前記コントローラは、前記第1のメモリ領域の内容全体を消去する際、前記第1のメモリ領域の内容と前記第2のメモリ領域の内容の双方を消去するように構成されている、
請求項1に記載したストレージデバイス。
【請求項8】
ホストコンピュータとストレージデバイスとを含むストレージシステムであって、
前記ストレージデバイスは、
プローブカードを装着可能なリーダ&ライタと、
各々が複数のメモリダイを含む複数のストレージ媒体を保管可能なストッカーとを具備し、
前記リーダ&ライタは、
前記複数のストレージ媒体のうちの一つのストレージ媒体である第1のストレージ媒体に対するデータの書き込み及び読み出しを実行するように構成され、
前記リーダ&ライタは、
駆動部を含み、
前記プローブカードは、
複数の端子と、
前記端子と接続されたコントローラとを含み、
前記複数のストレージ媒体の各々は、
前記端子と接続可能な電極と、
ユーザーデータを記憶可能な第1のメモリ領域と、
当該ストレージ媒体を識別する識別情報と前記識別情報の整合性をチェックするための検査符号とを記憶可能な第2のメモリ領域とを含み、
前記駆動部は、前記プローブカードを移動させて、前記第1のストレージ媒体の電極と前記端子とを接触させ、
前記コントローラは、
前記ホストコンピュータからのライト要求またはリード要求に応じて、前記第1のストレージ媒体に対するデータの書き込みまたは読み出しを実行可能に構成され、
前記第1のストレージ媒体の前記第2のメモリ領域に正しい対応関係を有する識別情報と検査符号との組が記憶されていない場合、前記ホストコンピュータからの要求に基づいて、前記第1のストレージ媒体を識別する第1の識別情報と前記第1の識別情報の整合性をチェックする第1の検査符号とを、前記第1のストレージ媒体の前記第2のメモリ領域に書き込み、
前記第1のストレージ媒体の前記第2のメモリ領域に正しい対応関係を有する識別情報と検査符号との組が記憶されている場合、前記第1のストレージ媒体の前記識別情報に関連付けられている第1の論理物理アドレス変換テーブルを、前記ホストコンピュータまたは前記第1のストレージ媒体の前記第1のメモリ領域から取得するように構成されている、
ストレージシステム。
【請求項9】
前記第1のストレージ媒体の前記第2のメモリ領域に正しい対応関係を有する識別情報と検査符号との組が記憶されていない場合、前記第1の識別情報と前記第1の検査符号とが、前記コントローラによって前記第1のストレージ媒体の前記第2のメモリ領域に書き込まれた後に、前記コントローラによって前記第1のストレージ媒体の前記第1のメモリ領域にデータが書き込まれる、
請求項
8に記載したストレージシステム。
【請求項10】
前記コントローラは、
前記第1のストレージ媒体の前記第2のメモリ領域に正しい対応関係を有する識別情報と検査符号との組が記憶されている場合、
前記第1の論理物理アドレス変換テーブルを前記ホストコンピュータまたは前記第1のストレージ媒体の前記第1のメモリ領域から取得し、
前記ホストコンピュータからのライト要求の受信に応じて、前記第1のストレージ媒体の前記第1のメモリ領域内の物理記憶位置にデータを書き込み、前記物理記憶位置を示す物理アドレスが前記ライト要求によって指定された論理アドレスに関連付けられるように、前記第1の論理物理アドレス変換テーブルを更新し、
前記ホストコンピュータからのリード要求の受信に応じて、前記第1の論理物理アドレス変換テーブルを参照することによって前記リード要求によって指定された論理アドレスに対応する物理アドレスを取得し、前記取得した物理アドレスに基づいて前記第1のストレージ媒体の前記第1のメモリ領域からデータを読み出すように構成されている、
請求項
8に記載したストレージシステム。
【請求項11】
前記ホストコンピュータは、識別情報と前記識別情報の整合性をチェックするための検査符号とが書き込まれている複数のストレージ媒体にそれぞれに対応する、複数の論理物理アドレス変換テーブルおよび複数のディフェクト情報を管理するように構成され、
各ディフェクト情報は、対応するストレージ媒体内の複数のメモリダイに含まれる不良ブロックを示し、
前記コントローラは、前記第1のストレージ媒体の前記第2のメモリ領域に正しい対応関係を有する識別情報と検査符号との組が記憶されている場合、前記第1のストレージ媒体の前記識別情報に関連付けられている前記第1の論理物理アドレス変換テーブルと前記第1のストレージ媒体の前記識別情報に関連付けられている第1のディフェクト情報とを前記ホストコンピュータまたは前記第1のストレージ媒体の前記第1のメモリ領域から取得するように構成され、
前記第1のディフェクト情報は、前記第1のストレージ媒体内の複数のメモリダイに含まれる不良ブロックを示す、
請求項
8に記載したストレージシステム。
【請求項12】
前記ホストコンピュータは、前記第1のストレージ媒体の前記第1のメモリ領域のデータ全体を消去する際、前記コントローラに、前記第1のストレージ媒体の前記第1のメモリ領域の内容と前記第1のストレージ媒体の前記第2のメモリ領域の内容の双方を消去させるように構成されている、
請求項
8に記載したストレージシステム。
【請求項13】
前記ホストコンピュータは、
識別情報と前記識別情報の整合性をチェックするための検査符号とが書き込まれている複数のストレージ媒体にそれぞれに対応する複数の識別情報を管理し、
前記第1のストレージ媒体の前記第2のメモリ領域に正しい対応関係を有する識別情報と検査符号との組が記憶されており、且つ前記第2のメモリ領域に記憶されている前記識別情報が、前記ホストコンピュータによって指定されたアクセス対象のストレージ媒体の識別情報に一致する場合、前記第1のストレージ媒体の前記第1のメモリ領域へのデータの書き込みおよび前記第1のストレージ媒体の前記第1のメモリ領域からのデータの読み出しが許可される、
請求項
8に記載したストレージシステム。
【請求項14】
前記ホストコンピュータは、前記第1のストレージ媒体の前記第2のメモリ領域から読み出される識別情報と検査符号との間の対応関係が正しいか否かを判定する検証処理を実行することによって、前記第1のストレージ媒体の前記第2のメモリ領域に正しい対応関係を有する識別情報と検査符号との組が記憶されているか否かを判定するように構成されている、
請求項
8に記載したストレージシステム。
【請求項15】
前記リーダ&ライタは、
前記複数のストレージ媒体のうちの一つのストレージ媒体が載置可能なステージを更に具備し、
前記ホストコンピュータは、前記複数のストレージ媒体それぞれが存在する物理位置を示す位置情報を管理するように構成され、
前記物理位置は、前記ステージに保管されているのか、または前記ストッカーに保管されているのか、前記ストッカーに保管されている場合は前記ストッカー内のどの位置に保管されているのか、を示す、
請求項
8に記載したストレージシステム。
【請求項16】
データの書き込みまたは読み出しが可能な複数のメモリダイを含むストレージ媒体と、
データの書き込みまたは読み出しを行うための複数の端子と、
前記端子と接続されたコントローラとを含み、
前記ストレージ媒体は、
前記端子と接続可能な電極と、
ユーザーデータを記憶可能な第1のメモリ領域と、
前記ストレージ媒体の識別のための識別情報と前記識別情報の整合性をチェックするための検査符号とを記憶可能な第2のメモリ領域とを含み、
前記コントローラは、前記第2のメモリ領域から前記識別情報および前記検査符号を読み出し可能であ
り、
前記コントローラは、前記第2のメモリ領域に正しい対応関係を有する識別情報と検査符号との組が記憶されている場合、前記第2のメモリ領域に記憶されている識別情報に関連付けられている第1の論理物理アドレス変換テーブルを、外部または前記第1のメモリ領域から取得する、
ストレージデバイス。
【請求項17】
前記電極、前記第1のメモリ領域および前記第2のメモリ領域は、前記メモリダイに含まれる、
請求項
16に記載したストレージデバイス。
【請求項18】
プローブカードを更に備え、
前記端子及び前記コントローラは、前記プローブカードに含まれる、
請求項
16に記載したストレージデバイス。
【請求項19】
前記ストレージ媒体が載置可能なステージと、
駆動部と、を更に備え、
前記駆動部は、前記プローブカードまたは前記ステージを移動させて、前記ステージに載置された前記ストレージ媒体の電極と前記端子とを接触させる、
請求項
18に記載したストレージデバイス。
【請求項20】
各々が複数のメモリダイを含む複数のストレージ媒体を保管可能なストッカーを更に備える、
請求項
16に記載したストレージデバイス。
【請求項21】
前記ストレージ媒体が載置可能なステージと、
前記ストッカーから前記ステージにストレージ媒体を搬送する搬送機構と、を更に備え、
前記搬送機構は、前記ステージに載置されたストレージ媒体を、前記ストッカー内の前記複数のストレージ媒体のいずれか一つと入れ替え可能である、
請求項
20に記載したストレージデバイス。
【請求項22】
前記コントローラは、前記複数のストレージ媒体に、それぞれ異なる識別情報を書き込む、請求項
20または
21に記載したストレージデバイス。
【請求項23】
前記コントローラは、前記書き込まれた識別情報が、正しいかどうかストレージ媒体ごとに検査符号によるチェックを行い、前記書き込まれた識別情報が正しい場合のみ、前記ストレージ媒体のメモリダイに対して書き込みまたは読出しを行う、
請求項
22に記載したストレージデバイス。
【請求項24】
前記コントローラは、
ライト要求の受信に応じて、前記第1のメモリ領域内の物理記憶位置にデータを書き込み、前記物理記憶位置を示す物理アドレスが前記ライト要求によって指定された論理アドレスに関連付けられるように、前記第1の論理物理アドレス変換テーブルを更新し、
リード要求の受信に応じて、前記第1の論理物理アドレス変換テーブルを参照することによって前記リード要求によって指定された論理アドレスに対応する物理アドレスを取得し、前記取得した物理アドレスに基づいて前記第1のメモリ領域からデータを読み出すように構成されている、
請求項
16に記載したストレージデバイス。
【請求項25】
前記コントローラは
、前記ストレージ媒体の前記識別情報に関連付けられている前記第1の論理物理アドレス変換テーブルと前記ストレージ媒体の前記識別情報に関連付けられている第1のディフェクト情報とを外部または前記第1のメモリ領域から取得するように構成され、
前記第1のディフェクト情報は、前記ストレージ媒体内の前記複数のメモリダイに含まれる不良ブロックを示す、
請求項
16に記載したストレージデバイス。
【請求項26】
前記コントローラは、前記第1のメモリ領域の内容全体を消去する際、前記第1のメモリ領域の内容と前記第2のメモリ領域の内容の双方を消去するように構成されている、
請求項
16に記載したストレージデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、不揮発性メモリを制御するストレージデバイスおよびストレージシステムに関する。
【背景技術】
【0002】
近年、不揮発性メモリを制御するストレージデバイスが広く普及している。
【0003】
このようなストレージデバイスとして、NAND型フラッシュメモリを備えるソリッドステートドライブ(SSD)が知られている。SSDは、様々なコンピュータにおいて使用されている。
【0004】
最近では、より記憶容量の大きいストレージデバイスの実現が要求されている。したがって、ストレージデバイスの記憶容量を増やすことを可能にするための新たな技術の実現が必要である。
【先行技術文献】
【特許文献】
【0005】
【文献】特開平01-028863号公報
【文献】米国特許第6,228,684号明細書
【文献】特許第3980807号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明が解決しようとする課題は、記憶容量を増やすことが可能なストレージデバイスおよびストレージシステムを提供することである。
【課題を解決するための手段】
【0007】
実施形態によれば、ストレージデバイスは、データの書き込みまたは読み出しが可能な複数のメモリダイを含むストレージ媒体と、データの書き込みまたは読み出しを行うための複数の端子と、前記端子と接続されたコントローラとを含む。前記ストレージ媒体は、前記端子と接続可能な電極と、ユーザーデータを記憶可能な第1のメモリ領域と、前記ストレージ媒体の識別のための識別情報と前記識別情報の整合性をチェックするための検査符号とを記憶可能な第2のメモリ領域とを含む。前記コントローラは、前記第2のメモリ領域から前記識別情報および前記検査符号を読み出し可能である。前記コントローラは、前記第2のメモリ領域に正しい対応関係を有する識別情報と検査符号との組が記憶されていない場合、前記ストレージ媒体を識別する第1の識別情報及び前記第1の識別情報の整合性をチェックする第1の検査符号を、前記第2のメモリ領域に書き込む。
【図面の簡単な説明】
【0008】
【
図1】本発明の実施形態に係るストレージデバイスを含むストレージシステムの構成例を示すブロック図。
【
図2】ストレージデバイスにおいてストレージとして使用される半導体ウェハの構成例を示す図。
【
図3】半導体ウェハに含まれる複数の不揮発性メモリダイの各々の構成例を示す図。
【
図4】プローブカードの第1の面に配置される複数のプローブを示す図。
【
図5】プローブカードの第2の面に配置されるコントローラを構成する複数のメモリコントローラを示す図。
【
図6】ストレージデバイスに含まれる、リーダ&ライタ(プローバ)とストレージストッカーとの関係を示す図。
【
図7】プローバに含まれるコントローラの構成例を示すブロック図。
【
図8】コントローラにおいて実行される識別情報書き込み処理の手順を示すフローチャート。
【
図9】コントローラにおいて実行されるデータ書き込/読み出し処理の手順を示すフローチャート。
【
図10】コントローラにおいて実行される、半導体ウェハ内の全データを消去する処理の手順を示すフローチャート。
【
図11】ホストコンピュータの構成例を示すブロック図。
【
図12】ホストコンピュータによって制御される新規書き込み処理、追加書き込み処理、読み出し処理、ウェハ追加処理、およびウェハ取り除き処理それぞれが実行されるべき条件を示すフローチャート。
【
図13】識別情報ありの半導体ウェハが存在しない初期状態のストレージシステムを示すブロック図。
【
図14】ストレージシステムにおいて実行される新規書き込み処理を説明するための図。
【
図15】ホストコンピュータによって制御される新規書き込み処理の手順を示すフローチャート。
【
図16】ストレージシステムにおいて実行される追加書き込み処理を説明するための図。
【
図17】ホストコンピュータによって制御される追加書き込み処理の一部分の手順を示すフローチャート。
【
図18】追加書き込み処理の続き部分の手順を示すフローチャート。
【
図19】ストレージシステムにおいて実行される読み出し処理を説明するための図。
【
図20】読み出し処理の一部分の手順を示すフローチャート。
【
図21】読み出し処理の続き部分の手順を示すフローチャート。
【
図22】ストレージシステムにおいて実行されるウェハ追加処理を説明するための図。
【
図23】ウェハ追加処理の手順を示すフローチャート。
【
図24】ストレージシステムにおいて実行されるウェハ取り除き処理を説明するための図。
【
図25】ウェハ取り除き処理の手順を示すフローチャート。
【発明を実施するための形態】
【0009】
以下、図面を参照して、本発明の実施形態を説明する。
まず、本発明の実施形態に係るストレージシステムの構成について説明する。
図1は、本発明の実施形態に係るストレージデバイスを含むストレージシステムの構成例を示すブロック図である。
【0010】
ストレージシステム1は、ホストコンピュータ2とストレージデバイス3とを含む。
ホストコンピュータ2は、ストレージデバイス3の動作を制御する情報処理装置である。ホストコンピュータ2は、半導体ウェハ40が保管されているウェハ保管位置を管理する。
【0011】
ストレージデバイス3は、複数の不揮発性メモリダイを含む半導体ウェハ40をストレージとして利用する。ストレージデバイス3は、半導体ウェハ40内の不揮発性メモリダイにデータを書き込み、半導体ウェハ40内の不揮発性メモリダイからデータを読み出すように構成されている。
【0012】
通常、半導体ウェハに形成された不揮発性メモリダイはダイシングによってチップとして切り出されて、ストレージとして利用される(ストレージ媒体とも云う)。これに対し、半導体ウェハ40は、複数の不揮発性メモリダイを含む半導体ウェハ40そのものがストレージとして利用される。半導体ウェハ40は、形成された不揮発性メモリダイが切り出されない形態であっても良い。また、半導体ウェハ40は、切り出された不揮発性メモリダイを寄せ集めて形成されるリマウント形態であっても良い。
【0013】
半導体ウェハ40は外部と接続可能な複数の電極(以下、パッドと称する)41を含む。より詳しくは、複数のパッド41は、半導体ウェハ40内の複数の不揮発性メモリダイそれぞれに含まれるパッド群である。複数のパッド41それぞれは、電源電圧の供給や信号の入出力に使用される。信号とは例えば、チップイネーブル信号、ライトイネーブル信号、リードイネーブル信号、コマンドラッチイネーブル信号、アドレスラッチイネーブル信号、ライトプロテクト信号、複数ビット幅のI/O信号、レディー/ビジー信号RBn等である。
【0014】
複数の半導体ウェハ40の各々は、ユーザデータを記憶するためのメモリ(第1のメモリ領域)と、半導体ウェハ40を識別する識別情報を記憶するためのメモリ(第2のメモリ領域)とを含む。第2のメモリ領域には、半導体ウェハ40を識別する識別情報とこの識別情報の整合性(integrity)をチェックするための検査符号とが記憶される。
識別情報は、個々の半導体ウェハを一意に識別可能な任意の識別子(ウェハIDとも云う)を使用し得る。識別情報は、ホストコンピュータ2によって発行される。
【0015】
検査符号は、例えば、巡回冗長符号(CRC)、CRCとは異なる別の種類のパリティ、識別情報から算出されるハッシュ値等である。検査符号により、第2のメモリ領域から識別情報として読み出される値の整合性をチェックすることができる。よって、工場出荷直後の新しい半導体ウェハ40の第2のメモリ領域内に記憶されているランダムな値が誤って別の半導体ウェハ40の識別情報として扱われてしまうことを防止することが可能となる。
【0016】
各半導体ウェハ40においては、複数の不揮発性メモリダイのうちのいくつかの不揮発性メモリダイの記憶領域の一部が第2のメモリ領域として使用されてもよい。この場合、第2のメモリ領域として使用される一部の記憶領域を除く他の記憶領域の集合が第1のメモリ領域として使用されてもよい。
【0017】
ストレージデバイス3は、リーダ&ライタ(プローバとも称する)10、ストレージ搬送機構20、およびストレージストッカー30を含む。
【0018】
リーダ&ライタ(プローバとも称する)10は、ストレージ搬送機構20によってストレージストッカー30からリーダ&ライタ(プローバとも称する)10に搬送される半導体ウェハ40に対するデータの書き込み及び読み出しを実行する。
【0019】
リーダ&ライタ(プローバ)10は、プローブカード11、ステージ12、駆動部13を含む。
【0020】
プローブカード11は、面11A(ここでは下面)と、面11Aと反対側の面11B(ここでは上面)とを有する。面11Aは、ステージ12に載置された半導体ウェハ40と対向する。
【0021】
面11Aにおいては、複数のプローブピン51が配置されている。各プローブピン51は、ステージ12に載置された半導体ウェハ40のパッド41に電気信号を供給する、またはパッド41から電気信号を受け取るために使用される。プローブピン51は、プローブまたはプローブニードルとも称される。面11Aに配置されるプローブピン51の総数は、半導体ウェハ40内のパッド41の総数と同じあってもよい。この場合、リーダ&ライタ(プローバ)10は、プローブカード11を介して半導体ウェハ40内のパッド41に一括して接続することができる。これにより、並列アクセス可能な不揮発性メモリダイの数を増やすことができる。
【0022】
面11Bにおいては、コントローラ61が配置されている。コントローラ61は、ステージ12に載置された半導体ウェハ40内の複数の不揮発性メモリダイを制御するように構成されたメモリコントローラである。コントローラ61は、System-on-a-chip(SoC)のようなLSIによって実現されてもよい。
図1においては、複数のコントローラ61がプローブカード11の面11Bに配置される構成例が例示されているが、面11Bに配置されるコントローラ61の数は一つであってもよいし、複数であってもよい。
【0023】
コントローラ61は、半導体ウェハ40内の各不揮発性メモリダイのデータ管理およびロック管理を実行するように構成されたフラッシュトランスレーション層(FTL)として機能し得る。FTLによって実行されるデータ管理には、論理アドレスそれぞれと物理アドレスそれぞれとの間の対応関係を示すマッピング情報の管理等が含まれる。論理アドレスは、アクセス対象の半導体ウェハ40の論理アドレス空間内の位置をアドレス指定するためにホストコンピュータ2によって使用されるアドレスである。ある論理アドレスに対応する物理アドレスは、この論理アドレスに対応するデータが書き込まれた不揮発性メモリダイ内の物理的な記憶位置を指し示す。論理アドレスとしては、一般に、LBA(logical block address(addressing))が使用され得る。アクセス対象の半導体ウェハ40の論理アドレスは、例えば、LBAとアクセス対象の半導体ウェハ40の識別情報との組み合わせによって表現される。
【0024】
ステージ12は半導体ウェハ40を保持する機構を有している。ストレージ搬送機構20によってストレージストッカー30からリーダ&ライタ(プローバ)10に搬送される半導体ウェハ40は、ステージ12に載置される。ステージ12に載置される半導体ウェハ40は、ストレージ搬送機構20によって、ストレージストッカー30に保管されている複数の半導体ウェハ40のうちのいずれか一つと入れ替え可能である。
【0025】
駆動部13は、プローブカード11またはステージ12を移動させて、ステージ12に載置された半導体ウェハ40のパッド41とプローブカード11のプローブピン51とを接触させる。半導体ウェハ40のパッド41とプローブピン51とが接触されることにより、コントローラ61と半導体ウェハ40(複数の不揮発性メモリダイ)とが電気的に接続される。例えば、駆動部13は、ステージ12を互いに直交する3つの方向(X方向、Y方向、Z方向)に移動させることが可能なアクチュエータとして実現されていてもよい。
【0026】
ストレージ搬送機構20は、ホストコンピュータ2の制御の下、半導体ウェハ40をストレージストッカー30とステージ12との間で搬送する動作を行う。
【0027】
ストレージ搬送機構20は、支持体21とトレー22とを含む。
【0028】
支持体21は水平方向および垂直方向にそれぞれ移動可能である。さらに、支持体21は、支持体21の長手方向に沿った中心軸の回りで回動可能である。
【0029】
トレー22は支持体21の上端部に取り付けられており、搬送対象半導体ウェハ40を運ぶために使用される。
【0030】
ストレージストッカー30は、複数の半導体ウェハ40をそれぞれ保管する。ストレージストッカー30は、複数のウェハ保管位置を含んでいる。ユーザは、ストレージストッカー30の空いているウェハ保管位置に、新たな半導体ウェハ40を必要に応じて追加することができる。このため、ストレージシステム1が扱う記憶容量を半導体ウェハの単位で容易に増やすことができる。
【0031】
ストレージストッカー30内に保管されている半導体ウェハ40は、コントローラ61から電気的に分離されたオフラインストレージとして機能する。ストレージ搬送機構20によってストレージストッカー30からステージ12に搬送された半導体ウェハ40は、プローブ51を介してコントローラ61に電気的に接続されるオンラインストレージとして機能する。
【0032】
次に、本発明の実施形態に係るストレージシステム1の動作について説明する。
【0033】
ストレージデバイス3は、ホストコンピュータ2の制御の下、アクセス対象の半導体ウェハ40(オンラインストレージ)に対するデータの書き込みまたは読み出しを実行する。
【0034】
ホストコンピュータ2は、アクセス対象の半導体ウェハ40が保管されているウェハ保管位置を指定する搬送要求をストレージデバイス3に送信する。搬送要求を受信すると、ストレージデバイス3のストレージ搬送機構20は、ストレージストッカー30内の指定されたウェハ保管位置の半導体ウェハ40を、リーダ&ライタ(プローバ)10に搬送し、ステージ12に載置する。リーダ&ライタ(プローバ)10は、ステージ12に載置されているアクセス対象の半導体ウェハ40に対するデータの書き込みまたは読み出しを実行する。
【0035】
アクセス対象の半導体ウェハ40に対するデータの書き込みまたは読み出しが完了すると、ストレージデバイス3は、ステージ12上の半導体ウェハ40をストレージストッカー30内のウェハ保管位置に保管することができる。あるいは、ストレージデバイス3は、他の半導体ウェハ40の搬送要求を受信するまではステージ12上の半導体ウェハ40を載置し続けても良い。
【0036】
ステージ12上の半導体ウェハ40をストレージストッカー30内のウェハ保管位置に保管する場合、ホストコンピュータ2は、ステージ12上の半導体ウェハ40を保管するストレージストッカー30内のウェハ保管位置を指定する返却要求をストレージデバイス3に送信する。ホストコンピュータ2は、アクセス対象の半導体ウェハ40に対するデータの書き込みまたは読み出しが完了したり、または、例えば、第1のメモリ領域にユーザデータをさらに書込むことができなくなったりした場合に、返却要求をストレージデバイス3に送信する。返却要求を受信すると、ストレージデバイス3のストレージ搬送機構20は、リーダ&ライタ(プローバ)10のステージ12上の半導体ウェハ40を、ストレージストッカー30に搬送し、指定されたウェハ保管位置に保管する。
【0037】
次に、アクセス対象の半導体ウェハ40に対するデータの書き込みまたは読み出しについて、より詳細な動作を説明する。
【0038】
ストレージストッカー30においては、既にデータが書き込まれた半導体ウェハ40と、まだデータが書き込まれていない半導体ウェハ40とが混在しうる。ストレージデバイス3は、ホストコンピュータ2の制御の下、半導体ウェハ40に記憶される識別情報を用いて、既にデータが書き込まれている半導体ウェハ40とまだデータが書き込まれていない半導体ウェハ40とを区別して取り扱う。
【0039】
ステージ12に戴置された半導体ウェハ40の第2のメモリ領域に正しい対応関係を有する識別情報と検査符号との組が記憶されていない場合には、半導体ウェハ40は、まだデータが書き込まれていない半導体ウェハである。ステージ12に戴置された半導体ウェハ40の第2のメモリ領域に正しい対応関係を有する識別情報と検査符号との組が記憶されている場合には、半導体ウェハ40は、既にデータが書き込まれている半導体ウェハである。
【0040】
ステージ12に戴置された半導体ウェハ40の第2のメモリ領域に正しい対応関係を有する識別情報と検査符号との組が記憶されていない場合には、コントローラ61は、ホストコンピュータ2からの要求に基づいて、この半導体ウェハ40の第2のメモリ領域にこの半導体ウェハ40を識別するための識別情報とこの識別情報の整合性をチェックするための検査符号とを書き込む。そして、コントローラ61は、コントローラ61は、この識別情報に関連付けられている論理物理アドレス変換テーブル(logical-to-physical address translation table)を作成する。論理物理アドレス変換テーブルは、論理アドレスと物理アドレスとの対応関係を管理するために使用される。以下では、論理物理アドレス変換テーブルはL2Pテーブルとしても参照される。
【0041】
ステージ12に戴置された半導体ウェハ40の第2のメモリ領域に正しい対応関係を有する識別情報と検査符号との組が記憶されている場合には、コントローラ61は、この識別情報に関連付けられている論理物理アドレス変換テーブルをホストコンピュータ2から取得する。あるいは、論理物理アドレス変換テーブルは、上位テーブルと下位テーブルとの2階層に別れていても良い。さらに、コントローラ61は、論理物理アドレス変換テーブルのうち上位テーブルをホストコンピュータ2から取得し、下位テーブルを半導体ウェハ40から取得することとしても良い。
【0042】
コントローラ61は、ステージ12に載置された半導体ウェハ40内の不揮発性メモリダイを制御して、ホストコンピュータ2からのライト要求(ライトコマンド)またはリード要求(リードコマンド)の受信に応じて、半導体ウェハ40に対するデータの書き込みまたは読み出しを実行する。
【0043】
ホストコンピュータ2からライト要求を受信した場合、コントローラ61は、半導体ウェハ40の第1のメモリ領域内の物理記憶位置に、ライト要求に含まれているユーザデータを書き込む。そして、コントローラ61は、この物理記憶位置を示す物理アドレスがライト要求によって指定された論理アドレスに関連付けられるように、取得したL2Pテーブルを更新する。
【0044】
ホストコンピュータ2からリード要求を受信した場合、コントローラ61は、取得したL2Pテーブルを参照することによって、リード要求によって指定された論理アドレスに対応する物理アドレスを特定する。そして、コントローラ61は、特定した物理アドレスが示す半導体ウェハ40の第1のメモリ領域からユーザデータを読み出す。
【0045】
次に、本発明の実施形態に係る半導体ウェハ40の詳細な構成について説明する。
図2は、ストレージデバイス3においてストレージとして使用される半導体ウェハ40の構成例を示す図である。
【0046】
半導体ウェハ40は複数の不揮発性メモリダイ70を含む。半導体ウェハ40のサイズは限定されないが、300mmウェハであってもよい。一つの半導体ウェハに含まれる不揮発性メモリダイ70の数が1024個で、一つの不揮発性メモリダイ70当たりの記憶容量が32Gバイトであるケースにおいては、一つの半導体ウェハ当たりの記憶容量は32Tバイトである。不揮発性メモリダイ70は例えば矩形形状であり、その1辺には外部と接続可能な複数のパッド41が配置されている。
【0047】
半導体ウェハ40に含まれる複数の不揮発性メモリダイ70のうちの一つのまたはいくつかの不揮発性メモリダイ70の記憶領域の一部は、第2のメモリ領域102として使用される。第2のメモリ領域102は、この半導体ウェハ40を識別するためにホストコンピュータ2によって発行される識別情報とこの識別情報の整合性をチェックするための検査符号とを記憶するための記憶領域として使用される。ある識別情報の整合性をチェックするための検査符号は、この識別情報から数学的計算によって算出することができる。
【0048】
例えば、識別情報のサイズおよびこの識別情報に対応する検査符号のサイズは予め規定されている。正しい対応関係を有する識別情報と検査符号の組が第2のメモリ領域102に記憶されているか否かを判定するための検証処理においては、例えば、第2のメモリ領域102から読み出されるビット列の一部が識別情報として扱われ、残りの部分が検査符号として扱われる。なお、第2のメモリ領域102に識別情報と検査符号とを記憶するためのデータ構造の例はこの例に限定されず、他の様々なデータ構造を利用することができる。
【0049】
半導体ウェハ40においては、第2のメモリ領域102以外の他の記憶領域は、ユーザデータまたは管理データを記憶するための第1のメモリ領域101として機能する。管理データは、例えば、半導体ウェハ40に対するデータの書き込みおよび読み出しを行うために必要なウェハ制御情報を含む。ウェハ制御情報の例には、例えば、半導体ウェハ40に対応する論理物理アドレス変換テーブル、半導体ウェハ40に対応するディフェクト情報、等が含まれる。
【0050】
第1のメモリ領域101は、ユーザデータを記憶するために使用される。さらに、第1のメモリ領域101は、ユーザデータと半導体ウェハ40用の管理データの双方を記憶するために使用されてもよい。なお、半導体ウェハ40は、識別情報と検査符号との組を記憶するための専用のメモリを第2のメモリ領域102として含んでいてもよい。
【0051】
次に、本発明の実施形態に係る不揮発性メモリダイ70の詳細な構成について説明する。
図3は、半導体ウェハ40に含まれる複数の不揮発性メモリダイ70の構成例を示す図である。
【0052】
半導体ウェハ40が含む複数の不揮発性メモリダイ70の各々は、例えば、NAND型フラッシュメモリダイである。不揮発性メモリダイ70は二次元構造のNAND型フラッシュメモリとして実現されていてもよいし、三次元構造のNAND型フラッシュメモリとして実現されていてもよい。
【0053】
NAND型フラッシュメモリにおいては、ページへのデータ書き込みは1消去サイクル当たり1回のみ可能である。つまり、データが既に書き込まれているブロック内の領域に新たなデータを直接上書きすることができない。このため、既に書き込まれているデータを更新(変更)する場合には、コントローラ61は、そのブロック(または別のブロック)内の未使用領域(未書き込み領域)に新たなデータ(更新データ)を書き込み、そして以前のデータを無効データとして扱う。換言すれば、コントローラ61は、ある論理アドレスに対応する更新データを、この論理アドレスに対応する以前のデータが記憶されている物理記憶位置ではなく、別の物理記憶位置に書き込む。そして、コントローラ61は、L2Pテーブルを更新して、この論理アドレスをこの別の物理記憶位置に関連付けると共に、以前のデータを無効化する。
【0054】
不揮発性メモリダイ70のメモリセルアレイは、複数のブロック(物理ブロック)B0~Bj-1を含む。ブロックB0~Bj-1は、消去動作の単位として機能する。
【0055】
ブロックB0~Bj-1は複数のページ(物理ページ)を含む。つまり、ブロックB0~Bj-1の各々は、ページP0、P1、…Pk-1を含む。各ページは、同一ワード線に接続された複数のメモリセルを含む。各不揮発性メモリダイにおいては、データのリードおよびデータのライトはページ単位で実行される。
【0056】
次に、本発明の実施形態に係るプローブカード11の詳細な構成について、
図4および
図5を用いて説明する。
図4は、プローブカード11の第1の面11Aに配置される複数のプローブ51を示す図である。
【0057】
図4においては、半導体ウェハ40の全ての不揮発性メモリダイ70のパッド41の数と同数のプローブ51がプローブカード11の第1の面11Aに配置されている場合が例示されている。
【0058】
この場合、半導体ウェハ40内の全ての不揮発性メモリダイ70の全てのパッド41にプローブカード11のプローブ51が一括して接触され、全ての不揮発性メモリダイ70をコントローラ61によって制御することが可能となる。
【0059】
図5は、プローブカード11の第2の面11Bに配置されるコントローラ61を構成する複数のメモリコントローラを示す図である。
【0060】
図5においては、コントローラ61が16個のメモリコントローラ61-1、61-2、…、61-16によって実現されている場合が例示されている。一つの半導体ウェハ40に1024個の不揮発性メモリダイ70が含まれ、且つプローブカード11の第2の面11Bに16個のメモリコントローラ61-1、61-2、…、61-16が配置されているケースにおいては、各メモリコントローラは、プローブ51を介して64個の不揮発性メモリダイを制御すればよい。
【0061】
メモリコントローラ61-1、61-2、…、61-16は、メモリコントローラ61-1、61-2、…、61-16によって共有されるスイッチ回路を介してホストコンピュータ2に接続されてもよい。
【0062】
ここで、本発明の実施形態に係るストレージシステム1の動作の具体例について説明する。
図6はストレージデバイス3に含まれる、リーダ&ライタ(プローバ)10とストレージストッカー30との関係を示す図である。
【0063】
図6においては、ストレージ#1がリーダ&ライタ(プローバ)10のステージ12にオンラインストレージとして載置されており、ストレージ#2、ストレージ#3がストレージストッカー30内にオフラインストレージとして保管されている場合が例示されている。ストレージ#2は識別情報ありの半導体ウェハの一つであり、ストレージ#3は識別情報なしの半導体ウェハの一つである。
【0064】
コントローラ61は、リーダ&ライタ(プローバ)10に搬送された半導体ウェハの第2のメモリ領域から、識別情報と検査符号とを読み出す。そして、読み出された識別情報と検査符号との間の対応関係が正しいか否かを判定する検証処理がホストコンピュータ2またはコントローラ61によって実行される。
【0065】
識別情報ありの半導体ウェハ(ここでは、ストレージ#2)がリーダ&ライタ(プローバ)10に搬送された場合、読み出された識別情報と検査符号との間の対応関係が正しいと判定される。この場合、コントローラ61は、識別情報ありの半導体ウェハ(ストレージ#2)の第2のメモリ領域に記憶されている識別情報に関連付けられているL2Pテーブルをホストコンピュータ2から取得する。または、コントローラ61は、ストレージ#2の第2のメモリ領域に記憶されている識別情報に関連付けられているL2Pテーブルをストレージ#2から取得する。または、ストレージ#2の第2のメモリ領域に記憶されている識別情報に関連付けられているL2Pテーブルが上位テーブルと下位テーブルとに分かれている場合には、コントローラ61は、上位テーブルをホストコンピュータ2から取得し、下位テーブルをストレージ#2から取得してもよい。そして、コントローラ61は、取得したL2Pテーブルを使用して、論理アドレスそれぞれと物理アドレスそれぞれとの間のマッピングを所定の管理サイズ単位で管理する。
【0066】
識別情報なしの半導体ウェハ(ここでは、ストレージ#3)がリーダ&ライタ(プローバ)10のステージ12に搬送された場合、読み出された識別情報と検査符号との対応関係が正しくないと判定される。この場合、コントローラ61は、ホストコンピュータ2からの要求に基づいて、ストレージ#3の第2のメモリ領域に、ホストコンピュータ2から発行される識別情報とこの識別情報の整合性をチェックするための検査符号とを書き込む。以下では、識別情報の整合性をチェックするための検査符号を、識別情報に対応する検査符号とも称する。
【0067】
ホストコンピュータ2は、識別情報ありの複数の半導体ウェハ40にそれぞれに対応する複数のディフェクト情報を管理する。ある半導体ウェハ40に関連付けられているディフェクト情報は、この半導体ウェハ40内の複数の不揮発性メモリダイに含まれる不良ブロックを示す。コントローラ61は、ステージ12に搬送された半導体ウェハの識別情報に関連付けられているL2Pテーブルのみならず、この半導体ウェハの識別情報に関連付けられているディフェクト情報もホストコンピュータ2または半導体ウェハ40内の不良ブロックを含まない第1の記憶領域から取得してもよい。そして、コントローラ61は、不良ブロックが書き込み先ブロックとして選択されないように、この取得したディフェクト情報に基づいて、ホストコンピュータ2からのデータが書き込まれるべき書き込み先ブロックを決定する。
【0068】
次に、本発明の実施形態に係るコントローラ61の詳細な構成について説明する。
図7は、リーダ&ライタ(プローバ)10に含まれるコントローラ61の構成例を示すブロック図である。
【0069】
コントローラ61は、ホストインタフェース回路(ホストI/F)111、CPU112、NANDインタフェース回路(NAND I/F)113、ダイナミックRAMインタフェース回路(DRAM I/F)114、直接メモリアクセスコントローラ(DMAC)115、スタティックRAM(SRAM)116、ECCエンコード/デコード部117を含む。ホストインタフェース回路111、CPU112、NANDインタフェース回路113、ダイナミックRAMインタフェース回路114、直接メモリアクセスコントローラ115、スタティックRAM116、ECCエンコード/デコード部117は、バス110を介して接続される。
【0070】
ホストインタフェース回路111は、ホストコンピュータ2との通信を実行するように構成されている。ホストインタフェース回路111は、ホストコンピュータ2から様々なコマンドを受信する。これらコマンドには、ライトコマンド(ライト要求)、リードコマンド(リード要求)、消去コマンド(消去)、他の様々なコマンドが含まれる。
【0071】
ライトコマンドは書き込むべきデータ(ライトデータ)を半導体ウェハ内の不揮発性メモリダイに書き込むコマンド(ライト要求)であり、ライトデータが書き込まれるべき論理アドレス(開始LBA)、このライトデータのサイズ(データ長)、このライトデータが記憶されているホストコンピュータ2のメモリ内の位置を示すデータポインタ(バッファアドレス)、等を含む。
【0072】
リードコマンドはデータを半導体ウェハ内の不揮発性メモリダイからデータを読み出すコマンド(リード要求)であり、読み出すべきデータに対応する論理アドレス(開始LBA)、このデータのサイズ(データ長)、このデータが転送されるべきホストコンピュータ2のメモリ内のリードバッファ内の位置を示すデータポインタ(バッファアドレス)、等を含む。
【0073】
消去コマンドは半導体ウェハ内の各不揮発性メモリダイに書き込まれたデータを消去するためのコマンド(消去要求)であり、不揮発性メモリダイ内の各消去対象のブロック内のメモリセル群を消去状態にするために使用される。
【0074】
CPU112は、ホストインタフェース回路111、NANDインタフェース回路113、ダイナミックRAMインタフェース回路114、直接メモリアクセスコントローラ115、スタティックRAM116、ECCエンコード/デコード部117を制御するように構成されたプロセッサである。CPU112は、ストレージデバイス3の電源オンに応答して図示しないROMから制御プログラム(ファームウェア)をスタティックRAM116にロードし、そしてこのファームウェアを実行することによって様々な処理を行う。CPU112は、ホストコンピュータ2からの様々なコマンドを処理するためのコマンド処理、上述のFTLに対応する処理等を実行することができる。
【0075】
NANDインタフェース回路113は、CPU112の制御の下、各不揮発性メモリダイを制御するように構成されたメモリ制御回路である。
【0076】
DRAMインタフェース回路114は、CPU112の制御の下、DRAMを制御するように構成されたDRAM制御回路である。なお、コントローラ61にDRAMが接続されている場合には、ファームウェアはDRAMにロードされてもよい。また、DRAMの記憶領域の一部がライトバッファとして使用されてもよいし、DRAMの記憶領域の別の一部が、半導体ウェハ40の識別情報に関連付けられたL2Pテーブルを記憶するために使用されてもよい。
【0077】
DMAC115は、CPU112の制御の下、ホストコンピュータ2のメモリとスタティックRAM116(またはDRAM)との間のデータ転送を実行する。
【0078】
スタティックRAM116の記憶領域の一部は、半導体ウェハ40に書き込むべきデータを一時的に記憶するためのライトバッファとして使用されてもよい。また、スタティックRAM116の記憶領域の別の一部は、半導体ウェハ40の識別情報に関連付けられたL2Pテーブルを記憶するために使用されてもよい。半導体ウェハ40の識別情報に関連付けられたL2Pテーブルの一部分がスタティックRAM116にL2Pテーブルキャッシュとして記憶されてもよい。
【0079】
ECCエンコード/デコード部117は、半導体ウェハ40内のある不揮発性メモリダイにデータを書き込むべき時、データ(書き込むべきデータ)をエンコード(ECCエンコード)することによってこのデータにエラー訂正コード(ECC)を冗長コードとして付加する。半導体ウェハ40内のある不揮発性メモリダイからデータが読み出された時、ECCエンコード/デコード部117は、読み出されたデータに付加されたECCを使用して、このデータのエラー訂正を行う(ECCデコード)。
【0080】
図8は、コントローラ61において実行される識別情報書き込み処理の手順を示すフローチャートである。
【0081】
アクセス対象の半導体ウェハ40がリーダ&ライタ(プローバ)10内のステージ12に戴置されると(開始)、コントローラ61は、アクセス対象の半導体ウェハ40の第2のメモリ領域の識別情報と検査符号とを読み出す。そして、読み出された識別情報と検査符号とが正しい対応関係か否かを判定する検証処理が実行される(ステップS11)。検証処理はコントローラ61によって実行されてもよいし、ホストコンピュータ2によって実行されてもよい。
【0082】
読み出された識別情報と検査符号とが正しい対応関係でない場合(つまり対象ウェハが識別済みのウェハでない場合)(ステップS11におけるNO)、コントローラ61は、ホストコンピュータ2からの要求に基づいて、アクセス対象の半導体ウェハ40を識別するための識別情報と識別情報に対応する検査符号とをアクセス対象の半導体ウェハ40の第2のメモリ領域に書き込む(ステップS12)。識別情報はホストコンピュータ2によって発行される。識別情報に対応する検査符号は、ホストコンピュータ2によって発行されてもよいし、コントローラ61によって識別情報から算出されてもよい。
【0083】
そして、コントローラ61は、アクセス対象の半導体ウェハ40の識別情報に関連付けられているL2Pテーブルを作成し(ステップS13)、処理を終了する(終了)。
【0084】
読み出された識別情報と検査符号とが正しい対応関係である場合(つまり対象ウェハが識別済みのウェハである場合)(ステップS11におけるYES)、コントローラ61は、読み出された識別情報に関連付けられているL2Pテーブルをホストコンピュータ2またはアクセス対象の半導体ウェハ40の第1のメモリ領域から取得し(ステップS14)、処理を終了する(終了)。ステップS14では、コントローラ61は、読み出された識別情報に関連付けられているL2Pテーブルの上位テーブルをホストコンピュータ2から取得し、下位テーブルをアクセス対象の半導体ウェハ40の第1のメモリ領域から取得してもよい。または、ステップS14では、コントローラ61は、読み出された識別情報に関連付けられているL2Pテーブルと、読み出された識別情報に関連付けられているディフェクト情報の双方をホストコンピュータ2から取得してもよい。または、ステップS14では、コントローラ61は、読み出された識別情報に関連付けられているL2Pテーブルと、読み出された識別情報に関連付けられているディフェクト情報の双方をアクセス対象の半導体ウェハ40の第1のメモリ領域から取得してもよい。または、ステップS14では、読み出された識別情報に関連付けられているL2Pテーブルが上位テーブルと下位テーブルとを含む場合、コントローラ61は、上位テーブルをホストコンピュータ2から取得し、下位テーブルと読み出された識別情報に関連付けられているディフェクト情報の双方をアクセス対象の半導体ウェハ40の第1のメモリ領域から取得してもよい。
【0085】
図9は、コントローラ61において実行されるデータ書き込み処理およびデータ読み出し処理の手順を示すフローチャートである。
【0086】
ホストコンピュータ2から要求を受信すると(開始)、コントローラ61は、受信した要求がライト要求またはリード要求のいずれであるかを判定する(ステップS15)。
【0087】
受信した要求がライト要求である場合(ステップS15における「ライト要求」)、コントローラ61は、ライトデータ(ホストコンピュータ2からのデータ)をアクセス対象の半導体ウェハ40の第1のメモリ領域の物理記憶位置に書き込む(ステップS16)。ステップS16では、コントローラ61は、取得したディフェクト情報によって示される不良ブロックが書き込み先ブロックとして選択されないように、データが書き込まれるべき物理記憶位置を決定する。
【0088】
そして、コントローラ61は、ライトデータが書き込まれた物理記憶位置を示す物理アドレスがライト要求によって指定された論理アドレスに関連付けられるように、アクセス対象の半導体ウェハ40の識別情報に関連付けられているL2Pテーブルを更新し(ステップS17)、処理を終了する(終了)。
【0089】
受信した要求がリード要求である場合(ステップS15における「リード要求」)、コントローラ61は、アクセス対象の半導体ウェハ40の識別情報に関連付けられているL2Pテーブルを参照することによって、リード要求によって指定された論理アドレスに対応する物理アドレスを特定する(ステップS18)。この物理アドレスは、リード対象データが記憶されている、第1のメモリ領域内の物理記憶位置を示す。
【0090】
コントローラ61は、特定した物理アドレスに基づいて、リード対象データを第1のメモリ領域内の物理記憶位置から読み出し(ステップS19)、ホストコンピュータ2へ送信し、処理を終了する(終了)。
【0091】
本実施形態では、第2のメモリ領域に記憶されている識別情報と検査符号とが正しい対応関係でない半導体ウェハは識別情報なしのウェハとして認識される。このため、工場出荷直後の新しい半導体ウェハが誤って識別情報あり半導体ウェハとして扱われることを防止することができる。
【0092】
このように、半導体ウェハの第2のメモリ領域に識別情報とこの識別情報に対応する検査符号とを書き込むことにより、既にデータが書き込まれている半導体ウェハと、工場出荷直後の新しい半導体ウェハとを正しく区別することが可能となる。工場出荷直後の新しい半導体ウェハの第2のメモリ領域に識別情報とこの識別情報に対応する検査符号とが書き込まれると、この半導体ウェハに対するデータの書き込み及び読み出しが可能となる。
【0093】
よって、ユーザは工場出荷直後の新しい半導体ウェハをストレージストッカー30に追加するだけで、ストレージシステム1が扱うことが可能な記憶容量を容易に増やすことが可能となる。
【0094】
また、ステージ12に搬送されたアクセス対象の半導体ウェハの第2のメモリ領域に正しい対応関係を有する識別情報と検査符号との組が既に記憶されている場合には、アクセス対象の半導体ウェハは既にデータが書き込まれているウェハ(識別情報ありの半導体ウェハ)であると判定され、そして、アクセス対象の半導体ウェハの識別情報に関連付けられているL2Pテーブルがホストコンピュータ2またはアクセス対象の半導体ウェハから取得される。よって、コントローラ61はアクセス対象の半導体ウェハの識別情報に対応する正しいL2Pテーブルを参照又は更新することができるので、アクセス対象の半導体ウェハをアクセスするために使用される論理アドレスそれぞれと対象ウェハの物理アドレスそれぞれとの間の対応関係を正しく管理でき、またホストコンピュータ2が指定したリード対象データをアクセス対象の半導体ウェハから正しく読み出すことが可能となる。
【0095】
また、アクセス対象の半導体ウェハの識別情報に関連付けられているL2Pテーブルをホストコンピュータ2から取得する場合は、このL2Pテーブルをアクセス対象の半導体ウェハから読み出す場合に比べ、このL2Pテーブルをコントローラ61のSRAM116(またはDRAM)上に迅速に準備することが可能となり、データのリード/ライト性能を高めることができる。
【0096】
またさらに、ホストコンピュータ2は、識別情報と検査符号とが書き込まれている複数の半導体ウェハにそれぞれに対応する複数の識別情報を管理し、ストレージ搬送機構20によってストレージストッカー30からステージ12に搬送された半導体ウェハの第2のメモリ領域に正しい対応関係を有する識別情報と検査符号との組が記憶されており、且つステージ12に搬送された半導体ウェハの第2のメモリ領域に記憶されている識別情報がホストコンピュータ2によって指定されたアクセス対象の半導体ウェハの識別情報に一致する、という条件が満たされた場合に、ステージ12に搬送された半導体ウェハの第1のメモリ領域へのデータの書き込みおよびステージ12に搬送された半導体ウェハの第1のメモリ領域からのデータの読み出しが許可される。
【0097】
これにより、たとえホストコンピュータ2によって指定されたアクセス対象の半導体ウェハとは異なる意図しない半導体ウェハがストレージストッカー30からステージ12に搬送された場合でも、意図しない半導体ウェハに対するデータの書き込みまたは読み出しが行われてしまうことを防ぐことができる。
【0098】
図10は、コントローラ61において実行される、半導体ウェハ内の全データを消去する処理の手順を示すフローチャートである。
【0099】
ステージ12に搬送された半導体ウェハ(対象ウェハ)の第2のメモリ領域に正しい対応関係を有する識別情報と検査符号との組が既に記憶されている場合には、コントローラ61は、ホストコンピュータ2からの要求(消去要求)に基づいて対象ウェハ内のデータ全体を消去する際、対象ウェハの第1のメモリ領域の内容と対象ウェハの第2のメモリ領域の内容の双方を消去する。これにより、識別情報ありの半導体ウェハを識別情報なしの半導体ウェハとして再利用することが可能となる。
【0100】
例えば、ホストコンピュータ2は、対象ウェハの全データを消去するための消去要求をコントローラ61に送出してもよい。
【0101】
コントローラ61が対象ウェハの全データを消去するための消去要求をホストコンピュータ2から受信した場合(ステップS21におけるYES)、コントローラ61は、対象ウェハの第1のメモリ領域の内容と対象ウェハの第2のメモリ領域の内容の双方を消去する(ステップS22)。
【0102】
このように、ホストコンピュータ2は、対象ウェハの全データを消去するための消去要求をコントローラ61に送出することによって、コントローラ61に、対象ウェハの第1のメモリ領域の内容と対象ウェハの第2のメモリ領域の内容の双方を消去させることができる。
【0103】
図11は、ホストコンピュータ2の構成例を示すブロック図である。
【0104】
ホストコンピュータ2は、プロセッサ201、メインメモリ202、システムコントローラ203、等を含む。
【0105】
プロセッサ201はメインメモリ202(例えばDRAM)にロードされた様々なソフトウェアを実行する。これらソフトウェアには、例えば、アプリケーションプログラム211、オペレーティングシステム(OS)212、ファイルシステム213、ストレージデバイス3を制御するためのデバイスドライバ214、ストレージデバイス3のセッティング等をユーザが管理することを可能にするためのストレージ管理ツール216、等が含まれていてもよい。
【0106】
また、ホストコンピュータ2は、ウェハ識別情報管理テーブル301、ウェハ位置情報302、識別情報ありの各半導体ウェハに対応するウェハ制御情報400を、ストレージストッカー30内の複数の半導体ウェハ40のための管理データとして管理することができる。
図11に示されているように、ウェハ識別情報管理テーブル301、ウェハ位置情報302、ウェハ制御情報400はメインメモリ202に記憶されてもよい。ある半導体ウェハ40に対応するウェハ制御情報400の少なくとも一部は、この半導体ウェハ40の第1の記憶領域に記憶されてもよい。
【0107】
ホストコンピュータ2は、個々の半導体ウェハ40に固有の識別情報を発行するように構成されている。ホストコンピュータ2は、ウェハ識別情報管理テーブル301を用いて、各ストレージの識別情報を管理する。
図11では、ストレージ#1、ストレージ#2、ストレージ#3が識別情報ありの半導体ウェハであり、ストレージ#4が識別情報なしの半導体ウェハであ場合が例示されている。この場合、ウェハ識別情報管理テーブル301においては、ストレージ#1の第2のメモリ領域に書き込まれている識別情報(ウェハID#11)と、ストレージ#2の第2のメモリ領域に書き込まれている識別情報(ウェハID#12)と、ストレージ#3の第2のメモリ領域に書き込まれている識別情報(ウェハID#13)とが管理される。
【0108】
また、ホストコンピュータ2は、ウェハ位置情報302を用いて、ストレージストッカー30内に保管されている半導体ウェハそれぞれが存在する物理位置(現在の物理位置)を示す位置情報を管理するように構成されている。各半導体ウェハの物理位置は、ストレージストッカー30内の複数のウェハ保管位置のいずれか、またはステージ12上の位置を示す。
【0109】
例えば、ストレージ#1がストレージストッカー30内の第1のウェハ保管位置に存在しており、ストレージ#2がストレージストッカー30内の第2のウェハ保管位置に存在ており、ストレージ#3がストレージストッカー30内の第3のウェハ保管位置からステージ12に搬送されることによってステージ12に存在しており、ストレージ#4がストレージストッカー30内の第4のウェハ保管位置に存在しているケースにおいては、ウェハ位置情報302においては、ストレージ#1の物理位置としてストレージストッカー30内の第1のウェハ保管位置を示す物理位置L1が記憶され、ストレージ#2の物理位置としてストレージストッカー30内の第2のウェハ保管位置を示す物理位置L2が記憶され、ストレージ#3の物理位置としてステージ12上の位置を示す物理位置Sが記憶され、ストレージ#4の物理位置としてストレージストッカー30内の第4のウェハ保管位置を示す物理位置L4が記憶される。
【0110】
ストレージ#1、ストレージ#2、ストレージ#3が識別情報ありの半導体ウェハである場合、ホストコンピュータ2においては、ストレージ#1に対するデータの書き込みおよび読み出しを行うために必要なウェハ制御情報#1と、ストレージ#2に対するデータの書き込みおよび読み出しを行うために必要なウェハ制御情報#2と、ストレージ#3に対するデータの書き込みおよび読み出しを行うために必要なウェハ制御情報#3とが管理される。
【0111】
ウェハ制御情報#1は、ストレージ#1として使用される半導体ウェハの識別情報(ウェハID#11)に関連付けられている。ウェハ制御情報#2は、ストレージ#2として使用される半導体ウェハの識別情報(ウェハID#12)に関連付けられている。ウェハ制御情報#3は、ストレージ#3として使用される半導体ウェハの識別情報(ウェハID#13)に関連付けられている。
【0112】
ウェハ制御情報#1は、ウェハID#11に関連付けられたL2Pテーブル#1と、ウェハID#11に関連付けられたディフェクト情報#1とを含んでいてもよい。L2Pテーブル#1は、ストレージ#1をアクセスするためにホストコンピュータ2によって使用される論理アドレスそれぞれとストレージ#1の物理アドレスそれぞれとの間のマッピングを管理するための論理物理アドレス変換テーブルである。ディフェクト情報#1は、ストレージ#1内の複数の不揮発性メモリダイに含まれる不良ブロックそれぞれを示す。
【0113】
ウェハ制御情報#2は、ウェハID#12に関連付けられたL2Pテーブル#2と、ウェハID#12に関連付けられたディフェクト情報#2とを含んでいてもよい。L2Pテーブル#2は、ストレージ#2をアクセスするためにホストコンピュータ2によって使用される論理アドレスそれぞれとストレージ#2の物理アドレスそれぞれとの間のマッピングを管理するための論理物理アドレス変換テーブルである。ディフェクト情報#2は、ストレージ#2内の複数の不揮発性メモリダイに含まれる不良ブロックそれぞれを示す。
【0114】
ウェハ制御情報#3は、ウェハID#13に関連付けられたL2Pテーブル#3と、ウェハID#13に関連付けられたディフェクト情報#3とを含んでいてもよい。L2Pテーブル#3は、ストレージ#3をアクセスするためにホストコンピュータ2によって使用される論理アドレスそれぞれとストレージ#3の物理アドレスそれぞれとの間のマッピングを管理するための論理物理アドレス変換テーブルである。ディフェクト情報#3は、ストレージ#3内の複数の不揮発性メモリダイに含まれる不良ブロックそれぞれを示す。
【0115】
なお、各ストレージ(半導体ウェハ)に対応するウェハ制御情報は、さらに、対応する半導体ウェハの各不揮発性メモリダイに対する書き込み動作において使用すべき書き込み電圧、対応する半導体ウェハの各不揮発性メモリダイに対する読み出し動作において使用すべき読み出し電圧を示す情報を含んでいてもよい。
【0116】
図12は、ホストコンピュータ2によって制御される「新規書き込み処理」、「追加書き込み処理」、「読み出し処理」、「ウェハ追加処理」、および「ウェハ取り除き処理」それぞれが実行されるべき条件を示すフローチャートである。
【0117】
「新規書き込み処理」とは、識別情報なしの半導体ウェハに対して初めてデータを書き込むための初回書き込み処理を意味する。識別情報なしの半導体ウェハは、例えば、工場出荷直後の新しい半導体ウェハである。工場出荷直後の新しい半導体ウェハの第1のメモリ領域には意味のあるデータが書き込まれておらず、また第2のメモリ領域にも意味のあるデータ(識別情報等)が書き込まれていない。
【0118】
「追加書き込み処理」とは、識別情報あり半導体ウェハをストレージストッカー30からステージ12に再び搬送して、識別情報あり半導体ウェハに再びデータを書き込むための2回目以降の書き込み処理を意味する。
【0119】
「読み出し処理」とは、識別情報ありの半導体ウェハからデータを読み出す処理を意味する。
【0120】
「ウェハ追加処理」は、ストレージストッカー30にユーザによって追加された工場出荷直後の新しい半導体ウェハを管理するために必要な管理情報を追加するため処理を意味する。
【0121】
「ウェハ取り除き処理」は、ストレージストッカー30からユーザによって取り除かれた半導体ウェハに対応する管理情報を削除するための処理を意味する。
【0122】
以下、「新規書き込み処理」、「追加書き込み処理」、「読み出し処理」、「ウェハ追加処理」、および「ウェハ取り除き処理」の各々が実行されるべき条件を
図12のフローチャートを参照して説明する。
【0123】
例えば、ユーザ(またはアプリケーションプログラム)からの要求がストレージデバイス3に対するリード/ライト要求である場合(ステップS31における「Read/Write」)、リード/ライト要求が、ライト要求またはリード要求のいずれであるかがホストコンピュータ2によって判定される(ステップS32)。
【0124】
リード/ライト要求がライト要求である場合(ステップS32における「Write」)、ライト要求が識別情報なしの半導体ウェハに対する書き込み(新規書き込み)または識別情報ありの半導体ウェハに対する書き込み(追加書き込み)のいずれであるかがホストコンピュータ2によって判定される(ステップS33)。
【0125】
ライト要求が新規書き込みである場合(ステップS33における「新規書き込み」)、「新規書き込み処理」のための手順がホストコンピュータ2によって実行される(ステップS34)。
【0126】
ライト要求が追加書き込みである場合(ステップS33における「追加書き込み」)、「追加書き込み処理」のための手順がホストコンピュータ2によって実行される(ステップS35)。
【0127】
リード/ライト要求がリード要求である場合(ステップS32における「Read」)、「読み出し処理」のための手順がホストコンピュータ2によって実行される(ステップS36)。
【0128】
ユーザ(またはアプリケーションプログラム)からの要求がウェハ追加/取り除き要求である場合(ステップS31における「ウェハ追加/取り除き」)、ウェハ追加/取り除き要求が、ウェハ追加要求またはウェハ取り除き要求のいずれであるかがホストコンピュータ2によって判定される(ステップS37)。
【0129】
ウェハ追加/取り除き要求がウェハ追加要求である場合(ステップS37における「追加」)、「ウェハ追加処理」のための手順がホストコンピュータ2によって実行される(ステップS38)。
【0130】
ウェハ追加/取り除き要求がウェハ取り除き要求である場合(ステップS37における「取り除き」)、「ウェハ取り除き処理」のための手順がホストコンピュータ2によって実行される(ステップS39)。
【0131】
図13は、識別情報ありの半導体ウェハが存在しない初期状態のストレージシステム1を示すブロック図である。
【0132】
図13において、ストレージ#1、ストレージ#2、ストレージ#3、ストレージ#4の各々は、識別情報なしの半導体ウェハ(工場出荷直後の新しい半導体ウェハ)である。ストレージ#1、ストレージ#2、ストレージ#3、ストレージ#4の各々の第2のメモリ領域には識別情報が記憶されておらず、また検査符号も記憶されていない。ストレージ#1、ストレージ#2、ストレージ#3、ストレージ#4の各々の第1のメモリ領域にはユーザデータが書き込まれていない。
【0133】
ストレージ#1、ストレージ#2、ストレージ#4はストレージストッカー30内の第1のウェハ保管位置、第2のウェハ保管位置、第4のウェハ保管位置にそれぞれ存在しており、ストレージ#3はステージ12上に存在している。
【0134】
ホストコンピュータ2によって管理されているウェハ位置情報302においては、ストレージ#1、ストレージ#2、ストレージ#3、ストレージ#4がそれぞれ存在している物理位置が管理されている。
【0135】
ストレージ#1、ストレージ#2、ストレージ#3、ストレージ#4にそれぞれ対応するウェハ制御情報(L2Pテーブルなど)は存在しない。
【0136】
図14は、ストレージシステム1において実行される「新規書き込み処理」を説明するための図である。
【0137】
図14では、ストレージ#2に対する「新規書き込み処理」およびストレージ#1に対する「新規書き込み処理」が実行された後にストレージ#3に対する「新規書き込み処理」が開始される場合が例示されている。
【0138】
「新規書き込み処理」が実行されたストレージ#1、ストレージ#2の各々は、識別情報ありの半導体ウェハとなる。ストレージ#1、ストレージ#2の各々の第2のメモリ領域には、識別情報とこの識別情報に対応する検査符号が記憶されている。またストレージ#1、ストレージ#2の各々の第1のメモリ領域には「新規書き込み処理」によってユーザデータが書き込まれている。
【0139】
ストレージ#3、ストレージ#4の各々は、識別情報なしの半導体ウェハである。ストレージ#3、ストレージ#4の各々の第2のメモリ領域には識別情報が記憶されておらず、また検査符号も記憶されていない。ストレージ#3、ストレージ#4の各々の第1のメモリ領域にはユーザデータが書き込まれていない。
【0140】
「新規書き込み処理」の実行が完了したストレージ#1はリーダ&ライタ(プローバ)10内のステージ12から、ストレージ#1がもともと存在していたストレージストッカー30内の第1のウェハ保管位置に戻され、代わりにストレージ#3が「新規書き込み処理」が実行されるべき半導体ウェハとしてストレージストッカー30からステージ12に搬送される。
【0141】
この場合、ウェハ位置情報302においては、ストレージ#1の物理位置とストレージ#3の物理位置が更新される。ウェハ位置情報302によって示されるストレージ#1の物理位置は、ステージ12上の位置からストレージストッカー30内の第1のウェハ保管位置に更新される。
【0142】
ウェハ位置情報302によって示されるストレージ#3の物理位置は、ストレージストッカー30内の第3のウェハ保管位置からステージ12上の位置に更新される。
【0143】
ホストコンピュータ2の制御の下、コントローラ61は、ストレージ#3の第2のメモリ領域から識別情報と検査符号とを読み出す。そして、読み出した識別情報と読み出した検査符号との間の対応関係が正しいか否かを判定する検証処理が実行される。この検証処理はホストコンピュータ2またはコントローラ61のいずれによって実行されてもよいが、以下では、ホストコンピュータ2が検証処理を実行する場合について例示する。
【0144】
ホストコンピュータ2は、検証処理を実行して、読み出した識別情報と読み出した検査符号との間の対応関係が正しいか否かを判定する。
【0145】
読み出した識別情報と読み出した検査符号との間の対応関係が正しい場合には、読み出した識別情報が正しいと判定される。
【0146】
読み出した識別情報と読み出した検査符号との間の対応関係が正しくない場合には、読み出した識別情報が正しくないと判定される。
【0147】
読み出した識別情報が正しくない場合、つまりストレージ#3の第2のメモリ領域に正しい対応関係を有する識別情報と検査符号との組が記憶されていないことが確認された場合、ホストコンピュータ2は、ストレージ#3を識別するための識別情報を発行する。
【0148】
そして、ホストコンピュータ2は、コントローラ61を用いて、発行した識別情報と、発行した識別情報に対応する検査符号とをストレージ#3の第2のメモリ領域に書き込む。この結果。ホストコンピュータ2はストレージ#3の第1のメモリ領域にデータ(ユーザデータ)を書き込むことが許可されるので、ストレージ#3の識別情報に関連付けられたウェハ制御情報を作成する。
【0149】
作成したウェハ制御情報は、ストレージ#3に対応するL2Pテーブル等を含む。ホストコンピュータ2がストレージ#3に対応するウェハ制御情報(ストレージ#3に対応するL2Pテーブル等)をコントローラ61にロードすることにより、またはコントローラ61がストレージ#3に対応するウェハ制御情報(ストレージ#3に対応するL2Pテーブル等)をホストコンピュータ2またはストレージ#3の第1のメモリ領域から取得することにより、ストレージ#3に対応するウェハ制御情報(ストレージ#3に対応するL2Pテーブル等)がコントローラ61のSRAM116(またはDRAM)に記憶される。
【0150】
次いで、ホストコンピュータ2からのライト要求の受信に応じて、コントローラ61は、ホストコンピュータ2からのデータをストレージ#3の第1のメモリ領域に書き込む。そして、コントローラ61は、ストレージ#3に対応するL2Pテーブルを更新する。
【0151】
図15は、ホストコンピュータによって制御される新規書き込み処理の手順を示すフローチャートである。
【0152】
ホストコンピュータ2は、ウェハ制御情報なし&ウェハ位置情報ありの対象ウェハが存在するか否かを判定する(ステップS41)。ここで、ウェハ制御情報なし&ウェハ位置情報ありの対象ウェハとは、対応するウェハ制御情報400が存在せず且つ物理位置がウェハ位置情報302によって管理されている半導体ウェハを意味する。
【0153】
ウェハ制御情報なし&ウェハ位置情報ありの対象ウェハが存在しない場合には(ステップS41における「存在しない」)、ホストコンピュータ2は、新規書き込み処理可能な対象ウェハが存在しないので処理不可として決定し(ステップS42)、処理を終了する(終了)。
【0154】
ウェハ制御情報なし&ウェハ位置情報ありの対象ウェハが存在する場合には(ステップS41における「存在する」)、ホストコンピュータ2は、ウェハ位置情報302によって示される対象ウェハの物理位置に基づいて、対象ウェハがプローブ51に接続されているか否かを判定する(ステップS43)。
【0155】
対象ウェハの物理位置がステージ12上の位置を示す場合には、対象ウェハがプローブ51に接続されていると判定される。一方、対象ウェハの物理位置がストレージストッカー30内のあるウェハ保管位置を示す場合には、対象ウェハがプローブ51に接続されていないと判定される。
【0156】
対象ウェハがプローブ51に接続されていない場合(ステップS43における「接続されていない」)、ホストコンピュータ2は、ストレージデバイス3(ストレージ搬送機構20)を制御することによって、ステージ12上に存在するストレージをストレージストッカー30内の対象ウェハと入れ替え、これによって対象ウェハをプローブ51に接続する(ステップS44)。ステップS44では、ホストコンピュータ2は、対象ウェハが保管されているストレージストッカー30内のウェハ保管位置を指定する搬送要求をストレージデバイス3に送信してもよい。ステップS44では、さらに、ホストコンピュータ2は、入れ替えられた各ウェハの位置情報を更新する。対象ウェハがプローブ51に接続されている場合(ステップS43における「接続されている」)には、ホストコンピュータ2は、ステップS44の処理の実行をスキップする。
【0157】
次いで、ホストコンピュータ2は、コントローラ61を用いて対象ウェハの第2のメモリ領域から識別情報と検査符号を読み出し、読み出した識別情報が正しいか否かを確認する(ステップS45)。ステップS45では、ホストコンピュータ2は、第2のメモリ領域から読み出した識別情報と検査符号との間の対応関係が正しいか否かを判定する検証処理を実行する。識別情報と検査符号との間の対応関係が正しいことが確認されたならば、読み出した識別情報が正しいこと、つまり対象ウェハが識別情報ありのウェハであると判定される。一方、識別情報と検査符号との間の対応関係が正しくないことが確認されたならば、読み出した識別情報が正しくない、つまり対象ウェハが識別情報なしのウェハであると判定される。一般に、対象ウェハが製造直後の新しい半導体ウェハである場合には、第2のメモリ領域から識別情報および検査符号としてそれぞれ読み出した値のいずれもランダムな値である。この場合、読み出した識別情報と読み出した検査符号は互いに無関係であるので、読み出した識別情報が正しくないこと、つまり対象ウェハが識別情報なしのウェハであると判定することができる。
【0158】
識別情報が正しいと判定された場合には(ステップS45における「正しい=識別情報あり」)、ホストコンピュータ2は、ウェハ制御情報なしのウェハが識別情報を記憶している、というイレギュラーな状態が生じているので、エラーと判定し(ステップS46)、処理を終了する(終了)。
【0159】
一方、識別情報が正しくないと判定された場合には(ステップS45における「正しくない=識別情報なし」)、ホストコンピュータ2は、対象ウェハを識別するための識別情報を発行し、そして、識別情報の書き込みを要求する所定の要求をコントローラ61に送信することによって、発行した識別情報と発行した識別情報に対応する検査符号とを対象ウェハの第2のメモリ領域に書き込む(ステップS47)。ステップS47では、コントローラ61は、ホストコンピュータ2からの所定の要求の受信に応じて、識別情報とこの識別情報に対応する検査符号とを対象ウェハの第2のメモリ領域に書き込む。
【0160】
ホストコンピュータ2は、コントローラ61にライト要求を送信することによって、対象ウェハの第1のメモリ領域にデータ(ユーザデータ)を書き込む(ステップS48)。ステップS48では、コントローラ61は、ホストコンピュータ2からのライト要求の受信に応じて、ホストコンピュータ2からのデータ(ユーザデータ)を対象ウェハの第1のメモリ領域内の物理記憶位置に書き込む。
【0161】
ホストコンピュータ2は、作成した制御情報が対象ウェハの識別情報に関連付けられるように、作成した制御情報をウェハ制御情報400に追加し(ステップS49)、処理を終了する(終了)。ステップS49では、コントローラ61は、対象ウェハに対応するウェハ制御情報(L2Pテーブル等)をホストコンピュータ2または対象ウェハの第1のメモリ領域から取得し、ユーザデータが書き込まれた第1のメモリ領域内の物理記憶位置を示す物理アドレスがライト要求によって指定された論理アドレスに関連付けられるように、対象ウェハに対応するL2Pテーブルを更新する。さらに、所定のタイミングで、コントローラ61は、更新されたL2Pテーブルの内容をホストコンピュータ2のメインメモリに、または対象ウェハの第1のメモリ領域に書き戻す処理も行う。
【0162】
図16は、ストレージシステム1において実行される追加書き込み処理を説明するための図である。
【0163】
図16では、ストレージストッカー30に保管されている識別情報ありのストレージ#3に対する追加書き込み処理を行う場合が例示されている。
【0164】
ステージ12上にストレージ#1(識別情報ありのストレージ)が存在している場合、ストレージ#1はリーダ&ライタ(プローバ)10内のステージ12から、ストレージ#1がもともと存在していたストレージストッカー30内の第1のウェハ保管位置またはストレージストッカー30内の空いている他のウェハ保管位置に戻され、代わりにストレージ#3が「追加書き込み処理」が実行されるべきアクセス対象の半導体ウェハとしてストレージストッカー30からステージ12に搬送される。
【0165】
ウェハ位置情報302においては、ストレージ#1の物理位置とストレージ#3の物理位置が更新される。ウェハ位置情報302によって示されるストレージ#1の物理位置は、ステージ12上の位置からストレージストッカー30内の第1のウェハ保管位置に更新される。ウェハ位置情報302によって示されるストレージ#3の物理位置は、ストレージストッカー30内の第3のウェハ保管位置からステージ12上の位置に更新される。
【0166】
ホストコンピュータ2の制御の下、コントローラ61は、ストレージ#3の第2のメモリ領域から識別情報と検査符号とを読み出す。そして、読み出した識別情報と読み出した検査符号との間の対応関係が正しいか否かを判定する検証処理が実行される。この検証処理はホストコンピュータ2またはコントローラ61のいずれによって実行されてもよいが、以下では、ホストコンピュータ2が検証処理を実行する場合について例示する。
【0167】
ホストコンピュータ2は、検証処理を実行して、読み出した識別情報と読み出した検査符号との間の対応関係が正しいか否かを判定する。
【0168】
読み出した識別情報と読み出した検査符号との対応関係が正しい場合には、読み出した識別情報が正しいと判定される。
【0169】
読み出した識別情報と読み出した検査符号との対応関係が正しくない場合には、読み出した識別情報が正しくないと判定される。
【0170】
読み出した識別情報と読み出した検査符号との間の対応関係が正しい場合には、ホストコンピュータ2は、ステージ12に搬送された半導体ウェハが書き込み対象の半導体ウェハ(ここではストレージ#3)であることを確認するために、読み出した識別情報がホストコンピュータ2によって管理されているストレージ#3の識別情報(ウェハID#13)に一致するか否かを判定する。読み出した識別情報がホストコンピュータ2によって管理されているストレージ#3の識別情報(ウェハID#13)に一致する場合、ステージ12に搬送された半導体ウェハがストレージ#3であることが確認される。この場合、ホストコンピュータ2は、ストレージ#3に対して「追加書き込み処理」を実行すること、つまり識別情報ありのストレージ#3の第1のメモリ領域にデータを書き込むことが許可される。
【0171】
ホストコンピュータ2がストレージ#3に対応するウェハ制御情報(ストレージ#3に対応するL2Pテーブル等)をコントローラ61にロードすることにより、またはコントローラ61がストレージ#3に対応するウェハ制御情報(ストレージ#3に対応するL2Pテーブル等)をホストコンピュータ2またはストレージ#3の第1のメモリ領域から取得することにより、ストレージ#3に対応するウェハ制御情報(ストレージ#3に対応するL2Pテーブル等)がコントローラ61のSRAM116(またはDRAM)に記憶される。
【0172】
次いで、ホストコンピュータ2からのライト要求の受信に応じて、コントローラ61は、ホストコンピュータ2からのデータをストレージ#3の第1のメモリ領域に書き込む。そして、コントローラ61は、ストレージ#3に対応するL2Pテーブルを更新する。
【0173】
図17は、ホストコンピュータ2によって制御される追加書き込み処理の一部分の手順を示すフローチャートである。
【0174】
ホストコンピュータ2は、ウェハ制御情報あり&ウェハ位置情報ありの対象ウェハが存在するか否かを判定する(ステップS51)。ここで、ウェハ制御情報あり&ウェハ位置情報ありの対象ウェハとは、対応するウェハ制御情報400が存在しており且つ物理位置が管理されている半導体ウェハを意味する。
【0175】
ウェハ制御情報あり&ウェハ位置情報ありの対象ウェハが存在しない場合には(ステップS51における「存在しない」)、ホストコンピュータ2は、追加書き込み処理可能な対象ウェハが存在しないので処理不可として決定し(ステップS52)、処理を終了する(終了)。
【0176】
ウェハ制御情報あり&ウェハ位置情報ありの対象ウェハが存在する場合には(ステップS51における「存在する」)、ホストコンピュータ2は、ウェハ制御情報400とウェハ位置情報302とから対象ウェハの識別情報を特定する(ステップS53)。ステップS53では、ウェハ制御情報400とウェハ位置情報302とに基づいて、対応するウェハ制御情報400が存在しており且つ物理位置が管理されている、という条件を満たすウェハを対象ウェハとして探索し、そして探索したウェハに対応する識別情報をウェハ識別情報管理テーブル301から取得してもよい。
【0177】
次いで、ホストコンピュータ2は、ウェハ位置情報302によって示される対象ウェハの物理位置に基づいて、対象ウェハがプローブ51に接続されているか否かを判定する(ステップS54)。
【0178】
対象ウェハの物理位置がステージ12上の位置を示す場合には、対象ウェハがプローブ51に接続されていると判定される。一方、対象ウェハの物理位置がストレージストッカー30内のあるウェハ保管位置を示す場合には、対象ウェハがプローブ51に接続されていないと判定される。
【0179】
対象ウェハがプローブ51に接続されていない場合(ステップS54における「接続されていない」)、ホストコンピュータ2は、ストレージデバイス3のストレージ搬送機構20を制御することによって、ステージ12上に存在するストレージをストレージストッカー30内の対象ウェハと入れ替え、これによって対象ウェハをプローブ51に接続する(ステップS55)。ステップS55では、ホストコンピュータ2は、対象ウェハが保管されているストレージストッカー30内のウェハ保管位置を指定する搬送要求をストレージデバイス3に送信してもよい。ステップS55では、さらに、ホストコンピュータ2は、入れ替えられた各ウェハの位置情報を更新する。対象ウェハがプローブ51に接続されている場合(ステップS54における「接続されている」)には、ホストコンピュータ2は、ステップS55の処理の実行をスキップする。
【0180】
次いで、ホストコンピュータ2は、コントローラ61を用いて対象ウェハの第2のメモリ領域から識別情報と検査符号を読み出し、読み出した識別情報が正しいか否かを確認する(ステップS56)。ステップS56では、ホストコンピュータ2は、第2のメモリ領域から読み出した識別情報と検査符号との間の対応関係が正しいか否かを判定する検証処理を実行する。識別情報と検査符号との間の対応関係が正しいことが確認されたならば、読み出した識別情報が正しいこと、つまり対象ウェハが識別情報ありのウェハであると判定される。一方、識別情報と検査符号との間の対応関係が正しくないことが確認されたならば、読み出した識別情報が正しくない、つまり対象ウェハが識別情報なしのウェハであると判定される。
【0181】
識別情報が正しくないと判定された場合には(ステップS56における「正しくない=識別情報なし」)、ホストコンピュータ2は、ウェハ制御情報ありのウェハが識別情報を記憶していない、というイレギュラーな状態が生じているので、エラーと判定し(ステップS57)、処理を終了する(終了)。例えば、製造直後の新しい半導体ウェハが誤ってステージ12に搬送された場合には、この半導体ウェハの第2のメモリ領域から識別情報および検査符号としてそれぞれ読み出した値のいずれもランダムな値である。この場合、読み出した識別情報と読み出した検査符号は互いに無関係であるので、読み出した識別情報が正しくないこと、つまり対象ウェハが識別情報なしのウェハであると判定することができる。したがって、識別情報と検査符号との間の対応関係が正しいか否かを判定することにより、工場出荷直後の新しい半導体ウェハの第2のメモリ領域内に記憶されているランダムな値が誤って識別情報として扱われてしまい、これによって工場出荷直後の新しい半導体ウェハ(識別情報なしのウェハ)が誤ってアクセスされてしまうことを防止することが可能となる。
【0182】
一方、識別情報が正しいと判定された場合には(ステップS56における「正しい=識別情報あり」)、ホストコンピュータ2は、読み出した識別情報が、ステップS53で事前に特定した識別情報に一致するか否かを判定する(ステップS58)。
【0183】
読み出した識別情報がステップS53で事前に特定した識別情報に一致しない場合(ステップS58における「一致しない」)、ホストコンピュータ2は、意図したウェハとは異なるウェハ(識別情報ありの別のウェハ)がステージ12に搬送されているので、エラーと判定し(ステップS59)、処理を終了する(終了)。この場合、ウェハ位置情報が壊れている可能性も考えられる。
【0184】
読み出した識別情報がステップS53で事前に特定した識別情報に一致する場合(ステップS58における「一致する」)、処理は、
図18のステップS60に進む。
【0185】
ステップS60において、ホストコンピュータ2は、対象ウェハの識別情報に関連付けられたウェハ制御情報(対象ウェハの識別情報に関連付けられたL2Pテーブル等)をコントローラ61にロードする。ステップS60では、コントローラ61が、対象ウェハの識別情報に関連付けられたウェハ制御情報(対象ウェハの識別情報に関連付けられたL2Pテーブル等)をホストコンピュータ2または対象ウェハの第1のメモリ領域から取得してもよい。
【0186】
そして、ホストコンピュータ2は、コントローラ61にライト要求を送信することによって、対象ウェハの第1のメモリ領域にデータ(ユーザデータ)を書き込む(ステップS61)。ステップS61では、コントローラ61は、ホストコンピュータ2からのライト要求の受信に応じて、ホストコンピュータ2からのデータ(ユーザデータ)を対象ウェハの第1のメモリ領域内の物理記憶位置に書き込む。
【0187】
そして、コントローラ61は、ユーザデータが書き込まれた第1のメモリ領域内の物理記憶位置を示す物理アドレスがライト要求によって指定された論理アドレスに関連付けられるように、対象ウェハに対応するL2Pテーブルを更新し(ステップS62)、処理を終了する(終了)。さらに、所定のタイミングで、コントローラ61は、更新されたL2Pテーブルの内容をホストコンピュータ2のメインメモリに、または対象ウェハの第1のメモリ領域に書き戻す処理も行う。
【0188】
図19は、ストレージシステム1において実行される読み出し処理を説明するための図である。
図19では、ストレージストッカー30に保管されている識別情報ありのストレージ#3に対する読み出し処理を行う場合が例示されている。
【0189】
ステージ12上にストレージ#1(識別情報ありのストレージ)が存在している場合、ストレージ#1はリーダ&ライタ(プローバ)10内のステージ12から、ストレージ#1がもともと存在していたストレージストッカー30内の第1のウェハ保管位置に戻され、代わりにストレージ#3が「読み出し処理」が実行されるべきアクセス対象の半導体ウェハとしてストレージストッカー30からステージ12に搬送される。
【0190】
ウェハ位置情報302においては、ストレージ#1の物理位置とストレージ#3の物理位置が更新される。ウェハ位置情報302によって示されるストレージ#1の物理位置は、ステージ12上の位置からストレージストッカー30内の第1のウェハ保管位置に更新される。ウェハ位置情報302によって示されるストレージ#3の物理位置は、ストレージストッカー30内の第3のウェハ保管位置からステージ12上の位置に更新される。
【0191】
ホストコンピュータ2の制御の下、コントローラ61は、ストレージ#3の第2のメモリ領域から識別情報と検査符号とを読み出す。そして、読み出した識別情報と読み出した検査符号との間の対応関係が正しいか否かを判定する検証処理が実行される。この検証処理はホストコンピュータ2またはコントローラ61のいずれによって実行されてもよいが、以下では、ホストコンピュータ2が検証処理を実行する場合について例示する。
【0192】
ホストコンピュータ2は、検証処理を実行して、読み出した識別情報と読み出した検査符号との間の対応関係が正しいか否かを判定する。
【0193】
読み出した識別情報と読み出した検査符号との間の対応関係が正しい場合には、読み出した識別情報が正しいと判定される。
【0194】
読み出した識別情報と読み出した検査符号との間の対応関係が正しくない場合には、読み出した識別情報が正しくないと判定される。
【0195】
読み出した識別情報と読み出した検査符号との間の対応関係が正しい場合には、ホストコンピュータ2は、ステージ12に搬送された半導体ウェハが読み出し対象の半導体ウェハ(ここではストレージ#3)であることを確認するために、読み出した識別情報がホストコンピュータ2によって管理されているストレージ#3の識別情報(ウェハID#13)に一致するか否かを判定する。読み出した識別情報がホストコンピュータ2によって管理されているストレージ#3の識別情報(ウェハID#13)に一致する場合、ステージ12に搬送された半導体ウェハがストレージ#3であることが確認される。この場合、ホストコンピュータ2は、ストレージ#3に対して「読み出し処理」を実行すること、つまり識別情報ありのストレージ#3の第1のメモリ領域からデータを読み出すことが許可される。
【0196】
ホストコンピュータ2がストレージ#3に対応するウェハ制御情報(ストレージ#3に対応するL2Pテーブル等)をコントローラ61にロードすることにより、またはコントローラ61がストレージ#3に対応するウェハ制御情報(ストレージ#3に対応するL2Pテーブル等)をホストコンピュータ2またはストレージ#3の第1のメモリ領域から取得することにより、ストレージ#3に対応するウェハ制御情報(ストレージ#3に対応するL2Pテーブル等)がコントローラ61のSRAM116(またはDRAM)に記憶される。
【0197】
次いで、ホストコンピュータ2からのリード要求の受信に応じて、コントローラ61は、ストレージ#3に対応するL2Pテーブルを参照することによって、リード要求によって指定された論理アドレスに対応する物理アドレスを取得する。コントローラ61は、取得した物理アドレスに基づいて、ストレージ#3の第1のメモリ領域からデータを読み出す。そして、コントローラ61は、読み出したデータをホストコンピュータ2に送信する。
【0198】
図20は、読み出し処理の一部分の手順を示すフローチャートである。
【0199】
ホストコンピュータ2は、ウェハ制御情報あり&ウェハ位置情報ありの対象ウェハが存在するか否かを判定する(ステップS71)。ここで、ウェハ制御情報あり&ウェハ位置情報ありの対象ウェハとは、対応するウェハ制御情報400が存在しており且つ物理位置が管理されている半導体ウェハを意味する。
【0200】
ウェハ制御情報あり&ウェハ位置情報ありの対象ウェハが存在しない場合には(ステップS71における「存在しない」)、ホストコンピュータ2は、読み出したいデータを記憶している対象ウェハが存在しないので処理不可として決定し(ステップS72)、処理を終了する(終了)。
【0201】
ウェハ制御情報あり&ウェハ位置情報ありの対象ウェハが存在する場合には(ステップS71における「存在する」)、ホストコンピュータ2は、ウェハ制御情報400とウェハ位置情報302とから対象ウェハの識別情報を特定する(ステップS73)。ステップS73では、ホストコンピュータ2は、ウェハ制御情報400とウェハ位置情報302とに基づいて、対応するウェハ制御情報400が存在しており且つ物理位置が管理されている、という条件を満たすウェハを対象ウェハとして探索し、そして探索したウェハに対応する識別情報をウェハ識別情報管理テーブル301から取得してもよい。
【0202】
次いで、ホストコンピュータ2は、ウェハ位置情報302によって示される対象ウェハの物理位置に基づいて、対象ウェハがプローブ51に接続されているか否かを判定する(ステップS74)。
【0203】
対象ウェハの物理位置がステージ12上の位置を示す場合には、対象ウェハがプローブ51に接続されていると判定される。一方、対象ウェハの物理位置がストレージストッカー30内のあるウェハ保管位置を示す場合には、対象ウェハがプローブ51に接続されていないと判定される。
【0204】
対象ウェハがプローブ51に接続されていない場合(ステップS74における「接続されていない」)、ホストコンピュータ2は、ストレージデバイス3のストレージ搬送機構20を制御することによって、ステージ12上に存在するストレージをストレージストッカー30内の対象ウェハと入れ替え、これによって対象ウェハをプローブ51に接続する(ステップS75)。ステップS75では、ホストコンピュータ2は、対象ウェハが保管されているストレージストッカー30内のウェハ保管位置を指定する搬送要求をストレージデバイス3に送信してもよい。ステップS75では、さらに、ホストコンピュータ2は、入れ替えられた各ウェハの位置情報を更新する。対象ウェハがプローブ51に接続されている場合(ステップS74における「接続されている」)には、ホストコンピュータ2は、ステップS75の処理の実行をスキップする。
【0205】
次いで、ホストコンピュータ2は、コントローラ61を用いて対象ウェハの第2のメモリ領域から識別情報と検査符号を読み出し、読み出した識別情報が正しいか否かを確認する(ステップS76)。ステップS76では、ホストコンピュータ2は、第2のメモリ領域から読み出した識別情報と検査符号との間の対応関係が正しいか否かを判定する検証処理を実行する。識別情報と検査符号との間の対応関係が正しいことが確認されたならば、読み出した識別情報が正しいこと、つまり対象ウェハが識別情報ありのウェハであると判定される。一方、識別情報と検査符号との間の対応関係が正しくないことが確認されたならば、読み出した識別情報が正しくない、つまり対象ウェハが識別情報なしのウェハであると判定される。
【0206】
識別情報が正しくないと判定された場合には(ステップS76における「正しくない=識別情報なし」)、ホストコンピュータ2は、ウェハ制御情報ありのウェハが識別情報を記憶していない、というイレギュラーな状態が生じているので、エラーと判定し(ステップS77)、処理を終了する(終了)。例えば、製造直後の新しい半導体ウェハが誤ってステージ12に搬送された場合には、この半導体ウェハの第2のメモリ領域から識別情報および検査符号としてそれぞれ読み出した値のいずれもランダムな値である。この場合、読み出した識別情報と読み出した検査符号は互いに無関係であるので、読み出した識別情報が正しくない、つまり対象ウェハが識別情報なしのウェハであると判定することができる。したがって、識別情報と検査符号との間の対応関係が正しいか否かを判定することにより、工場出荷直後の新しい半導体ウェハ(識別情報なしのウェハ)が、既にデータの書き込みに使用されている識別情報ありの半導体ウェハとして誤ってアクセスされてしまうことを防止することが可能となる。
【0207】
一方、識別情報が正しいと判定された場合には(ステップS76における「正しい=識別情報あり」)、ホストコンピュータ2は、読み出した識別情報が、ステップS73で事前に特定した識別情報に一致するか否かを判定する(ステップS78)。
【0208】
読み出した識別情報がステップS73で事前に特定した識別情報に一致しない場合(ステップS78における「一致しない」)、ホストコンピュータ2は、意図したウェハとは異なるウェハ(識別情報ありの別のウェハ)がステージ12に搬送されているので、エラーと判定し(ステップS79)、処理を終了する(終了)。この場合、ウェハ位置情報が壊れている可能性も考えられる。
【0209】
読み出した識別情報がステップS73で事前に特定した識別情報に一致する場合(ステップS78における「一致する」)、処理は、
図21のステップS80に進む。
【0210】
ステップS80において、ホストコンピュータ2は、対象ウェハの識別情報に関連付けられたウェハ制御情報(対象ウェハの識別情報に関連付けられたL2Pテーブル等)をコントローラ61にロードする。ステップS80では、コントローラ61が、対象ウェハの識別情報に関連付けられたウェハ制御情報(対象ウェハの識別情報に関連付けられたL2Pテーブル等)をホストコンピュータ2または対象ウェハの第1のメモリ領域から取得してもよい。
【0211】
そして、ホストコンピュータ2は、コントローラ61にリード要求を送信することによって、対象ウェハの第1のメモリ領域からデータ(ユーザデータ)を読み出し(ステップS81)、処理を終了する(終了)。
【0212】
ステップS81では、コントローラ61は、対象ウェハの識別情報に関連付けられたL2Pテーブルを参照することによって、ホストコンピュータ2から受信したリード要求によって指定された論理アドレスに対応する物理アドレスをL2Pテーブルから取得する。コントローラ61は、取得した物理アドレスに基づいて、対象ウェハの第1のメモリ領域からデータを読み出す。そして、コントローラ61は、読み出したデータをホストコンピュータ2に送信する。
【0213】
図22は、ストレージシステム1において実行されるウェハ追加処理を説明するための図である。
【0214】
図22では、ストレージ#1~ストレージ#4の物理位置がウェハ位置情報302によって管理されている状態で、ストレージ#5がユーザによってストレージストッカー30内の例えば第5のウェハ保管位置に物理的に追加された場合が例示されている。ストレージ#5は、例えば、工場出荷直後の新しい半導体ウェハである(識別情報なしのウェハ)。
【0215】
この場合、ホストコンピュータ2は、ストレージ#5の物理位置を示す位置情報をウェハ位置情報302に追加する。新しいストレージ(半導体ウェハ)がストレージストッカー30に物理的に追加されたことおよび新しいストレージ(半導体ウェハ)が物理的に追加されたストレージストッカー30内のウェハ保管位置は、ストレージストッカー30内の各保管位置に設けられたセンサによって自動的に検出するようにしてもよい。あるいは、ユーザがストレージ管理ツール216を操作することによって新しいストレージがストレージストッカー30に物理的に追加されたことを示す情報および新しいストレージが物理的に追加された保管位置を示す情報をホストコンピュータ2に入力したことをトリガーとして、ホストコンピュータ2が新しいストレージがストレージストッカー30に物理的に追加されたことを検出してもよい。
【0216】
図23は、ウェハ追加処理の手順を示すフローチャートである。
【0217】
ホストコンピュータ2が、ストレージストッカー30内のウェハ保管位置に新しいストレージ(半導体ウェハ)が物理的に追加されたことを検出した場合(ステップS91におけるYES)、ホストコンピュータ2は、この新しいストレージの物理位置を示す位置情報をウェハ位置情報302に追加し(ステップS92)、処理を終了する(終了)。
【0218】
追加された新しいストレージに対応するウェハ制御情報は、追加された新しいストレージに対する新規書き込み処理を実行する際に作成してもよい。また、追加された新しいストレージに対応する識別情報も追加された新しいストレージに対する新規書き込み処理を実行する際に発行してもよい。
【0219】
図24は、ストレージシステム1において実行されるウェハ取り除き処理を説明するための図である。
【0220】
図24では、ストレージ#1~ストレージ#4の物理位置がウェハ位置情報302によって管理されている状態で、ストレージ#4がユーザによってストレージストッカー30から取り除かれた場合が例示されている。ストレージ#4は、識別情報ありの半導体ウェハである。
【0221】
この場合、ホストコンピュータ2は、ストレージ#4の物理位置を示す位置情報をウェハ位置情報302から削除する。また、ホストコンピュータ2は、ストレージ#4の識別情報に関連付けられているウェハ制御情報も削除してもよい。
【0222】
ストレージがストレージストッカー30から取り除かれたことおよびストレージが取り除かれたストレージストッカー30内のウェハ保管位置は、ストレージストッカー30内の各保管位置に設けられたセンサによって自動的に検出するようにしてもよい。あるいは、ユーザがストレージ管理ツール216を操作することによってストレージが取り除かれたことを示す情報およびストレージが取り除かれた保管位置を示す情報をホストコンピュータ2に入力したことをトリガーとして、ホストコンピュータ2が、ストレージがストレージストッカー30から取り除かれたことを検出してもよい。
【0223】
図25は、ウェハ取り除き処理の手順を示すフローチャートである。
【0224】
ホストコンピュータ2が、ストレージストッカー30からストレージ(半導体ウェハ)が物理的に取り除かれたことを検出した場合(ステップS101におけるYES)、ホストコンピュータ2は、物理的に取り除かれたストレージの物理位置を示す位置情報をウェハ位置情報302から削除し(ステップS102)、処理を終了する(終了)。
【0225】
物理的に取り除かれたストレージに対応するウェハ制御情報が存在する場合には、ホストコンピュータ2は、物理的に取り除かれたストレージに対応するウェハ制御情報も削除してもよい。
【0226】
以上説明したように、本実施形態によれば、コントローラ61は、半導体ウェハ40の第2のメモリ領域に識別情報とこの識別情報の整合性をチェックするための検査符号とを書き込む。これにより、既にデータが書き込まれている半導体ウェハと、工場出荷直後の新しい半導体ウェハとを正しく区別することが可能となる。
【0227】
ステージ12に搬送された対象ウェハの第2のメモリ領域に正しい対応関係を有する識別情報と検査符号との組が記憶されている場合には、コントローラ61は、この対象ウェハの識別情報に関連付けられているL2Pテーブルをホストコンピュータ2または対象ウェハの第1のメモリ領域から取得する。よって、コントローラ61は対象ウェハの識別情報に対応する正しいL2Pテーブルを参照又は更新することができるので、対象ウェハをアクセスするために使用される論理アドレスそれぞれと対象ウェハの物理アドレスそれぞれとの間の対応関係を正しく管理でき、またホストコンピュータ2が指定したリード対象データを対象ウェハから正しく読み出すことが可能となる。
【0228】
一方、ステージ12に搬送された対象ウェハの第2のメモリ領域に正しい対応関係を有する識別情報と検査符号との組が既に記憶されていない場合には、コントローラ61は、ホストコンピュータ2からの要求に基づいて、対象ウェハを識別する識別情報とこの識別情報の整合性をチェックする検査符号とを対象ウェハの第2のメモリ領域に書き込む。これにより、対象ウェハに対するデータの書き込み及び読み出しが可能となる。よって、例えば、ユーザが工場出荷直後の新しい半導体ウェハをストレージストッカー30に追加するだけで、ストレージシステム1が扱うことが可能な記憶容量を容易に増やすことが可能となる。
【0229】
またホストコンピュータ2は、識別情報と検査符号とが書き込まれている複数の半導体ウェハにそれぞれに対応する複数の識別情報を管理する。さらに、ホストコンピュータ2は、ストレージ搬送機構20によってストレージストッカー30からステージ12に搬送された半導体ウェハの第2のメモリ領域に正しい対応関係を有する識別情報と検査符号との組が記憶されており、且つステージ12に搬送された半導体ウェハの第2のメモリ領域に記憶されている識別情報がホストコンピュータ2によって指定されたアクセス対象の半導体ウェハの識別情報に一致する場合、ステージ12に搬送された半導体ウェハの第1のメモリ領域へのデータの書き込みおよびステージ12に搬送された半導体ウェハの第1のメモリ領域からのデータの読み出しが許可される。よって、ホストコンピュータ2によって指定されたアクセス対象の半導体ウェハとは異なる意図しない半導体ウェハがストレージストッカー30からステージ12に搬送された場合でも、意図しない半導体ウェハに対するデータの書き込みまたは読み出しが行われてしまうことを防ぐことができ、半導体ウェハをストレージとして使用するストレージシステム1の信頼性を向上させることができる。
【0230】
また、ホストコンピュータ2は、半導体ウェハ40がそれぞれ保管されているウェハ保管位置を管理している。ホストコンピュータ2は、アクセス対象の半導体ウェハ40が保管されているウェハ保管位置を指定する搬送要求をストレージデバイス3に送信することによって、アクセス対象の半導体ウェハ40をストレージストッカー30内の指定されたウェハ保管位置からリーダ&ライタ(プローバ)10内のステージ12に搬送すべきことをストレージデバイス3(ストレージ搬送機構20)に指示することができる。したがって、ホストコンピュータ2は、ストレージストッカー30内の複数の半導体ウェハ40のうちの所望の半導体ウェハ40をステージ12に搬送することができる。
【0231】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0232】
1 ストレージシステム
2 ホストコンピュータ
3 ストレージデバイス
10 リーダ&ライタ(プローバ)
11 プローブカード
12 ステージ
13 駆動部
20 ストレージ搬送機構
21 支持体
22 トレー
40 半導体ウェハ
41 電極(パッド)
51 プローブピン(プローブ)
61 コントローラ
61-1、61-2、61-3、61-4、61-5、61-6、61-7、61-8、61-9、61-10、61-11、61-12、61-13、61-14、61-15、61-16 メモリコントローラ
70 不揮発性メモリダイ
101 第1のメモリ領域
102 第2のメモリ領域
B0、B1、B2、Bj-1 ブロック
P0、P1、Pk-1 ページ
110 バス
111 ホストインタフェース回路(ホストI/F)
112 CPU
113 NANDインタフェース回路(NAND I/F)
114 ダイナミックRAMインタフェース回路(DRAM I/F)
115 直接メモリアクセスコントローラ(DMAC)
116 スタティックRAM(SRAM)
117 ECCエンコード/デコード部
201 プロセッサ
202 メインメモリ
203 システムコントローラ
211 アプリケーションプログラム
212 オペレーティングシステム(OS)
213 ファイルシステム
214 デバイスドライバ
216 ストレージ管理ツール
301 ウェハ識別情報管理テーブル
302 ウェハ位置情報
400 ウェハ制御情報