数据类型:一个Lot ID引发的20万损失事故
数据类型:一个Lot ID引发的20万损失事故
一、问题背景:Lot ID格式错误导致晶圆混淆
去年冬天,我们FAB发生了一起严重的在制品混淆事故。
事故经过:
11月15日下午3点,ETCH工序的工程师小李在MES系统里录入一批新的Lot。按照我们的命名规则,Lot ID应该是FAB-ETCH-2026-001,表示FAB ETCH工序2026年第1批。
但是小李觉得"001"前面的两个0没必要,就写成了FAB-ETCH-2026-1。
问题出现:
系统认为这是两个不同的Lot:
- FAB-ETCH-2026-001:已经在制,25片晶圆正在ETCH
- FAB-ETCH-2026-1:新录入,系统分配了新的在制品编号
结果第二批晶圆被错误派工到了IMP工序,而第一批晶圆还在ETCH。
损失统计:
项目 | 数量
|------|------|
混淆晶圆数量 | 25片
返工成本 | 12万
工时损失 | 3天
客户交期延误 | 5天
**总损失** | **约20万**
根本原因分析:
事后复盘,我们发现了三个层面的原因:
1. 系统层面:MES的Lot ID字段设计成了VARCHAR,但没有做格式校验
2. 流程层面:没有Lot ID命名规范的培训和检查
3. 技术层面:开发工程师对数据类型理解不足——Lot ID应该是字符串,系统不应该把它当数字处理
这个事故让我意识到:数据类型不只是编程基础知识,更是工程实践中的关键细节。
这篇文章,我用半导体FAB的真实场景,带你深入理解Python的四大基础数据类型:
- 字符串(str):所有标识符的正确类型
- 数字(int/float):计数和测量的区分
- 布尔值(bool):状态表达的规范
- None:缺失值的正确处理





