임베디드 시스템(35)
-
플래시 메모리 - 3. 플래시 메모리의 종류 (3.2 구조에 따른 분류)
3.2 구조에 따른 분류플래시 메모리는 내부 셀(Cell) 구조에 따라 NAND 플래시와 NOR 플래시로 나뉜다.이들은 데이터 저장 방식, 성능, 용도에서 큰 차이를 가지며, 각각의 특성에 맞는 분야에서 사용된다.3.2.1 NAND 플래시 (SSD, USB, SD 카드 등에서 사용)① 개요셀(Cell)들이 직렬(Serial)로 연결된 구조를 가짐.대용량 데이터 저장에 적합하며, SSD, USB 메모리, SD 카드 등에서 가장 많이 사용됨.읽기/쓰기 성능이 뛰어나며, 대량 데이터 처리 및 순차적 저장에 유리.하지만 랜덤 접근 속도는 NOR 플래시보다 느림.② NAND 플래시 구조블록(Block) 단위 저장 및 삭제 방식을 사용함.하나의 블록에는 수십~수백 개의 페이지(Page)가 포함됨.쓰기(Program..
2025.02.23 -
C언어 초급 - 1장: C 언어 소개 및 개발 환경 설정 (1.1 C 언어란 무엇인가?)
1.1 C 언어란 무엇인가?1. 프로그래밍 언어란?프로그래밍 언어는 컴퓨터가 이해할 수 있는 명령어를 작성하여 원하는 작업을 수행하도록 하는 언어입니다.컴퓨터는 0과 1로 이루어진 기계어(Machine Language)만 이해할 수 있기 때문에, 사람이 이해하기 쉬운 문법을 사용하여 프로그래밍한 후 이를 컴파일(Compile)하거나 인터프리트(Interpret)하여 기계어로 변환하는 과정이 필요합니다.프로그래밍 언어는 크게 다음과 같이 구분할 수 있습니다.(1) 저수준 언어(Low-Level Language)하드웨어와 밀접한 관계를 가지며, 컴퓨터의 동작을 직접적으로 제어할 수 있는 언어기계어 및 어셈블리어가 대표적인 예시실행 속도가 빠르지만 배우기가 어렵고 유지보수가 어렵다는 단점이 있음(2) 고수준 ..
2025.02.23 -
F2FS
F2FS (Flash-Friendly File System) 정리1. 개요F2FS(Flash-Friendly File System)는 최신 NAND 플래시 저장 장치를 위한 고성능 파일 시스템으로, 삼성전자가 개발하여 2012년 리눅스 커널 3.8에 포함되었습니다.📌 개발 배경 및 출처:개발자: 삼성전자목적: NAND 플래시의 특성을 고려하여, 쓰기 성능 최적화, Wear Leveling, 빠른 부팅 속도를 지원하는 파일 시스템을 개발.기존 파일 시스템(예: ext4, UBIFS)이 SSD, eMMC, UFS와 같은 최신 플래시 저장 장치에 적합하지 않음을 해결.F2FS는 로그 구조(Log-Structured) 파일 시스템으로 설계되었으며, 최신 SSD, eMMC, UFS 등에서 최적의 성능을 제공함...
2025.02.21 -
UBIFS
UBIFS (Unsorted Block Image File System) 정리1. 개요UBIFS(Unsorted Block Image File System)는 NAND 플래시 전용 저널링 파일 시스템으로, JFFS2의 한계를 극복하기 위해 2008년 리눅스 커널 2.6.27에서 처음 릴리스되었습니다.📌 개발 배경 및 출처:개발자: 노키아(Nokia)와 헝가리 세게드 대학교(Szeged University)의 협력으로 개발됨.목적: 대용량 NAND 플래시를 지원하고, 기존 JFFS2의 부팅 속도 문제를 해결하며,플래시 저장 장치에서 효율적인 가비지 컬렉션 및 데이터 무결성을 보장.UBIFS는 대용량 NAND 플래시 지원, 저널링 기능, 동적 Wear Leveling, 압축 지원 등을 제공하며, 대형 임베..
2025.02.21 -
YAFFS2
YAFFS2 (Yet Another Flash File System 2) 정리1. 개요YAFFS2(Yet Another Flash File System 2)는 NAND 플래시 전용 파일 시스템으로,JFFS2의 한계를 극복하기 위해 설계되었습니다.YAFFS2는 쓰기 속도, 부팅 속도, 데이터 무결성, Wear Leveling(균등한 블록 사용) 등을 고려하여 NAND 플래시에 최적화되어 있습니다.특히 전원이 갑자기 꺼져도 빠르게 복구할 수 있으며, 대용량 데이터를 안정적으로 처리하는 데 유리합니다.YAFFS는 2002년 **Charles Manning(또마소프트, Aleph One)**에 의해 개발되었으며,YAFFS1이 NOR 플래시 기반이었다면, YAFFS2는 NAND 플래시 기반으로 설계되었습니다.2...
2025.02.21 -
JFFS2
JFFS2 (Journaling Flash File System 2) 정리1. 개요JFFS2(Journaling Flash File System 2)는 NOR 플래시 및 일부 NAND 플래시를 지원하는 플래시 전용 저널링 파일 시스템입니다.Linux MTD (Memory Technology Device) 서브시스템을 기반으로 동작하며, 전력 손실이나 시스템 충돌 시 데이터 무결성을 유지하는 기능을 제공합니다.JFFS2는 2001년 Red Hat에서 처음 발표되었으며, 기존 JFFS1의 성능과 안정성을 개선한 버전입니다.플래시 메모리의 특성을 고려하여 Wear Leveling(균등한 블록 사용), 압축 저장, 크래시 복구 기능을 제공합니다.📢 최신 동향:JFFS2는 NOR 플래시가 주요 저장 매체인 임베..
2025.02.21