본 자료는
1. 외부저장장치(USB 메모리, SD Card)지원 사항
1-1. USB 메모리 지원 사항
1-2. SD Card 메모리 지원 사항
2. 테스트 방법
3. 테스트 결과
순서로 설명합니다.
본 자료는 프로그램 상에서 특정 저장소의 파일을 다른 저장소로 복사하는데 걸리는 시간을 측정한 자료입니다. 아래 결과를 참조하여 프로그램 상에서 성능 최적화를 할 수 있습니다.
1. 외부저장장치(USB 메모리, SD Card) 지원 및 주의사항
IEC-Series는 외부저장장치로 SD Card와 USB 메모리를 지원합니다. 다음 내용에서 저장 장치 별 IEC-Series에서 지원되는 File System과 최대 지원 용량을 확인하시기 바랍니다.
File System은 저장소에 Read/Write를 할수록 단편화가 생겨 저장 장치의 성능 저하가 발생할 수 있습니다. 따라서 주기적으로 저장 장치를 포맷하시기 바랍니다. File System 단편화에 대한 자세한 내용은 "TechNote 79. 단편화 발생에 따른 외부저장장치(USB 메모리, SD Card) 운영 방식" 을 참고하시기 바랍니다.
1-1. USB 메모리 지원 사항
IEC667 | IEC1000 | |
---|---|---|
File System | FAT32 exFAT(권장) |
FAT32 exFAT(권장) |
최대 지원 용량 | 64G | 64G |
IEC667 | IEC1000 | |
---|---|---|
File System |
FAT32 exFAT(권장) |
FAT32 exFAT(권장) |
최대 지원 용량 | 64G | 64G |
1-2. SD Card 메모리 지원 사항
IEC667 | IEC1000 | |||
---|---|---|---|---|
File System | FAT FAT32(권장) |
exFAT(권장) | FAT FAT32(권장) |
exFAT(권장) |
최대 지원 용량 | 32G | 64G | 32G | 64G |
지원 SD Type | SD / SDHC / SDXC | SD / SDHC / SDXC |
IEC667 | IEC1000 | |||
---|---|---|---|---|
File System |
FAT FAT32 (권장) |
exFAT (권장) |
FAT FAT32 (권장) |
exFAT (권장) |
최대 지원 용량 |
32G | 64G | 32G | 64G |
지원 SD Type |
SD / SDHC / SDXC |
SD / SDHC / SDXC |
2. 테스트 방법
테스트 설명 | IEC-Series 별로 Flash Disk, SD Card, USB 메모리로 각각 1MB 파일을 복사하고, 복사되는 시간을 측정합니다. | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]()
|
|||||||||||||
// 파일 복사 시간을 측정하고 경과 시간을 리턴합니다. // string strSourcePath : 복사할 파일 경로 // string strCopyPath : 붙여 넣을 경로 public double CopyTimeCheck(string strSourcePath, string strCopyPath) { // 복사 시간 측정을 시작합니다. SmartX.SmartTimer.StartWatch(); // strSourcePath 경로의 파일을 strCopyPath 경로로 복사합니다. System.IO.File.Copy(strSourcePath, strCopyPath, true); // 복사가 완료되어 시간 측정을 종료합니다. SmartX.SmartTimer.StopWatch(); // 파일 복사 시간을 리턴합니다. (단위 : 초) return SmartX.SmartTimer.StopWatchElapsedSecond; } |
테스트 설명 |
IEC-Series 별로 Flash Disk, SD Card, USB 메모리로 각각 1MB 파일을 복사하고, 복사되는 시간을 측정합니다. | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
구조 |
![]()
|
||||||||||||
코드 |
// 파일 복사 시간을 측정하고 경과 시간을 리턴합니다. // string strSourcePath : 복사할 파일 경로 // string strCopyPath : 붙여넣을 경로 public double CopyTimeCheck(string strSourcePath, string strCopyPath) { // 복사 시간 측정을 시작합니다. smartTimer1.SmartTimer.StartWatch(); // strSourcePath 경로의 파일을 strCopyPath 경로로 복사합니다. System.IO.File.Copy(strSourcePath, strCopyPath, true); // 복사가 완료되어 시간 측정을 종료합니다. smartTimer1.SmartTimer.StopWatch(); // 파일 복사 시간을 리턴합니다. (단위 : 초) return smartTimer1.SmartTimer.StopWatchElapsedMicrosecond; } |
본 테스트는 외부 저장장치(USB 메모리, SD Card)를 exFAT 파일 시스템으로 포맷한 뒤, O/S Standard 기준에서 진행하였습니다. 테스트 방법은 복사 버튼으로 파일을 복사한 후 삭제 버튼으로 해당 파일을 삭제하는 과정을 반복하는 방식으로, 파일을 덮어쓰지 않도록 하여 소요 시간의 편차를 최소화하였습니다. 이 과정을 총 5회 수행한 뒤 평균값을 결과로 기재하였습니다. 또한, 파일 내부 데이터의 구성 및 외부 저장장치(USB 메모리, SD Card)의 종류에 따라 소요 시간이 다소 달라질 수 있으므로 참고하시기 바랍니다. 아래 표에서 IEC-Series 버전별 테스트 결과를 확인하실 수 있습니다. 자세한 내용은 아래 예제 코드를 참고하시기 바랍니다.
Test (단위 : 초(Sec)) |
IEC667 | IEC1000 |
---|---|---|
[CASE-1] Flash Disk → SD Card |
0.48 (최소 : 0.45 / 최대 : 0.52) |
0.53 (최소 : 0.51 / 최대 : 0.58) |
[CASE-2] Flash Disk → USB 메모리 |
1.74 (최소 : 1.69 / 최대 : 1.87 ) |
1.66 (최소 : 1.18 / 최대 : 1.87 ) |
[CASE-3] SD Card → Flash Disk |
0.51 (최소 : 0.49 / 최대 : 0.55 ) |
0.57 (최소 : 0.55 / 최대 : 0.60 ) |
[CASE-4 ] SD Card → USB 메모리 |
1.66 (최소 : 1.49 / 최대 : 1.83 ) |
1.58 (최소 : 1.46 / 최대 : 1.73 ) |
[CASE-5] USB 메모리 → Flash Disk |
1.75 (최소 : 1.73 / 최대 : 1.79 ) |
1.69 (최소 : 1.66 / 최대 : 1.73 ) |
[CASE-6] USB 메모리 → SD Card |
1.63 (최소 : 1.60 / 최대 : 1.69 ) |
1.48 (최소 : 1.46 / 최대 : 1.55 ) |