Commercial Sonar - VIP

This was the second of three contracts with Thales Underwater Systems

With the success of the LFAPS project and the completion of the submarine project We were asked to come back to Thales to help with a commercial sonar systems. This system was for Veritas-DGC , a seismological company based in Houston Texas.

Veritas' original sonar system consisted of taking raw data from a set of sonar hydrophones and writing this data directly to tape. However it was very expensive whenever a tape system failed. The ship simply had to turn around and redo the run. This could take hours with the loss calculated at tens of thousands of dollars per hour.

The VIP system was to provide a buffer between the sonar data and the tape drives. If a tape drive failed then the data was still collected and stored in a raid. When the tape drive came on line again the the data could then be written to tape. This raid buffer consisted of enough storage to provide 24 hours of data acquisition. So in order for this data buffering system to work a target mode SCSI controller was needed for the connection to the sonar system in order to read the data from the sonar controller. This target mode SCSI controller had to also mimic, in operation, the original tape drives. A third party was supplying the original software for an equivalent system that was already proven in the field based on, what came to be, very specific hardware.

The design of the system was simple and sound it was the implementation that caused the problems as the proven hardware was end-of-lifed. It could no longer be purchased. The next generation of hardware from the same supplier consisted of two small but very important changes.

  1. The PCI bus on its IO expansion box went from 5Volts to 3.3Volts and,
  2. The PCI SCSI controller card went from a single SCSI port controller to a dual SCSI port controller. Thankfully the SCSI controller cards where of the same family

So the known problems were , the third party software did not work with the new dual ported SCSI controller cards. The older single port 5 Volt SCSI controller cards could not be plugged into the 3.3Volt IO expansion case.

The solution to these dilemmas become two-pronged. Firstly a specific order was placed with the supplier for an IO Expansion box with both 5v and 3.3 volt PCI buses. This though had a long lead time as it was a modification to a standard product. The second approach was to then port the third party software to the new platform which meant rewriting the target mode SCSI controller device driver allowing for two devices controllers per card.

The porting of the third-party software was possible as we had access to the source and was expected to be fairly straightforward. However, the new card had a firmware bug when used in reverse mode. The certification carried out by the supplier in the suitability of this card was for this card used as a normal SCSI controller not as a target mode SCI controller.

At about the time the porting exercise hit the show stopper the modified IO expansion box arrived from the supplier. The original single port SCSI controller card was added to the system and failed. After a lot of painstaking analysis it was found that the upgrade to the new hardware resulted in timing issues with the single port cards. The fix though was simple, small delays were added after issuing each SCSI command. So while it slowed the data transfer down it still worked.

At this point you would assume that karma associated with the project should have evened out. But no the formal testing showed limitations in the high-end throughput. The first assumption, which proved to be wrong, was that the delays introduced to fix the timing problems caused this limitation in throughput. Thankfully this was not the case and a fix for the throughput limitations was soon found in the application code.

Thankfully the project was completed and went on to be a resounding success with the customer. Irix is the SGI operating system utilising their NUMAflex(TM) technology.