由安全關鍵系統中的可編程電路測試存儲器的裝置和方法
【專利摘要】本發明涉及一種方法和裝置。在該方法中,可編程隨機訪問存儲器測試電路檢測用于發起至少一個隨機訪問存儲器電路的測試的信號,該測試電路連接至總線,處理器和至少一個存儲器電路與該總線進行連接,該至少一個存儲器電路包括至少第一存儲器模塊。該測試電路確定該總線并未被保留并且保留該總線。該測試電路將第一存儲器分塊中的應用數據讀取至測試電路的臨時存儲器中。該測試電路對存儲器電路中的第一存儲器分塊執行跨步測試。該測試電路將應用數據返回至存儲器電路中的第一存儲器分塊。該測試電路釋放該總線。若對于除存儲器測試以外的其它目的不需要進行總線分配,該測試電路可以再次保留該總線。隨即該測試電路可以進行第二存儲器分塊的測試。
【專利說明】由安全關鍵系統中的可編程電路測試存儲器的裝置和方法
【技術領域】
[0001]本發明涉及安全關鍵裝置、隨機訪問存儲器測試,以及用于在安全關鍵系統中進行隨機訪問存儲器測試的電路。
【背景技術】
[0002]在安全關鍵系統中,所有系統組件的正確且無故障的操作都是必要的。這樣的安全關鍵系統的示例包括航空器飛行控制系統、心臟起搏器和升降機安全系統。升降機安全系統對升降機的安全方面進行控制,諸如各種故障情形中的升降機操作。一定有必要的是,能夠應用升降機制動,接收并傳輸呼救信號,檢查過載、檢查火警響起以及在對于乘客而言門的開啟是安全的任何時候確保門的開啟。升降機安全系統可以獨立于諸如娛樂、商業、娛樂咨詢或升降機驅動功能之類的其它非關鍵系統,例如從樓層對升降機廂進行呼叫的服務。升降機中的安全系統和呼叫服務系統可以在物理上分離的硬件平臺上運行。升降機安全系統通常采集與如下相關的大量傳感器信息:升降機負載、移動、來自用戶的信號、來自諸如廳門安全觸點(contact)的安全觸點的信號、以及各種其它系統組件的狀態。這意味著升降機安全系統必須針對在中央處理器、傳感器、安全觸點、控制中繼和控制電路之間進行接收和傳輸的信號具有有限的響應時間,上述控制中繼和控制電路可以進一步被連接至升降機驅動電機和門控制器電路。
[0003]安全關鍵系統普遍要進行測試和功能驗證。安全關鍵系統的正確操作必須逐個組件地進行驗證。這樣的組件的示例是中央處理器、存儲器、消息總線以及連接至該消息總線的各種外設。存在對升降機中的安全關鍵系統進行管理的某些安全性標準。其示例包括安全相關應用中的可編程電子系統(PESSRAL)。國際標準組織(ISO)標準22201:2009可應用于在住宅家住、辦公室、醫院、賓館、工業廠房等中使用的客梯、貨/客梯。IS022201:2009覆蓋了可編程電子系統被用來執行電梯的電氣安全功能時(PESSRAL)所需要解決的那些方面。
[0004]安全關鍵升降機系統中的一個重要方面是存儲器的正確工作。存儲器單元可能被卡在某些數值,它們可能不會變換至另一數值,或者地址解碼器隨后選擇存儲器單元的行或列而基于可能完全錯誤驅動或僅針對某個地址范圍進行驅動的地址線進行訪問。存儲器單元還可能泄露至相鄰存儲器單元。存儲器故障會對安全關鍵系統中曾經良好工作的應用導致微妙的錯誤行為或者它們會導致整個系統凍結。
[0005]在計算機開機或重啟時經常在標準個人計算機隨機訪問存儲器(RAM)中進行測試。然而,這對于安全關鍵的升降機系統而言可能并不夠。首先,安全關鍵的升降機系統在延長的時間段內保持啟動而并不頻繁重啟或者開關。其次,在安全關鍵系統操作的同時,也必須在任何情況下對存儲器進行測試。因此,這帶來了在安全關鍵系統軟件執行的同時對安全關鍵系統的存儲器進行測試的需求。不可能為了執行完整的存儲器測試而由系統處理器延后系統軟件的執行。用于由系統處理器按部分對存儲器進行測試的碎片方法也涉及許多問題。在存儲器由處理器測試時,必須確保存儲器測試并不會意外導致對正在被測試的存儲器區域的寫入。這需要編程人員相當小心以避免使用對RAM進行寫入的機器代碼指令。還需要要檢查高級編程語言編譯器所生成的機器代碼。當處理器被用于存儲器測試時,必須禁用軟件和硬件中斷,這導致了干擾。中斷可能不會足夠快地得到處理,這向安全關鍵系統引入了延時。處理器所進行的存儲器測試轉變了正常的處理或線程調度,這會導致安全關鍵系統不確定的表現。例如,系統可能對于關鍵信號過于緩慢地反應,過于緩慢地監視關鍵傳感器,或者過于緩慢或過晚地執行關鍵計算。安全關鍵系統中與處理器進行通信的外設必須始終具有某個可用操作速度。通常,通過處理器所運行的RAM測試的方式侵擾處理器的工作是非常冒險的。
[0006]針對RAM測試的處理器使用還涉及另外的問題。自始至終,當涉及存儲器測試程序代碼的安全關鍵系統有所變化時,整個安全關鍵系統都必須進行測試并且必須利用全面的測試對其功能進行驗證。對于編程人員而言,進行改變的負擔變得非常之高。如果軟件開發工具改變,例如當引入新的編譯器版本時,安全關鍵系統還必須進行重新測試。
[0007]因此,能夠執行作為獨立實體的存儲器測試將會是有利的,該作為獨立實體的存儲器的正確工作可以被單獨地驗證。
【發明內容】
[0008]根據本發明的一個方面,本發明是一種方法,包括:由隨機訪問存儲器測試電路接收要發起至少一個隨機訪問存儲器電路的測試的信號,該測試電路被連接至總線,處理器和該至少一個隨機訪問存儲器電路與該總線連接,該至少一個隨機訪問存儲器電路包括至少第一存儲器分塊;確定該總線并未被保留;由該測試電路保留該總線;經由該總線將該第一存儲器分塊中所包括的第一應用數據讀取至該測試電路;將該第一應用數據存儲至與該測試電路相關聯的臨時存儲器;由該測試電路經由該總線將至少一個第一數據模式寫入第一存儲器分塊;由該測試電路經由該總線從該第一存儲器分塊讀取至少一個第二數據模式;由該測試電路將該至少一個第一數據模式與該至少一個第二數據模式進行比較以驗證存儲該第一存儲器分塊的第一隨機訪問存儲器電路的正確工作,該第一隨機訪問存儲器電路處于該至少一個隨機訪問存儲器電路之中;在該第一隨機訪問存儲器電路正確工作的情況下將該第一應用數據經由該總線寫回該第一存儲器分塊;并且由該測試電路釋放該總線。
[0009]根據本發明另外的方面,本發明是一種裝置,包括:總線;連接至該總線的至少一個隨機訪問存儲器電路,該至少一個隨機訪問存儲器電路包括至少第一存儲器分塊;連接至該總線的處理器;以及連接至該總線的隨機訪問存儲器測試電路,該測試電路包括臨時存儲器,該測試電路被配置成接收要發起所述至少一個隨機訪問存儲器電路的測試的信號,確定該總線并未被保留,由該測試電路保留該總線,經由該總線將該第一存儲器分塊中所包括的第一應用數據讀取至該測試電路,將該第一應用數據存儲到與該測試電路相關聯的臨時存儲器,經由該總線將至少一個第一數據模式寫入該第一存儲器分塊,經由該總線從該第一存儲器分塊讀取至少一個第二數據模式,將該至少一個第一數據模式與該至少一個第二數據模式進行比較以驗證存儲該第一存儲器分塊的第一隨機訪問存儲器電路的正確工作,該第一隨機訪問存儲器電路處于該至少一個隨機訪問存儲器電路之中,在該第一隨機訪問存儲器電路正確工作的情況下將該第一應用數據經由該總線寫回該第一存儲器分塊,并且由該測試電路釋放該總線。
[0010]根據本發明另外的方面,本發明是一種包括該裝置的升降機安全系統。
[0011]根據本發明另外的方面,本發明是一種裝置,包括:用于由隨機訪問存儲器測試電路接收要發起至少一個隨機訪問存儲器電路的測試的信號的器件,該測試電路被連接至總線,處理器和該至少一個隨機訪問存儲器電路與該總線連接,該至少一個隨機訪問存儲器電路包括至少一個第一存儲器分塊;以及用于確定該總線并未被保留,由該測試電路保留該總線,經由該總線將該第一存儲器分塊中所包括的第一應用數據讀取至該測試電路的器件;用于將該第一應用數據存儲至與該測試電路相關聯的臨時存儲器的器件;用于由該測試電路經由該總線將至少一個第一數據模式寫入該第一存儲器分塊的器件;用于由該測試電路經由該總線從該第一存儲器分塊讀取至少一個第二數據模式的器件;用于由該測試電路將該至少一個第一數據模式與該至少一個第二數據模式進行比較以驗證存儲該第一存儲器分塊的第一隨機訪問存儲器電路的正確工作的器件,第一隨機訪問存儲器電路處于至少一個隨機訪問存儲器電路之中;用于在該第一隨機訪問存儲器電路正確工作的情況下將該第一應用數據經由該總線寫回該第一存儲器分塊的器件;以及用于由該測試電路釋放該總線的器件。
[0012]根據本發明另外的方面,本發明是一種包括該裝置的升降機安全系統。
[0013]根據本發明另外的方面,本發明是一種包括代碼的計算機程序,該代碼適于在數據處理系統上執行時導致以下步驟:由隨機訪問存儲器測試電路接收要發起至少一個隨機訪問存儲器電路的測試的信號,該測試電路被連接至總線,處理器和該至少一個隨機訪問存儲器電路與該總線連接,該至少一個隨機訪問存儲器電路包括至少第一存儲器分塊;以及確定該總線并未被保留;由該測試電路保留該總線;經由該總線將該第一存儲器分塊中所包括的第一應用數據讀取至該測試電路;將該第一應用數據存儲至與該測試電路相關聯的臨時存儲器;由該測試電路經由該總線將至少一個第一數據模式寫入該第一存儲器分塊;由該測試電路經由該總線從該第一存儲器分塊讀取至少一個第二數據模式;由該測試電路將該至少一個第一數據模式與該至少一個第二數據模式進行比較以驗證存儲該第一存儲器分塊的第一隨機訪問存儲器電路的正確工作,該第一隨機訪問存儲器電路處于至少該一個隨機訪問存儲器電路之中;在該第一隨機訪問存儲器電路正確工作的情況下將該第一應用數據經由該總線寫回該第一存儲器分塊;并且由該測試電路釋放該總線。
[0014]根據本發明另外的方面,本發明是一種包括該計算機程序的計算機程序產品。
[0015]根據本發明另外的方面,本發明是一種方法。在該方法中,可編程的隨機訪問存儲器測試電路檢測要發起至少一個隨機訪問存儲器電路的測試的信號,該測試電路被連接至總線,處理器和該至少一個隨機訪問存儲器電路與該總線連接,該至少一個隨機訪問存儲器電路包括至少一個第一存儲器分塊。該測試電路確定該總線并未被保留并保留該總線。該測試電路將第一存儲器分塊中的應用數據讀取至該測試電路的臨時存儲器。該測試電路對處于該至少一個存儲器電路中的存儲器電路中的所述第一存儲器分塊執行跨步測試。該測試電路將該應用數據返回至該存儲器電路中的該第一存儲器分塊。該測試電路釋放該總線。如果該總線的分配并非必然用于除存儲器測試以外的其它目的即處理器傳遞非存儲器測試相關數據,該測試電路可以再次保留總線。隨即,該測試電路可以進行所述至少一個隨機訪問存儲器電路中所包括的第二存儲器分塊的測試。一種裝置可以實施該方法。[0016]在本發明的一個實施例中,該至少一個隨機訪問存儲器電路包括第一隨機訪問存儲器電路和第二隨機訪問存儲器電路,該第一隨機訪問存儲器電路包括第一存儲器分塊,該第二隨機訪問存儲器電路包括第二存儲器分塊。在本發明的一個實施例中,存儲器分塊包括例如字節、字、雙字或四字的地址范圍。
[0017]在本發明的一個實施例中,確定該總線并未被保留的步驟包括感應至少一個引線或引腳以確定該總線不具有保留狀態信號。
[0018]在本發明的一個實施例中,經由該總線讀取存儲器分塊中所包括的數據包括從包括該存儲器分塊的存儲器電路中將至少一個數據包獲取至該測試電路,該數據包包括至少一個字節,例如四個、八個或十六個字節。
[0019]在本發明的一個實施例中,經由該總線將數據寫入存儲器分塊包括從該測試電路將至少一個數據包獲取至包括該存儲器分塊的存儲器電路,該數據包包括至少一個字節,例如四個、八個或十六個字節。
[0020]在本發明的一個實施例中,存儲器分塊是總線數據包。
[0021]在本發明的一個實施例中,該方法還包括:如果該總線的分配并非必然用于除存儲器測試以外的其它目的則為該測試電路保留該總線;并且由該測試電路對該至少一個隨機訪問存儲器電路中所包括的第二存儲器分塊進行測試。
[0022]在本發明的一個實施例中,該方法進一步包括:將關于要對其執行存儲器測試的該至少一個存儲器分塊的信息存儲到該測試電路的至少一個寄存器中。
[0023]在本發明的一個實施例中,關于該至少一個存儲器分塊的信息是地址范圍。
[0024]在本發明的一個實施例中,該方法還包括:由該處理器檢測引導信號;并且將該至少一個隨機訪問存儲器電路要被完全測試的信息存儲到該測試電路中的該至少一個寄存器中。
[0025]在本發明的一個實施例中,該方法還包括:將關于用于以信號發起該至少一個隨機訪問存儲器電路的測試的調度的信息存儲到該測試電路中的至少一個寄存器中。
[0026]在本發明的一個實施例中,該方法進一步包括:將存儲器測試算法存儲到與該測試電路相關聯的存儲器中。
[0027]在本發明的一個實施例中,由該測試電路保留該總線的步驟包括:在該總線上從該測試電路傳輸保留信號。
[0028]在本發明的一個實施例中,由該測試電路保留該總線的步驟包括:向總線仲裁器電路傳輸來自該測試電路的保留信號;并且將確認信號接收至該測試電路。
[0029]在本發明的一個實施例中,由該測試電路保留該總線的步驟包括:將與該保留信號和該測試電路的總線地址相關的信息添加至該總線仲裁器電路的隊列。
[0030]在本發明的一個實施例中,該第一存儲器分塊包括所有干擾源存儲器單元和所有受擾存儲器單元,該干擾源存儲器單元能夠改變該受擾存儲器單元的狀態。
[0031]在本發明的一個實施例中,該第一存儲器分塊包括在該至少一個隨機訪問存儲器電路之中的隨機訪問存儲器電路的地址解碼器的子單元內的所有地址。
[0032]在本發明的一個實施例中,至少一個第一數據模式包括棋盤數據模式、跨步測試數據模式和用于跳步(galloping)模式測試(GALPAT)的跳步模式中的至少一個。
[0033]在本發明的一個實施例中,該處理器、該測試電路、該總線和該至少一個存儲器電路被包括在芯片組中。
[0034]在本發明的一個實施例中,該處理器、該測試電路和該總線包括在單個芯片中。
[0035]在本發明的一個實施例中,該處理器、該測試電路、該總線和該至少一個存儲器電路被包括在升降機安全單元中。
[0036]在本發明的一個實施例中,該升降機安全單元對升降機廂體的加速度極限、升降機標尺、升降機的緊急制動、至少一個升降機門和呼救信號通信鏈路中的至少一個進行控制。
[0037]在本發明的一個實施例中,該測試電路可以被配置成執行以上關于任意實施例所提到的任意方法步驟。
[0038]在本發明的一個實施例中,一種包括代碼的計算機程序或者包括代碼的計算機程序產品在數據處理系統上執行時可以包括或者可以適于導致以上所提到的任意方法步驟。
[0039]在本發明的一個實施例中,該裝置是半導體電路、芯片或者芯片組。
[0040]在本發明的一個實施例中,該計算機程序被存儲在計算機可讀介質上。該計算機可讀介質可以是可移動存儲卡、可移動存儲器模塊、磁盤、光盤、全息存儲器或磁帶,但并不局限于此。例如,可移動存儲器模塊可以是USB存儲棒、PCMCIA卡或智能存儲卡。
[0041]之前所描述的本發明的實施例可以互相以任意組合形式來使用。若干實施例可以組合在一起以形成本發明另外的實施例。本發明所涉及的方法、安全系統、裝置、計算機程序或計算機程序產品可以包括之前所描述的本發明的至少一個實施例。
[0042]所要理解的是,除非被明確指出為排除替代形式,否則針對它們所涉及的相應方面,以上實施例或修改能夠單獨或組合地被加以應用。
[0043]本發明的益處涉及安全關鍵控制系統改進的安全性和可靠性。本發明使得在單個實體中執行存儲器測試成為可能,該實體可以針對正確操作而進行單獨驗證。存儲器測試實體可以僅被測試并驗證一次。當僅有存儲器測試過程被變化所影響時,不再必須對整個安全關鍵系統的正確操作進行驗證。可以使得安全關鍵系統的處理器所執行的使用由單個存儲器測試實體所測試的存儲器的應用無法看到存儲器測試。與處理器通過延后其它應用來執行存儲器測試的解決方案相比,由單個存儲器測試實體進行存儲器測試也更為廉價。本發明使得設計可編程的升降機安全設備成為可能,其可以達到如升降機安全代碼EN81-20所要求的安全綜合水平STL2或STL3。
【專利附圖】
【附圖說明】
[0044]包括提供對本發明的進一步理解并且構成該說明書的一部分的所附附圖,其圖示了本發明的實施例并且連同描述一起幫助解釋本發明的原理。其中:
[0045]圖1是圖示本發明一個實施例中的安全裝置的框圖;
[0046]圖2是圖示本發明一個實施例中的在處理器執行使用正在被測試的存儲器的至少一個應用的同時由測試器電路所執行的存儲器測試的消息序列圖;和
[0047]圖3是圖示本發明一個實施例中的用于由可編程電路進行存儲器測試的方法的流程圖。
【具體實施方式】[0048]現在將詳細參考本發明的實施例,其示例在所附附圖中進行了圖示。
[0049]圖1是圖示本發明一個實施例中的安全裝置100的框圖。在本發明的一個實施例中,安全裝置與升降機的安全系統相關聯。升降機安全系統可以獨立于升降機的其它非關鍵系統,例如根據來自呼叫給出裝置的升降機轎廂呼叫來應付驅動升降機轎廂。升降機轎廂也可以被稱作升降機廂體。
[0050]該安全裝置包括第一總線102,其被連接至處理器110、靜態隨機訪問存儲器(SRAM) 130以及用于SRAM測試的測試電路120。總線102還可以被連接至總線橋140以便訪問另外的外部設備。總線102還可以包括總線仲裁器單元(未示出),可以針對地址和數據傳輸而從該總線仲裁器單元請求對總線進行訪問。該總線仲裁器單元可以包括請求隊列。例如,總線102可以包括32位線以便傳遞與存儲器地址相關聯的存儲器地址和數據。總線102可以被連接至其它處理器以使得處理器110可以被多個處理器替代。處理器110可以包括多個核心。處理器110可以包括至少一個寄存器112和算術邏輯單元(ALU)114。至少一個寄存器112可以是寄存器文件。處理器110還可以包括指令解碼器、管道、指令執行單元和指令退休單元。總線橋140可以被連接至第二總線104,該第二總線104被連接到至少外部設備142和144,經由該外部設備提供了對外部傳感器的訪問。例如,傳感器142和144可以是升降機廂體標尺、升降機廂體加速計、升降機安全觸點和升降機轎廂定位設備。SRAM130包括存儲器區域132,該存儲器區域132包含用于使用安全裝置100運行的至少一個安全應用的應用數據。例如,安全應用可以監視來自傳感器142和144的測量數據并且在檢測到升降機操作異常的情況下提供控制命令以使得升降機進入安全狀態。這可以包括監視及限制升降機轎廂速度和加速度中的至少一個。SRAM130具有地址134,該地址134指示了地址范圍,安全關鍵應用在該地址范圍中存儲數據。SRAM測試可以被限制為低于地址134的地址。SRAM130可以具有地址134,該地址134指示了地址范圍,安全關鍵應用在該地址范圍中存儲數據。SRAM測試可以被限制為低于地址134的地址。
[0051]用于SRAM測試的測試電路120包括可編程邏輯122,其至少針對地址134以下的地址范圍對SRAM130實施測試。測試電路120可以是可編程元分塊或可編程元實體。測試電路120還可以是現場可編程門陣列(FPGA)。測試電路120還可以是處理器。測試電路120可以以與處理器110相同的時鐘作為時鐘。可編程邏輯122可以經由跨步測試來實施SRAM130的測試。例如,在跨步測試中,要被測試的存儲器區域可以首先被寫入以全部包含
O,隨后檢查是否所有地址都包含0,隨后被寫入以全部包含I并且隨后檢查是否所有地址都包含I。測試電路120可以從SRAMl30取出存儲器分塊,將存儲器分塊的現有內容存儲到單獨的臨時存儲器中,隨后在存儲器分塊內執行跨步測試,從單獨臨時存儲器取得現有內容并且將現有內容寫回存儲器分塊。測試電路120可以逐個分塊地從SRAM130取得存儲器分塊并且對每個分塊單獨執行跨步測試。處理器110可能必須進行等待,也就是說僅在單個存儲器分塊正在被測試電路120進行測試時被停止。在存儲器分塊的測試之間處理器110可以繼續執行需要訪問SRAM130的安全應用。在存儲器分塊的測試期間,測試電路120可以保持總線102被保留。例如,根據總線102上針對安全應用的效用數據傳輸的延遲限制,存儲器分塊可以包括16字節、512字節或1024字節。臨時存儲器可以與測試電路120相關聯或者處于測試電路120內。
[0052]圖2是圖示本發明一個實施例中的在處理器執行使用正在被測試的存儲器的至少一個應用的同時由測試器電路所執行的存儲器測試的消息序列圖。
[0053]在圖2中存在測試電路250,例如包括可編程邏輯的測試模塊。還有中央處理器(CPU)252和隨機訪問存儲器(RAM)254,例如靜態RAM。RAM254被圖示為在利用框255圖示的RAM254的內容中包括分塊BLK1、BLK2和BLKn。下標η指示任意正整數。測試電路250、CPU252和RAM254之間的通信經由總線(為了簡明目的未示出)進行。
[0054]最初,如由箭頭201所圖示的,CPU252從RAM254讀取分塊BLKl內的至少一個字節以訪問應用數據。CPU252首先可以經由總線傳輸至少一個地址以從RAM254請求BLKl的至少一個字節。出于簡明的目的并未將此示出。在從分塊BLKl讀取至少一個字節之后,該總線不再被保留。
[0055]隨后,測試電路250檢測用于對RAM254中的存儲器分塊BLKl、…、BLKn執行測試的時間周期已經經過。測試電路可以接收總線時鐘信號,其在每個時鐘周期對寄存器進行倒計數。當寄存器達到零時,由測試電路120發起測試。
[0056]測試電路120從分塊BLKl開始對SRAM254進行測試。如由箭頭202所圖示的,測試電路120保留總線并且從RAM254讀取包括現有數據的BLK1。可以通過將與總線相關聯的引線設置為數值I或者在該引線上傳輸具體波形而保留總線。例如,可以通過將該引線重新設置為數值零來去除保留。測試電路120將現有數據存儲至測試電路250內的臨時存儲器存儲(未示出)。如由箭頭203所圖示的,測試電路120以O值比特填充分塊BLKl至RAM254。如由箭頭204所圖示的,測試電路120檢查RAM254內BLKl中的所有比特都為O。隨后,如由箭頭205所圖示的,測試電路120以I值比特填充分塊BLKl至RAM254。如由箭頭206所圖示的,測試電路120檢查RAM254內BLKl中的所有比特具有數值I。最后,針對分塊BLKl,如由箭頭207所圖示的,測試電路250從臨時存儲器存儲獲取現有數據并且經由總線向RAM254寫入分塊BLK1。測試電路250可以設置總線保留引線以指示該總線可用。
[0057]在該階段,總線是可用的,并且分別如由箭頭208和箭頭209所圖示的,CPU252在執行應用的同時可以從RAM254讀取BLKl,修改BLKl中的數據以使得BLKl中的新數據被寫入 RAM254。
[0058]隨后,測試電路120可以再次保留總線,并且如由箭頭210所圖示的,測試電路120可以從RAM254讀取現有數據分塊BLK2。隨后對分塊BLK2進行跨步測試,其中如由箭頭211-214所圖示的,BLK2被寫入全O模式,被檢查存儲了全O模式,被寫入全I模式并且被檢查存儲了全I模式。最后,如由箭頭215所圖示的,分塊BLK2的現有數據被測試電路120寫入RAM254。在此之后,測試電路120可以設置總線保留引線以指示總線可用。
[0059]由于總線是可用的,所以如由箭頭216和217所圖示的,CPU252從RAM254讀取至少一個字節的數據并且將經修改的數據寫入RAM254。
[0060]隨后,測試電路120可以再次保留總線以便測試最后的存儲器分塊BLKn。如由箭頭218所圖示的,測試電路120現在可以從RAM254讀取現有數據分塊BLKn。隨后針對分塊BLKn進行跨步測試,其中如由箭頭219-222所圖示的,BLKn被寫入全O模式,被檢查存儲了全O模式,被寫入全I模式并且被檢查存儲了全I模式。最后,如由箭頭223所圖示的,分塊BLKn的現有數據被測試電路120寫入RAM254。在此之后,測試電路120可以設置總線保留引線以指不總線可用。現在,針對RAM254的跨步測試完成。
[0061]之前結合圖1和圖2所描述的本發明的實施例可以彼此任意相結合地使用。若干實施例可以結合在一起以形成本發明另外的實施例。
[0062]圖3是圖示本發明一個實施例中的用于由可編程電路進行存儲器測試的方法的流程圖。
[0063]在步驟300,隨機訪問存儲器測試電路檢測要發起至少一個隨機訪問存儲器電路的測試的信號,該測試電路被連接至總線,處理器和至少一個存儲器電路與該總線相連接,該至少一個隨機訪問存儲器電路包括至少第一存儲器分塊。該隨機訪問存儲器測試電路可以是可編程的隨機訪問存儲器測試電路。該測試電路還可以被稱作測試邏輯。
[0064]在步驟302,測試電路確定總線未被保留。
[0065]在步驟304,例如通過將總線上的具體引線設置為第一預定波形,該測試電路保留總線以便對存儲器分塊進行存儲器跨步測試。該第一預定波形可以表示常數或直流(DC)比特數值,諸如I。
[0066]在本發明的一個實施例中,可以在測試存儲器分塊所需的時間內保留總線并且分塊大小被確定為適合最大總線保留時間。該最大總線保留時間可以基于用于對處理器中的信號進行響應的至少一個延遲限制來確定,該信號來自于經由總線通信連接至處理器的外部設備。
[0067]在步驟306,測試電路經由總線將第一存儲器分塊中所包括的第一應用數據讀取至測試電路,并且將該第一應用數據存儲到與測試電路相關聯的臨時存儲器。
[0068]在步驟308,測試電路通過向至少一個隨機訪問存儲器電路中的分塊寫入并讀取測試模式而對該分塊執行存儲器測試。這可以包括由測試電路經由總線向第一存儲器分塊寫入至少一個存儲器測試數據模式,并且隨后由測試電路經由總線從第一存儲器分塊讀取至少一個存儲器測試數據模式,并且將所寫入和讀取的測試數據模式進行比較。
[0069]在步驟310,測試電路經由總線將第一應用數據寫回第一存儲器分塊。如果之前步驟的測試并未成功,則可以向至少一個處理器提供警報。這可以使得升降機進入安全狀態。如果測試并未成功,則可以不嘗試將第一應用數據寫回第一存儲器分塊。
[0070]在步驟312,測試電路例如通過將總線上的具體引線設置為第二預定波形而釋放總線。第一預定波形可以表示常數或直流(DC)比特數值,諸如O。
[0071]在本發明的一個實施例中,在步驟314,如果總線分配并非必然用于存儲器測試以外的其它目的,例如處理器由于無需通過總線傳輸效用數據而保持總線可用,則測試電路為該測試電路保留總線。
[0072]在本發明的一個實施例中,在步驟316,測試電路對至少一個隨機訪問存儲器電路中所包括的第二存儲器分塊進行測試。該第二存儲器分塊不同于第一存儲器分塊。
[0073]在一個實施例中,圖3中所公開的步驟314和316是可選步驟并且僅執行步驟300-312。
[0074]這里結合圖1、2和3所描述的本發明的實施例可以彼此任意相結合地使用。若干實施例可以結合在一起以形成本發明另外的實施例。
[0075]如本申請中所使用的,術語“電路”(“circuitry”和“circuit”)是指以下的所有內容:(a)僅硬件的電路實施方式(諸如僅為模擬和/或數字電路的實施方式),和(b)電路和軟件(和/或固件)的組合,諸如(如可應用的):(i)(多個)處理器的組合,或者(ii)(多個)處理器的部分/軟件(包括共同進行工作以使得諸如移動電話或服務器的裝置執行各種功能的(多個)數字信號處理器、軟件和(多個)存儲器),以及(C)諸如(多個)微處理器或(多個)微處理器的部分的電路,其需要軟件或固件進行操作,即使該軟件或固件并非物理存在。“電路”的該定義應用于該術語在本申請包括任意權利要求中的所有使用。作為另外的示例,如本申請中所使用的,術語“電路”還將覆蓋僅處理器(或多個處理器)或者處理器的一部分及其所附軟件和/或固件的實施方式。例如以及如果可應用于特定權利要求要素的話,術語“電路”還將覆蓋用于移動電話的基帶集成電路或應用處理器集成電路或者服務器、蜂窩網絡設備或其它網絡設備中的類似集成電路。
[0076]本發明的示例性實施例可以包括在能夠執行示例性實施例的處理并且能夠經由一個或多個接口機制進行通信的任意適當設備之內,例如包括任意適當服務器、工作站、PC、筆記本電腦、PDA、互聯網電器、手持設備、蜂窩電話、無線設備、其它設備等,上述接口機制例如包括互聯網訪問、任意適當形式(例如,語音、調制解調器等)的遠程通信、無線通信媒體、一個或多個無線通信網絡、蜂窩通信網絡、3G通信網絡、4G通信網絡、公共交換電話網(PSTN)、分組數據網絡(PDN)、互聯網、內聯網以及它們的組合等。
[0077]所要理解的是,如(多個)硬件領域的技術人員將要意識到的,示例性實施例是出于示例性的目的,因為用來實施示例性實施例的具體硬件的許多變化形式都是可能的。例如,示例性實施例中的一個或多個組件的功能能夠經由一個或多個硬件設備來實施,或者經由諸如模塊的一個或多個軟件實體來實施。
[0078]示例性實施例能夠存儲與整理所描述的各種處理相關的信息。該信息可以存儲在一個或多個存儲器中,諸如硬盤、光盤、磁性光盤、RAM等。一個或多個數據庫能夠存儲與所使用的循環前綴以及所測量的延遲擴展相關的信息。該數據庫可以使用這里所列出的一個或多個存儲器或存儲設備中所包括的數據結構(例如,記錄、表格、陣列、字段、圖標、樹、列表等)進行組織。關于示例性實施例所描述的處理能夠包括用于將示例性實施例的設備和子系統的處理所收集和/或生成的數據存儲在一個或多個數據庫中的適當數據結構。
[0079]如(多個)電氣領域的技術人員將會意識到的,所有或部分的示例性實施例能夠通過制備一個或多個應用特定集成電路來實施,或者通過將常規組件電路的適當網絡進行互連來實施。
[0080]如以上所指出的,示例性實施例的組件可以包括根據本發明的教導并且用于保存數據結構、表格、記錄和/或這里所描述的其它數據的計算機可讀介質或存儲器。計算機可讀介質可以包括參與向處理器提供指令以便實施的任意適當介質。這樣的介質可以采取任意形式,包括但并不局限于非易失性媒體、易失性媒體、傳輸媒體等。非易失性媒體例如可以包括光盤或磁盤、磁性光盤等。易失性媒體可以包括動態存儲器等。傳輸媒體可以包括同軸線纜、銅線、光纖等。傳輸媒體還可以采取諸如在射頻(RF)通信、紅外(IR)數據通信等期間所生成的聲波、光波、電磁波等的形式。計算機可讀媒體的常見形式例如可以包括軟盤、軟質磁盤、硬盤、磁帶、任意其它適用磁性介質、CD-ROM、CDRW、DVD、任意其它適用光學介質、打孔卡、紙帶、光學標記頁、具有開孔圖案或其它可光學識別標記的任意其它適用物理介質、RAM、靜態RAM、PROM、EPROM、閃存EPROM、任意其它適用存儲器芯片或卡盒、載波或者計算機能夠從其進行讀取的任意其它適用介質。
[0081]雖然已經結合多個示例性實施例和實施方式對本發明進行了描述,但是本發明并不局限于此,而是相反地覆蓋落入預期權利要求的范圍之內的各種修改和等同配置形式。[0082]這里結合所給出的附圖和本發明的概述所描述的本發明的實施例可以彼此任意相結合地使用。若干實施例可以結合在一起以形成本發明另外的實施例。
[0083]對于技術領先的本領域技術人員而言,本發明的基本思想顯然可以以各種方式來實施。本發明及其實施例因此并不局限于以上所描述的示例;而是它們可以在權利要求的范圍內進行變化。
【權利要求】
1.一種方法,包括: 由隨機訪問存儲器測試電路接收要發起至少一個隨機訪問存儲器電路的測試的信號,所述測試電路被連接至總線,處理器和所述至少一個隨機訪問存儲器電路與所述總線連接,所述至少一個隨機訪問存儲器電路包括至少第一存儲器分塊; 確定所述總線并未被保留; 由所述測試電路保留所述總線; 經由所述總線將所述第一存儲器分塊中所包括的第一應用數據讀取至所述測試電路; 將所述第一應用數據存儲至與所述測試電路相關聯的存儲器;由所述測試電路經由所述總線將至少一個第一數據模式寫入所述第一存儲器分塊;由所述測試電路經由所述總線從所述第一存儲器分塊讀取至少一個第二數據模式;由所述測試電路將所述至少一個第一數據模式與所述至少一個第二數據模式進行比較以驗證存儲所述第一存儲器分塊的第一隨機訪問存儲器電路的正確工作,所述第一隨機訪問存儲器電路處于所述至少一個隨機訪問存儲器電路之中; 在所述第一隨機訪問存儲器電路正確工作的情況下將所述第一應用數據經由所述總線寫回所述第一存儲器分塊;以及由所述測試電路釋放所述總線。
2.根據權利要求1所述的方法,所述方法進一步包括: 如果所述總線的分配并非必須用于存儲器測試以外的其它目的則為所述測試電路保留所述總線;以及· 由所述測試電路對所述至少一個隨機訪問存儲器電路中所包括的第二存儲器分塊進行測試。
3.根據權利要求1或2所述的方法,所述方法進一步包括: 將關于要對其執行存儲器測試的至少一個存儲器分塊的信息存儲到所述測試電路中的至少一個第一寄存器中。
4.根據權利要求3所述的方法,其中關于所述至少一個存儲器分塊的信息是地址范圍。
5.根據權利要求3或4所述的方法,所述方法進一步包括: 由所述處理器檢測引導信號;以及 將所述至少一個隨機訪問存儲器電路要被完全測試的信息存儲到所述測試電路中的所述至少一個第一寄存器中。
6.根據權利要求1-5中任一項所述的方法,所述方法進一步包括: 將關于用于以信號通知所述至少一個隨機訪問存儲器電路的測試的發起的調度的信息存儲到所述測試電路中的至少一個第二寄存器中。
7.根據權利要求1-6中任一項所述的方法,所述方法進一步包括: 將存儲器測試算法存儲到與所述測試電路相關聯的程序存儲器中。
8.根據權利要求1-7中任一項所述的方法,其中由所述測試電路保留所述總線的步驟包括: 在所述總線上從所述測試電路傳輸保留信號。
9.根據權利要求1-7中任一項所述的方法,其中由所述測試電路保留所述總線的步驟包括: 從所述測試電路向總線仲裁器電路傳輸保留信號;以及 將確認信號接收至所述測試電路。
10.根據權利要求9的方法,其中由所述測試電路保留所述總線的步驟包括: 將與所述保留信號和所述測試電路的總線地址相關的信息添加至所述總線仲裁器電路的隊列。
11.根據權利要求1-10中任一項所述的方法,其中所述第一存儲器分塊包括所有干擾源存儲器單元和所有受擾存儲器單元,所述干擾源存儲器單元能夠改變所述受擾存儲器單元的狀態。
12.根據權利要求1-11中任一項所述的方法,其中所述第一存儲器分塊包括在所述至少一個隨機訪問存儲器電路之中的所述第一隨機訪問存儲器電路的地址解碼器的子單元內的所有地址。
13.根據權利要求1-12中任一項所述的方法,其中所述至少一個第一數據模式包括棋盤數據模式、跨步測試數據模式和用于跳步模式測試的跳步模式中的至少一個。
14.根據權利要求1-13中任一項所述的方法,其中所述處理器、所述測試電路、所述總線和所述至少一個存儲器電路被包括在芯片組中。
15.根據權利要求1 -14中任一項所述的方法,其中所述處理器、所述測試電路和所述總線被包括在單個芯片中。
16.根據權利要求1-15中任一項所述的方法,其中所述處理器、所述測試電路、所述總線和所述至少一個存儲器電路被包括在升降機安全單元中。
17.根據權利要求16所述的方法,其中所述升降機安全單元對升降機廂體的加速度極限、升降機標尺、升降機的緊急制動、至少一個升降機門和呼救信號通信鏈路中的至少一個進行控制。
18.一種裝置,包括: 總線; 連接至所述總線的至少一個隨機訪問存儲器電路,所述至少一個隨機訪問存儲器電路包括至少第一存儲器分塊; 連接至所述總線的處理器;以及 連接至所述總線的隨機訪問存儲器測試電路,所述測試電路包括臨時存儲器,所述測試電路被配置成:接收要發起所述至少一個隨機訪問存儲器電路的測試的信號,確定所述總線并未被保留,由所述測試電路保留所述總線,經由所述總線將所述第一存儲器分塊中所包括的第一應用數據讀取至所述測試電路,將所述第一應用數據存儲到與所述測試電路相關聯的臨時存儲器,經由所述總線將至少一個第一數據模式寫入所述第一存儲器分塊,經由所述總線從所述第一存儲器分塊讀取至少一個第二數據模式,將所述至少一個第一數據模式與所述至少一個第二數據模式進行比較以驗證存儲所述第一存儲器分塊的第一隨機訪問存儲器電路的正確工作,所述第一隨機訪問存儲器電路處于所述至少一個隨機訪問存儲器電路之中,在所述第 一隨機訪問存儲器電路正確工作的情況下將所述第一應用數據經由所述總線寫回所述第一存儲器分塊,并且由所述測試電路釋放所述總線。
19.一種包括代碼的計算機程序,所述代碼適于在數據處理系統上執行時導致以下步驟: 由隨機訪問存儲器測試電路接收要發起至少一個隨機訪問存儲器電路的測試的信號,所述測試電路被連接至總線,處理器和所述至少一個隨機訪問存儲器電路與所述總線連接,所述至少一個隨機訪問存儲器電路包括至少第一存儲器分塊; 確定所述總線并未被保留; 由所述測試電路保留所述總線; 經由所述總線將所述第一存儲器分塊中所包括的第一應用數據讀取至所述測試電路; 將所述第一應用數據存儲至與所述測試電路相關聯的臨時存儲器;由所述測試電路經由所述總線將至少一個第一數據模式寫入所述第一存儲器分塊;由所述測試電路經由所述總線從所述第一存儲器分塊讀取至少一個第二數據模式;由所述測試電路將所述至少一個第一數據模式與所述至少一個第二數據模式進行比較以驗證存儲所述第一存儲器分塊的第一隨機訪問存儲器電路的正確工作,所述第一隨機訪問存儲器電路處于所述至少一個隨機訪問存儲器電路之中; 在所述第一隨機訪問存儲器電路正確工作的情況下將所述第一應用數據經由所述總線寫回所述第一存儲器分塊;并且由所述測試電路釋放所述總線。
20.根據權利要求19的計算機程序,其中所述計算機程序被存儲在計算機可讀介質上。
【文檔編號】G06F11/267GK103853643SQ201310631954
【公開日】2014年6月11日 申請日期:2013年12月2日 優先權日:2012年12月3日
【發明者】F·斯塔恩格勒 申請人:通力股份公司