Win 7读取SD卡时导致数据损坏的修复

互联网 | 编辑: 吴宏 2009-12-11 00:00:00转载

据国外媒体报道,日前,微软针对最新一代客户端操作系统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,这也就会导致数据损坏。

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑