Mac OS 9 Lives
Mac OS 9 Discussion => Hardware => Storage => Topic started by: (S)ATAman on January 05, 2020, 11:18:30 AM
-
Straight from horse's mouth, 15+ year old errata.
DMA Context Switch Failure in Port Multiplier Mode
A DMA context switch failure can occur when operating with a port multiplier (PM), causing data destined to or from one PM port to be transferred to or from another PM port. The conditions required to produce this failure are:
1. The SiI3124 device port must be connected to a port multiplier.
2. Commands must be outstanding to 3 or more PM ports simultaneously.
3. One of the devices connected to a PM port returns error status.
When these conditions are met, it is possible that the SiI3124 will not properly switch DMA context upon a data transfer from one of the non-erring devices after the driver performs an error recovery resume operation. This can cause data corruption, since data to/from one device will be transferred to/from another device.
Workaround:
None. To prevent possible data corruption, the host driver should issue a device reset (port control set register, bit 1) if a command error is received while commands are outstanding to three or more devices simultaneously on a single SiI3124 SATA port.
(SiI3124-2 Rev 0.2 Errata, SiI-AN-0030-E)
-
Straight from horse's mouth, 15+ year old errata.
DMA Context Switch Failure in Port Multiplier Mode
A DMA context switch failure can occur when operating with a port multiplier (PM), causing data destined to or from one PM port to be transferred to or from another PM port. The conditions required to produce this failure are:
1. The SiI3124 device port must be connected to a port multiplier.
2. Commands must be outstanding to 3 or more PM ports simultaneously.
3. One of the devices connected to a PM port returns error status.
When these conditions are met, it is possible that the SiI3124 will not properly switch DMA context upon a data transfer from one of the non-erring devices after the driver performs an error recovery resume operation. This can cause data corruption, since data to/from one device will be transferred to/from another device.
Workaround:
None. To prevent possible data corruption, the host driver should issue a device reset (port control set register, bit 1) if a command error is received while commands are outstanding to three or more devices simultaneously on a single SiI3124 SATA port.
(SiI3124-2 Rev 0.2 Errata, SiI-AN-0030-E)
My (temporary) workaround: never have more, than two PMP ports busy the same time on the same SATA channel.
That turned out to be a permanent one because Marvell 88SX7042 / 6042 is a much faster and more sophisticated chip without that shortcoming.
To bad, at the time the driver for 7042 was ready, the G5 was history.
So no FCode driver for 6042 / 7042.
Today the 7042 is very easy to come by - but the PCI-X sibling (6042) is very rare.
7042 is very much compatible with the last G5 with PCIe slots.