플래시메모리 제어기

Download Report

Transcript 플래시메모리 제어기

삼성 전략산학 연구 내용 발표
2015년 2월 4일
대표 학생
김기준
과제 책임자
민상렬 교수
School of EE,
Seoul National University
1/12
4.5년간 전략산학 연구 성과 결산
연구 성과 요약 (’10.07~’14. 12)
1. 참여 기간 : 2010. 07. 01 ~ 현재
2. 전략산학 장학생 현황 : 3. 대표 연구 주제 :
- FTL Modeling
- Model-based FTL Optimization
- NAND Flash Memory Fault Modeling
- Parallelized BMS (Bad Block Management System)
- Flash Memory Host I/F
2/12
대표논문 Review

논문 제목:
An Abstract Fault Model for NAND Flash Memory

논문 내용:
플래시메모리 기반 저장 시스템에서 발생할 수 있는 다
양한 오류를 체계적으로 분류하고 이러한 오류와 플래
시메모리 연산이 조합되어 발생하는 다양한 상태를 분
석하여 페이지 수준의 동작 모델을 제안
Erased
(not Programmable)-NPP
Erase/PF,
Erase/IF
Erase/PF, Erase/IF
Erase/PF, Erase/IF
Erase/PF,
Erase/IF
Erase/OK
Progammed
(Corrupted)-NPP
Erase/PF,
Erase/IF
Erase/PF,
Erase/IF
Erase/OK
Erase/OK
Erased
(Programmable)
Program/PF,
Program/IF
Program/OK, Program/PF, Program/IF
Erase/OK
Erase/PF,
Erase/IF
Program/PF,
Program/IF
Erase/PF,
Erase/IF
Erase/OK
Erase/OK
Erased
(not Programmable)-PP
Erase/PF,
Erase/IF
Programmed
(Data OK)
Erase/PF,
Erase/IF
Erase/PF, Erase/IF
Erase/PF, Erase/IF
Erase/PF,
Erase/IF
Programmed
(Corrupted)-PP
Erase/PF,
Erase/IF
3/12
대표논문 Review

선정 이유 :


플래시메모리 저장 장치에서 점점 더 중요해지는 신뢰성 확보의
궁극적인 goal인 provably-correctness를 가능하게 하는 이론적인
틀
저널 정보 :

저널명 : IEEE EMBEDDED SYSTEMS LETTERS

저널 랭킹 : 1166 / 5418 (상위 21.5%)

SJR 2012년도 Computer Science 부분
4
1차년도: 성능 예측을 위한 FTL 모델링
[ Workload Generator Model]
▪ Generate requests one at a time
- Synthetic workloads
- Real traces
[ FTL and Buffer Memory Model ]
▪ Model diverse mapping granularities
▪ Translate host requests into flash memory requests
▪ Model buffer memory for write buffering and FTL metadata caching
▪ Model wear-leveling and garbage collection
[ Flash Memory Array Model]
▪ Model the behavior of flash memory buses and chips
[ Host Interface Model ]
▪ Model the command handling and trasfer times
between the host and the SD/MMC card
[ Flash Memory Controller Model]
▪ Provide diverse execution models of flash memory controller
- Sequential execution model
- Decoupled execution model
- Out-of-order execution model
5/12
2차년도: 모델 기반 FTL 최적화 기법 연구
직렬화 FTL 모델
병렬화 FTL 모델
사상 정보
관리 모듈
호스트 요청 처리()
호스트
읽기/쓰기
요청
사상 정보 갱신()
사상 정보
갱신 요청
블록 상태 정보
관리 모듈
블록 상태 정보
갱신 요청
블록 상태
정보
블록 상태 정보 갱신()
쓰레기 수집()
호스트 요청 처리
호스트
읽기/쓰기
요청
쓰레기 수집
호스트 요청
처리 모듈
유효 페이지
복사 요청
호스트 요청 처리
응답지연시간
응답지연시간
6/12
쓰레기 수집
모듈
쓰레기 수집
3차년도: NAND Fault 모델링
Classification of Faults in NAND Flash Memory

Transient
Internal
(Synchronous)
Bit-flipping errors
Erase error (Stuck-0 failure)
Permanent
Fault
Program error (Stuck-1 failure)
External
(Asynchronous)
Power failure
Classification diagram for page status

Page state
Erased
(not Programmable)-NPP
Erase/PF, Erase/IF
Erase/PF, Erase/IF
Data all 0xFF ?
Yes
Erased
Yes
Erased
(not Programmable)
Prior program
operation ?
Yes
Erased
(not Programmable)-PP
No
Erased
(not Programmable)-NPP
Programmed
(Corrupted)
Prior program
operation ?
Yes
Programmed
(Corrupted)-PP
Erase/PF,
Erase/IF
Erase/OK
Erased
(Programmable)
No
Programmed
(Data OK)
Erase/OK
Erase/PF,
Erase/IF
Erase/OK
Errors
correctable ?
No
Erased
(Programmable)
Erase/PF,
Erase/IF
Programmed
Program
operation allowed ?
Yes
Erase/PF,
Erase/IF
No
Progammed
(Corrupted)-NPP
Program/PF,
Program/IF
Program/OK, Program/PF, Program/IF
Erase/OK
Erase/PF,
Erase/IF
Program/PF,
Program/IF
Erase/PF,
Erase/IF
Erase/OK
No
Erase/OK
Erased
(not Programmable)-PP
Programmed
(Corrupted)-NPP
Erase/PF,
Erase/IF
7/12
Programmed
(Data OK)
Erase/PF,
Erase/IF
Erase/PF, Erase/IF
Erase/PF, Erase/IF
Erase/PF,
Erase/IF
Programmed
(Corrupted)-PP
Erase/PF,
Erase/IF
3차년도: 신뢰성 평가도구
사용자 인터페이스
플래시메모리 파라미터
폴트 생성 파라미터
워크로드 생성 파라미터
초기상태 생성 파라미터
…
초기상태
생성기
워크로드
생성기
다양한 FTL
초기상태 생성
호스트 워크로드 trace 재생 및
다양한 합성 워크로드 제공
W1 W2 W3
S1 S2 S3
NFTL
평가 대상 FTL
BAST
CRS + BMS
다양한 Flash 동작 묘사
폴트 생성
동작 결과 보고
플래시메모리
시뮬레이터
F1 F2 F3
폴트
생성기
Erased
(not Programmable)-NPP
Erase/PF,
Erase/IF
Erase/PF, Erase/IF
Erase/PF, Erase/IF
Erase/PF,
Erase/IF
Erase/OK
Progammed
(Corrupted)-NPP
Erase/PF,
Erase/IF
Erase/PF,
Erase/IF
Erase/OK
Erase/OK
Erased
(Programmable)
명시된 fault model을
기반으로 FTL의
신뢰성 평가
Program/PF,
Program/IF
Erase/OK
Erase/PF,
Erase/IF
Erase/OK
Erased
(not Programmable)-PP
Programmed
(Data OK)
Erase/PF,
Erase/IF
Program/PF,
Program/IF
Erase/OK
Erase/PF,
Erase/IF
8/12
Program/OK, Program/PF, Program/IF
Erase/PF,
Erase/IF
Erase/PF, Erase/IF
Erase/PF, Erase/IF
Erase/PF,
Erase/IF
Programmed
(Corrupted)-PP
Erase/PF,
Erase/IF
4차년도: 배드 블록 관리 계층 최적화 기법
< FTL과 통합된 구조 >
< FTL과 분리된 구조 >
FTL
FTL
주소 재사상
쓰레기 수집
쓰기 오류
쓰기/지우기 오류
배드 블록
관리
주소 재사상
쓰레기 수집
전원 오류 복구
마모도 평준화
분리
전원 오류 복구
마모도 평준화
쓰기/지우기 오류
쓰기/지우기 오류
의사 물리 블록/페이지
배드 블록 관리 계층
쓰기/지우기 오류
물리 블록/페이지
물리 블록/페이지
플래시메모리 제어기
NAND
NAND
NAND
NAND
NAND
NAND
NAND
NAND
플래시메모리 제어기
NAND
NAND
NAND
NAND
NAND
NAND
NAND
NAND
2/12
NAND
NAND
NAND
NAND
NAND
NAND
NAND
NAND
4차년도: 배드 블록 관리 계층 최적화 기법
9/12
5차년도: 호스트 인터페이스 구조 연구
플래시 메모리 기반 저장 장치를 위한
호스트 인터페이스 확장 기법 제안
• 영속화 순서 제어
• 그룹 단위 원자성 보장
• …
10/12
향후 계획
5차년도 하반기 (’15.1~’15.6) 주요 연구 계획
 호스트 인터페이스 확장 기법 설계
 호환성을 유지하고 영속화를 효율적으로 저장 장치에 전달할 수 있는
새로운 인터페이스 확장 기법을 제안
 영속화를 원자적으로 수행할 수 있으며, 특정 데이터 간의 영속화가
원하는 순서대로 이루어질 수 있도록 하는 방법을 제공
 저장장치 내부 구조 및 호스트 시스템 수정 방식 제안
 저장 장치 내부 및 호스트에서 동작하는 관리 소프트웨어 차원에서 수정
혹은 확장되어야 할 사항 들에 대해 정리
12/12