據國外媒體報道,日前,微軟針對最新一代客戶端操作系統Windows7發布了一個更新,用於解決運行在Windows 7上的安全數字卡(SD)中的數據損壞問題。
目前,所有使用Windows 7的消費者都能夠通過微軟下載中心下載這個更新,適用於所有Windows 7版本的用戶。
據微軟表示,一般來講,只有使用NTFS格式SD卡的用戶,才會受到數據損壞問題的影響。
至於導致這個問題的原因,微軟解釋道,當用戶使用高級直接閃存(ADMA)訪問去實現SD卡和Windows7之間的數據傳輸的時候,數據損壞問題就會出現。
微軟發言人指出,在ADMA傳輸過程中,安全數字總線驅動器(Sdbus.sys)會將操作系統的DMA數據結構轉換成SD卡的ADMA數據結構。DMA和ADMA數據結構也被稱為描述符表,描述符表包含一個數據長度值和緩沖區的地址。
一般來講,數據長度字段是16位,最大大小是64K(字節)。然而,在數據轉換過程中,Sdbus.sys驅動程序不檢查在系統的描述符表緩沖區的大小。因此,Sdbus.sys驅動程序可能會將SD描述符表的數據長度設置錯誤。例如,Sdbus.sys驅動程序可能會將數據長度的值設置成大於0xFFFF,緊接著就會損壞的I/O,這也就會導致數據損壞。