eMMC Standards and File System support












2















I am looking into Android secure erase functions and realized a few things:



Android uses eMMC as its storage media, eMMC standards are set by the JEDEC organization (currently most of the manufactured eMMCs are >= 4.41). The 4.41 eMMC standard describes two commands SECURE ERASE and SECURE TRIM, and that these commands should be supported from now on for every eMMC manufactured. That's great, but Android runs ext4 as a filesystem, and I haven't been able to find if ext4 has a way of communicating with the storage media an eMMC SECURE ERASE command.



I know that mounting ext4 with the 'discard' option is one way of enabling TRIM after every deletion, but it is also a poor solution as it will severely slow down performance since the storage has to TRIM after each delete command.



So my question, is there a way of sending a SECURE ERASE command from an ext4 file system short of mounting with the 'discard' option?



Thank you!



Related links:




  • JEDEC eMMC standard: http://www.jedec.org/sites/default/files/Victor_Tsai.pdf

  • Discard option on ext4 and performance degradation: https://patrick-nagel.net/blog/archives/337










share|improve this question























  • Re: 'discard' option: isn't it the other way around? Using TRIM on any kind of flash device should increase performance (not decrease it) because the FTL layer becomes aware that it no longer has to track a particular block (maintain the mapping from logical block to physical block, refresh the block once in a while for wear leveling, etc...)

    – Celada
    Jun 29 '13 at 14:42











  • Technically yes, but issuing the TRIM command after each delete will degrade usability performance as seen in the second link I posted, a deletion of 30,000+ files totaling ~450MB followed by a sync command results in ~40 seconds of wait time.

    – Alistair
    Jun 29 '13 at 14:54
















2















I am looking into Android secure erase functions and realized a few things:



Android uses eMMC as its storage media, eMMC standards are set by the JEDEC organization (currently most of the manufactured eMMCs are >= 4.41). The 4.41 eMMC standard describes two commands SECURE ERASE and SECURE TRIM, and that these commands should be supported from now on for every eMMC manufactured. That's great, but Android runs ext4 as a filesystem, and I haven't been able to find if ext4 has a way of communicating with the storage media an eMMC SECURE ERASE command.



I know that mounting ext4 with the 'discard' option is one way of enabling TRIM after every deletion, but it is also a poor solution as it will severely slow down performance since the storage has to TRIM after each delete command.



So my question, is there a way of sending a SECURE ERASE command from an ext4 file system short of mounting with the 'discard' option?



Thank you!



Related links:




  • JEDEC eMMC standard: http://www.jedec.org/sites/default/files/Victor_Tsai.pdf

  • Discard option on ext4 and performance degradation: https://patrick-nagel.net/blog/archives/337










share|improve this question























  • Re: 'discard' option: isn't it the other way around? Using TRIM on any kind of flash device should increase performance (not decrease it) because the FTL layer becomes aware that it no longer has to track a particular block (maintain the mapping from logical block to physical block, refresh the block once in a while for wear leveling, etc...)

    – Celada
    Jun 29 '13 at 14:42











  • Technically yes, but issuing the TRIM command after each delete will degrade usability performance as seen in the second link I posted, a deletion of 30,000+ files totaling ~450MB followed by a sync command results in ~40 seconds of wait time.

    – Alistair
    Jun 29 '13 at 14:54














2












2








2


2






I am looking into Android secure erase functions and realized a few things:



Android uses eMMC as its storage media, eMMC standards are set by the JEDEC organization (currently most of the manufactured eMMCs are >= 4.41). The 4.41 eMMC standard describes two commands SECURE ERASE and SECURE TRIM, and that these commands should be supported from now on for every eMMC manufactured. That's great, but Android runs ext4 as a filesystem, and I haven't been able to find if ext4 has a way of communicating with the storage media an eMMC SECURE ERASE command.



I know that mounting ext4 with the 'discard' option is one way of enabling TRIM after every deletion, but it is also a poor solution as it will severely slow down performance since the storage has to TRIM after each delete command.



So my question, is there a way of sending a SECURE ERASE command from an ext4 file system short of mounting with the 'discard' option?



Thank you!



Related links:




  • JEDEC eMMC standard: http://www.jedec.org/sites/default/files/Victor_Tsai.pdf

  • Discard option on ext4 and performance degradation: https://patrick-nagel.net/blog/archives/337










share|improve this question














I am looking into Android secure erase functions and realized a few things:



Android uses eMMC as its storage media, eMMC standards are set by the JEDEC organization (currently most of the manufactured eMMCs are >= 4.41). The 4.41 eMMC standard describes two commands SECURE ERASE and SECURE TRIM, and that these commands should be supported from now on for every eMMC manufactured. That's great, but Android runs ext4 as a filesystem, and I haven't been able to find if ext4 has a way of communicating with the storage media an eMMC SECURE ERASE command.



I know that mounting ext4 with the 'discard' option is one way of enabling TRIM after every deletion, but it is also a poor solution as it will severely slow down performance since the storage has to TRIM after each delete command.



So my question, is there a way of sending a SECURE ERASE command from an ext4 file system short of mounting with the 'discard' option?



Thank you!



Related links:




  • JEDEC eMMC standard: http://www.jedec.org/sites/default/files/Victor_Tsai.pdf

  • Discard option on ext4 and performance degradation: https://patrick-nagel.net/blog/archives/337







filesystems android ext4 trim secure-erase






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Jun 29 '13 at 13:02









AlistairAlistair

248146




248146













  • Re: 'discard' option: isn't it the other way around? Using TRIM on any kind of flash device should increase performance (not decrease it) because the FTL layer becomes aware that it no longer has to track a particular block (maintain the mapping from logical block to physical block, refresh the block once in a while for wear leveling, etc...)

    – Celada
    Jun 29 '13 at 14:42











  • Technically yes, but issuing the TRIM command after each delete will degrade usability performance as seen in the second link I posted, a deletion of 30,000+ files totaling ~450MB followed by a sync command results in ~40 seconds of wait time.

    – Alistair
    Jun 29 '13 at 14:54



















  • Re: 'discard' option: isn't it the other way around? Using TRIM on any kind of flash device should increase performance (not decrease it) because the FTL layer becomes aware that it no longer has to track a particular block (maintain the mapping from logical block to physical block, refresh the block once in a while for wear leveling, etc...)

    – Celada
    Jun 29 '13 at 14:42











  • Technically yes, but issuing the TRIM command after each delete will degrade usability performance as seen in the second link I posted, a deletion of 30,000+ files totaling ~450MB followed by a sync command results in ~40 seconds of wait time.

    – Alistair
    Jun 29 '13 at 14:54

















Re: 'discard' option: isn't it the other way around? Using TRIM on any kind of flash device should increase performance (not decrease it) because the FTL layer becomes aware that it no longer has to track a particular block (maintain the mapping from logical block to physical block, refresh the block once in a while for wear leveling, etc...)

– Celada
Jun 29 '13 at 14:42





Re: 'discard' option: isn't it the other way around? Using TRIM on any kind of flash device should increase performance (not decrease it) because the FTL layer becomes aware that it no longer has to track a particular block (maintain the mapping from logical block to physical block, refresh the block once in a while for wear leveling, etc...)

– Celada
Jun 29 '13 at 14:42













Technically yes, but issuing the TRIM command after each delete will degrade usability performance as seen in the second link I posted, a deletion of 30,000+ files totaling ~450MB followed by a sync command results in ~40 seconds of wait time.

– Alistair
Jun 29 '13 at 14:54





Technically yes, but issuing the TRIM command after each delete will degrade usability performance as seen in the second link I posted, a deletion of 30,000+ files totaling ~450MB followed by a sync command results in ~40 seconds of wait time.

– Alistair
Jun 29 '13 at 14:54










1 Answer
1






active

oldest

votes


















0














You can run fstrim once in a while. I run it daily through cron on SSD disks (desktop PC).






share|improve this answer























    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "3"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f613540%2femmc-standards-and-file-system-support%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    You can run fstrim once in a while. I run it daily through cron on SSD disks (desktop PC).






    share|improve this answer




























      0














      You can run fstrim once in a while. I run it daily through cron on SSD disks (desktop PC).






      share|improve this answer


























        0












        0








        0







        You can run fstrim once in a while. I run it daily through cron on SSD disks (desktop PC).






        share|improve this answer













        You can run fstrim once in a while. I run it daily through cron on SSD disks (desktop PC).







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Dec 4 '13 at 12:46









        speakmanspeakman

        24123




        24123






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Super User!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f613540%2femmc-standards-and-file-system-support%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            flock() on closed filehandle LOCK_FILE at /usr/bin/apt-mirror

            Mangá

             ⁒  ․,‪⁊‑⁙ ⁖, ⁇‒※‌, †,⁖‗‌⁝    ‾‸⁘,‖⁔⁣,⁂‾
”‑,‥–,‬ ,⁀‹⁋‴⁑ ‒ ,‴⁋”‼ ⁨,‷⁔„ ‰′,‐‚ ‥‡‎“‷⁃⁨⁅⁣,⁔
⁇‘⁔⁡⁏⁌⁡‿‶‏⁨ ⁣⁕⁖⁨⁩⁥‽⁀  ‴‬⁜‟ ⁃‣‧⁕‮ …‍⁨‴ ⁩,⁚⁖‫ ,‵ ⁀,‮⁝‣‣ ⁑  ⁂– ․, ‾‽ ‏⁁“⁗‸ ‾… ‹‡⁌⁎‸‘ ‡⁏⁌‪ ‵⁛ ‎⁨ ―⁦⁤⁄⁕