Linux: Alternative to UBIFS on MLC NAND












6















The status of UBIFS in Linux on top of MLC NAND has never been exactly perfect. And while this entry has now been removed from the FAQ nowadays, the support for UBIFS on top of MLC NAND has now been officially reported as unsupported:




  • ubi: Reject MLC NAND


Full thread on patchwork.kernel.org:




  • https://patchwork.kernel.org/patch/10256063/


So I am now looking for a long term filesystem replacement for a MLC NAND as found on a MIPS Creator CI20:




  • CI20_Hardware: ROM/NAND


This is a Samsung K9GBG08UOA NAND flash and it does not appear that there is a way to put this device in SLC mode.



It seems that jffs2 is also not an alternative:




  • jffs2: do not support the MLC nand


Is there any other alternative filesystem (possibly with comparable performance) ?










share|improve this question

























  • This is worrying. We have products using MLC nand and UBIFS. It is not required in near future however now upgrading to latest kernel is tricky.

    – AnkurTank
    Jun 18 '18 at 13:07






  • 1





    @AnkurTank UBIFS removal patch was send CC to stable@v.k.o so it should be backported at some point.

    – malat
    Jun 18 '18 at 13:14













  • oh so do you mean even LTS kernels will also add that patch ?

    – AnkurTank
    Jun 18 '18 at 13:23
















6















The status of UBIFS in Linux on top of MLC NAND has never been exactly perfect. And while this entry has now been removed from the FAQ nowadays, the support for UBIFS on top of MLC NAND has now been officially reported as unsupported:




  • ubi: Reject MLC NAND


Full thread on patchwork.kernel.org:




  • https://patchwork.kernel.org/patch/10256063/


So I am now looking for a long term filesystem replacement for a MLC NAND as found on a MIPS Creator CI20:




  • CI20_Hardware: ROM/NAND


This is a Samsung K9GBG08UOA NAND flash and it does not appear that there is a way to put this device in SLC mode.



It seems that jffs2 is also not an alternative:




  • jffs2: do not support the MLC nand


Is there any other alternative filesystem (possibly with comparable performance) ?










share|improve this question

























  • This is worrying. We have products using MLC nand and UBIFS. It is not required in near future however now upgrading to latest kernel is tricky.

    – AnkurTank
    Jun 18 '18 at 13:07






  • 1





    @AnkurTank UBIFS removal patch was send CC to stable@v.k.o so it should be backported at some point.

    – malat
    Jun 18 '18 at 13:14













  • oh so do you mean even LTS kernels will also add that patch ?

    – AnkurTank
    Jun 18 '18 at 13:23














6












6








6


1






The status of UBIFS in Linux on top of MLC NAND has never been exactly perfect. And while this entry has now been removed from the FAQ nowadays, the support for UBIFS on top of MLC NAND has now been officially reported as unsupported:




  • ubi: Reject MLC NAND


Full thread on patchwork.kernel.org:




  • https://patchwork.kernel.org/patch/10256063/


So I am now looking for a long term filesystem replacement for a MLC NAND as found on a MIPS Creator CI20:




  • CI20_Hardware: ROM/NAND


This is a Samsung K9GBG08UOA NAND flash and it does not appear that there is a way to put this device in SLC mode.



It seems that jffs2 is also not an alternative:




  • jffs2: do not support the MLC nand


Is there any other alternative filesystem (possibly with comparable performance) ?










share|improve this question
















The status of UBIFS in Linux on top of MLC NAND has never been exactly perfect. And while this entry has now been removed from the FAQ nowadays, the support for UBIFS on top of MLC NAND has now been officially reported as unsupported:




  • ubi: Reject MLC NAND


Full thread on patchwork.kernel.org:




  • https://patchwork.kernel.org/patch/10256063/


So I am now looking for a long term filesystem replacement for a MLC NAND as found on a MIPS Creator CI20:




  • CI20_Hardware: ROM/NAND


This is a Samsung K9GBG08UOA NAND flash and it does not appear that there is a way to put this device in SLC mode.



It seems that jffs2 is also not an alternative:




  • jffs2: do not support the MLC nand


Is there any other alternative filesystem (possibly with comparable performance) ?







linux filesystems ubifs






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jun 18 '18 at 12:30







malat

















asked Jun 8 '18 at 7:24









malatmalat

539723




539723













  • This is worrying. We have products using MLC nand and UBIFS. It is not required in near future however now upgrading to latest kernel is tricky.

    – AnkurTank
    Jun 18 '18 at 13:07






  • 1





    @AnkurTank UBIFS removal patch was send CC to stable@v.k.o so it should be backported at some point.

    – malat
    Jun 18 '18 at 13:14













  • oh so do you mean even LTS kernels will also add that patch ?

    – AnkurTank
    Jun 18 '18 at 13:23



















  • This is worrying. We have products using MLC nand and UBIFS. It is not required in near future however now upgrading to latest kernel is tricky.

    – AnkurTank
    Jun 18 '18 at 13:07






  • 1





    @AnkurTank UBIFS removal patch was send CC to stable@v.k.o so it should be backported at some point.

    – malat
    Jun 18 '18 at 13:14













  • oh so do you mean even LTS kernels will also add that patch ?

    – AnkurTank
    Jun 18 '18 at 13:23

















This is worrying. We have products using MLC nand and UBIFS. It is not required in near future however now upgrading to latest kernel is tricky.

– AnkurTank
Jun 18 '18 at 13:07





This is worrying. We have products using MLC nand and UBIFS. It is not required in near future however now upgrading to latest kernel is tricky.

– AnkurTank
Jun 18 '18 at 13:07




1




1





@AnkurTank UBIFS removal patch was send CC to stable@v.k.o so it should be backported at some point.

– malat
Jun 18 '18 at 13:14







@AnkurTank UBIFS removal patch was send CC to stable@v.k.o so it should be backported at some point.

– malat
Jun 18 '18 at 13:14















oh so do you mean even LTS kernels will also add that patch ?

– AnkurTank
Jun 18 '18 at 13:23





oh so do you mean even LTS kernels will also add that patch ?

– AnkurTank
Jun 18 '18 at 13:23










3 Answers
3






active

oldest

votes


















0














If you have the option of including commercial software, Datalight currently still supports MLC. I have no idea how much it costs, or if there's a free-as-in-beer license for non-commercial use.



My only connection is that I'm on their mailing list and attended a couple of webinars. I've never used their products, so apply caveats and grains of salt accordingly. Good luck.



Related links, most-recent first:




  • https://www.datalight.com/news/datalight-announces-ffxt-4.2

  • https://www.datalight.com/blog/2018/06/13/linux-kernel-4.17-released/

  • https://www.datalight.com/blog/2013/10/23/mtd-for-mlc-nand/






share|improve this answer

































    0















    Is there any [Linux] filesystem ... [that supports] UBIFS on top of MLC NAND?




    No;



    As of Linux 4.17 there are no file systems that specifically handle MLC NAND.



    Ideally the file system would not need to know about the storage medium because quirks and features should be transparently handled. Of course practically this is not true, but it is the only assumption one can make about future mediums, so it is not surprising that in Linux 4.17 jffs2 is the only file system to check;



    > grep -lr MTD_MLCNANDFLASH fs
    fs/jffs2/fs.c


    and



    find fs -maxdepth 1 -type d | wc -l
    72


    That means only 1 of ~70 file systems care about MLC.



    I don't see anything on out-of-tree file systems like zfs either.






    share|improve this answer


























    • ⅔ of your answer is a repeat of the code I already inspected from the Linux kernel, and referenced from my question. This is not an answer, but a rephrase.

      – malat
      Jul 10 '18 at 12:44











    • @malat I updated my answer to be more clear.

      – user1133275
      7 hours ago



















    -1














    So it seems that two options are possible:




    1. git revert b5094b7f135be and then,


    2. wait for more work on MLC+NAND


      The fact that MLC NANDs are not supported by UBI is not necessarily
      definitive. I have a branch with all the work we've done to add MLC
      support to UBI 2. If you have time to invest in it, feel free to
      take over this work.



      Anyway, the decision to remove this driver is not mine, and this patch
      allows me to at least compile-test this driver.





    Something to try out:




    • ext4 atop the MTD block layer






    share|improve this answer



















    • 1





      the lack of wear-levelling in mtdblock, and its horrendous amplification for small writes, rather limits its applicability. that's before the MLC question... I guess the best hope is that the write amplification actually mitigates MLC program disturb :-D. But the lack of wear-levelling would rather worry me for "long term filesystem."

      – sourcejedi
      Jul 13 '18 at 12:00













    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "106"
    };
    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: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    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%2funix.stackexchange.com%2fquestions%2f448581%2flinux-alternative-to-ubifs-on-mlc-nand%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    3 Answers
    3






    active

    oldest

    votes








    3 Answers
    3






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    If you have the option of including commercial software, Datalight currently still supports MLC. I have no idea how much it costs, or if there's a free-as-in-beer license for non-commercial use.



    My only connection is that I'm on their mailing list and attended a couple of webinars. I've never used their products, so apply caveats and grains of salt accordingly. Good luck.



    Related links, most-recent first:




    • https://www.datalight.com/news/datalight-announces-ffxt-4.2

    • https://www.datalight.com/blog/2018/06/13/linux-kernel-4.17-released/

    • https://www.datalight.com/blog/2013/10/23/mtd-for-mlc-nand/






    share|improve this answer






























      0














      If you have the option of including commercial software, Datalight currently still supports MLC. I have no idea how much it costs, or if there's a free-as-in-beer license for non-commercial use.



      My only connection is that I'm on their mailing list and attended a couple of webinars. I've never used their products, so apply caveats and grains of salt accordingly. Good luck.



      Related links, most-recent first:




      • https://www.datalight.com/news/datalight-announces-ffxt-4.2

      • https://www.datalight.com/blog/2018/06/13/linux-kernel-4.17-released/

      • https://www.datalight.com/blog/2013/10/23/mtd-for-mlc-nand/






      share|improve this answer




























        0












        0








        0







        If you have the option of including commercial software, Datalight currently still supports MLC. I have no idea how much it costs, or if there's a free-as-in-beer license for non-commercial use.



        My only connection is that I'm on their mailing list and attended a couple of webinars. I've never used their products, so apply caveats and grains of salt accordingly. Good luck.



        Related links, most-recent first:




        • https://www.datalight.com/news/datalight-announces-ffxt-4.2

        • https://www.datalight.com/blog/2018/06/13/linux-kernel-4.17-released/

        • https://www.datalight.com/blog/2013/10/23/mtd-for-mlc-nand/






        share|improve this answer















        If you have the option of including commercial software, Datalight currently still supports MLC. I have no idea how much it costs, or if there's a free-as-in-beer license for non-commercial use.



        My only connection is that I'm on their mailing list and attended a couple of webinars. I've never used their products, so apply caveats and grains of salt accordingly. Good luck.



        Related links, most-recent first:




        • https://www.datalight.com/news/datalight-announces-ffxt-4.2

        • https://www.datalight.com/blog/2018/06/13/linux-kernel-4.17-released/

        • https://www.datalight.com/blog/2013/10/23/mtd-for-mlc-nand/







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Jul 23 '18 at 17:52









        slm

        248k66517678




        248k66517678










        answered Jul 23 '18 at 17:10









        William DyeWilliam Dye

        111




        111

























            0















            Is there any [Linux] filesystem ... [that supports] UBIFS on top of MLC NAND?




            No;



            As of Linux 4.17 there are no file systems that specifically handle MLC NAND.



            Ideally the file system would not need to know about the storage medium because quirks and features should be transparently handled. Of course practically this is not true, but it is the only assumption one can make about future mediums, so it is not surprising that in Linux 4.17 jffs2 is the only file system to check;



            > grep -lr MTD_MLCNANDFLASH fs
            fs/jffs2/fs.c


            and



            find fs -maxdepth 1 -type d | wc -l
            72


            That means only 1 of ~70 file systems care about MLC.



            I don't see anything on out-of-tree file systems like zfs either.






            share|improve this answer


























            • ⅔ of your answer is a repeat of the code I already inspected from the Linux kernel, and referenced from my question. This is not an answer, but a rephrase.

              – malat
              Jul 10 '18 at 12:44











            • @malat I updated my answer to be more clear.

              – user1133275
              7 hours ago
















            0















            Is there any [Linux] filesystem ... [that supports] UBIFS on top of MLC NAND?




            No;



            As of Linux 4.17 there are no file systems that specifically handle MLC NAND.



            Ideally the file system would not need to know about the storage medium because quirks and features should be transparently handled. Of course practically this is not true, but it is the only assumption one can make about future mediums, so it is not surprising that in Linux 4.17 jffs2 is the only file system to check;



            > grep -lr MTD_MLCNANDFLASH fs
            fs/jffs2/fs.c


            and



            find fs -maxdepth 1 -type d | wc -l
            72


            That means only 1 of ~70 file systems care about MLC.



            I don't see anything on out-of-tree file systems like zfs either.






            share|improve this answer


























            • ⅔ of your answer is a repeat of the code I already inspected from the Linux kernel, and referenced from my question. This is not an answer, but a rephrase.

              – malat
              Jul 10 '18 at 12:44











            • @malat I updated my answer to be more clear.

              – user1133275
              7 hours ago














            0












            0








            0








            Is there any [Linux] filesystem ... [that supports] UBIFS on top of MLC NAND?




            No;



            As of Linux 4.17 there are no file systems that specifically handle MLC NAND.



            Ideally the file system would not need to know about the storage medium because quirks and features should be transparently handled. Of course practically this is not true, but it is the only assumption one can make about future mediums, so it is not surprising that in Linux 4.17 jffs2 is the only file system to check;



            > grep -lr MTD_MLCNANDFLASH fs
            fs/jffs2/fs.c


            and



            find fs -maxdepth 1 -type d | wc -l
            72


            That means only 1 of ~70 file systems care about MLC.



            I don't see anything on out-of-tree file systems like zfs either.






            share|improve this answer
















            Is there any [Linux] filesystem ... [that supports] UBIFS on top of MLC NAND?




            No;



            As of Linux 4.17 there are no file systems that specifically handle MLC NAND.



            Ideally the file system would not need to know about the storage medium because quirks and features should be transparently handled. Of course practically this is not true, but it is the only assumption one can make about future mediums, so it is not surprising that in Linux 4.17 jffs2 is the only file system to check;



            > grep -lr MTD_MLCNANDFLASH fs
            fs/jffs2/fs.c


            and



            find fs -maxdepth 1 -type d | wc -l
            72


            That means only 1 of ~70 file systems care about MLC.



            I don't see anything on out-of-tree file systems like zfs either.







            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited 7 hours ago

























            answered Jul 8 '18 at 15:22









            user1133275user1133275

            2,874620




            2,874620













            • ⅔ of your answer is a repeat of the code I already inspected from the Linux kernel, and referenced from my question. This is not an answer, but a rephrase.

              – malat
              Jul 10 '18 at 12:44











            • @malat I updated my answer to be more clear.

              – user1133275
              7 hours ago



















            • ⅔ of your answer is a repeat of the code I already inspected from the Linux kernel, and referenced from my question. This is not an answer, but a rephrase.

              – malat
              Jul 10 '18 at 12:44











            • @malat I updated my answer to be more clear.

              – user1133275
              7 hours ago

















            ⅔ of your answer is a repeat of the code I already inspected from the Linux kernel, and referenced from my question. This is not an answer, but a rephrase.

            – malat
            Jul 10 '18 at 12:44





            ⅔ of your answer is a repeat of the code I already inspected from the Linux kernel, and referenced from my question. This is not an answer, but a rephrase.

            – malat
            Jul 10 '18 at 12:44













            @malat I updated my answer to be more clear.

            – user1133275
            7 hours ago





            @malat I updated my answer to be more clear.

            – user1133275
            7 hours ago











            -1














            So it seems that two options are possible:




            1. git revert b5094b7f135be and then,


            2. wait for more work on MLC+NAND


              The fact that MLC NANDs are not supported by UBI is not necessarily
              definitive. I have a branch with all the work we've done to add MLC
              support to UBI 2. If you have time to invest in it, feel free to
              take over this work.



              Anyway, the decision to remove this driver is not mine, and this patch
              allows me to at least compile-test this driver.





            Something to try out:




            • ext4 atop the MTD block layer






            share|improve this answer



















            • 1





              the lack of wear-levelling in mtdblock, and its horrendous amplification for small writes, rather limits its applicability. that's before the MLC question... I guess the best hope is that the write amplification actually mitigates MLC program disturb :-D. But the lack of wear-levelling would rather worry me for "long term filesystem."

              – sourcejedi
              Jul 13 '18 at 12:00


















            -1














            So it seems that two options are possible:




            1. git revert b5094b7f135be and then,


            2. wait for more work on MLC+NAND


              The fact that MLC NANDs are not supported by UBI is not necessarily
              definitive. I have a branch with all the work we've done to add MLC
              support to UBI 2. If you have time to invest in it, feel free to
              take over this work.



              Anyway, the decision to remove this driver is not mine, and this patch
              allows me to at least compile-test this driver.





            Something to try out:




            • ext4 atop the MTD block layer






            share|improve this answer



















            • 1





              the lack of wear-levelling in mtdblock, and its horrendous amplification for small writes, rather limits its applicability. that's before the MLC question... I guess the best hope is that the write amplification actually mitigates MLC program disturb :-D. But the lack of wear-levelling would rather worry me for "long term filesystem."

              – sourcejedi
              Jul 13 '18 at 12:00
















            -1












            -1








            -1







            So it seems that two options are possible:




            1. git revert b5094b7f135be and then,


            2. wait for more work on MLC+NAND


              The fact that MLC NANDs are not supported by UBI is not necessarily
              definitive. I have a branch with all the work we've done to add MLC
              support to UBI 2. If you have time to invest in it, feel free to
              take over this work.



              Anyway, the decision to remove this driver is not mine, and this patch
              allows me to at least compile-test this driver.





            Something to try out:




            • ext4 atop the MTD block layer






            share|improve this answer













            So it seems that two options are possible:




            1. git revert b5094b7f135be and then,


            2. wait for more work on MLC+NAND


              The fact that MLC NANDs are not supported by UBI is not necessarily
              definitive. I have a branch with all the work we've done to add MLC
              support to UBI 2. If you have time to invest in it, feel free to
              take over this work.



              Anyway, the decision to remove this driver is not mine, and this patch
              allows me to at least compile-test this driver.





            Something to try out:




            • ext4 atop the MTD block layer







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Jul 13 '18 at 9:50









            malatmalat

            539723




            539723








            • 1





              the lack of wear-levelling in mtdblock, and its horrendous amplification for small writes, rather limits its applicability. that's before the MLC question... I guess the best hope is that the write amplification actually mitigates MLC program disturb :-D. But the lack of wear-levelling would rather worry me for "long term filesystem."

              – sourcejedi
              Jul 13 '18 at 12:00
















            • 1





              the lack of wear-levelling in mtdblock, and its horrendous amplification for small writes, rather limits its applicability. that's before the MLC question... I guess the best hope is that the write amplification actually mitigates MLC program disturb :-D. But the lack of wear-levelling would rather worry me for "long term filesystem."

              – sourcejedi
              Jul 13 '18 at 12:00










            1




            1





            the lack of wear-levelling in mtdblock, and its horrendous amplification for small writes, rather limits its applicability. that's before the MLC question... I guess the best hope is that the write amplification actually mitigates MLC program disturb :-D. But the lack of wear-levelling would rather worry me for "long term filesystem."

            – sourcejedi
            Jul 13 '18 at 12:00







            the lack of wear-levelling in mtdblock, and its horrendous amplification for small writes, rather limits its applicability. that's before the MLC question... I guess the best hope is that the write amplification actually mitigates MLC program disturb :-D. But the lack of wear-levelling would rather worry me for "long term filesystem."

            – sourcejedi
            Jul 13 '18 at 12:00




















            draft saved

            draft discarded




















































            Thanks for contributing an answer to Unix & Linux Stack Exchange!


            • 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%2funix.stackexchange.com%2fquestions%2f448581%2flinux-alternative-to-ubifs-on-mlc-nand%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

            Histoire des bourses de valeurs

            Why is there Russian traffic in my log files?

            Rename multiple files to decrement number in file name?