Adoptable (Flex) Storage in Android Marshmallow


In the recent years, a lot of android smartphones started removing the support for external microSD storage and emphasised the usage of internal flash for user’s applications, data and images. The idea was simple – to have a better and fast IO when applications access data; thereby, providing a better user experience.

Recently, Google introduced adoptable storage as one of the features in Android 6.0 Marshmallow, also called Flex Storage. With Flex Storage, you can configure an external micro SD card to be used as an internal storage. This would certainly help in cases where you can buy an affordable phone with low internal storage and boost the storage by adding a microSD card. Also, with microSD cards currently available with storage of over 200GB now, it would help you carry all your entertainment content as well. Further, with more and more phones offering 4K video, this would be a great help to store videos right away without worrying about moving the content from internal to external card every-time to save space!

When you enable Flex storage, the device is formatted as a local, 128-bit AES encrypted EXT4 drive and mounted as part of the system. It’s then set as the preferred storage, and you will be prompted to move your data over.

Moving to adoptable storage is simple, but there are some things you need to be aware of. You cannot use your card from other phone right away. The microSD card will have to be formatted before use for the first time, so all existing content will be wiped. Most importantly, as the card is encrypted, you won’t be able to hot swap your card into another phone and read the data from it. It will only work in the phone you set it up on.

You wont see any significant performance drop when you use a good UHS-1 or a class 10 card. Choosing a high performance card will give you a seamless experience in moving files and media around. Also, with card being encrypted – in a case where the phone is stolen, no one would be able to read the data out of your card by connecting it via a card reader or from another phone.

Once enabled, these settings are not permanent.  One can change it back by heading to Settings>Storage & USB, select the card, head to the top right menu and then select ‘Format as portable. Remember, this will wipe the data again.

With a new range of Android Marshmallow devices expected in the market, companies now have started to bring back the support for microSD card on phones. Today, all the 2016 flagships have microSD card options. However, at this moment, the only flagship which allows adoptable storage is the HTC 10. Both Samsung and LG haven’t yet enabled this feature citing users may want to hot-swap cards and which Flex Storage currently does not allow.

Recommendations: The built-in flash storage is the fastest option you have on the phone today. Its definitely better than a high performance external microSD card. With portable microSD card, you generally may not find any lags or issues when you read or write data on daily usage scenario.

If you have a phone with good enough 32GB flash storage, we recommend you, not to use adoptable storage – rather use the MicroSD card as portable (with hot swap options) so that the microSD card is used for Media & other contents and internal memory for applications. If you have a phone with a very low internal memory say, 8GB or 16GB, then an adoptable storage option would be ideal.

For further reading, check this piece from an Android Developer (StereoMarch) on Reddit where he explains on what happens when you choose Adoptable storage.