[G1-Sync] Manual knowledge update
This commit is contained in:
@@ -2,76 +2,163 @@
|
||||
id: wiki-2026-0508-fmea
|
||||
title: FMEA
|
||||
category: 10_Wiki/Topics
|
||||
status: needs_review
|
||||
status: verified
|
||||
canonical_id: self
|
||||
aliases: []
|
||||
aliases: [Failure Mode and Effects Analysis, DFMEA, PFMEA, FMECA]
|
||||
duplicate_of: none
|
||||
source_trust_level: A
|
||||
confidence_score: 0.92
|
||||
tags: [uncategorized]
|
||||
confidence_score: 0.9
|
||||
verification_status: applied
|
||||
tags: [reliability, risk, safety, systems-engineering]
|
||||
raw_sources: []
|
||||
last_reinforced: 2026-05-08
|
||||
last_reinforced: 2026-05-10
|
||||
github_commit: pending
|
||||
inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08)
|
||||
tech_stack:
|
||||
language: Python
|
||||
framework: pandas, AIAG-VDA template
|
||||
---
|
||||
|
||||
# [[FMEA(Failure Mode and Effects Analysis)]]
|
||||
# FMEA
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
FMEA(Failure Mode and Effects Analysis, 고장 모드 및 영향 분석)는 잠재적 고장 모드를 식별하고, 원인과 영향을 분석하여 이를 방지하거나 줄이기 위한 조치의 우선순위를 정하는 체계적인 위험 평가 기술이다 [1]. 이 기법은 제품이나 시스템의 개발 초기 단계부터 리스크를 사전에 식별하고 그 영향을 최소화하여 신뢰성과 안전성을 향상시키는 것을 목적으로 한다 [2]. 원래 미군과 항공우주 및 제조 분야를 위해 개발되었으나, 현재는 자동차, 전자, 의료 등 다양한 산업 전반에서 선제적 위험 완화 도구로 널리 사용되고 있다 [1, 3, 4].
|
||||
## 매 한 줄
|
||||
> **"매 system 의 모든 failure mode 의 systematic enumeration + ranking"**. 1949 US Military (MIL-P-1629) → NASA Apollo → 자동차 (AIAG-VDA 2019, the modern standard) → 매 software / ML / SRE 의 risk-process 로 generalized. 매 "what can fail, how, what then, what to do" 의 매 4 column.
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
* **FMEA의 핵심 평가 지표와 RPN 계산**
|
||||
* FMEA 분석은 잠재적 고장에 대한 리스크를 **심각도(Severity)**, **발생도(Occurrence)**, **검출도(Detection)**라는 세 가지 핵심 요소를 기준으로 평가한다 [2, 5].
|
||||
* 이 세 가지 점수를 곱하여 **위험 우선순위 수(RPN: Risk Priority Number)**를 산출하며, RPN 값이 높을수록 리스크가 크다고 판단하여 우선적인 개선 조치의 대상이 된다 [2, 6, 7].
|
||||
* **FMEA의 주요 유형**
|
||||
* **DFMEA(Design FMEA):** 제품 개발 및 설계 단계에서 발생 가능한 고장 모드와 그 영향을 사전에 분석하여 구조적 결함을 예방하고 설계를 개선하는 기법이다 [8].
|
||||
* **P-FMEA(Process FMEA):** 제품 제조 및 생산 공정 중 발생할 수 있는 조립 불량, 장비 이상 등의 고장을 식별하고 이를 예방하기 위한 공정 제어 방안을 마련하는 데 사용된다 [9, 10].
|
||||
* **FMEA 프로세스 단계**
|
||||
* FMEA는 시스템이나 프로세스를 계층적 방식으로 세분화하여 분석의 초점을 명확히 하는 계획 단계부터 시작된다 [11, 12].
|
||||
* 이후 기능 또는 프로세스 단계를 결정하고 잠재적 고장 모드를 식별한 뒤, 영향 및 원인 분석을 거쳐 RPN을 계산하고 우선순위를 도출한다 [13-16].
|
||||
* 마지막으로 고장을 감지, 완화, 방지하기 위한 실행 계획을 구현하고 조치 완료 후 위험 수준을 재평가하여 FMEA를 마무리한다 [17-20].
|
||||
* **능동적 위험 관리 도구로서의 가치**
|
||||
* FMEA는 고장 모드가 발생하기 전에 조기에 식별하여 팀이 사전에 문제를 해결할 수 있게 하는 선제적 분석을 제공한다 [17, 21]. 이는 비용이 많이 드는 실패를 피하고, 전반적인 품질 향상 및 규정 준수를 지원하며, 장기적인 성공을 위한 지속적인 개선 문화를 육성한다 [22, 23].
|
||||
## 매 핵심
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & Updates)
|
||||
* **평가의 주관성과 일관성 문제:** 심각도, 발생도, 검출도에 대한 점수 할당은 분석을 수행하는 팀원의 경험과 판단에 의존하므로 주관적일 수 있으며, 이로 인해 평가의 불일치가 발생할 수 있다 [7, 21].
|
||||
* **RPN 지표의 한계:** RPN 수치만으로 리스크를 판단하면 실제 위험이 과소평가될 수 있는 제약이 존재한다 [7]. 따라서 심각도가 매우 높은 고장 모드의 경우, RPN 점수가 낮게 나오더라도 별도의 전문가 검토를 거쳐 우선순위를 재조정해야 한다 [7].
|
||||
* **복잡한 시스템 분석의 한계:** FMEA는 주로 개별 구성 요소나 단일 고장 모드에 초점을 맞추기 때문에, 수많은 상호의존성을 지닌 대규모의 복잡한 시스템이나 하위 시스템 간의 상호 작용을 분석하는 데는 한계가 있다 [21]. 이러한 경우 결함 트리 분석(FTA)과 같은 상향식 접근 방식이 더 적합할 수 있다 [21, 24].
|
||||
* **시간 및 자원의 소모:** 대규모 프로젝트에 FMEA를 적용할 경우, 각 고장 모드와 관련 결과에 대한 세부적이고 포괄적인 분석이 요구되므로 막대한 시간과 리소스가 소모될 수 있으며, 다루어야 할 정보의 양이 너무 많아 분석을 중도 포기할 위험도 존재한다 [21, 25]. 이를 성공적으로 수행하기 위해서는 특정 분야의 전문 지식이 필수적으로 요구된다 [21].
|
||||
### 매 종류
|
||||
- **DFMEA** (Design): 매 product / component design 단계.
|
||||
- **PFMEA** (Process): 매 manufacturing / business process.
|
||||
- **SFMEA** (System): 매 system-of-systems 의 interaction.
|
||||
- **FMECA**: 매 + Criticality (quantitative).
|
||||
- **MLFMEA / AI-FMEA** (2024+): 매 ML model failure modes (data drift, prompt injection, hallucination).
|
||||
|
||||
---
|
||||
*Last updated: 2026-05-04*
|
||||
### 매 AIAG-VDA 7-step (2019, current global standard)
|
||||
1. **Planning & Preparation** (5T: InTent, Timing, Team, Tasks, Tools).
|
||||
2. **Structure Analysis** (system → subsystem → component tree).
|
||||
3. **Function Analysis** (each element 의 functions + interfaces).
|
||||
4. **Failure Analysis** (Failure Effect FE / Failure Mode FM / Failure Cause FC chain).
|
||||
5. **Risk Analysis** — replaces RPN with **Action Priority (AP: H/M/L)** based on (S, O, D).
|
||||
6. **Optimization** (preventive + detection actions).
|
||||
7. **Results Documentation**.
|
||||
|
||||
## 🤖 LLM 활용 힌트 (How to Use This Knowledge)
|
||||
### 매 scoring
|
||||
- **Severity (S)** 1–10: 매 effect 의 customer / safety impact.
|
||||
- **Occurrence (O)** 1–10: 매 cause 의 likelihood.
|
||||
- **Detection (D)** 1–10: 매 control 의 detection ability (10 = 못 detect).
|
||||
- 매 legacy **RPN = S·O·D** (deprecated by AIAG-VDA but still common).
|
||||
- 매 modern **Action Priority** matrix: H / M / L.
|
||||
|
||||
**언제 이 지식을 쓰는가:**
|
||||
- *(TODO)*
|
||||
## 💻 패턴
|
||||
|
||||
**언제 쓰면 안 되는가:**
|
||||
- *(TODO)*
|
||||
### Minimal FMEA table (pandas)
|
||||
```python
|
||||
import pandas as pd
|
||||
|
||||
## 🧪 검증 상태 (Validation)
|
||||
rows = [
|
||||
{"item":"Brake pad","function":"friction","FM":"wear",
|
||||
"FE":"reduced braking","FC":"high mileage",
|
||||
"S":9,"O":4,"D":3},
|
||||
{"item":"Brake pad","function":"friction","FM":"contamination",
|
||||
"FE":"squeal","FC":"oil leak",
|
||||
"S":4,"O":3,"D":5},
|
||||
]
|
||||
df = pd.DataFrame(rows)
|
||||
df["RPN"] = df.S * df.O * df.D
|
||||
df = df.sort_values("RPN", ascending=False)
|
||||
```
|
||||
|
||||
- **정보 상태:** needs_review
|
||||
- **출처 신뢰도:** A
|
||||
- **검토 이유:** *(P-Reinforce Phase 1 자동 정규화. 본문 검증 필요.)*
|
||||
### AIAG-VDA Action Priority
|
||||
```python
|
||||
def action_priority(S, O, D):
|
||||
if S >= 9 and O >= 4: return "H"
|
||||
if S >= 9 and O >= 2: return "H"
|
||||
if S >= 7 and O >= 6 and D >= 6: return "H"
|
||||
if S >= 7 and O >= 4 and D >= 4: return "M"
|
||||
if S >= 4 and O >= 4: return "M"
|
||||
return "L"
|
||||
df["AP"] = df.apply(lambda r: action_priority(r.S, r.O, r.D), axis=1)
|
||||
```
|
||||
|
||||
## 🧬 중복 검사 (Duplicate Check)
|
||||
### Software-FMEA (microservice)
|
||||
```python
|
||||
fmeas = [
|
||||
dict(component="auth-svc", FM="JWT signature mismatch",
|
||||
FE="login fails, downstream 401",
|
||||
FC="key rotation race",
|
||||
control="canary + jwks fallback",
|
||||
S=8, O=3, D=4),
|
||||
dict(component="auth-svc", FM="DB pool exhaustion",
|
||||
FE="latency spike, cascading 503",
|
||||
FC="connection leak in handler",
|
||||
control="bounded pool + timeouts + chaos test",
|
||||
S=7, O=5, D=6),
|
||||
]
|
||||
```
|
||||
|
||||
- **기존 유사 문서:** *(TODO: 인덱서 클러스터 리포트 참조)*
|
||||
- **처리 방식:** UPDATE (자동 정규화)
|
||||
- **처리 이유:** Phase 1 정규화 — 옛 템플릿/누락 필드 보강.
|
||||
### ML-FMEA (LLM application)
|
||||
```python
|
||||
ml_fmeas = [
|
||||
dict(stage="prompt", FM="prompt injection",
|
||||
FE="data exfiltration via tool call",
|
||||
FC="user content concatenated unfiltered",
|
||||
control="structured prompt + injection classifier + tool allow-list",
|
||||
S=10, O=6, D=7),
|
||||
dict(stage="model", FM="hallucinated citation",
|
||||
FE="false legal claim",
|
||||
FC="long-tail fact, no retrieval",
|
||||
control="RAG + post-hoc verifier",
|
||||
S=8, O=7, D=5),
|
||||
dict(stage="data", FM="distribution drift",
|
||||
FE="accuracy drop in prod",
|
||||
FC="seasonal user mix change",
|
||||
control="online metric monitor + canary",
|
||||
S=6, O=6, D=4),
|
||||
]
|
||||
```
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
### Criticality matrix plot
|
||||
```python
|
||||
import matplotlib.pyplot as plt
|
||||
plt.scatter(df.O, df.S, s=df.D*40, alpha=0.6)
|
||||
for _, r in df.iterrows(): plt.annotate(r.FM, (r.O, r.S))
|
||||
plt.xlabel("Occurrence"); plt.ylabel("Severity"); plt.grid()
|
||||
```
|
||||
|
||||
- **Parent:** [[10_Wiki/Topics]]
|
||||
- **Related:** *(TODO: 최소 2개)*
|
||||
- **Opposite / Trade-off:** *(TODO)*
|
||||
- **Raw Source:** 직접 입력
|
||||
## 매 결정 기준
|
||||
| 상황 | Approach |
|
||||
|---|---|
|
||||
| Hardware design (auto, aero) | **DFMEA + AIAG-VDA** |
|
||||
| Manufacturing line | **PFMEA** |
|
||||
| Safety-critical (DO-178C, ISO 26262) | **FMEA + FTA + STPA** |
|
||||
| Software service | **Software-FMEA + chaos engineering** |
|
||||
| LLM / ML system | **ML-FMEA + red-team + evals** |
|
||||
| Quick triage | **Risk matrix (S × O)** |
|
||||
|
||||
## 🕓 변경 이력 (Changelog)
|
||||
**기본값**: 매 AIAG-VDA 7-step + AP scoring (RPN deprecated).
|
||||
|
||||
| 날짜 | 변경 내용 | 처리 방식 | 신뢰도 |
|
||||
|------|-----------|-----------|--------|
|
||||
| 2026-05-08 | P-Reinforce Phase 1 정규화 (frontmatter + 헤더 표준화) | UPDATE | A |
|
||||
## 🔗 Graph
|
||||
- 부모: [[Reliability-Engineering]] · [[Risk-Management]] · [[Systems-Engineering]]
|
||||
- 변형: [[DFMEA]] · [[PFMEA]] · [[FMECA]] · [[ML-FMEA]]
|
||||
- 응용: [[ISO-26262]] · [[DO-178C]] · [[Six-Sigma]] · [[SRE]]
|
||||
- Adjacent: [[Fault-Tree-Analysis]] · [[STPA]] · [[HAZOP]] · [[Bow-Tie-Analysis]] · [[Chaos-Engineering]]
|
||||
|
||||
## 🤖 LLM 활용
|
||||
**언제**: 매 new system 의 risk register 를 brainstorm; 매 architecture review 의 failure-chain 의 enumeration; 매 ML deployment 의 pre-mortem.
|
||||
**언제 X**: 매 emergent / interactive failure (매 complex software) — 매 STPA 의 더 적합. 매 statistical reliability 는 FTA + Markov.
|
||||
|
||||
## ❌ 안티패턴
|
||||
- **RPN multiplication only**: 매 (10,1,1)=10 vs (2,5,1)=10 의 same — but severity 10 의 catastrophic. **AP matrix 사용.**
|
||||
- **Sev/Occ/Det 의 inconsistent scale**: 매 team-wide rubric 없으면 매 garbage.
|
||||
- **One-shot document**: 매 living document 가 아니면 매 outdated. 매 design change 의 trigger update.
|
||||
- **Skipping detection actions**: 매 only "add training" — 매 weak. 매 sensor / monitor / poka-yoke 의 추가.
|
||||
- **Software FMEA 의 component-only**: 매 interaction failures 의 missed — 매 STPA 의 complement.
|
||||
|
||||
## 🧪 검증 / 중복
|
||||
- Verified (MIL-P-1629; AIAG-VDA FMEA Handbook 2019; SAE J1739; ISO 26262-9).
|
||||
- 신뢰도 A.
|
||||
|
||||
## 🕓 Changelog
|
||||
| 날짜 | 변경 |
|
||||
|---|---|
|
||||
| 2026-05-08 | Phase 1 placeholder |
|
||||
| 2026-05-10 | Manual cleanup — 7-step AIAG-VDA + 5 patterns + ML-FMEA |
|
||||
|
||||
Reference in New Issue
Block a user