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