AMD EPYC 7002 處理器有個奇怪的 bug,會讓核心在 3 年後當機

AMD EPYC 7002 處理器有個奇怪的 bug,會讓核心在 3 年後當機 3

歡迎免費訂閱Google 新聞」、追蹤FB 粉專」、「IG」、「YouTube」、「Dcard」、「TikTok」或加入討論社團」,並且可以透過「小額贊助」方式支持本站所有媒體持續營運!

【文章在 2023-06-04 更新過內容】

AMD 最近公佈了 EPYC 7002「羅馬」伺服器晶片的最新修正指南,裡面揭露了一個有趣的 bug(錯誤),這個 bug 會讓晶片上的一個核心在運作 1,044 天(約 2.93 年)後當機,之後你就必須重啟伺服器才能讓晶片正常運作,AMD 表示它不會修復這個問題,AMD 對這個影響它的第二代 EPYC 處理器(AMD 的第四代 Genoa 晶片是最新的)的問題的描述很簡潔。

AMD EPYC 7002 bug 的原因是什麼?

AMD EPYC 7002 處理器有個奇怪的 bug,會讓核心在 3 年後當機 5

這個問題是由於核心無法退出 CC6 睡眠狀態造成的,但 AMD 說故障發生的時間可能會因為頻譜展開和 REFCLK 頻率而有所不同,後者是幫助晶片記錄時間的參考時鐘。

Reddit 用戶 acid_migrain 對核心當機的確切時間有一個合理的理論,他說:「儘管他們這麼說,問題實際上是在 1042 天和大約 12 小時後出現的。TSC 以 2800 MHz 的速度滴答,而 2800 * 10**6 * 1042.5 天幾乎等於 0x380000000000000,這有太多個零了,不可能是巧合。」解決方法很簡單,只要在 1,044 天的運作時間之前重啟(這會重置 CPU 並重新開始你的 1,044 天「計時器」),或者禁用 CC6 睡眠狀態。

雖然這個 2.93 年核心當機的 bug 很有趣,但問題是它是否真的重要,當然它很重要,儘管安全更新和維護應該在更短、更短的間隔內完成,最現實的情況可能只是那些使用 Linux 實時補丁功能或 kexec 在不重啟的情況下更新的人,這肯定會導致觸發 bug 的延長運作時間。

晶片中的錯誤很常見

當有數十億個電晶體在運作時,問題是不可避免的,晶片有一千個或更多的錯誤/ bug 在推出之前就被修正了,這些錯誤/ bug 要麼在晶片達到最終出貨修訂期間被發現,要麼在之後被發現。

這些錯誤可以涵蓋各種 bug,從安全漏洞到不正常運作的標誌和快取標籤,而晶片製造商會盡力在推出之前解決它們,然而總是會有一些錯誤仍然存在,甚至在出貨的晶片中也是如此,例如 Intel 的第 8 代晶片仍然有超過 150 個列出的錯誤,而這些晶片是在 2017 年推出的。

我們不知道羅馬晶片有多少錯誤,因為 AMD 已經移除了已經解決的錯誤的列表,但我們知道還有 39 個錯誤沒有解決,這實際上與 Intel 的背景相比並不算太壞,有些錯誤是因為它們沒有造成任何傷害而被忽略的,但除了可能留下攻擊向量的關鍵錯誤之外,一些與功能相關的錯誤也從未被修復。

晶片製造商會權衡修復錯誤的嚴重性、解決問題的容易程度以及是否有足夠數量的錯誤來值得啟動另一個步進,其他 bug 可以通過軟體或韌體修復,但修復可能會導致性能降低,給晶片製造商帶來另一個因素要考慮。

為什麼 AMD 沒有早點發現它?

2.93 年比驗證和品質測試周期要長,而且不清楚加速老化測試是否能捕捉到這個 bug,加速老化測試通常涉及在長時間內以高於正常溫度測試設備,以模擬老化過程,AMD EPYC 羅馬晶片是在 2018 年底推出的,所以也許 AMD 的一些客戶已經以最困難的方式遇到了這個問題。

AMD 並不會修復這個問題,也許該公司認為這個問題在矽晶片上修復的成本太高,無論如何,禁用伺服器的 CC6 睡眠狀態可以避開這個問題,或者你可以每隔 1,000 天左右確保重啟一次。

延伸閱讀:NVIDIA 今年要吃下 60% 的 AI 市場,AMD 在雲端超越 Intel

參考資料

最新文章

  • 文章內容有誤、文章轉載、文章需要更新或有商業合作需求,都歡迎透過「聯絡我」來一起聊聊。
  • 由於文章留言功能已經關閉,有其他問題請透過「綜合疑難雜症討論區」尋求幫助,這是一個互助討論的 FB 社群,我有時間也會親自回覆。
  • 部落格內某些連結是聯盟行銷,如果你透過連結購買產品,我會得到些許回饋,但不影響購買原始價格,詳細請參閱「免責聲明」。
  • 部落格全站內容皆為免費教學版權為本站所有,如要轉載請先來信溝通,詳細資訊請看「隱私權政策」。
  • 如果你願意的話,可以透過「小額贊助」管道支持本站。
Scroll to Top