Ch.5 Embedded Storage
연습문제
연습문제
1. NAND flash는 크게 두 가지 종류로 나뉠수 있다. 무엇인가?
Pure NAND 와 Managed NAND 로 나뉠수 있다.
2
연습문제
2. NOR flash와 NAND flash가 각각 주로 사용되는 용도는?
NOR flash : For Code Storage
NAND flash : For Mass Storage
3
연습문제
3. NAND flash 의 page 와 block, P/E cycle에 대해 간단히 서술하시오
Page
- Data write, read의 단위
- 여러크기 존재
- 2KB, 4KB, 8KB
- NAND flash 스펙에 따라 다름
Block
- Erase의 단위
- 보통 128개의 page 가 하나의 block을 이룸
NAND flash (Program & Erase)
- Write & read binary data into a Flash cell
- Data ‘0’ ‘OFF’ state(program)
- Data ‘1’ ‘ON’ state(erase)
4
연습문제
4. FTL이 하는 역할에 대해 2가지 이상 서술하시오
- Sector mapping
Host 에서 사용하는 logical address 를 SSD 내부에서 사용하
는 physical address 로 변환하는 기능
- Garbage collection
Update write 로 인한 invalid page들을 block 단위로 지우는
과정과 이를 위해 해당 block에 존재하는 valid page 를 copy
하는 과정
- Power-off recovery
갑자기 발생하는 power-off 상황에서 기록되지 않은 L2P
mapping table 을 복구하기 위한 기능
5
연습문제
5. DFTL에 대해 간단히 서술하시오
DFTL: A Flash Translation Layer Employing Demand-based
Selective Caching of Page-level Address Mappings
자주쓰이는 Mapping 정보만 SRAM에 적재하자
SRAM에 적재되지 않은 Maping 정보를 NAND에서 찾기위한
최소한의 정보는 SRAM에 적재해야한다.
정리하면
1. Cache에서 하나의 Entry 가 쫓겨나면 Page 내 Mapping
정보를 찾아 갱신하고 새로운 Page에 저장 한 후 GTD를
갱신함으로서 하나의 작업이 완료된다.
2. Cache에 빈자리가 나면 실제 요청된 LPN의 Mapping 정
보를 찾아 Cache 에 저장하고 실제 데이터를 읽어온다. 6
연습문제
6. FAST에서 해결하고자 한 BAST의 문제점에 대해 간단히 서
술하시오
 Block Associative Sector Translation
 BAST는 잦은 Random Access Write 가 요청되었을 경우 Log Block에 대
한 잦은 Merge Operation (혹은 Garbage Collection)이 수행되어야 하
므로 성능이 하락
 Log Block의 일부분만 쓰여지고 Garbage Collection이 일어나는 등의
Log Block Thrashing 문제 발생
7
연습문제
7. Linux IO subsystem에 대한 구조를 그리시오
8
연습문제
8. ext4의 특징 중 하나에 대해 서술하시오
 Ext4는 기본적으로 Linux에서 사용되는 file system
 Extent mapping
 Extent는 contiguous block의 범위를 나타낼 수 있는 descriptor
 Large file을 표현하기 적합
 Block allocation
 Multiple block allocation
 Block allocatio시 contiguous block을 함꼐 수행
 Delayed allocation
 Block allocation을 writeback time에 수행
 Flex block group
 여러 block group을 하나의 logical block group으로 관리
 Metadata loading을 빠르게 할 수 있음
 Contiguous large file을 할당하기 쉽게 함
9
연습문제
9. Trim command에 대해 설명하시오
 TRIM은 컴퓨팅에서 운영 체제가 어느 블록의 데이터가 더 이상 사용되
지 않고 내부적으로 삭제될 수 있는지를 SSD에 알려주는 명령
 TRIM은 SSD가 전통적인 하드 디스크의 알맞은 대안으로 자리잡힌 직후
에 도입됨
 운영 체제가 삭제와 포맷과 같은 작업을 관리하는 일반적인 방식이 SSD
의 예기치 않은 쓰기 성능 저하로 이어짐
 TRIM은 차후 쓰기 속도를 상당히 떨어트리는 쓰레기 수집 오버헤드를
SSD가 미리 관리
 하드웨어 지원
 ATA, SCSI, SD/MMC
10
연습문제
10. UFS에 관해서 설명하시오
 Universal Flash Storage
 2011년 2월에 표준이 최초로 공개된 새 플래시 메모리규격
 물리적으로는 MIPI의 M-PHY 인터페이스를 채택하여 레인 당 5.8Gbps
속도로 두 개의 레인을 사용하면 최대 11.6Gbps 대역폭을 가짐
 링크 계층은 MIPI의 UniPro를 채택하여 그 위에 UTP 전송 계층을 올리
도록 만들어짐
 SW적으로는 SCSI 명령어 세트를 서브셋으로 차용
 디지털 카메라, 스마트폰, 태블릿 컴퓨터등 임베디드 시스템 위한 플래시
스토리지 규격이며, eMMC를 대체하기 위해 개발
 2015년에 출시된 삼성전자의 갤럭시 S6에서 최초로 탑재되었으며, 이후
대부분의 삼성의 플래그십 스마트폰에 탑재되었고, 뒤를 이어 중국의 많
은 스마트폰과 LG의 스마트폰에도 탑재
11

Chapter5 embedded storage

  • 1.
  • 2.
    연습문제 1. NAND flash는크게 두 가지 종류로 나뉠수 있다. 무엇인가? Pure NAND 와 Managed NAND 로 나뉠수 있다. 2
  • 3.
    연습문제 2. NOR flash와NAND flash가 각각 주로 사용되는 용도는? NOR flash : For Code Storage NAND flash : For Mass Storage 3
  • 4.
    연습문제 3. NAND flash의 page 와 block, P/E cycle에 대해 간단히 서술하시오 Page - Data write, read의 단위 - 여러크기 존재 - 2KB, 4KB, 8KB - NAND flash 스펙에 따라 다름 Block - Erase의 단위 - 보통 128개의 page 가 하나의 block을 이룸 NAND flash (Program & Erase) - Write & read binary data into a Flash cell - Data ‘0’ ‘OFF’ state(program) - Data ‘1’ ‘ON’ state(erase) 4
  • 5.
    연습문제 4. FTL이 하는역할에 대해 2가지 이상 서술하시오 - Sector mapping Host 에서 사용하는 logical address 를 SSD 내부에서 사용하 는 physical address 로 변환하는 기능 - Garbage collection Update write 로 인한 invalid page들을 block 단위로 지우는 과정과 이를 위해 해당 block에 존재하는 valid page 를 copy 하는 과정 - Power-off recovery 갑자기 발생하는 power-off 상황에서 기록되지 않은 L2P mapping table 을 복구하기 위한 기능 5
  • 6.
    연습문제 5. DFTL에 대해간단히 서술하시오 DFTL: A Flash Translation Layer Employing Demand-based Selective Caching of Page-level Address Mappings 자주쓰이는 Mapping 정보만 SRAM에 적재하자 SRAM에 적재되지 않은 Maping 정보를 NAND에서 찾기위한 최소한의 정보는 SRAM에 적재해야한다. 정리하면 1. Cache에서 하나의 Entry 가 쫓겨나면 Page 내 Mapping 정보를 찾아 갱신하고 새로운 Page에 저장 한 후 GTD를 갱신함으로서 하나의 작업이 완료된다. 2. Cache에 빈자리가 나면 실제 요청된 LPN의 Mapping 정 보를 찾아 Cache 에 저장하고 실제 데이터를 읽어온다. 6
  • 7.
    연습문제 6. FAST에서 해결하고자한 BAST의 문제점에 대해 간단히 서 술하시오  Block Associative Sector Translation  BAST는 잦은 Random Access Write 가 요청되었을 경우 Log Block에 대 한 잦은 Merge Operation (혹은 Garbage Collection)이 수행되어야 하 므로 성능이 하락  Log Block의 일부분만 쓰여지고 Garbage Collection이 일어나는 등의 Log Block Thrashing 문제 발생 7
  • 8.
    연습문제 7. Linux IOsubsystem에 대한 구조를 그리시오 8
  • 9.
    연습문제 8. ext4의 특징중 하나에 대해 서술하시오  Ext4는 기본적으로 Linux에서 사용되는 file system  Extent mapping  Extent는 contiguous block의 범위를 나타낼 수 있는 descriptor  Large file을 표현하기 적합  Block allocation  Multiple block allocation  Block allocatio시 contiguous block을 함꼐 수행  Delayed allocation  Block allocation을 writeback time에 수행  Flex block group  여러 block group을 하나의 logical block group으로 관리  Metadata loading을 빠르게 할 수 있음  Contiguous large file을 할당하기 쉽게 함 9
  • 10.
    연습문제 9. Trim command에대해 설명하시오  TRIM은 컴퓨팅에서 운영 체제가 어느 블록의 데이터가 더 이상 사용되 지 않고 내부적으로 삭제될 수 있는지를 SSD에 알려주는 명령  TRIM은 SSD가 전통적인 하드 디스크의 알맞은 대안으로 자리잡힌 직후 에 도입됨  운영 체제가 삭제와 포맷과 같은 작업을 관리하는 일반적인 방식이 SSD 의 예기치 않은 쓰기 성능 저하로 이어짐  TRIM은 차후 쓰기 속도를 상당히 떨어트리는 쓰레기 수집 오버헤드를 SSD가 미리 관리  하드웨어 지원  ATA, SCSI, SD/MMC 10
  • 11.
    연습문제 10. UFS에 관해서설명하시오  Universal Flash Storage  2011년 2월에 표준이 최초로 공개된 새 플래시 메모리규격  물리적으로는 MIPI의 M-PHY 인터페이스를 채택하여 레인 당 5.8Gbps 속도로 두 개의 레인을 사용하면 최대 11.6Gbps 대역폭을 가짐  링크 계층은 MIPI의 UniPro를 채택하여 그 위에 UTP 전송 계층을 올리 도록 만들어짐  SW적으로는 SCSI 명령어 세트를 서브셋으로 차용  디지털 카메라, 스마트폰, 태블릿 컴퓨터등 임베디드 시스템 위한 플래시 스토리지 규격이며, eMMC를 대체하기 위해 개발  2015년에 출시된 삼성전자의 갤럭시 S6에서 최초로 탑재되었으며, 이후 대부분의 삼성의 플래그십 스마트폰에 탑재되었고, 뒤를 이어 중국의 많 은 스마트폰과 LG의 스마트폰에도 탑재 11