TW202333013A - 製造系統處的時間約束管理 - Google Patents

製造系統處的時間約束管理 Download PDF

Info

Publication number
TW202333013A
TW202333013A TW111137921A TW111137921A TW202333013A TW 202333013 A TW202333013 A TW 202333013A TW 111137921 A TW111137921 A TW 111137921A TW 111137921 A TW111137921 A TW 111137921A TW 202333013 A TW202333013 A TW 202333013A
Authority
TW
Taiwan
Prior art keywords
operations
data
time
machine learning
simulation
Prior art date
Application number
TW111137921A
Other languages
English (en)
Inventor
大衛E 諾曼
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 TW202333013A publication Critical patent/TW202333013A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31372Mes manufacturing execution system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32252Scheduling production, machining, job shop
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45031Manufacturing semiconductor wafers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Automation & Control Theory (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Robotics (AREA)
  • General Factory Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

提供了一種用於製造系統處的時間約束管理的方法。該方法包括以下步驟:接收啟動要在製造系統處運行的操作集合的請求,其中該操作集合包括一個或多個操作,每個操作具有一個或多個時間約束。該方法進一步包括以下步驟:獲得與該製造系統的當前狀態有關的當前資料。該方法進一步包括以下步驟:將機器學習模型應用於該當前資料,以決定要在該操作集合期間處理的候選基板集合。該方法進一步包括以下步驟:基於該機器學習模型的輸出,在該候選基板集合上啟動該操作集合。

Description

製造系統處的時間約束管理
本揭示內容與電氣部件有關,特別是與用於製造系統處的時間約束(time constraint)管理的方法和機構有關。
在基板成為成品(如晶圓、電子設備等)之前,基板可以依據操作集合進行處理,其中每個操作都在製造系統的一個工具處執行。在某些情況下,一個或多個操作可以經受時間約束。時間約束指的是在完成一個操作後,要完成後續操作的特定時間量。例如,可以依據第一操作和第二操作來處理基板,在第一操作中,將第一材料沉積在基板的表面上,在第二操作中,將第二材料沉積在第一材料上。第一操作和第二操作可以經受時間約束,其中第二材料要在特定的時間量內沉積在第一材料上,否則第一材料可能開始降解,基板不能用於生產成品(即變得不可用)。時間約束窗口指的是完成引起時間約束的操作(稱為啟動操作)的特定時間量,以及啟動操作完成後要完成後續操作(稱為完成操作)的時間量。在一些情況下,可以在啟動操作與完成操作之間執行一個或多個操作。
在大多數情況下,當基板到達工具時,不能對基板開始操作,因為工具可能正在處理其他基板。因此,製造系統的操作員(例如,工業工程師、製程工程師、系統工程師等)將操作排定在特定時間運行,以滿足與操作相關聯的時間約束。例如,操作員可以推遲對基板進行的操作,直到每個被設定為執行與時間約束相關聯的操作的工具有容量(capacity)在時間約束窗口內執行操作。
在某些情況下,第一時間約束窗口的完成操作也可以是第二時間約束窗口的啟動操作。在這種情況下,製造系統的操作員可以排定第一時間約束窗口的啟動操作在特定的時間開始,以滿足第一時間約束窗口的第一時間約束和第二時間約束窗口的第二時間約束。在其他情況下,一個操作可以是第一時間約束窗口和第二時間約束窗口兩者的完成操作。在這種情況下,操作員可以排定第一時間約束窗口和第二時間約束窗口的啟動操作在特定的時間開始,以滿足第一時間約束窗口的第一時間約束和第二時間約束窗口的第二時間約束。
隨著製造系統變得越來越複雜,經受時間約束的操作也越來越多。為了排定基板在啟動操作開始,操作員(例如使用計算系統)要考慮所有可能由啟動操作引起的時間約束。為了考慮到所有可能由啟動操作引起的時間約束,操作員要考慮到可以執行啟動操作、完成操作以及兩者之間的每個操作的每個工具的容量。在某些情況下,包括啟動操作的時間約束窗口可以對應於相當長的時間(例如,6小時、8小時、12小時、24小時等)。操作員可能難以考慮到未來相當長一段時間內的每個時間約束和製造系統的每個工具的容量。對於一些計算系統來說,這種考慮可以被歸類為NP-hard(非決定性多項式時間困難(non-deterministic polynomial-time hard))問題。因此,操作員可能無法成功地排定基板在操作集合的每個啟動操作開始使得每個時間約束都得到滿足。因此,基板可能違反操作集合的時間約束,變得不可用。每一個變得不可用的基板都可能會降低整體系統產量,並導致整體系統延遲的增加。
以下是本揭示內容的簡化概要,以提供對本揭示內容的一些態樣的基本理解。這個概要並不是對本揭示內容的廣泛概述。它並不旨在識別本揭示內容的關鍵或重要元素,也不旨在劃定本揭示內容的特定實施方式的任何範圍或請求項的任何範圍。它的唯一目的是以簡化的形式呈現本揭示內容的一些概念以作為後面呈現的更詳細描述的前奏。
在本揭示內容的態樣中,提供了一種用於製造系統處的時間約束管理的方法。該方法包括以下步驟:接收啟動要在製造系統處運行的操作集合的請求,其中該操作集合包括一個或多個操作,每個操作具有一個或多個時間約束。該方法進一步包括以下步驟:獲得與該製造系統的當前狀態有關的當前資料。該方法進一步包括以下步驟:將機器學習模型應用於該當前資料,以決定要在該操作集合期間處理的候選基板集合。該方法進一步包括以下步驟:基於該機器學習模型的輸出,在該候選基板集合上啟動該操作集合。
在本揭示內容的另一個態樣中,提供了一種系統,該系統包括記憶體和可操作地與該記憶體耦合的處理設備。該處理設備執行包括以下步驟的指令:接收啟動要在製造系統處運行的操作集合的請求,其中該操作集合包括一個或多個操作,每個操作具有一個或多個時間約束。該處理設備執行包括以下步驟的進一步指令:獲得與該製造系統的當前狀態有關的當前資料。該處理設備執行包括以下步驟的進一步指令:將機器學習模型應用於該當前資料,以決定要在該操作集合期間處理的候選基板集合。該處理設備執行包括以下步驟的進一步指令:基於該機器學習模型的輸出,在該候選基板集合上啟動該操作集合。
在本揭示內容的另一個態樣中,提供了一種用於訓練機器學習模型的方法。該方法包括以下步驟:獲得與跟基板的製造有關的操作相關聯的狀態資料。該方法進一步包括以下步驟:決定要在訓練操作集合期間處理的訓練基板集合。該方法進一步包括以下步驟:在一時間段內為該訓練基板集合運行該訓練操作集合的與該狀態資料相關聯的模擬。該方法進一步包括以下步驟:基於該模擬的輸出,訓練機器學習模型。
本文描述的是涉及製造系統處的時間約束管理的技術。在一些製程中,可以在製造系統的各種階段執行一系列操作。例如,可以執行一系列操作,以將塗層(或多個塗層)沉積在基板的表面,並將三維圖案蝕刻到塗層中。在某些情況下,一系列操作中的一者或多者可以經受時間約束。時間約束可以指一種限制或協定,其中在製造系統處執行一個操作後,後續的操作要在特定的時間量內完成。例如,製造系統可以經受時間約束,其中蝕刻製程要在塗層沉積在基板的表面上之後的特定小時數(例如12小時)內對基板執行蝕刻。如果時間約束沒有得到滿足(例如,如果蝕刻製程沒有在特定的小時數內執行),基板就會變得有缺陷和不可用。
本揭示內容的實施例涉及管理製造系統處的時間約束。處理設備(例如執行時間約束窗口管理器(例如圖1的時間約束窗口管理器110)的處理設備)可以接收啟動要在製造系統處運行的操作的請求,其中一個或多個操作經受時間約束。處理設備可以根據時間約束,決定可以在特定時間段內在製造系統處成功處理的基板數量。例如,處理設備可以識別製造系統處要在操作集合期間處理的候選基板集合。在一些實施例中,處理設備可以基於要在製造系統處處理的基板佇列,決定候選基板集合。
為了識別候選基板集合,處理設備可以獲得與製造設備的當前狀態有關的資料。這些資料可以包括當前狀態資料、感測器資料、上下文資料、任務資料等。例如,當前資料可以與以下項目有關:正在被處理的一個或多個基板上執行的一個或多個操作,在特定的時刻正在製造設備處處理的基板數量,製造設備佇列中的基板數量,當前的服務壽命,設置資料,包括在生產環境的一個或多個製造設施處執行的各個製程的操作集合,感測器資料,等等。然後,處理設備可以將機器學習模型(例如使用強化學習來訓練的模型)應用於與製造設備的當前狀態有關的資料。機器學習模型可以使用與跟半導體基板的製造有關的操作相關聯的狀態資料來訓練。在一些實施例中,狀態資料與跟半導體基板的製造有關的操作相關聯,包括當前狀態資料、歷史狀態資料或擾動狀態資料。當前狀態資料可以包括與製造設備的當前狀態有關的資料。歷史狀態資料可以包括與製造設備的過去狀態有關的資料。擾動狀態資料可以包括經修改的狀態資料(例如當前或歷史狀態資料的一個或多個參數被修改或歪曲)。
機器學習模型可以用於產生預測資料。在一些實施例中,預測資料可以包括一個或多個調度決策。調度決策可以決定在生產環境中的給定時間應該執行什麼動作。在一些實施例中,調度決策可以表明在哪個時間處理候選基板集合。在其他的實施例中,調度可以涉及一些決策,例如是否開始處理一個基板少於允許數量的批次,或等待直到有額外的基板可用,使得可以啟動完整的批次,才啟動批次。調度決策的例子可以包括且不限於,下一步應該在生產環境中的哪裡處理基板,應該為生產環境中一件閒置的設備挑選哪個基板,等等。基於預測資料,處理設備可以在特定的時間在候選基板集合上啟動操作集合。
在一些實施例中,處理設備可以對預測資料運行模擬。模擬可以對調度決策執行,並且基於以下項目來執行:製造系統的調度規則(例如用於決定應該在給定的時間在製造系統處執行哪個動作的規則),與製造系統相關聯的狀態資料,和/或由製造系統的使用者(例如操作、工業工程師、製程工程師、系統工程師等)所提供的使用者資料。模擬可以產生一個輸出,表明在模擬的操作集合中的每個操作期間都被成功處理而到達模擬時間段的結束的候選基板數量。模擬可以用於驗證,預測資料不會導致時間約束誤差。處理設備可以在製造系統處啟動操作集合,基於預測資料和/或模擬輸出來在該時間段內處理該數量的候選基板。
本揭示內容的態樣和實施方式藉由提供用於預測將依據具有一個或多個時間約束的操作集合被成功處理的基板數量的技術,解決了現有技術的缺點。處理設備可以將經訓練的機器學習模型應用於操作集合,以決定用於在當前或未來時間段期間處理的候選基板集合。藉由應用經訓練的機器學習模型,處理設備可以獲得一個調度決策,表明在該時間段內可能依據該操作集合而被成功處理的基板數量。藉由獲得在該時間段內可能被成功處理的基板數量,處理設備可以排定適當數量的基板在該時間段內在該操作集合中啟動,使得很少基板或沒有基板違反該操作集合的時間約束。因此,違反該操作集合的時間約束的基板數量很少或幾乎為零,導致製造系統處處理的大量基板不含缺陷或缺陷很少。因此,整體系統產量增加,整體系統延遲減少,因為有更多在製造系統處處理的基板變成可用的最終產品。
圖1是一張方塊圖,說明了依據本揭示內容的態樣的生產環境100。生產環境100可以包括多個系統,例如且不限於生產調度器系統103、模擬系統105、時間約束窗口管理器110、製造設備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、模擬系統105、時間約束模擬模組107、時間約束窗口管理器110、製造設備112、客戶端設備114、預測系統116和資料儲存器140、150、160可以經由網路120相互耦合。網路120可以包括一個或多個廣域網路(WAN)、區域網路(LAN)、有線網路(例如乙太網路)、無線網路(例如802.11網路或Wi-Fi網路)、蜂巢式網路(例如長期演進(LTE)網路)、路由器、集線器、交換器、伺服器電腦、雲端計算網路和/或上述項目的組合。CIM系統101、生產調度器系統103、模擬系統105、時間約束模擬模組107、時間約束窗口管理器110和預測系統116可以被單獨託管,或以任何組合由任何類型的機器一起託管,這些機器包括伺服器電腦、閘道電腦、桌上型電腦、膝上型電腦、平板電腦、筆記型電腦、PDA(個人數位助理)、行動通訊設備、手機、智慧型手機、手持電腦或類似計算設備。在一些實施例中,模擬模組107是在機器上託管的伺服器的一部分。在一些實施例中,預測系統116是在機器上託管的伺服器的一部分。
資料儲存器140、150和160可以是記憶體(例如隨機存取記憶體)、驅動器(例如硬碟機、快閃碟)、資料庫系統,或能夠儲存資料的另一種類型的部件或設備。資料儲存器140、150和160可以包括可以跨越多個計算設備(例如多個伺服器電腦)的多個儲存部件(例如多個驅動器或多個資料庫)。
資料儲存器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可以包括感測器資料、上下文資料、任務資料等或由其產生。
使用者資料155可以包括由生產環境100的使用者(例如操作員、製程工程師、工業工程師、系統工程師等)所提供的資料。在一些實施例中,使用者資料155可以經由客戶端設備114提供。
使用者設備114可以包括計算設備,如個人電腦(PC)、膝上型電腦、行動電話、智慧型手機、平板電腦、隨身型易網機電腦、網路連接的電視等。在一些實施例中,使用者設備114可以經由一個或多個圖形使用者介面(GUI)向生產環境100的使用者(例如操作員、工業工程師、製程工程師、系統工程師等)提供資訊。
CIM系統101的例子可以包括且不限於製造執行系統(MES)、企業資源規劃(ERP)、生產規劃和控制(PPC)、電腦輔助系統(例如,設計、工程、製造、處理規劃、品質保證)、電腦數控機具、直接數控機具、控制器等。
在一些實施例中,預測系統114包括預測伺服器112、伺服器機器170和伺服器機器180。預測伺服器118、伺服器機器170和伺服器機器180可以各自包括一個或多個計算設備,例如機架式伺服器、路由器電腦、伺服器電腦、個人電腦、大型電腦、膝上型電腦、平板電腦、桌上型電腦、圖形處理單元(GPU)、加速器特定應用積體電路(ASIC)(例如張量處理單元(TPU))等。
伺服器機器170包括訓練集產生器172,它能夠產生訓練資料集(例如資料輸入集合和目標輸出集合)以訓練、驗證和/或測試機器學習模型190。機器學習模型190可以是任何能夠根據資料進行學習的演算法模型。下面就圖2詳細描述了訓練集產生器172的一些操作。在一些實施例中,資料集產生器172可以將訓練資料劃分成訓練集、驗證集和測試集。在一些實施例中,預測系統116產生多個訓練資料集合。
伺服器機器180可以包括訓練引擎182、驗證引擎184、選擇引擎185及/或測試引擎186。引擎可以指硬體(例如電路系統、專用邏輯、可程式化邏輯、微代碼、處理設備等)、軟體(例如運行於處理設備、通用電腦系統或專用機器上的指令)、韌體、微代碼,或上述項目的組合。訓練引擎182可以能夠訓練一個或多個機器學習模型190。機器學習模型190可以指由訓練引擎182使用訓練資料(在本文也稱為訓練集)所產生的模型工件,該訓練資料包括資料輸入和對應的目標輸出(相應的訓練輸入的正確答案)。訓練引擎182可以尋找訓練資料中的將訓練輸入映射到目標輸出(要預測的答案)的模式,並且提供捕捉這些模式的機器學習模型190。機器學習模型190可以使用統計建模、支援向量機(SVM)、放射狀基底函數(RBF)、聚類、強化學習、監督式機器學習、半監督式機器學習、非監督式機器學習、k最近鄰域演算法(k-NN)、線性迴歸、隨機森林、神經網路(例如人工神經網路)等中的一者或多者。
可以用於執行上述任務中的一些或全部的一種機器學習模型是人工神經網路,如深度神經網路。人工神經網路通常包括具有將特徵映射到期望的輸出空間的分類器或迴歸層的特徵表示部件。例如,卷積神經網路(CNN)包含多層卷積過濾器。在較低層處,池化被執行,並且非線性問題可以被解決,在這些較低層上通常附加有多層感知器,將由卷積層所抽取的頂層特徵映射到決策(例如分類輸出)。深度學習是一類機器學習演算法,它使用多層非線性處理單元的級聯進行特徵抽取和變換。每個連續的層使用來自前一層的輸出作為輸入。深度神經網路可以以監督(如分類)和/或無監督(如模式分析)的方式學習。深度神經網路包括層的分層結構,不同的層學習與不同的抽象層次對應的不同的表示層次。在深度學習中,每個層次都會學習將其輸入資料變換成略微更加抽象和綜合的表示。例如,在電漿製程調整中,原始輸入可以是製程結果分佈(例如,指示整個基板表面上的一個或多個厚度值的厚度分佈);第二層可以組成與電漿製程系統的控制元件的一個或多個區的狀態相關聯的特徵資料(例如,區的定向、電漿暴露持續時間等);第三層可以包括起始配方(例如,用作用於決定更新的製程配方的起點的配方,該更新的製程配方用於處理基板以產生滿足閥值準則的製程結果)。值得注意的是,深度學習過程可以自行學習哪些特徵要最佳地放置在哪個層次。「深度學習」中的「深度」指的是變換資料所通過的層數。更確切地說,深度學習系統有相當大的信用分配路徑(CAP)深度。CAP是從輸入到輸出的變換鏈。CAP描述了輸入與輸出之間潛在的因果關係。對於前饋神經網路,CAP的深度可以是網路的深度,並且可以是隱藏層的數量加1。對於訊號可以通過一個層傳播超過一次的遞歸神經網路來說,CAP深度可能是無限的。
在一個實施例中,一個或多個機器學習模型是遞歸神經網路(RNN)。RNN是一種神經網路,它包括記憶體,使神經網路能夠捕捉到時間上的相依性。RNN能夠學習取決於當前輸入和過去輸入兩者的輸入-輸出映射。RNN將處理過去和未來的流速測量,並基於這種連續的計量資訊作出預測。RNN可以使用訓練資料集進行訓練,以產生固定數量的輸出(例如,決定一組基板處理率,決定對基板製程配方的修改)。可以使用的一種RNN是長短期記憶(LSTM)神經網路。
神經網路的訓練可以以監督式學習的方式實現,這涉及藉由網路饋送由有標籤的輸入組成的訓練資料集,觀察其輸出,界定誤差(藉由測量輸出與標籤值之間的差異來界定),並使用諸如深度梯度下降和反向傳播之類的技術來調整網路所有層和節點的權重,使誤差最小化。在許多應用中,對訓練資料集中的許多有標籤的輸入重複這一過程會產生一個網路,當出現與存在於訓練資料集中的輸入不同的輸入時,該網路可以產生正確的輸出。在一些實施例中,神經網路的訓練可以使用強化學習來實現。強化學習與監督式學習的不同之處在於,不需要呈現標記的輸入/輸出對,也不需要明確改正次優的動作。強化學習的重點可以是在探索未知領域和利用現有知識之間找到平衡。部分監督的強化演算法可以結合監督式演算法和RL演算法的優點。
包含數百、數千、數萬、數十萬或更多感測器資料、製程結果資料(例如,計量資料,如與感測器資料相關聯的一個或多個厚度分佈)和/或狀態資料153的訓練資料集可以用於形成訓練資料集。
為了實現訓練,處理邏輯可以將訓練資料集輸入一個或多個未訓練的機器學習模型。在將第一輸入輸入機器學習模型之前,機器學習模型可以被初始化。處理邏輯基於訓練資料集來訓練未訓練的機器學習模型,以產生執行上面闡述的各種操作的一個或多個經訓練的機器學習模型。訓練可以藉由一次一個地將一個或多個感測器資料輸入機器學習模型來執行。
機器學習模型處理輸入以產生輸出。人工神經網路包括輸入層,該輸入層由資料點中的值組成。下一層稱為隱藏層,隱藏層處的節點各自接收一個或多個輸入值。每個節點都包含應用於輸入值的參數(例如權重)。因此,每個節點基本上都將輸入值輸入多變量函數(例如,非線性數學變換),以產生輸出值。下一層可能是另一個隱藏層,或輸出層。在這兩種情況下,下一層處的節點從上一層處的節點接收輸出值,每個節點對那些值應用權重,然後產生自己的輸出值。這可以在每一層處執行。最後一層是輸出層,在那裡,機器學習模型所能產生的每個類別、預測和/或輸出都有一個節點。
因此,輸出可以包括一個或多個預測或推斷。例如,輸出預測或推斷可以包括某個候選基板集合是否能在預定的時間量(例如,未來15分鐘)內啟動時間敏感的約束。處理邏輯基於機器學習模型的輸出(例如,預測或推斷)與關聯於輸入訓練資料的目標標籤之間的差異來決定誤差(即分類誤差)。處理邏輯基於誤差來調整機器學習模型中一個或多個節點的權重。可以為人工神經網路中的每個節點決定誤差項或差量(delta)。基於這個誤差,人工神經網路調整其一個或多個節點的一個或多個參數(節點的一個或多個輸入的權重)。參數可以以反向傳播的方式進行更新,使得最高層處的節點先被更新,然後是下一層處的節點,以此類推。人工神經網路包含多層「神經元」,其中每一層都從上一層處的神經元接收作為輸入值。每個神經元的參數包括與從上一層處的每個神經元收到的值相關聯的權重。因此,調整參數可以包括調整分配給人工神經網路中一個或多個層的一個或多個神經元的每個輸入的權重。
在一輪或多輪訓練之後,處理邏輯可以決定停止準則是否已被滿足。停止準則可以是準確度的目標位準、來自訓練資料集的經處理的影像的目標數量、參數相對於一個或多個先前資料點的變化的目標量、其組合和/或其他準則。在一個實施例中,當至少處理了最低數量的資料點,並且至少達到了閾值準確度,就滿足了停止準則。閾值準確度可以是例如70%、80%或90%的準確度。在一個實施例中,如果機器學習模型的準確度已經停止提高,那麼停止準則被滿足。如果沒有滿足停止準則,那麼就執行進一步的訓練。如果滿足了停止準則,那麼訓練就可能完成了。一旦機器學習模型被訓練,訓練資料集的保留部分就可以用來測試模型。
一旦產生一個或多個經訓練的機器學習模型190,它們就可以作為預測部件119或預測部件119的部件儲存在預測伺服器118中。
驗證引擎184可以能夠使用來自訓練集產生器172的驗證集的對應的特徵集合來驗證機器學習模型190。一旦模型參數被最佳化,就可以執行模型驗證,以決定模型是否得到了改進,並決定深度學習模型的當前準確度。驗證引擎184可以基於驗證集的對應的特徵集合來決定機器學習模型190的準確度。驗證引擎184可以丟棄準確度不滿足閾值準確度的經訓練的機器學習模型190。在一些實施例中,選擇引擎185可以能夠選擇準確度滿足閾值準確度的經訓練的機器學習模型190。在一些實施例中,選擇引擎185可以能夠選擇具有經訓練的機器學習模型190中最高的準確度的經訓練的機器學習模型190。
測試引擎186能夠使用來自資料集產生器172的測試集的對應的特徵集合來測試經訓練的機器學習模型190。例如,使用訓練集的第一特徵集合來訓練的第一經訓練的機器學習模型190可以使用訓練集的第一特徵集合來測試。測試引擎186可以基於測試集來決定具有所有經訓練的機器學習模型中最高的準確度的經訓練的機器學習模型190。
如下面詳細描述的,預測伺服器118包括預測部件119,該預測部件能夠對當前狀態資料運行經訓練的機器學習模型190,並提供表明製造系統處可以依據具有一個或多個時間約束的操作集合成功處理的基板數量的預測資料。這一點將在下文中進一步詳細解釋。
應注意,在一些其他的實施方式中,伺服器機器170和180以及預測伺服器112的功能可以由更少數量的機器來提供。例如,在一些實施例中,伺服器機器170和180可以被整合成單個機器,而在一些其他或類似的實施例中,伺服器機器170和180以及預測伺服器112可以被整合成單個機器。
一般而言,在一個實施方式中被描述為由伺服器機器170、伺服器機器180和/或預測伺服器118所執行的功能也可以在客戶端設備114上執行。此外,歸因於特定部件的功能性還可以由一起操作的不同部件或多個部件所執行。
在實施例中,「使用者」可以被表示為單個個人。然而,本揭示內容的其他實施例包含是由複數個使用者和/或自動來源所控制的實體的「使用者」。例如,聯合作為管理員群組的個人使用者集合可以被視為「使用者」。
生產調度器系統103可以為生產環境100作出調度決策。調度決策決定在生產環境100中的給定時間應該執行什麼動作。調度通常涉及一些決策,例如是否開始處理一個基板少於允許數量的批次,或等待直到有額外的基板可用,使得可以啟動完整的批次,才啟動批次。調度決策的例子可以包括且不限於,下一步應該在生產環境中的哪裡處理基板,應該為生產環境中一件閒置的設備挑選哪個基板,等等。在一些實施例中,生產調度器系統103可以使用由預測部件119所產生的預測資料來作出調度決策。在一些實施例中,生產調度器系統103可以使用儲存在資料儲存器150中的一個或多個調度規則151來作出調度決策。
在一些情況下,製造過程可以包括由生產環境100內的製造設備112(例如工具或自動化設備)所執行的數百個操作。在許多情況下,一個或多個操作可以經受時間約束。如先前的討論,時間約束指的是在完成一個操作後,要完成後續操作的特定時間量。例如,在第一材料沉積在基板的表面上之後,第二材料要在第一材料的沉積之後的特定時間量內沉積在第一材料上。如果第二塗層沒有在特定的時間量內沉積在第一材料上,那麼第一材料可能開始降解,使基板不可用。時間約束窗口指的是完成第一操作(稱為啟動操作)的時間量和要完成第二操作(稱為完成操作)的特定時間量。在一些實施例中,在啟動操作與完成操作之間執行的一個或多個操作也與時間約束窗口相關聯。依據先前的例子,時間約束窗口可以指將第一材料沉積在基板表面上的第一時間量和要將第二材料沉積在第一材料上的特定時間量。多個操作可以經受一個或多個時間約束。在一些實施例中,第一時間約束窗口的完成操作也可以是第二時間約束窗口的啟動操作。
時間約束窗口管理器110可以決定在特定時間段內在時間約束窗口的啟動操作中啟動的基板數量。在一些實施例中,時間約束窗口管理器110可以響應於請求(其例如來自生產調度器系統103、來自操作員等),決定要在啟動操作中啟動的基板數量。決定的基板數量稱為基板極限111。生產調度器系統103可以藉由保持基板計數器值,監測在啟動操作中啟動的基板數量是否滿足基板極限111。生產調度器系統103可以為每個在啟動操作中啟動的基板更新基板計數器值(例如將基板計數器值減一)。在一些實施例中,生產調度器系統103可以響應於決定基板計數器值為零,防止基板在啟動操作中啟動。時間約束窗口管理器110可以向生產調度器系統103提供基板計數器值(例如作為在模擬系統105處運行模擬的結果)。
模擬系統105可以運行一般比生產環境100的實時操作快的模擬。例如,模擬系統105可以在幾秒鐘內運行一個星期的模擬時間的模擬,以測試生產環境100操作的良好程度。在一些實施例中,模擬系統105包括模擬模組107,以模擬應用於生產環境100處的製程的一個或多個操作的調度規則151。在另一個實施例中,模擬系統105與外部模擬模組107通訊,以模擬調度規則151。
模擬模組107可以執行模擬模型163,以模擬在生產環境100處執行的一個或多個操作。模擬模型163是配置為產生關於製造設備112和/或在製造設備112處處理的基板的未來狀態的預測的模型。在一些實施例中,模擬模組107可以藉由處理由預測部件119所產生的預測資料(例如模擬生產環境是否能夠成功處理由預測資料表明的基板數量)來產生預測。在一些實施例中,模擬模型163可以藉由基於調度規則151、狀態資料153和/或使用者資料155執行一個或多個操作來產生預測。在一些實施例中,模擬模型163可以藉由進行計算、預報、統計預測、趨勢分析等來產生預測。在一些實施例中,模擬模型163可以是試探法模擬模型。在其他或類似的實施例中,模擬模型163可以是機器學習模型。
在一些實施例中,模擬模組107可以將一個或多個模擬條件165應用於模擬模型163所模擬的該一個或多個操作。例如,模擬模組107可以執行模擬模型163,以模擬特定的操作集合、模擬特定時間段內的一個或多個操作、模擬特定的基板數量、模擬具有特定識別碼的基板,等等。在一些實施例中,模擬條件165可以是在生產環境110的初始化期間由生產環境100的部件(例如CIM系統101、時間約束管理器110、生產調度器系統103)所設定的預設條件。在其他或類似的實施例中,模擬條件165可以由生產環境100的部件或生產環境100的使用者(例如經由客戶端設備114)在生產環境100的操作期間提供給模擬模組107。
在模擬模型163的執行期間,操作可以調用調度決策。例如,操作可以觸發(例如呼叫)模擬製造設備112為模擬基板執行模擬操作的決策。模擬模組107可以識別與調度決策相關聯的調度規則151(其例如來自資料儲存器150),並使用模擬模型163依據識別的調度規則151作出調度決策。
在一些實施例中,一個或多個輸入參數可以提供給調度規則151供模擬模型163作出調度決策。該一個或多個輸入參數可以包括與一個或多個模擬製造設備112相關聯的狀態資料153。在其他或類似的實施例中,該一個或多個輸入參數可以包括使用者資料155。模擬模組107可以從資料儲存器150識別參數值(例如狀態資料153、使用者資料155等),並向模擬模型163提供該參數值以用於為調度規則151提供的該一個或多個輸入參數。
模擬模組107可以運行模擬模型163以代表生產環境100處的延長時間量。例如,模擬模組107可以運行模擬模型163以模擬生產環境100的一個小時、幾個小時、幾天、一個星期等的操作。在模擬期間,模擬模型163可以作出大量的調度決策。模擬模組107可以產生與模擬和/或由模擬模型163作出的調度決策相關聯的報告。在一些實施例中,報告可以包括與例如生產循環時間、生產產量、設備利用率等對應的資料。模擬模組107可以向生產環境100的一個或多個部件(例如時間約束管理器110、生產調度器系統103、CIM系統101等)和/或向生產環境100的使用者(例如經由客戶端設備114)提供報告。
在一些實施例中,時間約束窗口管理器110可以基於生產環境100的模擬,決定要在製造系統的特定時間段內為操作集合啟動的基板數量。時間約束窗口管理器110可以決定一個或多個模擬條件175,以應用於由模擬模型173所執行的模擬。該一個或多個模擬條件可以包括,要模擬的特定操作集合,要模擬的特定時間段,要模擬的基板數量,要模擬的特定基板的標識,等等。在一些實施例中,時間約束窗口管理器110基於從生產調度器系統103或生產環境100的使用者(例如經由客戶端設備114)接收的通知,決定該一個或多個模擬條件175。在一些實施例中,時間約束窗口管理器110基於由模型190產生並從預測部件119接收的預測資料,決定該一個或多個模擬條件175。在其他或類似的實施例中,時間約束窗口管理器110基於與製造設備112相關聯的狀態資料153,決定該一個或多個模擬條件175。例如,時間約束窗口管理器110可以基於狀態資料153,決定在12小時的時間段內,依據具有時間約束的第一操作集合成功處理了100個基板。因此,時間約束窗口管理器110可以決定要模擬的操作集合是第一操作集合,要模擬的特定時間段是12小時的時間段,要模擬的基板數量是100。依據先前所述的實施例,時間約束窗口管理器可以向模擬模組107提供模擬條件,模擬模組107可以基於這些模擬條件來執行模擬模型173。
模擬模組107可以產生與製造系統的特定時間段內的操作集合的模擬相關聯的報告。在一些實施例中,報告可以包括與例如由模擬模型163所模擬的特定數量的基板的生產產量對應的資料。例如,報告可以包括以下指示:對於100個模擬基板,90個模擬基板在模擬的操作集合中的每個操作期間,都在沒有違反任何時間約束的情況下,被成功處理而到達特定時間段的結束。模擬模組107可以向時間約束管理器110傳輸報告。在一些實施例中,模擬模組107或時間約束窗口管理器110可以向使用者設備114傳輸報告。客戶端設備114可以經由圖形使用者介面(GUI)向製造系統的使用者提供來自報告的資料,該圖形使用者介面是經由使用者設備114顯示的。
響應於從模擬模組107接收報告,時間約束管理器110可以決定要在特定時間段內在時間約束窗口的啟動操作(即要在製造設備112處執行的操作集合中的啟動操作)中啟動的基板數量。如先前的討論,決定的基板數量稱為基板極限111。時間約束窗口管理器110可以向生產調度器系統103提供基板極限111。如先前所述,生產調度器系統103可以使用基板極限111來決定是否在特定時間段期間在啟動操作中啟動對一個或多個基板的處理。
圖2是依據本揭示內容的態樣,用於訓練機器學習模型的方法200的流程圖。方法200是由處理邏輯所執行的,該處理邏輯可以包括硬體(電路系統、專用邏輯等)、軟體(其例如運行於通用電腦系統或專用機器上)、韌體或上述項目的某種組合。在一個實施方式中,方法200可以由電腦系統(例如圖1的電腦系統架構100)所執行。在其他或類似的實施方式中,方法200的一個或多個操作可以由圖式中未描繪的一個或多個其他機器所執行。在一些態樣中,方法200的一個或多個操作可以由伺服器機器170、伺服器機器180和/或預測伺服器118執行。
為便於解釋,這些方法被描繪和描述成一系列的動作。然而,依據本揭示內容的動作可以以各種順序和/或並行地發生,並且與本文未提出和描述的其他動作一起發生。此外,不執行所有示出的動作也能實施依據所揭露的主題的方法。此外,本領域中的技術人員將瞭解並理解,這些方法可以替代性地經由狀態圖或事件被表示為一系列的相互關聯的狀態。此外,應理解,本說明書中所揭露的方法能夠被儲存在製造品上,以促進將這種方法運輸和轉移到計算設備。本文所使用的術語製造品旨在包含從任何電腦可讀取設備或儲存媒體可存取的電腦程式。
在操作210中,處理邏輯將訓練集T初始化為空集合(例如{})。
在操作212中,處理邏輯獲得與跟半導體基板的製造有關的操作相關聯的狀態資料。在一些實施例中,與跟半導體基板的製造有關的操作相關聯的狀態資料是歷史狀態資料。歷史狀態資料可以包括與製造設備112的過去狀態(例如在特定時刻的過去操作溫度、在特定時刻的過去操作壓力、在特定時刻在製造設備處處理的過去基板數量等)有關的資料。在一些實施例中,第一狀態資料是當前狀態資料。當前狀態資料可以包括與製造設備112的當前狀態(例如當前操作溫度、當前操作壓力、當前正在製造設備處處理的基板數量等)有關的資料。在一些實施例中,狀態資料是擾動狀態資料。擾動狀態資料可以包括經修改的狀態資料。在一些實施例中,除了狀態資料以外,處理邏輯也可以獲得感測器資料、上下文資料、任務資料等。這個資料也可以用於下文所討論的操作。
在操作214中,處理邏輯決定要在訓練操作集合期間處理的訓練基板集合。訓練候選基板集合和訓練操作集合是使用狀態資料、操作員輸入、預定規則集合(例如一個或多個預定基板集合、一個或多個預定操作集合等)、隨機輸入或其任何組合來決定的。訓練基板集合可以是模擬條件,如就圖1的描述。
在一些實施例中,訓練操作集合可以是圖4所示的操作集合。圖4說明了依據本揭示內容的實施例,經受一個或多個時間約束的操作集合400。訓練操作集合的每個操作410可以與在生產環境的一個或多個製造設施(例如生產環境100的製造設備112(例如工具或自動化設備))處執行的單獨製程對應。在一些實施例中,操作集合400中的每個操作可以是連續的操作(例如每個操作410都依據特定的順序執行)。在一些實施例中,每個操作410可以與在前端製造設施處執行的單獨製程對應,包括但不限於光刻、沉積、蝕刻、清潔、離子注入、化學和機械拋光等。在其他或類似的實施例中,每個操作可以與在後端製造設施處執行的單獨製程對應,包括但不限於將完成的晶圓切割成單獨的半導體裸晶、測試、組裝、包裝等。
如先前所述,一個或多個操作410可以經受時間約束。例如,操作2可以是用於將第一材料沉積在基板表面上的第一沉積操作,操作3可以是用於將第二材料沉積在第一材料上的第二沉積操作。操作2和3可以經受第一時間約束,其中第二材料要在第一材料被沉積在基板表面上之後,在特定的時間量(例如6小時)內沉積在第一材料上。供製造設備112執行操作2和3的時間量可以對應於時間約束窗口412。時間約束窗口412可以包括完成啟動操作(即啟動時間約束窗口412的操作410)的第一時間量,以及一個特定時間量,製造設備112要在該特定時間量內完成完成操作(即完成時間約束窗口412的操作410)。依據先前的例子,操作2要在製造設備112處對基板啟動,使得操作2和3將在第一時間約束窗口412A內對基板完成。
在一些實施例中,時間約束窗口412的完成操作可以是另一個時間約束窗口412的啟動操作。例如,操作3可以是第二沉積操作,操作6可以是蝕刻操作。操作3、4、5和6可以經受時間約束,其中第二材料要在第二材料在操作3中被沉積之後,在特定的時間量(例如12小時)內在操作6中被蝕刻。第二時間約束窗口412B可以包括在操作3中沉積第二材料的時間量,以及完成操作6的特定時間量。操作3要在製造設備112處啟動,使得操作3、4、5和6將在第二時間約束窗口412B內完成。依據先前的例子,操作3可以經受操作2的時間約束。因此,操作2要對基板啟動,使得操作2和3將在第一時間約束窗口412A內對基板完成,並且操作3、4、5和6將在第二時間約束窗口412B內完成。第一時間約束窗口412A和第二時間約束窗口412B一起稱為級聯時間約束窗口。
在一些實施例中,操作410可以經受超過一個時間約束。例如,操作6、7、8、9和10可以經受第一時間的約束,其中操作10要在操作6完成之後的特定時間量內完成。第三時間約束窗口412C可以包括執行操作6的時間量和完成操作10的特定時間量。操作9和10也可以經受第二時間約束,其中操作10要在操作9完成之後的特定時間量內完成。第四時間約束窗口412D可以包括完成操作9的時間量和完成操作10的特定時間量。因此,操作6要啟動,使得操作6、7、8、9和10將在第三時間約束窗口412D內完成,並且操作9和10將在第四時間約束窗口內完成。第三時間約束窗口412C和第四時間約束窗口412一起稱為嵌套時間約束窗口。
回到圖2,在操作216中,處理邏輯使用狀態資料,在一時間段內為訓練基板集合運行訓練操作集合的模擬。在一些實施例中,處理邏輯可以決定訓練操作集合要在製造系統處運行的特定時間段。依據先前所述的實施例,特定時間段可以是模擬條件。在一些實施例中,處理邏輯使用模擬系統105運行模擬。
在操作218中,處理邏輯接收模擬的輸出,該輸出表明在模擬的操作集合中的每個操作期間都被成功處理而到達該時間段的結束的候選基板數量。在一些實施例中,依據先前所述的實施例,模擬模組107可以產生與模擬相關聯的資料。報告可以表明訓練基板集合中在模擬的訓練操作集合中的每個操作期間都被成功處理而到達該時間段的結束的候選基板數量。
在操作220中,處理邏輯基於與跟半導體基板的製造有關的操作相關聯的狀態資料、訓練基板集合、訓練操作集合和模擬輸出,來產生訓練資料。在一些實施例中,訓練資料可以包括涉及狀態資料、訓練基板集合、訓練操作集合和模擬輸出中的一者或多者的映射,其中狀態資料、訓練基板集合、訓練操作集合和模擬輸出中的一者或多者關聯於(或映射到)狀態資料、訓練基板集合、訓練操作集合和模擬輸出中的一者或多者。在操作222中,處理邏輯將訓練資料添加到訓練集T。
在操作224中,處理邏輯決定訓練集T是否包括足以訓練機器學習模型的訓練資料量。應注意,在一些實施方式中,訓練集T的充分性可以單純基於訓練集中的訓練資料量或映射數量來決定,而在一些其他的實施方式中,訓練集T的充分性可以附加於或替代於輸入/輸出映射的數量基於一個或多個其他的準則(例如訓練例的多樣性的度量等等)來決定。響應於決定訓練集不包括足以訓練集機器學習模型的訓練資料量,方法200返回操作212。響應於決定訓練集T包括足以訓練集機器學習模型的訓練資料量,方法200繼續進行到操作228。
在操作226中,處理邏輯提供訓練集T以訓練機器學習模型。在一個實施方式中,訓練集T被提供給伺服器機器180的訓練引擎182以執行訓練。
在一些實施例中,處理邏輯可以執行離群值偵測方法,以便在訓練機器學習模型之前從訓練集T移除異常值。離群值偵測方法可以包括識別與大多數訓練資料有顯著差異的值的技術。這些值可以由誤差、雜訊等產生。
在操作226之後,機器學習模型可以用於基於當前狀態資料產生預測資料。在一些實施例中,預測資料可以包括一個或多個調度決策。例如,機器學習模型可以接收當前狀態資料作為輸入,並輸出調度決策。如上面的討論,調度決策決定在生產環境100中的給定時間應該執行什麼動作。調度可能涉及一些決策,例如是否開始處理一個基板少於允許數量的批次,或等待直到有額外的基板可用,使得可以啟動完整的批次,才啟動批次。調度決策的例子可以包括且不限於,下一步應該在生產環境中的哪裡處理基板,應該為生產環境中一件閒置的設備挑選哪個基板,等等。
在一些實施例中,製造系統可以包括超過一個的製程腔室。例如,圖3的示例製造系統300說明了多個製程腔室314、316、318。應該注意的是,在一些實施例中,為訓練機器學習模型而獲得的資料和為提供作為對機器學習模型的輸入而收集的資料可以與製造系統的同一製程腔室相關聯。在其他或類似的實施例中,為訓練機器學習模型而獲得的資料和為提供作為對機器學習模型的輸入而收集的資料可以與製造系統的不同製程腔室相關聯。在其他或類似的實施例中,為訓練機器學習模型而獲得的資料可以與第一製造系統的製程腔室相關聯,為提供作為對機器學習模型的輸入而收集的資料可以與第二製造系統的製程腔室相關聯。
圖3是依據本揭示內容的態樣的示例製造系統300的俯視示意圖。製造系統300可以在基板302上執行一個或多個製程。基板302可以是任何具適合剛性的、固定尺寸的、平面的製品,例如含矽的圓盤或晶圓、圖案化的晶圓、玻璃板等等,其適於在其上製造電子設備或電路部件。
製造系統300可以包括製程工具304和與製程工具304耦合的工廠介面306。製程工具304可以包括殼體308,其中具有傳輸腔室310。傳輸腔室310可以包括一個或多個製程腔室(也稱為處理腔室)314、316、318,它們圍繞該傳輸腔室設置並且與之耦合。製程腔室314、316、318可以藉由相應的端口(例如縫閥等等)與傳輸腔室310耦合。傳輸腔室310也可以包括傳輸腔室機器人312,它被配置為在製程腔室314、316、318、裝載閘320等等之間傳輸基板302。傳輸腔室機器人312可以包括一個或多個臂,其中每個臂在每個臂的端部處包括一個或多個末端執行器。末端效應器可以被配置為搬運特定的物體,如晶圓、感測器圓盤、感測器工具等。
製程腔室314、316、318可以被調適為在基板302上實現任何數量的製程。可以在每個處理腔室314、316、318中進行相同或不同的基板製程。基板製程可以包括原子層沉積(ALD)、物理氣相沉積(PVD)、化學氣相沉積(CVD)、蝕刻、退火、固化、預清潔、金屬或金屬氧化物移除等。可以在其中在基板上實現其他的製程。製程腔室314、316、318可以各自包括一個或多個感測器,這些感測器被配置為在基板製程之前、之後或期間捕捉基板302的資料。例如,該一個或多個感測器可以被配置為在基板製程期間捕捉基板302的一部分的光譜資料和/或非光譜資料。在其他或類似的實施例中,該一個或多個感測器可以被配置為在基板製程之前、之後或期間捕捉與製程腔室314、316、318內的環境相關聯的資料。例如,該一個或多個感測器可以被配置為在基板製程期間捕捉與製程腔室314、316、318內環境的溫度、壓力、氣體濃度等相關聯的資料。
裝載閘320也可以與殼體308和傳輸腔室310耦合。裝載閘320可以被配置為一側與傳輸腔室310介接和耦合,並且與工廠介面306介接和耦合。在一些實施例中,裝載閘320可以具有環境受控的大氣,它可以從真空環境(其中基板可以被傳輸到傳輸腔室310或從傳輸腔室310傳輸)改變為大氣壓力或接近大氣壓力的惰性氣體環境(其中基板可以被傳輸到工廠介面306和從工廠介面306傳輸)。工廠介面306可以是任何合適的外殼,例如設備前端模組(EFEM)。工廠介面306可以被配置為從在工廠介面306的各種裝載端口324處對接的基板載體322(例如前開式晶圓傳送盒(FOUP))接收基板302。工廠介面機器人326(以虛線示出)可以被配置為在載體(也稱為容器)322與裝載閘320之間傳輸基板302。載體322可以是基板儲存載體或替換零件儲存載體。
製造系統300也可以與客戶端設備(未示出)連接,它被配置為向使用者(例如操作員)提供關於製造系統300的資訊。在一些實施例中,客戶端元件可以經由一個或多個圖形使用者介面(GUI)向製造系統300的使用者提供資訊。例如,客戶端設備可以經由GUI提供關於在製程腔室314、316、318處執行的沉積製程期間要沉積在基板302的表面上的薄膜的目標厚度分佈的資訊。依據本文所述的實施例,客戶端設備還可以提供關於鑒於被預測為與目標分佈對應的相應沉積設定集合而對製程配方進行的修改的資訊。
製造系統300還可以包括系統控制器328。系統控制器328可以是和/或可以包括諸如個人電腦、伺服器電腦、可程式化邏輯控制器(PLC)、微控制器等之類的計算設備。系統控制器328可以包括一個或多個處理設備,它可以是諸如微處理器、中央處理單元等之類的通用處理設備。更詳細而言,處理設備可以是複雜指令集計算(CISC)微處理器、精簡指令集計算(RISC)微處理器、超長指令字(VLIW)微處理器或實施其他指令集的處理器或實施指令集的組合的處理器。處理設備也可以是諸如特定應用積體電路(ASIC)、現場可程式化邏輯閘陣列(FPGA)、數位訊號處理器(DSP)、網路處理器等之類的一個或多個特殊用途處理設備。系統控制器328可以包括資料儲存設備(例如一個或多個磁碟機和/或固態硬碟)、主記憶體、靜態記憶體、網路介面和/或其他部件。系統控制器328可以執行指令以執行本文所述的方法學及/或實施例中的任一者或多者。在一些實施例中,系統控制器328可以執行指令以依據製程配方在製造系統300處執行一個或多個操作。指令可以儲存在電腦可讀取儲存媒體上,該電腦可讀取儲存媒體可以包括主記憶體、靜態記憶體、輔助儲存器和/或處理設備(在指令的執行期間)。
系統控制器328可以從包括在製造系統300的各種部分(例如,處理腔室314、316、318、傳輸腔室310、裝載閘320等)上或內的感測器接收資料。在一些實施例中,由系統控制器328所接收的資料可以包括基板302的一部分的光譜資料和非光譜資料。在其他或類似的實施例中,由系統控制器328接收的資料可以包括與在處理腔室314、316、318處處理基板302相關聯的資料,如前所述。出於本描述的目的,系統控制器328被描述為從包括在製程腔室314、316、318內的感測器接收資料。然而,系統控制器328也可以從製造系統300的任何部分接收資料,並且可以依據本文所述的實施例使用從該部分所接收的資料。在一個說明性的例子中,系統控制器328可以在製程腔室314、316、318處的基板製程之前、之後或期間從製程腔室314、316、318的一個或多個感測器接收資料。從製造系統300的各種部分的感測器收到的資料可以儲存在資料儲存器350中。資料儲存器350可以被包括作為系統控制器328內的部件,或可以是與系統控制器328分開的部件。在一些實施例中,資料儲存器350可以是就圖1所描述的資料儲存器140、150、160。
圖5是依據本揭示內容的態樣,用於基於使用機器學習模型產生的調度決策來啟動操作集合的方法500的流程圖。方法500是由處理邏輯所執行的,該處理邏輯可以包括硬體(電路系統、專用邏輯等)、軟體(其例如運行於通用電腦系統或專用機器上)、韌體或上述項目的某種組合。在一個實施方式中,方法500可以由電腦系統(例如圖1的電腦系統架構100)所執行。在其他或類似的實施方式中,方法500的一個或多個操作可以由圖式中未描繪的一個或多個其他機器所執行。在一些態樣中,方法500的一個或多個操作可以由伺服器機器170、伺服器機器180、預測伺服器118、CIM系統101、生產調度器系統103、時間約束管理器110和/或模擬系統105所執行。
在操作510中,處理邏輯接收啟動要在製造系統處運行的操作集合的請求。在一些實施例中,製造系統可以是圖1的生產環境100。在一些實施例中,請求可以是啟動要在特定時刻在製造系統處運行的操作集合的請求。例如,請求可以是在晚上8點啟動操作集合的請求。在一些實施例中,請求可以是在候選基板集合上啟動操作集合的請求。在一些實施例中,請求可以是對與候選基板集合有關的調度決策的請求。例如,請求可以請求下一個可用的時間,以在不會發生時間約束問題的情況下在候選基板集合上啟動操作集合。
在操作512中,處理邏輯獲得與製造設備的當前狀態有關的當前資料。在一些實施例中,當前資料可以包括當前狀態資料、感測器資料、上下文資料、任務資料等。在一些實施例中,當前資料可以包括在特定的時刻正在製造設備處處理的基板數量,製造設備佇列中的基板數量,當前的服務壽命,設置資料,包括在生產環境的一個或多個製造設施處執行的各個製程的操作集合,等等。在一些實施例中,當前資料可以與正在被處理的一個或多個基板上執行的一個或多個操作有關。例如,該操作可以包括在製程腔室中執行以在基板的表面上沉積薄膜的一個或多個層的沉積製程,在基板的表面上的薄膜的該一個或多個層上執行的蝕刻製程,等等。該操作可以依據配方來執行。感測器資料可以包括以下項目中的一者或多者的值:溫度(例如加熱器溫度)、間隔、壓力、高頻射頻、靜電卡盤的電壓、電流、材料流量、功率、電壓等。感測器資料可以與製造參數相關聯或指示製造參數,例如硬體參數,例如製造設備112的設定或部件(例如尺寸、類型等),或製造設備112的製程參數。
在操作514中,處理邏輯將經訓練的機器學習模型(例如模型190)應用於獲得的當前資料。機器學習模型可以用於產生包括一個或多個調度決策的預測資料。
在操作516中,處理邏輯經由機器學習模型基於當前資料來產生輸出。在一些實施例中,輸出可以是包括一個或多個調度決策的預測資料。調度決策決定在生產環境100中的給定時間應該執行什麼動作。在一些實施例中,調度決策可以包括候選基板集合和指定的時間段。
在操作518中,處理邏輯根據輸出資料,在製造系統處啟動操作集合,以在指定的時間段內處理候選基板集合。在一些實施例中,處理設備藉由為操作集合中的第一操作設定基板極限111以與候選基板數量對應,來在製造系統處啟動操作集合。如先前所述,時間約束窗口管理器110可以藉由向生產調度器系統103提供候選基板數量,為第一操作設定基板極限111。生產調度器系統103可以使用基板計數器值來監測在啟動操作中啟動的基板數量是否滿足該時間段內的基板極限111。例如,對於在操作集合400中的啟動操作中啟動的每個基板,生產調度器系統103可以藉由將基板計數器值減1來更新基板計數器值。更新的基板計數器值可以向生產調度器系統103表明基板佇列中可以在該時間段內在啟動操作中啟動的基板數量。
圖6是依據本揭示內容的態樣,用於基於使用機器學習模型產生的調度決策來啟動操作集合的方法600的流程圖。方法600是由處理邏輯所執行的,該處理邏輯可以包括硬體(電路系統、專用邏輯等)、軟體(其例如運行於通用電腦系統或專用機器上)、韌體或上述項目的某種組合。在一個實施方式中,方法600可以由電腦系統(例如圖1的電腦系統架構100)所執行。在其他或類似的實施方式中,方法600的一個或多個操作可以由圖式中未描繪的一個或多個其他機器所執行。在一些態樣中,方法600的一個或多個操作可以由伺服器機器170、伺服器機器180、預測伺服器118、CIM系統101、生產調度器系統103、時間約束管理器110和/或模擬系統105所執行。
在操作610中,處理設備可以經由機器學習模型接收基於當前資料的輸出。輸出可以是包括一個或多個調度決策的預測資料。為了接收輸出,處理邏輯可以執行圖5的操作510-516。
在操作612處,處理邏輯可以基於預測資料運行操作集合的模擬。在一些實施例中,模擬可以使用由調度決策所表明的候選基板集合和時間段來執行。模擬可以進一步基於製造系統的調度規則、與製造系統相關聯的狀態資料和/或由製造系統的使用者(例如操作、工業工程師、製程工程師、系統工程師等)所提供的使用者資料。模擬可以產生一個輸出,表明在模擬的操作集合中的每個操作期間都被成功處理而到達模擬時間段的結束的候選基板數量。模擬可以用於驗證,預測資料不會導致時間約束誤差,或導致的時間約束誤差很少。在一些實施例中,處理邏輯或使用者輸入可以基於模擬的輸出來修改預測資料(例如調整候選基板集合和/或時間段)。例如,響應於模擬輸出表明在模擬時間段期間未被成功處理(例如在沒有違反任何時間約束的情況下被處理)的候選基板數量,處理邏輯可以基於預定的或隨機的值來調整啟動時間段和/或候選基板數量。然後,處理邏輯可以基於經修改的預測資料來運行操作集合的模擬,以產生新的模擬輸出。
在操作614中,處理邏輯可以在製造系統處啟動操作集合,以基於模擬輸出(或新的模擬輸出)在該時間段內處理該數量的候選基板。
圖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:生產調度器系統 105:模擬系統 107:時間約束模擬模組 110:時間約束窗口管理器 111:基板極限 112:製造設備 114:客戶端設備 116:預測系統 118:預測伺服器 119:預測部件 126:感測器 130:網路 140:資料儲存器 150:資料儲存器 151:調度規則 153:狀態資料 155:使用者資料 160:資料儲存器 163:模擬模型 165:模擬條件 170:伺服器機器 172:訓練集產生器 180:伺服器機器 182:訓練引擎 184:驗證引擎 185:選擇引擎 186:測試引擎 190:機器學習模型 200:方法 210:操作 212:操作 214:操作 216:操作 218:操作 220:操作 222:操作 224:操作 226:操作 300:製造系統 302:基板 304:製程工具 306:工廠介面 308:殼體 310:傳輸腔室 312:傳輸腔室機器人 314:製程腔室 316:製程腔室 318:製程腔室 320:裝載閘 322:載體 324:裝載端口 326:工廠介面機器人 328:系統控制器 350:資料儲存器 400:操作集合 410:操作 500:方法 510:操作 512:操作 514:操作 516:操作 518:操作 600:方法 610:操作 612:操作 614:操作 700:電腦系統 702:處理設備 704:易失性記憶體 706:非易失性記憶體 708:匯流排 710:視訊顯示單元 712:文數字輸入設備 714:游標控制設備 718:資料儲存設備 720:訊號產生設備 722:網路介面設備 724:非暫時性電腦可讀取儲存媒體 726:指令 774:網路 412A:第一時間約束窗口 412B:第二時間約束窗口 412C:第三時間約束窗口 412D:第四時間約束窗口
藉由示例的方式而非限制的方式在附圖的圖式中示出本揭示內容。
圖1是一個方塊圖,說明依據某些實施例的示例性系統架構。
圖2是依據某些實施例,用於訓練機器學習模型的方法的流程圖。
圖3是依據某些實施例,示例製造系統的俯視示意圖。
圖4說明了依據本揭示內容的實施例,經受一個或多個時間約束的操作集合。
圖5是一張流程圖,示出依據某些實施例,基於使用機器學習模型產生的調度決策來啟動操作集合的方法。
圖6是另一張流程圖,示出依據某些實施例,基於使用機器學習模型產生的調度決策來啟動操作集合的方法。
圖7是依據某些實施例,說明電腦系統的方塊圖。
國內寄存資訊 (請依寄存機構、日期、號碼順序註記) 無
國外寄存資訊 (請依寄存國家、機構、日期、號碼順序註記) 無
100:生產環境
101:電腦整合製造(CIM)系統
103:生產調度器系統
105:模擬系統
107:時間約束模擬模組
110:時間約束窗口管理器
111:基板極限
112:製造設備
114:客戶端設備
116:預測系統
118:預測伺服器
119:預測部件
126:感測器
130:網路
140:資料儲存器
150:資料儲存器
151:調度規則
153:狀態資料
155:使用者資料
160:資料儲存器
163:模擬模型
165:模擬條件
170:伺服器機器
172:訓練集產生器
180:伺服器機器
182:訓練引擎
184:驗證引擎
185:選擇引擎
186:測試引擎
190:機器學習模型

Claims (20)

  1. 一種方法,包括以下步驟: 接收啟動要在一製造系統處運行的一操作集合的一請求,其中該操作集合包括一個或多個操作,每個操作具有一個或多個時間約束; 獲得與該製造系統的一當前狀態有關的當前資料; 將一機器學習模型應用於該當前資料,以決定要在該操作集合期間處理的一候選基板集合;以及 基於該機器學習模型的一輸出,在該候選基板集合上啟動該操作集合。
  2. 如請求項1所述的方法,進一步包括以下步驟: 在一時間段內為該候選基板集合運行該操作集合的一模擬,其中該模擬產生一模擬輸出,該模擬輸出表明在模擬的該操作集合中的每個操作期間都被成功處理而到達該時間段的結束的一第一候選基板數量;以及 根據該模擬輸出,在該製造系統處啟動該操作集合以在該時間段內處理該候選基板集合。
  3. 如請求項1所述的方法,其中該機器學習模型是使用強化學習來訓練的。
  4. 如請求項1所述的方法,其中該操作集合中的一操作的該一個或多個時間約束各自包括完成該操作後的一時間量,該複數個操作中的一個或多個後續操作要在該時間量期間完成。
  5. 如請求項1所述的方法,其中該機器學習模型是基於歷史狀態資料、當前狀態資料或擾動(perturbed)狀態資料中的至少一者來訓練的。
  6. 如請求項5所述的方法,其中該擾動狀態資料包括當前狀態資料或歷史狀態資料中的至少一者,該資料的一個或多個參數被修改或歪曲(distorted)。
  7. 如請求項1所述的方法,其中輸出進一步表明在該候選基板集合上啟動該操作集合的一時間段。
  8. 一種系統,包括: 一記憶體;以及 一處理設備,可操作地與該記憶體耦合,以執行包括以下步驟的操作: 接收啟動要在一製造系統處運行的一操作集合的一請求,其中該操作集合包括一個或多個操作,每個操作具有一個或多個時間約束; 獲得與該製造系統的一當前狀態有關的當前資料; 將一機器學習模型應用於該當前資料,以決定要在該操作集合期間處理的一候選基板集合;以及 基於該機器學習模型的一輸出,在該候選基板集合上啟動該操作集合。
  9. 如請求項8所述的系統,進一步包括: 在一時間段內為該候選基板集合運行該操作集合的一模擬,其中該模擬產生一模擬輸出,該模擬輸出表明在模擬的該操作集合中的每個操作期間都被成功處理而到達該時間段的結束的一第一候選基板數量;以及 根據該模擬輸出,在該製造系統處啟動該操作集合以在該時間段內處理該候選基板集合。
  10. 如請求項8所述的系統,其中該機器學習模型是使用強化學習來訓練的。
  11. 如請求項8所述的系統,其中該操作集合中的一操作的該一個或多個時間約束各自包括完成該操作後的一時間量,該複數個操作中的一個或多個後續操作要在該時間量期間完成。
  12. 如請求項8所述的系統,其中該機器學習模型是基於歷史狀態資料、當前狀態資料或擾動(perturbed)狀態資料中的至少一者來訓練的。
  13. 如請求項12所述的系統,其中該擾動狀態資料包括當前狀態資料或歷史狀態資料中的至少一者,該資料的一個或多個參數被修改或歪曲(distorted)。
  14. 如請求項8所述的系統,其中輸出進一步表明在該候選基板集合上啟動該操作集合的一時間段。
  15. 一種方法,包括以下步驟: 獲得與跟基板的製造有關的操作相關聯的狀態資料; 決定要在一訓練操作集合期間處理的一訓練基板集合; 在一時間段內為該訓練基板集合運行該訓練操作集合的與該狀態資料相關聯的一模擬;以及 基於該模擬的一輸出,訓練一機器學習模型。
  16. 如請求項15所述的方法,其中該模擬的該輸出表明在模擬的該操作集合中的每個操作期間都被成功處理而到達該時間段的結束的一候選基板數量。
  17. 如請求項15所述的方法,其中該機器學習模型是使用強化學習來訓練的。
  18. 如請求項15所述的方法,其中該機器學習模型是基於歷史狀態資料、當前狀態資料或擾動(perturbed)狀態資料中的至少一者來訓練的。
  19. 如請求項15所述的方法,其中該擾動狀態資料包括當前狀態資料或歷史狀態資料中的至少一者,該資料的一個或多個參數被修改或歪曲(distorted)。
  20. 如請求項15所述的方法,進一步包括以下步驟: 將該機器學習模型應用於當前資料,以決定要在該操作集合期間處理的一候選基板集合; 獲得該機器學習模型的一輸出,其中該機器學習模型的該輸出表明該候選基板集合;以及 在該候選基板集合上啟動該操作集合。
TW111137921A 2021-10-06 2022-10-06 製造系統處的時間約束管理 TW202333013A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/495,140 2021-10-06
US17/495,140 US20230107813A1 (en) 2021-10-06 2021-10-06 Time constraint management at a manufacturing system

Publications (1)

Publication Number Publication Date
TW202333013A true TW202333013A (zh) 2023-08-16

Family

ID=85773849

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111137921A TW202333013A (zh) 2021-10-06 2022-10-06 製造系統處的時間約束管理

Country Status (4)

Country Link
US (1) US20230107813A1 (zh)
CN (1) CN118056164A (zh)
TW (1) TW202333013A (zh)
WO (1) WO2023059740A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10162340B2 (en) * 2015-09-30 2018-12-25 Taiwan Semiconductor Manufacturing Co., Ltd. Method and system for lot-tool assignment

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100375559B1 (ko) * 2001-07-03 2003-03-10 삼성전자주식회사 공정장치의 제어방법
AU2015100138A4 (en) * 2015-01-12 2015-03-05 Macau University Of Science And Technology Method for Scheduling Single-arm Cluster Tools with Wafer Revisiting and Residency Time Constraints
US20210278825A1 (en) * 2018-08-23 2021-09-09 Siemens Aktiengesellschaft Real-Time Production Scheduling with Deep Reinforcement Learning and Monte Carlo Tree Research
US11556117B2 (en) * 2019-10-21 2023-01-17 Applied Materials, Inc. Real-time anomaly detection and classification during semiconductor processing
CN112884321A (zh) * 2021-02-19 2021-06-01 同济大学 一种基于调度环境和任务的半导体生产线调度方法

Also Published As

Publication number Publication date
WO2023059740A1 (en) 2023-04-13
US20230107813A1 (en) 2023-04-06
CN118056164A (zh) 2024-05-17

Similar Documents

Publication Publication Date Title
TW202333013A (zh) 製造系統處的時間約束管理
US20230195071A1 (en) Methods and mechanisms for generating a data collection plan for a semiconductor manufacturing system
TW202213006A (zh) 用於多腔室半導體設備的預測晶圓排程
TW202340884A (zh) 預防保養後的腔室條件監控及模擬
TW202245091A (zh) 用於使用虛擬模型進行處理腔室健康監測和診斷的系統和方法
US20230315953A1 (en) Using deep reinforcement learning for time constraint management at a manufacturing system
US20230384777A1 (en) Methods and mechanisms for preventing fluctuation in machine-learning model performance
US20230342016A1 (en) Methods and mechanisms for generating virtual knobs for model performance tuning
US20230135102A1 (en) Methods and mechanisms for process recipe optimization
US20230260767A1 (en) Process control knob estimation
US20230306300A1 (en) Methods and mechanisms for measuring patterned substrate properties during substrate manufacturing
TW202340885A (zh) 用於在評估系統與製造系統之間進行介接的通訊節點
US20230359179A1 (en) Methods and mechanisms for adjusting film deposition parameters during substrate manufacturing
US20230195078A1 (en) Methods and mechanisms for adjusting process chamber parameters during substrate manufacturing
US20240062097A1 (en) Equipment parameter management at a manufacturing system using machine learning
US20220026891A1 (en) Time constraint management at a manufacturing system
TW202407484A (zh) 使用機器學習在製造系統處進行運行間控制
Kankalale Smart Scheduler Design for Wafer Processing Systems
TW202344834A (zh) 製造系統處的多位準射頻脈衝監測和射頻脈衝參數最佳化
TW202303785A (zh) 用於使用虛擬計量來預測個別的層的膜厚度之系統和方法
TW202309755A (zh) 用於無接觸處理腔室特徵化的方法及機制