Windows와 같은 데스크톱 시스템을 실행하기 위해 플래시 메모리를 사용하는 것은 오랫동안 권장되지 않았습니다. 그러나 무엇이 모바일 장치에서 바람직하고 실행 가능한 옵션이 되었습니까? 오늘의 수퍼 유저 Q & A 게시물에는 호기심 많은 독자의 질문에 대한 답변이 있습니다.
오늘의 질문 및 답변 세션은 커뮤니티 중심의 Q & A 웹 사이트 그룹 인 Stack Exchange의 하위 부문 인 SuperUser가 제공 한 것입니다.
질문
수퍼 유저 독자 인 RockPaperLizard는 eMMC 플래시 메모리가 PC가 아닌 모바일 장치에서 실행 가능한 이유를 알고 싶어합니다.
USB 플래시 드라이브가 발명 된 이래로 사람들은 운영 체제를 실행할 수 있는지 궁금해했습니다. 대답은 항상 "아니오"였습니다. 운영 체제에 필요한 쓰기 횟수로 인해 빠르게 소모 될 수 있기 때문입니다.
SSD가 대중화됨에 따라 운영 체제를 실행할 수 있도록웨어 레벨링 기술이 향상되었습니다. 다양한 태블릿, 넷북 및 기타 슬림 컴퓨터는 하드 드라이브 또는 SSD 대신 플래시 메모리를 사용하며 운영 체제가 여기에 저장됩니다.
이것이 어떻게 갑자기 실용적이 되었습니까? 예를 들어 일반적으로웨어 레벨링 기술을 구현합니까?
eMMC 플래시 메모리가 PC가 아닌 모바일 장치에서 실행 가능하도록 만드는 것은 무엇입니까?
대답
수퍼 유저 기여자 인 Speeddymon과 Journeyman Geek가 우리에게 해답을 제공합니다. 먼저 Speeddymon :
태블릿에서 휴대폰, 스마트 워치, SSD, 카메라의 SD 카드 및 USB 썸 드라이브에 이르는 모든 플래시 메모리 장치는 NVRAM 기술을 사용합니다. 차이점은 NVRAM 아키텍처와 운영 체제가 저장 매체에 상관없이 파일 시스템을 마운트하는 방법에 있습니다.
Android 태블릿 및 휴대폰의 경우 NVRAM 기술은 eMMC 기반입니다. 이 기술에서 찾을 수있는 데이터는 3k에서 10k 사이의 쓰기주기를 제안합니다. 안타깝게도 Wikipedia는이 기술의 쓰기주기에 대해 비어 있기 때문에 지금까지 찾은 내용 중 어느 것도 결정적이지 않습니다. 내가 본 다른 모든 장소는 우연히 다양한 포럼이었고, 믿을 수있는 소스라고 부르지 않을 것입니다.
비교를 위해 NAND 또는 NOR 기술을 사용하는 SSD와 같은 다른 NVRAM 기술의 쓰기주기는 10k에서 30k 사이입니다.
이제 파일 시스템을 마운트하는 방법에 대한 운영 체제의 선택에 대해 설명합니다. 애플이 어떻게하는지 말할 수는 없지만, 안드로이드의 경우 칩이 하드 드라이브처럼 분할되어 있습니다. 장치 제조업체에 따라 운영 체제 파티션, 데이터 파티션 및 기타 여러 독점 파티션이 있습니다.
실제 루트 파티션은 커널과 함께 압축 파일 (jffs2, cramfs 등)로 번들로 제공되는 부트 로더 내부에 있습니다. 따라서 장치의 1 단계 부팅이 완료되면 (보통 제조업체의 로고 화면) 커널이 부팅되고 루트 파티션이 동시에 RAM 디스크로 마운트됩니다.
운영 체제가 부팅되면 기본 파티션의 파일 시스템 (Android 4.0 이전 기기에서는 jffs2, Android 4.0 이후 기기에서는 ext2 / 3 / 4, 최신 기기에서는 xfs)을 읽기 전용으로 마운트합니다. 데이터를 쓸 수 없습니다. 물론 이것은 장치의 소위 "루팅"에 의해 해결 될 수 있습니다. 이렇게하면 수퍼 유저로 액세스 할 수 있고 파티션을 읽기 / 쓰기로 다시 마운트 할 수 있습니다. "사용자"데이터는 칩의 다른 파티션에 기록됩니다 (/ data는 Android 버전에 따라 위와 동일한 규칙을 따릅니다).
점점 더 많은 휴대폰이 SD 카드 슬롯을 버리고 있으므로 모든 데이터가 이제 SD 카드 대신 eMMC 스토리지에 저장되기 때문에 쓰기주기 제한에 더 빨리 도달 할 것이라고 생각할 수 있습니다. 다행히 대부분의 파일 시스템은 지정된 스토리지 영역에 대한 쓰기 실패를 감지합니다. 쓰기가 실패하면 데이터가 새 저장소 영역에 자동으로 저장되고 불량 영역 (불량 블록이라고 함)이 파일 시스템 드라이버에 의해 차단되어 향후 데이터가 더 이상 기록되지 않습니다. 읽기에 실패하면 데이터가 손상된 것으로 표시되고 사용자에게 파일 시스템 검사 (또는 디스크 검사)를 실행하라는 메시지가 표시되거나 장치가 다음 부팅 중에 파일 시스템을 자동으로 검사합니다.
사실 Google은 불량 블록을 자동으로 감지하고 처리하는 특허를 보유하고 있습니다. 전자 데이터 플래시 카드 용 플래시 메모리의 불량 블록 관리
요점을 더 이해하기 위해 이것이 어떻게 갑자기 실용적이되었는지에 대한 귀하의 질문은 올바른 질문이 아닙니다. 처음에는 결코 비실용적이지 않았습니다. 디스크에 대한 쓰기 횟수 때문에 SSD (아마도)에 운영 체제 (Windows)를 설치하지 않는 것이 좋습니다.
예를 들어 레지스트리는 문자 그대로 초당 수백 번의 읽기 및 쓰기를 수신합니다. Microsoft-SysInternals Regmon 도구 .
웨어 레벨링이 부족하여 레지스트리에 기록되는 데이터가 결국 얼리 어답터를 따라 잡아 레지스트리 손상으로 인해 시스템을 부팅 할 수 없게 되었기 때문에 1 세대 SSD에 Windows 설치를 권장하지 않았습니다.
태블릿, 휴대폰 및 기타 거의 모든 임베디드 장치에는 레지스트리가 없으므로 (물론 Windows Embedded 장치는 예외 임) 플래시 미디어의 동일한 부분에 데이터가 지속적으로 기록 될 염려가 없습니다.
때때로 임의의 BSOD를 볼 수있는 공공 장소 (Walmart, Kroger 등)에있는 많은 키오스크와 같은 Windows Embedded 장치의 경우, 그 이후로 수행 할 수있는 구성이 많지 않습니다. 변경되지 않는 구성으로 미리 설계되었습니다. 변경이 일어나는 유일한 시간은 대부분의 경우 칩이 기록되기 전입니다. 식료품 점에 대한 지불과 같이 저장해야하는 모든 사항은 네트워크를 통해 서버의 상점 데이터베이스에 수행됩니다.
Journeyman Geek의 답변이 이어졌습니다.
대답은 항상 "아니오"였습니다. 운영 체제에 필요한 쓰기 횟수로 인해 빠르게 소모 될 수 있기 때문입니다.
마침내 주류 사용에 비용 효율적이되었습니다. "마모"가 유일한 관심사라는 것은 약간의 가정입니다. 상당한 기간 동안 솔리드 스테이트 메모리를 실행하는 시스템이있었습니다. CF 카드 (PATA와 전기적으로 호환되고 PATA 하드 드라이브에 비해 설치가 간단 함)로 부팅 된 자동차를 만든 많은 사람들이 작고 견고한 플래시 기반 스토리지를 가지고 있습니다.
즉, 일반인에게는 옵션이 많지 않았습니다. 값 비싼 CF 카드와 노트북 용 어댑터를 구입하거나 데스크탑 용 모듈 장치에서 매우 값 비싼 산업용 디스크를 찾을 수 있습니다. 현대의 하드 드라이브에 비해 그다지 크지 않았습니다 (최신 IDE DOM은 8GB 또는 16GB가 최고라고 생각합니다). 표준 SSD가 일반화되기 전에 솔리드 스테이트 시스템 드라이브를 설정할 수 있었을 것입니다.
내가 아는 한웨어 레벨링에서 보편적 인 / 마법적인 개선은 없었습니다. 값 비싼 SLC에서 MLC, TLC, 심지어 QLC까지 더 작은 프로세스 크기 (모두 더 낮은 비용으로 마모 위험이 더 높음)로 이동하는 동안 점진적인 개선이있었습니다. 플래시가 훨씬 저렴 해졌습니다.
마모 문제가없는 몇 가지 대안도있었습니다. 예를 들어, 많은 초기 SSD 및 Palm Pilot과 같은 휴대용 장치에서 사용했던 ROM (솔리드 스테이트 스토리지 일 수 있음) 및 배터리 지원 RAM에서 전체 시스템을 실행합니다. 오늘날 이들 중 어느 것도 일반적이지 않습니다. 하드 드라이브는 배터리 지원 RAM (너무 비쌈), 초기 솔리드 스테이트 장치 (다소 비싸다) 또는 깃발을 든 농민 (끔찍한 데이터 밀도로 인해 결코 잡히지 않았습니다). 최신 플래시 메모리조차도 빠르게 지워지는 eeprom의 후손 그리고 eeprom은 오랫동안 펌웨어와 같은 것들을 저장하기 위해 전자 장치에 사용되었습니다.
하드 드라이브는 단순히 대용량 (중요), 저렴한 비용 및 상대적으로 충분한 스토리지의 좋은 교차점에있었습니다.
최신 저가형 컴퓨터에서 eMMC를 찾는 이유는 구성 요소가 상대적으로 저렴하고 해당 비용으로 충분히 크며 (데스크톱 운영 체제 용) 휴대폰 구성 요소와 공통성을 공유하므로 표준 인터페이스로 대량 생산되기 때문입니다. 또한 볼륨에 대한 스토리지 밀도가 높습니다. 이러한 컴퓨터 중 상당수가 10 년 전의 하드 드라이브와 동등한 32GB 또는 64GB 드라이브를 가지고 있다는 점을 고려할 때이 역할에서 합리적인 선택입니다.
우리는 마침내 eMMC와 플래시에 합리적인 속도로 합리적인 양의 메모리를 저장할 수있는 지점에 도달했습니다. 이것이 사람들이 선호하는 이유입니다.
설명에 추가 할 것이 있습니까? 댓글에서 소리를 내십시오. 기술에 정통한 다른 Stack Exchange 사용자의 답변을 더 읽고 싶으신가요? 여기에서 전체 토론 스레드를 확인하십시오. .
이미지 크레딧 : Martin Voltri (Flickr)