본문 바로가기
코딩취미/프로그램 지식

flash 메모리의 페이지(page)와 블록(block) + 플래시 메모리 종류 및 특징

by 브링블링 2024. 2. 28.
728x90

flash 메모리의 페이지(page)와 블록(block) 

Flash 메모리에서의 "페이지(Page)"와 "블록(Block)"은 데이터 저장 구조의 기본 단위입니다. 이들의 개념을 이해하는 것은 Flash 메모리의 작동 방식과 효율적인 데이터 관리를 이해하는 데 중요합니다. 페이지는 데이터를 읽고 쓰는 기본 단위이며, 블록은 데이터를 지울 때 사용되는 더 큰 단위입니다.

 

1. 페이지(Page)

정의

  • 페이지는 Flash 메모리에서 데이터를 읽고 쓰는 최소 단위입니다. 데이터는 페이지 단위로 쓰여지며, 한 번에 하나의 페이지 정보를 읽을 수 있습니다.

예시

  • 페이지 크기: 4KB (페이지당 4,096 바이트)
  • 페이지 주소: 0x0001에서 시작하여 0xFFFF까지 할당 가능
  • 예를 들어, 4KB의 데이터를 저장하기 위해서는 하나의 페이지가 필요하며, 이 데이터는 예를 들어 0x0001 주소의 페이지에 저장됩니다.

2. 블록(Block)

정의

  • 블록은 여러 페이지를 포함하는 더 큰 데이터 저장 단위입니다. Flash 메모리에서는 데이터를 지우는 작업이 블록 단위로 이루어집니다. 즉, 개별 페이지를 지울 수는 없고, 블록에 포함된 모든 페이지를 한 번에 지웁니다.

예시

  • 블록 크기: 256KB (한 블록 당 64개의 페이지, 각 페이지 4KB)
  • 블록 주소: 0x01에서 시작하여 0xFF까지 할당 가능
  • 예를 들어, 한 블록에 256KB의 데이터를 저장할 수 있으며, 이는 64개의 페이지에 걸쳐 저장됩니다. 0x01 블록 주소에 데이터를 저장한다면, 이는 0x0001에서 0x0040(64개 페이지)에 해당하는 주소 범위에 데이터를 저장하는 것과 같습니다.

3. 페이지와 블록 사용 예

  • 데이터 저장 예: 8KB의 데이터를 저장해야 한다면, 이는 두 페이지(각각 4KB)가 필요합니다. 이 데이터는 예를 들어 0x0001과 0x0002 주소의 페이지에 나누어 저장됩니다.
  • 데이터 삭제 예: 저장된 데이터를 삭제하려면, 해당 데이터가 속한 블록 전체를 지워야 합니다. 예를 들어, 0x0001과 0x0002 주소의 페이지에 데이터가 저장되어 있다면, 이 페이지들을 포함하는 블록(예: 0x01 블록)을 지워야 합니다.
구분 단위 크기 작업 단위 주소 예시 사용 예시
페이지 4KB 데이터 읽기/쓰기 페이지 단위 0x0001 ~ 0xFFFF 4KB 데이터 저장 → 0x0001 페이지에 저장
블록 256KB (64 페이지) 데이터 삭제 블록 단위 0x01 ~ 0xFF 8KB 데이터 저장 → 0x01 블록의 0x0001, 0x0002 페이지에 저장

 

728x90

플래시 메모리 종류 및 특징

플래시 메모리는 비휘발성 저장 매체로, 전원이 꺼져도 데이터를 유지할 수 있습니다. 주로 컴퓨터, 스마트폰, 디지털 카메라 등 다양한 전자 기기에 사용됩니다. 플래시 메모리의 주요 종류로는 NOR 플래시와 NAND 플래시가 있으며, 각각의 특징과 용도가 다릅니다.

 

NOR 플래시

특징

  • 빠른 읽기 속도: NOR 플래시는 빠른 랜덤 액세스 시간을 제공하여, 코드 실행을 위한 읽기에 적합합니다.
  • 작은 데이터 쓰기에 용이: 소량의 데이터 쓰기와 삭제에 효율적입니다.
  • 높은 비용: NAND 플래시에 비해 비용이 더 높습니다.
  • 낮은 저장 밀도: 같은 면적에 NAND 플래시보다 적은 데이터를 저장할 수 있습니다.
  • 구조: NOR 플래시는 각 메모리 셀이 개별적으로 게이트에 연결되는 구조를 가집니다. 이는 CPU가 메모리에 직접 액세스할 수 있게 해주어, 실행 인플레이스(XIP)가 가능하게 합니다.
  • 셀 구성: 각 셀에는 하나의 트랜지스터가 포함되며, 이는 플로팅 게이트를 사용하여 데이터를 저장합니다. 플로팅 게이트에 전하가 존재하면 '0', 존재하지 않으면 '1'로 인식됩니다.
  • 회로 설명: NOR 플래시의 회로는 각 셀이 병렬로 연결되어 있으며, 이로 인해 높은 읽기 속도와 랜덤 액세스 능력을 제공합니다. 하지만, 이 구조는 높은 비용과 낮은 저장 밀도를 가져옵니다.

용도

  • 펌웨어 저장, 임베디드 시스템, 부트로더 등 프로그램 코드의 실행을 위해 주로 사용됩니다.

 

NAND 플래시

특징

  • 높은 쓰기 및 삭제 속도: 대량의 데이터 쓰기와 삭제에 최적화되어 있습니다.
  • 높은 저장 밀도: 같은 면적에 더 많은 데이터를 저장할 수 있어, 고용량 저장에 적합합니다.
  • 낮은 비용: NOR 플래시에 비해 제조 비용이 낮습니다.
  • 느린 랜덤 읽기 속도: NOR 플래시에 비해 랜덤 읽기 속도가 느립니다.
  • 구조: NAND 플래시는 여러 메모리 셀이 직렬로 연결되는 구조를 가지며, 이는 페이지 단위로 데이터를 읽고 쓸 수 있게 합니다. 이 구조 덕분에 높은 저장 밀도와 낮은 비용을 제공하지만, NOR 플래시에 비해 읽기 속도가 느립니다.
  • 셀 구성: NAND 플래시 역시 플로팅 게이트를 사용한 트랜지스터로 구성되지만, 셀이 직렬로 연결되어 있어 한 번에 많은 양의 데이터를 처리할 수 있습니다. 이는 블록 단위의 쓰기 및 삭제 작업을 효율적으로 만듭니다.
  • 회로 설명: NAND 플래시의 회로는 직렬 연결된 셀 구조로 인해 블록 단위로 데이터를 관리합니다. 이 때문에 대량의 데이터 쓰기와 삭제가 빠르게 진행되며, 고용량 데이터 저장소로 적합합니다.

용도

  • 대용량 데이터 저장이 필요한 USB 드라이브, SSD(Solid State Drive), 스마트폰 등에 주로 사용됩니다.
728x90