Background
NVMe CLI Overview
CLI란, Command Line Interface로써, 사용자가 컴퓨터 키보드 등을 통해 문자열의 형태로 입력하여 사용할 수 있는 방식이다. 요즘은 거의 대부분의 운영체제에서 GUI ( Graphic User Interface)를 지원하면서, 그래픽으로 보며 작업하는 경우가 많지만, CLI는 Command LIne으로 접근하여 제어하는 방식을 말한다.
여러가지 CLI가 있지만 여기서 설명할 NVMe CLI는, NVMe를 제어하는 방법으로 이 CLI를 통해 여러가지 정보를 얻을 수 있다. Linux에 패키지 형태로 존재하고 있어 쉽게 설치하고 쉽게 사용할 수 있는 장점이 있다. 복잡한 Command나 여러가지 Command를 한번에 던지기에는 조금 불편할 수 있지만, 간단하게 NVMe에 원하는 조작을 해보기에는 매우 간단하게 사용할 수 있는 Tool이다.
NVMe Protocol이 개발 초기 단계였을 즈음, Linux에서 nvme-user라는 NVMe 개별 Command를 Test 해 볼 수 있는 Prototype 형태의 툴이 있었는데, 이것이 발전하여 nvme-cli 라는 open source package로 제작되었다. Linux에 설치하는 형태로 흩어져 있던 개별 Command Issue를 하나의 명령어 base에 Option 형태를 통해 사용할 수 있게 만든 것이다.
프로토 타입 형태의 툴과 다르게 NVMe 스펙상의 대부분의 필드와 기능들이 거의 다 구현되어 있어 편하게 사용할 수 있는 장점이 있다.
설치 방법
설치하는 방법은 아래에 linux package 사이트에 친절하게 설명되어있다.
git clone https://github.com/linux-nvme/nvme-cli
# make && make install
If not sure how to use, find the top-level documentation with:
# man nvme
Or find a short summary with:
# nvme help
사용법
사용법과 사용 가능한 명령은 조합에 따라 매우 많고 다양하다. 기본적인 사용법의 경우 아래에 설명해두었지만, 각 명령어의 상세 사용법은 nvme help <command> 를 입력하여 검색하면 되고, NVMe 스펙상의 대부분의 기능을 지원한다. 가장 큰 장점은, 구현되지 않은 기능이라도 passthru 명령어를 사용하면 어떤 Command던지 직접 만들어서 사용이 가능하다는 장점이 있다.(ex, nvme admin-passthru /dev/nvme0 --cdw10=~ 이런식으로 사용할 수 있다.)
CLI Github : NVMe-CLI Github
자세한 사용방법이 궁금하다면 비밀댓글 작성해주시면 답변 드리겠습니다.
'임베디드SW > Embedded SW 상식' 카테고리의 다른 글
SMBus와 I2C 차이점 (0) | 2023.03.20 |
---|---|
NVMe device가 PCIe에서 인식이 안될 때 (0) | 2023.03.09 |
[임베디드] 메모리 스크러빙 (Memory Scrubbing) (0) | 2022.09.01 |
메모리의 종류 ( ROM , RAM ) (0) | 2020.11.17 |
FIO - Flexible I/O Tester (2) | 2020.10.30 |
댓글