Memory module
GENERAL DESCRIPTION AND PURPOSE OF THE INVENTION 
     A self contained and portable means of storing a MOD 30 instruments data base was needed. The MOD 30 data base is relatively large and a means of keeping it secure when the instrument lost power was required, since it would require a considerable effort to reprogram the instrument. A means of moving the configured data base from a failed instrument to a good instrument was also an original goal as long as the portable data base could be protected, to a degree, from instrument failures. The following summarizes the main design goals: 
     1. Portability of the data base. 
     2. Safety and reliability in preserving the stored data base. 
     3. Ease of customer operation in configuring multiple instruments. 
    
    
     BRIEF DESCRIPTION OF THE DRAWING 
     FIG. 1 is a perspective view of the outer case of a memory module designed in accordance with the present invention; 
     FIG. 2 is a memory module interconnected with a programmable instrument; and 
     FIG. 3 is a top view of a memory module with one side of the outer case removed. 
    
    
     DETAILED DESCRIPTION 
     Referring to the Drawing, there is depicted therein a portable memory module 10 for a programmable instrument, designed in accordance with the present invention. 
     A hinged polypropylene case 12 was chosen to which feet 14 were molded into the base 16, in order to allow upright storage when not attached to an instrument. The size was kept small (43/8&#34;×2×1-1/8&#34;) to allow case of transfer from instrument to instrument. See FIG. 1. 
     A long life lithium battery 18 was chosen along with low power consumption CMOS memory 20 components. Small locking arms 22 were added to the instruments to lock the module 10 in place. The locking arms 22 have to be engaged before an instrument could be inserted into its housing. This prevented the module 10 from being shaken from the instrument during instrument insertion or due to vibration in the customer&#39;s environment. See FIG. 2. 
     The memory module 10 was given a recessed connector 24 to protect it from being touched while being handled. This would greatly increase its resistance to static electricity. 
     The portability of the module 10 gave the customer the ability to move a configured data base from one instrument to another. The memory module 10 could also be carried or shipped to a customer&#39;s site from central engineering control. Each instrument also had its own dedicated memory, the module 10 was not a necessity but an option. 
     With the module 10, a customer could rapidly configure any number of instruments by downloading each instrument in succession from one configured module. 
     Another big advantage was being able to move the module 10 from a failed instrument to a good instrument. This could be done successfully only if the failure did not affect the memory module 10. This saves the customer from going back to written records of the original configuration and having to reconfigure the complete data base. Often original records are so outdated that they are of little use. 
     The memory module 10 also holds the most recent intermediate and most recent final output calculations for the instruments algorithms. In case of plant power interruptions, the instrument can power up in the same conditions it was in when power failed. 
     A dual battery connector 28 was added to allow attachment of a second battery 32 before removal of the first battery 30. This keeps the modules data base intact while installing a fresh battery. See FIG. 3. A special 3-wire battery lead configuration 34 is used to allow the battery connector 28 to be able to be plugged into the memory module 10 in either direction. A battery check circuit 36 on the instrument places the memory modules battery 32 under simulated load periodically to check the condition thereon. 
     In order to provide increased security of data within the memory module 10, the software must perform certain operations before the write to the module can be completed. These &#34;interlocks&#34; involve a specific software manipulation of the hardware circuits which will enable writing onto the modules specific address for a specified period of time. These hardware and software interlocks were used to increase the modules resistance to damage due to instrument failure. 
     A set of diagnostics is also performed on the memory module 10 each time power is applied to the instrument and also whenever the instrument is being reconfigured. First the configuration of module 10 is checked to see that it is the right type of configuration for that instrument type. All of the modules are the same until they become configured for a particular type of instrument, then they will only work on that instrument type. The memory module 10 is also checked to see that it is in the configured state. In the configured state a multi-byte security code is saved in the module 10. The memory module 10 must also have a good battery 30. The battery 30 is put under load and tested for proper operating voltage. The data is then checked in the memory module 10 for any errors. This is done by checking each data base block against its stored check sum, that was saved when that software block was configured. Each software block&#39;s checksum is recalculated and checked against its saved memory module 10 value. They must verify before the module is used by the instrument. 
     A blank or previously used module 10 can be reconfigured to what the instruments configuration is as long as the instrument is configured and the instrument battery (not shown) and memory module battery 30 are good. The data transfer is verified after the transfer is complete. The instrument&#39;s memory loading switch 38 must be moved from the `normal` to the `module load` position for this type of operation. See FIG. 2. 
     An on-line set of memory module tests was also added that would increase the memory modules degree of storing only good data. The on line tests consists of recalculating each software blocks checksum periodically. This is compared to the stored value. Every time a parameter is stored into the memory module 10, the associated software blocks checksum is recalculated and stored in the memory module 10. The memory module&#39;s battery 30 is also periodically checked under a stimulated load during on-line use. 
     Any failure of the memory module 10 to pass a particular test will cause the instrument to display the associated error code in its display. In addition, the instrument will not use the questionable data base.