ide-tape.txt 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /*
  2. * IDE ATAPI streaming tape driver.
  3. *
  4. * This driver is a part of the Linux ide driver.
  5. *
  6. * The driver, in co-operation with ide.c, basically traverses the
  7. * request-list for the block device interface. The character device
  8. * interface, on the other hand, creates new requests, adds them
  9. * to the request-list of the block device, and waits for their completion.
  10. *
  11. * The block device major and minor numbers are determined from the
  12. * tape's relative position in the ide interfaces, as explained in ide.c.
  13. *
  14. * The character device interface consists of the following devices:
  15. *
  16. * ht0 major 37, minor 0 first IDE tape, rewind on close.
  17. * ht1 major 37, minor 1 second IDE tape, rewind on close.
  18. * ...
  19. * nht0 major 37, minor 128 first IDE tape, no rewind on close.
  20. * nht1 major 37, minor 129 second IDE tape, no rewind on close.
  21. * ...
  22. *
  23. * The general magnetic tape commands compatible interface, as defined by
  24. * include/linux/mtio.h, is accessible through the character device.
  25. *
  26. * General ide driver configuration options, such as the interrupt-unmask
  27. * flag, can be configured by issuing an ioctl to the block device interface,
  28. * as any other ide device.
  29. *
  30. * Our own ide-tape ioctl's can be issued to either the block device or
  31. * the character device interface.
  32. *
  33. * Maximal throughput with minimal bus load will usually be achieved in the
  34. * following scenario:
  35. *
  36. * 1. ide-tape is operating in the pipelined operation mode.
  37. * 2. No buffering is performed by the user backup program.
  38. *
  39. * Testing was done with a 2 GB CONNER CTMA 4000 IDE ATAPI Streaming Tape Drive.
  40. *
  41. * Here are some words from the first releases of hd.c, which are quoted
  42. * in ide.c and apply here as well:
  43. *
  44. * | Special care is recommended. Have Fun!
  45. *
  46. * Possible improvements.
  47. *
  48. * 1. Support for the ATAPI overlap protocol.
  49. *
  50. * In order to maximize bus throughput, we currently use the DSC
  51. * overlap method which enables ide.c to service requests from the
  52. * other device while the tape is busy executing a command. The
  53. * DSC overlap method involves polling the tape's status register
  54. * for the DSC bit, and servicing the other device while the tape
  55. * isn't ready.
  56. *
  57. * In the current QIC development standard (December 1995),
  58. * it is recommended that new tape drives will *in addition*
  59. * implement the ATAPI overlap protocol, which is used for the
  60. * same purpose - efficient use of the IDE bus, but is interrupt
  61. * driven and thus has much less CPU overhead.
  62. *
  63. * ATAPI overlap is likely to be supported in most new ATAPI
  64. * devices, including new ATAPI cdroms, and thus provides us
  65. * a method by which we can achieve higher throughput when
  66. * sharing a (fast) ATA-2 disk with any (slow) new ATAPI device.
  67. */