TW202405595A - 將深度強化學習用於製造系統處的時間約束管理 - Google Patents

將深度強化學習用於製造系統處的時間約束管理 Download PDF

Info

Publication number
TW202405595A
TW202405595A TW112112837A TW112112837A TW202405595A TW 202405595 A TW202405595 A TW 202405595A TW 112112837 A TW112112837 A TW 112112837A TW 112112837 A TW112112837 A TW 112112837A TW 202405595 A TW202405595 A TW 202405595A
Authority
TW
Taiwan
Prior art keywords
substrates
operations
manufacturing system
data
time
Prior art date
Application number
TW112112837A
Other languages
English (en)
Inventor
哈瑞爾 葉迪遜
佩拉孚拉 達瓦迪
大衛艾佛頓 諾曼
Original Assignee
美商應用材料股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商應用材料股份有限公司 filed Critical 美商應用材料股份有限公司
Publication of TW202405595A publication Critical patent/TW202405595A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • General Factory Administration (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

提供了一種用於為基板製造系統訓練代理器的方法。該方法包括以下步驟:初始化基板製造系統的預測子系統的代理器,以選擇一個動作在與該基板製造系統相關聯的模擬環境中執行;以及在該模擬環境中啟動對所選的該動作的模擬。響應於暫停該模擬,該方法進一步包括以下步驟:基於與該模擬相關聯的環境狀態,獲得輸出資料;以及基於該輸出資料,將該代理器更新為配置為產生一個或多個調度決策,該一個或多個調度決策表明在該基板製造系統中啟動對一個或多個基板的處理的時間。

Description

將深度強化學習用於製造系統處的時間約束管理
本揭示內容涉及用於將深度強化學習用於製造系統處的時間約束管理的方法和機構。
在基板成為成品(如晶圓、電子設備等)之前,基板可以依據一組操作進行處理,其中每個操作都在製造系統的一個工具處執行。在某些情況下,一個或多個操作可以經受時間約束。時間約束指的是在完成一個操作後,要完成後續操作的特定時間量。例如,可以依據第一操作和第二操作來處理基板,在第一操作中,將第一材料沉積在基板的表面上,在第二操作中,將第二材料沉積在第一材料上。第一操作和第二操作可以經受時間約束,其中第二材料要在特定的時間量內沉積在第一材料上,否則第一材料可能開始降解,基板不能用於生產成品(即變得不可用)。時間約束窗口指的是完成引起時間約束的操作(稱為啟動操作)的特定時間量,以及啟動操作完成後要完成後續操作(稱為完成操作)的時間量。在一些情況下,可以在啟動操作與完成操作之間執行一個或多個操作。
在大多數情況下,當基板到達工具時,不能對基板開始操作,因為工具可能正在處理其他基板。因此,製造系統的操作員(例如,工業工程師、製程工程師、系統工程師等)將操作排定在特定時間運行,以滿足與操作相關聯的時間約束。例如,操作員可以推遲對基板進行的操作,直到每個被設定為執行與時間約束相關聯的操作的工具有容量(capacity)在時間約束窗口內執行操作。
在某些情況下,第一時間約束窗口的完成操作也可以是第二時間約束窗口的啟動操作。在這種情況下,製造系統的操作員可以排定第一時間約束窗口的啟動操作在特定的時間開始,以滿足第一時間約束窗口的第一時間約束和第二時間約束窗口的第二時間約束。在其他情況下,一個操作可以是第一時間約束窗口和第二時間約束窗口兩者的完成操作。在這種情況下,操作員可以排定第一時間約束窗口和第二時間約束窗口的啟動操作在特定的時間開始,以滿足第一時間約束窗口的第一時間約束和第二時間約束窗口的第二時間約束。
隨著製造系統變得越來越複雜,經受時間約束的操作也越來越多。為了排定基板在啟動操作開始,操作員(例如使用計算系統)要考慮所有可能由啟動操作引起的時間約束。為了考慮到所有可能由啟動操作引起的時間約束,操作員要考慮到可以執行啟動操作、完成操作以及兩者之間的每個操作的每個工具的容量。在某些情況下,包括啟動操作的時間約束窗口可以對應於相當長的時間(例如,6小時、8小時、12小時、24小時等)。操作員可能難以考慮到未來相當長一段時間內的每個時間約束和製造系統的每個工具的容量。對於一些計算系統來說,這種考慮可以被歸類為NP-hard(非決定性多項式時間困難(non-deterministic polynomial-time hard))問題。因此,操作員可能無法成功地排定基板在操作集合的每個啟動操作開始使得每個時間約束都得到滿足。因此,基板可能違反該組操作的時間約束,變得不可用。每一個變得不可用的基板都可能會降低整體系統產量,並導致整體系統延遲的增加。
以下是本揭示內容的簡化概要,以提供對本揭示內容的一些態樣的基本理解。這個概要並不是對本揭示內容的廣泛概述。它並不旨在識別本揭示內容的關鍵或重要元素,也不旨在劃定本揭示內容的特定實施方式的任何範圍或請求項的任何範圍。它的唯一目的是以簡化的形式呈現本揭示內容的一些概念以作為後面呈現的更詳細描述的前奏。
在本揭示內容的一個態樣中,提供了一種用於訓練軟體代理器的方法。該方法包括以下步驟:初始化軟體代理器,以選擇一個動作在與製造系統相關聯的模擬環境中執行;以及在該模擬環境中啟動對所選的該動作的模擬。響應於暫停該模擬,該方法進一步包括以下步驟:基於與該模擬相關聯的環境狀態,獲得輸出資料;以及基於該輸出資料,將該軟體代理器更新為配置為產生一個或多個調度決策,該一個或多個調度決策表明在該製造系統中啟動對一個或多個基板的處理的時間。
在本揭示內容的另一個態樣中,提供了一種用於製造系統處的時間約束管理的方法。該方法包括以下步驟:接收啟動要在製造系統處在候選的一組基板上運行的一組操作的請求,其中該組操作包括一個或多個操作,每個操作具有一個或多個時間約束。該方法進一步包括以下步驟:獲得與該製造系統的當前狀態有關的當前資料;以及將軟體代理器應用於該當前資料,以決定處理候選的該組基板的時間。該方法進一步包括以下步驟:在所決定的該時間在候選的該組基板上啟動該組操作。
本揭示內容的另一個態樣包括一種電子設備製造系統,該電子設備製造系統包括記憶體設備和處理設備,該處理設備可操作地與該記憶體設備耦合,以依據本文所述的任何態樣或實施方式執行操作。
本揭示內容的另一個態樣包括一種包括指令的非暫時性電腦可讀取儲存媒體,該等指令當由可操作地與記憶體耦合的處理設備執行時,依據本文所述的任何態樣或實施方式執行操作。
本文描述的是涉及將強化學習用於製造系統處的時間約束管理的技術。在一些製程中,可以在製造系統的各種階段執行一系列操作。例如,可以執行一系列操作,以將塗層(或多個塗層)沉積在基板的表面,並將三維圖案蝕刻到塗層中。在某些情況下,一系列操作中的一者或多者可能會經受時間約束。時間約束可以指一種限制或協定,其中在製造系統處執行一個操作後,後續的操作要在特定的時間量內完成。例如,製造系統可能會經受時間約束,其中蝕刻製程要在塗層沉積在基板的表面上之後的特定小時數(例如12小時)內對基板執行蝕刻。如果時間約束沒有得到滿足(例如,如果蝕刻製程沒有在特定的小時數內執行),基板就會變得有缺陷和不可用。
本揭示內容的實施方式涉及使用深度強化學習以管理基板製造系統處的時間約束。處理設備可以接收啟動要在製造系統處運行的操作的請求,其中一個或多個操作經受時間約束。處理設備可以根據時間約束,決定何時釋放一些基板進行處理,使得這些基板可以在特定的時間段內在製造系統處成功得到處理。例如,處理設備可以識別基板製造系統處的一組候選基板要在該組操作期間處理的時間。
為了識別一組候選基板,處理設備可以獲得與製造裝備的當前狀態有關的資料。這些資料可以包括當前狀態資料、感測器資料、上下文資料、任務資料等。例如,當前資料可以與以下項目有關:正在被處理的一個或多個基板上執行的一個或多個操作,在特定的時刻正在製造裝備處處理的基板數量,製造裝備佇列中的基板數量,當前的服務壽命,設置資料,包括在生產環境的一個或多個製造設施處執行的各個製程的一組操作,感測器資料,等等。處理設備可以提供與製造裝備的當前狀態有關的資料作為對代理器的輸入。代理器可以包括一個軟體程式,它可以感知其環境,自主地採取動作以實現一個或多個目標,並且可以利用學習改進其效能。
代理器(在本文也稱為軟體或智慧型代理器)可以用於產生調度決策。調度決策可以決定在生產環境中的給定時間應該執行什麼動作。調度決策的例子可以包括且不限於,下一步應該在生產環境中的哪裡處理基板,應該為生產環境中閒置的一件裝備挑選哪個基板,等等。基於調度決策資料,處理設備可以在特定的時間在候選的該組基板上啟動該組操作。
在一些實施方式中,調度決策可以表明在哪個時間處理一組候選基板(例如何時排定在啟動操作時啟動一個基板)。在其他的實施方式中,調度決策可以涉及一些決策,例如是否開始處理一個基板少於允許數量的批次,或等待直到有額外的基板可用,使得可以啟動完整的批次,才啟動批次。在其他的實施方式中,調度決策可以涉及決定釋放正在邏輯閘門步驟等待的基板,以便這些基板可以在後續處理步驟中被調度處理。在一些情況下,為了管理時間約束,製程流程將包括在啟動時間約束的步驟之前的非處理(邏輯)步驟(稱為閘門步驟)。各批(lot)(各組基板)在閘門步驟等待,直到系統決定有容量讓它們得到完全處理。當有容量時,它們從閘門步驟釋放,並可用於在時間約束中的第一操作處進行處理。軟體代理器可以控制這個閘門步驟。
在一些實施方式中,軟體代理器可以使用深度強化學習來訓練。深度強化學習將人工神經網路與強化學習的架構相結合,以幫助軟體代理器學習如何達到它們的目標(例如深度強化學習包括從現有的知識學習並將其應用於新的資料集)。在一個例子中,在訓練期間,軟體代理器選擇並模擬未來一個時間步的動作(在模擬環境中)。然後,軟體代理器接收新的環境狀態,以及報酬。狀態-動作-報酬的序列被保存,強化學習演算法定期地使用這個經驗來更新代表一個策略的神經網路的權重。該策略用於挑選下一個動作。策略更新的目的是使時間範圍內的累積報酬最大化。一旦學習曲線趨於穩定,該策略停止改進,該策略就會被保存下來,並可以用於與製造裝備有關的當前資料。
本揭示內容的態樣和實施方式藉由提供用於排定一個基板或一組基板在啟動操作時啟動的技術,解決了現有技術的缺點。處理設備可以使用經訓練的軟體代理器來決定一組候選基板在當前或未來的時間段期間進行處理(基板一組操作)。藉由應用軟體代理器,處理設備可以獲得表明何時排定一組基板進行處理的調度決策。藉由決定何時排定該組基板,處理設備可以排定該組基板在該時間段內在該組操作時啟動,使得很少或沒有基板違反該組操作的時間約束。因此,違反該組操作的時間約束的基板數量很少或幾乎為零,導致製造系統處處理的大量基板不含缺陷或缺陷很少。因此,與可能會減少產量的傳統的試探法解決方案相比,經訓練的軟體代理器可以在保持高產量的同時減少佇列時間的違規。
圖1是依據本揭示內容的態樣,說明了生產環境100的方塊圖。生產環境100可以包括多個系統,例如且不限於生產調度器系統103、製造裝備112(例如製造工具、自動化設備等)、客戶端設備114、預測系統116(其例如用於產生諸如調度決策之類的預測資料,提供模型或代理器的調適,使用知識庫,等等)和一個或多個電腦整合製造(CIM)系統101。生產環境100的例子可以包括且不限於製造廠、履行中心等。為了簡單扼要起見,在本描述的任何部分,都使用製造系統作為生產環境100的例子。
在一些實施方式中,生產環境100可以是半導體製造環境。在這種實施方式中,製造裝備112可以執行與半導體基板的製造有關的多個不同操作。例如,製造裝備112可以執行切割操作、清潔操作、沉積操作、蝕刻操作、測試操作等。本揭示內容的態樣是關於在半導體製造環境中製造半導體基板的描述。然而,應該指出的是,本揭示內容的實施方式可以應用於配置為製造或以其他方式處理與半導體基板不同的批(lot)的其他生產環境100。一個批可以指一組基板。
製造裝備112可以包括感測器126,這些感測器被配置為捕捉在製造裝備112中正在處理的基板的資料。在一些實施方式中,製造裝備112和感測器126可以是感測器系統的一部分,包括感測器伺服器(例如,製造設施處的現場服務伺服器(FSS))和感測器識別碼讀取器(例如,感測器系統的前開式晶圓傳送盒(FOUP)射頻識別(RFID)讀取器)。在一些實施方式中,製造裝備112可以包括計量裝備或可操作地與之耦合,該計量裝備包括計量伺服器(例如,計量資料庫、計量資料夾等)和計量識別碼讀取器(例如,計量系統的FOUP RFID讀取器)。
製造裝備112可以按照配方或在一段時間內執行行程來生產產品,例如電子設備。製造裝備112可以包括製程腔室。製造裝備112可以在製程腔室處對基板(例如晶圓等)執行製程。基板製程的例子包括在基板的表面上沉積薄膜的一個或多個層的沉積過程,在基板的表面上形成圖案的蝕刻過程,等等。製造裝備122可以依據製程配方來執行每個製程。製程配方定義了要在製程期間對基板執行的特定操作集合,並且可以包括與每個操作相關聯的一個或多個設定。例如,沉積過程配方可以包括製程腔室的溫度設定、製程腔室的壓力設定、用於沉積在基板表面上的薄膜中所包括的材料的前驅物的流速設定等。
在一些實施方式中,感測器126提供與製造裝備112相關聯(例如與藉由製造裝備112生產對應產品(如晶圓)相關聯)的感測器資料(例如,感測器值、特徵、跟蹤資料)。製造裝備112可以按照配方或藉由在一段時間內執行作業來生產產品。在一段時間內收到的感測器資料(其例如對應於配方或運行的至少一部分)可以稱為隨著時間的推移從不同的感測器126收到的跟蹤資料(例如,歷史跟蹤資料、當前跟蹤資料等)。感測器資料可以包括以下一項或多項的值:溫度(例如加熱器溫度)、間隔(SP)、壓力、高頻射頻(HFRF)、靜電卡盤(ESC)的電壓、電流、材料流量、功率、電壓等。感測器資料可以與製造參數相關聯或表明製造參數,例如硬體參數,例如製造裝備124的設定或部件(例如尺寸、類型等),或製造裝備112的製程參數。感測器資料可以在製造裝備112正在執行製造過程時提供(例如處理產品時的裝備讀數)。每個基板的感測器資料可以不同。
CIM 101、生產調度器系統103、製造裝備112、客戶端設備114、預測系統116和資料儲存器140、150可以經由網路120彼此耦合。網路120可以包括一個或多個廣域網路(WAN)、區域網路(LAN)、有線網路(例如乙太網路)、無線網路(例如802.11網路或Wi-Fi網路)、蜂巢式網路(例如長期演進(LTE)網路)、路由器、集線器、交換器、伺服器電腦、雲端計算網路和/或其組合。CIM系統101、生產調度器系統103和預測系統116可以被單獨託管,或以任何組合由任何類型的機器一起託管,這些機器包括伺服器電腦、閘道電腦、桌上型電腦、膝上型電腦、平板電腦、筆記型電腦、PDA(個人數位助理)、行動通訊設備、手機、智慧型手機、手持電腦或類似計算設備。在一些實施方式中,預測系統116是在機器上託管的伺服器的一部分。
資料儲存器140、150可以是記憶體(例如隨機存取記憶體)、驅動器(例如硬碟機、快閃碟)、資料庫系統,或能夠儲存資料的另一種類型的部件或設備。資料儲存器140、150可以包括可以跨越多個計算設備(例如多個伺服器電腦)的多個儲存部件(例如多個驅動器或多個資料庫)。
資料儲存器140可以儲存與在製造裝備112處處理基板相關聯的資料。例如,資料儲存器140可以儲存由製造裝備112處的感測器126在基板製程之前、期間或之後收集的資料(稱為製程資料)。製程資料可以指歷史製程資料(例如,為在製造系統處處理的先前基板產生的製程資料)和/或當前製程資料(例如,為在製造系統處處理的當前基板產生的製程資料)。資料儲存器還可以儲存與在製造裝備112處處理的基板的一部分相關聯的光譜資料或非光譜資料。光譜資料可以包括歷史光譜資料和/或當前光譜資料。
資料儲存器140還可以儲存與在製造系統處處理的一個或多個基板相關聯的上下文資料。上下文資料可以包括配方名稱、配方步驟編號、預防性維護指示符、操作員等。上下文資料可以指歷史上下文資料(例如,與為先前基板執行的先前製程相關聯的上下文資料)和/或當前製程資料(例如,與當前製程或要為先前基板執行的未來製程相關聯的上下文資料)。上下文資料可以包括與製程腔室的特定子系統相關聯的識別感測器。
資料儲存器140也可以儲存任務資料。任務資料可以包括在沉積過程期間對基板執行的一個或多個操作集合,並可以包括與每個操作相關聯的一個或多個設定。例如,沉積過程的任務資料可以包括製程腔室的溫度設定、製程腔室的壓力設定、沉積在基板上的薄膜材料的前驅物的流速設定等。在另一個例子中,任務資料可以包括將壓力控制在為流量值界定的壓力點下。任務資料可以指歷史任務資料(例如,與為先前基板執行的先前製程相關聯的任務資料)和/或當前任務資料(例如,與當前製程或要為基板執行的未來製程相關聯的任務資料)。
在一些實施方式中,資料儲存器140可以被配置為儲存製造系統的使用者無法存取的資料。例如,製造系統的使用者(例如,操作員)無法存取為正在製造系統處處理的基板獲得的製程資料、光譜資料、上下文資料等。在一些實施方式中,儲存在資料儲存器140處的所有資料都可以是製造系統的使用者無法存取的。在其他或類似的實施方式中,儲存在資料儲存器140處的資料的一部分可以是使用者無法存取的,而儲存在資料儲存器140處的資料的另一個部分可以是使用者可存取的。在一些實施方式中,儲存在資料儲存器140處的資料的一個或多個部分可以使用使用者未知的加密機制來加密(例如資料是使用私用加密金鑰來加密的)。在其他或類似的實施方式中,資料儲存器140可以包括多個資料儲存器,其中使用者無法存取的資料儲存在一個或多個第一資料儲存器中,而使用者可存取的資料儲存在一個或多個第二資料儲存器中。
資料儲存器150調度規則151、狀態資料153和使用者資料155。調度規則151可以是可以由生產調度器系統103執行的邏輯。在一些實施方式中,調度規則151可以由使用者(例如,工業工程師、製程工程師、系統工程師等)定義。調度規則151的例子可以包括且不限於,選擇最高優先順序的基板進行下一步工作,選擇一個基板,該基板使用的設置與當前配置工具所針對的設置相同,在採購訂單完成時包裝物品,在包裝完成時運輸物品,等等。單獨的調度規則151可以與用於實施對應調度規則151的大量資料處理相關聯。資料處理的例子可以包括且不限於匯入資料、壓縮資料、為資料加索引、過濾資料、對資料執行數學函數等。
狀態資料153可以包括製造裝備112的狀態,例如操作溫度、操作壓力、正在製造裝備處處理的基板數量、在給定時刻的製造裝備佇列中的基板數量、當前服務壽命、設置資料、包括在生產環境的一個或多個製造設施處執行的各個製程的一組操作等。狀態資料153可以在生產環境100的操作期間由製造裝備112產生,並儲存在資料儲存器150處。狀態資料153可以包括當前狀態資料、歷史狀態資料和擾動狀態資料中的一者或多者。當前狀態資料可以包括與製造裝備112的當前狀態(例如當前操作溫度、當前操作壓力、當前正在製造裝備處處理的基板數量等)有關的資料。歷史狀態資料可以包括與製造裝備112的過去狀態(例如在特定時刻的過去操作溫度、在特定時刻的過去操作壓力、在特定時刻在製造裝備處處理的過去基板數量等)有關的資料。擾動狀態資料可以包括經修改的狀態資料。特別是,擾動狀態資料可以包括當前或歷史狀態資料,其一個或多個參數被修改或扭曲。該一個或多個參數可以基於使用者輸入、某個百分比、某個值來修改、隨機修改等。例如,擾動狀態資料的在特定時刻在製造裝備處處理的過去基板數量可以減少或增加兩個基板的預定值。在另一個例子中,擾動狀態資料的在特定時刻在製造裝備處處理的過去基板集合數量可以減少或增加介於例如一與十之間的隨機集合數量。在一些實施方式中,狀態資料153可以包括儲存在資料儲存器140中的資料或由其產生。例如,狀態資料153可以包括感測器資料、上下文資料、任務資料等或由其產生。
在一些實施方式中,狀態資料可以指與模擬環境(例如環境204)的環境狀態有關的資料。環境狀態資料可以包括製造裝備性質(例如步驟處理時間、佇列時間約束等)、製造裝備觀察(例如每個步驟的基板或批的處理數量、每一站的批的處理數量等)、佇列時間觀察(例如成功處理的批數、違規批數、處理中的批數等)、容量觀察(例如對完成所有在製品(work in progress;WIP)的時間的估計)。可以將環境狀態特徵正規化到[0,1]中的值,並串聯成單個觀察向量。
使用者資料155可以包括由生產環境100的使用者(例如操作員、製程工程師、工業工程師、系統工程師等)所提供的資料。在一些實施方式中,使用者資料155可以經由客戶端設備114提供。
使用者設備114可以包括計算設備,如個人電腦(PC)、膝上型電腦、行動電話、智慧型手機、平板電腦、隨身型易網機電腦、網路連接的電視等。在一些實施方式中,使用者設備114可以經由一個或多個圖形使用者介面(GUI)向生產環境100的使用者(例如操作員、工業工程師、製程工程師、系統工程師等)提供資訊。
CIM系統101的例子可以包括且不限於製造執行系統(MES)、企業資源規劃(ERP)、生產規劃和控制(PPC)、電腦輔助系統(例如,設計、工程、製造、處理規劃、品質保證)、電腦數控機具、直接數控機具、控制器等。
在一些實施方式中,預測系統116包括預測伺服器118和伺服器機器180。預測伺服器118和伺服器機器180可以各自包括一個或多個計算設備,例如機架式伺服器、路由器電腦、伺服器電腦、個人電腦、大型電腦、膝上型電腦、平板電腦、桌上型電腦、圖形處理單元(GPU)、加速器特定應用積體電路(ASIC)(例如張量處理單元(TPU))等。
預測系統116可以訓練軟體代理器190(例如智慧型代理器)。軟體代理器是以代理關係為使用者或其他程式行動的電腦程式。在一些實施方式中,軟體代理器190可以使用強化學習、深度強化學習等來訓練。強化學習是一種適用於順序的作出決策的任務的演算法。特別是,強化學習是一種軟體代理器藉由試誤學習作出決策的過程。
在一些實施方式中,訓練軟體代理器可以包括使用深度強化學習。深度強化學習將人工神經網路與強化學習的架構相結合,以幫助軟體代理器學習如何達到它們的目標。特別是,深度強化學習將函數近似和目標最佳化聯合起來,從而將狀態和動作映射到它們導致的報酬。深度強化學習包括從現有的知識學習,並將其應用於新的資料集,而強化學習可以包括用試誤法動態地學習以最大化結果。在一個實施方式中,可以使用近端策略最佳化(Proximal Policy Optimization;PPO)演算法來訓練軟體代理器190。PPO演算法是一種深度RL演算法,使用策略梯度方法以現行策略(on-policy)的方式訓練隨機策略。PPO演算法也利用了演員-評論家方法(actor critic method)。下文在圖2和3中描述了關於使用深度強化學習訓練軟體代理器190的細節。
深度學習是一類機器學習演算法,它使用多層非線性處理單元的級聯進行特徵抽取和變換。每個連續的層使用來自前一層的輸出作為輸入。深度神經網路可以以監督(如分類)和/或無監督(如模式分析)的方式學習。深度神經網路包括層的層次結構,不同的層學習與不同的抽象層次對應的不同的表示層次。在深度學習中,每個層次都會學習將其輸入資料變換成略微更加抽象和綜合的表示。值得注意的是,深度學習過程可以自行學習哪些特徵要最佳地放置在哪個層次。「深度學習」中的「深度」指的是變換資料所通過的層數。更確切地說,深度學習系統有相當大的信用分配路徑(CAP)深度。CAP是從輸入到輸出的變換鏈。CAP描述了輸入與輸出之間潛在的因果關係。對於前饋神經網路,CAP的深度可以是網路的深度,並且可以是隱藏層的數量加1。對於訊號可以通過一個層傳播超過一次的遞歸神經網路來說,CAP深度可能是無限的。
神經網路的訓練可以以監督式學習的方式實現,這涉及藉由網路饋送由有標籤的輸入組成的訓練資料集,觀察其輸出,界定誤差(藉由測量輸出與標籤值之間的差異來界定),並使用諸如深度梯度下降和反向傳播之類的技術來調整網路所有層和節點的權重,使誤差最小化。在許多應用中,對訓練資料集中的許多有標籤的輸入重複這一過程會產生一個網路,當出現與存在於訓練資料集中的輸入不同的輸入時,該網路可以產生正確的輸出。
在一些實施方式中,神經網路的訓練可以使用強化學習來實現。強化學習與監督式學習的不同之處在於,不需要呈現標記的輸入/輸出對,也不需要明確改正次優的動作。強化學習的重點可以是在探索未知領域和利用現有知識之間找到平衡。部分監督的強化演算法可以結合監督式演算法和RL演算法的優點。
伺服器機器180可以包括訓練引擎182。引擎可以指硬體(例如電路系統、專用邏輯、可程式化邏輯、微代碼、處理設備等)、軟體(例如運行於處理設備、通用電腦系統或專用機器上的指令)、韌體、微代碼,或上述項目的組合。訓練引擎182能夠訓練一個或多個軟體代理器190。軟體代理器190可以由訓練引擎182使用訓練資料(在本文也稱為訓練集)產生,該訓練資料包括模擬環境、報酬、動作、狀態(例如觀察)等。
為了實現訓練,處理邏輯可以將訓練資料集輸入到一個或多個模擬環境中。在將第一輸入輸入到模擬環境中之前,可以初始化軟體代理器。處理邏輯基於提供給模擬環境的動作以及從模擬環境獲得的報酬和觀察(基於模擬狀態)訓練軟體代理器。處理邏輯可以暫停模擬,軟體代理器處理獲得的觀察(例如狀態資料)和報酬資料,並選擇新的動作以輸入到模擬中。然後,模擬繼續,這可以重複執行,直到模擬完成。軟體代理器可以在多個模擬上進行訓練。一旦經過訓練,軟體代理器就可以應用於製造裝備的當前狀態資料,並產生表明一個或多個預測或推斷的輸出。例如,輸出預測或推斷可以包括候選的某一組基板是否能在預定的時間量(例如,未來15分鐘)內啟動時間敏感的約束,何時釋放一個或多個基板進行處理,等等。
在一輪或多輪訓練之後,處理邏輯可以決定停止標準是否已被滿足。停止標準可以是準確度的目標位準、來自訓練資料集的經處理的影像的目標數量、參數相對於一個或多個先前資料點的變化的目標量、其組合和/或其他標準。在一個實施方式中,當至少處理了最低數量的資料點,並且至少達到了閾值準確度,就滿足了停止標準。閾值準確度可以是例如70%、80%或90%的準確度。在一個實施方式中,如果機器學習模型的準確度已經停止提高,那麼停止標準被滿足。如果沒有滿足停止標準,那麼就執行進一步的訓練。如果滿足了停止標準,那麼訓練就可能完成了。一旦機器學習模型被訓練,訓練資料集的保留部分就可以用來測試模型。
一旦產生一個或多個經訓練的軟體代理器190,它們就可以作為預測部件119或預測部件119的部件儲存在預測伺服器118中。
正如下面詳細描述的那樣,預測伺服器118包括預測部件119,該預測部件能夠對當前狀態資料運行經訓練的軟體代理器190,並提供預測資料,該預測資料表明何時釋放一個或多個基板進行處理,製造系統處可以依據具有一個或多個時間約束的一組操作成功處理的基板數量,等等。這一點將在下文中進一步詳細解釋。
應注意,在一些其他的實施方式中,伺服器機器180以及預測伺服器118的功能可以由更少數量的機器來提供。例如,在一些實施方式中,伺服器機器180和預測伺服器118可以整合到單一機器中。
一般而言,在一個實施方式中被描述為由伺服器機器180和/或預測伺服器118所執行的功能也可以在客戶端設備114上執行。此外,歸因於特定部件的功能性還可以由一起操作的不同部件或多個部件所執行。
在實施方式中,「使用者」可以被表示為單個個人。然而,本揭示內容的其他實施方式也包含是由複數個使用者和/或自動來源控制的實體的「使用者」。例如,聯合作為一群管理員的一組個人使用者可以被視為「使用者」。
生產調度器系統103可以為生產環境100作出調度決策。調度決策決定在生產環境100中的給定時間應該執行什麼動作。調度通常涉及一些決策,例如是否開始處理一個批次,是否開始處理一個基板少於允許數量的批次,或等待直到有額外的基板可用,使得可以啟動完整的批次,才啟動批次,等等。調度決策的例子可以包括且不限於,下一步應該在生產環境中的哪裡處理基板,應該為生產環境中閒置的一件裝備挑選哪個基板,等等。在一些實施方式中,生產調度器系統103可以使用由預測部件119所產生的預測資料來作出調度決策。在一些實施方式中,生產調度器系統103可以使用儲存在資料儲存器150中的一個或多個調度規則151來作出調度決策。
在一些情況下,製造過程可以包括由生產環境100內的製造裝備112(例如工具或自動化設備)所執行的數百個操作。在許多情況下,一個或多個操作可以經受時間約束。如先前的討論,時間約束指的是在完成一個操作後,要完成後續操作的特定時間量。例如,在第一材料沉積在基板的表面上之後,第二材料要在第一材料的沉積之後的特定時間量內沉積在第一材料上。如果第二塗層沒有在特定的時間量內沉積在第一材料上,那麼第一材料可能開始降解,使基板不可用。時間約束窗口指的是完成第一操作(稱為啟動操作)的時間量和要完成第二操作(稱為完成操作)的特定時間量。在一些實施方式中,在啟動操作與完成操作之間執行的一個或多個操作也與時間約束窗口相關聯。依據先前的例子,時間約束窗口可以指將第一材料沉積在基板表面上的第一時間量和要將第二材料沉積在第一材料上的特定時間量。多個操作可以經受一個或多個時間約束。在一些實施方式中,第一時間約束窗口的完成操作也可以是第二時間約束窗口的啟動操作。
圖2說明了依據本揭示內容的某些實施方式,用於執行強化學習以產生軟體代理器的示例系統200。示例系統200包括軟體代理器202和模擬環境204(例如模擬器)。代理器202採取動作,這些動作影響環境204並改變其狀態(例如環境狀態)。環境狀態是對代理器所處的當前環境的表示。這個狀態可以被代理器202觀察到,並且它包括了關於環境並且代理器202需要知道以作出決策(例如執行動作)的所有相關資訊。在每個動作之後,代理器202過渡到下一個環境狀態,並接收報酬。
代理器202可以使用一個或多個機器學習模型240。機器學習模型240可以是例如深度神經網路(例如卷積神經網路、變換器、圖形神經網路等)或決策樹。機器學習模型240可以代表一個策略(例如解決方案策略)。該策略可以是有希望獲得最高長期報酬的動作對策。
代理器202可以因採取導致成功的環境狀態的控制而得到報酬。報酬可以是立即的,例如在正確的方向上每走一步就得到一分,它們也可以是延遲的,例如在事例(episode)結束時如果達到了目標就得到一分。一個事例可以指一連串的環境狀態、動作和報酬,以終端環境狀態結束。在一個說明性的例子中,每個事例(或實驗)可以包括100個時間步(timestep),每個時間步可以是100分鐘。在每個時間步,代理器202可以採取單一動作。在該動作之後,代理器202接收一個觀察(例如環境狀態資料),該觀察反映環境204在該時間步結束時的狀態。在100個時間步過去時,或者例如在預定的批數(例如10批)完成路線時,以先發生者為準,一個事例就會結束。
在一些實施方式中,示例系統200使用馬可夫決策過程(Markov Decision Process;MDP)形式論,其中代理器202試圖在其環境204中最佳化一個函數。MDP可以由環境狀態空間S(其表示為 )、動作空間A( )、過渡函數 和報酬函數 描述。在MDP中,一個事例隨著不連續的時間步t = 0、1、2、…、n演變,其中代理器202觀察環境狀態s t(206)並使用策略 用動作a t(210)回應。環境204向代理器202提供下一個環境狀態s t+1~ T (s t, a t) 212和報酬r t= R(s t, a t) 214。代理器202的任務是藉由學習最佳策略 來最大化報酬(累積未來報酬)。
在一些實施方式中,可以將佇列時間管理建模為作為一個元組 的不連續時間、有限範圍(finite-horizon)的MDP,其中 是環境狀態集, 是動作集, R 是過渡機率分佈, R是報酬函數, 是初始環境狀態分佈, 是時間範圍(time horizon)。解決方案策略可以是將環境狀態映射到動作的機率分佈 。為了尋找解決方案策略,代理器202可以被訓練為學習一個最大化預期報酬 的策略,其中 表示軌跡,
在訓練期間,代理器202採取動作。環境204應用該動作,並模擬未來的一個時間步。然後,代理器202接收新的環境狀態資料和新的報酬。狀態-動作-報酬的序列被儲存,強化學習演算法定期地使用這個經驗來更新代表該策略的神經網路(例如機器學習模型240)的權重。該策略用於挑選下一個動作。策略更新的目的是使時間範圍內的累積報酬最大化。一旦學習曲線趨於穩定,該策略停止改進,處理邏輯(例如訓練引擎182)就可以儲存該策略,並將其用於測試軟體代理器202在一個或多個環境上的效能。
環境狀態資料(例如與環境204的狀態有關的資料)可以包括製造裝備性質(例如步驟處理時間、佇列時間約束等)、製造裝備觀察(例如每個步驟的基板或批的處理數量、每一站的批的處理數量等)、佇列時間觀察(例如成功處理的批數、違規的批數、處理中的批數等)、容量觀察(例如對完成所有在製品(WIP)的時間的估計)、等待處理各種步驟和/或等待啟動各種時間約束的批或基板的數量,等等。可以將狀態特徵正規化到[0,1]中的值,並串聯成單個觀察向量。
在每個時間步,代理器202可以決定釋放或不釋放一個批。代理器202可以釋放N種零件類型中的一種的批(或等待處理步驟或閘門步驟的批)。因此,代理器202可以選擇0到N之間的一個分立動作。選擇動作0不會釋放任何批,動作 會釋放類型 的批。代理器202還可以選擇涉及釋放多個批的動作,這些批可能是不同的零件類型或步驟。
報酬結構可以被配置為使得它鼓勵代理器202最小化佇列時間違規數,同時最佳化完工時間(makespan)(例如一連串工作或任務的開始與結束之間的時間差)和成功批數。報酬結構還可以被配置為使得它鼓勵代理器202最大化製造裝備的產量。
圖3是依據本揭示內容的態樣,用於訓練軟體代理器的方法300的流程圖。方法300是由處理邏輯所執行的,該處理邏輯可以包括硬體(電路系統、專用邏輯等)、軟體(其例如運行於通用電腦系統或專用機器上)、韌體或上述項目的某種組合。在一個實施方式中,方法300可以由電腦系統(例如圖1的電腦系統架構100)所執行。在其他或類似的實施方式中,方法300的一個或多個操作可以由圖式中未描述的一個或多個其他機器所執行。在一些態樣中,方法300的一個或多個操作可以由伺服器機器180和/或預測伺服器118執行。
為便於解釋,這些方法被描繪和描述成一系列的動作。然而,依據本揭示內容的動作可以以各種順序和/或並行地發生,並且與本文未提出和描述的其他動作一起發生。此外,不執行所有示出的動作也能實施依據所揭露的主題的方法。此外,本領域中的技術人員將瞭解並理解,這些方法可以替代性地經由狀態圖或事件被表示為一系列的相互關聯的狀態。此外,應理解,本說明書中所揭露的方法能夠被儲存在製造品上,以促進將這種方法運輸和轉移到計算設備。本文所使用的術語製造品旨在包含從任何電腦可讀取設備或儲存媒體可存取的電腦程式。
在操作310中,處理邏輯初始化軟體代理器。在一些實施方式中,軟體代理器能夠存取環境狀態資料和或狀態資料(例如與關於半導體基板的製造的操作相關聯的資料,例如歷史狀態資料、當前狀態資料、擾動狀態資料等)。
在操作312中,處理邏輯執行一個或多個模擬。該一個或多個模擬可以在模擬環境(例如環境204)中執行。在一些實施方式中,模擬可以包括模擬一個動作(例如未來的一個時間步)。在一些實施方式中,處理邏輯可以決定操作訓練集要在製造系統處運行的特定時間段。在一些實施方式中,操作訓練集可以是圖5所示的該組操作。依據先前所述的實施方式,特定時間段可以是模擬條件。
在一些實施方式中,響應於軟體代理器選擇動作資料,可以執行模擬。動作資料可以包括軟體代理器可以作出的一組可能的行動、動作或操作。在一些實施方式中,動作可以包括不釋放批,釋放特定的批,為特定的製程腔室釋放批,在某個時間段期間釋放批,等等。在一些實施方式中,動作可以包括決定要在操作訓練集期間處理的基板訓練集。候選基板訓練集和操作訓練集是使用狀態資料、操作員輸入、預定的一組規則(例如預定的一組或多組基板、預定的一組或多組操作等)、隨機輸入或其任何組合來決定的。
在操作314中,處理邏輯暫停模擬以獲得輸出資料。在一些實施方式中,輸出資料可以包括基於當前環境狀態的新的環境狀態資料和報酬資料。
在操作316中,處理邏輯基於輸出資料(例如新的環境狀態資料和新的報酬資料)更新軟體代理器。新的報酬資料可以包括反饋資料,給定狀態下一個動作的成功或失敗是藉由該反饋資料來測量的。
在操作318中,處理邏輯由軟體代理器基於新的狀態資料產生新的動作(例如動作資料)資料。
在操作320中,處理邏輯使用新的動作資料繼續模擬。例如,處理邏輯可以在環境中模擬新的動作。
處理邏輯可以執行操作312到316,直到模擬或一組模擬完成。處理邏輯可以執行操作300,直到對軟體代理器的訓練完成。在一些實施方式中,輸出資料表明在模擬的該組操作中的每個操作期間都被成功處理而到達時間段的結束的候選基板數量。
應注意,在一些實施方式中,訓練的充分性可以單純基於對軟體代理器的訓練資料或更新的量來決定,而在一些其他的實施方式中,訓練的充分性可以基於一個或多個其他的標準(例如訓練例的多樣性的度量等)來決定。
在操作318之後,軟體代理器可以用於基於當前狀態資料產生預測資料(例如調度決策)。在一些實施方式中,預測資料可以包括一個或多個調度決策。例如,機器學習模型可以接收當前狀態資料作為輸入,並輸出調度決策。如上面的討論,調度決策決定在生產環境100中的給定時間應該執行什麼動作。調度可能涉及一些決策,例如是否開始處理一個基板少於允許數量的批次,或等待直到有額外的基板可用,使得可以啟動完整的批次,才啟動批次。調度決策的例子可以包括且不限於,下一步應該在生產環境中的哪裡處理基板,應該為生產環境中閒置的一件裝備挑選哪個基板,等等。
圖4是依據本揭示內容的態樣的示例製造系統400的俯視示意圖。製造系統400可以在基板402上執行一個或多個製程。基板402可以是任何具適合剛性的、固定尺寸的、平面的製品,例如含矽的圓盤或晶圓、圖案化的晶圓、玻璃板或類似物,其適於在其上製造電子設備或電路部件。
製造系統400可以包括製程工具404和與製程工具404耦合的工廠介面406。製程工具404可以包括殼體408,其中具有傳輸腔室410。傳輸腔室410可以包括一個或多個製程腔室(也稱為處理腔室)414、416、418,它們圍繞該傳輸腔室設置並且與之耦合。製程腔室414、416、418可以藉由相應的端口(例如縫閥等等)與傳輸腔室410耦合。傳輸腔室410也可以包括傳輸腔室機器人412,它被配置為在製程腔室414、416、418、裝載閘420等之間傳輸基板402。傳輸腔室機器人412可以包括一個或多個臂,其中每個臂在每個臂的端部處包括一個或多個末端執行器。末端效應器可以被配置為搬運特定的物體,如晶圓、感測器圓盤、感測器工具等。
製程腔室414、416、418可以被調適為在基板402上實現任何數量的製程。可以在每個處理腔室414、416、418中進行相同或不同的基板製程。基板製程可以包括原子層沉積(ALD)、物理氣相沉積(PVD)、化學氣相沉積(CVD)、蝕刻、退火、固化、預清潔、金屬或金屬氧化物移除或類似製程。可以在其中在基板上實現其他的製程。製程腔室414、416、418可以各自包括一個或多個感測器,這些感測器被配置為在基板製程之前、之後或期間捕捉基板402的資料。例如,該一個或多個感測器可以被配置為在基板製程期間捕捉基板402的一部分的光譜資料和/或非光譜資料。在其他或類似的實施方式中,該一個或多個感測器可以被配置為在基板製程之前、之後或期間捕捉與製程腔室414、416、418內的環境相關聯的資料。例如,該一個或多個感測器可以被配置為在基板製程期間捕捉與製程腔室414、416、418內環境的溫度、壓力、氣體濃度等相關聯的資料。
裝載閘420也可以與殼體408和傳輸腔室410耦合。裝載閘420可以被配置為一側與傳輸腔室410介接和耦合,並且與工廠介面406介接和耦合。在一些實施方式中,裝載閘420可以具有環境受控的大氣,它可以從真空環境(其中基板可以被傳輸到傳輸腔室410或從傳輸腔室410傳輸)改變為大氣壓力或接近大氣壓力的惰性氣體環境(其中基板可以被傳輸到工廠介面406和從工廠介面406傳輸)。工廠介面406可以是任何合適的外殼,例如設備前端模組(EFEM)。工廠介面406可以被配置為從在工廠介面406的各種裝載端口424處對接的基板載體422(例如前開式晶圓傳送盒(FOUP))接收基板402。工廠介面機器人426(以虛線示出)可以被配置為在載體(也稱為容器)422與裝載閘420之間傳輸基板402。載體422可以是基板儲存載體或替換零件儲存載體。
製造系統400也可以與客戶端設備(未示出)連接,它被配置為向使用者(例如操作員)提供關於製造系統400的資訊。在一些實施方式中,客戶端設備可以經由一個或多個圖形使用者介面(GUI)向製造系統400的使用者提供資訊。例如,客戶端設備可以經由GUI提供關於在製程腔室414、416、418處執行的沉積過程期間要沉積在基板402的表面上的薄膜的目標厚度曲線的資訊。依據本文所述的實施方式,客戶端設備還可以提供關於根據被預測為與目標曲線對應的相應的一組沉積設定而對製程配方進行的修改的資訊。
製造系統400還可以包括系統控制器428。系統控制器428可以是和/或可以包括諸如個人電腦、伺服器電腦、可程式化邏輯控制器(PLC)、微控制器等計算設備。系統控制器428可以包括一個或多個處理設備,它可以是通用處理設備,如微處理器、中央處理單元或類似物。更詳細而言,處理設備可以是複雜指令集計算(CISC)微處理器、精簡指令集計算(RISC)微處理器、超長指令字(VLIW)微處理器或實施其他指令集的處理器或實施指令集的組合的處理器。處理設備也可以是一個或多個特殊用途處理設備,如特定應用積體電路(ASIC)、現場可程式化邏輯閘陣列(FPGA)、數位訊號處理器(DSP)、網路處理器或類似物。系統控制器428可以包括資料儲存設備(例如一個或多個磁碟機和/或固態硬碟)、主記憶體、靜態記憶體、網路介面和/或其他部件。系統控制器428可以執行指令以執行本文所述的任何一個或多個方法學和/或實施方式。在一些實施方式中,系統控制器428可以執行指令以依據製程配方在製造系統400處執行一個或多個操作。指令可以儲存在電腦可讀取儲存媒體上,該電腦可讀取儲存媒體可以包括主記憶體、靜態記憶體、輔助儲存器和/或處理設備(在指令的執行期間)。
系統控制器428可以從包括在製造系統400的各種部分(例如,處理腔室414、416、418、傳輸腔室410、裝載閘420等)上或內的感測器接收資料。在一些實施方式中,由系統控制器428所接收的資料可以包括基板402的一部分的光譜資料和非光譜資料。在其他或類似的實施方式中,由系統控制器428接收的資料可以包括與在處理腔室414、416、418處處理基板402相關聯的資料,如前所述。出於本描述的目的,系統控制器428被描述為從包括在製程腔室414、416、418內的感測器接收資料。然而,系統控制器428也可以從製造系統400的任何部分接收資料,並且可以依據本文所述的實施方式使用從該部分所接收的資料。在一個說明性的例子中,系統控制器428可以在製程腔室414、416、418處的基板製程之前、之後或期間從製程腔室414、416、418的一個或多個感測器接收資料。從製造系統400的各種部分的感測器收到的資料可以儲存在資料儲存器450中。資料儲存器450可以被包括作為系統控制器428內的部件,或可以是與系統控制器428分開的部件。在一些實施方式中,資料儲存器450可以是就圖1所描述的資料儲存器140、150。
圖5說明了依據本揭示內容的實施方式,經受一個或多個時間約束的一組操作500。操作訓練集中的每個操作510可以與在生產環境的一個或多個製造設施(例如生產環境100的製造裝備112(例如工具或自動化設備))處執行的單獨製程對應。在一些實施方式中,該組操作500中的每個操作可以是連續的操作(例如每個操作510都依據特定的順序執行)。在一些實施方式中,每個操作510可以與在前端製造設施處執行的單獨製程對應,包括但不限於光刻、沉積、蝕刻、清潔、離子注入、化學和機械拋光等。在其他或類似的實施方式中,每個操作可以與在後端製造設施處執行的單獨製程對應,包括但不限於將完成的晶圓切分成單獨的半導體裸晶、測試、組裝、封裝等。
如先前所述,一個或多個操作510可以經受時間約束。例如,操作2可以是用於將第一材料沉積在基板表面上的第一沉積操作,操作3可以是用於將第二材料沉積在第一材料上的第二沉積操作。操作2和3可以經受第一時間約束,其中第二材料要在第一材料被沉積在基板表面上之後,在特定的時間量(例如6小時)內沉積在第一材料上。供製造裝備112執行操作2和3的時間量可以對應於時間約束窗口512。時間約束窗口512可以包括完成啟動操作(即啟動時間約束窗口512的操作510)的第一時間量,以及一個特定時間量,製造裝備112要在該特定時間量內完成完成操作(即完成時間約束窗口512的操作510)。依據先前的例子,操作2要在製造裝備112處對基板啟動,使得操作2和3將在第一時間約束窗口512A內對基板完成。
在一些實施方式中,時間約束窗口512的完成操作可以是另一個時間約束窗口512的啟動操作。例如,操作3可以是第二沉積操作,操作6可以是蝕刻操作。操作3、4、5和6可以經受時間約束,其中第二材料要在第二材料在操作3中被沉積之後,在特定的時間量(例如12小時)內在操作6中被蝕刻。第二時間約束窗口512B可以包括在操作3中沉積第二材料的時間量,以及完成操作6的特定時間量。操作3要在製造裝備112處啟動,使得操作3、4、5和6將在第二時間約束窗口512B內完成。依據先前的例子,操作3可以經受操作2的時間約束。因此,操作2要對基板啟動,使得操作2和3將在第一時間約束窗口512A內對基板完成,並且操作3、4、5和6將在第二時間約束窗口512B內完成。第一時間約束窗口512A和第二時間約束窗口512B一起稱為級聯時間約束窗口。
在一些實施方式中,操作510可以經受超過一個時間約束。例如,操作6、7、8、9和10可以經受第一時間的約束,其中操作10要在操作6完成之後的特定時間量內完成。第三時間約束窗口512C可以包括執行操作6的時間量和完成操作10的特定時間量。操作9和10也可以經受第二時間約束,其中操作10要在操作9完成之後的特定時間量內完成。第四時間約束窗口512D可以包括完成操作9的時間量和完成操作10的特定時間量。因此,操作6要啟動,使得操作6、7、8、9和10將在第三時間約束窗口512D內完成,並且操作9和10將在第四時間約束窗口內完成。第三時間約束窗口512C和第四時間約束窗口512一起稱為嵌套時間約束窗口。
圖6是依據本揭示內容的態樣,用於基於使用軟體代理器產生的調度決策來啟動一組操作的方法600的流程圖。方法600是由處理邏輯所執行的,該處理邏輯可以包括硬體(電路系統、專用邏輯等)、軟體(其例如運行於通用電腦系統或專用機器上)、韌體或上述項目的某種組合。在一個實施方式中,方法600可以由電腦系統(例如圖1的電腦系統架構100)所執行。在其他或類似的實施方式中,方法600的一個或多個操作可以由圖式中未描述的一個或多個其他機器所執行。在一些態樣中,方法600的一個或多個操作可以由伺服器機器180、預測伺服器118、CIM系統101和/或生產調度器系統103執行。
在操作610中,處理邏輯接收啟動要在製造系統處運行的一組操作的請求。在一些實施方式中,製造系統可以是圖1的生產環境100。在一些實施方式中,請求可以是啟動要在特定時刻在製造系統處運行的該組操作的請求。例如,請求可以是在晚上8點啟動該組操作的請求。在一些實施方式中,請求可以是在候選的一組基板上啟動該組操作的請求。在一些實施方式中,請求可以是對與候選的該組基板有關的調度決策的請求。例如,請求可以請求下一個可用的時間,以在不會發生時間約束問題的情況下在候選的該組基板上啟動該組操作。
在操作612中,處理邏輯獲得與製造裝備的當前狀態有關的當前資料。在一些實施方式中,當前資料可以包括當前狀態資料、感測器資料、上下文資料、任務資料等。在一些實施方式中,當前資料可以包括在特定的時刻正在製造裝備處處理的基板數量,製造裝備佇列中的基板數量,當前的服務壽命,設置資料,包括在生產環境的一個或多個製造設施處執行的各個製程的一組操作,等等。在一些實施方式中,當前資料可以與正在被處理的一個或多個基板上執行的一個或多個操作有關。例如,該操作可以包括在製程腔室中執行以在基板的表面上沉積薄膜的一個或多個層的沉積製程,在基板的表面上的薄膜的該一個或多個層上執行的蝕刻製程,等等。該操作可以依據配方來執行。感測器資料可以包括以下一項或多項的值:溫度(例如加熱器溫度)、間隔、壓力、高頻射頻、靜電卡盤的電壓、電流、材料流量、功率、電壓等。感測器資料可以與製造參數相關聯或表明製造參數,例如硬體參數,例如製造裝備112的設定或部件(例如尺寸、類型等),或製造裝備112的製程參數。
在操作614中,處理邏輯將軟體代理器(例如代理器190)應用於獲得的當前資料。軟體代理器可以用於產生包括一個或多個調度決策的預測資料。
在操作616中,處理邏輯在製造系統處啟動一組操作,以在指定的時間段內處理候選的該組基板。
在一些實施方式中,預測資料包括一個或多個調度決策。調度決策決定在生產環境100中的給定時間應該執行什麼動作。在一些實施方式中,調度決策可以包括候選的一組基板和指定的時間段。軟體代理器可以產生預測資料。
圖7是依據某些實施方式,說明電腦系統700的方塊圖。在一些實施方式中,電腦系統700可以與其他的電腦系統連接(例如經由網路連接,例如區域網路(LAN)、內部網路、外部網路或網際網路)。電腦系統700可以以客戶端-伺服器環境中的伺服器或客戶端電腦的身份操作,或作為同級間或分散式網路環境中的同級電腦操作。電腦系統700可以由個人電腦(PC)、平板PC、機上盒(STB)、個人數位助理(PDA)、蜂巢式電話、網頁用具(web appliance)、伺服器、網路路由器、交換機或橋接器,或能夠執行一組指令(依序執行或以其他方式執行)的任何設備所提供,該等指令指定要由該設備所採取的動作。進一步地,術語「電腦」應包括單獨地或聯合地執行一組(或多組)指令以執行本文所述的任何一個或多個方法的電腦的任何集合。
在另一個態樣中,電腦系統700可以包括處理設備702、易失性記憶體704(例如隨機存取記憶體(RAM))、非易失性記憶體706(例如唯讀記憶體(ROM)或可電抹除的可程式化ROM(EEPROM))和資料儲存設備716,上述設備可以經由匯流排708彼此通訊。
處理設備702可以由諸如通用處理器(舉例而言,例如複雜指令集計算(CISC)微處理器、精簡指令集計算(RISC)微處理器、超長指令字(VLIW)微處理器、實施其他類型指令集的微處理器或實施多種類型指令集的組合的微處理器)或特殊處理器(舉例而言,例如特定應用積體電路(ASIC)、現場可程式化邏輯閘陣列(FPGA)、數位訊號處理器(DSP)或網路處理器)之類的一個或多個處理器所提供。
電腦系統700可以進一步包括網路介面設備722(其例如與網路774耦合)。電腦系統700也可以包括視訊顯示單元710(例如LCD)、文數字輸入設備712(例如鍵盤)、游標控制設備714(例如滑鼠)和訊號產生設備720。
在一些實施方式中,資料儲存設備716可以包括非暫時性電腦可讀取儲存媒體724,其上可以儲存指令726,這些指令對本文所述的方法或功能中的任一者或多者進行編碼,包括對圖1的部件(例如預測部件119、時間約束模擬模組107等)進行編碼和用於實施本文所述的方法的指令。
指令726也可以在其被電腦系統700執行的期間完全地或部分地駐留在易失性記憶體704和/或處理設備702內,因此易失性記憶體704和處理設備702也可以構成機器可讀取儲存媒體。
雖然在說明性例子中將電腦可讀取儲存媒體724示為單個媒體,但術語「電腦可讀取儲存媒體」也應包括儲存該一組或多組可執行指令的單個媒體或多個媒體(例如集中式或分散式資料庫和/或相關聯的快取記憶體和伺服器)。術語「電腦可讀取儲存媒體」也應包括能夠對一組指令進行儲存或編碼的任何有形媒體,該組指令用於由電腦執行,導致該電腦執行本文所述的任何一個或多個方法。術語「電腦可讀取儲存媒體」應包括但不限於固態記憶體、光學媒體和磁性媒體。
本文所述的方法、部件和特徵可以由分立的硬體部件所實施,或者可以整合在諸如ASICS、FPGA、DSP或類似設備之類的其他硬體部件的功能性中。此外,方法、部件和特徵還可以由硬體設備內的韌體模組或功能電路系統所實施。進一步地,方法、部件和特徵可以以硬體設備與電腦程式部件的任何組合或以電腦程式來實施。
除非另有具體陳述,否則諸如「接收」、「執行」、「提供」、「獲得」、「引起」、「存取」、「決定」、「添加」、「使用」、「訓練」等之類的術語指的是由電腦系統執行或實施的動作和過程,該等動作和過程將在電腦系統暫存器和記憶體內表示為物理(電子)量的資料操控並變換成在電腦系統記憶體或暫存器或者其他這樣的資訊儲存、傳輸或顯示設備內類似地表示為物理量的其他資料。並且,本文所使用的術語「第一」、「第二」、「第三」、「第四」等是作為區分不同元素的標籤,並且可以不具有依據它們數字標記的順序意義。
本文所述的例子還涉及一種用於執行本文所述的方法的裝置。這個裝置可以被專門建構為用於執行本文所述的方法,或它可以包括選擇性地由儲存在電腦系統中的電腦程式來程式化的通用電腦系統。可以將這種電腦程式儲存在電腦可讀取有形儲存媒體中。
本文所述的方法和說明性例子與任何特定的電腦或其他的裝置沒有固有的關聯性。可以依據本文所述的教示來使用各種通用系統,或者可以證明建構更專門的裝置來執行本文所述的方法和/或該等方法的單獨功能、常式、子常式或操作中的每一者是合宜的。上面的描述中闡述了用於各種這些系統的結構的例子。
以上描述旨在是說明性的,而非限制性的。雖然已經參考具體的說明性例子和實施方式來描述本揭示內容,但將認識到,本揭示內容不限於所述的例子和實施方式。將參考以下請求項以及這些請求項所賦予的等效物的全部範圍來決定本揭示內容的範圍。
100:生產環境 101:電腦整合製造(CIM)系統 103:生產調度器系統 112:製造裝備 114:客戶端設備 116:預測系統 118:預測伺服器 119:預測部件 126:感測器 130:網路 140:資料儲存器 150:資料儲存器 151:調度規則 153:狀態資料 155:使用者資料 180:伺服器機器 182:訓練引擎 190:軟體代理器 202:代理器 204:環境 206:環境狀態 208:報酬 210:動作 212:狀態 214:報酬 240:機器學習模型 300:方法 310:操作 312:操作 314:操作 316:操作 318:操作 320:操作 400:製造系統 402:基板 404:製程工具 406:工廠介面 408:殼體 410:傳輸腔室 412:傳輸腔室機器人 414:製程腔室 416:製程腔室 418:製程腔室 420:裝載閘 422:載體 424:裝載端口 426:工廠介面機器人 428:系統控制器 450:資料儲存器 500:一組操作 510:操作 600:方法 610:操作 612:操作 614:操作 616:操作 700:電腦系統 702:處理設備 704:記憶體 706:記憶體 708:匯流排 710:視訊顯示單元 712:文數字輸入設備 714:游標控制設備 718:資料儲存設備 720:訊號產生設備 722:網路介面設備 724:電腦可讀取儲存媒體 726:指令 774:網路 512A:時間約束窗口 512B:時間約束窗口 512C:時間約束窗口 512D:時間約束窗口
藉由示例的方式而非限制的方式在附圖的圖式中示出本揭示內容。
圖1是一個方塊圖,說明依據某些實施方式的示例性系統架構。
圖2說明了依據某些實施方式,用於執行強化學習以產生軟體代理器的示例系統。
圖3是依據某些實施方式,用於訓練軟體代理器的方法的流程圖。
圖4是依據某些實施方式,示例製造系統的俯視示意圖。
圖5說明了依據本揭示內容的實施方式,經受一個或多個時間約束的一組操作。
圖6是依據某些實施方式,顯示基於使用機器學習模型產生的調度決策來啟動一組操作的方法的流程圖。
圖7是依據某些實施方式,說明電腦系統的方塊圖。
國內寄存資訊 (請依寄存機構、日期、號碼順序註記) 無
國外寄存資訊 (請依寄存國家、機構、日期、號碼順序註記) 無
100:生產環境
101:電腦整合製造(CIM)系統
103:生產調度器系統
112:製造裝備
114:客戶端設備
116:預測系統
118:預測伺服器
119:預測部件
126:感測器
130:網路
140:資料儲存器
150:資料儲存器
151:調度規則
153:狀態資料
155:使用者資料
180:伺服器機器
182:訓練引擎
190:軟體代理器

Claims (20)

  1. 一種方法,包括以下步驟: 由一處理器,初始化一基板製造系統的一預測子系統的一代理器,以選擇一動作在與該基板製造系統相關聯的一模擬環境中執行; 在該模擬環境中啟動對所選的該動作的一模擬; 響應於暫停該模擬,基於與該模擬相關聯的一環境狀態,獲得輸出資料;以及 基於該輸出資料,將該代理器更新為配置為產生一個或多個調度決策,該一個或多個調度決策表明在該基板製造系統中啟動對一個或多個基板的處理的一時間。
  2. 如請求項1所述的方法,進一步包括以下步驟: 接收啟動要在該基板製造系統處在候選的一組基板上運行的一組操作的一請求,其中該組操作包括一個或多個操作,每個操作具有一個或多個時間約束; 獲得與該基板製造系統的一當前狀態有關的當前資料; 提供該當前資料作為對該代理器的輸入,以獲得一個或多個輸出,該一個或多個輸出表明處理候選的該組基板的一時間;以及 在所決定的該時間在候選的該組基板上啟動該組操作。
  3. 如請求項1所述的方法,進一步包括以下步驟: 接收啟動要在該基板製造系統處在候選的一組基板上運行的一組操作的一請求,其中該組操作包括一個或多個操作,每個操作具有一個或多個時間約束; 獲得與該基板製造系統的一當前狀態有關的當前資料; 提供該當前資料作為對該代理器的輸入,以獲得一個或多個輸出,該一個或多個輸出表明要從候選的一組基板中處理的一基板子集;以及 在該基板子集上啟動該組操作。
  4. 如請求項1所述的方法,其中該代理器包括一深度強化學習模型。
  5. 如請求項1所述的方法,進一步包括以下步驟: 基於該輸出資料選擇一新動作;以及 在該模擬環境中啟動對該新動作的該模擬。
  6. 如請求項1所述的方法,其中該輸出資料包括環境狀態資料和報酬資料,其中該環境狀態資料包括製造裝備性質、製造裝備觀察、佇列時間觀察或容量觀察中的至少一者。
  7. 如請求項1所述的方法,其中該動作包括對以下至少一項的一決策:啟動對一個或多個基板的處理,不啟動對該一個或多個基板的處理,或啟動對該一個或多個基板的一子集的處理。
  8. 一種電子設備製造系統,包括: 一記憶體設備;以及 一處理設備,可操作地與該記憶體設備耦合,以執行包括以下步驟的操作: 初始化該製造系統的一預測子系統的一代理器,以選擇一動作在與該製造系統相關聯的一模擬環境中執行; 在該模擬環境中啟動對所選的該動作的一模擬; 響應於暫停該模擬,基於與該模擬相關聯的一環境狀態,獲得輸出資料;以及 基於該輸出資料,將該代理器更新為配置為產生一個或多個調度決策,該一個或多個調度決策表明在該製造系統中啟動對一個或多個基板的處理的一時間。
  9. 如請求項8所述的電子設備製造系統,其中該等操作進一步包括以下步驟: 接收啟動要在該製造系統處在候選的一組基板上運行的一組操作的一請求,其中該組操作包括一個或多個操作,每個操作具有一個或多個時間約束; 獲得與該製造系統的一當前狀態有關的當前資料; 提供該當前資料作為對該代理器的輸入,以獲得一個或多個輸出,該一個或多個輸出表明處理候選的該組基板的一時間;以及 在所決定的該時間在候選的該組基板上啟動該組操作。
  10. 如請求項8所述的電子設備製造系統,其中該等操作進一步包括以下步驟: 接收啟動要在該製造系統處在候選的一組基板上運行的一組操作的一請求,其中該組操作包括一個或多個操作,每個操作具有一個或多個時間約束; 獲得與該製造系統的一當前狀態有關的當前資料; 提供該當前資料作為對該代理器的輸入,以獲得一個或多個輸出,該一個或多個輸出表明要從候選的一組基板中處理的一基板子集;以及 在該基板子集上啟動該組操作。
  11. 如請求項8所述的電子設備製造系統,其中該代理器包括一深度強化學習模型。
  12. 如請求項8所述的電子設備製造系統,其中該等操作進一步包括以下步驟: 基於該輸出資料選擇一新動作;以及 在該模擬環境中啟動對該新動作的該模擬。
  13. 如請求項8所述的電子設備製造系統,其中該輸出資料包括環境狀態資料和報酬資料,其中該環境狀態資料包括製造裝備性質、製造裝備觀察、佇列時間觀察或容量觀察中的至少一者。
  14. 如請求項8所述的電子設備製造系統,其中該動作包括對以下至少一項的一決策:啟動對一個或多個基板的處理,不啟動對該一個或多個基板的處理,或啟動對該一個或多個基板的一子集的處理。
  15. 一種方法,包括以下步驟: 接收啟動要在一基板製造系統處在候選的一組基板上運行的一組操作的一請求,其中該組操作包括一個或多個操作,每個操作具有一個或多個時間約束; 獲得與該基板製造系統的一當前狀態有關的當前資料; 提供該當前資料作為對該代理器的輸入,以獲得一個或多個輸出,該一個或多個輸出表明處理候選的該組基板的一時間;以及 在所決定的該時間在候選的該組基板中的至少一者上啟動該組操作,或在該基板子集上啟動該組操作。
  16. 如請求項15所述的方法,其中訓練該代理器的步驟包括以下步驟: 初始化該代理器,以選擇一動作在與該基板製造系統相關聯的一模擬環境中執行; 在該模擬環境中啟動對所選的該動作的一模擬; 響應於暫停該模擬,基於與該模擬相關聯的一環境狀態,獲得輸出資料;以及 基於該輸出資料,將該代理器更新為配置為產生一個或多個調度決策,該一個或多個調度決策表明在該基板製造系統中啟動對一個或多個基板的處理的一時間。
  17. 如請求項15所述的方法,其中該代理器包括一深度強化學習模型。
  18. 如請求項15所述的方法,其中該輸出資料包括環境狀態資料和報酬資料。
  19. 如請求項18所述的方法,其中該環境狀態資料包括製造裝備性質、製造裝備觀察、佇列時間觀察或容量觀察中的至少一者。
  20. 如請求項15所述的方法,其中該動作包括對以下至少一項的一決策:啟動對一個或多個基板的處理,不啟動對該一個或多個基板的處理,或啟動對該一個或多個基板的一子集的處理。
TW112112837A 2022-04-05 2023-04-06 將深度強化學習用於製造系統處的時間約束管理 TW202405595A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202263327763P 2022-04-05 2022-04-05
US63/327,763 2022-04-05
US18/130,491 2023-04-04
US18/130,491 US20230315953A1 (en) 2022-04-05 2023-04-04 Using deep reinforcement learning for time constraint management at a manufacturing system

Publications (1)

Publication Number Publication Date
TW202405595A true TW202405595A (zh) 2024-02-01

Family

ID=88194431

Family Applications (1)

Application Number Title Priority Date Filing Date
TW112112837A TW202405595A (zh) 2022-04-05 2023-04-06 將深度強化學習用於製造系統處的時間約束管理

Country Status (3)

Country Link
US (1) US20230315953A1 (zh)
TW (1) TW202405595A (zh)
WO (1) WO2023196433A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8050900B2 (en) * 2003-09-30 2011-11-01 Tokyo Electron Limited System and method for using first-principles simulation to provide virtual sensors that facilitate a semiconductor manufacturing process
KR102542723B1 (ko) * 2016-10-27 2023-06-12 삼성전자주식회사 Ser 예측을 위한 시뮬레이션 방법 및 시스템
CN111886606A (zh) * 2018-02-23 2020-11-03 Asml荷兰有限公司 用于图案的语义分段的深度学习
US20210278825A1 (en) * 2018-08-23 2021-09-09 Siemens Aktiengesellschaft Real-Time Production Scheduling with Deep Reinforcement Learning and Monte Carlo Tree Research
WO2020106725A1 (en) * 2018-11-20 2020-05-28 Relativity Space, Inc. Real-time adaptive control of manufacturing processes using machine learning

Also Published As

Publication number Publication date
WO2023196433A1 (en) 2023-10-12
US20230315953A1 (en) 2023-10-05

Similar Documents

Publication Publication Date Title
Chien et al. A conceptual framework for “Industry 3.5” to empower intelligent manufacturing and case studies
US7257459B1 (en) Method and apparatus for scheduling pilot lots
Lee et al. Deep reinforcement learning based scheduling within production plan in semiconductor fabrication
Su et al. A processing quality prognostics scheme for plasma sputtering in TFT-LCD manufacturing
US20240055284A1 (en) Predictive wafer scheduling for multi-chamber semiconductor equipment
TW202333013A (zh) 製造系統處的時間約束管理
TW202405595A (zh) 將深度強化學習用於製造系統處的時間約束管理
TW202340884A (zh) 預防保養後的腔室條件監控及模擬
WO2023049202A1 (en) Machine learning platform for substrate processing
Hung et al. Sensitivity search for the rescheduling of semiconductor photolithography operations
Zhao et al. An end-to-end deep reinforcement learning approach for job shop scheduling
CN115997225A (zh) 调度基板路由与处理
US20220026891A1 (en) Time constraint management at a manufacturing system
US20230384777A1 (en) Methods and mechanisms for preventing fluctuation in machine-learning model performance
US11437254B2 (en) Sequencer time leaping execution
US20230342016A1 (en) Methods and mechanisms for generating virtual knobs for model performance tuning
TW202334767A (zh) 用於製程配方最佳化的方法及機制
US20230260767A1 (en) Process control knob estimation
Kankalale Smart Scheduler Design for Wafer Processing Systems
TW202340885A (zh) 用於在評估系統與製造系統之間進行介接的通訊節點
WO2024010736A1 (en) Sustainability monitoring platform with sensor support
Chen et al. Robust Production Capacity Planning of a Wafer Fabrication System with Uncertain Wafer Lots Transfer Probabilities
McAlister et al. GA-based minimization of scheduling problem in photolithographic track systems