SD카드를 Read/Write 할 때에는 컨트롤러에게 먼저 커맨드를 보내고 Ready 신호를 기다리게 됩니다.
그 후 Read/Write를 주르륵 해주는 거죠.
근데 데이터(파일)이 저장된 위치에 따라 응답속도에 편차가 생기게 됩니다.
MMC/SD에서 동영상 재생 기능을 처음 넣었던 때가 2009년 MMC/SD V2를 쓰던 시절이었는데요.
그 때는 동영상 저장용 파티션을 별도로 만들어서, SD카드의 연속된 메모리공간을 활용했습니다.
SD카드의 멀티섹터 Read 커맨드를 쓰면, 연속으로 데이터를 읽을 때 빠르게 처리가 가능하죠.
나중에 2015년 MMC/SD V3부터는 디스크 파티션에 일반 파일을 영상으로 처리할 수 있도록 구현이 되었습니다.
이 방법은 CPU에 굉장히 부담이 됩니다.
많은 클러스터로 쪼개진 파일을 처리해야 되는 것과 SD카드의 연속 읽기를 쓰지 못한다는 것 때문이죠.
사실 V3 설계 때에는 MV 플레이어는 계획에 없었는데요.
DSK 에뮬 때문에 클러스터 처리를 구현해보니, MV 플레이어도 가능성이 보이더라구요 ㅎ.ㅎ
처음 MV 플레이어를 만들었을 때에는 주로 8GB SD를 사용했구요.
2018년 V4에 와서는 16GB SD를 쓰다가 후기에는 32GB SD를 사용했습니다.
여러 종류의 SD카드를 쓰면서 알게된 것이 하나 있는데요.
용량이 늘면, 커맨드 응답도 느려지더라구요.
초기 코드는 샌디스크 8GB SD기준이었는데, 그 때는 커맨드 응답이 꽤 빨랐습니다.
이 코드가 32GB SD에서는 버티지 못해서, 결국 작년에 MV 플레이어 코드를 다 갈아엎었죠.
.
.
.
며칠전 알리에서 할인하는 SD 32GB를 3개 구매합니다.
빨간색+회색의 Sandisk Ultra UHS-I 모델입니다. 두둥~~
사진의 왼쪽 흰색+회색으로 된 SD가 구버전이구요. 오른쪽 빨강+회색은 신버전입니다.
둘 다 UHS-I, Class 10으로 거의 같은 속도입니다.
사실 구버전은 종류가 여러개 있는데요.
최대 속도가 80MB/s, 98MB/s, 100MB/s 였던걸로 기억하는데, V4에 번들된 SD는 80MB/s, 100MB/s 두 종류였습니다.
사진 아랫쪽의 삼성 EVO 32GB는 제가 최근 4년정도 계속 쓰던 거네요.
그럼 본론으로 넘어가서, 어제 택배로 받은 신버전 32GB SD에 기존 SD카드와 똑같이 파일들을 때려넣고 테스트 해봅니다.
드라마 도깨비의 영상으로 테스트해보았어요!
MMC/SD BIOS는 디버깅모드입니다. 동영상 재생 시, SD카드 커맨드의 응답속도가 PAC-V의 LED로 표시됩니다.
왼쪽부터 켜지는 LED바 1개가 PCM 샘플 1개를 의미합니다.
커맨드를 대기하는 동안 LED가 점점 켜지는거죠 ㅎ.ㅎ
결국 LED가 모두 꺼져있면 응답속도가 빠르고, LED가 많이 켜지면 응답이 느린 상태입니다.
아래는 삼성 EVO입니다.
아래는 샌디스크 구버전입니다.
아래는 샌디스크 신버전입니다.
위의 사진에서는 샌디스크 Ultra 신버전이 꽤 느린 것으로 보이는데요.
실제로 MV 재생을 해보면 타이밍을 놓쳐서 화면에 테어링도 생기고, 사운드도 끊어질 정도로 엉망이 됩니다 ㄷㄷ
여러 종류의 MV 파일로 테스트 했을 때의 응답 딜레이는,
삼성 EVO -> 대부분 1개 또는 2개, 느린 경우는 6개까지 발생
샌디스크 구버전 -> 대부분 0개 또는 1개, 느린 경우는 9개 이상 발생
샌디스크 신버전 -> 대부분 2개 ~ 5개, 느린 경우는 9개 이상 발생
삼성 EVO가 가장 안정적이구요. (그래서 계속 쓰고 있었...)
샌디스크 구버전은 파일에 따라 가끔 테어링이 나는 경우가 생깁니다.
샌디스크 신버전은 사실상 재생포기 수준이네요 ㅎ.ㅎ
V4에서 빨강+회색의 샌디스크 SD를 쓰시려는 분은 참고하세요~
저는 이번에 구매한 것들 서랍에 쳐박아놨습니다ㅋㅋ
그럼, 이만...
PS. 나무위키에서 찾아보니 위의 SD에 대한 출시연도가 나오네요. (위키라서 틀린 정보일 수도 있습니다.)
제가 샌디스크의 구버전(흰색+회색), 신버전(빨강+회색)이라고 표현했는데, 모두 같은 해(2020년)에 출시되었군요.
댓글 없음:
댓글 쓰기