国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種隨機(jī)存儲器的檢測方法及系統(tǒng)的制作方法

      文檔序號:10471015閱讀:687來源:國知局
      一種隨機(jī)存儲器的檢測方法及系統(tǒng)的制作方法
      【專利摘要】本發(fā)明提供了一種隨機(jī)存儲器的檢測方法及系統(tǒng),所述方法包括:第二處理器監(jiān)聽第一處理器和主用隨機(jī)存儲器的連接端口;若監(jiān)聽到所述第一處理器向所述主用隨機(jī)存儲器的第一地址寫入數(shù)據(jù),獲取所述數(shù)據(jù),并將所述數(shù)據(jù)取反后寫入備用隨機(jī)存儲器的第二地址;若監(jiān)聽到所述第一處理器從所述主用隨機(jī)存儲器的第一地址讀取數(shù)據(jù),獲取所述第一處理器從所述第一地址讀取的數(shù)據(jù),并從所述第二地址讀取數(shù)據(jù),將從所述第一地址讀取的數(shù)據(jù)與從所述第二地址讀取的數(shù)據(jù)進(jìn)行比較,根據(jù)比較結(jié)果輸出檢測信號??梢姡景l(fā)明能夠?qū)崟r(shí)地對主用隨機(jī)存儲器的數(shù)據(jù)傳輸進(jìn)行檢測,而且不需要在所有地址都寫入數(shù)據(jù),從而減少耗時(shí)。并且能夠很好地避免共因失效因素。
      【專利說明】
      一種隨機(jī)存儲器的檢測方法及系統(tǒng)
      技術(shù)領(lǐng)域
      [0001]本發(fā)明涉及工業(yè)控制領(lǐng)域,尤其是涉及一種隨機(jī)存儲器的檢測方法及系統(tǒng)。
      【背景技術(shù)】
      [0002]同步動態(tài)隨機(jī)存儲器(英文:SynchronousDynamic Random Access Memory,簡稱SDRAM)等隨機(jī)存儲器具有價(jià)格低、數(shù)據(jù)傳輸率高、制造工藝簡單等特點(diǎn),廣泛應(yīng)用于數(shù)字電路系統(tǒng)中。
      [0003]然而,由于電磁干擾或工藝缺陷等影響,隨機(jī)存儲器在數(shù)據(jù)傳輸時(shí)存在一定的單比特狀態(tài)翻轉(zhuǎn)錯誤的機(jī)率,錯誤的數(shù)據(jù)傳輸可能會導(dǎo)致系統(tǒng)運(yùn)行出現(xiàn)錯誤,甚至威脅系統(tǒng)的安全。由于隨機(jī)存儲器通常沒有自檢功能,如何對隨機(jī)存儲器的數(shù)據(jù)傳輸進(jìn)行檢測,是保障系統(tǒng)安全運(yùn)行的關(guān)鍵因素。
      [0004]—種常用的檢測方式是,在隨機(jī)存儲器正式使用之前,向隨機(jī)存儲器的所有地址寫入數(shù)據(jù)并讀取寫入的數(shù)據(jù),通過將讀取的數(shù)據(jù)與寫入的數(shù)據(jù)進(jìn)行比較,檢測隨機(jī)存儲器的數(shù)據(jù)傳輸是否正常。
      [0005]然而,這種檢測方式只能在隨機(jī)存儲器正式使用之前進(jìn)行檢測,實(shí)時(shí)性很差,不能檢測出使用過程中出現(xiàn)的翻轉(zhuǎn)錯誤。而且檢測時(shí)需要在隨機(jī)存儲器的所有地址都寫入數(shù)據(jù),檢測耗時(shí)較長。

      【發(fā)明內(nèi)容】

      [0006]本發(fā)明解決的技術(shù)問題在于提供一種隨機(jī)存儲器的檢測方法及系統(tǒng),以實(shí)現(xiàn)能夠?qū)崟r(shí)地對隨機(jī)存儲器的數(shù)據(jù)傳輸進(jìn)行檢測,而且不需要在隨機(jī)存儲器的所有地址都寫入數(shù)據(jù),從而減少耗時(shí)。
      [0007]為此,本發(fā)明解決技術(shù)問題的技術(shù)方案是:
      [0008]本發(fā)明提供了一種隨機(jī)存儲器的檢測方法,所述方法包括:
      [0009]第二處理器監(jiān)聽第一處理器和主用隨機(jī)存儲器的連接端口 ;
      [0010]若監(jiān)聽到所述第一處理器向所述主用隨機(jī)存儲器的第一地址寫入數(shù)據(jù),所述第二處理器獲取所述數(shù)據(jù),并將所述數(shù)據(jù)取反后寫入備用隨機(jī)存儲器的第二地址;
      [0011]若監(jiān)聽到所述第一處理器從所述主用隨機(jī)存儲器的第一地址讀取數(shù)據(jù),所述第二處理器獲取所述第一處理器從所述第一地址讀取的數(shù)據(jù),并從所述備用隨機(jī)存儲器的第二地址讀取數(shù)據(jù);
      [0012]所述第二處理器將獲取的、所述第一處理器從所述第一地址讀取的數(shù)據(jù),與從所述第二地址讀取的數(shù)據(jù)進(jìn)行比較,根據(jù)比較結(jié)果輸出檢測信號。
      [0013]可選的,若所述比較結(jié)果表示從所述第二地址讀取的數(shù)據(jù),與從所述第一地址讀取的數(shù)據(jù)取反后相匹配,所述檢測信號為初始信號;
      [0014]若所述比較結(jié)果表示從所述第二地址讀取的數(shù)據(jù),與從所述第一地址讀取的數(shù)據(jù)取反后不匹配,所述檢測信號為異常信號。
      [0015]可選的,所述根據(jù)比較結(jié)果輸出檢測信號包括:
      [0016]根據(jù)比較結(jié)果向所述第一處理器輸出檢測信號。
      [0017]可選的,若所述檢測信號為異常信號;所述方法還包括:
      [0018]所述第二處理器接收到所述第一處理器發(fā)送的清除信號;
      [0019]所述第二處理器向所述第一處理器輸出初始信號。
      [0020]可選的,所述第二地址根據(jù)所述第一地址確定出。
      [0021]可選的,還包括:
      [0022]若監(jiān)聽到所述第一處理器向所述主用隨機(jī)存儲器的第三地址寫入數(shù)據(jù)并接收到錯誤注入信號時(shí),所述第二處理器獲取向所述第三地址寫入的數(shù)據(jù),并直接寫入所述備用隨機(jī)存儲器的第四地址;
      [0023]若監(jiān)聽到所述第一處理器從所述主用隨機(jī)存儲器的第三地址讀取數(shù)據(jù),所述第二處理器獲取所述第一處理器從所述第三地址讀取的數(shù)據(jù),并從所述備用隨機(jī)存儲器的第四地址讀取數(shù)據(jù);
      [0024]所述第二處理器將獲取的、所述第一處理器從所述第三地址讀取的數(shù)據(jù),與從所述第四地址讀取的數(shù)據(jù)進(jìn)行比較,根據(jù)比較結(jié)果生成檢測結(jié)果。
      [0025]本發(fā)明提供了一種隨機(jī)存儲器的檢測系統(tǒng),第一處理器和主用隨機(jī)存儲器相連,第二處理器與第一處理器和主用隨機(jī)存儲器的連接端口相連,并且與備用隨機(jī)存儲器相連;所述系統(tǒng)包括:所述第二處理器和所述備用隨機(jī)存儲器;
      [0026]所述第二處理器用于監(jiān)聽所述連接端口;若監(jiān)聽到所述第一處理器向所述主用隨機(jī)存儲器的第一地址寫入數(shù)據(jù),獲取所述數(shù)據(jù),并將所述數(shù)據(jù)取反后寫入所述備用隨機(jī)存儲器的第二地址;若監(jiān)聽到所述第一處理器從所述主用隨機(jī)存儲器的第一地址讀取數(shù)據(jù),獲取所述第一處理器從所述第一地址讀取的數(shù)據(jù),并從所述備用隨機(jī)存儲器的第二地址讀取數(shù)據(jù);
      [0027]所述第二處理器還用于,將獲取的、所述第一處理器從所述第一地址讀取的數(shù)據(jù),與從所述第二地址讀取的數(shù)據(jù)進(jìn)行比較,根據(jù)比較結(jié)果輸出檢測信號。
      [0028]可選的,若所述比較結(jié)果表示從所述第二地址讀取的數(shù)據(jù),與從所述第一地址讀取的數(shù)據(jù)取反后相匹配,所述檢測信號為初始信號;
      [0029]若所述比較結(jié)果表示從所述第二地址讀取的數(shù)據(jù),與從所述第一地址讀取的數(shù)據(jù)取反后不匹配,所述檢測信號為異常信號。
      [0030]可選的,所述第二處理器還與所述第一處理器的第一端口相連,所述第一端口不同于所述連接端口;
      [0031]當(dāng)根據(jù)比較結(jié)果輸出檢測信號時(shí),所述第二處理器具體用于根據(jù)比較結(jié)果向所述第一處理器的所述第一端口輸出檢測信號。
      [0032]可選的,所述第二處理器還與所述第一處理器的第二端口相連,所述第二端口不同于所述連接端口;
      [0033]若所述檢測信號為異常信號,所述第二處理器還用于接收到所述第一處理器的所述第二端口發(fā)送的清除信號,向所述第一處理器的所述第一端口輸出初始信號。
      [0034]可選的,所述第二地址根據(jù)所述第一地址確定出。
      [0035]可選的,所述第二處理器還與所述第一處理器的第三端口相連,所述第三端口不同于所述連接端口;
      [0036]所述第二處理器還用于,若監(jiān)聽到所述第一處理器向所述主用隨機(jī)存儲器的第三地址寫入數(shù)據(jù)并接收到所述第三端口發(fā)送的錯誤注入信號時(shí),獲取向所述第三地址寫入的數(shù)據(jù),并直接寫入所述備用隨機(jī)存儲器的第四地址;若監(jiān)聽到所述第一處理器從所述主用隨機(jī)存儲器的第三地址讀取數(shù)據(jù),獲取所述第一處理器從所述第三地址讀取的數(shù)據(jù),并從所述備用隨機(jī)存儲器的第四地址讀取數(shù)據(jù);
      [0037]所述第二處理器還用于,將獲取的、所述第一處理器從所述第三地址讀取的數(shù)據(jù),與從所述第四地址讀取的數(shù)據(jù)進(jìn)行比較,根據(jù)比較結(jié)果生成檢測結(jié)果。
      [0038]通過上述技術(shù)方案可知,本發(fā)明實(shí)施例中,第二處理器會監(jiān)聽第一處理器和主用隨機(jī)存儲器的連接端口,當(dāng)監(jiān)聽到所述第一處理器向所述主用隨機(jī)存儲器的第一地址寫入數(shù)據(jù),會將所述數(shù)據(jù)取反后寫入備用隨機(jī)存儲器的第二地址,當(dāng)監(jiān)聽到所述第一處理器從所述主用隨機(jī)存儲器的第一地址讀取數(shù)據(jù),所述第二處理器會獲取所述第一處理器從所述第一地址讀取的數(shù)據(jù),并從所述備用隨機(jī)存儲器的第二地址讀取數(shù)據(jù),并將從所述第一地址和所述第二地址讀取的數(shù)據(jù)進(jìn)行比較,根據(jù)比較結(jié)果輸出檢測信號??梢?,本發(fā)明實(shí)施例中能夠?qū)崟r(shí)地對隨機(jī)存儲器的數(shù)據(jù)傳輸進(jìn)行檢測,而且不需要在所有地址都寫入數(shù)據(jù),從而減少耗時(shí)。另外,本發(fā)明實(shí)施例在向備用隨機(jī)存儲器存儲數(shù)據(jù)時(shí),會對數(shù)據(jù)進(jìn)行取反操作后再進(jìn)行存儲,能夠避免共因失效因素。
      【附圖說明】
      [0039]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,還可以根據(jù)這些附圖獲得其它的附圖。
      [0040]圖1為現(xiàn)有技術(shù)中的一種傳輸系統(tǒng);
      [0041 ]圖2為本發(fā)明實(shí)施例提供的一種方法實(shí)施例的流程示意圖;
      [0042]圖3為本發(fā)明實(shí)施例提供的一種存儲系統(tǒng)的結(jié)構(gòu)示意圖;
      [0043]圖4為本發(fā)明實(shí)施例提供的另一種方法實(shí)施例的流程示意圖;
      [0044]圖5為本發(fā)明實(shí)施例提供的另一種存儲系統(tǒng)的結(jié)構(gòu)示意圖;
      [0045]圖6為本發(fā)明實(shí)施例提供的CPLD的數(shù)據(jù)流向示意圖。
      【具體實(shí)施方式】
      [0046]隨機(jī)存儲器的傳輸系統(tǒng)如圖1所示,可以由第一處理器101向隨機(jī)存儲器102寫入數(shù)據(jù),也可以由第一處理器101從隨機(jī)存儲器102中讀取數(shù)據(jù)。由于隨機(jī)存儲器通常沒有自檢功能,如何對隨機(jī)存儲器的數(shù)據(jù)傳輸進(jìn)行檢測,是保障系統(tǒng)安全運(yùn)行的關(guān)鍵因素。
      [0047]—種常用的檢測方式是,在隨機(jī)存儲器使用之前,向隨機(jī)存儲器的所有地址寫入數(shù)據(jù)并讀取寫入的數(shù)據(jù),通過將讀取的數(shù)據(jù)與寫入的數(shù)據(jù)進(jìn)行比較,檢測隨機(jī)存儲器的數(shù)據(jù)傳輸是否正常。然而,這種檢測方式實(shí)時(shí)性很差,不能檢測出使用過程中出現(xiàn)的翻轉(zhuǎn)錯誤。而且檢測耗時(shí)較長。此外還有兩種檢測方式,一種是利用嵌入式操作系統(tǒng)的地址映射功能實(shí)現(xiàn)隨機(jī)存儲器的自檢,另一種是利用嵌入式處理器體系結(jié)構(gòu)內(nèi)建的差錯檢測和報(bào)告機(jī)制進(jìn)行檢測。這兩種方式都需要依賴于嵌入式處理系統(tǒng),開發(fā)成本高,廣泛適用性差。
      [0048]本發(fā)明實(shí)施例提供一種隨機(jī)存儲器的檢測方法及系統(tǒng),以實(shí)現(xiàn)能夠?qū)崟r(shí)地對隨機(jī)存儲器的數(shù)據(jù)傳輸進(jìn)行檢測,而且不需要在隨機(jī)存儲器的所有地址都寫入數(shù)據(jù),從而減少耗時(shí)。并且,不需要借助于嵌入式處理系統(tǒng),開發(fā)成功低從而廣泛適用性高。另外其采用的是旁路檢測方式,即使檢測功能出錯也不會對隨機(jī)存儲器的正常使用造成影響。
      [0049]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明中的技術(shù)方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
      [0050]請參閱圖2,本發(fā)明實(shí)施例提供了隨機(jī)存儲器的檢測方法的一種方法實(shí)施例。
      [0051]本實(shí)施例可以用于如圖3所示的存儲系統(tǒng)中,該系統(tǒng)包括第一處理器301、主用隨機(jī)存儲器302、第二處理器303和備用隨機(jī)存儲器304。其中,第一處理器301與主用隨機(jī)存儲器302相連,從而第一處理器301與主用隨機(jī)存儲器302可以進(jìn)行數(shù)據(jù)傳輸,例如,第一處理器301向主用隨機(jī)存儲器302寫入數(shù)據(jù),或者第一處理器301從主用隨機(jī)存儲器302讀取數(shù)據(jù)。
      [0052]本實(shí)施例的所述方法包括:
      [0053]S201:第二處理器303監(jiān)聽第一處理器301和主用隨機(jī)存儲器302的連接端口。
      [0054]其中,第二處理器303與第一處理器301和主用隨機(jī)存儲器302的連接端口相連,從而監(jiān)聽所述連接端口,確定第一處理器301是否與主用隨機(jī)處理器302進(jìn)行數(shù)據(jù)傳輸。
      [0055]S202:若監(jiān)聽到第一處理器301向主用隨機(jī)存儲器302的第一地址寫入數(shù)據(jù),第二處理器303獲取第一處理器301向所述第一地址寫入的數(shù)據(jù),并將該數(shù)據(jù)取反后寫入備用隨機(jī)存儲器304的第二地址。
      [0056]本發(fā)明實(shí)施例中,若第一處理器301向主用隨機(jī)存儲器302寫入數(shù)據(jù),第二處理器303會監(jiān)聽到該寫入操作,并獲取到該寫入操作的寫入地址(即第一地址),并將所述數(shù)據(jù)取反后寫入備用隨機(jī)存儲器304的第二地址。其中,第二地址可以根據(jù)第一地址確定。例如,第一地址與第二地址相同,第一地址可以為第O位到第15位,第二地址也可以為第O位到第15位。第二處理器303對應(yīng)存儲所述第一地址和所述第二地址。
      [0057]其中,第二處理器303并不是直接將數(shù)據(jù)寫入到備用隨機(jī)存儲器304,而是會對數(shù)據(jù)進(jìn)行取反后再進(jìn)行存儲,能夠很好地避免共因失效因素(由于相同問題造成的錯誤)。取反操作指的是將數(shù)據(jù)中的高低電平反轉(zhuǎn)。
      [0058]S203:若監(jiān)聽到第一處理器301從主用隨機(jī)存儲器302的第一地址讀取數(shù)據(jù),第二處理器303獲取第一處理器301從主用隨機(jī)存儲器302的第一地址讀取的數(shù)據(jù),并從備用隨機(jī)存儲器304的第二地址讀取數(shù)據(jù)。
      [0059]若第一處理器301從主用隨機(jī)存儲器302讀取已經(jīng)寫入的數(shù)據(jù),第二處理器303會監(jiān)聽到該讀取操作,獲取到該讀取操作的第一地址,并獲取該讀取操作讀取的數(shù)據(jù)。此外,第二處理器303還會獲取到第一地址對應(yīng)的第二地址,并從備用隨機(jī)存儲器304的第二地址讀取數(shù)據(jù)。
      [0060]S204:第二處理器303將獲取的、第一處理器301從主用隨機(jī)存儲器302的第一地址讀取的數(shù)據(jù),與第二處理器303從備用隨機(jī)存儲器304的第二地址讀取的數(shù)據(jù)進(jìn)行比較,根據(jù)比較結(jié)果輸出檢測信號。
      [0061]其中,若所述比較結(jié)果表示從所述第二地址讀取的數(shù)據(jù),與從所述第一地址讀取的數(shù)據(jù)取反后相匹配,所述檢測信號為初始信號,即表示本次傳輸正常。相匹配可以指的是完全相同或者相同的比例達(dá)到預(yù)定百分比等。若所述比較結(jié)果表示從所述第二地址讀取的數(shù)據(jù),與從所述第一地址讀取的數(shù)據(jù)取反后不匹配,所述檢測信號為異常信號err0r_flag,即表示本次傳輸出現(xiàn)錯誤。
      [0062]通過上述技術(shù)方案可知,本發(fā)明實(shí)施例中,第二處理器203會監(jiān)聽第一處理器201和主用隨機(jī)存儲器202的連接端口,當(dāng)監(jiān)聽到第一處理器201向主用隨機(jī)存儲器202的第一地址寫入數(shù)據(jù),會將所述數(shù)據(jù)取反后寫入備用隨機(jī)存儲器204的第二地址,當(dāng)監(jiān)聽到第一處理器201從主用隨機(jī)存儲器202的第一地址讀取數(shù)據(jù),第二處理器203會獲取第一處理器201從所述第一地址讀取的數(shù)據(jù),從備用隨機(jī)存儲器204的第二地址讀取數(shù)據(jù),并將從所述第一地址和所述第二地址讀取的數(shù)據(jù)進(jìn)行比較,根據(jù)比較結(jié)果輸出檢測信號。可見,本發(fā)明實(shí)施例中用于主用隨機(jī)存儲器202的使用過程中,能夠?qū)崟r(shí)地對主用隨機(jī)存儲器202的數(shù)據(jù)傳輸進(jìn)行檢測,而且不需要在所有地址都寫入數(shù)據(jù),從而減少耗時(shí)。另外,本發(fā)明實(shí)施例在向備用隨機(jī)存儲器204存儲數(shù)據(jù)時(shí),會對數(shù)據(jù)進(jìn)行取反操作后再進(jìn)行存儲,能夠很好地避免共因失效因素。
      [0063]此外,本發(fā)明實(shí)施例提供的方法不需要借助于嵌入式處理系統(tǒng),開發(fā)成功低從而廣泛適用性高。另外其采用的是旁路檢測方式,即使檢測功能出錯也不會對主用隨機(jī)存儲器的正常使用造成影響,從而避免第一處理器讀寫操作的中斷。若第二處理器或者備用隨機(jī)存儲器出現(xiàn)異常時(shí),可以采用錯誤檢測糾錯(Error Correcting Code,ECC)模塊代替,從而實(shí)現(xiàn)錯誤數(shù)據(jù)的檢測及恢復(fù)。
      [0064]本實(shí)施例中,第一處理器301可以為中央處理器(Central Processing Unit,CPU)等,而第二處理器304可以為現(xiàn)場可編程門陣列(Field — Programmable Gate Array ,FPGA)、復(fù)雜可編程邏輯器件(Complex Programmable Logic Device,CPLD)等。本實(shí)施例中,主用隨機(jī)存儲器302和備用隨機(jī)存儲器304可以為任一種隨機(jī)存儲設(shè)備,例如靜態(tài)隨機(jī)存儲器(Static Random Access Memory,SRAM)、同步動態(tài)隨機(jī)存儲器(SynchronousDynamic Random Access Memory,SDRAM)、雙倍速率同步動態(tài)隨機(jī)存儲器(Double DataRate ,DDR)、DDR2、DDR3等。
      [0065]本發(fā)明實(shí)施例中,第二處理器303可以向第一處理器301輸出檢測信號。例如,若第二處理器303向第一處理器301輸出初始信號(例如O),表不本次傳輸正常,若第二處理器303向第一處理器302輸出異常信號error_flag(例如I),表不本次傳輸異常。其中,第一處理器301可以通過中斷的方式處理檢測信號。
      [0066]若第二處理器303向第一處理器301輸出異常信號,則第一處理器301接收到異常信號后做出對應(yīng)的處理方式,例如報(bào)警等,保證數(shù)據(jù)傳輸異常時(shí)能夠及時(shí)發(fā)現(xiàn)。其中,第一處理器301還可以向第二處理器303發(fā)送清除信號,第二處理器303接收到清除信號后,根據(jù)該清除信號輸出初始信號。例如,第二處理器303輸出I,接收到清除信號后,輸出O。
      [0067]本實(shí)施例中還支持錯誤注入模式,也就是說第二處理器303向備用隨機(jī)存儲器304寫入數(shù)據(jù)前不進(jìn)行取反操作,而是直接將數(shù)據(jù)進(jìn)行寫入。從而使得第二處理器303輸出的檢測信號一定為異常信號,用于檢測第二處理器303和備用隨機(jī)存儲器304實(shí)現(xiàn)的旁路檢測功能是否正常。
      [0068]具體地,所述方法還可以包括:若監(jiān)聽到第一處理器301向主用隨機(jī)存儲器302的第三地址寫入數(shù)據(jù)并接收到錯誤注入信號時(shí),第二處理器303獲取向第三地址寫入的數(shù)據(jù),并直接寫入備用隨機(jī)存儲器304的第四地址;若監(jiān)聽到第一處理器301從主用隨機(jī)存儲器302的第三地址讀取數(shù)據(jù),第二處理器303獲取第一處理器301從主用隨機(jī)存儲器302的第三地址讀取的數(shù)據(jù),并從備用隨機(jī)存儲器304的第四地址讀取數(shù)據(jù);第二處理器303將獲取的、第一處理器301從第三地址讀取的數(shù)據(jù),與從第四地址讀取的數(shù)據(jù)進(jìn)行比較,根據(jù)比較結(jié)果生成檢測結(jié)果。
      [0069]下面本發(fā)明通過一個具體的實(shí)施例進(jìn)行說明。
      [0070]請參閱圖4,本發(fā)明實(shí)施例提供了隨機(jī)存儲器的檢測方法的另一種方法實(shí)施例。
      [0071]本實(shí)施例以圖5所示的系統(tǒng)為例加以介紹,該系統(tǒng)包括CPU501、SDRAM502、CPLD503和SDRAM504。其中,CPLD可以包括解析模塊、數(shù)據(jù)控制模塊和診斷模塊??梢姡緦?shí)施例中以第一處理器具體為CPU,第二處理器具體為CPLD,隨機(jī)存儲器具體為SDRAM進(jìn)行示例性介紹,而本發(fā)明實(shí)施例中對此并不加以限定。
      [0072]本實(shí)施例的所述方法包括:
      [0073]S401:解析模塊監(jiān)聽CPU501和SDRAM502的連接端口。
      [0074]S402:若解析模塊監(jiān)聽到CPU501向SDRAM502發(fā)送控制信號01,將該控制信號01解析后作為控制信號02發(fā)送至SDRAM504,確保SDRAM504與SDRAM502執(zhí)行相同的動作。
      [0075]例如圖6所示,控制信號01包括地址信號addr_bi[12:0]、行選通信號cas_1、列選通信號res_i和寫使能信號we_i??刂菩盘?2包括:地址信號backup_addr_bo [ 12:0 ]、行選通信號cas_o、列選通信號:res_o和寫使能信號we_o。其中,寫使能信號we_i和we_o用于使能寫操作,地址信號addr_bi [ 12:0]用于表示將數(shù)據(jù)寫入第一地址,例如第O位到第15位,地址信號baCkup_addr_bO[12:0]用于表示將數(shù)據(jù)寫入第二地址,例如第O位到第15位。行選通信號和列選通信號用于使能行地址選通和列地址選通。
      [0076]S403:解析模塊監(jiān)聽到CPU501向SDRAM502發(fā)送控制信號01時(shí),數(shù)據(jù)控制模塊獲取CPU501向SDRAM502發(fā)送的數(shù)據(jù)dq[ 15:0],并將該數(shù)據(jù)dq[ 15:0]取反后得到backup_dq[ 15:
      O],將數(shù)據(jù)backup_dq [15:0]發(fā)送至SDRAM504。SDRAM502會根據(jù)控制信號OI將接收到的數(shù)據(jù)寫入第一地址。SDRAM504會根據(jù)控制信號02將接收到的數(shù)據(jù)寫入第二地址。
      [0077]本實(shí)施例中,CPU501可以對SDRAM502進(jìn)行8比特、16比特、24比特或者突發(fā)模式的讀寫操作,CPLD503對SDRAM504進(jìn)行相同模式的讀寫操作。
      [0078]S404:若解析模塊監(jiān)聽到CPU501向SDRAM502發(fā)送控制信號03,將該控制信號03解析后作為控制信號04發(fā)送至SDRAM504。
      [0079]控制信號03包括地址信號addr_bi [ 12:0]、行選通信號cas_1、列選通信號^8_1和讀使能信號:rd_i??刂菩盘?4包括:地址信號backup_addr_bo [12:0]、行選通信號cas_o、列選通信號res_o和讀使能信號rd_o。其中,讀使能信號rd_i^Prd_o用于使能讀操作,地址信號addr_bi [12:0 ]用于表示從第一地址讀取數(shù)據(jù),地址信號backup_addr_bo [12:0 ]用于表示從第二地址讀取數(shù)據(jù)。行選通信號和列選通信號用于表示使能行地址選通和列地址選通。
      [0080]S405:解析模塊監(jiān)聽到CPU501向SDRAM502發(fā)送控制信號03時(shí),數(shù)據(jù)控制模塊獲取CPU501從SDRAM502讀取的數(shù)據(jù),并且數(shù)據(jù)控制模塊從SDRAM504讀取數(shù)據(jù)。由于SDRAM502和S D RAM 5 O 4分別接收到控制信號O 3和控制信號O 4,此時(shí)數(shù)據(jù)控制模塊獲取到的分別是從SDRAM502的第一地址和SDRAM504的第二地址讀取的數(shù)據(jù),并把從這兩個地址讀取的數(shù)據(jù)發(fā)送到診斷模塊。
      [0081]S406:診斷模塊將分別從第一地址和第二地址讀取的數(shù)據(jù)進(jìn)行比較,若比較結(jié)果表示從這兩個地址讀取的數(shù)據(jù)高低電平相反,則表示本次傳輸正常,向CPU501輸出初始信號,否則表示本次傳輸異常,向CPU501輸出異常信號。例如圖6所示,診斷模塊輸出異常信號error_f I ag。當(dāng)診斷模塊接收到CPU5OI的清除信號后,診斷模塊輸出初始信號,而不再輸出異常信號err or_f I ag。
      [0082]其中,解析模塊還可以監(jiān)聽到CPU501向SDRAM502發(fā)送的除控制信號之外的其他信號,例如配置信號(包括初始化配置)、自刷新信號。此時(shí)解析模塊會將配置信號、自刷新信號等解析后發(fā)送至SDRAM504。
      [0083]本實(shí)施例還支持錯誤注入模式。若CPU501向CPLD503發(fā)送錯誤注入信號時(shí),數(shù)據(jù)控制模塊會將讀取的數(shù)據(jù)直接寫入SDRAM504,不進(jìn)行取反操作。
      [0084]對應(yīng)上述方法實(shí)施例,本發(fā)明還提供了隨機(jī)存儲器的檢測系統(tǒng)的一種方法實(shí)施例。
      [0085]如圖3所示,本實(shí)施例中第一處理器301和主用隨機(jī)存儲器302相連,第二處理器303與第一處理器301和主用隨機(jī)存儲器302的連接端口相連,并且第二處理器303與備用隨機(jī)存儲器304相連;本實(shí)施例的所述檢測系統(tǒng)包括:第二處理器303和備用隨機(jī)存儲器304。
      [0086]本實(shí)施例中,第二處理器303用于監(jiān)聽第一處理器301和主用隨機(jī)存儲器302的連接端口。從而確定第一處理器301是否與主用隨機(jī)處理器302進(jìn)行數(shù)據(jù)傳輸。
      [0087]第二處理器303還用于,若監(jiān)聽到第一處理器301向主用隨機(jī)存儲器302的第一地址寫入數(shù)據(jù),第二處理器303獲取所述數(shù)據(jù),并將所述數(shù)據(jù)取反后寫入備用隨機(jī)存儲器304的第二地址。
      [0088]其中,第二地址可以根據(jù)第一地址確定。例如,第一地址與第二地址相同,第一地址可以為第O位到第15位,第二地址也可以為第O位到第15位。第二處理器303還用于對應(yīng)存儲所述第一地址和所述第二地址。
      [0089]本實(shí)施例中第二處理器303并不是直接將數(shù)據(jù)寫入到備用隨機(jī)存儲器304,而是會對數(shù)據(jù)進(jìn)行取反后再進(jìn)行存儲,能夠很好地避免共因失效因素。
      [0090]第二處理器303還用于,若監(jiān)聽到第一處理器301從主用隨機(jī)存儲器302的第一地址讀取數(shù)據(jù),第二處理器303獲取第一處理器301從主用隨機(jī)存儲器302的第一地址讀取的數(shù)據(jù),并從備用隨機(jī)存儲器304的第二地址讀取數(shù)據(jù)。
      [0091]第二處理器303還用于,將獲取的、第一處理器301從主用隨機(jī)存儲器302的第一地址讀取的數(shù)據(jù),與從備用隨機(jī)存儲器304的第二地址讀取的數(shù)據(jù)進(jìn)行比較,根據(jù)比較結(jié)果輸出檢測信號。
      [0092]其中,若所述比較結(jié)果表示從所述第二地址讀取的數(shù)據(jù),與從所述第一地址讀取的數(shù)據(jù)取反后相匹配,所述檢測信號為初始信號,即表示本次傳輸正常。相匹配可以指的是完全相同或者相同的比例達(dá)到預(yù)定百分比等。若所述比較結(jié)果表示從所述第二地址讀取的數(shù)據(jù),與從所述第一地址讀取的數(shù)據(jù)取反后不匹配,所述檢測信號為異常信號err0r_flag,即表示本次傳輸出現(xiàn)錯誤。
      [0093]可見,本實(shí)施例的檢測系統(tǒng)用于主用隨機(jī)存儲器202的使用過程中,能夠?qū)崟r(shí)地對主用隨機(jī)存儲器202的數(shù)據(jù)傳輸進(jìn)行檢測,而且不需要在所有地址都寫入數(shù)據(jù),從而減少耗時(shí)。另外,本發(fā)明實(shí)施例在向備用隨機(jī)存儲器204存儲數(shù)據(jù)時(shí),會對數(shù)據(jù)進(jìn)行取反操作后再進(jìn)行存儲,能夠很好地避免共因失效因素。
      [0094]此外,本發(fā)明實(shí)施例提供的檢測系統(tǒng)不需要借助于嵌入式處理系統(tǒng),開發(fā)成功低從而廣泛適用性高。另外其采用的是旁路檢測電路,即使檢測功能出錯也不會對主用隨機(jī)存儲器的正常使用造成影響,從而避免第一處理器讀寫操作的中斷。若第二處理器或者備用隨機(jī)存儲器出現(xiàn)異常時(shí),可以采用ECC模塊代替,從而實(shí)現(xiàn)錯誤數(shù)據(jù)的檢測及恢復(fù)。
      [0095]本實(shí)施例中,第一處理器301可以為CPU等,而第二處理器304可以為FPGA、CPLD等。本實(shí)施例中,主用隨機(jī)存儲器302和備用隨機(jī)存儲器304可以為任一種隨機(jī)存儲設(shè)備,例如SRAM、SDRAM、DDR、DDR2、DDR3 等。
      [0096]本發(fā)明實(shí)施例中,第二處理器303還可以與第一處理器301的第一端口相連,所述第一端口不同于所述連接端口。第二處理器303可以向第一處理器301的第一端口輸出檢測信號。例如,若第二處理器303向第一端口輸出初始信號(例如O),表不本次傳輸正常,若第二處理器303向第一端口輸出異常信號error_flag(例如I),表不本次傳輸異常。其中,第一處理器301可以通過中斷的方式處理檢測信號。
      [0097]若第二處理器303向第一處理器301的第一端口輸出異常信號,則第一處理器301接收到異常信號后做出對應(yīng)的處理方式,例如報(bào)警等,保證數(shù)據(jù)傳輸異常時(shí)能夠及時(shí)發(fā)現(xiàn)。其中,第二處理器303還可以與第一處理器301的第二端口相連,所述第二端口不同于所述連接端口,第一處理器301還可以向第二處理器303的第二端口發(fā)送清除信號,第二處理器303接收到清除信號后,根據(jù)該清除信號向第一端口輸出初始信號。例如,第二處理器303向第一端口輸出I,接收到清除信號后,向第一端口輸出O。
      [0098]本實(shí)施例中還支持錯誤注入模式,也就是說第二處理器303向備用隨機(jī)存儲器304寫入數(shù)據(jù)前不進(jìn)行取反操作,而是直接將數(shù)據(jù)進(jìn)行寫入。從而使得第二處理器303輸出的檢測信號一定為異常信號,用于檢測本實(shí)施例的檢測系統(tǒng)是否正常工作。
      [0099]具體地,第二處理器303還與第一處理器301的第三端口相連,所述第三端口不同于所述連接端口。第二處理器303還用于,若監(jiān)聽到第一處理器301向主用隨機(jī)存儲器302的第三地址寫入數(shù)據(jù)并接收到所述第三端口發(fā)送的錯誤注入信號時(shí),獲取向所述第三地址寫入的數(shù)據(jù),并直接寫入備用隨機(jī)存儲器304的第四地址;若監(jiān)聽到第一處理器301從主用隨機(jī)存儲器302的第三地址讀取數(shù)據(jù),獲取第一處理器301從主用隨機(jī)存儲器302的第三地址讀取的數(shù)據(jù),并從備用隨機(jī)存儲器304的第四地址讀取數(shù)據(jù);第二處理器303還用于,將從所述第三地址讀取的數(shù)據(jù),與從所述第四地址讀取的數(shù)據(jù)進(jìn)行比較,根據(jù)比較結(jié)果生成檢測結(jié)果。
      [0100]所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。
      [0101]在本發(fā)明所提供的幾個實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
      [0102]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
      [0103]另外,在本發(fā)明各個實(shí)施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨(dú)物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
      [0104]所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲在一個計(jì)算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-OnlyMemory)、隨機(jī)存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
      [0105]以上所述,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
      【主權(quán)項(xiàng)】
      1.一種隨機(jī)存儲器的檢測方法,其特征在于,所述方法包括: 第二處理器監(jiān)聽第一處理器和主用隨機(jī)存儲器的連接端口; 若監(jiān)聽到所述第一處理器向所述主用隨機(jī)存儲器的第一地址寫入數(shù)據(jù),所述第二處理器獲取所述數(shù)據(jù),并將所述數(shù)據(jù)取反后寫入備用隨機(jī)存儲器的第二地址; 若監(jiān)聽到所述第一處理器從所述主用隨機(jī)存儲器的第一地址讀取數(shù)據(jù),所述第二處理器獲取所述第一處理器從所述第一地址讀取的數(shù)據(jù),并從所述備用隨機(jī)存儲器的第二地址讀取數(shù)據(jù); 所述第二處理器將獲取的、所述第一處理器從所述第一地址讀取的數(shù)據(jù),與從所述第二地址讀取的數(shù)據(jù)進(jìn)行比較,根據(jù)比較結(jié)果輸出檢測信號。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,若所述比較結(jié)果表示從所述第二地址讀取的數(shù)據(jù),與從所述第一地址讀取的數(shù)據(jù)取反后相匹配,所述檢測信號為初始信號; 若所述比較結(jié)果表示從所述第二地址讀取的數(shù)據(jù),與從所述第一地址讀取的數(shù)據(jù)取反后不匹配,所述檢測信號為異常信號。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)比較結(jié)果輸出檢測信號包括: 根據(jù)比較結(jié)果向所述第一處理器輸出檢測信號。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,若所述檢測信號為異常信號;所述方法還包括: 所述第二處理器接收到所述第一處理器發(fā)送的清除信號; 所述第二處理器向所述第一處理器輸出初始信號。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第二地址根據(jù)所述第一地址確定出。6.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 若監(jiān)聽到所述第一處理器向所述主用隨機(jī)存儲器的第三地址寫入數(shù)據(jù)并接收到錯誤注入信號時(shí),所述第二處理器獲取向所述第三地址寫入的數(shù)據(jù),并直接寫入所述備用隨機(jī)存儲器的第四地址; 若監(jiān)聽到所述第一處理器從所述主用隨機(jī)存儲器的第三地址讀取數(shù)據(jù),所述第二處理器獲取所述第一處理器從所述第三地址讀取的數(shù)據(jù),并從所述備用隨機(jī)存儲器的第四地址讀取數(shù)據(jù); 所述第二處理器將獲取的、所述第一處理器從所述第三地址讀取的數(shù)據(jù),與從所述第四地址讀取的數(shù)據(jù)進(jìn)行比較,根據(jù)比較結(jié)果生成檢測結(jié)果。7.—種隨機(jī)存儲器的檢測系統(tǒng),其特征在于,第一處理器和主用隨機(jī)存儲器相連,第二處理器與第一處理器和主用隨機(jī)存儲器的連接端口相連,并且與備用隨機(jī)存儲器相連;所述系統(tǒng)包括:所述第二處理器和所述備用隨機(jī)存儲器; 所述第二處理器用于監(jiān)聽所述連接端口;若監(jiān)聽到所述第一處理器向所述主用隨機(jī)存儲器的第一地址寫入數(shù)據(jù),獲取所述數(shù)據(jù),并將所述數(shù)據(jù)取反后寫入所述備用隨機(jī)存儲器的第二地址;若監(jiān)聽到所述第一處理器從所述主用隨機(jī)存儲器的第一地址讀取數(shù)據(jù),獲取所述第一處理器從所述第一地址讀取的數(shù)據(jù),并從所述備用隨機(jī)存儲器的第二地址讀取數(shù)據(jù); 所述第二處理器還用于,將獲取的、所述第一處理器從所述第一地址讀取的數(shù)據(jù),與從所述第二地址讀取的數(shù)據(jù)進(jìn)行比較,根據(jù)比較結(jié)果輸出檢測信號。8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,若所述比較結(jié)果表示從所述第二地址讀取的數(shù)據(jù),與從所述第一地址讀取的數(shù)據(jù)取反后相匹配,所述檢測信號為初始信號; 若所述比較結(jié)果表示從所述第二地址讀取的數(shù)據(jù),與從所述第一地址讀取的數(shù)據(jù)取反后不匹配,所述檢測信號為異常信號。9.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述第二處理器還與所述第一處理器的第一端口相連,所述第一端口不同于所述連接端口 ; 當(dāng)根據(jù)比較結(jié)果輸出檢測信號時(shí),所述第二處理器具體用于根據(jù)比較結(jié)果向所述第一處理器的所述第一端口輸出檢測信號。10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述第二處理器還與所述第一處理器的第二端口相連,所述第二端口不同于所述連接端口; 若所述檢測信號為異常信號,所述第二處理器還用于接收到所述第一處理器的所述第二端口發(fā)送的清除信號,向所述第一處理器的所述第一端口輸出初始信號。11.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述第二地址根據(jù)所述第一地址確定出。12.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述第二處理器還與所述第一處理器的第三端口相連,所述第三端口不同于所述連接端口; 所述第二處理器還用于,若監(jiān)聽到所述第一處理器向所述主用隨機(jī)存儲器的第三地址寫入數(shù)據(jù)并接收到所述第三端口發(fā)送的錯誤注入信號時(shí),獲取向所述第三地址寫入的數(shù)據(jù),并直接寫入所述備用隨機(jī)存儲器的第四地址;若監(jiān)聽到所述第一處理器從所述主用隨機(jī)存儲器的第三地址讀取數(shù)據(jù),獲取所述第一處理器從所述第三地址讀取的數(shù)據(jù),并從所述備用隨機(jī)存儲器的第四地址讀取數(shù)據(jù); 所述第二處理器還用于,將獲取的、所述第一處理器從所述第三地址讀取的數(shù)據(jù),與從所述第四地址讀取的數(shù)據(jù)進(jìn)行比較,根據(jù)比較結(jié)果生成檢測結(jié)果。
      【文檔編號】G06F11/10GK105824719SQ201610150312
      【公開日】2016年8月3日
      【申請日】2016年3月16日
      【發(fā)明人】俞堅(jiān)才, 章維, 林鑫, 謝偉軍, 李向前
      【申請人】浙江中控技術(shù)股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1