RISS 학술연구정보서비스

검색
다국어 입력

http://chineseinput.net/에서 pinyin(병음)방식으로 중국어를 변환할 수 있습니다.

변환된 중국어를 복사하여 사용하시면 됩니다.

예시)
  • 中文 을 입력하시려면 zhongwen을 입력하시고 space를누르시면됩니다.
  • 北京 을 입력하시려면 beijing을 입력하시고 space를 누르시면 됩니다.
닫기
    인기검색어 순위 펼치기

    RISS 인기검색어

      NVMe Drive를 위한 유연하고 높은 커버리지를 제공하는 테스트 프레임워크

      한글로보기

      https://www.riss.kr/link?id=T14477871

      • 저자
      • 발행사항

        용인 : 단국대학교 대학원, 2017

      • 학위논문사항
      • 발행연도

        2017

      • 작성언어

        한국어

      • DDC

        004 판사항(23)

      • 발행국(도시)

        경기도

      • 기타서명

        Flexible and Full Coverage Test Framework for NVMe Drive

      • 형태사항

        ix, 45 장 : 삽화 ; 30 cm.

      • 일반주기명

        단국대학교 학위논문은 저작권에 의해 보호받습니다
        지도교수:최종무
        참고문헌 : 41-43 장

      • 소장기관
        • 단국대학교 퇴계기념도서관(중앙도서관) 소장기관정보
      • 0

        상세조회
      • 0

        다운로드
      서지정보 열기
      • 내보내기
      • 내책장담기
      • 공유하기
      • 오류접수

      부가정보

      국문 초록 (Abstract)

      현재 플래시 메모리 기반의 저장장치인 SSD는 대부분 SATA 인터페이스를 사용하고 있다. 하지만 SATA 인터페이스의 물리적인 대역폭 한계로 인해 입출력에 따른 성능저하 현상을 보이고 있다. ...

      현재 플래시 메모리 기반의 저장장치인 SSD는 대부분 SATA 인터페이스를 사용하고 있다. 하지만 SATA 인터페이스의 물리적인 대역폭 한계로 인해 입출력에 따른 성능저하 현상을 보이고 있다. 이를 극복하기 위해 PCIe Express 버스와 NVMe (Non-Volatile Memory Express) 인터페이스를 사용하는 NVMe가 등장하였다. NVMe는 SATA 인터페이스 기반의 SSD보다 물리적인 대역폭이 향상되었고 namespace, reservation, end-to-end data protection, data set management 등의 다양한 기능을 제공하기 때문에 SATA 인터페이스 기반의 SSD를 대체할 것으로 예상된다.

      오랜 시간동안 사용되었던 SATA 인터페이스와 달리 최근에 개발된 NVMe 인터페이스는 기능과 신뢰성에 대한 검증이 필요하다. 이를 위해 tnvme라는 NVMe 기능 검증 테스트 프레임워크가 기존에 사용되어왔다. 하지만 tnvme의 경우 굉장히 구 버전의 커널에서 동작한다는 단점이 존재한다. 또한 tnvme는 C++ 언어로 구현되어 있기 때문에 테스트 시나리오를 추가하고 싶은 경우 C++ 언어에 대한 이해와 tnvme 전체 프레임워크를 이해해야한다. 이는 tnvme가 확장성, 적용 가능성이 부족한 테스트 프레임워크임을 의미한다. 또한 tnvme는 테스트의 상세한 검증 결과를 보여주지 않기 때문에 NVMe 기능검증 분석에 적합하지 않다.

      본 논문에서는 확장성, 적용 가능성, 상세한 분석이 가능한 새로운 NVMe 테스트 프레임워크를 제안한다. 제안하는 프레임워크는 NVMe 기능별로 다양한 테스트 시나리오로 구성되어있다. 테스트 시나리오는 다수의 NVMe 인터페이스 명령어들로 구성되며 이를 위해 NVMe 인터페이스를 호스트 계층에서 사용할 수 있도록 기능별로 명령어를 제공하는 NVMe-cli (NVMe Management Command Line Interface)를 사용한다. 본 프레임워크는 확장성, 적용 가능성을 고려하여 NVMe의 단일 명령어들을 쉘 스크립트로 개발하여 프레임워크에 포함시켜 놓았기 때문에 새로운 테스트 시나리오의 개발은 단순히 단일 명령어들 조합을 통해 이루어진다. 또한 각각의 단일 명령어 스크립트들은 단일 명령어에 대한 기능 검증을 포함하고 있으며, 테스트 시나리오 또한 테스트 시나리오에 대한 기능 검증을 포함하고 있고 이를 화면에 출력함과 동시에 로그 파일로 기록하여 상세한 분석이 가능하도록 하였다.

      본 논문에서 제안한 테스트 프레임워크로 NVMe의 기능을 검증해본 결과 namespace와 관련된 다수의 기능 결함을 발견하였으며, 테스트 시나리오로 인하여 NVMe를 인식하지 못하거나 I/O가 불가능해지는 경우를 발견하였다. 또한 반복적인 SPO (Sudden Power Off)로 인해 NVMe를 공장초기화 시켜야만 하는 장치 불구 (Dead Device) 현상이 발생함을 발견하였다. 결국 제안한 테스트 프레임워크를 통해 실제 NVMe SSD에서 다양한 에러를 탐지할 수 있었으며, 제공한 상세한 분석내용을 에러의 원인을 정확히 파악할 수 있는 장점도 제공함을 검증하였다.

      더보기

      다국어 초록 (Multilingual Abstract)

      Existing SSDs(Solid State Drives), a NAND flash memory based storage device, make use of the traditional SATA interface. However, the SATA interface has several limitations such as narrow bandwidth and restricted capabilities, which lead to the perf...

      Existing SSDs(Solid State Drives), a NAND flash memory based storage device, make use of the traditional SATA interface. However, the SATA interface has several limitations such as narrow bandwidth and restricted capabilities, which lead to the performance degradation. To overcome these limitations, the PCIe bus based NVMe (Non-Volatile Memory Express) interface has been introduced. The NVMe interface supports not only wider bandwidth but also various capabilities including namespace, reservation, end-to-end data protection, and data set management. Therefore, the NVMe interface is expected to replace with the SATA interface in the near future.

      Unlike the SATA interface that has been used for a long time, the newly developed NVMe interface requires to verify its functionality and reliability. For this purpose, the verification test framework of NVMe, called tnvme, has been proposed. However, the tnvme framework has drawbacks. First, it is based on the old version of the Linux kernel. Second, it is not easy to add a new test scenario in tnvme since it is quite complex framework written in C++. Third, it does not display the detailed verification results of the given test. Hence, it is not suitable to find out the fundamental reason when an error occurs.

      This paper proposes a new NVMe test framework that supports three features, namely scalability, adaptability and circumstantiality. The framework supports a variety of test scenarios to verify diverse NVMe capabilities. In addition, it provides a set of micro-tests, where each micro-test corresponds to a NVMe command using NVMe-cli (NVMe Management Command Interface). Since a test scenario is made up of micro-tests, a user can easily generate a new test scenario by combining micro-tests, supporting scalability. Besides, a test scenario is written by the shell script language to improve adaptability. Finally, the framework verifies each micro-test individually in a fine-grained manner, supporting detailed information about test results.

      This paper applies the proposed framework into a real NVMe SSD which is currently developed by a company. In this experiment, the framework can detect several errors including namespace related faults, un-identification and disabled I/Os. Also, employing SPO(Sudden Power Off) in our framework drives the SSD into the dead device, requiring factory reset. This experiment reveals that the proposed framework can identify various errors in NVMe SSD, while giving enough information to locate the reason of the errors.

      더보기

      목차 (Table of Contents)

      • Ⅰ. 서론 1
      • Ⅱ. 선행연구 2
      • 1. SSD 2
      • 2. SATA, NVMe SSD 3
      • Ⅰ. 서론 1
      • Ⅱ. 선행연구 2
      • 1. SSD 2
      • 2. SATA, NVMe SSD 3
      • 3. NVMe 기능 6
      • 1) Namespace 7
      • 2) Namespace Sharing Multi Path, Dual Port 8
      • 3) Reservation 9
      • 4) End-to-End Protection 11
      • 5) Firmware 12
      • Ⅲ. 연구동기 13
      • Ⅳ. 확장성을 고려한 기능 검증 프레임워크의 구조 16
      • Ⅴ. 구현 20
      • 1. 테스트 환경 사전 검증을 위한 스크립트 20
      • 2. 장치 결함 검증을 위한 스크립트 21
      • 3. Namespace 테스트 시나리오 22
      • 4. Namespace의 I/O 테스트 시나리오 26
      • 5. Reservation 테스트 시나리오 28
      • 6. End-to-End Protection 테스트 시나리오 31
      • 7. Firmware 테스트 시나리오 33
      • 8. SMART 로그 테스트 시나리오 34
      • Ⅵ. 평가 36
      • Ⅶ. 결론 41
      • 참고문헌 42
      • 영문요약 44
      더보기

      분석정보

      View

      상세정보조회

      0

      Usage

      원문다운로드

      0

      대출신청

      0

      복사신청

      0

      EDDS신청

      0

      동일 주제 내 활용도 TOP

      더보기

      주제

      연도별 연구동향

      연도별 활용동향

      연관논문

      연구자 네트워크맵

      공동연구자 (7)

      유사연구자 (20) 활용도상위20명

      이 자료와 함께 이용한 RISS 자료

      나만을 위한 추천자료

      해외이동버튼