USB 대용량 저장 장치 클래스
USB mass storage device classUSB 대용량 저장 장치 클래스(USB MSC 또는 UMS라고도 함)는 호스트 컴퓨팅 장치에서 USB 장치에 액세스할 수 있도록 하고 호스트와 USB 장치 간의 파일 전송을 가능하게 하는 USB 장치 클래스에 의해 정의된 컴퓨팅 통신 프로토콜 세트입니다.호스트의 경우 USB 장치는 외장 하드 드라이브 역할을 하며 프로토콜 집합은 여러 스토리지 장치와 인터페이스합니다.
사용하다
이 표준을 통해 컴퓨터에 연결된 장치에는 다음이 포함됩니다.
- 외장 자기 하드 드라이브
- 외장 옵티컬(광학식) 드라이브(CD, DVD 리더, 라이터 드라이브 포함)
- USB 플래시 드라이브
- 솔리드 스테이트 드라이브
- 표준 플래시 메모리 카드와 USB 연결 사이의 어댑터
- 디지털 카메라
- 휴대용 미디어 플레이어
- 카드 리더
- PDA
- 휴대 전화
이 표준을 지원하는 장치를 MSC(Mass Storage Class) 장치라고 합니다.MSC는 원래 줄임말이지만, UMS(Universal Mass Storage)도 널리 쓰이게 되었다.
운영 체제 지원
대부분의 메인스트림 운영체제에는 USB 대용량 스토리지 디바이스 지원이 포함되어 있습니다.구식 시스템에서는 일반적으로 패치를 통해 지원됩니다.
Microsoft Windows
Microsoft Windows 는 Windows 2000 이후 MSC 를 서포트하고 있습니다.Windows 95 및 Windows NT 4.0 이전 버전에서는 Microsoft에 의해 제공된 USB는 지원되지 않습니다.Windows 95 OSR2.1은 USB를 제한적으로 지원했습니다.이 기간 동안 Microsoft는 범용 USB 대용량 스토리지 드라이버를 생산하지 않았으며 Windows 98용도 포함) 각 유형의 디바이스에 고유한 드라이버가 필요했습니다.USB 스토리지 디바이스Windows 98 및 Windows 98SE에서는 서드파티제의 프리웨어 드라이버를 이용할 수 있게 되어 Windows NT 4.0 에서도 서드파티제의 드라이버를 이용할 수 있게 되었습니다.Windows 2000 에서는 표준 USB 대용량 스토리지 디바이스를 서포트하고 있습니다.Windows Me 와 그 이후의 모든 Windows 버전도 서포트되고 있습니다.
Windows Mobile은 USB 호스트가 있는 장치에서 FAT로 포맷된 대부분의 USB 대용량 저장 장치에 액세스할 수 있습니다.그러나 휴대용 장치는 일반적으로 자가 전원 USB 허브가 없으면 하드 드라이브 디스크 인클로저에 충분한 전력을 공급할 수 없습니다(2.5인치(64mm) 하드 드라이브는 일반적으로 USB 사양의 최대 2.5W 필요).Windows Mobile 장치는 장치 구현자가 해당 기능을 추가하지 않는 한 파일 시스템을 대용량 저장 장치로 표시할 수 없습니다.단, 서드파티 어플리케이션에서는 대부분의 WM 디바이스(상용 Softick Card Export 및 무료 WM5 스토리지)에 MSC 에뮬레이션이 추가됩니다.파일 시스템의 문제로 인해 일반적으로 내보낼 수 있는 것은 메모리 카드(내장 스토리지 메모리가 아님)뿐입니다.아래 디바이스 액세스를 참조하십시오.
Windows의 자동 실행 기능은 모든 이동식 미디어에서 작동하여 USB 저장 장치가 컴퓨터 바이러스의 포털이 될 수 있었습니다.Windows 7 이후 Microsoft는 자동 실행을 CD 및 DVD 드라이브로 제한하여 이전 Windows [1]버전을 업데이트했습니다.
MS-DOS
MS-DOS 및 대부분의 호환 운영 체제에는 USB 지원이 포함되어 있지 않았습니다.USB 대용량 저장 장치를 지원하기 위해 Duse, USBASPI 및 DOSUSB와 같은 서드파티 범용 드라이버를 사용할 수 있습니다.FreeDOS는 USB 대용량 스토리지를 ASPI(Advanced SCSI Programming Interface) 인터페이스로 지원합니다.
Classic Mac OS 및 Mac OS
Apple 컴퓨터의 Mac OS 9 및 MacOS는 USB 대용량 스토리지를 지원하며 Mac OS 8.5.1은 옵션 드라이버를 통해 USB 대용량 스토리지를 지원합니다.
리눅스
Linux 커널은 2.4 시리즈(2001) 이후 USB 대용량 저장 장치를 지원하여 커널 2.2.18로[2] 백포트가 작성되었습니다.Linux 에서는 USB 대용량 저장 장치 클래스 장치용 일반 드라이버 외에도 장치 및 컨트롤러용 퀴어, 버그 수정 및 추가 기능(S.M.A.R.T 또는 온도 모니터링, SP 제어에 유용한 ATA-USB 브리지용 ATA 명령 패스스루와 같은 공급업체 지원 기능)을 포함한 더 많은 기능이 있습니다.하드 디스크 드라이브 설치 및 스핀다운 및 기타 옵션).여기에는 Android가 Linux 커널을 사용하기 때문에 USB-OTG 지원을 통해 Android 기반 장치의 일부도 포함됩니다.
Solaris는 버전 2.8(1998년), NetBSD는 버전 1.5(2000년), FreeB를 지원했습니다.버전 4.0(2000) 및 OpenB 이후의 SDSD는 버전 2.7(2000) 이후부터.Digital UNIX(나중에 Tru64 UNIX로 알려짐)는 버전 4.0E(1998) 이후 USB 및 USB 대용량 저장 장치를 지원했습니다.AIX는 5.3 T9 및 6.1 T3 버전부터 USB 대용량 저장 장치를 지원했지만 제대로 지원되지 않으며 파티션 분할 및 일반 [3]차단과 같은 기능이 없습니다.
게임 콘솔 및 임베디드 기기
Xbox 360 및 PlayStation 3는 사진 및 음악과 같은 미디어의 데이터 전송을 위한 대부분의 대용량 저장 장치를 지원합니다.2010년 4월 현재 Xbox 360(a)은 저장된[4] 게임에 대용량 저장 장치를 사용하고 있으며 PS3는 대용량 저장 장치의 장치 간 전송을 허용하고 있습니다.독립 개발자들은 USB 대용량 저장 [5]장치에 액세스하기 위한 TI-84 Plus 및 TI-84 Plus Silver Edition용 드라이버를 출시했습니다.이러한 계산기에서는 usb8x 드라이버가 msd8x 사용자 인터페이스 애플리케이션을 지원합니다.
디바이스 액세스
USB 대용량 저장 사양은 여러 업계 표준 명령 집합에 대한 인터페이스를 제공하여 장치가 하위 클래스를 공개할 수 있도록 합니다.실제로는 서브클래스를 통한 명령어세트의 지정은 거의 지원되지 않습니다.대부분의 드라이버는 SCSI 트랜스페어런트명령어 세트만을 지원하며 SCSI 명령어 세트의 서브셋을 PDT(SCSI Peripheral Device Type)로 지정합니다.서브클래스 코드는 다음 명령어세트를 지정합니다.
- Reduced Block Commands(RBC; 축소 블록명령어)
- SFF-8020i, MMC-2(ATAPI 스타일의 CD 및 DVD 드라이브에서 사용)
- QIC-157(테이프 드라이브)
- 균일 플로피 인터페이스(UFI)
- SFF-8070i(ARMD 스타일 디바이스에서 사용)
- SCSI 트랜스페어런트명령어 세트(PDT를 취득하려면 "문의" 사용)
이 사양에서는, 적합 디바이스의 특정의 파일 시스템이 필요 없습니다.지정된 명령어 세트와 임의의 서브셋을 기반으로 데이터의 섹터를 읽고 쓸 수 있는 수단을 제공합니다(하드 드라이브에 액세스하는 데 사용되는 로우 레벨 인터페이스와 유사).운영 체제는 USB 대용량 저장 장치를 하드 드라이브와 같이 취급할 수 있습니다. 사용자는 USB 대용량 저장 장치를 MBR 및 GPT 등 모든 형식으로 분할하여 파일 시스템으로 포맷할 수 있습니다.
비교적 단순하기 때문에 USB 플래시 드라이브, 카메라, 디지털 오디오 플레이어 등의 임베디드 장치에서 가장 일반적인 파일 시스템은 마이크로소프트의 FAT 또는 FAT32 파일 시스템입니다(긴 파일 이름을 옵션으로 지원).대용량 USB 기반 하드 디스크는 NTFS로 포맷될 수 있습니다. NTFS는 Windows를 제외하고 지원되지 않습니다.단, 키 드라이브 또는 기타 디바이스는 다른 파일시스템(Apple Macintosh의 경우 HFS Plus, Linux의 경우 Ext2, Solaris 또는 BSD의 경우 Unix 파일시스템)으로 포맷할 수 있습니다.이 선택에 의해, 다른 operating system을 사용하는 기기에 의한 디바이스의 컨텐츠에의 액세스가 제한(또는 금지)될 가능성이 있습니다.OS 의존형 스토리지 옵션에는 LVM, 파티션 테이블, 소프트웨어 암호화 등이 있습니다.
외부 호스트로부터 독립된 파일 시스템에 액세스 할 필요가 있는 카메라, MP3 플레이어, 및 유사한 디바이스에서는, FAT32 파일 시스템이 제조원에 의해서 선호되고 있습니다.이러한 모든 디바이스는 파일 시스템 손상이나 기타 손상을 방지하기 위해 호스트 운영 체제에서 사용할 수 있도록 하기 전에 파일 시스템(해체)을 중지합니다(단, 이론적으로는 두 디바이스 모두 읽기 전용 모드 또는 클러스터 파일 시스템을 사용할 수 있습니다).일부 디바이스에는 읽기 전용 모드로 사용할 수 있는 쓰기 방지 스위치(또는 옵션)가 있습니다.이것에 의해, 바이러스 감염의 위험 없이 파일을 공유할 수 있게 됩니다.
사전 포맷된 디바이스의 벤더에서는 주로 두 가지 파티션 방식이 사용됩니다.파일 시스템(일반적으로 FAT32)을 파티션 없이 디바이스에 직접 배치하여 부트 섹터, 헤더 또는 파티션을 추가하지 않고 섹터 0부터 시작할 수 있습니다.다른 하나는 DOS 파티션테이블(및 MBR 코드)을 사용하여 하나의 파티션이 디바이스 전체에 걸쳐 있습니다.이 파티션은 종종 성능과 내구성을 위해 솔리드 스테이트 드라이브에서 공통적으로 사용되는 2개의 섹터(1MB 또는 2MB 등)의 높은 전력에 맞춰져 있습니다.USB 대용량 저장 장치와 유사한 내장 저장 장치가 있는 일부 장치(USB 포트가 있는 MP3 플레이어 등)는 다른 파일 시스템으로 다시 포맷하면 파일 시스템이 손상되거나 없어지는 것을 보고합니다.그러나 대부분의 기본 파티션 디바이스는 추가 파티션을 사용하여 (첫 번째 파티션과 파일 시스템을 줄임으로써) 파티션을 다시 분할할 수 있습니다.이러한 디바이스는 자신의 작업에 첫 번째 파티션을 사용합니다.호스트 시스템에 접속하면 모든 파티션을 사용할 수 있습니다.
단일 USB 포트로 연결된 장치는 여러 개의 USB 장치로 작동할 수 있으며, 그 중 하나는 USB 대용량 저장 장치입니다.이것에 의해, 주로 Microsoft Windows 및 Mac OS X operating system의 드라이버와 메뉴얼의 배포와 액세스가 심플화됩니다.이러한 드라이버는 일반적으로 표준 USB 클래스에 맞지 않거나 추가 기능이 있기 때문에 장치를 최대한 활용하기 위해 필요합니다.임베디드 USB 대용량 스토리지 디바이스를 사용하면 CD-ROM 디스크, 플로피 디스크, 인터넷 액세스 없이 벤더 웹사이트에 추가 드라이버를 설치할 수 있습니다.이는 최신 시스템의 대부분이 옵티컬(광학식) 드라이브나 플로피 드라이브 없이 제공되기 때문에 중요합니다.디바이스가 네트워크액세스(무선, GSM, 또는 이더넷카드)를 제공하기 때문에, 인터넷에 액세스 할 수 없는 경우가 있습니다.임베디드 USB 대용량 스토리지는 일반적으로 벤더에 의해 영구적으로 읽기 전용으로 만들어지기 때문에 우발적인 파손이나 다른 용도로 사용하는 것을 방지합니다(단, 펌웨어 업그레이드를 수행할 때 자체 프로토콜로 업데이트될 수 있습니다).이 배포 방법의 장점은 저비용, 심플한 설치, 드라이버의 휴대성 확보입니다.
설계.
태그 부착 명령어 큐잉 및 네이티브 명령어 큐잉(성능을 향상시킬 수 있음), ATA Secure Erase(드라이브의 모든 데이터를 안전하게 지울 수 있음), S.M.A.R.T(드라이브 신뢰성에 대한 액세스 표시기)와 같은 일부 고급 하드 디스크 드라이브 명령어는 SCSI, ATAPI와 같은 하위 레벨 드라이브 명령어 세트의 확장자로 존재합니다.드라이브를 USB 대용량 스토리지 인터페이스를 지원하는 디스크 인클로저에 배치하면 이러한 기능이 작동하지 않을 수 있습니다.일부 USB 대용량 스토리지 인터페이스는 기본 읽기-쓰기 명령을 제공하는 범용 인터페이스입니다. 하드 드라이브를 포함하는 장치를 통한 기본 데이터 전송에는 잘 작동하지만 이러한 USB 대용량 스토리지 장치에 고급 장치별 명령을 보내는 간단한 방법은 없습니다(단, 장치가 표준 미국을 통해 자체 통신 프로토콜을 생성할 수 있습니다).B 컨트롤 인터페이스).USB 3.0에 도입된 UAS(USB 연결 SCSI) 프로토콜은 명령 대기열, 필요한 하드웨어용 명령 파이프 및 전원 관리 등 이러한 문제를 해결합니다.
특정 USB 2.0 칩셋에는 SCSI 패스스루를 실현하는 독자적인 방법이 있어 smartctl과 같은 도구를 사용하여 드라이브에서 S.M.A.R.T. 데이터를 읽을 수 있습니다.-d 옵션 뒤에 "칩셋"[6]이 표시됩니다.최신 USB 스토리지 칩셋은 ATA([7]및 SATA) 장치와 상호 작용하기 위한 일반 프로토콜로 SCSI/ATA Translation(SAT)을 지원합니다.USB 브릿지를 통해 드라이브를 연결할 때 특히 hdparm [8]유틸리티를 사용하여 드라이브가 고장날 수 있습니다(예: secure-Erase 또는 pass-through 명령을 사용하면 드라이브 오류가 발생할 수 있습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ "Changes in Windows to Meet Changes in Threat Landscape". TechNet Blogs. 2009-04-28. Retrieved 2012-11-07.
- ^ "Driver for USB Mass Storage compliant devices". Archived from the original on 2005-09-23.
- ^ "eserver: HOWTO: JFS2 on USB device on AIX 5.3.11.1". Eserver.livejournal.com. 2010-01-21. Archived from the original on 2012-03-31. Retrieved 2012-11-07.
- ^ "Xbox Live's Major Nelson » USB Memory Support for the Xbox 360 coming April 6th". Majornelson.com. 2010-03-26. Retrieved 2012-11-07.
- ^ "83Plus:Software:usb8x/Asm Interface/MSD". WikiTI. 2009-02-18. Retrieved 2012-11-07.
- ^ "#25 (SCSI pass through for SMART via USB on MacOSX smartmontools? 3rd party code available!) – smartmontools". Sourceforge.net. Retrieved 2014-01-21.
- ^ "USB smartmontools". Sourceforge.net. Archived from the original on 2012-02-07. Retrieved 2014-01-21.
- ^ "ATA Secure Erase - ata Wiki". Ata.wiki.kernel.org. 2013-07-22. Retrieved 2014-01-21.
추가 정보
USB Implementers Forum 웹사이트: