錢升華
(天津財經大學珠江學院,天津 301811)
一臺計算機服務器是由成千上萬的芯片組成,而眾多芯片中,現在關注的是那些用于存儲相關信息的可讀寫芯片,例如:非易失性隨機訪問存儲器NVRAM[1],低功耗電可擦可編程讀寫存儲器EEPROM[2]。對于服務器主板的設計來說,設計者通常使用這些芯片來存儲一些硬件相關的重要訊息。例如:網絡控制器,存儲控制器,主板控制器等重要部件的硬件Firmware版本,ID,MAC地址,WWN碼,Date等。如果失去了這些信息或者信息錯誤,會造成整個計算機服務器系統的嚴重問題,甚至無法工作。
當然,這些信息在出廠后就不會輕易改變,但是隨著服務器主板上的子系統升級,部件的維修更新,以及特殊情況下的硬件信息獲取等需求的增多,原有的服務器設計并不能很好地滿足這些需求。幾萬甚至幾十萬元的服務器,可能因為一些小部件的問題,就要報廢,或者經過成本很高的返廠維修。
現在在服務器制造業界有對這些硬件Firmware信息更新的手段,但是方法很不統一。現在使用的技術方法有以下幾種:
(1)使用特殊的軟件工具進行讀寫燒錄芯片。

圖1 芯片燒錄軟件工具
(2)使用專有設備或特殊方法讀寫燒錄芯片,比如圖2中的MPLAB ICD2燒錄方法和圖3中的IC代燒錄工具。

圖2 MPLAB ICD2燒錄工具

圖3 IC代燒錄
(3)需要把芯片焊下,使用專用的設備進行讀寫燒錄芯片,最后再焊接回主板,可參考圖4。
對于讀寫服務器芯片由于沒有通用的方案,讀寫芯片的工作變得復雜,效率低下,成本高昂。對于這個問題,是否有更便捷,更通用的方法呢?

圖4 重新焊接芯片進行讀寫燒錄芯片方法
現在將描述一種通過無線方式,即近場通信NFC(Near Field Communication)[3]方法可完成服務器主板上符合要求的所有芯片的通用讀寫操作。近場通信,是一種新興的技術,使用了NFC技術的設備可以在彼此靠近的情況下進行數據交換。通過無線連接方式,將讀寫各種芯片的指令,讀寫內容,讀寫結果與被燒錄的服務器分離開來,通過無線協議連接,無線協議可以使用NFC,Bluetooth,WIFI等協議,最終選用了NFC。
方案具體實施如下:服務器端,需要設計支持一個通用JTAG的外置接口,該接口負責將服務器主板上的JTAG接口接至機箱外,請參考圖5。

圖5 服務器JTAG接口
還需要設計制做一塊連接NFC控制器和輸出JTAG信號的復雜可編程邏輯器件CPLD(Complex Programmable Logic Device)的插卡,叫做CPLD無線讀寫卡,負責連接JTAG外置接口,并收發無線信號。

圖6 CPLD無線讀寫卡

圖7 無線讀寫服務器芯片示意圖
在移動設備上實現支持邊界掃描技術的SVF控制芯片[4]讀寫程序,并支持讀寫腳本的運行。通用方案實際操作流程,參考圖7。
(1)關閉服務器的操作系統,或者完全斷電。
(2)將無線讀寫卡插入需要讀寫的服務器的外置JTAG接口。
(3)打開無線讀寫卡的電源開關。
(4)使用支持NFC的手機或者筆記本(芯片讀寫移動終端),靠近無線讀寫卡20cm內,并靜置。
(5)運行芯片讀寫移動終端上的芯片讀寫程序,連接無線讀寫卡。
(6)針對無線讀寫卡進行安全認證。
(7)針對服務器的Boundary scan電路進行完整性測試,保證Boundary scan的電路能夠正常工作。
(8)針對用戶選擇的讀寫腳本,針對所支持的該服務器的各芯片進行讀,寫,比較等操作。
(9)芯片讀寫移動終端返回操作結果,保存日志和讀取信息。
(10)芯片讀寫移動終端與無線讀寫卡斷開連接。
(11)關閉無線讀寫卡,并拔出。
設計實現連接NFC控制器和輸出JTAG信號的復雜可編程邏輯器件CPLD(Complex Programmable Logic Device)的插卡,叫做CPLD無線讀寫卡,負責連接JTAG外置接口,輸出JTAG信號,支持內部供電,或從服務器JTAG外部接口供電,對外能收發無線信號,主要針對NFC的無線信號。可參考圖6。
根據實際讀寫服務器芯片操作的距離,傳輸速度和功率要求進行選擇無線協議。選擇NFC,因為NFC雖然距離要求比較近,但功率低,速度也基本符合讀寫要求,完全能滿足對服務器芯片的讀寫操作。
邊界掃描技術Boundary Scan[5]是電子線路集成芯片的規范化、標準化的測試技術之一,它能夠使得集成電路的芯片得到規范化的測試,提供了對電路板上器件的功能、互連等進行測試的新途徑[6]。
邊界掃描技術針對掛接在所有支持邊界掃描技術的控制芯片上的可讀寫芯片進行讀寫操作,即通過支持邊界掃描的芯片與被讀寫的芯片連接,完成被讀寫芯片的操作,可參考圖8。

圖8 通過支持邊界掃描的芯片與被讀寫的芯片連接
將服務器主板上的內置JTAG connector連接至外部接口,可選支持對外部連接設備供電,請參考圖9。

圖9 JTAG Connector外部接口
無線讀寫服務器芯片的通用方案,主要有以下優點:一是可以使用任何支持無線連接的設備作為讀寫服務器芯片的上位機,即芯片讀寫移動終端。當前智能手機,筆記本,平板電腦等移動設備,大多支持無線通訊技術,因此上位機的選擇范圍很大。二是在不需要繁雜的物理連線而改用無線方式,接近即可直接讀寫服務器的芯片內容,被讀寫服務器,甚至不用挪動位置,打開機箱,大幅提升便捷性。使運營維修,發現故障并修理等維護工作變得簡單易行,從而降低運維成本。三是由于目前服務器上大部分可讀寫芯片都已經掛接在邊界掃描鏈上,所以只需要針對JTAG接口做一定設計,把JTAG連接至機箱外,即可對大部分芯片進行讀寫,而且使用的接口和方法都更為通用。四是通過預先編輯好的讀寫腳本,由芯片讀寫移動終端自動下放到服務器上執行,使讀寫操作易于擴展。