CMD640 explained

CMD640, the California Micro Devices Technology Inc product 0640, is an IDE interface chip for the PCI and VLB buses. CMD640 had some sort of hardware acceleration: WDMA and Read-Ahead (prefetch) support.

CMD Technology Inc was acquired by Silicon Image Inc. in 2001.

ChipProtocol
SiI/CMD 640MDMA 1
SiI/CMD 643MDMA 2
SiI/CMD 646UDMA 2
SiI/CMD 648UDMA 4
SiI/CMD 649UDMA 5
SiI0680UDMA 6

Hardware bug

The original CMD640 has data corruption bugs, some of which remained in CMD646.[1] The data corruption bug is similar to the bug affecting the contemporaneous PC Tech (a subsidiary[2] of Zeos) RZ1000 chipset. Both chipsets were used on a number of motherboards, including those from Intel.

Мodern operating systems have a workaround for this bug by prohibiting aggressive acceleration mode and losing about 10% of the performance.

External links

Notes and References

  1. Web site: - linux/drivers/ide/pci/cmd640.c Version 1.02 Sep 01, 1996 . February 22, 2020 . February 22, 2020 . https://web.archive.org/web/20200222064239/https://elixir.bootlin.com/linux/latest/source/drivers/ide/cmd640.c . dead .
  2. Web site: RZ1000 FAQ . 2019-01-03 . 2018-09-19 . https://web.archive.org/web/20180919213223/http://www.menet.umn.edu/~bob/FAQ/faq-RZ1000 . dead .