With an update from Microsoft

Nov 26, 2009 13:00 GMT  ·  By

Microsoft has made available an update designed to resolve a data corruption problem affecting secure Digital (SD) cards used in conjunction with a machine running the company’s latest iteration of the Windows client. The refresh offered to customers is available for all editions of the Windows7 client and is set up to deal with the data corruption issue occurring in SD cards.

According to the Redmond company, affected customers had been using NTFS formatted SD cards. Microsoft explained that using Advanced Direct Memory Access (ADMA) in order to transfer data between SD cards and Windows 7 machines resulted in corruption problems. The software giant also added that attempting to use the corrupted data moved from a Windows 7 computer to an SD card, would generate additional problems.

“During an ADMA transfer process, the Secure Digital Bus Driver (Sdbus.sys) converts the DMA data structure of the operating system to the ADMA data structure of the SD card. The DMA and the ADMA data structures are also known as the descriptor tables. The descriptor table contains a data length value and a buffer address,” Microsoft explained.

“The data-length field is 16-bit, and has a maximum size of 64K (kilobytes). However, during the data conversion process, the Sdbus.sys driver does not check the buffer size in the descriptor table of the system. Therefore, the Sdbus.sys driver may set an incorrect data length in the SD descriptor table. For example, the Sdbus.sys driver may set the data length larger than 0xFFFF. Also, corrupted I/O occurs. This causes data corruption,” the company added.

There are two versions of the update available for download at this point in time, each tailored to the 32-bit (x86) and 64-bit (x64) versions of Windows 7.