organize the beam archive files


How to organize the ebpg beam archive files

Back to the list of ebpg administration tips



Beam archive files, in the ebpg directory /home/pg/archive, contain the lens settings for each beam current, as well as gun alignment tilt and shift. These files should be loaded and adjusted weekly. You might think of an "archive" as something stored permanently, but these files are not permanent records of any sort, and you should not think of them as precious. (The word "archive" was a poor choice.) EBPG Beams defaults to a very disorganized set of beam archive files; you should not accept the defaults. It's like having piles of books all over your office. Books are great, but they belong on a shelf.

Let's organize the files:

  1. DO NOT let the e-beam users save their own beam archive files. This leads to chaos. You need to tweak these files weekly and save new versions. You should tell the users that "pg archive save" is strictly forbidden. If they need a different beam current then they can ask you, and of course you'll say 'yes'. But keep in mind that every new beam file must be maintained forever.

  2. Every time you save a beam archive file, Beams makes a copy of the old one. This is useless and sloppy, and will fill the disk with garbage. You can get rid of the garbage by creating a script in /etc/cron.daily, containing

    rm -f /home/pg/archive/*.beam_100_*

    Or, you could put this at the end of your weekly update script. An example of such a script is included in the EBPG Funpak. If you do not purge these files, then at the end of one year there will be 52 old copies of each beam archive file. Ye gods.

  3. E-beam users will use the beam files when setting up exposures with cjob. If you offer them hundreds of files, then you will have to maintain all of those files. It's better to choose a small number of beam currents. Here is a good set:

    0.5 nA, 1, 2, 4, 6, 8, 10, 20, 30, 40, 50, 60, 75, 100, 150, 200, 300 nA

    For any given current, there is one objective aperture which produces the smallest spot size:



    From this plot, you can see that from 0 to 3 nA, the 200 um aperture produces the smallest size. Therefore, in the set of beam archive files, 0.5, 1, and 2 nA should use the 200 um aperture. If you have a motorized aperture holder, then the system will automatically switch and align the apertures, and there is no need to confuse the users by offering the same current with different apertures.

    If you have a manual aperture holder, then Beams cannot switch apertures automatically in the middle of an exposure. In that case it makes sense to have a 1 nA file using the 200 um aperture, and another 1 nA file using the 300 um aperture, and so on. Then the users will have to think about it. You should have bought the motorized aperture.

    Systems with motorized apertures will require about 20 beam archive files. Systems with manual apertures might need about 50 files.

  4. After Raith installs a new emitter, delete all of the beam archive files you do not use. They are not necessary, and they will create confusion. Make sure the file names follow the naming convention (like 10na_300.beam_100)

  5. Maintenance of the archive files can be automated. The file naming convention makes this easy. For example 1na5_200.beam_100 is the file for 1.5 nA using the 200 um aperture at 100 kV. A python program can extract the current and aperture from the file name, and then do something like

    mvm
    atc
    mcur
    pg adj beam align
    mcur
    pg archive save beam 10na_300



Naturally your "beam update" program can do lots of other things, like adjusting the current if it is too far off. A good weekly_check.py program is included in the EBPG Funpak Running this once every week is a good idea. Or maybe you want to write your own; that's also a good idea. In any case, you might extract some useful functions from weekly_check.py.

Weekly_check.py uses "set_current" to adjust the beam current. The Beams command "pg adj current" should do the same thing, but it does not work at all. The Beams command "adjust_beam" does set the current, but it is very unreliable. Set_current can be found in the ebpg funpak.

Monthly_check.sh (also in the EBPG Funpak) runs weekly_check.py, and then runs the Raith self-diagnostic called "perfcheck". Perfcheck leaves a log file in /home/pg/log. This log file is then summarized with the utility perf_score.py.

We also have a quarterly test, in which we expose HSQ on a wafer. This test is not included here. You probably would rather create your own exposure test, based on your own particular acceptance tests. This can be very handy for those times when a user declares that the machine is broken. You can run your quarterly exposure and then show them that the machine is fine.



Back to the list of ebpg administration tips