3 Research Groups: OCEAN (OverCome Error And Noise), STAR (Secure Trust And Reliability), and ML (Machine Learning).
This group focuses on the algorithms, VLSI implementations, and architectures of several widely used error correcting codes (ECC), which currently involve LDPC code and RS/BCH code.
應用於固態硬碟之低密度奇偶校正碼解碼器研究
Student: Li-Wei Liu / 劉力瑋 (Ph.D.)
Date: Dec. 2022
近幾十年來,固態硬碟在電競電腦、家庭娛樂系統、數據中心與自動駕駛汽車等應用領域不斷擴大。當代儲存系統以低密度奇偶校正碼作為糾錯碼解決方案來延長系統壽命。然而,快閃記憶體製造商以儲存元件之耐用性和數據留存能力作為代價,堆疊三維快閃記憶體結構,實現高存儲容量並降低生產成本。有鑒於此,日漸嚴苛的通道狀況將更加依賴高性能的低密度奇偶校正碼,無論在解碼演算法設計或是硬體架構實現都將充滿挑戰。
本論文首先研究快閃記憶體的錯誤特性以解決嚴苛通道狀況中所產生的錯誤。由於軟感測電位對於低密度奇偶校正碼的解碼性能有顯著影響,我們利用最大互信息方法從實際快閃記憶體通道中計算理論最佳化之軟感測電位。利用大量收集到的快閃記憶體通道資料,結合機器學習分群法將處理後的最佳軟感測電位收斂為四組。本論文提出的「基於機器學習分群法應用於三維快閃記憶體之軟感測電位」可以在固態硬碟上的 2KB 低密度奇偶校驗解碼器中提供額外的 73 位元的容錯能力。
由於固態硬碟在使用壽命上涵蓋大範圍的通道條件,當前固態硬碟大多採用異質化解碼器子系統,該系統主要由可靠的最小值-總和軟解碼器與低複雜度的高速位元翻轉硬解碼器所組成。位元翻轉解碼器因其有限的糾錯能力只能在固態硬碟的早期階段發揮作用。然而,新一代快閃記憶體的嚴苛通道條件不僅降低硬解碼引擎的使用率,也同時影響系統吞吐量。因此,固態硬碟對於更強大的硬解碼演算法與高速解碼器架構的需求將更加強烈。本論文提出「聯合懲罰項之梯度下降位元翻轉解碼演算法」,該演算法不僅具有低錯誤底限特性,並提供更快的收斂速度與優異的解碼性能。此研究亦提出「基於能量之回溯機制」,該硬體設計能以 0.8% 硬體複雜度代價減少 40% 的時間延遲。此研究採用台積電 16 奈米工藝來實現 4KB 低密度奇偶校正碼解碼器,在 0.120 mm^2 的面積下可達到 19.3 Gbps 的吞吐量,並滿足 ONFI 5.0 的速度要求。
最後,本論文探討大型循環置換矩陣在最小值-總和演算法上實現高平行度解碼器架構的可行性。在低密度奇偶校驗解碼器的硬體實現中,繞線擁塞一向都是後段設計中的一大挑戰。本論文對行列層解碼排序進行了定量分析。並採用採用雙變量節點單元叢集架構,充分利用 2KB 類循環歐氏幾何低密度奇偶校驗碼的結構,大幅提升解碼吞吐量。最後,我們應用「基於繞線擁塞之物理實現方法」提出適當的實體布局,得以於 70% 的利用率實現高度並行的解碼器。該解碼器採用台積電 28 奈米工藝實現,占用2.97 mm^2 的面積並於原始位元錯誤率 (RBER) 為 1.456% 的通道環境下提供 38.64 Gbps吞吐量。
以神經網路簡化解碼演算法與 GC-LDPC Codec 之設計實現
Student: Yu-Lun Hsu / 許毓倫 (M.S.)
Date: Jul. 2023
當資料傳輸或儲存在儲存設備中,有可能因為通訊通道中的雜訊、干擾,或是儲 存媒體的物理缺陷等因素導致錯誤的產生。錯誤更正碼透過添加冗余資訊,使接收端 可以利用這些冗余資訊來檢測並在可能的情況下修正這些錯誤。低密度機偶校正碼 (Low-Density Parity Check Code,LDPC Code) 是其中一種錯誤更正碼,它已經被應用在 許多標準中。除此之外,伴隨高速運算需求愈來愈高,對於記憶體容量的需求隨之大 增,除了製程的演進推動了記憶體的發展之外,各家廠商也透過多層單元儲存的技術 達到具有較低價格成本卻更高儲存密度的成果。然而,這項技術伴隨著記憶體性能、 可靠性下降的問題。LDPC code 可以符合記憶體高碼率、高碼長的需求,在擁有軟資訊 的情況下,擁有優秀的解碼能力,因此也成為儲存裝置內錯誤更正碼的主流演算法。
近年來,機器學習在各種領域上擴展,錯誤更正碼也不例外,除了傳統的解碼演算 法之外,也期望透過機器學習的協助,達到更佳的解碼能力。然而,受限於解碼器的 複雜度,碼長在大多數的作品中,被限制在中短碼長的 LDPC code,這得機器學習的運 用受到限制。
本論文針對 LDPC 解碼器,提出兩項技術。一、提出新的建碼技術,特殊的結構幫 助簡化神經網路運算; 二、以神經網路訓練單一最小值解碼器。規律的低密度機偶校 正碼以及低複雜度的演算法使解碼器在硬體實現上擁有高吞吐量、低面積的優勢。與 Normalized Min-sum 解碼器相比,所提出的解碼器可以實現更高的吞吐量,同時減少了 17%的面積。
應用於100Gbps乙太網路之低延遲里德-所羅門解碼器設計
Student: Yi-Chin Wang / 王怡晴 (M.S.)
Date: Aug. 2022
近年乙太網路正經歷著快速的規格進化,傳輸速度從 10 Gbps 漸漸進步到單線 100Gbps 的規格。而在乙太網路的應用領域中,里德-所羅門碼(Reed-Solomon)做為錯誤更正碼被廣泛使用,如目前正在制定中的 IEEE 802.3df 乙太網路規格。在這樣高速傳輸的系統裡,如何設計低延遲且有良好的更正能力的解碼器是目前主要的研究課題。
在目前的規格中皆使用僅可解錯誤的 RS 解碼器,為了得到更佳的解碼效能,我們使用可解錯誤和 erasure 的 RS 解碼器,對於一個擁有相同糾錯能力 (error-correcting capacity) 的里德-所羅門碼,可以利用解 erasure 的方法來達到可更正錯誤數目的兩倍。
本文提出了適用於 100Gbps 乙太網路規格的可解錯誤與 erasure RS 解碼器,透過改進原有解碼演算法的更新公式,可以讓計算徵狀值 (Syndrome Computation) 與解關鍵方程式 (Key Equation Solver) 的模組同時進行,在不需增加平行度的條件下節省徵狀值計算的計算時間並大幅減少總延遲。在 TSMC 40nm 的製程下,我們實作了可解錯誤與 erasure 的低延遲 RS(544,514) 解碼器,並在晶片中加入數位控制振盪器 (DCO)。在 post-layout的結果可以達到 100.64Gbps 的吞吐量和 111.6ns 的延遲時間。而在晶片的量測結果,吞吐量為 60.4Gbps,延遲時間則是 186ns。
The leading research focuses on various data encryption and decryption algorithms to protect data security during transmission and security analysis and protection of cryptographic chips. Cryptographic systems, such as Elliptic Curve Cryptography, AEAD, Cryptocurrency, Post-Quantum Cryptography, etc., and storage systems, such as Memory Authentication and Database/Storage Encryption, are also studied.
以標準元件開發非同步電路及其 AES 設計實現
Student: Zhi-Ting Dong / 董芷廷 (M.S.)
Date: July. 2024
晶片設計領域中,時脈 (Clock) 訊號面臨許多挑戰,像是時脈分佈、時脈偏差及硬 體安全等。本論文提出使用非同步設計(Asynchronous Design) 技巧,電路透過握手協議 (Hand-shaking Protocol) 控制資料移動,因此無須有Clock訊號;再者,其擁有事件驅動(Event-trigger)特性,僅在控制訊號到達時,電路才開始運作,此特性降低 Clock 帶來的動態功耗,預期可以達到省電效果;最後,針對硬體安全,非同步設計中因不具 Clock,無其所帶來的週期性驅動,為分析晶片運作所洩漏的物理訊息帶來難度,提升電路安全性。然而,現今市面上自動化工具多針對同步電路所設計,針對非同步電 路設計的工具及流程十分少見,因此本論文選擇自開發標準元件非同步設計流程,結合Chisel 高階語言建立非同步元件資料庫,搭配撰寫Script使流程自動化,便於在之後可以多方應用於其他設計。
實作應用上,本論文選擇進階加密標準 (AdvancedEncryptionStandard, AES) 作為設計目標,運用本論文提出之流程完成設計,並使用EDA工具驗證其正確性及時序。從模擬結果中可以發現,本論文提出的設計可以在模擬中 BestCase 達到 20.83Gbps 的吞吐量,並且達到0.62pJ/bit 的效能。針對硬體安全性的驗證,採用蒐集電路運昨時的 功耗信息,進行功耗分析攻擊,通過比較同步及非同步兩種版本 AES 的攻擊結果,佐 證了本論文提出的方式是可以透過原生的特性,提升晶片安全性。
Proposed Cell-based Asynchronous Design Flow
Asynchronous AES & Synchronous AES Die Shot
ChipWhisperer-lite and CW308 UFO
適用於後量子金鑰封裝之低延遲 CRYSTAL-Kyber 運算架構實現
Student: Hung-Kun Chang / 張弘坤 (M.S.)
Date: July. 2024
近年來,公鑰密碼學已經成為我們日常生活的一部分。而 RSA 和橢圓曲線加密等當 前方法可能容易受到量子電腦的攻擊。因此,人們正在研究後量子密碼學 (PQC),其 目標是抵禦來自量子電腦的攻擊。美國國家標準與技術研究院(NIST)自 2017 年以來 致力於 PQC 標準化工作,並於 2022 年 7 月選擇了包括 CRYSTALS-Kyber 在內的四種 PQC 演算法進行標準化。 本文介紹了我們的 Crystal Kyber 運算架構設計。為了低延遲,我們利用流式多項式 乘法器來實現管線數論變換,有效減少時序消耗。此外,我們採用預排序方法來優化 NTT/INTT 計算的輸入,並利用 K-RED 縮減來實現更快的模數運算。而在面積方面, 用於 NTT/INTT 操作的統一蝴蝶架構的整合有助於最大限度地減少面積使用。我們的 設計在 90/28 nm 技術的時序成本為 16.36/6.14 微秒,閘數為 1820k/1791k。
具防禦旁通道攻擊之通用型橢圓曲線運算引擎及其區塊鍊應用
Student: Shao-Peng Lai / 賴紹芃 (M.S.)
Date: Nov. 2022
橢圓曲線乘法為數位簽章演算法的核心運算,本論文中實作了 256-bit GF(p) 橢圓曲線乘法 (elliptic curve scalar multiplication) 的硬體設計,可變參數的設計使其能支援不同的曲線例如 secp256k1、NIST P256、Curve25519 等,將來若有新的曲線標準也能做支援。另外,BLS 簽章近期被數個區塊鏈項目採用,因此本論文也將基於同樣的設計進一步實作 BLS 簽章所使用的曲線 BLS12-381。本論文將對數位簽章簽署方和驗證方兩種情境做討論,在簽署方使用 PYNQ-Z2 平台以 FPGA 加速橢圓曲線運算完成簽章,並在 SAKURA-G 平台針對功率消耗的旁道攻擊 (Side-channel attack) 進行分析及防禦。驗證端則會以 ASIC 進行 BLS12-381 橢圓曲線配對的硬體設計。
在 pre-layout 的階段,TSMC 90nm 製程下我們的設計有 104.7k 的邏輯閘數,能以0.56ms 完成一次 256-bit 質數體 GF(p) 的橢圓曲線乘法並帶有 simple power analysis 的防禦,支援 BLS12-381 的硬體有 179.1k 的邏輯閘數,能以 2.42ms 完成一次基於 GF(p2)的橢圓曲線乘法。在 PYNQ-Z2 上,FPGA 能以 5.3ms 完成一次 256-bit 質數體的橢圓曲線乘法,以 22.2ms 完成一次基於 GF(p2) 的橢圓曲線乘法。針對旁道攻擊我們除了 simple power analysis 也加上了 differential power analysis 的防禦,我們取了 50 萬筆 power trace 並通過 TVLA 的檢測,代價是在執行時間上增加了 25%。橢圓曲線配對的硬體在 pre-layout 階段 TSMC90nm 的製程下需要 459.33k 的邏輯閘數,2ms 能完成一次 BLS12-381 橢圓曲線配對的運算。
Machine learning extracts features from data and uses machine learning methods to build particular models. This group recently focused on data analysis, biomedical image processing, human voice recognition, and some interesting issues.
應用於邊緣 AI 之可擴展 RISC-V 特殊指令集處理器架構
Student: Kuan-Wei Chen / 陳冠瑋 (M.S.)
Date: Jun. 2024
隨著即時、低功耗 AI 推論在智慧型手機、物聯網平台與嵌入式系統上的需求日益增加,傳統 CPU 在效率上往往難以勝任,而 ASIC 雖具高效能,卻缺乏應對快速演化的 AI 模型所需的彈性。此外,現有的硬體與軟體開發流程仍然分離,阻礙了設計協同與整體最佳化,並延遲了 AI 應用的部署。這些挑戰凸顯出一種可重定位且支援硬體–軟體協同設計的處理器設計方法的必要性。
本研究提出一款可自訂的 ASIP 架構 RISC-V 處理器,專為邊緣 AI 推論優化。該處理器使用 Synopsys ASIP Designer 開發,採用完整的設計流程,涵蓋指令集擴充、架構建模與軟體工具鏈生成。其主要架構特色包括 32-MAC 的 INT8 神經網路引擎、SIMD32 資料通路、融合型指令,以及基於 im2col 的資料流最佳化。本設計以 TSMC 28nm CMOS 製程進行實作,面積為 7.62 mm2。處理器運作頻率為 1 GHz,可提供 64 GOPS 的峰值運算效能,功耗為 198.63 mW,對應之功耗效率為 0.32 GOPS/W,面積效率為 8.4 GOPS/mm2。在 MLPerf Tiny 與 MobileViT 基準測試中,本設計分別於 ResNet、DS-CNN 與 MobileViT 上達到最高 13.5 倍、7.4 倍與 3.0 倍的加速表現。上述成果驗證了本研究提出之 ASIP 設計方法,能有效支援資源受限邊緣裝置的即時、節能 AI 推論任務,具備實用性與可擴展性。
運用分群提升端對端神經網路以實現即時可調式語者分隔
Student: Shao-Wen Cheng / 鄭紹文 (M.S.)
Date: Oct. 2022
多語者分隔是一項根據語者的獨特聲音特色將音頻記錄切分為片段的任務,簡而言之,即是處理”誰在什麼時候說話”。多語者分隔分類在過去主要是作為自動語音識別的預處理的部分。隨著自然語言過程快速的演進,一個合適的語者分割系統希望能達到一些要求,例如可以處理重疊區域、處理多語者的場景,自動估計語者的數量以及盡可能達到即時處理。
本論文提出了一種運用分群提升端對端神經網路的即時可調式多語者分隔模型。首先,我們使用預加重和音頻超分辨率作為預處理來調整音頻質量,然後使用背景噪聲添加、增加重疊語音作為數據增強的方式以防止於訓練階段過擬合。置換不變訓練的概念可以幫助選擇出最佳組合。運用分群提升端對端神經網路的可調式多語者分隔包括一個端到端語者分割模型及分群模型。系統中使用的滾動緩衝區是為了達到流式處理和實時處理,超參數選擇方法使我們在目標域中得以找到最佳解以獲得更精確的分類。最後,在評估階段,我們透過遷移學習的概念,使用在訓練階段完成的預訓練模型,將其在目標域中進行微調,微調後的模型用於推斷語者分隔的結果。從 Mini LibriSpeech 模擬混合資料集的實驗結果中可以發現到本論文提出的方式可以於多語者的情境下進行不錯的實時推斷。本論文提出的方式除了可以即時處理於不同語者數量的情境,在更接近實際應用的 CallHome 和 AMI Meeting 數據集中,在實時推斷的情況,於 AMI Meeting 數據集的 DER 中為 25.39%,在 CallHome 兩個語者的數據集的 DER 為 15.38%,在包括多個發言者的完整 CallHome 數據集的 DER 為 18.97%,同時,由於實時因子的值都小於一,佐證了本論文提出的方式可以進行實時處理。