微軟修復(fù)Windows 7讀取SD卡時(shí)導(dǎo)致數(shù)據(jù)損壞的問(wèn)題

2009/11/28 11:48:20    編輯:軟媒 - 笨笨     字體:【

Win7之家afsion.com.cn):微軟修復(fù)Windows 7讀取SD卡時(shí)導(dǎo)致數(shù)據(jù)損壞的問(wèn)題

  據(jù)國(guó)外媒體報(bào)道,日前,微軟針對(duì)最新一代客戶(hù)端操作系統(tǒng)Windows7發(fā)布了一個(gè)更新,用于解決運(yùn)行在Windows 7上的安全數(shù)字卡(SD)中的數(shù)據(jù)損壞問(wèn)題。
  目前,所有使用Windows 7的消費(fèi)者都能夠通過(guò)微軟下載中心下載這個(gè)更新,適用于所有Windows 7版本的用戶(hù)。
  據(jù)微軟表示,一般來(lái)講,只有使用NTFS格式SD卡的用戶(hù),才會(huì)受到數(shù)據(jù)損壞問(wèn)題的影響。
  至于導(dǎo)致這個(gè)問(wèn)題的原因,微軟解釋道,當(dāng)用戶(hù)使用高級(jí)直接閃存(ADMA)訪問(wèn)去實(shí)現(xiàn)SD卡和Windows7之間的數(shù)據(jù)傳輸?shù)臅r(shí)候,數(shù)據(jù)損壞問(wèn)題就會(huì)出現(xiàn)。
  微軟發(fā)言人指出,在ADMA傳輸過(guò)程中,安全數(shù)字總線驅(qū)動(dòng)器(Sdbus.sys)會(huì)將操作系統(tǒng)的DMA數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換成SD卡的ADMA數(shù)據(jù)結(jié)構(gòu)。DMA和ADMA數(shù)據(jù)結(jié)構(gòu)也被稱(chēng)為描述符表,描述符表包含一個(gè)數(shù)據(jù)長(zhǎng)度值和緩沖區(qū)的地址。
  一般來(lái)講,數(shù)據(jù)長(zhǎng)度字段是16位,最大大小是64K(字節(jié))。然而,在數(shù)據(jù)轉(zhuǎn)換過(guò)程中,Sdbus.sys驅(qū)動(dòng)程序不檢查在系統(tǒng)的描述符表緩沖區(qū)的大小。因此,Sdbus.sys驅(qū)動(dòng)程序可能會(huì)將SD描述符表的數(shù)據(jù)長(zhǎng)度設(shè)置錯(cuò)誤。例如,Sdbus.sys驅(qū)動(dòng)程序可能會(huì)將數(shù)據(jù)長(zhǎng)度的值設(shè)置成大于0xFFFF,緊接著就會(huì)損壞的I/O,這也就會(huì)導(dǎo)致數(shù)據(jù)損壞。