레이블이 Storage인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Storage인 게시물을 표시합니다. 모든 게시물 표시

2021년 6월 18일 금요일

NTFS (NT File System or New Technology File System)

NT 파일 시스템 및 신기술 파일 시스템 (New Technology File System)을 나타내는 NTFS Windows NT 운영 체제 (OS)가 하드디스크 드라이브 (HDD) 및 솔리드 스테이트 드라이브 (SSD)에 파일을 저장하고 검색하는데 사용하는 파일 시스템입니다. Windows 95 FAT (File Allocation Table) OS/2 High Performance File System (HPFS)에 비해 성능, 확장성 및 보안 측면에서 몇가지 향상된 기능을 제공합니다.

 

컴퓨터의 OS는 파일을 저장하는 드라이브 및 장치에 파일 시스템을 만들고 유지합니다. 파일 시스템은 기본적으로 데이터를 파일로 구성합니다. 데이터 파일의 이름, 저장, 검색 및 업데이트 방법과 파일 소유권 및 사용자 권한에 대한 데이터와 같이 파일과 관련될 수 있는 기타 정보를 제어합니다.

 

NTFS는 파일 시스템의 하나의 유형입니다. 파일 시스템은 일반적으로 OS와 함께 사용되는 드라이브 유형에 따라 다릅니다. 오늘날에는 파일이 여러 서버에 저장되지만 로컬에 저장된 것처럼 액세스 및 처리되는 분산 파일 시스템 (DFS)도 있습니다. DFS를 사용하면 여러 사용자가 네트워크에서 데이터와 파일을 쉽게 공유할 수 있습니다.

 

Microsoft Windows 및 일부 이동식 저장 장치는 NTFS를 사용하여 파일을 구성, 이름 지정 및 저장합니다. NTFSWindows에서 사용되는 SSD, HDD, USB 및 마이크로 SD 카드의 포맷 옵션인데, 특히 빠른 속도는 SSD에 유용합니다.

 

장치의 저장 용량, 사용된 OS 및 드라이브 유형에 따라 FAT32 또는 확장 FAT (exFAT)와 같은 다른 파일 시스템이 바람직할 수 있습니다. 각 파일 시스템에는 장점과 단점이 있습니다. 예를 들어, 보안 및 권한은 exFAT FAT32보다 NTFS가 더 유용합니다. 반면에 FAT32 exFAT Mac Linux와 같은 OS에서 더 잘 작동합니다.

 

Windows XP의 모든 Microsoft OS NTFS 버전 3.1을 기본 파일 시스템으로 사용합니다. NTFS는 대용량 파일과 파티션 크기를 지원하는 드라이브에 필요한 용량을 가능하게 하므로 외장 드라이브에서도 사용됩니다. Microsoft에 따르면 NTFS Windows Server 2019 Windows 10에서 최대 8 페타 바이트의 볼륨과 파일을 지원할 수 있습니다. NTFS가 지원할 수 있는 개별 파일 크기에 대한 이론적인 제한은 16 exbibytes (260)에서 1KB를 뺀 것입니다.

 

OS를 설치할때나 SSD 또는 HDD를 포맷할때 사용자는 사용할 파일 시스템을 선택합니다. 각 유형의 드라이브를 포맷하는 과정은 약간 다르지만 둘 다 NTFS와 호환됩니다.

 

HDD를 포맷하거나 초기화하면 파티션으로 나뉩니다. 파티션은 하드 드라이브의 물리적 공간의 주요 부분입니다. 각 파티션내에서 OS는 저장하는 모든 파일을 추적합니다. 각 파일은 미리 정의된 균일한 크기의 하나 이상의 클러스터 또는 디스크 공간의 HDD에 저장됩니다.

 

NTFS를 사용하면 클러스터 크기는 512 바이트에서 64KB까지 다양합니다. Windows NT는 각 드라이브 크기에 권장되는 기본 클러스터 크기를 제공합니다. 예를 들어 4GB 드라이브의 기본 클러스터 크기는 4KB입니다. 클러스터는 분할할 수 없으므로 가장 작은 파일도 하나의 클러스터를 차지하고 4.1KB 파일은 4KB 클러스터 시스템에서 2개의 클러스터 또는 8KB를 차지합니다.

 

클러스터 크기는 디스크 공간 사용을 최대화하고 파일을 가져오는데 필요한 디스크 액세스 횟수를 최소화하는 것들과의 균형을 조정하여 결정됩니다. NTFS를 사용하면 일반적으로 드라이브가 클수록 기본 클러스터 크기가 커집니다. 시스템 사용자가 공간을 덜 효율적으로 사용하는 대신 디스크 액세스 횟수는 줄이고 성능은 향상시키는 것을 선호하기 때문입니다.

 

NTFS를 사용하여 파일을 생성하면 MFT (Master File Table)에 파일에 대한 기록이 생성됩니다. 레코드는 파일의 흩어져 있을 수 있는 클러스터를 찾는데 사용됩니다. NTFS는 파일의 모든 클러스터를 저장할 저장 공간을 찾지만 항상 하나의 공간을 모두 함께 찾을 수 있는 것은 아닙니다.

 

데이터 콘텐츠와 함께 각 파일에는 해당 속성을 나타내는 메타 데이터가 포함됩니다.

 

NTFS 특징

 

FAT와 비교할때 NTFS의 한가지 특징은 파일 사용 권한과 암호화를 허용한다는 것입니다. NTFS의 주목할만한 기능은 다음과 같습니다.

 

NTFS b-트리 디렉터리 (b-tree Directory) 구성표를 사용하여 파일 클러스터를 추적합니다. 이는 파일을 효율적으로 정렬하고 구성할 수 있기 때문에 중요합니다.

FAT와 마찬가지로 전체 관리 테이블뿐만 아니라 파일의 클러스터 및 기타 데이터에 대한 데이터를 MFT에 저장합니다.

NTFS는 매우 큰 대용량 파일을 지원합니다.

서버 관리자가 특정 파일에 액세스할 수 있는 사용자를 제어할 수 있는 액세스 제어 목록이 있습니다.

통합 파일 압축은 파일 크기를 줄이고 더 많은 저장 공간을 제공합니다.

유니 코드를 기반으로 하는 파일 이름을 지원하기 때문에 NTFS는 보다 자연스러운 파일 이름 지정 규칙을 사용하며 더 넓은 문자 배열로 더 긴 파일 이름을 허용합니다. 유니 코드가 아닌 명명 규칙은 때때로 변환이 필요합니다.

NTFS는 이동식 및 비이동식 디스크의 데이터에 대한 보안을 제공합니다.

비어있는 정보 (0의 긴 문자열)를 더 작은 저장 공간을 차지하는 메타 데이터로 대체하도록 지원합니다.

NTFS는 마운트된 볼륨을 사용하므로 디스크 볼륨은 파일 시스템의 일반 폴더로 액세스할 수 있습니다.

 

NTFS의 장단점

 

NTFS 사용에는 몇 가지 장점과 단점이 있으며 아래에 포함되어 있습니다.

 

NTFS의 주요 기능중 하나는 디스크 할당량을 사용하는 것이므로 더 많은 저장소 공간을 제어할 수 있으며, 관리자는 디스크 할당량을 사용하여 지정된 사용자가 액세스할 수 있는 저장 공간의 양을 제한할 수 있습니다. NTFS는 파일 압축을 사용하여 파일 크기를 줄이고 파일 전송 속도를 높이며 더 많은 저장 공간을 제공합니다. 또한 매우 큰 파일을 지원합니다. NTFS의 액세스 제어 기능을 통해 관리자는 민감한 데이터에 대한 권한을 부여하여 특정 사용자에 대한 액세스를 제한할 수 있습니다. 암호화도 지원합니다. MFT는 드라이브의 파일을 기록하고 감사하므로 관리자는 어떤 방식으로든 삭제, 추가 또는 변경된 파일을 추적할 수 있습니다. , 파일 시스템 저널에 트랜잭션을 기록합니다. NTFS는 파일 시스템의 일관성을 유지하기 때문에 시스템 오류나 오류가 발생한 경우 데이터와 파일을 빠르게 복원할 수 있습니다. 첫번째 MFT가 손상될 경우 시스템이 참조할 수 있는 MFT 미러 파일이 있습니다.

 

하지만, NTFS의 주요 단점은 제한된 OS 호환성입니다. Windows가 아닌 OS에서는 읽기 전용입니다. Android 스마트폰, DVD 플레이어 및 디지털 카메라를 포함한 많은 이동식 장치가 NTFS를 지원하지 않습니다. 미디어 플레이어, 스마트 TV 및 프린터와 같은 일부 다른 장치도 지원하지 않습니다. Mac OS X 장치는 NTFS 드라이브와 제한적으로 호환됩니다. 읽을 수는 있지만 쓸 수는 없습니다.

 

NTFS, FAT32 exFAT의 차이점

 

Microsoft NTFS 이전에 FAT32를 개발하여 사용했습니다. 일반적으로 NTFS보다 효율성이 떨어지는 것으로 간주됩니다. Windows에서 4GB 파일 크기와 32GB 볼륨까지 지원됩니다.

 

FAT32 NTFS보다 포맷하기 쉽고 더 간단합니다. FATNTFS MFT보다 파일을 구성하는 덜 복잡한 방법입니다. 사용하기가 더 간단하기 때문에 FAT32는 다른 OS와 더 잘 호환되며 스마트 TV, 디지털 카메라 및 기타 디지털 장치와 같이 NTFS가 일반적으로 사용되지 않는 곳에서 사용됩니다. FAT32는 모든 버전의 Mac, Linux Windows에서 작동합니다. 앞에서 언급했듯이 NTFS Mac Linux에서 읽기 전용입니다.

 

exFAT FAT32의 발전으로 설계되었으며 3가지 파일 시스템중 최신 버전입니다. 가볍고 유연한 파일 할당 시스템인 FAT32의 긍정적인 특성을 유지하면서 일부 한계를 극복합니다. 예를 들어 FAT32는 최대 4GB의 파일만 저장할 수 있는 반면 exFAT 16 exbibytes의 파일 크기를 처리할 수 ​​있습니다.

 

exFAT Mac Linux 시스템에서 작동하기 위해 추가 소프트웨어가 필요하지만 NTFS보다 더 잘 호환됩니다. 사용자가 FAT32보다 더 큰 파일 크기가 필요하지만 NTFS보다 호환성이 더 높은 경우에 이상적입니다.

 

NTFS의 저널링 파일 시스템을 사용하면 저널을 사용하여 데이터 손상을 복구할 수 있지만 FAT는 할 수 없습니다. NTFS MFT FAT의 파일 할당 테이블보다 보관중인 파일에 대한 더 많은 정보를 보유하므로 파일 인덱싱 및 클러스터 구성이 향상됩니다.

 

2021년 6월 2일 수요일

ZNS SSD (Zoned Namespaces SSD)와 NVMe (Non-Volatile Memory Express)의 개요

ZNS SSD (Zoned Namespaces SSD)

 

Zoned Namespace (ZNS) SSD NVM Express™ (NVMe™) 조직에서 정의한 Zoned Namespace Command Set에 따라 동작하는 SSD입니다. 이 사양은 SSD와 호스트가 데이터 배열을 구역화된 스토리지 장치 인터페이스를 제공하는데, 데이터를 SSD의 물리적 미디어에 정렬하여 전체 성능을 개선하고, 호스트에 제공될 수 있는 용량을 늘릴 수 있습니다 (+20%).

 

ZNS Command Set 1.0은 업계 요구를 충족하기 위해 2020 6 16일에 발표되었습니다. ZNS Command Set 1.0 사양은 플래시 스토리지의 데이터 배열 기능을 개선하고 표준화된 인터페이스를 통해 제공되도록 처리합니다.

 

ZNS Command Set 1.0 사양은 현재 NVMe™ 1.4a 사양에 대한 승인된 기술 제안 (TP 4053)으로 제공됩니다.

 

NVMe (Non-Volatile Memory Express)

 

NVMe (NVM Express)는 호스트 소프트웨어가 PCI Express (PCIe) 버스를 통해 비휘발성 메모리와 통신하는 방법을 정의하는 사양입니다. 모든 폼팩터에서 PCIe SSD에 대한 업계 표준입니다 (U.2, M.2, AIC, EDSFF). NVM Express NVMe기술을 정의, 관리 및 프로모션하는 기술 업계 리더의 비영리 컨소시엄입니다. 이 조직은 NVMe 기본 사양외에도 다른 규격도 관장하는데, 네트워킹 구조상에서 NVMe Command 사용을 위한 NVMe over Fabrics (NVMe-oF)과 서버 및 스토리지 시스템에서 NVMe/PCIe SSD를 관리하기 위한 합니다 NVMe Management Interface (NVMe-MI)도 관장합니다.

 

NVMe 사양은 처음부터 SSD용으로 설계되었습니다. 이는 직렬 ATA (SATA)와 같은 레거시 인터페이스보다 훨씬 더 효율적인 인터페이스이며 지연 시간이 짧으며 SSD에 대해 더 확장성이 높습니다. 사양의 첫번째 부분은 호스트 제어 인터페이스입니다. NVMe 아키텍처는 새로운 고성능 큐 메커니즘 (명령들이 처리되기 위해 임시 저장되는)을 제공합니다. 명령 큐들은 확장성 있는 성능을 제공하면서 CPU 코어에 매핑됩니다.

 

NVMe 인터페이스는 메모리 매핑 입력/출력 명령의 수를 크게 줄이고 인터럽트 또는 폴링 모드에서 실행되는 운영체제 장치 드라이버를 수용하여 성능을 높이고 대기 시간을 줄입니다. NVMe 사양에는 운영 체제에서 읽기, 쓰기, 플러시, TRIM, 펌웨어 관리, 온도, 오류 등을 위해 사용하는 SSD 명령에 대한 호스트-장치 프로토콜도 포함되어 있습니다.

 

NVMe SSD

 

NVMe (Non-Volatile Memory Express) ZNS SSD는 기존 NVMe SSD에 비해 몇가지 이점을 제공할 수 있습니다.

 

-      처리량 및 지연 시간을 개선

-      미디어 프로비저닝 과부하 감소

-      DRAM 사용률 감소

-      드라이브 쓰기 횟수 향상

 

NVMe ZNS SSD SMR 하드 디스크와 유사하게 각 구역에는 순차적으로 저장하고 명시적으로 리셋하면서, NVMe Namespace에서는 구역으로 읽으면서 이러한 이점을 얻습니다.

 

영역 추상화의 도입으로 ZNS 장치 구현은 물리적 매체에 대한 논리적 블록 매핑을 최적화할 수 있습니다. 플래시 기반 장치의 경우 특정 영역내에서 순차적 데이터 쓰기를 위한 미디어 요구 사항은 ZNS 프로토콜 순차적 쓰기 영역 개념과 일치합니다. 장치 컨트롤러는 더이상 임의의 쓰기를 관리할 필요가 없으므로 위에서 언급한 이점의 일부 또는 전부를 제공할 수 있는 보다 효율적으로 구동시킬 수 있습니다.

 

, 아래 그림과 같이 이전에는 모든 영역을 모든 어플리케이션들에 임의로 읽기/쓰기한 반면, 이제는 어플리케이션별로 영역을 지정하여 읽기/쓰기함으로서 SSD 블록 관리가 용이합니다.


 

2021년 5월 12일 수요일

NVMe이란 (Non-Volatile Memory express)

 

NVMe (Non-Volatile Memory express)는 컴퓨터의 고속 PCIe (Peripheral Component Interconnect Express) 버스를 통해 엔터프라이즈 및 클라이언트 시스템과 SSD (Solid-State Drive) 사이의 데이터 전송 속도를 가속화하기 위해 생성된 호스트 컨트롤러 인터페이스 및 스토리지 프로토콜입니다.

 

Solid-State 기술이 스토리지 시장에서 가장 선호하는 기술이 되면서 기존 인터페이스 및 프로토콜, SATA (Serial Advanced Technology Attachment) SAS (Serial-Attached SCSI)가 데이터 센터와 같은 환경에서는 적합하지 않게 되었습니다. NAND 플래시용으로 특별히 설계된 새로운 프로토콜에 대한 작업은 인텔이 주도권을 잡고 2007년에 시작되었으며, 2011년초에 초기 NVMe 사양이 발표되었고, 거의 100개의 회사가 개발에 참여했습니다.

 

NVMe 규격은 광범위한 NVM 서브시스템에서 고성능 및 상호 운용성을 목표로 PCIe 기반 SSD에 대한 레지스터 인터페이스, 커맨드 세트 및 기능 등을 정의합니다. NVMe 사양은 Solid-State 스토리지, 메인 메모리, 캐시 메모리 또는 백업 메모리와 같은 것들을 규정하지는 않습니다.

 

NVMe SCSI (Small Computer System Interface) 표준 및 ATA 표준에 대한 대안을 제공하여 호스트 시스템과 주변 저장 장치를 연결하고 데이터를 전송합니다. SATA SSD와 함께 사용되는 ATA 커맨드 세트와 SAS SSD SCSI 커맨드 세트는 하드 디스크 드라이브 (HDD)와 마그네틱 테이프가 주요 스토리지 미디어이었을때 개발되었는데,  NVMe는 그보다 더 빠른 미디어와 함께 사용하도록 설계되었습니다.

 

SAS 기반 및 SATA 기반 SSD에 비해 NVMe 기반 PCIe SSD의 주요 이점은 호스트 소프트웨어 스택의 지연 시간 감소, IOPS (Input/Output Operations per Second) 증가, 낮은 전력 소비입니다.

 

NVMe 프로토콜은 NAND 플래시와 Intel Micron Technology에 의해 개발된 3D XPoint 기술을 포함하여 다양한 유형의 비휘발성 메모리를 사용하는 SSD를 지원할 수 있습니다. NVMe 드라이버는 Windows Linux를 포함한 다양한 운영 체제 (OS)에서 사용할 수 있습니다.

 

NVMe는 기존 애플리케이션을 더 빠르고 효율적으로 실행할 수 있도록 지원을 하지만, 사물인터넷 (IoT), 인공지능 (AI) 및 머신러닝 (ML)과 같은 새롭고 진화하는 기술 및 애플리케이션에서는 더욱 중요해지고 있습니다.

 

NVMe 동작 방식

 

NVMe는 입력/출력 명령과 응답을 PCIe 인터페이스를 통해 호스트 컴퓨터의 공유 메모리에 매핑합니다. NVMe 인터페이스는 멀티코어 프로세서와 함께 병렬 I/O를 지원하여 높은 처리량을 촉진하고 중앙처리장치 (CPU) 병목현상을 완화합니다.

 

NVMe는 입력/출력 요청을 처리하기 위해 SCSI ATA 커맨드 세트보다 보다 간소화된 커맨드 세트를 제공합니다. SAS 장치에서 사용되는 SCSI 커맨드 세트와 SATA 드라이브에서 사용되는 ATA 커맨드 세트에 비해 NVMe는 절반 미만의 CPU 명령만을 필요로 합니다.

 

NVMe SSD SATA/SAS SSD

 

SATA는 컴퓨터가 HDD 저장 시스템과 상호 작용하기 위해 개발된 통신 프로토콜입니다. 2000년에 주요 기술 업체 그룹에 의해 도입된 SATA는 병렬 ATA를 대체하고 노트북에서 서버에 이르는 컴퓨터를 위한 일반적인 저장 시스템 프로토콜이 되었습니다. 수년에 걸쳐 규격이 수정되었으며 현재 최대 600MBps의 유효 처리량으로 6Gbps로 실행됩니다.

 

기계식 회전 플래터와 액추에이터 제어 기반의 Read/Write 헤드가 있는 하드 디스크용으로 개발되었지만 초기 SSD는 기존 SATA 에코 시스템을 활용하기 위해 SATA 인터페이스와 함께 판매되었습니다. 편리한 디자인이었고 SSD 채택을 가속화하는 데 도움이 되었지만 NAND 플래시 저장 장치에 이상적인 인터페이스는 아니었습니다.

 

플래시용으로 설계된 NVMe의 속도와 낮은 대기 시간은 SATA를 압도하며, M.2와 같은 작은 폼 팩터에서 훨씬 높은 스토리지 용량을 가능하게 합니다. 일반적으로 NVMe 성능 지표는 SATA의 성능 지표보다 5배 이상 높습니다.

 

NVMe 기반 PCIe SSD는 현재 동일한 용량의 SAS SATA 기반 SSD보다 더 비쌉니다. 그러나 그 차이는 좁아지고 있습니다.