輸入輸出通信接口、基於該接口的數據備份和恢復方法與流程
2023-04-26 20:37:42 2

本發明涉及通信接口設計領域,具體地,涉及一種非易失的輸入輸出通信接口、及基於該接口的數據備份和恢復方法。
背景技術:
隨著近年來物聯網和可穿戴可植入設備的飛速發展,人們的日常生產和生活得到了日益改善。與此同時,人們對於這些能量受限系統的計算性能的要求也愈發提高,而高計算性能意味著系統能耗的提升,設備的工作時長成為一個亟需解決的問題。傳統採用電池供電的系統,存在電池容量受限、重量和體積大以及維護費用昂貴的問題。而能量採集系統,因其能源清潔、無需更換電池、可長時間持續供電的優勢,正在得到人們越來越多的關注。但是,自供能系統存在著能量少、變化劇烈以及無法預測的缺陷,頻繁的斷電使得傳統處理器的計算效率和穩定性大大降低。新型的非易失存儲技術能夠在斷電後長時間保存數據,使得系統斷電之前的進程在上電後快速得到恢復。因此,非易失存儲技術成為解決自供能系統頻繁斷電問題的重要途徑。
在自供能系統中,主要存在以下兩種任務:數據計算和數據通信。現有的非易失處理器通過對內存和通用數據寄存器進行非易失化,當系統發生斷電時,內存和寄存器中的數據被快速備份到非易失存儲單元中,重新上電時非易失存儲單元中的數據又能被恢復,計算進度和中間數據得以保存,從而使得計算任務能夠不受斷電影響繼續執行,大大提升系統計算效率。然而,處理器的輸入輸出通信接口依然是易失的。當發生斷電時,輸入輸出總線上正在傳輸的數據會丟失,並且輸入輸出接口內部的初始化信息也都會丟失。即使重新上電,數據通信依然會發生錯誤,而採用傳統全局備份到片外Flash的方法,當自供能系統重啟時,首先處理器對輸入輸出接口需要重新初始化,然後主器件對從器件的功能控制寄存器進行配置,該過程需要處理器控制並且通過輸入輸出總線執行。不僅如此,對於掛接有多個器件的總線架構,所有器件的初始化過程需要串行依次執行,所帶來的時間的開銷為所有從器件初始化時間總和,能量也為線性累加的關係。因此,當單個器件初始化過程比較漫長(毫秒級別)或者輸入輸出總線掛接的從器件數目很多時,自供能系統初始化過程會引入非常大的時間開銷和能量開銷。
技術實現要素:
本發明的目的是提供一種非易失的輸入輸出通信接口、及基於該接口的數據備份和恢復方法。其中,所述非易失的輸入輸出通信接口所要解決的技術問題是:如何避免現有技術中通過輸入輸出總線來回搬移數據的操作,從而大大降低自供能系統中輸入輸出通信接口的數據備份和恢復的時間開銷和能量開銷。
為了實現上述目的,本發明提供一種非易失的輸入輸出通信接口。所述非易失的輸入輸出通信接口包括:
電壓監測單元、與所述電壓監測單元連接的控制器以及與所述控制器連接的非易失觸發器;
所述電壓監測單元,用於監測所述輸入輸出通信接口的供電電壓,並根據所述供電電壓與預設的電壓閾值的比較結果輸出相應的休眠喚醒信號;
所述控制器,用於根據所述休眠喚醒信號獲取所述輸入輸出通信接口的通電狀態,並根據所述通電狀態產生讀寫控制信號,及將所述讀寫控制信號發送至所述非易失觸發器,以使得所述非易失觸發器進行讀寫數據,從而實現數據的備份或恢復。
可選地,所述電壓監測單元,具體用於:
在所述供電電壓小於或等於所述預設的電壓閾值的情況下,將所述休眠喚醒信號設置為低電平;
在所述供電電壓大於所述預設的電壓閾值的情況下,將所述休眠喚醒信號設置為高電平。
可選地,所述控制器,具體用於:
在檢測到所述休眠喚醒信號的上升沿的情況下,得到所述輸入輸出通信接口的通電狀態為上電狀態,並根據所述上電狀態產生寫控制信號,及將所述寫控制信號發送至所述非易失觸發器,以使得所述非易失觸發器進行寫數據操作,從而實現數據的恢復;
在檢測到所述休眠喚醒信號的下降沿的情況下,得到所述輸入輸出通信接口的通電狀態為掉電狀態,並根據所述掉電狀態產生讀控制信號,及將所述讀控制信號發送至所述非易失觸發器,以使得所述非易失觸發器進行讀數據操作,從而實現數據的備份。
可選地,所述控制器包括:
時序單元及與所述時序單元連接的有限狀態機;
所述時序單元,用於產生讀寫控制信號的時序邏輯;
所述有限狀態機,用於根據所述休眠喚醒信號和所述時序邏輯產生相應的讀寫控制信號。
可選地,所述非易失觸發器包括:
觸發器、第一開關裝置、第二開關裝置以及非易失存儲單元;
其中,所述觸發器通過所述第一開關裝置和所述第二開關裝置與所述非易失存儲單元連接。
可選地,在所述非易失觸發器接收到讀控制信號的情況下,所述第一開關裝置和所述第二開關裝置導通,所述非易失存儲器讀取所述觸發器中的數據;
在所述非易失觸發器接收到寫控制信號的情況下,所述第一開關裝置和所述第二開關裝置導通,將所述非易失存儲器中存儲的數據寫入所述觸發器中。
可選地,所述非易失的輸入輸出通信接口還包括:
電源裝置,與所述電壓監測單元、所述控制器以及所述非易失觸發器連接,用於為所述電壓監測單元、所述控制器以及所述非易失觸發器提供電源。
可選地,所述電源裝置包括緩存電容。
相應地,本發明還提供一種基於非易失的輸入輸出接口的數據備份方法。所述方法包括:
採用觸發器到非易失存儲單元的位到位的全並行策略實現數據備份;或
將M個觸發器組合成N組觸發器陣列,並通過N位多路選擇器將所述N組觸發器陣列連接到M×N的非易失存儲器陣列,從而實現數據組到組的部分並行備份,
其中,M和N均表示常數。
相應地,本發明還提供一種基於非易失的輸入輸出接口的數據恢復方法。所述方法包括:
採用觸發器到非易失存儲單元的位到位的全並行策略實現數據恢復;或
將M個觸發器組合成N組觸發器陣列,並通過N位多路選擇器將所述N組觸發器陣列連接到M×N的非易失存儲器陣列,從而實現數據組到組的部分並行恢復,
其中,M和N均表示常數。
由上述技術方案可知,電壓監測單元監測輸入輸出通信接口的供電電壓,並根據供電電壓與預設的電壓閾值的比較結果輸出相應的休眠喚醒信號,然後,控制器根據休眠喚醒信號獲取輸入輸出通信接口的通電狀態,並根據通電狀態產生讀寫控制信號,及將讀寫控制信號發送至非易失觸發器,以使得非易失觸發器進行讀寫數據,從而實現數據的備份或恢復,避免了現有技術中通過輸入輸出總線來回搬移數據的操作,從而大大降低自供能系統中輸入輸出通信接口的數據備份和恢復的時間開銷和能量開銷。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹。顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些圖獲得其他的附圖。
圖1是本發明一實施例提供的非易失輸入輸出通信接口與現有的易失輸入輸出接口的對比示意圖;
圖2是本發明一實施例提供的非易失輸入輸出通信接口的工作方式與現有的易失輸入輸出接口的工作方式的對比示意圖;
圖3是本發明一實施例提供的非易失輸入輸出通信接口與現有的易失輸入輸出接口分別對不同傳感器的時間開銷的對比示意圖;
圖4是本發明一實施例提供的非易失輸入輸出通信接口與現有的易失輸入輸出接口分別對不同傳感器的能量開銷的對比示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
現有技術中自供能系統的輸入輸出總線上掛接的從器件數據備份和恢復需要在處理器和片外非易失存儲器的參與下,通過輸入輸出通信接口執行數據讀出和寫入過程,該過程會引入較大的時間開銷和功耗開銷。此外,同一時刻最多有一個設備佔據輸入輸出總線,自供能系統總的備份和恢復時間隨器件數目增加而線性增大。因此,本發明提供一種非易失的輸入輸出接口。該接口是基於對現有的輸入輸出接口內部需要進行掉電備份的存儲單元進行非易失化,使得器件掉電時重要數據能夠在本地進行備份和恢復,從而避免了傳統數據全局備份方案中數據通過輸入輸出總線來回搬移的操作,自供能系統總的備份和恢復的時間開銷和能量開銷大大降低。
本發明提供的非易失的輸入輸出接口的設計,包括以下幾個步驟:
首先,根據不同器件輸入輸出接口的具體電路結構,抽象出通用輸入輸出接口內部的數據存儲模型。
其次,將輸入輸出接口內部重要的初始化信息易失存儲單元使用非易失觸發器進行替換。
再次,設計對應的電壓監測單元,以產生對應的休眠喚醒信號。
最後,設計非易失觸發器的控制器,以控制非易失觸發器的數據讀寫過程。
具體地,本發明提供的非易失的輸入輸出接口包括:電壓監測單元、與所述電壓監測單元連接的控制器以及與所述控制器連接的非易失觸發器;所述電壓監測單元,用於監測所述輸入輸出通信接口的供電電壓,並根據所述供電電壓與預設的電壓閾值的比較結果輸出相應的休眠喚醒信號;所述控制器,用於根據所述休眠喚醒信號獲取所述輸入輸出通信接口的通電狀態,並根據所述通電狀態產生讀寫控制信號,及將所述讀寫控制信號發送至所述非易失觸發器,以使得所述非易失觸發器進行讀寫數據,從而實現數據的備份或恢復。
其中,所述電壓監測單元,具體用於:在所述供電電壓小於或等於所述預設的電壓閾值的情況下,將所述休眠喚醒信號設置為低電平;在所述供電電壓大於所述預設的電壓閾值的情況下,將所述休眠喚醒信號設置為高電平。
其中,所述控制器,具體用於:在檢測到所述休眠喚醒信號的上升沿的情況下,得到所述輸入輸出通信接口的通電狀態為上電狀態,並根據所述上電狀態產生寫控制信號,及將所述寫控制信號發送至所述非易失觸發器,以使得所述非易失觸發器進行寫數據操作,從而實現數據的恢復;在檢測到所述休眠喚醒信號的下降沿的情況下,得到所述輸入輸出通信接口的通電狀態為掉電狀態,並根據所述掉電狀態產生讀控制信號,及將所述讀控制信號發送至所述非易失觸發器,以使得所述非易失觸發器進行讀數據操作,從而實現數據的備份。
更為具體地,所述控制器包括:時序單元及與所述時序單元連接的有限狀態機;所述時序單元,用於產生讀寫控制信號的時序邏輯;所述有限狀態機,用於根據所述休眠喚醒信號和所述時序邏輯產生相應的讀寫控制信號。
更為具體地,所述非易失觸發器包括:觸發器、第一開關裝置、第二開關裝置以及非易失存儲單元;其中,所述觸發器通過所述第一開關裝置和所述第二開關裝置與所述非易失存儲單元連接。
其中,在所述非易失觸發器接收到讀控制信號的情況下,所述第一開關裝置和所述第二開關裝置導通,所述非易失存儲器讀取所述觸發器中的數據;在所述非易失觸發器接收到寫控制信號的情況下,所述第一開關裝置和所述第二開關裝置導通,將所述非易失存儲器中存儲的數據寫入所述觸發器中。
優選地,所述非易失的輸入輸出通信接口還包括:電源裝置,與所述電壓監測單元、所述控制器以及所述非易失觸發器連接,用於為所述電壓監測單元、所述控制器以及所述非易失觸發器提供電源。
在具體的實施方式中,所述電源裝置包括緩存電容。在非易失的輸入輸出通信接口處於上電狀態的情況下,緩存電容處於充電狀態,積蓄電能。在非易失的輸入輸出通信接口處於掉電的情況下,緩存電容處於放電狀態,釋放電能。
圖1是本發明一實施例提供的非易失輸入輸出通信接口與現有的易失輸入輸出接口的對比示意圖。如圖1所示,在現有的易失輸入輸出接口中,一些重要的初始化信息使用易失的寄存器存儲,這些寄存器一般使用D觸發器實現。當易失的輸入輸出接口發生掉電時,寄存器中的數據就會丟失。因此,需要額外的非易失存儲晶片用於集中存儲所有器件輸入輸出接口的初始化信息。通過對輸入輸出接口進行非易失化可以避免該過程。本申請的申請人使用非易失觸發器(Non-volatile flip-flop,NVFF)替換現有的D觸發器,實現電路如圖1所示。NVFF採用主從兩級D觸發器實現,其中,從級觸發器與非易失存儲單元(Non-volatile memory,NVM)通過M1和M2兩個CMOS開關相連,RW、PL、PCH信號用於控制NVM數據的讀寫,CG為時鐘門控信號,控制D觸發器和NVM的時鐘輸入。掉電時,在控制信號的控制下,M1和M2導通,D觸發器同時被CG信號門控,然後其中的數據被寫入相應的NVM進行備份,上電時,NVM中的數據讀出到對應的D觸發器進行恢復。
為了實現對非易失的輸入輸出接口的備份和恢復過程的控制,對應的控制電路(包括電壓監測單元、非易失觸發器控制單元)也被提出,如圖1所示,主要包括緩存電容、電壓監測單元和非易失觸發器控制器(flip-flop controller,FFC)三部分。緩存電容存儲用於數據備份和恢復的能量。電壓監測單元用於實時監測輸入輸出接口的供電電壓,當電壓低於某一閾值時,輸出的休眠喚醒信號W/S被置0,反之,高於某一閾值則W/S被置為1。非易失觸發器控制單元FFC用於產生NVFF的讀寫控制信號。通過檢測W/S信號的上升沿和下降沿,FFC可獲知系統即將進入備份狀態(掉電狀態)或是恢復狀態(上電狀態)。FFC內部的有限狀態機產生對應的控制信號(RW、PL、PCH、CG)輸出。控制信號的時序邏輯由FFC內部的時序單元產生。
其中,本發明提供的非易失的輸入輸出通信接口面向自供能系統的無線傳感器節點,適用於主器件和從器件的輸入輸出通信接口。
在本實施例中,電壓監測單元監測輸入輸出通信接口的供電電壓,並根據供電電壓與預設的電壓閾值的比較結果輸出相應的休眠喚醒信號,然後,控制器根據休眠喚醒信號獲取輸入輸出通信接口的通電狀態,並根據通電狀態產生讀寫控制信號,及將讀寫控制信號發送至非易失觸發器,以使得非易失觸發器進行讀寫數據,從而實現數據的備份或恢復,避免了現有技術中通過輸入輸出總線來回搬移數據的操作,從而大大降低自供能系統中輸入輸出通信接口的數據備份和恢復的時間開銷和能量開銷。
相應地,本發明還提供一種基於非易失的輸入輸出接口的數據備份方法。所述方法包括:採用觸發器到非易失存儲單元的位到位的全並行策略實現數據備份;或將M個觸發器組合成N組觸發器陣列,並通過N位多路選擇器將所述N組觸發器陣列連接到M×N的非易失存儲器陣列,從而實現數據組到組的部分並行備份,其中,M和N均表示常數。
在具體的實施方式中,需要用於下次上電時輸入輸出接口初始化的數據,存儲於非易失輸入輸出接口的非易失寄存器中,實現數據的本地備份。本地數據備份時,可以採用觸發器到非易失存儲單元的位到位的全並行策略,或者將觸發器組合成陣列備份到非易失存儲單元陣列的組到組的部分並行本地備份策略。
相應地。本發明還提供一種基於非易失的輸入輸出接口的數據恢復方法。所述方法包括:採用觸發器到非易失存儲單元的位到位的全並行策略實現數據恢復;或將M個觸發器組合成N組觸發器陣列,並通過N位多路選擇器將所述N組觸發器陣列連接到M×N的非易失存儲器陣列,從而實現數據組到組的部分並行恢復,其中,M和N均表示常數。
在具體的實施方式中,需要系統上電時輸入輸出接口初始化的數據,存儲於非易失的輸入輸出接口的非易失寄存器中,實現數據的本地恢復。在本地數據恢復時,可以採用觸發器到非易失存儲單元的位到位的全並行策略,或者將觸發器組合成陣列備份到非易失存儲單元陣列的組到組的部分並行本地恢復策略。
其中,本發明提出的基於非易失的輸入輸出接口的本地數據恢復和備份的方法,包括兩個主要方面:數據備份網絡拓撲結構和非易失的輸入輸出接口。使用全並行本地數據備份,可以實現單時鐘周期內數據的備份和恢復,大大提升系統掉電和上電的響應速度。
圖2是本發明一實施例提供的非易失輸入輸出通信接口的工作方式與現有的易失輸入輸出接口的工作方式的對比示意圖。如圖2所示,非易失的輸入輸出接口在自供能系統的數據備份和恢復時的工作流程與現有的易失輸入輸出接口大為不同。對於現有的易失輸入輸出接口,掉電時,CPU首先通過輸入輸出總線從每個從器件中讀取初始化寄存器中的數據,然後再通過輸入輸出總線寫入一個獨立的片外非易失存儲單元中,一般為Flash。上電時,CPU首先通過總線從非易失存儲單元中讀取數據,然後通過總線依次對每個器件進行初始化。數據的備份和恢復都有CPU的全程參與,並且都需要通過串行總線進行數據的傳輸,所需的時間開銷和功耗開銷由以下公式進行計算:
備份時間:
備份能量:
恢復時間:
恢復能量:
其中,傳感器總數為N,傳感器i的初始化數據量為ni,Ti_r、Ei_r、Ti_w和Ei_w分別表示傳感器i中單位初始化數據的讀時間、讀取傳感器i中單位初始化數據的所需能量、將單位初始化數據寫入傳感器i中的寫入時間以及將單位初始化數據寫入傳感器i中所需的能量。TIO和EIO分別表示單位初始化數據在輸入輸出總線上的傳輸時間和所需能量,TNVM_r、ENVM_r、TNVM_w和ENVM_w分別表示片外非易失存儲器在傳感器中讀取單位初始化數據所需的時間、片外非易失存儲器在傳感器中讀取單位初始化數據所需的能量、片外非易失存儲器將單位初始化數據寫入傳感器的時間以及片外非易失存儲器將單位初始化數據寫入傳感器所需的能量,PNVP表示非易失處理器工作的平均功率。
然而,對於非易失的輸入輸出接口,所有器件在掉電時同時進行本地備份,數據直接寫入本地片內的NVFF中,上電時,同時進行數據恢復,數據從本地NVFF中讀回寄存器的觸發器中。整個過程不需要CPU和輸入輸出總線的參與,不同器件的備份和恢復可全並行或部分並行執行,並且同一個器件內部的所有NVFF也可以同時並行或部分並行讀寫。採用全並行備份/恢復策略時,每個寄存器的D觸發器都與一個1-bit的非易失存儲單元相連,實現位到位的全並行本地備份/恢復。採用部分並行備份/恢復策略時,可將M個D觸發器組成N組觸發器陣列,N組觸發器陣列通過一個N位多路選擇器Mux連接到一個M×N-bit的非易失存儲陣列,每組觸發器陣列可並行讀寫非易失存儲陣列,實現組到組的部分並行本地備份/恢復。
因此,數據的備份和恢復時間分別為單個(採用全並行策略)或N個(採用部分並行策略)NVFF的寫時間和讀時間。備份能耗為:
恢復能耗為:
其中,ENVFF_w和ENVFF_y分別表示非易失觸發器將單位初始化數據寫入傳感器所需的能量和非易失觸發器在傳感器中讀取單位初始化數據所需的能量。
圖3是本發明一實施例提供的非易失輸入輸出通信接口與現有的易失輸入輸出接口分別對不同傳感器的時間開銷的對比示意圖。圖4是本發明一實施例提供的非易失輸入輸出通信接口與現有的易失輸入輸出接口分別對不同傳感器的能量開銷的對比示意圖。對於不同的器件,考察其在掉電和上電時的備份/恢復的時間開銷和能量開銷,結果如圖3和圖4所示。
在本實施例中,提出了一種實現通信接口快速備份和恢復的非易失輸入輸出電路結構設計。該方案主要包括非易失輸入輸出接口的實現和本地備份恢復拓撲結構及工作流程的實現。該方案提出了用NVFF對輸入輸出接口中的初始化數據寄存器進行替代的非易失化設計方法,並提出相應的電壓監測電路及NVFF控制電路實現方法,支持對所有器件全並行或部分並行地進行本地備份和恢復。該方案還給出了具體的備份和恢復的時間開銷和功耗開銷的計算方法。實驗結果表明該方案能夠比現有集中式串行方法實現時間的功耗高達17倍和25倍地降低。
以上結合附圖詳細描述了本發明的優選實施方式,但是,本發明並不限於上述實施方式中的具體細節,在本發明的技術構思範圍內,可以對本發明的技術方案進行多種簡單變型,這些簡單變型均屬於本發明的保護範圍。
另外需要說明的是,在上述具體實施方式中所描述的各個具體技術特徵,在不矛盾的情況下,可以通過任何合適的方式進行組合,為了避免不必要的重複,本發明對各種可能的組合方式不再另行說明。
此外,本發明的各種不同的實施方式之間也可以進行任意組合,只要其不違背本發明的思想,其同樣應當視為本發明所公開的內容。