WO1997000496A1 - Apparatus and method for monitoring a plurality of coded articles - Google Patents

Apparatus and method for monitoring a plurality of coded articles Download PDF

Info

Publication number
WO1997000496A1
WO1997000496A1 PCT/US1995/007792 US9507792W WO9700496A1 WO 1997000496 A1 WO1997000496 A1 WO 1997000496A1 US 9507792 W US9507792 W US 9507792W WO 9700496 A1 WO9700496 A1 WO 9700496A1
Authority
WO
WIPO (PCT)
Prior art keywords
coded
carrier
article
memory
tape
Prior art date
Application number
PCT/US1995/007792
Other languages
French (fr)
Inventor
George C. Smith
Brady L. Cleaver
Robert Bower, Jr.
Original Assignee
Texas Digital Systems, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US08/107,258 priority Critical patent/US5455409A/en
Priority claimed from US08/107,258 external-priority patent/US5455409A/en
Application filed by Texas Digital Systems, Inc. filed Critical Texas Digital Systems, Inc.
Priority to PCT/US1995/007792 priority patent/WO1997000496A1/en
Priority to CA002224168A priority patent/CA2224168C/en
Publication of WO1997000496A1 publication Critical patent/WO1997000496A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Warehouses Or Storage Devices (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Abstract

An apparatus (50) for storing and monitoring a plurality of articles, including at least one cabinet or carrier (12) having a plurality of receptacles (26) in which the articles are stored. In one application, the apparatus (50) is utilized to maintain a library of magnetic tapes (10) or other storage media associated with a data processing center. Each of the articles is identified by a respective code or volser number, and requests for the articles are received by the system in the form of requests for a particular volser number. In a preferred embodiment, the articles may be randomly stored in any of the receptacles (26) in any of a plurality of carriers (12). The system (50) includes a polling and search system operable to identify the carrier (12) in which a requested article is currently stored, and a display system (534) operable to display the carrier's location. A host computer (52) controls the operation of the system, but no central data base is maintained of the coded articles. Instead, their volser numbers and usage histories are stored in respective memories (18) associated with each coded article.

Description

Apparatus and Method for Monitoring a Plurality of Coded Articles
Field of the Invention
This invention relates to apparatus and methods for monitoring a plurality of coded articles and, more particular¬ ly, to apparatus having a plurality of carriers for receiving coded articles and a system and methods for determining the current location of a selected article.
Background of the Invention
The organization and management of collections of articles such as books, tapes, cassettes, and the like has been difficult when a large number of such articles is required to be maintained in such a manner that selected articles may be quickly located and retrieved. Requests for particular articles stored in large libraries are typically met by searching through an index, data base, or the like, determining the location within the library of a requested article from the data base or index, locating the particular cabinet or case, and shelf, in which the requested article is stored, and retrieving the article from the particular case or cabinet. In libraries containing large numbers of arti¬ cles, multiple searches for requested articles during a work day can be tedious and time consuming. One form of library in which prompt location and retrieval of stored articles is of particular importance is that of libraries of magnetic tapes, associated with data processing centers. Such magnetic tapes may be in the form of open reel tapes or tape cartridges of various types. Large data processing centers sometime require libraries of thousands or even hundreds of thousands of magnetic tapes for use with a mainframe computer, and it may be necessary, in a typical work shift, to retrieve many requested tapes from the library and to load the tapes into appropriate tape drives interconnected with the computer. The tapes are normally coded with unique alphanumeric identifica¬ tion numbers, and a tape request will typically be in the form of a request for a tape having a specified identification number, to be loaded in a designated tape drive. Because of the substantial capital investment and ongoing operating expenses associated with large data process¬ ing installations, it is of substantial importance that such tape requests be quickly and accurately met. Thus, it may be specified that responses to tape requests be completed in less than one minute, on average.
In most data centers, the tapes are filed in fixed, alphanumeric or numeric order. Such data centers have typically utilized a series of tape carriers or cabinets, each having a plurality of slots for receiving respective tapes. As suggested above, in modern data processing centers, thousands or even hundreds of thousands of tapes are stored in thousands of tape carriers arranged in multiple rows throughout the library. Typically, the code assigned to a respective tape constitutes a unique volume serial number, commonly termed the tape "volser." The volume serial number may be magnetically stored in a section of the tape, as well as being visibly indicated on a label attached to the tape or tape cartridge.
When it is necessary for a mainframe computer to read from or write to a tape, a tape mount request is issued which contains the volser of the tape needed and the number of the tape drive in which the tape should be mounted. In a conventional tape library, the operator is then required to: (a) determine the approximate location within the library of the requested tape; (b) physically locate the case or carrier in which the requested tape is stored; (c) identify the position of the tape in the carrier or case; (d) withdraw the tape; and (f) insert it into the appropriate tape drive. Thus, in large tape libraries having hundreds of thousands of tapes, the time required to physically locate and retrieve a tape can be significant. In systems, such as that disclosed in U.S. Patent No. 4,839,875 to Kuriya a, it has been sought to improve the maintenance of a library of videocassettes by storing certain commodity information in memories within IC circuits mounted within each videocassette tape cartridge, whereby a tape can be sensed and identified, upon its being inserted within a designated slot within the rack in which the tape is to be stored. Commodity information stored in a RAM memory con¬ tained in each video cassette is read into a central process- ing system as each cartridge is inserted into a slot within a tape carrier, by means of optical transceivers. A videocas¬ sette inserted within a slot may be identified by the trans¬ mission of the respective tape's commodity number to a computer as the tape is inserted, or alternatively, as it is removed. A central data base of the library, stored within the computer, is thereby updated. Such systems have been of limited capacity, and an extensive system of cables must be connected between the host computer and the photodetector and light emitting elements within each respective slot.
simrmary of the Invention
In accordance with one preferred embodiment of the invention, a coded article monitoring and storage system is provided in which coded articles, such as magnetic tape car- tridges, are randomly filed in individual slots in a plurality of tape carriers in a data processing system library, or the like. The system is operable for identifying the location of selected ones of the randomly filed tape cartridges in response to tape mount requests received from a mainframe computer, each request including an identification code or "volser" number identifying the requested tape and the tape drive, associated with the computer, in which the tape is to be inserted. Each coded article, e.g., each tape cartridge, is provided with a circuit device and memory operable to store the volser number of the cartridge. In one embodiment, the tape cartridges include circuitry fixed thereon having serially accessible, electrically erasable, read only memory devices (serial EEPROM devices) attached to each tape and storing the volser and usage history of the respective tape. Means are provided for interrogating the memory devices of the tapes and for updating the usage history data in the respec¬ tive memory devices. A host computer unit, such as a personal computer, is provided for controlling the overall operation of the system and providing an interface with the mainframe computer, for receiving requests for selected tapes, e.g., the volser numbers of the selected tapes. Upon trapping such a tape request from the mainframe computer, the host computer interrogates circuitry within each of the tape carriers to determine whether there is a match between a requested volser number and the volser numbers of tapes currently stored in the respective tape carriers. In one preferred embodiment, a network of circuit systems is provided for transmitting tape requests from and to the host computer, such circuitry being operable to poll each of the tape carriers, each of which is operable for sequentially comparing the selected tape volser number with the volser numbers of tapes currently stored in the receptacles of the respective tape carrier and, upon matching a selected volser number with that of one of the tape cartridges, for identifying the location of the tape cartridge and transmitting data identifying the location, e.g., the aisle, rack, and carrier number, to the host computer.
In accordance with another aspect of the invention, the host computer is associated with a visual display device for displaying to an operator the location of a selected tape cartridge and the tape drive unit, associated with the main¬ frame computer, in which the tape is to be loaded.
In accordance with another aspect of the invention, the tape carriers include visual displays, such as LEDs located adjacent each respective receptacle, and circuitry for illuminating the LED adjacent the receptacle containing a requested tape cartridge, for assisting an operator in locating the respective tape cartridge.
In accordance with another important aspect of the system, the individual tapes are randomly stored in any of the receptacles of any of the tape carriers, and they may be transferred as desired to other receptacles and tape carriers. The system includes data transmission means associated with each carrier receptacle and each tape for updating the memory of each carrier when a tape is transferred or removed. This allows the tapes to be conveniently arranged in random, rather than fixed order, thereby permitting tapes which are being frequently used in particular tape drives to be located adjacent the respective tape drives, thus minimizing the time required for an operator to locate the tapes and transport them from the carrier to the appropriate tape drive. The system employs additional subsystems for detecting malfunc¬ tions or errors and for alerting an operator to such malfunc- tions.
In accordance with another aspect of the invention, means are provided for programming the respective memory devices associated with each tape with the volser number of the particular tape and other pertinent information, the programming means suitably including electrical contacts for contacting respective circuit pads on the respective tape cartridges, the contact pads being electrically connected with portions of the EEPROM memory affixed to the respective tape cartridge, for communicating with and writing in the EEPROM memory.
In accordance with another aspect of the invention, a portable, battery-operated programming device is provided for programming the respective tape carriers, suitably by means of infrared data transceiver units adapted to communi- cate encoded messages via transceiver units associated with each of the tape carriers.
Whereas the invention has particular utility for, and will be described as associated with, a tape library for maintaining tape cartridges to be used in a large data processing center, it should be understood that the system and its method of operation are also operable in association with other forms of libraries. For example, the system is also applicable for maintaining libraries of books, video cas- settes, and other articles, wherein the articles are requested by an identification code such as a title, author, Dewey Decimal Number, or the like.
Brief Description of the Drawings
For a more complete understanding of the invention, reference should be made to the accompanying drawing, wherein: FIGURE 1 is a perspective view of one of the tape cartridges and showing the non-volatile memory chip mounted thereon;
FIGURE 2 is a perspective view showing one of the tape carriers in which the tape cartridges are inserted;
FIGURE 3A is a fragmentary sectional representation of one of the tape receptacles showing the resiliently biased contact probe;
FIGURE 3B is a sectional representation, similar to FIG. 3A, showing a tape receptacle having a tape cartridge loaded within the tape receptacle, the circuit device associ¬ ated with the tape cartridge having its terminal pads in contact with the contact probe of the receptacle;
FIGURE 4 is a front plan view of one of the tape carriers showing the spring loaded contact probes of the respective tape receptacles and showing the LED displays adjacent the respective tape receptacles; FIGURE 5A is a representation of the contact pad arrangement utilized" in association with the respective non¬ volatile memories of the tapes; FIGURE 5B is a representation of the probe contact members adapted to seat against the contact pads of FIG. 5A;
FIGURE 6 is a block diagram of the coded article monitoring system; FIGURE 7 is a block diagram of a tape programming system;
FIGURE 8A is a representation of the tape recepta¬ cle, programming unit, and computer utilized in the tape programming system of FIG. 7; FIGURES 8B, 8C, and 8D are representations of components of alternative tape memory programming systems;
FIGURE 9 is a flow chart illustrating the procedure for programming the volatile memory of one of the tapes utilizing the programming system of FIGS. 7 and 8A; FIGURE 10 is a block and schematic representation of the circuitry employed in the communications converter;
FIGURE 11 is a block diagram showing the intercon¬ nection of the host computer, communications converter, and the power/data modules; FIGURE 12 is a block and partially schematic diagram of one of the power/data modules;
FIGURE 13 is a block and schematic representation of the circuitry employed in a representative tape carrier. FIGURES 14A and 14B provide a flow chart of the tape carrier polling procedure;
FIGURE 15 is a representation in block and pictorial form of the circuit of the tape carrier programming unit; FIGURE 16 is a pictorial representation of the tape carrier programming unit showing the keyboard layout; and
FIGURE 17 is a flow chart of the tape carrier programming procedure.
Detailed Description of the Preferred Embodiment
With initial reference to FIG. 1, one of the tape cartridges 10 which are to be stored in the tape carriers 12 (FIG. 2), is shown. The tape cartridge 10, in the present embodiment, constitutes a tape cartridge of the IBM 3480 type having an open reel, magnetically encoded tape. The tape cartridge 10 comprises a "coded article" in that it is assigned an alphanumeric identification code or "volser" volume serial number, each of the tape cartridges within a data processing center library being assigned a unique volser number. The volser numbers suitably comprise six-digit numbers which are magnetically encoded on the tape headers as well as being printed on labels attached to the tape car¬ tridges. Hereinafter, the coded articles will thus be termed "tape cartridges" or "tapes." As may be seen in FIG. 1, the tape cartridge 10, in the present embodiment, is of approxi¬ mately rectangular, planar configuration and, for convenience of description, may be said to have a front edge 14 having an upper, diagonally extending corner portion 16 which includes a retractable feed mechanism through which a portion of the magnetic tape is withdrawn, when the tape is mounted within a tape drive, for permitting reading of the tape or writing thereto by the mainframe computer 54, as seen in FIG. 6. Mounted on the front edge portion 14 of the tape cassette 10 is a non-volatile memory device 18 which, in the preferred embodiment, comprises a serially addressable, electrically erasable, read only memory (serial EEPROM) suitably having a memory capacity of 4096 bytes. A suitable unit is that available from Atmel Corporation as Model No. AT24C04. As will be more fully discussed hereinbelow, each non-volatile memory device 18 is programmed with the volser number of the respective tape cartridge 10 to which the memory 18 is affixed, and the memory includes sufficient capacity for maintaining additional data regarding the history of the tape's usage. Programming of the volser numbers within the non-volatile memories 18 of the respective tapes 10 is accom¬ plished by a tape memory programmer 20 (FIGS. 6, 7 and 8A) , to be described hereinafter. The non-volatile memory devices 18 are each provided with contact elements 22, shown in greater detail in FIG. 5A as contacts 22a-22h, which are gold plated for preventing corrosion and enhancing electrical contact. The contact pads are arrayed in two vertical rows, side by side, for reasons which will become apparent from the description hereinbelow.
Referring primarily to FIG. 2, each of the tape carriers 12 is suitably in the form of an open front case having upper and lower shelves 24, 26, each of which includes a plurality of ridges 28 defining therebetween open slots 30 for receiving the tape cartridges 10. In the present, illus¬ trative embodiment, tape carrier 12 includes twenty slots, each of which is adapted to receive one of the tape car- tridges. As noted previously, in large data processing centers having hundreds of thousands of tapes, it will be apparent that thousands of the tape carriers 12 may be required, and the carriers are suitably aligned along a number of aisles, not shown, extending adjacent one or more tape drives 56 (FIG. 6) , the carriers typically being stacked one above another and arranged as required for the particular application. As may be seen in FIG. 2, a plurality of LED indicating lamps 32a, 32b are provided, each being located adjacent one of the respective slots 30 for providing an indication regarding the status of any tape cartridge in the slot, or for providing an indication of the location of a requested tape cartridge, or for other purposes, as will also be more fully discussed hereinbelow. With additional reference now to FIGS. 3A and 3B, one of the slots 30 is illustrated in greater detail. As may be seen in FIG. 3A, the slot 30 is of generally rectangular configuration in plan, and, as seen in FIG. 3B, the vertical dimensions thereof are adapted to clear the outer edges of a tape cartridge 10 inserted therein, the slot having a diagonal upper rear surface 34 adapted to receive the diagonal section 16 of a respective tape cartridge 3B. A resiliently biased probe arm 36 (FIG. 3A) having a probe member 38 on its distal end is provided in the rear of each slot, as shown in FIG. 4. Referring additionally to FIG. 5B, each probe 38 has first, second, third, and fourth contact members 40a, 40b, 40c, and 40d, which are gold plated and adapted to seat against and provide electrical contact with either contact pads 22a-22d or contact pads 22e-22h (FIG. 5A) of the EEPROM memory device 18 affixed to the respective cartridge 10, as shown in FIG. 3B.
The tape carrier circuitry, indicated generally at 42 (FIGS. 3A, 3B) and as will be described hereinbelow with reference to FIG. 13, is electrically connected, through contact nodes 40a-40d, with the non-volatile EEPROM memory 18 of any tape cartridge seated within the carrier slot 30, as will also be described in greater detail hereinbelow. As may be seen more clearly in FIG. 5B, the contact nodes 40a, 40b, 40c, 40d, in the preferred embodiment, are vertically arrayed. As seen in FIG. 5A, the contact pads 22 of the EEPROM of each cartridge 10 consists of a first vertical grouping of contact pads 22a, 22b, 22c, and 22d, and a second grouping of contact pads 22e, 22f, 22g, and 22h poεitioned in inverted order and to one side of contacts 22a-22d. The probe 38 is slightly laterally displaced from the center of the slot 30, whereby if the cartridge is inserted "upside down," contact pads 22e, 22f, 22g, 22h will contact probe contact nodes 40a, 40b, 40c, and 40d, respectively. Electrical connection is provided between the EEPROM circuitry, through contact pads 22a, 22b, 22c, and 22d, or contact pads 22e, 22f, 22g, 22h, and external data transmission, clock, power, and ground circuit portions, respectively in circuitry 42 within the carrier 12, as will be more fully discussed. It will thus be understood that the slot 30, probe 38 and associated circuitry comprise a tape cartridge receptacle 44 for receiving tape cartridge 10 and for providing electrical contact between the tape carrier circuitry 42, to be described, and the non-volatile memory 18 of tape cartridge 10. Suitably, a flexible conductive strip
45 (FIGS. 3A, 3B) is affixed to the inner surface of resilient probe arm 36, the flexible strip 45 having four conductors 45a, 45b, 45c, 45d (FIG. 13) in electrical connection between contact nodes 40a, 40b, 40c, and 40d, respectively, and portions of circuitry 42 (FIGS. 3A, 3B) . Referring to FIG. 4, the slots 30 and probes 38, are vertically aligned, in upper and lower shelves 24 and 26, and LED devices 32 are positioned between the shelves adjacent a compartment portion
46 in which circuitry 42 (FIGS. 3A, 13) is contained. Referring to FIGS. 3A and 3B, the lower surface of slot 30 is recessed below the upper edge surface of a raised, front ridge 46, for retaining the tape cartridge in the slot and in contact with probe 38.
Referring now to FIG. 6, the tape cartridge monitor¬ ing system 50, in the present embodiment, includes a central processor or host computer 52 which, in the present embodi¬ ment, suitably comprises an IBM-compatible personal computer, preferably having at least four megabytes of RAM memory, at least 40 megabytes of hard drive data storage, and a clock speed of at least 33 megahertz. In the present, illustrative embodiment, the serial input of the host computer 52 is connected to receive tape requests from a mainframe computer 54, the tape requests designating the volser number of a requested tape cartridge io and the number of the tape drive 56 in which the requested tape cartridge is to be loaded by an operator. Mainframe computer 54, for example, may be an IBM 3090 unit. A tape cartridge library of several hundred thousand magnetic tape cartridges may be required for such a mainframe unit, depending, of course, upon the particular installation. As will be understood by those in the art, data buffering and conversion unitε, as indicated at 58 and 60, are required for converting the EBCDIC format data stream generat¬ ed by the mainframe computer 54 to an ASCII format appropriate for communication with the personal computer employed as the host computer 52. In the present embodiment, an IBM 3174 controller 58 is utilized for buffering such communication between the mainframe computer 54 and the host computer 52, the 3174 interface being a TDS 3174 interface device. The TDS 3174 unit 60, in effect, emulates an IBM 3287-type printer, for providing proper interface with the host personal co put- er. The controller 58 is associated with an interface section 60 which is connected to a serial input port of the host computer 52, for receiving the data signals.
As an initial overview of the tape cartridge monitoring system 50, the components of which will be de- scribed in detail hereinbelow, the host computer 52 is connected through a communications converter unit 62 and a first power data module 64a for polling the tape cartridge carriers 12 associated with the power/data module 64a, and with successive power modules 64b, 64c and associated chains of carriers, to determine the location of a requested tape cartridge, i.e., for determining the aisle, rack and carrier and, optionally, the receptacle in which the tape cartridge having the desired volser number is currently stored. Upon determining the location of the tape cartridge, the host computer 52 transmits a message to a display unit 66 for indicating the volser number and tape cartridge location of the requested tape cartridge and the designated tape cartridge drive into which it is to be loaded.
The host computer 52 is also connected to memory programmer unit 20, which serves to program the non-volatile memories 18 of the respective tape cartridges 10 in response to commands keyed into the host computer 52, as will now be described.
Programming of the non-volatile EEPROM memories 18 is advantageously performed after the memory chips have been affixed to the respective tape cartridges 10. In the first embodiment, as illustrated in greater detail in FIG. 7 and FIG. 8A, the programmer 20 includes a stand-alone programming unit 70a. The digits or letters of the assigned volser number are keyed into the host computer 52 and translated into sequential, digitally encoded signals which are processed by circuitry within the memory programmer 20 and applied to the EEPROM memory 18 (FIG. 1) while the respective tape cartridge 10 and associated memory device 18 is inserted within the programming unit 70a, as indicated in FIG. 8A. Referring to FIG. 8A, the memory programming unit 70a contains the program¬ ming circuitry and has a receptacle 72 for receiving one of the tape cartridges 10 in the manner described above with respect to the receptacles 44 of the tape cartridge carriers 12. The receptacle 72 includes a resiliently biased contact arm 73 supporting a contact probe 74 corresponding to one of the carrier receptacles, the probe having four contact nodes not shown, for providing electrical contact with respective contact pads 22 (FIG. 5A) of a tape cartridge 10 inserted into the receptacle 72 in the manner discussed above with respect to the tape cartridge receptacles 44. The memory programming unit 70a thus comprises a separate housing which may be positioned adjacent the host computer 52 for the convenience of an operator during the programming operation, and the receptacle 72 is substantially identical, in its interior arrangement, to the carrier receptacles 44. Alternatively, one of the carrier receptacles could be connected to the circuitry of the programmer 20 for programming the tape cartridge memories. Other, alternative apparatus for program¬ ming the EEPROM memories are illustrated in FIGS. 8B, 8C, and 8D, as will be discussed in a later section.
With respect to the first embodiment of the tape program¬ mer 20, as illustrated in FIG. 8A, the tape cartridge program¬ mer 20 is operable for supplying a series of encoded signals to the non-volatile, EEPROM memory chip (FIG. 1) on the respective tape cartridge inserted in the programming unit receptacle 72 (FIG.8A) for storing the volser number in the EEPROM. The process is repeated for each tape cartridge 12 as tape cartridges are added to the library. In normal operation, the operator initially determines the appropriate volser number for the tape cartridge 12, inserts the tape cartridge into the receptacle 72, and keys the volser informa¬ tion into the host personal computer 52. With primary reference now to FIG. 7, the host computer 52 (FIG. 8A) transmits the data to the programmer 20 via the TxD line 76a of cable 76, cable 76 being connected to a serial output port of the host computer. The output signal is suitably in RS232 protocol format, and it is initially received by a conversion chip 80 (FIG. 7) , for converting the RS232 format data to TTL format signals. The converter 80 is suitably a Maxim MAX233 conversion chip, which thus serves to convert the +10, -10 volt output signals received from the host computer 52 into TTL logic circuit compatible voltage levels, e.g., zero and +5 volt signals. The TTL format output signals produced by converter 80 are conducted on line 82a to microcontroller 84 in the form of a sequence of six encoded, digital data segments corresponding to the alphanumeric encoded numbers keyed into the host computer 52. The TTL level signals are translated by the microcontroller 84 into waveforms and voltage levels appropriate for recording the encoded data in the EEPROM memory 18 on the respective cassette contained within the receptacle 72 of memory programming unit 70a (FIG. 8A) . Microcontroller 84, in the present embodiment, is an 8- bit microcontroller having at least two kilobytes of ROM memory and 256 bytes of RAM memory, suitably a 68HC05C3 unit available from Motorola.
Line 82a is connected to the asynchronous serial input port of 8-bit microcontroller 84, microcontroller 84 additionally having three independently controllable input/output ports connected, respectively, to lines 88a, 88b and 88c. In the present application, output lines 88a and 88b are connected to respective pins of a flexible conductor 90 having first, second, third and fourth flexible conductors 92a, 92b, 92c, 92d respectively connected to gold-plated contact node elements 94a, 94b, 94c and 94d of contact probe 74. The flexible conductor 90 and probe 74 are mounted within the tape cartridge programming unit 70a (FIG. 8A) in the manner discussed above, and the nodes 94a, 94b, 94c, 94d are positioned for contacting respective contact elements 22 of the EEPROM memory device 18 (FIG. 1) , affixed to the tape cartridge, upon its insertion in receptacle 72 (FIG. 8A) for programming. Thus, the internal circuitry of the EEPROM temporarily becomes integrated with the circuit of the tape memory programmer 20, FIG. 6.
The ROM memory of the microcontroller 84 is pro¬ grammed to command the microcontroller to follow a predeter- mined sequence of commands, as will be described with refer¬ ence to the flowchart illustrated in FIG. 9, and to send programming data, in I2C bus protocol TTL format, through data line 88a to node 94a of probe 74. The output of microcon¬ troller 84 is timed by its internal clock timer section, in accordance with I2C bus protocol. Timing signals from the timing section are conducted on line 88b via line 92b to contact node 94b. Line 88e is connected between ground and the pin connected through line 92c to node 94c, and line 88d is connected between a +5-volt power source 104 and the pin connected to line 92d and contact node 94d. Output line 88c is connected to one terminal of a suitable, low voltage buzzer 108 or the like, the other terminal of buzzer 108 being connected to positive +5-volt power supply terminal 109. A crystal oscillator circuit 96 is employed for setting the clock speed, suitably four megahertz, of the microcontroller 84, the output of the crystal oscillator being fed to the first and second oscillator inputs of the microcon- troller. A reset circuit 98, which also functions as a voltage monitoring circuit, is provided in connection with the reset input of the microcontroller 84 and is suitably a TL7757 reset controller chip. The reset circuit 98 is connected between the reset input of microcontroller 84 and the source (not shown) of input power voltage applied to the microcon¬ troller 84. The purpose of the reset circuit 98 is to delay start-up of the microcontroller 84, during a power-up stage, until the input voltage is stable and until the oscillator 96 is functioning at a stable frequency, which normally occurs in a few hundred microseconds. In operation, the reset circuit 98 switches from a non-conductive to a conductive state when the input power voltage reaches a certain thresh¬ old, in this case, +4.61 volts. The reset circuit 98 is also effective to shut off the input power applied to the reset terminal of microcontroller 84 upon the input power voltage falling below a predetermined level, e.g., +4.59 volts. Suitable power supply outputs, not shown, are connected to the respective components of the circuit of programmer 20.
To summarize the operation of the circuit of programmer 20, the control program stored within the ROM memory of the microcontroller 84 is operable upon receipt of a programming message on line 82a from the converter 80 for effecting the sequential transmission of encoded information, in I2C bus protocol TTL format, to the EEPROM memory device 18 (FIG. l) contacted by raised contact node elements 94a-94d. The programming commands are initiated by keying the respec¬ tive volser number into the host computer 52 and transmitting the command on cable 76 to the programming unit 20. Once the EEPROM memory 18 is programmed, a signal is fed through the third output line 88c to the buzzer 108 for alerting the operator to an all-clear condition in which the selected volser number has been properly programmed into the EEPROM memory device.
Referring additionally now to FIG. 9, the operation of the microcontroller 84 (FIG. 7) in response to the series of commands stored in its ROM memory section will now be described with respect to the flowchart of FIG. 9. At step 110, the programmer circuit is initialized or powered up by the application of the reset signal by the reset circuit 96 (FIG. 7). At step 112, the program determines whether a programming message has been received from the host computer 52 (FIG. 6) through the level converter section 80. If the answer is yes, at action block 114, the microcontroller is commanded to transmit the encoded series of signals, contain¬ ing the volser programming message, via data output line 88a to raised contact node 94a and to the EEPROM memory, whereby the volser number is written into the EEPROM memory of the respective tape cartridge by the microcontroller 84. The clock output line 88b, connected to line 92b and raised contact node 94b, simultaneously transmits control signals to write the data into the EEPROM. Subsequently, the program goes through a series of checks, and, at action block 116, it checks the recorded volser number by reading the EEPROM memory and transmitting the result back to microcontroller 84. As indicated at inquiry block 118, the microprocessor then determines whether the recorded volser number is identical to the number which was received from the host computer 52. At block 120, if an error is received, the readout is repeated. At step 122, after three repetitions of a negative response, an error message is sent on lines 82b and 76b (FIG. 7) to the host computer 52, as indicated at step 124 (FIG. 9). Signals sent in TTL format on line 82b from the microprocessor 84 are converted to RS232 format by converter 80 for transmission back to the host computer 52. If, however, the volser number read from the EEPROM is correct, i.e., if it matches that originally transmitted to the EEPROM by the microcontroller, as indicated at action block 126, the microprocessor initiates an output on line 88c (FIG. 7) activating the buzzer 108 for audibly indicating to the operator that the EEPROM memory has been correctly programmed. Additionally, at action block 128, an acknowledgement message is sent back to the host computer 52 to reset the host computer to receive a subsequent program¬ ming command, including the next volser number intended to be recorded in the EEPROM memory (of another) tape cartridge.
When the EEPROM memories 18 of each of the tape cartridges 10 intended to be maintained and stored in the tape cartridge library are programmed with their respective volser numbers, the cartridges may be inserted into any of the tape cartridge receptacles 44 of the tape cartridge carriers 12, in any order desired. As suggested above, they are advanta¬ geously positioned and arranged in an order in which those tape cartridges which are to be used most often in the particular program to be run by the mainframe computer 54 are located as close as possible to the respective tape cartridge drive 56 in which they will be loaded. This random order storage of the tape cartridges is made possible in the present system because of the use of the non-volatile memories 18 associated with each tape cartridge for carrying the encoded volser number, and the localized, stand-alone polling systems within the carriers, and because of the operation of the communications network during polling, as will be described.
Whereas the tape memory programmer 20, as thus far described with reference to FIGS. 7, 8A, and 9, permits programming the non-volatile memories 18 associated with respective tape cartridges utilizing keyboard entry of the volser numbers, other embodiments of the tape programmer 20 may also be employed. One disadvantage of the first embodi¬ ment is that errors may occur during the keying procedure. With respect to the second embodiment, as shown in FIG. 8B, keying the entries into host computer 52 is not required. The tape memory programming unit 70b and circuitry of the second embodiment is identical to that described above with reference to FIG. 8A, but a bar code reader 128, rather than a keyboard, is employed for entering the volser numbers into the host computer 52. In this embodiment, each of the tape cartridges is necessarily provided with a bar code label in which the volser number of the tape cartridge is encoded. As each new cartridge is received, the operator scans the bar code label to enter the volser number into a memory within the host computer. The tape cartridge is then inserted in the recepta¬ cle 72 of programming unit 7Ob, and the host computer is operable, or is instructed to, transmit the encoded volser number via line 76 to the circuitry within the programming unit 70b for effecting processing of the data signals and encoding the volser number in the non-volatile EEPROM memory of the respective tape cartridge 10. Thus, the possibility of data entry errors by the operator is reduced.
Referring to FIG. 8C, in a third embodiment 20c, an additional tape drive unit 132 is connected to an input of host computer 52, the tape drive unit 132 being operable to receive a tape cartridge, having an EEPROM memory desired to be programmed, and to read the tape's volser number from an initial portion or leader of the tape itself. The volser number read from the tape is: fed into the host computer 52; temporarily stored in a memory of the computer; and subse¬ quently fed to the programming unit 70c for processing and recording in the tape EEPROM, in the manner previously described. Thus, each tape cartridge must first be inserted in the tape drive 132, and the volser number read from the tape into a memory of the host computer 52. The tape cartridge is then removed from the tape drive 132 and inserted into the programming unit 70c for programming of the EEPROM memory. The apparatus illustrated in FIG. 8C, and the method of its use for programming the tape memories, thus provides the advantage that human error in reading and/or entering the volser number into the host computer 52 is virtually eliminat¬ ed. However, the method is somewhat slower than those of FIGS. 8A, 8B, and 8D because of the necessity for loading each tape into the tape drive 132 and reading a portion of the tape into the computer prior to inserting the tape into the receptacle 72 of programming unit 70c.
Referring to FIG. 8D, in a fourth embodiment 20d, an auto-loading tape feeder unit 134 is employed for sequen¬ tially and automatically feeding the tapes into a tape drive transport 136 having a built-in tape memory programming unit 70d. Such automatically loading tape drive units are commercially available, and modification of the tape transport for integrating the programming unit 70d therein is accom¬ plished by installing a four-contact probe, not shown, positioned to be in alignment with the EEPROM contact pad 22 (FIG. 1) of an inserted cartridge 10, for transmitting the encoded volser number to the EEPROM to program the EEPROM. An additional, control computer 138 is connected to the tape drive transport 136 and the built-in memory programmer 70d, the control computer being programmed to command the tape loading mechanism 134 sequentially to load tape cartridges into the tape drive transport 136, and then to command the tape drive 136 to read the volser number from a respective tape loaded in the tape drive transport and to transmit the volser number to the control computer 138. The control computer 138 then commands the memory programming unit 70d to process the volser-containing signal and write the volser number into the EEPROM memory of the tape cartridge. Subsequently, the tape cartridge is ejected from the tape drive 136, and a new tape is automatically loaded by the tape loading mechanism 134. This embodiment is essentially error- free in its operation, since the volser number of each tape cartridge is read from the tape without operator input, and it is adaptable for the automatic programming of large numbers of tapes.
Turning now to the operation of the tape cartridge monitoring system 50 in response to a tape cartridge request, and with initial reference to FIG. 6, tape cartridge requests are normally initiated by the mainframe computer 54 in the form of an encoded message containing the volser number of the requested tape cartridge 10 and the number of the tape car¬ tridge drive 56 in which it is to be mounted. The message is buffered in controller 58 and routed to interface circuit 60, which converts and transmits the tape cartridge request in ASCII format to the host computer 52. When the host computer 52 receives a tape cartridge request, in the form of a data segment in which the volser number of the selected tape cartridge and the designated tape cartridge drive is encoded, it is operable to transmit a tape cartridge request message, in RS232 format, along cable 150 to communications converter 62, to be described in detail hereinbelow, which is operable to convert the request to RS422 protocol differential voltage format. The output signal, in RS422 format, is transmitted on cable 152 to the first power/data module 64a, from which it is sent on cable 154 to a chain of tape cartridge carriers, of which only carrier 12a is shown, connected thereto. The output signal is conducted to polling circuitry, to be described, within the respective tape cartridge carriers 12, for determining whether the selected tape cartridge is present within one of the receptacles 44 of one of the tape carriers. Whereas for clarity of description only a single tape cartridge carrier 12a is shown in FIG. 6 as being connected to the first power/data module 64a, in a typical application for a large tape cartridge library incorporating thousands of tape cartridge carriers, each power/data module 64 is operatively connected with up to about seven chains of carriers, as indicated at 160a, 160b, and 160c, each chain having up to about twelve carriers.
With continued reference to FIG. 6, the tape car¬ tridge request is also transmitted via cable 158 to the next successive power module 64b and is transmitted therefrom, in RS485 differential voltage format, to any tape cartridge carriers, such as carriers 12b - 12j, associated therewith. Whereas power data module 64b is connected to a plurality of up to seven chains of tape cartridge carriers, only two chains 160a and 160b are shown, the first tape carrier chain 160a including tape carriers 12b, 12c, 12d, 12e, and up to eight other tape carriers, not shown, interconnected in daisy chain series. Thus, each power data module 64 is effective for transmitting tape cartridge requests and for receiving and returning tape cartridge location messages to and from several chains of tape carriers. Since, as indicated above, each power data module 64 is reliably connected to up to about seven chains of carriers each having up to about 12 tape cartridge carriers, each power/data module 64 is capable of providing power and data transmission to about 84 tape carriers, for polling up to about 1680 tape cartridges. Accordingly, approximately 300 (298) power/data modules 64 would be required in a tape cartridge library of 500,000 tape cartridges.
Because of the large numbers of tape carriers to be polled and the substantial distances between many of the tape carriers and the host computer 52, the communications network, indicated generally at 166 in FIG. 6, is provided. Network 166 comprises communications converter circuit 62; power data modules 64a, 64b, 64c; signal conversion and transmission circuitry, to be described, within the converter 62, the pow¬ er/data modules 64, and the tape carriers 12; message relay circuitry within each respective tape cartridge carrier 12; and associated cables. Communications network 166 is adapted for enhancing the transmission of tape cartridge requests throughout the system, and the return transmission of tape cartridge location messages, for minimizing the complexity of the system and reducing the number of cables required for interconnecting the various components. Whereas the tape cartridge request messages produced by the host computer 52 are in the form of low voltage level, RS232 format signals, it is not practicable to transmit such RS232 signals over the long distances entailed, the tape carriers 12 being located at various positions throughout the tape library. Moreover, such RS232 transmissions may not be made utilizing standard, inexpensive, six-conductor telephone cable. Additionally, it would be difficult and very expensive to utilize a convention¬ al message distribution system having cables directly interconnecting thousands of carriers 12 and the host computer 52. Further, it would be difficult to re-direct a returned message from one of the carriers 12, having a selected tape cartridge, without the transmission and signal conversion network 166 of the present invention, as will now be de¬ scribed.
Referring now to FIGS. 10 AND 11, communications converter 62 is connected between the host computer 52 (FIG. 11) and the first power data module 64a for converting trans¬ mitted tape cartridge requests, received from host computer 52 in RS232 format, to RS422 differential voltage format, whereby output cable 152 is suitably a conventional six- conductor telephone cable. By converting the RS232 protocol signals received from the host computer 52 to RS422 differen¬ tial voltage signals, the converter 62 thus translates the signals into a form suitable for communications over substan¬ tial distances as great as 4,000 feet, utilizing standard, six-conductor twisted telephone lines. Similarly, as will be discussed in greater detail, the power/data modules 64 are operable to relay tape cartridge request messages in RS422 differential voltage format to the other power/data modules, in daisy-chain sequence, and to relay messages in RS485 format throughout the associated chains of tape carriers 12.
Such differential voltage formats are effective for such long-distance transmissions because noise and other spurious signals do not significantly degrade the differential voltage signals. As previously noted, such a communication network 166 is necessary in the present system because of its intended application in large data processing tape libraries and the like, in contrast with prior-art systems of limited size, in which video tape cartridges are required to be stored in a fixed order, in designated receptacles.
The output of the host computer 52 (FIG. 11) is transmitted in RS232 standard on TxD line 150a (FIG. 10) connected to converter circuit 172, which is suitably a Maxim MAX233, and output on line 174a to one side of a line driver unit 176, which is suitably a 75179B manufactured by Texas Instruments, Inc. Line driver 178a of dual driver unit 176 is operable to convert the applied signal to a differential voltage signal on lines 152a and 152b. If, for example, the input on line 174a is zero, the output on line 152a will be zero and that on line 152b will be +5.0 volts. If the input voltage is raised, for example, to five volts, the output on line 152b will be zero and the output on line 152a will be +5 volts. An impedance matching resistor 184a, suitably of 120 ohms, is connected across the output leads 152a, 152b. As shown in FIG. 11, the output of the communications converter 62 is fed, on leads 152a, 152b of cable 152, to the first power/data module 64a, to be described, which, in turn, transmits the tape cartridge request information to the associated chains of smart tape carriers, as shown in FIG. 6. Return data messages received from the individual tape carriers are transmitted via the power data modules, as will be described, and are ultimately received by the communica- tions converter (FIG. 11) in RS422 format on lines 152c and 152d, which are the R+ and R- lines, respectively.
Input lines 152c and 152d are interconnected by impedance matching resistor 184b and are connected to the input terminals of line driver section 178b, which is the second half of the line driver unit 176. Line driver section 178b converts the signals to TTL level, digital format, and they are output on line 174b through a second input terminal of the level conversion circuit device 172 to output line 150c, which is connected to the serial input port of host computer 52 (FIG. 11) . As will be described hereinbelow, the return signals fed to the computer 52 on line 150c provide the location and identification of an individual tape cartridge carrier in which a requested tape cartridge is stored. A "data direction" input signal received from the host computer 52 on line 150b provides a data direction indicator for the power/data modules 64, the direction signal being conducted on line 174c to a driver 188, suitably comprising half of a second 75179B chip, the output of which is an RS422 differential signal fed on lines 152e and 152f as RTS positive and RTS negative signals, to the first power/data module 64a (FIG. 11) . This data direction signal provides information to the power data module 64a as to which direction the data signals are currently flowing, i.e., whether the host computer 52 is sending or receiving information. As in each of the drivers, an impedance matching resistor 184c is connected between lines 152e and 152f. Finally, the MAX233 chip includes a DSR ground converter section 192 connected between grounded lead 194 and input line 150d, which is connected to the host computer 52. The ground potential on the input line 150d is thereby converted to plus 10 volts by level converter 192, and fed back to the host computer 52 through line I50d, indicating to the host computer that the communications converter 62 is properly connected.
Referring now to FIG. 12, and with additional reference to FIGS. 10 and 11, the circuitry of power/data module 64a, which is representative of the other power/data modules, 64b, 64c ..., will now be described. The power/data modules 64 provide a unique system for splitting and distrib¬ uting transmitted data and for combining received data, in several protocols. The operation of the power/data modules 64 permits the system to poll large numbers of carriers 12 (FIG. 6) and to transmit a data signal received from one of the many hundreds of carriers back to the converter 62 (FIG. 6) on lines 152c, I52d of cable 152, and ther.ce to the host computer, on line 150c (FIG. 10) . As seen in FIG. 12, input cable 152 serves to receive voltage differential, RS422 protocol signals from the communications converter 62 (FIG. 10) , on lines 152a, 152b, connected to the differential input pins of line driver 202, which suitably comprises one half of an RS422-to-TTL voltage level converter, such as a Texas Instruments Model SN75179B chip. The differential voltages are thus either zero and +5 volts, or +5 volts and zero. If they are +5 volts and zero, a "high" output signal is transmitted on line 204 and, via line 206, through line driver transmitter 208, through the output cable comprising lines 158a and 158b, to the next power/data module 64b (FIGS. 6, 11) and sequentially to the other power/data modules. Line driver 208 is suitably a part of a four-driver IC circuit chip 210 such as an SN751178 Texas Instruments chip. Such a "high" signal, on line 204, is also conducted via connected line 214 to bus 216.
A plurality of bi-directional, RS485-to-TTL voltage level conversion and transceiver circuits 220 and 222 are provided for converting the digital TTL signals received from driver 202 to differential voltage RS485 format for transmis¬ sion to the respective chains of tape carriers associated with the power/data module 64a. The conversion circuits 220, 222 are suitably voltage level conversion chips such as Texas Instrument SN75176B chips. The conversion section, indicated generally at 226, may thus include up to seven RS485-to-TTL transceivers such as circuits 220, 222, for communicating with up to seven chains of tape carriers. As indicated above, up to 12 tape carriers 12 are incorporated in each chain. The tape carriers 12 in each chain are suitably interconnected in daisy chain sequence as will be described hereinbelow. With continued primary reference to FIG. 12, a tape cartridge request, including the volser number of the required tape cartridge, is transmitted in TTL format on bus 216 to the "transmit" half of gated "transmit" driver 228 of the first transceiver 220, the transmit driver 228 being paired with a "receive" half, comprising a gated line driver 230 connected in the reverse direction. The transmitter driver 228 is connected to first and second output lines 234a, 234b, of cable 154a. An impedance matching resistor 229 is connected across the output lines 234a, 234b, and similar resistors of appropriate resistance values are connected across the outputs of each of the other drivers and gated drivers within the circuit. Similarly, second transceiver section 222 includes a gated transmitter driver 236 and gated receiver driver 238, the output of transceiver 236 being connected on cable 154b, on lines 240a, 240b, to the first tape cartridge carrier of a second chain of carriers associated with power/data module 64a. As will be discussed below, in response to a tape request message, the particular tape carrier 12 which includes the requested tape cartridge will generate an affirmative response or "return" message having an identification number designating the location of the carrier and the requested tape. If, for example, the return message is received on cable 154a from the first chain of carriers, it is conducted through leads 244a, 244b to the inputs of "receive" driver 230.
Circuitry is also provided for preventing interfer- ence which would result from simultaneous "send" and "receive" transmissions, by selectively enabling respective gated drivers. For example, when it is required to enable the receiver drivers, e.g., drivers 230, 238, an RTS signal received on the RTS input cable section, comprising lines 152e, 152f, is lowered, and the TTL format output of gate 248, on line 250, is lowered, lowering the potential on line 252 and bus 254. Accordingly, return driver 230 is enabled, by the drop in gate potential on line 256, and conducts any signals received from the first chain of carriers back on line 258. Return line 258 is connected to one of the inputs of a multi-section OR gate 260, the output of which is connected on line 262 to transmit driver 264 of the RS422-to-TTL converter. The return signal providing the carrier location number is thus conducted through lines 152c, l52d of cable 152, as also shown in FIG. ll, back to the communications converter 62, and a corresponding RS232 signal is thus conducted back to the host computer 52 to actuate host computer 52 and initiate the display panel 66 (FIG. 6) .
With continued reference to FIG. 12, "send" and "receive" signals are thus isolated by appropriately timed enabling signals applied to the enabling inputs of respective pairs of the gates 228, 230, 236 and 238, under the control of host computer 52 (FIG. 6) . For example, the TTL output on lines 250, 252, and bus 254 is high when the host computer is sending data, and low when the host computer is receiving data. Additionally, a directional control signal sent through gate 248 on line 250 is also sent through gate 270 and through RTS signal lines 158c, I58d to the next power/data module 64b (FIG. 6) .
Gate 274 of circuit 210 is connected by input lines 158e, 158f to corresponding RxD signal transmitter circuit elements in successive downstream power/data modules. The input leads, corresponding to leads I58e, I58f, in the corre¬ sponding gate in the very last power/data module, not shown, of the system are interconnected by a communications termina¬ tor 274 (FIG. 6) which suitably comprises a shunt conductor connected across the input terminals of the receive driver of the last power/data module. The purpose of communications converter 274 is to ensure that the return driver output (equivalent to the driver output to line 276 of FIG. 12) of the last power/data module is maintained at zero volts, to prevent spurious return transmissions which could otherwise occur due to noise or interference.
The other inputs of the multisection OR gate 260 are connected via lines 278, 280, 282, 284, 286, and 288 to receive TTL protocol signals received, e.g., through converter 222, with respect to line 278, and through corresponding further converter circuits, not shown, connected to receive data from respective ones of the up to seven chains of tape carriers which power/data module 64a supports. Accordingly, if a signal received from any of the tape carriers is converted to TTL format and transmitted on lines 258, 278, 280, 282, 284, 286, or 288, OR gate 260 is effective to conduct the return signal on line 262 to enable gate 264 for transmitting the message back on lines 152c, 152d. Such a return message identifies the carrier having the requested tape cartridge. Each of the power/data modules 64 includes a corresponding multi-segment OR gate for receiving such a return signal, and a conversion circuit, corresponding to conversion circuit 266, for converting the TTL protocol signals to RS422 differential voltage format for transmission to the next preceding power/data module, or, in the case of the first power/data module 64a, for transmission to the communications converter 62 and host computer 52 (FIG. 6) . OR gate 260 is also connected through input line 276 with the RxD data outputs of the next successive power/data module 64b (FIG. 6) , for receiving the outputs of the corresponding multi-input OR gate, not shown, of power/data module 64b, which, in turn, is similarly connected to the next successive modules. Accordingly, a positive identification or "match" signal received from any of the chains of carriers associated with any of the successive power/data modules will be received on line 276 and transmitted through OR gate 260, and converter 266, to the communications converter 62 and host computer 52 (FIG. 6).
Summarizing the advantages of the above-described communications network 166 (FIG. 6) , because the digital tape request signals, and any return signal, are translated from RS422 protocol to TTL protocol within each power/data module and then retransmitted in RS422 format, there is little signal loss as the signals are transmitted between the respective modules. The interconnecting cables, utilizing RS422 protocol, inherently have very little loss. Further, each power/data module addresses only one other, sequentially connected power/data module. Also, since the signals are translated from RS422 format to TTL format and subsequently driven by the respective drivers within the modules, the signals are slightly amplified within each module before it is transmitted to the next module. Similarly, when the unique, carrier identification number is returned from one of the respective carriers, a similar advantageous effect accrues, in that the return signal is amplified, for example, converted to TTL format, transmitted through the OR gate 260, and again amplified at the transmitting driver, such as driver 264 and transmitted in RS422 format to the next power/data module. Accordingly, the above-described network 166 provides important technical advantages in that the 422-to-TTL converters not only serve to convert the signals to TTL format within each module, but also to provide sufficient signal amplification for providing a good signal-to-noise ratio in the network 166 as the signals are passed from one power/data module to the next down the line, and from and to the host computer 52. Additionally, the use of RS-422 or RS-485 differential voltage protocol minimizes noise which would otherwise occur in the cables extending from the power/data modules. Similarly, the data transmission and conversion circuits interconnecting the tape carriers of the respective chains of carriers provide low-noise data transmission, as will now be described.
Polling of the tape carriers 12 by the host computer 52 to locate a requested tape cartridge thus entails the initial transmission of a tape cartridge request through the communications converter 62, the message being received on lines 152a, 152b (FIG. 12) at the first power/data module 64a in RS422 format, subsequently transmitted in TTL format on lines 204 and 214 and on bus 216, and simultaneously transmit- ted in RS485 format on pairs of lines 234a, 234b and 240a, 240b, to the respective chains of tape carriers (FIG. 6) associated with the respective power data module 64a. Refer¬ ring additionally now to FIG. 13, the circuitry 42 of the representative tape cartridge carrier 12a (FIG. 6) will now be described in greater detail. Each tape cartridge carrier control circuit 42 includes an eight bit microcontroller 300 for sequentially reading the respective EEPROM memories 18 of the microchips of the tape cartridges 10 seated in the respec¬ tive tape cartridge receptacles 44 of the carriers, the contacts of the EEPROMs being in electrical contact with the contact nodes of the probes, such as contact nodes 40a 40b, 40c, 40d of probe 38a. A tape cartridge request signal is received from power/data module 64a in RS485 format on lines 234a, 234b of cable 154. Tape cartridge request messages received on lines 234a, 234b thus comprise analog differen¬ tial-voltage signals, which will either be zero and +5 volts, or +5.0 volts and zero volts, on respective input lines 234a, 234b. The incoming signals are fed to the respective terminals of a voltage level converter chip 302, e.g., an RS485-to-TTL converter chip such as an SN75176B chip manufac¬ tured by Texas Instruments. TTL level input signals are fed via lines 304 and 306 to the input terminals of a first "receive" gated driver 308, and a second gated driver (transmit driver 310) has its output connected to lines 234a, 234b. Receive driver 308 is enabled if voltage on line 312 is zero, whereby the RS485 differential voltage inputs on the two leads 304, 306 are converted to a single TTL signal on lead 316, which is connected to the asynchronous serial data input port of the eight-bit microcontroller 300.
The microcontroller 300 is suitably a Motorola MC68HC05C3 chip having 4K bytes of ROM memory, 256 bytes of RAM, and at least 64 bytes of EEPROM memory, as in the circuit of the tape cartridge programmer 20 of FIG. 6. Receipt of an input signal on leads 234a, 234b thus initiates the microcont¬ roller 300, which will be described hereinbelow in greater detail with reference to the flowchart of FIGS. 14A and 14B. The microcontroller 300 is also operable to poll the EEPROM memories of the up to 20 tapes stored in the respective receptacles of the associated tape carrier 12. Tape cartridge memory data line lead 45a is fed to the common data bus 322 which is connected by leads 324a, 324b, 324c et seq. to the respective data contact nodes 40a et seq. of each of the respective probes 38a, 38b, 38c, et seq. It should be under¬ stood that whereas only three probes 38a, 38b, 38c are shown in the drawing, each of the twenty tape cartridge receptacles 44 of the associated tape carrier 12 includes a respective probe. A +5 volt DC power source is connected on line 326 to nodes 40c of each of the respective probes 38, and ground conductor 328 is connected to the nodes 40d of each probe, for supplying power to the EEPROM chips of the respective tape cartridges received in the respective tape cartridge recepta¬ cles 44 (FIG. 3A) . This 5-volt power energizes the EEPROM memory chips of each of the tape cartridges.
Polling of each of the chips is performed sequen¬ tially, in an ongoing, sequential polling process, in response to successive enable signals applied on memory clock lines 45b, 332, 334, et seq. The memories of the respective EEPROM chips of the respective tape cartridges are thus read sequen¬ tially, in response to signals from the timing circuit. Thus, the clock signals are sent sequentially along lines 45b, 332, 334, et seq. to activate the EEPROMs. When activated, the volser numbers of the respective EEPROMS are conducted through the data lines 324a, 324b, 324c, et al., through the data bus 322 and data line 45a, to the microcontroller 300. The series of up to 20 volser numbers thus read from the EEPROM memories of any tape cartridges currently received in the associated tape carrier are stored in the RAM memory section of microcon¬ troller 300 and subsequently compared within the microcon- troller 300 to the requested tape cartridge volser number received on line 316. The volser numbers of the tape cartridges 10 stored within the receptacles 44 of the tape cartridge carrier 12a are thus collected by a repetitive, ongoing polling procedure, and stored in the RAM memory of the microcontroller. In the event of a match, a carrier number and location number of the matching tape is output on line 332, to activate gated driver 310 to send a return signal in RS485 format on lines 234a, 234b of cable 154, back to the host computer 52 through the communications network 166 described above.
To complete the description of the circuit 42 illustrated in FIG. 13, the microcontroller 300 also includes three input/output ports connected via respective lines 335, 336, and 338 to respective peripheral units, now to be de- scribed. The first input/output port is connected via line 335 to an audible device such as a buzzer 340. The buzzer 340 is a low-current device such as a Mallory Sonalert buzzer, and is activated when the normally positive five-volt potential on line 335 is removed, permitting five volts DC from the power supply to activate the buzzer 340. The second input/ output port is connected via line 336 to an infrared photode¬ tector device 374, for use in programming the 64-byte EEPROM memory of the microcontroller 300 with the aisle, rack and position number of the particular carrier 12a, as will be discussed below. The third input/output port is connected via line 338 with the base of a switching transistor 342 which is connected between ground and an infrared photodiode 344, infrared photodiode 344 being connected between the collector of transistor 342 and a plus-five volt power source 346. The infrared photodiode 344 is used during the procedure for programming the EEPROM of microcontroller 300 with respect to the particular carrier's rack and aisle number by emitting an infrared signal indicative of the EEPROM programming, as will be discussed below.
A lamp driver circuit 348 is connected through in¬ put/output lines 350, 352, and 354 for respectively receiving shift data, data clock, and latch strobe outputs, utilized for illuminating respective ones of LED lights 32a, 32b, and 32c, which are associated with respective ones of the receptacles 44 of the carriage 12a. Each of the lamps 32 may be lit, by driving circuit 348, in a red, green or amber mode, in the manner disclosed in U.S. Patent No.5,134,387, which is hereby incorporated by reference. The lamp driver circuit 348 suitably is formed of a series of five UCN-5821A chips, manufactured by Allegro Semiconductor, which are connected in cascade fashion, the output of the first chip being connected through lead 356 to the next chip, not shown, in the series. The first driver chip 348, as shown in the drawing, haε four pairs 360a, 360b, 360c, and 360d of output leads for driving the four bicolor LEDs 32a, 32b, 32c, and 32d in red or green, for providing an appropriate indication to an operator. As will be discussed below, a green output is indicative that a requested tape cartridge is in the particular tape cartridge receptacle adjacent the particular LED. A red output is indicative that an error condition existε in the receptacle. For example, a red lamp may indicate that a tape cartridge has been removed, or is not making proper contact, without or apart from an appropriate command input. A combination of green and red output commands produces an amber light, the amber color being indicative that the tape cartridge is not in the receptacle, or is not making proper contact with the respective probe. Exemplary dual segment diode 32d is connected to chip 348 by lines 360d, 368, and to lines 370, 372, illustrating in greater detail the LED connections.
As will be discussed in greater detail, the EEPROM memory of microcontroller 300 is operable to store information regarding the location (e.g., aisle number, rack number, and side of aisle) of the respective tape cartridge carrier. Such location information may be entered in the microcontroller's EEPROM memory by any suitable meanε, and it iε advantageously entered by means of an infrared transmitter (to be described with respect to FIG. 15) operable to transmit encoded signals to IR-sensitive photodetector receiver 374, which is suitably an IS435 unit manufactured by the Sharp Company. Photodetec- tor circuit 374, connected to the microcontroller 300 by line 336, is operable to receive sequentially emitted, encoded data segments for programming the EEPROM of the microcontroller 300 with the carrier location. Referring now to the flowchart of FIGS. 14A and 14B, the operation of the control circuit 42 of FIG. 13 will now be described. An initialization, or "reset" signal is generated by the microcontroller 300 (FIG. 13) when power is first applied to the circuit through the respective power/data module 64a (FIG. 6) aεsociated with the circuit 42. The program stored in the ROM memory of the microcontroller 300 then initiates a check procedure, as indicated at block 376, in which the infrared receiver 374 (FIG. 13) is checked (action block 376) to determine whether an EEPROM programming instruction is being received via the photodetector 374, via line 336 (FIG. 13) . Photodetector 374 is thus used to program the 64 byte EEPROM incorporated in the microcontroller chip, in which the aisle, rack, and position of the particular tape carrier is retained in memory. Assuming that such "carrier location" programming has already been accomplished, no input signal will be received on line 336 (FIG. 13) , and, at decision block 380 (FIG. 14A) , a negative output will start the tape checking and polling procedure, as indicated by action block 382. Blocks 382 through 396 represent an initial check procedure to see that no new tape cartridges have been inserted in any of the receptacles, and that no cartridges have been removed, without a corresponding tape mount request. Block 382 indicates to block 384 to start the initial inquiry at the first port, and the tape cartridge request, i.e., the volser number of a requested tape cartridge, received from the host computer through the communication network 166 (FIG. 6) , iε compared with the data base of volser numbers presently stored in the RAM memory of microcontroller 300. At block 384, the tape cartridge volser for the first receptacle or port is read in and compared with the RAM database. At decision block 386, the system determines whether a change has been made in the RAM data base. At this point, the system checks for any changes in the array of tape cartridges within the carrier, that is, the existence of any new tape cartridges, any missing tape cartridges, or any switcheε of tape cartridgeε between receptacleε. If the answer is yes, the RAM data base is updated at action block 388, and, at stepε 390, 392, and 394, the particular type of change iε identified. At εtep 390, the system determines whether the RAM memory has been changed to indicate that a new tape cartridge was inserted in one of the receptacles. If yes, at action block 392, a signal iε transmitted to buzzer 340 (FIG. 13), energizing the buzzer with a short "beep".
Similarly, LED driver 348 iε activated to illuminate the LED for that particular receptacle. For example, LED 32a may be flaεhed green for itε adjacent receptacle. The next decision, as indicated at step 400, is with respect to whether the old tape cartridge was removed from the receptacle, and if the answer iε yeε, at block 396, the εyεtem compareε the tape cartridge number (εtill εtored in the microcontroller'ε RAM memory) of the removed tape cartridge with the requeεted volser number, to determine whether the removed tape cartridge was requested by the host computer 52 (FIG. 6) . If not, a potential error exists and, at block 394, the LED adjacent the particular receptacle is illuminated in a blinking red mode. This warns the operator that a tape cartridge has been with¬ drawn in error from the adjacent receptacle. The operator at this point deter ineε whether the tape cartridge haε become diεconnected or waε incorrectly removed, or whether the memory of the tape cartridge has failed. Subsequent to this check, a command is sent on path 397 to block 398 instructing the microcontroller 300 to check the next tape cartridge recepta¬ cle using the same procedure. At decision block 402, the syεtem determineε whether each of the receptacleε or ports have been checked, i.e., whether the last receptacle has been checked, and if not, a command is sent on path 399 to block 384 to initiate the checking procedure for the next recepta¬ cle. If yes, a positive command is sent to action block 404. At block 404, the microcontroller is instructed to read the tape cartridge request message, i.e., the input received through line 316 (FIG. 13) . In the present system, such tape cartridge request commands suitably comprise a string of encoded ASCII characters, suitably comprising one "start" bit, seven "data" bits, one "parity" bit and one "stop" bit for each character. Assuming that the system operates at 9600 baud, 960 characters per second will be transmitted, since 10 bits of data are required to transmit each character. The "start of message" character thus informs the microcontroller 300 to look for a command message. A message type code is included in the transmission sequence which is a two digit code that identifies the type of meεεage. Variouε typeε of eεεages are used in the syεtem, such as a tape cartridge request command, or an audit command. The message type is followed by the message text, which, in the present embodiment, is the six digit volser number of the requested tape cartridge. Finally, an "end of message" character is transmitted. With continued primary reference to FIGS. 14A and
14B, at decision block 406, the system determines whether a start of message code waε received. If not, it iε assumed that an invalid or spurious esεage was received, and instruction is sent via path 407 to go through the sequence once more. If, however, the answer, at decision block 406, is yes, the system is instructed at block 408 to read in the command bytes, which correspond to the two digit mesεage type code, which, in the present system, may designate an "audit" command or a "tape cartridge request" command. Assuming that an audit command is received, at step 410, a yes output is sent to block 412, instructing the system to turn on the LEDs corresponding to all empty receptacles, in an amber color. This procedure is thus used if there appears to be trouble in the syεtem, and it permits the operator to go through the tape cartridge library quickly, checking all receptacles indicated with an amber light to determine whether a tape cartridge is not in proper contact with a receptacle probe, or whether a tape cartridge has been removed by mistake, etc. After the LEDS have been illuminated with an amber color, a message is sent on path 413 to inquiry block 426, which queries whether an end-of-mesεage character haε been received. If "yeε," a meεεage is sent via path 427 and 429 back to decision block 376 to start the cycle again. If "no," a negative command is sent, as indicated by block 428, indicative of an error condition, and all LEDS in the carrier are commanded to flash red. This is indicative that data was εent to the carrier but waε interrupted, due to a failure of the host computer 52, the power/data module 64a, or another component, such as a connec¬ tor, or the like, in the network 166 (FIG. 6) .
If the audit command from decision block 410 is negative, the tape request command deciεion block 414 deter¬ mines whether a tape request command has been received. If not, at block 426, the microcontroller again determines whether an "end of message" command has been received, as in the above described procedure. If yes, at block 416, the system is commanded to read the requested volser number into the RAM memory of the microcontroller, the volser number corresponding to the meεsage text. Thus, the mesεage text would be the volεer number of the requested tape cartridge.
Subsequently, the requested volser number now εtored in the RAM memory is compared with the volser numbers of the tape cartridges in each of the receptacles 44 of the carrier by sequentially reading the volser numbers from the respective EEPROM memories asεociated with the respective tape cartridges stored in the respective receptacleε. Sequential checks of the respective EEPROMS are made by sending sequential clock signals to the respective probes 38a, 38b, 38c, et seq., on lines 45b, 332, 334, et seq. (FIG. 13) as discuεεed above. At decision block 418, the system compares the requested volser number, now stored in RAM, with that of the volser number of each succesεive tape cartridge, i.e., the volser number stored in the EEPROMs of the respective cartridges within the respective receptacles. If, at decision block 418, the volser number read from a respective receptacle does not match that of the requested volser number, a negative output is sent along path 411 and 413 to initiate a further check, at deciεion block 426. If the volser numbers do match, a positive instruction is sent to action block 420, instructing the syεtem to get the aisle, rack, and position numbers of the particular receptacle out of the 64 byte EEPROM memory in the microcontroller 300. This "matching tape cartridge location" information is εent back through the network 166 to the host computer 52 (FIG. 6) via output data line 332, gated driver 310, and cable 154 (FIG. 13) as indicated at action block 422 (FIG. 14B) , and the LED for the respective receptacle is flashed green by the lamp driver circuit 348 (FIG. 13) aε indicated at block 424.
Aε diεcuεεed above, the reεpective locationε or poεitionε of the tape carriers 12 are stored in the RAM memories of the microcontroller 300 (FIG. 13) of the respec- tive carriers. This poεition information may be entered by any εuitable meanε. For example, one method is to key in the information by a host computer or other processor (not shown) , sequentially connectable through suitable buffer circuitry (not shown) to the respective microcontrollers. The means and method illustrated herein and now to be described advanta¬ geously utilizes a portable infrared data transmission unit, the output of which is fed into the microprocessor 300 via photodetector circuit 374 (FIG. 13). Blocks 450, 452, and 454 represent a portion of the process for encoding the non¬ volatile EEPROM memory of the carrier microcontroller 300 by the infrared transmitter, as will now be described. Referring now to FIG. 15, the tape carrier position programmer 500 is used in the programming of carrier position information into the EEPROM memory sections of the microcontroller 300 (FIG. 13) of each respective tape carrier 12, for storing the current location of each tape carrier in its EEPROM memory section, i.e., for storing the aisle, rack, and position of the respective tape carrier. As will now be described, the position programmer 500 is suitably a battery powered, portable unit operable to transmit encoded programming data messages to the respective tape carrier microcontrollers by generating modulated infrared radiation transmissions. As discussed above with respect to FIG. 13, photodetector 374 is provided for sensing an infrared signal, such as that produced by programmer unit 500, and for conducting a correεponding electrical εignal, via line 336, to microcontroller 300. Suitably, small windows, not shown are provided on the front face each of the tape carriers 12, and the photodetector 373 and the infrared diode 344 are mounted adjacent the window for permitting infrared transmission and reception therethrough. The carrier position programmer 500 includes a corresponding infrared transceiver 502 (FIG. 15) having an infrared diode 504 and a photodetector 506, the transceiving unit being positioned adjacent the window, with its photodiode 504 positioned in register with the photodetector 374 of the carrier, and its photodetector 506 positioned in register with or adjacent the photodiode 344 of the carrier, for receiving and transmitting encoded meεεages from the tape carrier position programmer to the tape carrier, via lines 338 and 336, to the microcontroller 300 (FIG. 13) for storing such data in the 64 byte EEPROM within microcontroller 300. Referring additionally to FIG. 16, the location information data is suitably generated by means of a 20-switch keypad 508. Suitably, the keyboard 508 and the circuitry εhown in FIG. 15 is contained in a small handheld unit 500, as εhown in FIG. 16, for easy portability. The outputs of keyboard 508 are sent on output lines 512a-512i (FIG. 15) to a decoder unit 514, such as an integrated circuit keyswitch decoder available from National Semiconductor aε model MM74C923. The outputs of the decoder 514 are transmitted via lines 516a-5l6f to an eight-bit microcontroller 518. Microcontroller 518 suitably has two kilobytes of ROM, 256 byteε of RAM and 20 independent¬ ly controllable input/output pins, and is suitably a Motorola Model No. 68HC05P1P. The microcontroller 518 is connected via register select line 522, read-write-control line 524, opera¬ tion start line 526, and an eight-bit data bus 528, to an LCD driver circuit 530, such as an HD44780-HD44100H driver, available from Hitachi. LCD driver 530 iε connected via LCD driver lines 532 to a 2-line-by-16-character liquid crystal display 534. A suitable power supply 536, including a three- volt battery supply 538, is connected for powering the LCD driver 530. The LCD power supply 536 is operable to convert the three-volt battery supply voltage to plus five and minuε five voltε DC, aε required for the LCD driver 530. Referring to FIG. 16, the LCD diεplay 534 is suitably positioned adjacent and above the keyboard 508.
Referring now to FIG. 17, the flowchart will now be used to describe the operation of the carrier position programmer 500. At block 540, the software of the programmer 500 (the programming procedure stored in ROM memory within the microcontroller 518, FIG. 15) is initialized by turning ON a power on/off switch (not shown) in the portable unit. The initial screen display, with respect to the aisle, rack, position, and optionally, aisle side, is zero and "R" ("R" designating the right side of the aisle) . At decision block 544, the syεtem queries whether there is user input, in the form of a key pressed by the user, to initiate the "SETUP" command. If yes, at 548, a mesεage is displayed on the LCD display 534 notifying the operator to enter the starting and maximum aisle number of the series to be entered, the aisle side, i.e., left or right, the starting and maximum rack numbers from the user, and the starting and maximum carrier positions. After these setup values are entered, a reset signal is sent back on path 555 to check for further requests. At step 576, the system is queried as to whether the program button has been preεεed, and if not, at 578, the εystem processeε any other uεer input, as required. Such other user inputs may, for example, be the cursor keys, the reset key, the backup key, etc.
At 580, in response to the program initiation at 576, the photodiode 504 (FIG. 15) is activated to transmit a sequential, encoded, infrared signal containing the current aisle, side, rack and position information to the tape cartridge carrier photodetector 374 (FIG. 13). At step 582, the syεtem checkε whether an acknowledgement signal has been received, i.e., whether the programmer photodetector 506 has received a corresponding encoded infrared signal from infrared photodiode 344 (FIG. 13) of the carrier, in response to signals produced by the microcontroller 300 within the carrier. If an acknowledgement is received at block 584, the microcontroller 518 is activated to provide a driver signal, via lines 522, 524, 526, and bus 528, commanding LCD driver 530 to activate the liquid crystal display 534 with a visual message indicating the next carrier to be programmed. If the system does not receive acknowledgement, at block 586 an error signal is generated, the error signal being shown as a blinking mesεage on the LCD display 534. Once the user clears the error mesεage by preεεing the "clear error meεεage" key, the system is reset for programming the next carrier.
It will now be understood that the coded article monitoring and storage system and method of the present invention provides an apparatus and method for storing and monitoring coded articles in which large numbers of articles may be stored in random order, and in which the location of a requested article may be quickly and reliably determined. The system obviates many of the difficulties and limitations experienced in existing library syεtemε. For example, no central data base of the coded articles is required, thereby avoiding the difficulties and problems involved in the mainte¬ nance and updating of such central data bases. Additionally, no operator action is required to update the system when coded articles are removed or transferred from one receptacle to another. Among the advantages provided by the data transmis¬ sion network and method of the syεtem is the fact that cables are not required to be connected directly between the host computer and the respective carriers and power/data modules, and further, the fact that return lines from thousands of successive carriers and chains of carriers are merged by succeεsive power/data moduleε into a single return cable and fed through the communication converter back to the host computer. Finally, the syεtem iε of practicable design utilizing standard, readily obtainable components, and is conveniently assembled and programmed.
While only one embodiment of the invention, together with modifications thereof, has been described in detail herein and shown in the accompanying drawing, it will be evident that various further modifications are poεsible in the arrangement and construction of its components without departing from the scope of the invention.

Claims

What is claimed is: 1. An apparatus for monitoring a plurality of coded articleε, the apparatuε comprising: at least one carrier having a plurality of receptacles each adapted to receive a coded article; a plurality of memory means, each asεociated with one of the coded articleε, for storing the code of the respective, associated article, each carrier having associated memory processing means for reading the memories associated with any coded articles stored in respective receptacles of the carrier and for storing the codes read from the respective memory means; circuit means, coupled to the memory processing means, for determining whether the article code of a selected coded article has been stored in one of the memory processing means and, if so, for identifying the location of the selected coded article.
2. The apparatus of Claim l, further compriεing meanε for updating the memory aεεociated with a reεpective coded article by εtoring in the memory the uεage hiεtory of the coded article.
3. The apparatuε of Claim l, wherein the memory means of the coded articles each comprise respective means for permanently storing the codes of the respective aεsociated articles and for temporarily storing the uεage histories of the respective coded articles.
4. The apparatus of Claim 1, wherein the memory processing means of each carrier comprises means for sequen- tially polling the memories associated with any coded articles received in respective receptacles of the carrier, and storing information read from the memories, the circuit means compris- ing means for receiving a requeεt for a εelected coded article and determining whether the article code of one of the coded articleε εtored in one of the memory proceεεing means of one of the carriers correspondε with the article code of the selected article.
5. The apparatus of Claim 1, wherein the circuit means includes a computer and meanε for conducting electrical signals between the computer and the memory processing means of the respective carriers.
6. The apparatus of claim 5, the circuit means comprising means for transmitting an inquiry message, generated by the computer, to each memory procesεing means and for determining whether the code of the selected coded article is stored in one of the memory processing means.
7. The apparatus of Claim 5, the circuit means comprising means for conducting messages from the carriers to the computer for providing the location of the receptacle in which a selected coded article is received.
8. The apparatus of claim 7, further comprising a display means, associated with the computer, for displaying the location of a selected coded article.
9. The apparatuε of Claim 4, further compriεing means associated with the memory procesεing meanε for providing a visual display asεociated with a receptacle in which a εelected, coded article is received.
10. An apparatus for storing a plurality of coded articles and for identifying the location of a selected coded article, the apparatus comprising: a plurality of carriers, each having a plurality of receptacles each adapted to receive one of the coded articles, each coded article having an associated memory, comprising means for storing the code of the respec- tive coded article; a plurality of proceεsing means, respectively associated with the carriers, for reading the memories of coded articles stored within the carrier receptacles, each processing means having a respective carrier memory, which compriseε means for storing the codes and receptacle identi- ties of each coded article received within any of the receptacles of the respective carrier; computer means for generating an inquiry containing the code of a selected, coded article; and circuit means for transmitting the inquiry from the computer means to each of the processing means, each processing means further comprising meanε for determining whether the code of the selected coded article matches one of the codes stored in the respective, asεociated carrier memory and for providing a return meεsage indicating the location of any matching coded article stored in a receptacle of the respective carrier, the circuit means further comprising means for transmitting the return message to the computer means.
11. The apparatuε of claim 10, wherein each of the coded article memorieε comprises a non-volatile memory.
12. The apparatuε of claim 11, wherein each of the coded article memories comprises an EEPROM memory device.
13. The apparatus of claim 11, each coded article further having a plurality of contact pads associated with its non-volatile memory, each carrier receptacle having probe means for engaging the contact pads of an inεerted coded article and for providing electrical connection, via the contact padε, between the non-volatile memory of the coded article and the proceεεing means of the respective carrier.
14. The apparatus of claim 10, wherein each of the carrier memories is a non-volatile memory meanε for storing the codes and receptacle locationε of coded articles εtored within any of the carrier receptacles.
15. The apparatus of claim 10, wherein the circuit means compriseε a plurality of circuit moduleε, each module being aεεociated with at leaεt one carrier and comprising meanε, connected to receive inquiries derived from the computer means, for transmitting corresponding inquiries to the processing means associated with the at least one carrier associated with the respective circuit module.
16. The apparatus of claim 15, wherein the computer means comprises means for generating inquirieε in a digital format, the circuit meanε further compriεing converter means, connected between the computer means and the plurality of circuit modules, for translating digital inquiries received from the computer means into differential voltage signals for tranεmission to the circuit moduleε, and for tranεlating return εignalε, received in differential voltage format, into digital format for retranεmiεsion to the computer means.
17. The apparatuε of claim 15, the circuit moduleε being serially interconnected, and further comprising means for relaying differential voltage output signalε to associated circuit modules in the serieε of circuit moduleε.
18. The apparatuε of claim 15, wherein each circuit module includeε a respective input gating meanε for converting signals received in differential voltage format into a plurality of digital format signals within the respective module, each circuit module having a plurality of output gating means operable for converting the digital format signals into a plurality of differential voltage output signals and for relaying the differential voltage output signalε to reεpective carrierε aεεociated with the reεpective circuit module.
19. The apparatus of claim 18, each circuit module comprising means for transmitting a plurality of polling inquiries on a plurality of output cables connected between respective ones of the output gating means and respective chains of carriers asεociated with the reεpective circuit module.
20. The apparatuε of claim 15, each circuit module comprising means operable for receiving a return message from one of the carrier processing means and for causing a corre- sponding message to be transmitted to the computer meanε.
21. The apparatus of claim 20, the means operable for receiving a return message including a unidirectional channel merging means for pasεing any return meεsage to the computer means.
22. The apparatus of claim 21, wherein each unidirectional channel merging means compriseε a multi-input OR gate, each input thereof being connected to a reεpective cable connected to one of the carriers associated with the respective circuit module.
23. The apparatus of claim 22, wherein each cable iε connected to the proceεsing means of the first carrier of a chain of carriers associated with the respective circuit module.
24. The apparatus of claim 10, further comprising display means, asεociated with the computer meanε, for identifying a carrier which has been determined by a carrier processing means to contain a selected coded article.
25. The apparatus of claim 10, further comprising light emitting means asεociated with the carriers for visually designating the location of the receptacle in which a selected coded article iε received.
26. The apparatuε of claim 25, wherein the light emitting means comprise a plurality of light emitting devices each associated with a respective one of the receptacles.
27. The apparatus of claim 26, wherein the light emitting devices comprise respective means for emitting light selected from at least two colors, the apparatus further comprising means for causing a light emitting device associat- ed with a receptacle receiving a selected coded article to emit light of a first color.
28. The apparatus of claim 27, the apparatus further comprising means for causing at least one of the light emitting devices to emit light of a second color for indicat- ing an error condition with respect to an asεociated recepta- cle.
29. The apparatus of claim ll, further comprising encoding means for storing the respective code of each coded article in the memory associated with the respective coded article.
30. The apparatus of claim 29, wherein the encoding means comprises: a receptacle for receiving a coded article and having probe means for conducting encoding signals to the non- volatile memory asεociated with the coded article; encoding circuit means, connected to the probe means, for generating a sequence of encoding signals for programming the non-volatile memory of a coded article received in the encoding means receptacle; and control means, associated with the encoding circuit means, for applying a serieε of signals to the encoding circuit means corresponding to the characters of the code aεsigned to said coded article, the encoding circuit means comprising means for applying a sequence of digital encoding signals corresponding with the signals applied by the control means.
31. The apparatus of claim 30, wherein the encoding circuit means includes a proceεsor means for generating the sequential encoding signals for encoding the non-volatile memory of the coded article received in the encoding means receptacle, and for subsequently reading the non-volatile memory of said coded article and determining whether the assigned code has been encoded.
32. The apparatuε of claim 30, wherein the control meanε compriεeε meanε for generating encoding εignalε in TTL format.
33. The apparatuε of claim 30, wherein the control meanε compriεeε meanε for generating signals in RS232 format.
34. The apparatus of claim 33, wherein the control means comprises a computing means.
35. The apparatus of claim 34, further comprising a keyboard for entering the aεsigned code into the computing means.
36. The apparatus of claim 31, the coded article being provided with a bar code label containing the code assigned to the respective coded article, further comprising a bar code reader, associated with the computing means, for reading the bar code and entering the assigned code into the computing means.
37. The apparatus of claim 31, wherein the coded articles are magnetic tapes, further comprising tape drive means for receiving one of the tapes and reading its asεigned code from a portion of the magnetic tape, and entering it into the computing means.
38. The apparatus of claim 37, further comprising means for automatically and sequentially loading magnetic tapes into the tape drive means, and wherein the probe is adapted to contact the non-volatile memory of a magnetic tape loaded into the tape drive for transmitting encoding signals to the encoding circuit means for effective programming of said non-volatile memory while the associated magnetic tape is loaded in the tape drive means.
39. The apparatus of claim 10, further comprising carrier programming means for encoding carrier position information in the carrier memorieε associated with the respective carriers.
40. The apparatus of claim 39, wherein the carrier programming means compriseε circuitry means for generating encoded position information and meanε for transmitting the encoded position information to a reεpective carrier.
41. The apparatus of claim 40, further comprising means associated with each carrier for receiving encoded carrier position information from the carrier programming means and for applying a sequence of corresponding encoding signals to the respective carrier memory for storing in said carrier memory the current location of the respective carrier.
42. The apparatus of claim 40, wherein the circuitry means for generating encoded carrier position information comprises a portable, battery powered unit and wherein the means for transmitting the encoded position information comprises a transceiving means for transmitting the encoded position information to an adjacent carrier, the carriers having correεponding tranεceiverε for receiving εaid position information.
43. The apparatus of claim 42, wherein the trans- ceiverε are infrared transceivers.
44. Apparatus for maintaining a plurality of coded articles in any desired order and for identifying the location of a selected coded article, the apparatus comprising: a plurality of first memory means, each comprising a non-volatile memory associated with one of the coded articles and adapted to εtore the code of the aεsociated coded article; a plurality of receptacles, each adapted to receive one of the coded articles; monitoring means, including second memory means, for reading the first memory meanε aεεociated with any coded articles received in the receptacles and for storing, in the second memory means, the codes and locations of any coded articles received in the receptacles; and circuit means for interrogating the monitoring means to determine whether the second memory means includes an article code which matches a selected code.
45. The apparatus of claim 44, further comprising: display means, associated with the circuit means, for displaying the location of a selected coded article, upon the circuit meanε determining that the εecond memory meanε includeε an article code which matches a εelected code.
46. A method for monitoring a plurality of coded articles and for identifying the location of a εelected coded article, comprising the steps of: providing a plurality of carriers, each having a plurality of receptacles adapted to receive one of the coded articles, the carriers having respective memories, and the coded articles having respective memories associated there- with; storing in the coded article memories the article codes of the respective, asεociated coded articles; inserting coded articles in at least some of the carrier receptacles; polling the memories of coded articles received in the carrier receptacles and storing the codes and locations of said coded articleε in the respective carrier memory means; polling the carrier memories, in response to a request for a selected coded article, for determining whether a code stored in one of the carrier memories matches the code of the selected coded article; and providing an indication of the current location of a selected coded article.
47. The method of claim 48, further comprising the step of visually displaying the location of a selected, coded article.
48. The method of claim 47, wherein the step of viεually displaying the location of a selected coded article compriεes displaying the location of the carrier in which the selected coded article is stored.
49. The method of claim 46, wherein the carrier memories comprise respective non-volatile memory devices each associated with a respective one of the carriers, further comprising the step of: programming the non-volatile carrier memory devices by encoding therein the current locationε of the reεpective, aεεociated carriers.
50. The method of claim 49, wherein the step of programming the non-volatile carrier memory devices comprises: providing a battery-powered, portable program- ming means having transceiver means for generating programming signals corresponding to the location of a respective carrier and a transceiver meanε aεεociated with each carrier for receiving the programming εignals received from the program- ming means; locating the portable programming means adjacent said carrier; and causing the transceiver means of the program- ming means to transmit a programming signal to the transceiver means of the respective carrier.
51. For an apparatus for storing a plurality of coded articles, each coded article having an associated, non- volatile memory comprising means for storing the code of the respective coded article, encoding means for recording the respective code of each coded article in the memory associat- ed with the reεpective coded article, the encoding means comprising: a receptacle for receiving a coded article; encoding circuit means, asεociated with the receptacle, for generating digital encoding εignals for programming the non-volatile memory of said coded article received in the receptacle; and control means, associated with the encoding circuit means, for applying a series of signals to the encoding circuit means corresponding to the characterε of the code assigned to said coded article, for actuating the encoding circuit means to program the memory of said coded article.
PCT/US1995/007792 1993-08-16 1995-06-19 Apparatus and method for monitoring a plurality of coded articles WO1997000496A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US08/107,258 US5455409A (en) 1993-08-16 1993-08-16 Apparatus and method for monitoring a plurality of coded articles and for identifying the location of selected articles
PCT/US1995/007792 WO1997000496A1 (en) 1993-08-16 1995-06-19 Apparatus and method for monitoring a plurality of coded articles
CA002224168A CA2224168C (en) 1993-08-16 1995-06-19 Apparatus and method for monitoring a plurality of coded articles

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/107,258 US5455409A (en) 1993-08-16 1993-08-16 Apparatus and method for monitoring a plurality of coded articles and for identifying the location of selected articles
PCT/US1995/007792 WO1997000496A1 (en) 1993-08-16 1995-06-19 Apparatus and method for monitoring a plurality of coded articles
CA002224168A CA2224168C (en) 1993-08-16 1995-06-19 Apparatus and method for monitoring a plurality of coded articles

Publications (1)

Publication Number Publication Date
WO1997000496A1 true WO1997000496A1 (en) 1997-01-03

Family

ID=27170567

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1995/007792 WO1997000496A1 (en) 1993-08-16 1995-06-19 Apparatus and method for monitoring a plurality of coded articles

Country Status (2)

Country Link
CA (1) CA2224168C (en)
WO (1) WO1997000496A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CZ298902B6 (en) * 1998-06-08 2008-03-05 St Logitrack Pte Ltd Monitoring system
CN110688073A (en) * 2019-10-10 2020-01-14 深圳市网心科技有限公司 Data storage method, electronic device, system and medium

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4839875A (en) * 1986-05-19 1989-06-13 Anritsu Corporation Technique for automatic tracking of cassette rentals and managing of information related thereto
US5013897A (en) * 1988-08-03 1991-05-07 Thru-The-Wall Corporation Automated videocassette dispensing terminal coupled to store's computerized rental system
US5028766A (en) * 1987-02-27 1991-07-02 Avs, Inc. Automated rental system
US5038023A (en) * 1989-06-28 1991-08-06 C. Itoh Information Systems Development, Inc. System for storing and monitoring bar coded articles such as keys in a drawer
US5133441A (en) * 1985-06-17 1992-07-28 Keyosk Corporation Video cassette vending machine
US5287414A (en) * 1991-06-21 1994-02-15 Esselte Pendaflex Corporation Coded file locator system
US5291346A (en) * 1989-08-07 1994-03-01 Bang & Olufsen A/S Recording and/or play-back system employing a cassette with a memory unit accommodated in the cassette
US5455409A (en) * 1993-08-16 1995-10-03 Texas Digital Systems, Inc. Apparatus and method for monitoring a plurality of coded articles and for identifying the location of selected articles

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5133441A (en) * 1985-06-17 1992-07-28 Keyosk Corporation Video cassette vending machine
US4839875A (en) * 1986-05-19 1989-06-13 Anritsu Corporation Technique for automatic tracking of cassette rentals and managing of information related thereto
US5028766A (en) * 1987-02-27 1991-07-02 Avs, Inc. Automated rental system
US5013897A (en) * 1988-08-03 1991-05-07 Thru-The-Wall Corporation Automated videocassette dispensing terminal coupled to store's computerized rental system
US5038023A (en) * 1989-06-28 1991-08-06 C. Itoh Information Systems Development, Inc. System for storing and monitoring bar coded articles such as keys in a drawer
US5291346A (en) * 1989-08-07 1994-03-01 Bang & Olufsen A/S Recording and/or play-back system employing a cassette with a memory unit accommodated in the cassette
US5287414A (en) * 1991-06-21 1994-02-15 Esselte Pendaflex Corporation Coded file locator system
US5455409A (en) * 1993-08-16 1995-10-03 Texas Digital Systems, Inc. Apparatus and method for monitoring a plurality of coded articles and for identifying the location of selected articles

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CZ298902B6 (en) * 1998-06-08 2008-03-05 St Logitrack Pte Ltd Monitoring system
CN110688073A (en) * 2019-10-10 2020-01-14 深圳市网心科技有限公司 Data storage method, electronic device, system and medium

Also Published As

Publication number Publication date
CA2224168A1 (en) 1997-01-03
CA2224168C (en) 2001-07-17

Similar Documents

Publication Publication Date Title
US5455409A (en) Apparatus and method for monitoring a plurality of coded articles and for identifying the location of selected articles
US5258604A (en) Bar code scanner
US3991299A (en) Bar code scanner
EP0067859B1 (en) Market survey data collection method
US4120452A (en) Automatic vending system
US4377741A (en) Apparatus for producing updated information on a tangible medium
US4661806A (en) Computer controlled key management system
US4866257A (en) Bar code scanner and method
US4894522A (en) Interface apparatus
EP0295658A2 (en) Nameplate apparatus incorporating communication unit
US4268826A (en) Interactive display devices
US4259569A (en) Code sensing system
US3612660A (en) Digital data compaction
US3959633A (en) Security guard recording system
US4012720A (en) Data entry system
US4141000A (en) Interactive displays comprising a plurality of individual display elements
GB752593A (en) Improvements in or relating to statistical record controlled sorting apparatus
WO1997000496A1 (en) Apparatus and method for monitoring a plurality of coded articles
US4074235A (en) Data storage and retrieval systems
US3637993A (en) Transition code recognition system
AU604562B2 (en) Code reader
US4466078A (en) Automated time record processing system
US5448426A (en) Automatic upgrade of code from tape cartridge
JPS6020372A (en) Storage box
EP0151761A2 (en) Electronic coin box, particularly for public telephone utilities

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref document number: 2224168

Country of ref document: CA

Ref country code: CA

Ref document number: 2224168

Kind code of ref document: A

Format of ref document f/p: F

NENP Non-entry into the national phase

Ref country code: CA

122 Ep: pct application non-entry in european phase