這篇部落格文章最初發表於 cimetrix.com
背景
幾年前,我曾與一位正在導入 EDA 的客戶合作,該客戶希望利用 EDA 的追蹤資料收集功能(本質上是週期性資料擷取)以高於一般水準的頻率收集資料。我過去習慣的 EDA 資料收集頻率通常是 10 Hz,也有少數客戶會採用 20 Hz 甚至 40 Hz。然而,這位客戶卻希望以約 1000 Hz 的頻率收集資料。 這遠比我們通常能達到的速度快得多,尤其是因為 Windows 中的軟體計時器和時鐘功能,實際上是針對約 15 毫秒的間隔所設計的。因此,透過一般方式來實作資料收集,效果恐怕不會太理想。
經過一番創意思考後,我想出了一个解決方案。我決定不使用追蹤資料收集,而是嘗試事件資料收集。 每 1 秒,我會觸發一次事件通知,並隨該事件提供 1000 個資料樣本——這些樣本是以 1 毫秒間隔收集並儲存的。這 1000 個樣本以資料陣列的形式傳送給 EDA 客戶端(EDA 直接支援此格式),而此解決方案運作得非常順利。我還發現,這種方法在實作和傳輸時所耗用的資源出乎意料地少,這主要是因為資料非常精簡。此外,它的可靠性也相當高。
雖然這種採用陣列資料的解決方案在這個非常特定的情況下可行,但仍有幾項缺點。首先,客戶端無法選擇資料擷取間隔。通常在追蹤資料擷取中,客戶端會根據特定資料擷取應用的需求來選擇資料擷取率。其次,接收資料的客戶端必須了解這些資料的含義。 客戶端應用程式軟體必須經過程式設計,才能理解 1000 個樣本陣列中的每個值代表每 1 毫秒所收集的資料。最後,我無法使用追蹤開始觸發器和停止觸發器來自動啟用或停用所收集資料的回報功能。通常,追蹤資料收集可自動啟動和停止,以在特定的設備事件之間收集資料,這是一項很實用的功能,能將資料收集的重點集中在特定的處理步驟或其他有意義的活動上。
EDA Freeze 3
幾年前,由我共同領導的 SEMI 北美 DDA(診斷與資料擷取)專案小組,決定著手進行下一版 EDA 標準套件(通常稱為 EDA Freeze 3)的開發工作。作為這項工作的一部分,我提出了一個希望專案小組能處理的問題。 也就是說,我希望能夠利用 EDA 標準以高於當今軌跡資料收集所提供的典型 10 Hz 頻率來蒐集資料。具體而言,我希望運用我在事件資料陣列解決方案中累積的經驗,實現 1000 Hz 甚至更快的資料蒐集速率,並將此功能納入 EDA 標準的核心組成部分,同時擺脫我現行解決方案的限制。這項新功能現被稱為「快取資料」(Cached Data)。
快取資料功能
這項新功能背後的運作原理很簡單。首先,允許 EDA 客戶端定義「快取資料請求」,並指定報告頻率、資料收集頻率,以及其他屬性,例如樣本數、開始觸發條件、停止觸發條件,以及觸發條件是否為週期性的。接著,由 EDA 伺服器將每個參數的資料以緊湊資料陣列的形式回報。
舉例來說,EDA 客戶可能會要求以 0.1 毫秒(10 千赫)的擷取間隔,以及 1 秒的報告間隔來擷取某個參數。結果將產生一組如下所示的「快取資料報告」:

該設備每 0.1 毫秒收集一次資料,並將數值儲存 1 秒,隨後以緊湊陣列的形式傳送包含所收集數值的「快取資料報告」。EDA 客戶端每秒接收一次資料,並會知悉資料的收集頻率。
限制
「快取資料」提案存在一些限制。例如,此類資料陣列報告方式僅適用於某些資料類型,如整數、浮點數、布林值和位元組。對於結構化資料或字串而言,此類資料報告方式並不實用。此外,並非所有資料都能或都應以如此高的頻率進行蒐集。要以如此高的頻率蒐集資料,需要專為高速資料蒐集而設計的強健軟體。 因此,EDA 提案中包含一種機制,讓參數元資料能指定何處可使用「快取資料」功能,並包含具體的最低與最高資料收集頻率。因此,「快取資料」功能預計僅適用於 EDA 伺服器專門設計用於提供此類高速資料收集的特定參數子集。
gRPC 與 Protocol Buffers
擬議的 EDA Freeze 3 標準還包含採用 gRPC 和 Protocol Buffer 技術,藉此使 EDA 擺脫基於 HTTP 的 SOAP/XML 架構。結合 Protocol Buffers 的 gRPC 是一種二進位介面解決方案。 提交給 DDA 專案小組的初步測試結果顯示,EDA 的吞吐量大幅提升,且頻寬需求亦有所降低。此外,測試結果證實,以緊湊陣列形式傳輸報告資料,在傳輸大量資料時效率遠高於其他方式。換言之,由於此項 EDA 協定變更,「快取資料」功能預期將發揮更顯著的效益。
SEMI 投票
SEMI 標準的全新投票週期即將展開,屆時我們將針對標準的新版本進行投票。 「快取資料」功能包含於兩份 SEMI 投票案中:投票案 6553,即《SEMI E134 資料收集管理規範》的重大修訂版;以及投票案 6527,即《SEMI E125 設備自我描述規範》的重大修訂版。 這兩項提案均計劃於 2020 年的 SEMI 第二輪投票週期中進行表決。專案小組成員目前正在審閱提案的最新修訂版本。
研究已顯示,當資料蒐集頻率從 1 Hz 提升至 10 Hz 時,工廠應用表現將大幅改善。隨著 EDA Freeze 3 效能的提升,當資料能以 1000 Hz、10 KHz 及更高的頻率進行蒐集與回報時,業界將能進一步顯著改善製造製程。