Mask programming
The mask programming refers to creating the desired user data contents of a read-only memory (ROM) by means of one or more masks by the semiconductor manufacturer . Depending on the structure of the memory cell of a ROM, programming takes place either via the last wiring mask (metallization), via masks for setting the thickness of the gate oxide or via ion implantation .
Definition of the data content by the user
Classic components were ROM memory components in the past, in which, for example, smaller operating systems or application programs were stored. Furthermore, microprocessors or application-specific integrated circuits (ASICs) that have a read-only memory can also be implemented using this technology. In principle, programmable logic components such as Field Programmable Gate Arrays (FPGAs) or Programmable Logic Devices (PLDs) can also be implemented using this technology.
The user develops the data content for the component together with the semiconductor manufacturer and provides the semiconductor manufacturer with the data content (mostly in electronic form).
The semiconductor manufacturer produces uniform basic components in the semiconductor factory up to the programming step. The individual data content of the user is only programmed into the component in the following programming step. The components that have now been programmed then run through the further uniform production cycle until they are completed.
Quantity and production costs
The production of mask-programmed components is only economical for very large numbers . It must also be taken into account that a wafer contains many thousands or tens of thousands of individual components. For the semiconductor manufacturer, only the production of a large number of individual wafers is usually economical.
This is only possible at low cost if there is a high demand for ROMs with the same data content. The semiconductor manufacturer needs individual masks to produce the components. These masks are created according to the data content created by the user. These individual masks are usually very expensive and have to be paid for by the user. The masks are paid either directly as a one-off payment or the costs are added to the components produced.
In the production of assemblies , the user can do without programming the component and thus saves the expenses for the programming process. Taking into account the manufacturing costs (one-off costs for masks and unit costs per component) at the semiconductor manufacturer and the savings in assembly production, there are cost advantages for larger quantities.
Realization time and changes
If the data content needs to be changed, new masks must be produced by the semiconductor manufacturer. Furthermore, new components with the changed data content must first be produced. The lead time through the semiconductor factory ranges from a few days to a few weeks . Only then are the components with the changed data content available to the customer .
disadvantage
The data content of mask-programmed components can no longer be changed subsequently. If these components contain a data error , they are usually worthless and can no longer be used by the user. In addition, if the modules malfunction, it is no longer possible to update the data content. In this case, the only thing that helps is replacing the component (either unsoldering or replacing socketed components). There is a risk that assemblies that have already been delivered will have to be recalled to customers for rework.
advantage
The disadvantage mentioned above can, depending on the application, also result in an advantage. Once the data carrier has been written to, any manipulation of the data is impossible. In this way, complete data integrity, which is an important security aspect, can be ensured.
Alternatives
Flash EPROMs , E2PROMs or battery-backed RAM memory components can be an alternative to mask-programmed components . When it comes to changing the data content, all 3 component types are always an alternative, because the data content of these components can be changed later.
A technology related to mask programming is one- time programmable components . The components can only be programmed once. In contrast to mask programming, however, these components can be programmed by the user .
literature
- Klaus Beuth: Digital technology . 10th edition. Vogel, 1998, ISBN 3-8023-1755-6 .
- Ulrich Tietze Ulrich: Semiconductor circuit technology . 12th edition. Springer, 2002, ISBN 3-540-42849-6 .