Douglas S. Bonnell

dsbonnell@frii.com



Currently looking for full time employment in the data storage industry. Seeking software work to create data storage devices and servers based on the Linux operating system.



Recent Work History


Nov. 2002 – Jan. 2007 Asaca/Shibasoku Corporation of America

Senior Software Engineer Principle engineer for the design and development of two RAID based data storage products and a storage server. All products use the Linux operating system on standard x86 based server hardware.

The data storage products were the 'DM' series consisting of 48, 96 or 192 SATA disk drives in standalone cabinets. Drives were switched to 3ware controller cards (and power managed) by custom hardware driven by a USB interface.

The 'DL' series consisted of 24 SATA disk drives in a rackmount cabinet. Drives were connected directly to the 3ware controller cards. Drives were 'spun down' when not in use by using a custom ATA command pass through driver.

Both storage products provided virtual SCSI Medium Changers and virtual removable media disk drives to fibre channel interfaces and ISCSI over Ethernet.

Areas of direct design and programming included:

    • Modified LSI Logic MPT Fusion driver for SCSI target mode on fibre channel.

    • Virtual Target Layer driver supporting removable media disk drive and pass through of commands to a virtual ISCSI Medium Changer in user space.

    • Custom ISCSI kernel drivers for both Initiator and Target.

    • Complete SCSI Medium Changer software.

    • Custom MySQL database work and large amounts of CGI/HTML and PHP programming to support web based setup and control interfaces.

    • Original work was done for the 'DM' products using Redhat 9 with a final Linux kernel version of 2.4.22. The 'DL' products were ported to a Fedora Core 3 base with a final Linux kernel version of 2.6.15.

The storage server product was a rack mounted companion to the 'DL' product line. It supported up to 24 SATA hard drives and provided NAS via NFS or CIFS. The exported filesystems were XFS. The Linux kernel was modified to use XFS with DMAPI (Data Migration API), allowing for hierarchical storage to external medium changers such as Asaca's DVD libraries (via SCSI) or DM/DL libraries via fibre channel and Ethernet.

Areas of direct programming included:

    • Improvements to DMAPI user space code to support 'punched files'. Files that are migrated are 'punched' which reduces their local storage to 4KB while retaining all the original file attributes (such as size, mod times, etc.).

    • Extensive PHP programming to Webmin based interface to support DM and DL libraries. MySQL data from these libraries was access using SSH and allowed the operator to determine the status of individual RAID arrays, etc.


Sept. 2002 – Oct. 2002 Odyssey Data Systems

Software Consulting Odyssey was a small startup company created to develop a medium changer based on Sony's AIT tape drive.

Areas of direct design and programming included:

    • Modified the Linux Symbios 53c8xx driver for SCSI target mode.

    • Created/installed a small embedded Linux system for a single chip computer. The computer had the equivalent of a 100Mhz 486 CPU with RS-232, Ethernet, IDE ports, etc. The Linux system fit in less than 32MB of flash memory and was a “headless” design (console on serial port) with VNC for remote GUI based administration.

    • Created a set of complete SCSI Medium Changer code that runs in user memory space and has an ISCSI interface over Ethernet.

    • Started work on a Tcl/Tk based GUI program for exercising/testing the Medium Changer.



Sept. 1997 – Aug. 2002 BreeceHill Technology Inc.

Senior Software Engineer Created a complete cross platform software development system for the MC68332 processor. Since Maxoptix is a Windows shop, the system used Cygwin and CrossGCC to provide a seamless development system with full source level debug tools including GDB.

Performed all software duties from concept to sustaining for small tape libraries. These libraries used 8051 16 bit processors and provided a full SCSI 2 media changer device. Code work included motion control, SCSI target, operator panel and communications to half inch tape drives such as the Quantum SDLT and HP / IBM / SEAGATE LTO linear tape drives.


Nov. 1986 – Aug. 1997 Kentek Information Systems

Manager of Sustaining Engineering (Software)

Manager for approximately 2 years with a group of 3 engineers in performing software maintenance for a line of laser printers. Assumed management duties for directing 10 development engineers working on an embedded PC based controller for a 40 page per minute printer.

Senior Software Engineer As Principal Software Engineer performed software maintenance, mostly on M68K and Intel 80860 (RISC) based controllers. Designed / ported software to support Postscript interpreter on older controllers and new MIPS based controllers.

Software Engineer As a Software Engineer performed design and coded to specifications for the IBM 3812 and 3816 laser printers. IBM was originally an OEM for Kentek in the late 1980s.



Past Work History


Sept. 1986 – Mar. 1984 Analysts International Corporation
Contractor UNIX disk subsystem analysis/driver support.

Jun. 1982 – Mar. 1984 Storage Technology Corporation
Software Engineer Unit test software system for UNIX.

Nov. 1981 – Mar. 1982 Monolithic Systems Corporation
Software Engineer Memory test software and board level diagnostics.

Dec. 1979 – Sept. 1981 Autotrol Corporation
Systems Engineer Created build documents for Manufacturing. Automated drafting system.s
Assembler coding for Z80 based communications controller.

Jun. 1978 – Sept. 1979 International Medical Corporation
Test Technician Board level test/repair.

1976 – 1979 Three years of BSEE courses at University of Colorado at Denver.





References

Available upon request.