[펌] 갤럭시 S I/O 속도저하의 근본적 이유

[url=http://blog.naver.com/PostView.nhn?blogId=musiki&logNo=40115984955:2j80a9oo]musiki님 네이버 블로그: 갤럭시 S I/O 속도저하의 근본적 이유[/url:2j80a9oo]

…말 그대로의 글입니다. 내용을 좀 요약하자면 사용된 메모리의 차이와 거기 쓰이는 파일 시스템이 근본적인 이유라는 건데 상당히 유용합니다. 비단 갤스 유저 뿐만이 아니라 안드로이드 유저시면 한번 읽어 봐야 할 글 같습니다. 다른 글들은 머리에 잘 안들어 왔는데 이분 글은 꽤나 이해하기가 쉽게 되어 있네요.

네, 맛클(http://matpclub.com/s/)과 같은 스마트폰 커뮤니티에 잘 알려진 사실입니다.

또한 이점을 이용해 해당 포스트에도 언급되어 있다시피 RFS를 EXT2, EXT4, NILFS와 같은 포맷으로 변경하여 속도의 이득을 보는 방법이 다양하게 나와 있습니다.

또한 외장 SD 카드 패치까지 하여 더욱 속도에 이득을 보는 방법이 알려져 있죠.

가장 유명한 것이 해외에서 먼저 시작된 VOODOO라는 프로젝트를 국내의 한 유저가 갤럭시S에 맞게 수정하고 또한 NILFS까지 추가하여 배포하는 것이 바로 부두 IO 패치입니다. 이 패치의 특징은 루팅이 필요 없다는 것입니다.

낙엽이라는 블로거가 만들어 배포하는 커스텀 펌웨어는 루팅과 동시에 선택적으로 외장 SD 패치를 하여 속도 향상을 꾀하며, 슈퍼유라는 분이 배포하시는 루팅 및 IO 패치 방식도 있습니다.

최근에는 방법들의 완성도가 높아져서 꽤 편하게 패치를 할 수가 있습니다…만 유저들에게 이런 삽질을 시키다니 샘숭 너 이녀석 대단. -_-;

어떻게 보면 리눅서들에게는 갖고 놀 여지가 많다는 점이 장점 아닌 장점이 될 수도 있습니다만…

저는 순정파라… ㅋㅋㅋ.

요새 재성 님께서 계속 꼬셔서 제 순정을 뺏길 것 같아요.;;; :o

저쪽으로 잘 모르지만 플래쉬 메모리의 수명과 채택된 파일 시스템이 관련이 있어서 ext 나 ext2 이런 파일 시스템을 쓰면 수명이 차이가 나나요?

어짜피 플래쉬 메모리 컨트롤러에서 알아서 조절해주는 것이지 운영체제의 파일시스템 레벨에서는 플래쉬 메모리 수명까지 조절할 이유가 없어 보이는데 말입니다.

저 역시 잘은 모릅니다만, 모비낸드 플래쉬의 쓰기 횟수 제한(?)과 관련이 어느 정도 있는 것으로 알고 있습니다…

ext2, 4 등은 HDD용으로 나온 것으로 아무래도 플래쉬 메모리의 IO 전략(?)과 다소 상이하겠지요. EXT2, 4는 쓰기 횟수 이런 것 신경 쓰지 않고 IO를 수행할테니까요. 이렇게 모비낸드 플래쉬에 특화(?)된 파일 시스템이 아닌 경우 수명을 저하시키는 원인이 될 수도 있겠죠.

삼성이 RFS를 나름 개발/선택할 수 밖에 없었던 이유가 거기에 있는 것으로 알고 있습니다.

문제는 원낸드 플래쉬의 경우 특성상 RFS와 궁합이 잘 맞아서 괜찮은 퍼포먼스를 뽑아주는 반면에 모비낸드를 그렇지 않다는 것입니다.

그럼 삼성이 갤럭시S에 원낸드를 쓰면 되지 왜 모비낸드를 썼느냐하는 것은 모비낸드 쪽이 원낸드보다 용량을 늘리는데 있어서 cost-effective 하기 때문입니다.

일례로 갤럭시U나 K의 경우 원낸드를 써서 내장 메모리가 적기 때문에 외장 SD 카드를 따로 주는 것으로 알고 있습니다. (확실친 않습니다. 여하튼 내장 용량은 적습니다.)

스펙상 아이폰을 쫓아가기 위해 자충수(?)를 둔 것이 아닌가 싶기도 합니다. ㅋ.;

근데 뭐 어쨌든 요새 폰은 2년만 버텨주면 되는지라 어차피 RFS가 아닌 다른 파일 시스템을 쓴다고 해서 수명이 아주 극명하게 줄어들 것도 아니고 그런다고 해도 역시 2년만 버텨주면 되는지라 크게 신경은 안 쓰이네요. ㅋ.; -> 그럼 패치 고고싱? -_-;;;

플래시 메모리는 HDD와 저장 방식에서 차이가 있습니다.
특히 플래시는 각 셀당 고유의 지우기/쓰기 수명이 있는데, 기존 HDD에서 사용되도록 제작된 파일시스템들(EXT2,EXT3,EXT4,REISERFS,XFS등)은 플래시 메모리가 아닌 HDD에서 사용되도록 만들어졌기 때문에 플래시의 물리적 특성을 고려하지 않습니다. 물론 사용할 수는 있겠으나, 빈번히 데이터의 지우기/쓰기가 반복되는 환경에서 사용하게 된다면 플래시의 특정 부분만 유독 수명이 줄어드는 문제가 발생하게 됩니다. 따라서 플래시 전체는 수명이 많이 남았는데에도 불구하고, 특정부분의 한계 수명 도달로 인하여 그 플래시를 쓸 수 없게되는 문제가 생기지요.
그래서 플래시의 이런 특성에 따라 하나의 파일을 반복적으로 지우고쓰고를 반복해도 플래시 전체에 걸쳐 골고루 수명이 줄어들도록 만들어진 파일시스템들이 플래시용 파일시스템이고 대표적으로 JFFS나 YAFFS 등이 있습니다.
갤럭시가 되었건 옵티머스가 되언건 간에, 그런 스마트폰 개발자들이 바보가 아닌 이상 그런 점들을 고려하여 파일시스템을 결정한 것이고요.
루팅 후, EXT4 깔고 빨라진 속도에 좋아하는 것은 사용자 맘이겠지만, 일이년후쯤 벽돌로 변할 수도 있다는 점을 염두해 두고 쓰시는게 좋을 것 같네요.
참고로, 저는 임베디드 시스템 개발에 왼쪽 엄지발가락만 담고 있는 사람입니다. :oops:

여러 유저의 밴치마크를 본 것은 아니나 점수 차이가 너무 나더군요.
물론 수명도 중요하지만(사실 삼성이 수명을 중요하게 생각했을까 싶기도 합니다)
유저에게 중요한 건 퍼포먼스니까요.
자동차 샀는데 "우리는 속도보다 수명을 중시해서 시속 40Km/h 이상 달리지 못하게 했습니다."
하면 좋아할 소비자는 없겠죠.

물론, 어느 것을 중요하게 생각하느냐의 기준의 차이겠지만.
지금 어느 정도 퍼포먼스에 관심이 있다하는 유저는
위에 언급된 부두패치를 사용하거나 관심을 가지고 있는 것은 사실입니다.

다시 말하지만.
과연!!! 삼성이 수명을 염두에 두었을까요!!!
고장나면 바꿔주면 되지라고 말하는 삼성이…

저기 포스트에도 언급되어 있지만 요즘 미니 SSD카드 자체가 워낙 똥값인데다… 그 회사들의 AS규정이 수리가 아닌 교환이기 때문에 (당연하지만) 그냥 수명 다하면 가서 교환한다는 마음으로 외장 메모리를 저렇게 포멧해서 쓰는게 나을거 같습니다. 단, 백업은 규칙적으로 해줘야겠지만요.

제가 이해하고있는 플래시는 SSD 같은거여서 골고루 써주기때문에 (컨트롤러가 알아서 해주죠) SSD에다 어떤 파일 시스템을 쓰더라도 수명은 걱정 안해도 되는데 휴대폰에 들어가는 거는 다른가 보군요.

프로요에서는 확장메모리에 앱을 설치할 수 있는 것으로 알려져 있다. 그러나 이는 다소 잘못 알려진 것이다. 프로요에서는 확장메모리에 앱을 전적으로 설치할 수 있는 것이 아니다. 확장메모리에 설치한 앱은 이유는 모르겠지만 확장메모리와 플래시 메모리에 반반씩 설치된다. ODEX파일을 남겨서 그런것 같던데 아직 확실한 이유는 모르겠다. 이것이 사실이라면 당신이 플래시 메모리에 100M의 빈공간을 가졌다면 200M의 앱을 설치할 수 있어졌을 뿐 확장메모리에 모두 옮길 수 있어진 것은 아니다.
[출처] 갤럭시 S I/O 속도저하의 근본적 이유.|작성자 musiki

이렇게 되어 있던데 사실인가요?

흠… 일단 프로요에서 확장 메모리에 설치할 수 있는 앱은 그걸 지원하는 앱으로 한정되어 있고요, 그리고 그런 게 아니더라도 루팅 시 외장 SD에 설치할 수 있는 방법도 있는데 이 경우는 외장 SD를 빼버리면 문제가 발생하는 경우가 있어서 리스크가 크고요… 프로요에서는 외장 SD를 빼더라도 외장 SD에 설치된 앱에 의한 영향이 없는데, 이게 바로 말씀하신 이유 때문이 아닌가 싶기도 하네요…

이클 때도 100여개가 넘는 앱을 깔아 봤는데 내장도 부족하다고 느껴본 적이 없어서 아직 잘 모르겠네요.;;

잘 아시는 분…? ^^;;;

좋은 정보 감사합니다 . 갤스 유저인데 … 이런 비밀이 있었군요 …

부두패치나 루팅이나 별 관심없었는데 . .관심을 끌게 만드네요 . .설마 MLC를 사용했을 줄이야 … -_- ;;

usb도 MLC쓰면 답답한 저인지라 . .

뭔가 뒤통수 맞은 기분이네요 . .

vnc 로 원격 접속하면 무지막지 하게 느린 이유가 있었군요 =_= …