新四季網

存儲介質讀寫錯誤的檢測方法

2023-10-08 07:22:39 1

專利名稱:存儲介質讀寫錯誤的檢測方法
技術領域:
本發明涉及存儲技術,特別涉及一種存儲介質讀寫錯誤的檢測方法。
技術背景
圖1為現有技術中存儲介質讀寫過程的原理示意圖,如圖1所示,當對存儲介質 103進行寫操作時,主機端101向存儲端102下發寫命令,存儲端102內部的各個處理模塊 (圖未示出)對寫命令所包括的地址和數據進行一系列的處理後,向存儲介質103相應的地 址寫入所要求的數據。所述各個處理模塊進行的處理是複雜多樣的,例如,有的處理模塊負 責地址轉換。
類似地,當對存儲介質103進行讀操作時,主機端101向存儲端102下發讀命令, 存儲端102內部的各個處理模塊(圖未示出)對讀命令所包括的地址進行一系列的處理 後,從存儲介質103相應的地址取出數據,然後存儲端102內部的各個處理模塊(圖未示 出)對數據進行一系列的處理後返回至主機端101。
需要說明的是,上述存儲介質103通常為磁碟或由若干磁碟構成的磁碟組。
在實際應用中,當出現數據一致性問題時,即讀取的數據與所要求的數據不一致 時,需要進行檢測,以確定錯誤類型到底是讀錯誤還是寫錯誤,甚至更進一步確定具體哪個 環節出現了問題才導致出現讀錯誤或者寫錯誤。
在現有技術中,通常採用以下方法對磁碟的讀寫錯誤進行檢測將磁碟的數據導 出,判斷磁碟上的數據是否為所要求的數據,如果不是,則說明出現了寫錯誤,如果磁碟上 的數據確實為所要求的數據,則判斷出現了讀錯誤。進一步地,如果錯誤類型為寫錯誤,則 依次通過人工方式在存儲端102中負責寫操作的各個處理模塊上增加關鍵點,並檢測關鍵 點的輸出信息,以檢查具體在哪個處理模塊上出現了問題。類似地,如果錯誤類型為讀錯 誤,則依次通過人工方式在存儲端102中負責讀操作的各個處理模塊上增加關鍵點,並檢 測關鍵點的輸出信息,以檢查具體在哪個處理模塊上出現了錯誤。
可見,現有技術中主要是通過人工方式來進行存儲介質讀寫錯誤的檢測,整個檢 測過程必須依靠人工方式一步一步地執行,檢測效率比較低。發明內容
有鑑於此,本發明提供一種存儲介質讀寫錯誤的檢測方法,能夠快速地檢測存儲 介質的讀寫錯誤。
為解決上述技術問題,本發明的技術方案是這樣實現的
一種存儲介質讀寫錯誤的檢測方法,該方法包括
A、主機端構造寫命令,所述寫命令用於確定存儲介質中測試扇區的地址;
B、主機端在所述寫命令中添加邏輯塊地址LBA和測試用例編號ID,然後將所述寫 命令發送至存儲端,其中,不同寫命令中添加的測試用例ID相同,LBA各不相同;
C、主機端判斷是否收到存儲端返回的寫命令完成響應,如果是,則執行步驟D ;否則,返回執行步驟A ;
D、主機端構造讀命令,然後將所述讀命令發送至存儲端,所述讀命令用於在所述 確定的測試扇區的地址上讀回數據;
E、主機端判斷存儲端返回的讀回數據中的LBA是否和步驟B中所述寫命令中添加 的LBA相同,讀回數據中的測試用例ID是否和步驟B中所述寫命令中添加的測試用例ID 相同,如果讀回數據中的LBA和所述寫命令中添加的LBA相同,且讀回數據中的測試用例ID 和所述寫命令中添加的測試用例ID相同,則返回執行步驟A ;否則,執行步驟F ;
F、主機端重新將步驟D中所述讀命令發送至存儲端;
G、主機端判斷存儲端返回的讀回數據中的LBA是否和步驟B中所述寫命令中添加 的LBA相同,讀回數據中的測試用例ID是否和步驟B中所述寫命令中添加的測試用例ID 相同,如果讀回數據中的LBA和所述寫命令中添加的LBA相同,且讀回數據中的測試用例ID 和所述寫命令中添加的測試用例ID相同,則確定錯誤類型為讀錯誤;否則,確定錯誤類型 為寫錯誤;
H、主機端記錄步驟G中所述確定的錯誤類型。
步驟H進一步包括主機端記錄錯誤類型對應的寫命令中的測試扇區的地址、LBA 和測試用例ID。
所述記錄的內容以錯誤日誌的形式保存在主機端中。
所述存儲介質為磁碟。
一種存儲介質讀寫錯誤的檢測方法,該方法包括
A、存儲端接收來自主機端的寫命令,並判斷所述寫命令是否為接收到的第一個寫 命令,如果是,則保存所述寫命令中的測試用例編號ID,然後執行步驟B ;否則,直接執行步 驟B;
B、存儲端按照所述寫命令確定的存儲介質中測試扇區的地址,將所述寫命令中的 邏輯塊地址LBA和測試用例ID保存至所述測試扇區上,並在保存完畢後向主機端返回寫命 令完成響應;
C、存儲端接收來自主機端的讀命令,在所述確定的測試扇區地址上讀回數據,並 向主機端返回讀回數據;
D、存儲端判斷讀回數據中的LBA是否和步驟A中所述接收的寫命令中的LBA相 同,讀回數據中的測試用例ID是否和步驟A中所述保存的測試用例ID相同,如果讀回數據 中的LBA和步驟A中所述接收的寫命令中的LBA不相同,或讀回數據中的測試用例ID和步 驟A中所述保存的測試用例ID不相同,則確定錯誤類型為寫錯誤,然後執行步驟E ;否則, 返回執行步驟A ;
E、存儲端列印所述確定的錯誤類型。
步驟E進一步包括存儲端列印錯誤類型對應的寫命令中的測試扇區的地址、LBA 和測試用例ID。
所述存儲介質為磁碟。
一種存儲介質讀寫錯誤的檢測方法,該方法包括
A、主機端構造寫命令,所述寫命令用於確定存儲介質中測試扇區的地址;
B、主機端在所述寫命令中添加邏輯塊地址LBA和測試用例編號ID,然後將所述寫命令發送至存儲端,其中,不同寫命令中添加的測試用例ID相同,LBA各不相同;
C、存儲端接收所述寫命令,並判斷所述寫命令是否為接收到的第一個寫命令,如 果是,則保存所述寫命令中的測試用例ID,然後執行步驟D ;否則,直接執行步驟D ;
D、存儲端按照所述寫命令確定的測試扇區的地址,將所述寫命令中的LBA和測試 用例ID保存至所述測試扇區上,並在保存完畢後向主機端返回寫命令完成響應;
E、主機端判斷是否收到存儲端返回的寫命令完成響應,如果是,則執行步驟F ;否 則,返回執行步驟A ;
F、主機端構造讀命令,然後將所述讀命令發送至存儲端,所述讀命令用於在所述 確定的測試扇區的地址上讀回數據;
G、存儲端接收來自主機端的讀命令,在所述確定的測試扇區地址上讀回數據,並 向主機端返回讀回數據;
H、存儲端判斷讀回數據中的LBA是否和步驟C中所述接收的寫命令中的LBA相 同,讀回數據中的測試用例ID是否和步驟C中所述保存的測試用例ID相同,如果讀回數據 中的LBA和步驟C中所述接收的寫命令中的LBA不相同,或讀回數據中的測試用例ID和步 驟C中所述保存的測試用例ID不相同,則確定錯誤類型為寫錯誤,然後執行步驟I ;否則, 返回執行步驟C;
I、存儲端列印步驟H中所述確定的錯誤類型;
J、主機端判斷存儲端返回的讀回數據中的LBA是否和步驟B中所述寫命令中添加 的LBA相同,讀回數據中的測試用例ID是否和步驟B中所述寫命令中添加的測試用例ID 相同,如果讀回數據中的LBA和所述寫命令中添加的LBA相同,且讀回數據中的測試用例ID 和所述寫命令中添加的測試用例ID相同,則返回執行步驟A ;否則,執行步驟K ;
K、主機端重新將步驟F中所述讀命令發送至存儲端,存儲端接收來自主機端的讀 命令,在所述確定的測試扇區地址上讀回數據,並向主機端返回讀回數據;
L、主機端判斷存儲端返回的讀回數據中的LBA是否和步驟B中所述寫命令中添加 的LBA相同,讀回數據中的測試用例ID是否和步驟B中所述寫命令中添加的測試用例ID 相同,如果讀回數據中的LBA和所述寫命令中添加的LBA相同,且讀回數據中的測試用例ID 和所述寫命令中添加的測試用例ID相同,則確定錯誤類型為讀錯誤;否則,確定錯誤類型 為寫錯誤;
M、主機端記錄步驟L中所述確定的錯誤類型。
步驟I進一步包括存儲端列印錯誤類型對應的寫命令中的測試扇區的地址、LBA 和測試用例ID ;
步驟M進一步包括主機端記錄錯誤類型對應的寫命令中的測試扇區的地址、LBA 和測試用例ID ;
所述主機端記錄的內容以錯誤日誌的形式保存在主機端中。
所述存儲介質為磁碟。
根據本發明所提供的技術方案,主機端在寫命令中添加LBA和測試用例ID,然後 將寫命令發送至存儲端,存儲端將寫命令中的LBA和測試用例ID保存至測試扇區上,存儲 端在確定的測試扇區地址上讀回數據,並向主機端返回讀回數據,從而存儲端和主機端通 過比對讀回數據和寫入的數據,以此來判斷錯誤類型。可見,本發明提供的是主機端和存儲端相互配合的自動檢測方案,不需要人工介入,能夠快速地檢測存儲介質的讀寫錯誤。


圖1為現有技術中存儲介質讀寫過程的原理示意圖。
圖2為本發明所提供的一種存儲介質讀寫錯誤的檢測方法的實施例一的流程圖。
圖3為本發明所提供的一種存儲介質讀寫錯誤的檢測方法的實施例二的流程圖。
具體實施方式
為使本發明的目的、技術方案及優點更加清楚明白,以下參照附圖並舉實施例,對 本發明所述方案作進一步地詳細說明。
本發明所提供的一種存儲介質讀寫錯誤的檢測方法涉及兩個方面主機端的檢測 過程和存儲端的檢測過程,下面通過兩個實施例分別對主機端的檢測過程和存儲端的檢測 過程進行詳細介紹。
實施例一
實施例一為主機端的檢測過程。
圖2為本發明所提供的一種存儲介質讀寫錯誤的檢測方法的實施例一的流程圖。 如圖2所示,該方法包括以下步驟
步驟201,主機端構造寫命令,所述寫命令用於確定存儲介質中測試扇區的地址。
其中,主機端構造寫命令的具體方法為現有技術的內容,此處不予贅述。
所述測試扇區的地址用於指示本次被檢測的扇區為哪幾個,例如,假設共有100 個扇區,每個扇區的編號分別為1至100,而可能本次被檢測的扇區僅為其中編號為1至10 的10個扇區。
步驟202,主機端在所述寫命令中添加邏輯塊地址(LBA)和測試用例編號(ID), 然後將所述寫命令發送至存儲端,其中,不同寫命令中添加的測試用例ID相同,LBA各不相 同。
在本步驟中,向步驟201所構造的寫命令中添加LBA和測試用例ID。需要說明的 是,在整個測試過程中,有些步驟執行完畢後有可能返回執行步驟201 (例如步驟203的判 斷結果為否時,則返回步驟201),每返回一次步驟201則意味著主機端又構造一條新的寫 命令,這樣,在檢測結束之前,主機端構造了多條寫命令,在這多條寫命令中,不同寫命令確 定的測試扇區的地址可能相同也可能不同,但是不同寫命令中添加的測試用例ID都相同, 不同寫命令中添加的LBA都不相同。
步驟203,主機端判斷是否收到存儲端返回的寫命令完成響應,如果是,則執行步 驟204 ;否則,返回執行步驟201。
在本步驟中,如果存儲端向主機端返回了寫命令完成響應,意味著已將寫命令中 的LBA和測試用例ID寫入存儲介質,則主機端執行後續步驟,如果沒有收到寫命令完成響 應,意味著寫命令中的LBA和測試用例ID還未全部寫入存儲介質,則可以返回步驟201,構 造其他寫命令,並發送其他寫命令到存儲端,以繼續對其他扇區檢測。
步驟204,主機端構造讀命令,然後將所述讀命令發送至存儲端,所述讀命令用於 在所述確定的測試扇區的地址上讀回數據。8
其中,主機端構造讀命令的具體方法為現有技術的內容,此處不予贅述。
本步驟在之前寫入數據的位置發起了讀操作。
步驟205,主機端判斷存儲端返回的讀回數據中的LBA是否和步驟202中所述寫命 令中添加的LBA相同,讀回數據中的測試用例ID是否和步驟202中所述寫命令中添加的測 試用例ID相同,如果讀回數據中的LBA和所述寫命令中添加的LBA相同,且讀回數據中的 測試用例ID和所述寫命令中添加的測試用例ID相同,則返回執行步驟201 ;否則,執行步 驟 206。
在本步驟中,如果讀回數據中的LBA和寫命令中添加的LBA相同,且讀回數據中的 測試用例ID和所述寫命令中添加的測試用例ID相同,表明沒有出現任何讀寫錯誤,則返回 步驟201,構造其他寫命令,並發送其他寫命令到存儲端,以繼續對其他扇區進行檢測。
步驟206,主機端重新將步驟204中所述讀命令發送至存儲端。
本步驟在之前寫入數據的位置第二次發起了讀操作。
步驟207,主機端判斷存儲端返回的讀回數據中的LBA是否和步驟202中所述寫命 令中添加的LBA相同,讀回數據中的測試用例ID是否和步驟202中所述寫命令中添加的測 試用例ID相同,如果讀回數據中的LBA和所述寫命令中添加的LBA相同,且讀回數據中的 測試用例ID和所述寫命令中添加的測試用例ID相同,則確定錯誤類型為讀錯誤;否則,確 定錯誤類型為寫錯誤。
在本步驟中,再一次判斷存儲端返回的讀回數據中的LBA是否和步驟202中所述 寫命令中添加的LBA相同,讀回數據中的測試用例ID是否和步驟202中所述寫命令中添加 的測試用例ID相同,如果讀回數據中的LBA和步驟202中所述寫命令中添加的LBA不同, 或者讀回數據中的測試用例ID和步驟202中所述寫命令中添加的測試用例ID不同,則表 明重新讀一次後還是錯誤的,這說明寫入的數據本身就是錯誤的,則判斷發生了寫錯誤。
相反,如果讀回數據中的LBA和所述寫命令中添加的LBA相同,且讀回數據中的測 試用例ID和所述寫命令中添加的測試用例ID相同,則表明重新讀一次後則是正確的,說明 寫入的數據本身不是錯誤的,可是由於第一次讀取是錯誤的,而第二次重新讀取卻是正確 的,可推斷在讀數據的過程存在問題,則判斷錯誤類型為讀錯誤。
步驟208,主機端記錄步驟207中所述確定的錯誤類型。
還可進一步記錄錯誤類型對應的寫命令中的測試扇區的地址、LBA和測試用例 ID。
上述記錄的內容可以錯誤日誌的形式保存在主機端中。
至此,對實施例一介紹完畢。
實施例二
實施例二為存儲端的檢測過程。
圖3為本發明所提供的一種存儲介質讀寫錯誤的檢測方法的實施例二的流程圖。 如圖3所示,該方法包括以下步驟
步驟301,存儲端接收來自主機端的寫命令,並判斷所述寫命令是否為接收到的第 一個寫命令,如果是,則保存所述寫命令中的測試用例ID,然後執行步驟302 ;否則,直接執 行步驟302。
在本步驟中,如果存儲端接收第一個寫命令,則保存寫命令中的測試用例ID。
在實際應用中,可定義一個全局變量,使得所述全局變量等於第一個寫命令中的 測試用例ID,這樣就實現了測試用例ID的保存。
步驟302,存儲端按照所述寫命令確定的測試扇區的地址,將所述寫命令中的LBA 和測試用例ID保存至所述測試扇區上,並在保存完畢後向主機端返回寫命令完成響應。
本步驟中保存寫命令中的LBA和測試用例ID的過程即為向存儲介質的測試扇區 寫入數據的過程。
步驟303,存儲端接收來自主機端的讀命令,在所述確定的測試扇區地址上讀回數 據,並向主機端返回讀回數據。
步驟304,存儲端判斷讀回數據中的LBA是否和步驟301中所述接收的寫命令中的 LBA相同,讀回數據中的測試用例ID是否和步驟301中所述保存的測試用例ID相同,如果 讀回數據中的LBA和步驟301中所述接收的寫命令中的LBA不相同,或讀回數據中的測試 用例ID和步驟301中所述保存的測試用例ID不相同,則確定錯誤類型為寫錯誤,然後執行 步驟305 ;否則,返回執行步驟301。
在本步驟中,如果讀回數據中的LBA和步驟301中所述接收的寫命令中的LBA不 相同,或讀回數據中的測試用例ID和步驟301中所述保存的測試用例ID不相同,則表明寫 數據時發生了錯誤;如果讀回數據中的LBA和步驟301中所述接收的寫命令中的LBA相同, 且讀回數據中的測試用例ID和步驟301中所述保存的測試用例ID相同,則表明沒有出現 任何讀寫錯誤,則可以返回步驟301,繼續接收其他命令,以繼續對其他扇區進行檢測。
步驟305,存儲端列印所述確定的錯誤類型。
還可進一步列印與所述錯誤類型對應的寫命令中的測試扇區的地址、LBA和測試 用例ID、以及存儲端中各個處理模塊的信息等。所述存儲端中各個處理模塊為現有技術中 負責對寫命令所包括的地址和數據進行一系列的處理的功能模塊。
至此,對實施例二介紹完畢。
在上述實施例一中,對主機端的檢測過程進行了介紹,在上述實施例二中,對存儲 端的檢測過程進行了介紹,下面結合上述實施一和實施例二,對主機端和存儲端的相互配 合進行存儲介質讀寫錯誤的檢測的工作流程進行介紹。
參見下述步驟401至413
步驟401,主機端構造寫命令,所述寫命令用於確定測試扇區的地址。
步驟402,主機端在所述寫命令中添加LBA和測試用例ID,然後將所述寫命令發送 至存儲端,其中,不同寫命令中添加的測試用例ID相同,LBA各不相同。
步驟403,存儲端接收所述寫命令,並判斷所述寫命令是否為接收到的第一個寫 命令,如果是,則保存所述寫命令中的測試用例ID,然後執行步驟404 ;否則,直接執行步驟 404。
步驟404,存儲端按照所述寫命令確定的測試扇區的地址,將所述寫命令中的LBA 和測試用例ID保存至所述測試扇區上,並在保存完畢後向主機端返回寫命令完成響應。
步驟405,主機端判斷是否收到存儲端返回的寫命令完成響應,如果是,則執行步 驟406 ;否則,返回執行步驟401。
步驟406,主機端構造讀命令,然後將所述讀命令發送至存儲端,所述讀命令用於 在所述確定的測試扇區的地址上讀回數據。
步驟407,存儲端接收來自主機端的讀命令,在所述確定的測試扇區地址上讀回數 據,並向主機端返回讀回數據。
步驟408,存儲端判斷讀回數據中的LBA是否和步驟403中所述接收的寫命令中的 LBA相同,讀回數據中的測試用例ID是否和步驟403中所述保存的測試用例ID相同,如果 讀回數據中的LBA和步驟403中所述接收的寫命令中的LBA不相同,或讀回數據中的測試 用例ID和步驟403中所述保存的測試用例ID不相同,則確定錯誤類型為寫錯誤,然後執行 步驟409 ;否則,返回執行步驟403。
步驟409,存儲端列印步驟408中所述確定的錯誤類型。
步驟410,主機端判斷存儲端返回的讀回數據中的LBA是否和步驟402中所述寫命 令中添加的LBA相同,讀回數據中的測試用例ID是否和步驟402中所述寫命令中添加的測 試用例ID相同,如果讀回數據中的LBA和所述寫命令中添加的LBA相同,且讀回數據中的 測試用例ID和所述寫命令中添加的測試用例ID相同,則返回執行步驟401 ;否則,執行步 驟 411。
步驟411,主機端重新將步驟406中所述讀命令發送至存儲端,存儲端接收來自主 機端的讀命令,在所述確定的測試扇區地址上讀回數據,並向主機端返回讀回數據。
步驟412,主機端判斷存儲端返回的讀回數據中的LBA是否和步驟402中所述寫命 令中添加的LBA相同,讀回數據中的測試用例ID是否和步驟402中所述寫命令中添加的測 試用例ID相同,如果讀回數據中的LBA和所述寫命令中添加的LBA相同,且讀回數據中的 測試用例ID和所述寫命令中添加的測試用例ID相同,則確定錯誤類型為讀錯誤;否則,確 定錯誤類型為寫錯誤。
步驟413,主機端記錄步驟412中所述確定的錯誤類型。
至此,對主機端和存儲端的相互配合進行存儲介質讀寫錯誤的檢測的工作流程介 紹完畢。
綜上,在本發明中,主機端在寫命令中添加LBA和測試用例ID,然後將寫命令發送 至存儲端,存儲端將寫命令中的LBA和測試用例ID保存至測試扇區上,存儲端在確定的測 試扇區地址上讀回數據,並向主機端返回讀回數據,從而存儲端和主機端通過比對讀回數 據和寫入的數據,以此來判斷錯誤類型。可見,本發明提供的是主機端和存儲端相互配合的 自動檢測方案,不需要人工介入,能夠快速地檢測存儲介質的讀寫錯誤。
以上所述,僅為本發明的較佳實施例而已,並非用於限定本發明的保護範圍。凡在 本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護 範圍之內。
權利要求
1.一種存儲介質讀寫錯誤的檢測方法,其特徵在於,該方法包括A、主機端構造寫命令,所述寫命令用於確定存儲介質中測試扇區的地址;B、主機端在所述寫命令中添加邏輯塊地址LBA和測試用例編號ID,然後將所述寫命令 發送至存儲端,其中,不同寫命令中添加的測試用例ID相同,LBA各不相同;C、主機端判斷是否收到存儲端返回的寫命令完成響應,如果是,則執行步驟D;否則, 返回執行步驟A ;D、主機端構造讀命令,然後將所述讀命令發送至存儲端,所述讀命令用於在所述確定 的測試扇區的地址上讀回數據;E、主機端判斷存儲端返回的讀回數據中的LBA是否和步驟B中所述寫命令中添加的 LBA相同,讀回數據中的測試用例ID是否和步驟B中所述寫命令中添加的測試用例ID相 同,如果讀回數據中的LBA和所述寫命令中添加的LBA相同,且讀回數據中的測試用例ID 和所述寫命令中添加的測試用例ID相同,則返回執行步驟A ;否則,執行步驟F ;F、主機端重新將步驟D中所述讀命令發送至存儲端;G、主機端判斷存儲端返回的讀回數據中的LBA是否和步驟B中所述寫命令中添加的 LBA相同,讀回數據中的測試用例ID是否和步驟B中所述寫命令中添加的測試用例ID相 同,如果讀回數據中的LBA和所述寫命令中添加的LBA相同,且讀回數據中的測試用例ID 和所述寫命令中添加的測試用例ID相同,則確定錯誤類型為讀錯誤;否則,確定錯誤類型 為寫錯誤;H、主機端記錄步驟G中所述確定的錯誤類型。
2.根據權利要求1所述的方法,其特徵在於,步驟H進一步包括主機端記錄錯誤類型 對應的寫命令中的測試扇區的地址、LBA和測試用例ID。
3.根據權利要求2所述的方法,其特徵在於,所述記錄的內容以錯誤日誌的形式保存 在主機端中。
4.根據權利要求3所述的方法,其特徵在於,所述存儲介質為磁碟。
5.一種存儲介質讀寫錯誤的檢測方法,其特徵在於,該方法包括A、存儲端接收來自主機端的寫命令,並判斷所述寫命令是否為接收到的第一個寫命 令,如果是,則保存所述寫命令中的測試用例編號ID,然後執行步驟B ;否則,直接執行步驟 B ;B、存儲端按照所述寫命令確定的存儲介質中測試扇區的地址,將所述寫命令中的邏輯 塊地址LBA和測試用例ID保存至所述測試扇區上,並在保存完畢後向主機端返回寫命令完 成響應;C、存儲端接收來自主機端的讀命令,在所述確定的測試扇區地址上讀回數據,並向主 機端返回讀回數據;D、存儲端判斷讀回數據中的LBA是否和步驟A中所述接收的寫命令中的LBA相同,讀 回數據中的測試用例ID是否和步驟A中所述保存的測試用例ID相同,如果讀回數據中的 LBA和步驟A中所述接收的寫命令中的LBA不相同,或讀回數據中的測試用例ID和步驟A 中所述保存的測試用例ID不相同,則確定錯誤類型為寫錯誤,然後執行步驟E ;否則,返回 執行步驟A ;E、存儲端列印所述確定的錯誤類型。
6.根據權利要求5所述的方法,其特徵在於,步驟E進一步包括存儲端列印錯誤類型 對應的寫命令中的測試扇區的地址、LBA和測試用例ID。
7.根據權利要求6所述的方法,其特徵在於,所述存儲介質為磁碟。
8.一種存儲介質讀寫錯誤的檢測方法,其特徵在於,該方法包括A、主機端構造寫命令,所述寫命令用於確定存儲介質中測試扇區的地址;B、主機端在所述寫命令中添加邏輯塊地址LBA和測試用例編號ID,然後將所述寫命令 發送至存儲端,其中,不同寫命令中添加的測試用例ID相同,LBA各不相同;C、存儲端接收所述寫命令,並判斷所述寫命令是否為接收到的第一個寫命令,如果是, 則保存所述寫命令中的測試用例ID,然後執行步驟D ;否則,直接執行步驟D ;D、存儲端按照所述寫命令確定的測試扇區的地址,將所述寫命令中的LBA和測試用例 ID保存至所述測試扇區上,並在保存完畢後向主機端返回寫命令完成響應;E、主機端判斷是否收到存儲端返回的寫命令完成響應,如果是,則執行步驟F;否則, 返回執行步驟A ;F、主機端構造讀命令,然後將所述讀命令發送至存儲端,所述讀命令用於在所述確定 的測試扇區的地址上讀回數據;G、存儲端接收來自主機端的讀命令,在所述確定的測試扇區地址上讀回數據,並向主 機端返回讀回數據;H、存儲端判斷讀回數據中的LBA是否和步驟C中所述接收的寫命令中的LBA相同,讀 回數據中的測試用例ID是否和步驟C中所述保存的測試用例ID相同,如果讀回數據中的 LBA和步驟C中所述接收的寫命令中的LBA不相同,或讀回數據中的測試用例ID和步驟C 中所述保存的測試用例ID不相同,則確定錯誤類型為寫錯誤,然後執行步驟I ;否則,返回 執行步驟C ;I、存儲端列印步驟H中所述確定的錯誤類型;J、主機端判斷存儲端返回的讀回數據中的LBA是否和步驟B中所述寫命令中添加的 LBA相同,讀回數據中的測試用例ID是否和步驟B中所述寫命令中添加的測試用例ID相 同,如果讀回數據中的LBA和所述寫命令中添加的LBA相同,且讀回數據中的測試用例ID 和所述寫命令中添加的測試用例ID相同,則返回執行步驟A ;否則,執行步驟K ;K、主機端重新將步驟F中所述讀命令發送至存儲端,存儲端接收來自主機端的讀命 令,在所述確定的測試扇區地址上讀回數據,並向主機端返回讀回數據;L、主機端判斷存儲端返回的讀回數據中的LBA是否和步驟B中所述寫命令中添加的 LBA相同,讀回數據中的測試用例ID是否和步驟B中所述寫命令中添加的測試用例ID相 同,如果讀回數據中的LBA和所述寫命令中添加的LBA相同,且讀回數據中的測試用例ID 和所述寫命令中添加的測試用例ID相同,則確定錯誤類型為讀錯誤;否則,確定錯誤類型 為寫錯誤;M、主機端記錄步驟L中所述確定的錯誤類型。
9.根據權利要求8所述的方法,其特徵在於,步驟I進一步包括存儲端列印錯誤類型對應的寫命令中的測試扇區的地址、LBA和測 試用例ID ;步驟M進一步包括主機端記錄錯誤類型對應的寫命令中的測試扇區的地址、LBA和測試用例ID ;所述主機端記錄的內容以錯誤日誌的形式保存在主機端中。
10.根據權利要求10所述的方法,其特徵在於,所述存儲介質為磁碟。
全文摘要
本發明公開了一種存儲介質讀寫錯誤的檢測方法,主機端在寫命令中添加LBA和測試用例ID,然後將寫命令發送至存儲端,存儲端將寫命令中的LBA和測試用例ID保存至測試扇區上,存儲端在確定的測試扇區地址上讀回數據,並向主機端返回讀回數據,從而存儲端和主機端通過比對讀回數據和寫入的數據,以此來判斷錯誤類型。採用本發明公開的方法能夠快速地檢測存儲介質的讀寫錯誤。
文檔編號G11B20/18GK102034516SQ20101059538
公開日2011年4月27日 申請日期2010年12月10日 優先權日2010年12月10日
發明者王志波 申請人:創新科存儲技術有限公司, 創新科軟體技術(深圳)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀