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