(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-16
(45)【発行日】2024-10-24
(54)【発明の名称】複数のサブモジュールを有する基板処理モジュールを備えた半導体製造装置においてサブモジュールの最適使用数を決定する方法、および半導体製造装置
(51)【国際特許分類】
G05B 19/418 20060101AFI20241017BHJP
H01L 21/02 20060101ALI20241017BHJP
【FI】
G05B19/418 Z
H01L21/02 Z
(21)【出願番号】P 2021002657
(22)【出願日】2021-01-12
【審査請求日】2023-10-12
(73)【特許権者】
【識別番号】000000239
【氏名又は名称】株式会社荏原製作所
(74)【代理人】
【識別番号】100106208
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100146710
【氏名又は名称】鐘ヶ江 幸男
(74)【代理人】
【識別番号】100186613
【氏名又は名称】渡邊 誠
(74)【代理人】
【識別番号】100138759
【氏名又は名称】大房 直樹
(72)【発明者】
【氏名】小泉 竜也
【審査官】程塚 悠
(56)【参考文献】
【文献】特開2019-153787(JP,A)
【文献】国際公開第2020/225995(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/418
H01L 21/02
(57)【特許請求の範囲】
【請求項1】
各々が複数のサブモジュールを有する1または複数の基板処理モジュールを備えた半導体製造装置において前記サブモジュールの最適使用数を決定する方法であって、
基板の目標生産量および予測生産量ならびに前記基板処理モジュールの使用率に基づいて、前記サブモジュールの最適使用数を推定するステップと、
前記推定された最適使用数に基づいて、前記最適使用数のサブモジュールによって基板を処理するスケジュールを作成するステップと、
前記作成されたスケジュールに基づいて、前記予測生産量および前記使用率を更新するステップと、
前記更新された予測生産量と使用率を用いて前記推定するステップを繰り返すことにより、前記サブモジュールの最適使用数を更新するステップと、
を含
み、
前記推定するステップは、前記基板の目標生産量および予測生産量ならびに前記基板処理モジュールの使用率を状態s
t
とし、前記基板を処理するために稼働する前記サブモジュールの数を行動a
t
とし、各状態s
t
における各行動a
t
の行動価値をQ(s
t
,a
t
)とする強化学習を用いて、前記サブモジュールの最適使用数を推定することを含む、
方法。
【請求項2】
前記基板の目標生産量および予測生産量は、生産すべき基板の種類毎の目標生産量および予測生産量である、請求項
1に記載の方法。
【請求項3】
前記強化学習の即時報酬r
tは、前記目標生産量と前記予測生産量の差に基づいて設定される、請求項
1に記載の方法。
【請求項4】
前記強化学習の即時報酬r
tは、前記基板の種類毎の前記目標生産量と前記予測生産量の差に基づいて設定される、請求項
2に記載の方法。
【請求項5】
前記強化学習の即時報酬r
tは、各基板処理モジュールの使用率の積に基づいて設定される、請求項
1から
4のいずれか1項に記載の方法。
【請求項6】
前記複数の基板処理モジュールは、基板に対してそれぞれ異なる処理をする複数の基板処理モジュールであり、
前記基板処理モジュールの使用率は、処理がそれぞれ異なる基板処理モジュール毎の使用率である、
請求項
1から
5のいずれか1項に記載の方法。
【請求項7】
前記行動価値Q(s
t,a
t)は、処理がそれぞれ異なる基板処理モジュール毎の、稼働するサブモジュールの数に対応する行動価値である、請求項
6に記載の方法。
【請求項8】
前記強化学習は深層強化学習である、請求項
1から
7のいずれか1項に記載の方法。
【請求項9】
前記最適使用数に基づいて、各サブモジュールの使用または不使用を設定するステップを更に含む、請求項1から
8のいずれか1項に記載の方法。
【請求項10】
前記設定するステップは、複数の使用するサブモジュールが同一の基板処理モジュールに含まれるように設定することを含む、請求項
9に記載の方法。
【請求項11】
前記基板処理モジュールは、複数のめっき槽を有するめっきモジュールであり、
前記サブモジュールは、前記めっき槽である、
請求項1から
10のいずれか1項に記載の方法。
【請求項12】
各々が複数のサブモジュールを有する1または複数の基板処理モジュールを備えた半導体製造装置であって、
基板の目標生産量および予測生産量ならびに前記基板処理モジュールの使用率に基づいて、前記サブモジュールの最適使用数を推定し、
前記推定された最適使用数に基づいて、前記最適使用数のサブモジュールによって基板を処理するスケジュールを作成し、
前記作成されたスケジュールに基づいて、前記予測生産量および前記使用率を更新し、
前記更新された予測生産量と使用率を用いて前記推定するステップを繰り返すことにより、前記サブモジュールの最適使用数を更新する、
ように構成され
、
前記推定することは、前記基板の目標生産量および予測生産量ならびに前記基板処理モジュールの使用率を状態s
t
とし、前記基板を処理するために稼働する前記サブモジュールの数を行動a
t
とし、各状態s
t
における各行動a
t
の行動価値をQ(s
t
,a
t
)とする強化学習を用いて、前記サブモジュールの最適使用数を推定することを含む、
半導体製造装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のサブモジュールを有する基板処理モジュールを備えた半導体製造装置においてサブモジュールの最適使用数を決定する方法、および半導体製造装置に関する。
【背景技術】
【0002】
半導体製造装置では、情勢によって基板の生産量が刻一刻と変化する。需要生産量が少ない閑散期には、使用モジュール数を減らして遊休モジュールをアイドル状態にすれば電力消費量を低減できる。逆に生産量が大きい繁忙期には、使用モジュールを増やす必要がある。また、算出した搬送スケジュールに基づき、所定時間以上にわたり基板処理を行わない場合にはモジュールを省電力モードにすることは知られている(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし現状では、各時期での需要生産量に応じた必要な使用モジュール数が判らず、使用モジュール数を調整するには至っていない。結果的に全てのモジュールを使用待機状態にすると、常に大きな待機消費電力を消費する。
【0005】
作成した基板搬送スケジュールに応じて遊休モジュールをアイドル状態にすることも可能ではあるが、前提として全モジュールを使用設定状態にして基板搬送スケジュールを立てるのであれば、需要生産量に対して実際の生産量が過剰になることがある。
【0006】
また処理する基板のレシピが1種類しかなく同種基板を常時大量生産しているのであれば生産量に応じた必要モジュール数も比較的簡単に算出できる。しかし多様なレシピの基板を混在して生産する状況においては、使用モジュール数に対する実生産量の予測がつかない。
【0007】
本発明は、上記の点に鑑みてなされたものであり、その目的の1つは、半導体製造装置においてモジュールの最適使用数を正確に推定することにある。
【課題を解決するための手段】
【0008】
[形態1]形態1によれば、各々が複数のサブモジュールを有する1または複数の基板処理モジュールを備えた半導体製造装置において前記サブモジュールの最適使用数を決定する方法であって、基板の目標生産量および予測生産量ならびに前記基板処理モジュールの使用率に基づいて、前記サブモジュールの最適使用数を推定するステップと、前記推定された最適使用数に基づいて、前記最適使用数のサブモジュールによって基板を処理するスケジュールを作成するステップと、前記作成されたスケジュールに基づいて、前記予測生産量および前記使用率を更新するステップと、前記更新された予測生産量と使用率を用いて前記推定するステップを繰り返すことにより、前記サブモジュールの最適使用数を更新するステップと、を含む方法が提供される。
【0009】
[形態2]形態2によれば、形態1の方法において、前記推定するステップは、前記基
板の目標生産量および予測生産量ならびに前記基板処理モジュールの使用率を状態stとし、前記基板を処理するために稼働する前記サブモジュールの数を行動atとし、各状態stにおける各行動atの行動価値をQ(st,at)とする強化学習を用いて、前記サブモジュールの最適使用数を推定することを含む。
【0010】
[形態3]形態3によれば、形態2の方法において、前記基板の目標生産量および予測生産量は、生産すべき基板の種類毎の目標生産量および予測生産量である。
【0011】
[形態4]形態4によれば、形態2の方法において、前記強化学習の即時報酬rtは、前記目標生産量と前記予測生産量の差に基づいて設定される。
【0012】
[形態5]形態5によれば、形態3の方法において、前記強化学習の即時報酬rtは、前記基板の種類毎の前記目標生産量と前記予測生産量の差に基づいて設定される。
【0013】
[形態6]形態6によれば、形態2から5のいずれか1つの方法において、前記強化学習の即時報酬rtは、各基板処理モジュールの使用率の積に基づいて設定される。
【0014】
[形態7]形態7によれば、形態2から6のいずれか1つの方法において、前記複数の基板処理モジュールは、基板に対してそれぞれ異なる処理をする複数の基板処理モジュールであり、前記基板処理モジュールの使用率は、処理がそれぞれ異なる基板処理モジュール毎の使用率である。
【0015】
[形態8]形態8によれば、形態7の方法において、前記行動価値Q(st,at)は、処理がそれぞれ異なる基板処理モジュール毎の、稼働するサブモジュールの数に対応する行動価値である。
【0016】
[形態9]形態9によれば、形態2から8のいずれか1つの方法において、前記強化学習は深層強化学習である。
【0017】
[形態10]形態10によれば、形態1から9のいずれか1つの方法において、前記最適使用数に基づいて、各サブモジュールの使用または不使用を設定するステップを更に含む。
【0018】
[形態11]形態11によれば、形態10の方法において、前記設定するステップは、複数の使用するサブモジュールが同一の基板処理モジュールに含まれるように設定することを含む。
【0019】
[形態12]形態12によれば、形態1から11のいずれか1つの方法において、前記基板処理モジュールは、複数のめっき槽を有するめっきモジュールであり、前記サブモジュールは、前記めっき槽である。
【0020】
[形態13]形態13によれば、各々が複数のサブモジュールを有する1または複数の基板処理モジュールを備えた半導体製造装置であって、基板の目標生産量および予測生産量ならびに前記基板処理モジュールの使用率に基づいて、前記サブモジュールの最適使用数を推定し、前記推定された最適使用数に基づいて、前記最適使用数のサブモジュールによって基板を処理するスケジュールを作成し、前記作成されたスケジュールに基づいて、前記予測生産量および前記使用率を更新し、前記更新された予測生産量と使用率を用いて前記推定するステップを繰り返すことにより、前記サブモジュールの最適使用数を更新する、ように構成された半導体製造装置が提供される。
【図面の簡単な説明】
【0021】
【
図1】本発明の一実施形態に係る方法を適用することが可能なめっき装置の全体配置図である。
【
図2】めっき装置におけるめっきモジュールの他の構成例を示す。
【
図3】本発明の一実施形態に係る方法を実施するシステムの構成図である。
【
図4】本発明の一実施形態に係る方法を実施するシステムにおけるコンピュータの機能を表すブロック図である。
【
図6】本発明の一実施形態に係る方法の実施手順(学習フェーズ)を示すフローチャートである。
【
図7】本発明の一実施形態に係る方法の実施手順(運用フェーズ)を示すフローチャートである。
【発明を実施するための形態】
【0022】
以下、本発明の実施形態について図面を参照して説明する。以下で説明する図面において、同一の又は相当する構成要素には、同一の符号を付して重複した説明を省略する。
【0023】
図1は、本発明の一実施形態に係る方法を適用することが可能なめっき装置10の全体配置図である。めっき装置10は、半導体製造装置の一例である。以下において、めっき装置10を参照して本発明の実施形態が説明されるが、本発明の一実施形態に係る方法は、めっき装置以外の半導体製造装置にも適用することが可能である。
【0024】
図1に示すように、めっき装置10は、2台のカセットテーブル102と、基板のオリフラ(オリエンテーションフラット)やノッチなどの位置を所定の方向に合わせるアライナ104と、めっき処理後の基板を高速回転させて乾燥させるスピンリンスドライヤ106とを有する。カセットテーブル102は、半導体ウェハ等の基板を収納したカセット100を搭載する。スピンリンスドライヤ106の近くには、基板ホルダ30を載置して基板の着脱を行うロード/アンロードステーション120が設けられている。これらのユニット100,104,106,120の中央には、これらのユニット間で基板を搬送する搬送ロボット122が配置されている。
【0025】
ロード/アンロードステーション120は、レール150に沿って横方向にスライド自在な平板状の載置プレート152を備えている。2個の基板ホルダ30は、この載置プレート152に水平状態で並列に載置され、一方の基板ホルダ30と搬送ロボット122との間で基板の受渡しが行われた後、載置プレート152が横方向にスライドされ、他方の基板ホルダ30と搬送ロボット122との間で基板の受渡しが行われる。
【0026】
めっき装置10は、さらに、ストッカ124と、プリウェットモジュール126と、プリソークモジュール128と、第1リンスモジュール130aと、ブローモジュール132と、第2リンスモジュール130bと、めっきモジュール110と、を有する。ストッカ124では、基板ホルダ30の保管及び一時仮置きが行われる。プリウェットモジュール126では、基板が純水に浸漬される。プリソークモジュール128では、基板の表面に形成したシード層等の導電層の表面の酸化膜がエッチング除去される。第1リンスモジュール130aでは、プリソーク後の基板が基板ホルダ30と共に洗浄液(純水等)で洗浄される。ブローモジュール132では、洗浄後の基板の液切りが行われる。第2リンスモジュール130bでは、めっき後の基板が基板ホルダ30と共に洗浄液で洗浄される。ロード/アンロードステーション120、ストッカ124、プリウェットモジュール126、プリソークモジュール128、第1リンスモジュール130a、ブローモジュール132、第2リンスモジュール130b、及びめっきモジュール110は、この順に配置されている。
【0027】
めっきモジュール110は、例えば、オーバーフロー槽136の内部に複数のめっき槽114を収納して構成されている。
図1の例では、めっきモジュール110は、8つのめっき槽114を有している。各めっき槽114は、内部に1つの基板を収納し、内部に保持しためっき液中に基板を浸漬させて基板表面に銅めっき等のめっきを施すように構成される。めっきモジュール110は「基板処理モジュール」の一例であり、めっき槽114は「サブモジュール」の一例である。めっきモジュール110(基板処理モジュール)は、複数のめっき槽114(サブモジュール)を備えている。
【0028】
めっき装置10は、これらの各機器の側方に位置して、これらの各機器の間で基板ホルダ30を基板とともに搬送する、例えばリニアモータ方式を採用した搬送装置140を有する。この搬送装置140は、第1搬送装置142と、第2搬送装置144を有している。第1搬送装置142は、ロード/アンロードステーション120、ストッカ124、プリウェットモジュール126、プリソークモジュール128、第1リンスモジュール130a、及びブローモジュール132との間で基板を搬送するように構成される。第2搬送装置144は、第1リンスモジュール130a、第2リンスモジュール130b、ブローモジュール132、及びめっきモジュール110との間で基板を搬送するように構成される。めっき装置10は、第2搬送装置144を備えることなく、第1搬送装置142のみを備えるようにしてもよい。
【0029】
オーバーフロー槽136の両側には、各めっき槽114の内部に位置してめっき槽114内のめっき液を攪拌する掻き混ぜ棒としてのパドルを駆動する、パドル駆動部160及びパドル従動部162が配置されている。
【0030】
このめっき装置10による一連のめっき処理の一例を説明する。まず、カセットテーブル102に搭載したカセット100から、搬送ロボット122で基板を1つ取出し、アライナ104に基板を搬送する。アライナ104は、オリフラやノッチなどの位置を所定の方向に合わせる。このアライナ104で方向を合わせた基板を搬送ロボット122でロード/アンロードステーション120まで搬送する。
【0031】
ロード/アンロードステーション120においては、ストッカ124内に収容されていた基板ホルダ30を搬送装置140の第1搬送装置142で2基同時に把持して、ロード/アンロードステーション120まで搬送する。そして、2基の基板ホルダ30をロード/アンロードステーション120の載置プレート152の上に同時に水平に載置する。この状態で、それぞれの基板ホルダ30に搬送ロボット122が基板を搬送し、搬送した基板を基板ホルダ30で保持する。
【0032】
次に、基板を保持した基板ホルダ30を搬送装置140の第1搬送装置142で2基同時に把持し、プリウェットモジュール126に収納する。次に、プリウェットモジュール126で処理された基板を保持した基板ホルダ30を、第1搬送装置142でプリソークモジュール128に搬送し、プリソークモジュール128で基板上の酸化膜をエッチングする。続いて、この基板を保持した基板ホルダ30を、第1リンスモジュール130aに搬送し、この第1リンスモジュール130aに収納された純水で基板の表面を水洗する。
【0033】
水洗が終了した基板を保持した基板ホルダ30は、第2搬送装置144により、第1リンスモジュール130aからめっきモジュール110に搬送され、めっき液を満たしためっき槽114に収納される。第2搬送装置144は、上記の手順を順次繰り返し行って、基板を保持した基板ホルダ30を順次めっきモジュール110の各々のめっき槽114に収納する。
【0034】
各々のめっき槽114では、めっき槽114内のアノード(図示せず)と基板との間にめっき電圧を印加し、同時にパドル駆動部160及びパドル従動部162によりパドルを基板の表面と平行に往復移動させることで、基板の表面にめっきを行う。
【0035】
めっきが終了した後、めっき後の基板を保持した基板ホルダ30を第2搬送装置144で2基同時に把持し、第2リンスモジュール130bまで搬送し、第2リンスモジュール130bに収容された純水に浸漬させて基板の表面を純水洗浄する。次に、基板ホルダ30を、第2搬送装置144によってブローモジュール132に搬送し、エアーの吹き付け等によって基板ホルダ30に付着した水滴を除去する。その後、基板ホルダ30を、第1搬送装置142によってロード/アンロードステーション120に搬送する。
【0036】
ロード/アンロードステーション120では、搬送ロボット122によって基板ホルダ30から処理後の基板が取り出され、スピンリンスドライヤ106に搬送される。スピンリンスドライヤ106は、高速回転によってめっき処理後の基板を高速回転させて乾燥させる。乾燥した基板は、搬送ロボット122によりカセット100に戻される。
【0037】
図2は、めっき装置10におけるめっきモジュール110の他の構成例を示す。
図2において、めっき装置10は、第1めっきモジュール110Aと、第2めっきモジュール110Bと、第3めっきモジュール110Cを備える。第1めっきモジュール110A、第2めっきモジュール110B、および第3めっきモジュール110Cは、それぞれ、
図1のめっき装置10におけるめっきモジュール110と同様の構成を有する。すなわち、各めっきモジュール110A、110B、110Cは、それぞれ、オーバーフロー槽136と、複数のめっき槽114とを備えている。
図2の例では、各めっきモジュール110A、110B、110C(基板処理モジュール)は、それぞれ4つのめっき槽114(サブモジュール)を有している。各めっきモジュール110A、110B、110Cに、それぞれ第2リンスモジュール130b(
図2において不図示)が併設されてもよい。第1めっきモジュール110A、第2めっきモジュール110B、および第3めっきモジュール110Cは、同種のめっき(例えば銅めっき)処理を行うものであってもよいし、または、異なるめっき(例えば、銅めっき、ニッケルめっき、はんだ(SnAg等)めっきの3種)処理を行うものであってもよい。また、めっき装置10が備えるめっきモジュールの数、および1つのめっきモジュールに含まれるめっき槽114の数は、
図2の例に限られず、任意の数であってよい。
【0038】
図3は、本発明の一実施形態に係る方法を実施するシステム300の構成図である。システム300は、めっき装置10およびコンピュータ320を備える。めっき装置10は、
図1または
図2を参照して説明しためっき装置である。めっき装置10とコンピュータ320は、例えば、LAN(ローカルエリアネットワーク)またはインターネット等のネットワーク330を介して相互に通信可能に接続されている。あるいは、コンピュータ320は、めっき装置10の構成の一部としてめっき装置10に組み込まれてもよい。コンピュータ320は、プロセッサ322およびメモリ324を備える。メモリ324には、本発明の一実施形態に係る方法を実現するためのプログラム326が格納される。プロセッサ322は、メモリ324からプログラム326を読み出して実行する。これにより、システム300は、本発明の一実施形態に係る方法を実施することができる。なお、
図3には1つのコンピュータ320のみが示されているが、システム300は、複数のコンピュータ320を備えてもよい。そのような構成において、各コンピュータ320のメモリ324には本発明の一実施形態に係る方法の一部に対応するプログラムがそれぞれ格納され、各コンピュータ320のプロセッサ322がそれらのプログラムを個々に実行することにより、複数のコンピュータ320が協働し全体として本発明の一実施形態に係る方法を実施するのであってよい。
【0039】
図4は、本発明の一実施形態に係る方法を実施するシステム300におけるコンピュータ320の機能を表すブロック図である。
図4に示されるように、コンピュータ320の機能は、装置環境410とエージェント420に分かれる。装置環境410は、生産管理部412と、スケジューラ414と、装置コントローラ416と、メトリクス管理部418を含む。エージェント420は、行動決定部422と、機械学習部424を含む。上述したように、これらの機能は、1つのコンピュータ320上で実現されてもよいし、各機能(または全体のうちのいくつかの機能)が別個のコンピュータ320によって実現されるのであってもよい。
【0040】
生産管理部412は、めっき装置10における基板の生産に関連する情報を管理する。特に、生産管理部412は、めっきモジュール110(または、めっきモジュール110A、110B、110C。以下、単にめっきモジュール110と記す)におけるめっき工程に関連する情報を管理する。これらの情報は、例えば、めっき装置10が単位時間当りに生産する基板の目標枚数(以下、目標生産量という)、および、めっきモジュール110に含まれる複数のめっき槽114の各々の使用/不使用に関する設定(以下、モジュール使用設定という)を含む。
【0041】
基板の目標生産量は、例えば、めっき装置10の過去の生産履歴から直近の所定期間における平均的な生産量として算出することもできるし、あるいは、めっき装置10のオペレータからユーザインターフェイスを介して与えられてもよい。モジュール使用設定は、複数のめっき槽114の1つ1つについて、当該めっき槽114を基板のめっき処理に使用するか、休止させるかを指定する情報であり、この設定は、行動決定部422によって決定されて、生産管理部412へ通知される。
【0042】
スケジューラ414は、めっき装置10の各モジュール(126、128、130a、130b、132、110)、搬送装置140、およびその他各部(122、120、106等)の動作スケジュールを作成する。特に、スケジューラ414は、めっきモジュール110の各めっき槽114において基板をめっきするスケジュールを作成する。スケジューラ414は、生産管理部412から目標生産量とモジュール使用設定を通知され、これらの情報に基づいて、スケジュールを作成することができる。
【0043】
装置コントローラ416は、スケジューラ414によって作成されたスケジュールに従って、めっき装置10の各モジュール(126、128、130a、130b、132、110)、搬送装置140、およびその他各部(122、120、106等)の動作を制御する。
【0044】
メトリクス管理部418は、エージェント420に提供するための情報を作成し管理する。エージェント420に提供する情報は、例えば、基板の目標生産量、基板の予測生産量、めっきモジュール110の使用率、およびエージェント420の機械学習部424がめっきモジュール110におけるめっき槽114の最適使用数を学習する際に使用する報酬(後述)を含む。
【0045】
基板の目標生産量は、生産管理部412から通知される。基板の予測生産量は、スケジューラ414から通知されるスケジュールに基づいて、めっき装置10の各部(めっきモジュール110等)が当該スケジュールに従って動作した場合に単位時間当りに生産されると見込まれる基板の枚数として算出(予測)することができる。なお、めっきモジュール110に含まれる複数のめっき槽114のうち実際に基板のめっき処理に使用されるめっき槽114の数が最適でない(例えば、めっき槽114の実際の使用数が基板の目標生産量に対して過剰または過少である)場合には、この基板の予測生産量は基板の目標生産量と一致しない。基板の目標生産量および予測生産量は、生産する基板の種類毎の情報(
例えば、基板種1の目標生産量と予測生産量、基板種2の目標生産量と予測生産量、および基板種3の目標生産量と予測生産量)であってよい。ここで基板の「種類」は、基板に施すめっきの種類に基づく分類でもよいし、基板に施す同一種類のめっきの厚さに基づく分類であってもよい。
【0046】
なお、基板の予測生産量は、めっき装置10の各部がスケジューラ414の作成したスケジュールに従って動作している限りにおいて、めっき装置10の実生産量(めっき装置10が単位時間当りに実際に生産する基板の枚数)と等しいが、めっき装置10がスケジュールどおりに動作しない場合(例えば、何らかの装置トラブル発生時)には、実生産量と異なってくる。予測生産量が実生産量と大きく異なると、機械学習部424での学習の妥当性が低下するので、基板の予測生産量と実生産量との誤差が所定の基準値の範囲内に収まっていることを常に監視し、収まっていない場合は、機械学習部424における学習を中断することとしてもよい。
【0047】
めっきモジュール110の使用率は、スケジューラ414から通知されるスケジュールに基づいて、めっき装置10の稼働時間に対する当該めっきモジュール110の実使用時間の割合として算出することができる。例えば、めっきモジュール110が2つのめっき槽114を有する構成において、めっき装置10の稼働時間が10時間であり、この10時間の稼働時間のうち、第1のめっき槽114が基板にめっき処理を行っている時間の総計(=実使用時間)が6時間、第2のめっき槽114のめっき処理時間の総計が8時間であったとすると、使用率は(6+8)/(10×2)=0.7と算出される。めっき装置10が異なるめっき処理を行う第1~第3めっきモジュール110A、110B、および110Cを備える場合、第1めっきモジュール110A、第2めっきモジュール110B、および第3めっきモジュール110Cのそれぞれについて別個に使用率を算出してもよい。
【0048】
上述したように、スケジューラ414は基板の目標生産量とモジュール使用設定に基づいてスケジュールを作成するが、基板の目標生産量またはモジュール使用設定が変化することによりスケジュールが変更されると、メトリクス管理部418は、当該変更されたスケジュールに基づいて、基板の予測生産量とめっきモジュール110の使用率を算出し直す。これにより、めっき装置10におけるスケジュールの変更に応じて、基板の予測生産量およびめっきモジュール110の使用率は逐次更新されていく。
【0049】
機械学習部424は、めっきモジュール110に含まれる複数のめっき槽114のうちいくつのめっき槽114を使用して基板をめっきするのが最も効率的であるか(すなわちめっき槽114の最適使用数)を、機械学習によって推定する。より具体的に、機械学習部424は、行動決定部422を介してメトリクス管理部418から上述の目標生産量、予測生産量、使用率、および報酬を取得する。機械学習部424は、基板の目標生産量、予測生産量、およびめっきモジュール110の使用率に基づいて、めっき槽114の最適使用数を推定する。
【0050】
機械学習部424は、機械学習の一方法である強化学習を用いることで、めっき槽114の最適使用数の推定を行うことができる。例えば、この強化学習における「状態st」には、基板の目標生産量、基板の予測生産量、およびめっきモジュール110の使用率を採用することができ、強化学習における「行動at」には、基板のめっき処理に使用するめっき槽114の数としてとり得る全ての値を採用することができる(ただしtは時刻を表す)。状態stとしての目標生産量、予測生産量、および使用率は、前述したように基板の種類毎、またはめっきの種類毎(すなわち第1めっきモジュール110A、第2めっきモジュール110B、および第3めっきモジュール110C毎)のものであってもよい。また行動atに関し、例えば、めっきモジュール110が4つのめっき槽114を有す
る構成の場合は、「0」「1」「2」「3」「4」という5個の行動を定義することができ、第1~第3めっきモジュール110A、110B、および110Cがそれぞれ2つのめっき槽114を有する構成の場合には、第1めっきモジュール110Aについて「0」「1」「2」、第2めっきモジュール110Bについて「0」「1」「2」、第3めっきモジュール110Cについて「0」「1」「2」の合わせて9個の行動を定義することができる。
【0051】
機械学習部424は、上記のように時刻tの状態s
tおよび行動a
tが規定された強化学習において、「報酬(即時報酬)r
t」を用いて、各状態s
tにおいて選択することが可能な各行動a
tの「行動価値Q(s
t,a
t)」を計算する。例えば、上記の例において、第1めっきモジュール110Aのめっき槽114を「0」個使用する場合の行動価値、第1めっきモジュール110Aのめっき槽114を「1」個使用する場合の行動価値、第1めっきモジュール110Aのめっき槽114を「2」個使用する場合の行動価値、第2めっきモジュール110Bのめっき槽114を「0」個使用する場合の行動価値、第2めっきモジュール110Bのめっき槽114を「1」個使用する場合の行動価値、第2めっきモジュール110Bのめっき槽114を「2」個使用する場合の行動価値、第3めっきモジュール110Cのめっき槽114を「0」個使用する場合の行動価値、第3めっきモジュール110Cのめっき槽114を「1」個使用する場合の行動価値、および第3めっきモジュール110Cのめっき槽114を「2」個使用する場合の行動価値の9個の行動価値が計算される。行動価値Q(s
t,a
t)を計算するアルゴリズムとして、例えば、以下の式で表されるQ学習を用いることができる。ただし、αは学習率、γは時間割引率を表す。また、Q学習を深層強化学習に適用したDQN(Deep Q-Network)を用いるように機械学習部424を構成してもよい(
図5参照)。
【0052】
【0053】
機械学習部424は、メトリクス管理部418から与えられた状態st(すなわち目標生産量、予測生産量、および使用率)に対して行動価値Q(st,at)を計算し、得られた行動価値Q(st,at)の中から最大のものを選択する。このように選択された行動価値は、当該状態stにおいてある行動at(すなわち使用するめっき槽114の数の選択)をとったときに得られる価値が最大となるような行動、つまり、めっき槽114の最適使用数を表す。こうして機械学習部424は、メトリクス管理部418からの状態stに応じた、めっき槽114の最適使用数を推定することができる。
【0054】
行動決定部422は、機械学習部424によって推定された最新の時刻と直前の時刻におけるめっき槽114の最適使用数を比較し、最適使用数が変化した場合は、当該最新の時刻におけるめっき槽114の最適使用数に基づいて、モジュール使用設定(すなわち、各めっき槽114をめっき処理に使用するか、休止させるかを指定する設定情報)を変更する。例えば、最適使用数が増加したならより多くのめっき槽114を使用状態とし、最適使用数が減少したならより多くのめっき槽114を不使用(休止)状態とするように、モジュール使用設定が変更される。
【0055】
この変更されたモジュール使用設定は生産管理部412へ送られ、これに応じてスケジューラ414においてスケジュールが変更され、さらにそれに応じて、メトリクス管理部418において基板の予測生産量およびめっきモジュール110の使用率(すなわち状態st)が更新される。そしてこの更新された状態stが再び機械学習部424へ入力されることによって、機械学習部424において推定されるめっき槽114の最適使用数が、より適切な値へと近づく。したがって、このような更新が繰り返されることで、めっきモ
ジュール110に含まれるめっき槽114の最適使用数に対する推定の正確性を逐次向上させていくことができる。また、めっき槽114の正確な最適使用数が得られることで、めっき装置10の複数のめっき槽114の使用/不使用の制御をより適切に行うことができ、またそれにより、最小限の数のめっきモジュール110のみを稼働させめっき装置10の消費電力を低減することができる。
【0056】
なお、めっき装置10が同種のめっき処理を行う第1~第3めっきモジュール110A、110B、および110Cを備える構成において、行動決定部422が作成するモジュール使用設定は、使用状態に設定される複数のめっき槽114が、複数のめっきモジュールに分散するのではなく、できるだけ同一のめっきモジュールにまとまるように、設定されるのが好ましい。例えば、第1~第3めっきモジュール110A、110B、および110Cがそれぞれ4つのめっき槽114を有し、最適使用数が「3」である場合、第1めっきモジュール110Aの3つのめっき槽114を使用状態に設定し、第1めっきモジュール110Aの残りのめっき槽114と、第2および第3めっきモジュール110B、110Cの全てのめっき槽114を不使用状態に設定するのが好ましい。これにより、第2および第3めっきモジュール110B、110Cを完全に休止させることでめっき装置10の消費電力をより効果的に低減することができる。
【0057】
めっき装置10の消費電力を確実に低減させる観点から、行動決定部422におけるモジュール使用設定の更新頻度が調整されてもよい。例えば、めっき槽114を使用状態と休止状態の間で頻繁に切り替えると、めっき槽114の内部のめっき液を繰り返し昇温・降温させるために必要な電力が増大するため、最適使用数のめっき槽114が常時使用されているにもかかわらず、全体としてはめっき装置10の消費電力が低減されないということが起こり得る。そのようなことを避けるために、例えば、行動決定部422は、モジュール使用設定に従って各めっき槽114の使用/不使用を切り替えた場合のめっき装置10の消費電力を事前に(モジュール使用設定を変更する前に)計算し、その切り替えによって消費電力が増加しないことが確認された場合にのみ、モジュール使用設定を実際に変更することとしてもよい。
【0058】
次に、機械学習部424が使用する即時報酬rtについて説明する。即時報酬rtは、例えば次式のように定義することができる。ただし、rwphは基板の予測生産量に関連する即時報酬、rusageはめっきモジュール110の使用率に関連する即時報酬、βは適宜の調整係数である。
【0059】
【0060】
rwphおよびrusageはさらに次式のように定義することができる。ここで、fxは基板種xについての報酬関数、WPHtxは基板種xの基板の目標生産量、WPHmxは基板種xの基板の予測生産量、Xは基板種の全集合(例えば基板種1、基板種2、基板種3)、Umはめっきモジュールmの使用率、Mはめっきモジュールの全集合(例えば第1めっきモジュール110A、第2めっきモジュール110B、および第3めっきモジュール110C)である。
【0061】
【0062】
報酬関数fxは、目標生産量WPHtxと予測生産量WPHmxの差が小さいほど値が大きくなるような関数であることが好ましい。一例として、報酬関数fxは次式のように定義することができる。
【0063】
【0064】
予測生産量の即時報酬rwphとして上記のような報酬関数fxを設定することにより、システム300への入力である基板の目標生産量と、めっき装置10におけるモジュール使用設定を反映した基板の予測生産量とに応じて、予測生産量ができるだけ目標生産量に近くなるように機械学習部424の学習が進んでいく。したがって、めっき槽114の最適使用数の推定の正確性を、より一層向上させることができる。
【0065】
図6および
図7は、本発明の一実施形態に係る方法の実施手順を示すフローチャートである。まず
図6を参照し、システム300の学習フェーズにおける処理の手順を説明する。
【0066】
ステップ602:システム300に新規ジョブが入力され、スケジューラ414がスケジュールを作成する。新規ジョブは、目標生産量を含む。
ステップ604:メトリクス管理部418において状態st(目標生産量、予測生産量、および使用率)が更新され、即時報酬rtが計算される。
ステップ606:エージェント420へ状態stおよび即時報酬rtが通知される。
【0067】
ステップ608:エージェント420が状態s
tおよび即時報酬r
tを受信する。
ステップ610:状態s
tおよび即時報酬r
tを用いて機械学習部424(例えば
図5のDQNにおけるニューラルネットワーク)の行動価値Q(s
t,a
t)が更新される。
ステップ612:機械学習部424が最大の行動価値Q(s
t,a
t)(すなわちめっき槽114の最適使用数)を選択する。
ステップ614:行動決定部422が最適使用数に応じてモジュール使用設定を変更する。
【0068】
ステップ616:モジュール使用設定に基づいてスケジューラ414がスケジュールを更新する。
ステップ618:スケジュールの更新を受け、メトリクス管理部418において再び状態stおよび即時報酬rtが更新される。
ステップ620:更新された状態stおよび即時報酬rtがエージェント420へ通知される。
【0069】
ステップ622:エージェント420が更新された状態stおよび即時報酬rtを受信
する。
ステップ624:更新された状態stおよび即時報酬rtを用いて機械学習部424の行動価値Q(st,at)がさらに更新される。
ステップ626:行動価値Q(st,at)の変化量が十分に小さくなければ、ステップ612に戻り、以降のステップを繰り返す。変化量が十分小さければ、学習フェーズを終了する。
【0070】
次に
図7を参照し、システム300の運用フェーズにおける処理の手順を説明する。
ステップ702:システム300に新規ジョブが入力され、スケジューラ414がスケジュールを作成する。新規ジョブは、目標生産量を含む。
ステップ704:メトリクス管理部418において状態s
t(目標生産量、予測生産量、および使用率)が更新される。
ステップ706:エージェント420へ状態s
tが通知される。
【0071】
ステップ708:エージェント420が状態stを受信する。
ステップ710:機械学習部424が最大の行動価値Q(st,at)(すなわちめっき槽114の最適使用数)を選択する。
ステップ712:行動決定部422が最適使用数に応じてモジュール使用設定を変更する。
【0072】
ステップ714:モジュール使用設定に基づいてスケジューラ414がスケジュールを更新する。
ステップ716:更新されたスケジュールに従って、装置コントローラ416がめっき装置10の各部の動作を制御する。
【0073】
以上、いくつかの例に基づいて本発明の実施形態について説明してきたが、上記した発明の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得るとともに、本発明には、その均等物が含まれることはもちろんである。また、上述した課題の少なくとも一部を解決できる範囲、または、効果の少なくとも一部を奏する範囲において、特許請求の範囲および明細書に記載された各構成要素の任意の組み合わせ、または、省略が可能である。
【符号の説明】
【0074】
10 めっき装置
30 基板ホルダ
100 カセット
102 カセットテーブル
104 アライナ
106 スピンリンスドライヤ
110 めっきモジュール
110A 第1めっきモジュール
110B 第2めっきモジュール
110C 第3めっきモジュール
114 めっき槽
120 ロード/アンロードステーション
122 搬送ロボット
124 ストッカ
126 プリウェットモジュール
128 プリソークモジュール
130a 第1リンスモジュール
130b 第2リンスモジュール
132 ブローモジュール
136 オーバーフロー槽
140 搬送装置
142 第1搬送装置
144 第2搬送装置
150 レール
152 載置プレート
160 パドル駆動部
162 パドル従動部
300 システム
320 コンピュータ
322 プロセッサ
324 メモリ
326 プログラム
330 ネットワーク
410 装置環境
412 生産管理部
414 スケジューラ
416 装置コントローラ
418 メトリクス管理部
420 エージェント
422 行動決定部
424 機械学習部