В новой версии Android 6.0 Marshmallow появилась опция Adoptable storage, объединяющая в один логический раздел внутренний и внешний флэш накопитель (MicroSD). Память представляет собой один массив, а ОС сама распределит в какой раздел поместить установленные приложения. Стоит напомнить, что до этого картам памяти отводилась скромная роль для хранения мультимедийных файлов, без возможности переноса приложений или кэша, в результате чего внутренняя память забивалась 1-3 массивными играми.
Содержание
Активация Adoptable storage
Искать опцию в настройках не нужно, система сама предложит объединение памяти, как только обнаружит MicroSD. Для защиты информации на накопителе используется шифрование (защиту) данных, а для этого требуется отформатировать карту, что приведет к удалению данных, поэтому обязательно сделайте резервную копию. Согласившись с очисткой, дождитесь окончания операции и не извлекайте карту в момент форматирования.
После форматирования система предложит перенести мультимедийный контент (фотографии, картинки, музыку, видео и т.д.) в раздел относящийся к MicroSD. В этот момент отобразится точное количество памяти, которая освободится после переноса данных. Выполните перемещение сразу или отложите на потом.
Особенности и последствия Adoptable storage
1. Опция сделает общим внутренний и внешний накопитель, поэтому при подключении к ПКМАС отобразится только один диск. При этом в настройках устройства видно, сколько использовано памяти каждым разделом.
2. Игры и программы по умолчанию установятся во внутреннюю память, для перемещения во внешний раздел, откройте параметры приложения в настройках и выберете SD карту.
3. Используйте только высокоскоростные карты 10 класса UHS-I, так как это влияет на производительность и скорость работы устройства. Если MicroSD не достаточно быстрая, система сообщит о возможных сбоях и длительном перемещении информации.
4. При объединении памяти, SD-карта форматируется, поэтому перед началом процесса сохраните важную информацию в другом месте. Так же из-за использования шифрования данных, накопитель не будет работать ни в одном другом устройстве, только после очередного форматирования, что приведет к потере всех записанных файлов.
5. После сброса до заводских установок, MicroSD карта перестанет работать, что приведет к очередному форматированию. Поэтому обязательно позаботьтесь о настройке резервного копирования информации.
Adoptable storage — позволяет использовать обычную карту microSD так, как если бы это было внутреннее (системное) хранилище телефона. Процессы происходят медленнее, чем в фактической внутренней памяти, и может произойти сбой системы при частом использовании. При подключении данной функции категорически запрещается извлечение SD карты до повторного перезапуска телефона. Вследствие чего, многие производители устройств Android не предоставляют использование этой опции.
Подробное рассмотрение функции системного хранилища Adoptable storage
В Android есть функция внутреннего накопителя и возможность использования SD-карты, но благодаря Android Marshmallow появился новый способ их использования. При первом включении система устройства предлагает вам объединение основной памяти с SD-картой. Активация дает возможность хранения практически всех программ и приложений на внешней памяти.
Подобная идея возникла довольно давно, но есть некоторые существенные недостатки.
При использовании SD-карты в качестве системного хранилища, извлечение ее из устройства – невозможно! До того момента, пока не будет выполнен полный сброс настроек телефона до заводских установок. Это объясняется тем, что системные файлы приложений и настроек теперь хранятся на SD-карте, и если вы включите телефон без нее, то все содержимое станет бесполезным и никогда не сможет восстановиться; система нуждается в определенных файлах, которые должны располагаться в определенных местах, для выполнения стабильной работы.
Функция системного хранилища лишает SD-карту ее мобильности и не подходит пользователям, постоянно производящим сбой настроек.
Еще один недостаток проявляется тем, что даже самая быстрая карта microSD работает медленнее, чем внутренняя флеш-память. Система показывает скорость производительности в 300 М/с, но в действительности эти цифры приемлемы только при чтении одного большого файла. Система, перенесенная на SD-карту, производит последовательное чтение большого количества маленьких файлов, что делает отклик на ваши действия намного медленнее. Достаточно медленно, чтобы увидеть разницу.
Все SD-карты (даже самые лучшие из них), имеют ограниченное количество раз перезаписи данных до того, как они выйдут из строя. Верно, внутренняя память вашего телефона также не является вечной, но она проживет достаточно долго, что к этому моменту вы наверняка смените телефон на другой.
Преимущества использования Adoptable storage
С появлением функции Adoptable Storag, можно добавить до 128 ГБ памяти своему телефону и использовать ее не только в качестве хранилища для документов, картинок, фильмов или музыки, но и для установки приложений.
Эксперты Google сделали этот шаг потому, что все устройства поставляются с ограниченным объемом внутренней памяти, а пользователям требуется больше места для установки приложений и хранения, связанных с ними данных. Это достойное решение вышеописанной проблемы. Память, которая работает немного медленнее и может дать сбой, решаемый перезагрузкой телефона — лучше, чем телефон с малым объемом памяти, совсем не позволяющий установку серьёзных приложений.
Включение и применение функции Adoptable storage
Некоторые производители телефонов преднамеренно отключают возможность использования Adoptable storage, объясняя это тем, что данная функция может сбить с толку владельца устройства и привести к плохому опыту, который может испортить хорошую репутацию компании.
Данное поведение компаний-производителей телефонов на базе Android является верным и в тоже время неправильным. Настройка Adoptable Storage очень проста. SD-карта вставляется в слот и если телефон поддерживает ее использование — появляется всплывающее окно с вопросом: «желаете ли вы использовать карту в качестве съемного накопителя или перенести в нее данные системы?» Остается только сделать выбор. Следующий этап может быть немного запутан.
Выше описывается, что удаление SD карты без перезагрузки телефона не возможно, что пугает известных производителей, когда дело доходит до технической поддержки. Их цель состоит в том, чтобы сделать клиентов счастливыми, и они не горят желанием объяснять пользователям, что те должны сбросить настройки телефона при извлечении карты для того, чтобы просто скопировать свои фотографии на ноутбук.
Adoptable Storage не является идеальным решением, но этот вариант подойдет для телефона, в котором мало места для приложений или игр. SD-карта перестает работать по назначению, теперь — это системное хранилище всех файлов и документов. Если установленные приложения работают медленно, то в таком случае придется сбросить настройки.
Нашли опечатку? Выделите текст и нажмите Ctrl + Enter
Android has always supported external storage accessories (such as SD cards), but these accessories were historically limited to simple file storage, due to their expected impermanence and the minimal data protection offered to traditional external storage. Android 6.0 introduced the ability to adopt external storage media to act like internal storage.
When external storage media is adopted, it’s formatted and encrypted to only work with a single Android device at a time. Because the media is strongly tied to the Android device that adopted it, it can safely store both apps and private data for all users.
When users insert new storage media (such as an SD card) in an adoptable location, Android asks them how they want to use the media. They can choose to adopt the media, which formats and encrypts it, or they can continue using it as-is for simple file storage. If they choose to adopt, the platform offers to migrate the primary shared storage contents (typically mounted at /sdcard
) to the newly adopted media, freeing up valuable space on internal storage. Unlike traditional storage, which is limited to 2TB due to its use of MBR, adoptable storage uses GPT and therefore has file storage limit of ~9ZB.
Apps can be placed on adopted storage media only when the developer has indicated support through the android:installLocation
attribute. New installs of supported apps are automatically placed on the storage device with the most free space, and users can move supported apps between storage devices in the Settings app. Apps moved to adopted media are remembered while the media is ejected, and return when the media is reinserted.
Security
The platform randomly generates an encryption key for each adopted device, and that key is stored on the internal storage of the Android device. This effectively makes the adopted media as secure as internal storage. Keys are associated with adopted devices based on the adopted partition GUID. The adopted device is encrypted using dm-crypt
configured with the aes-cbc-essiv:sha256
algorithm and a 128-bit key size.
The on-disk layout of the adopted device closely mirrors the internal data partition, including SELinux labels, etc. When multi-user is supported on the Android device, the adopted storage device also supports multi-user with the same level of isolation as internal storage.
Because the contents of an adopted storage device are strongly tied to the Android device that adopted it, the encryption keys should not be extractable from the parent device, and therefore the storage device can’t be mounted elsewhere.
The default encryption algorithm for contents mode is aes-256-xts
and for filenames is aes-256-heh
. You can change these by changing the values of the properties ro.crypto.volume.contents_mode
and ro.crypto.volume.filenames_mode
respectively, by setting PRODUCT_PROPERTY_OVERRIDES
in device.mk
.
If your kernel does not support HEH filename encryption, you can use CTS mode instead by adding the following to device.mk:
Performance and stability
Only external storage media in stable locations, such as a slot inside a battery compartment or behind a protective cover, should be considered for adoption to help avoid accidental data loss or corruption. In particular, USB devices connected to a phone or tablet should never be considered for adoption. One common exception would be an external USB drive connected to a TV-style device, because the entire TV is typically installed in a stable location.
When a user adopts a new storage device, the platform runs a benchmark and compares its performance against internal storage. If the adopted device is significantly slower than internal storage, the platform warns the user about a possibly degraded experience. This benchmark was derived from the actual I/O behavior of popular Android apps. Currently, the AOSP implementation will only warn users beyond a single threshold, but device manufacturers may adapt this further, such as rejecting adoption completely if the card is extremely slow.
Adopted devices must be formatted with a filesystem that supports POSIX permissions and extended attributes, such as ext4
or f2fs
. For optimal performance, the f2fs
filesystem is recommended for flash-based storage devices.
When performing periodic idle maintenance, the platform issues FI_TRIM
to adopted media just like it does for internal storage. The current SD card specification does not support the DISCARD
command; but the kernel instead falls back to the ERASE
command, which SD card firmware may choose to use for optimization purposes.
Fixing double encryption
In Android 8.x and lower, adoptable storage didn’t work with FBE. All existing devices that have adoptable storage used full-disk encryption (FDE). In Android 9, adoptable storage works with FBE. However, by default, file contents are double-encrypted because adoptable storage has an FDE and FBE layer. By default, both layers encrypt file contents, which can slow device performance. To fix the problem of double encryption and speed up device performance:
- Add these patches to your kernel.
- To communicate this change with
vold
, add the following todevice.mk
:
If you set this, but the kernel patches aren’t present, adoptable storage won’t work, and the vold
logs will contain an error that it was unable to create the dm device.
Testing
To test that adoptable storage is working, run this CTS test:
cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.AdoptableHostTest
To verify behavior of USB drives and SD cards when a device doesn’t have a built-in slot or when the USB connector is being used for an active adb connection, use:
We may earn a commission for purchases using our links. Learn more.
17 May 2019
SanDisk Extreme
Really fast and really cheap
When you buy a micro SD card, you want two things: plenty of space and fast speeds. This 128GB card from SanDisk has both and it’s a great card for any type of use. The inexpensive price is an extra bonus!
We may earn a commission for purchases using our links. Learn more.
These are the best microSD cards to look for on Black Friday
A microSD card lets you easily move your files, photos, and music from device to device without having to rely on steady Wi-Fi or costly data. It also helps if you like to load your phone up with apps. These are the best microSD cards you can buy.
The best microSD cards for your Amazon Fire tablet
Whether you got a Fire Tablet for yourself or your kids, you’ve probably noticed that the internal storage doesn’t go very far. You can easily fill it up with some games, a few apps, and media, but luckily you can grab a microSD to put in it!
These are the best microSD cards to expand your Galaxy S9’s storage
If you like to take your contacts from phone to phone or simply need more storage than the Galaxy S9’s onboard 64GB, then check out these microSD options for both performance and value.
SanDisk Extreme
$26 at Amazon
- https://androfon.ru/article/adoptable-storage-obedinenie-v-odin-logicheskiy-razdel-vnutrenney-i-vneshney-pamyati
- https://gamesqa.ru/smartfony/adoptable-storage-android-13236/
- https://source.android.com/devices/storage/adoptable
- https://m.androidcentral.com/adoptable-storage