<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2017-02-10 8:53 GMT+01:00 <a href="mailto:mike.valk@gmail.com">mike.valk@gmail.com</a> <span dir="ltr"><<a href="mailto:mike.valk@gmail.com" target="_blank">mike.valk@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span class="">2017-02-09 12:03 GMT+01:00 Julie Marchant <span dir="ltr"><<a href="mailto:onpon4@riseup.net" target="_blank">onpon4@riseup.net</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="m_8775399549909175067gmail-">On 02/09/17 01:50, Luke Kenneth Casson Leighton wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  do you know the mkfs.ext4 commands needed or the ext2flags command?<br>
</blockquote>
<br></span>
No, but just using an ext2 filesystem instead should suffice (since ext2 doesn't support journaling). That's the standard advice for the OpenPandora.</blockquote><div><br></div></span><div>As we all have established. We have flash memory. Which comes in a few flavors. NAND (Not AND) and NOR (Not Or). Which is the type of logic gate used. </div><div><br></div><div>Then we have SLC (Single level), MLC (Multi level) (And TLC, QLC)</div><div><br></div><div>With MLC, TLC, QLC you read/write multiple bits at once.</div><div>These come with an issue:</div><div><a href="https://en.wikipedia.org/wiki/Solid-state_drive#Battery_or_supercapacitor" target="_blank">https://en.wikipedia.org/wiki/<wbr>Solid-state_drive#Battery_or_<wbr>supercapacitor</a><br></div><div><br></div><div>Then we have wear leveling. With bare Flash you have none. With SD/MCC/eMMC and SSD you have some. This is done via hardware/firmware. This is useally done in a way that is support regular rotating disk filesystem. </div><div><br></div><div>The mechanics are though obscure and those controller usually are programmed by closed firmware.</div><div><br></div><div>So for bare NAND you should not use a regular filesystem like EXT, XFS, FAT, NTFS, etc. Also F2FS is not build for bare nand. It is made for controlled flash.</div><div><br></div><div>For bare NAND you should use special drivers and filesystems like MTD and UBIFS or YaFFS.</div><div><a href="http://linux-sunxi.org/NAND" target="_blank">http://linux-sunxi.org/NAND</a><br></div><div><br></div><div>The Allwinner 3.4 kernel contains a NAND driver. But I don't know what the quality of it is. I though that I read it was not that great and that the new mainline driver had a lot of hoops to go trough to support flash formatted/controlled by the 3.4 driver.</div><div><br></div><div>So MLC has problems with power loss. So a journalling filesystem is a must. A journalling FS has noting to do with logging. But with write consistency.</div></div></div></div></blockquote><div><br></div><div>The biggest writer in a desktopish environment are the system and application logs.</div><div><br></div><div>So move var log to ram. This is usually enough for debugging purposes. But it should remain easily possible to write to flash/disk if debugging hanging systems issues.</div><div><br></div><div>Further the files system "acces time" stamps is a big writer. With BTRFS you have the "relatime" option (relax acces time updates).</div><div><br></div><div>This does break some programs which rely on accurate "atime". But for most end users this is not a problem.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>With (e)MMC/SD adn SSD you lose a bit of freedom and gain extra security issues. But makes programming easier.</div><div><br></div><div>So weather NAND suffers from wear or age: You need a good controller (hardware or software) identifying broken cells and marking them unfit and not bother progams or users with unwritable sectors.</div><span class=""><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="m_8775399549909175067gmail-HOEnZb"><div class="m_8775399549909175067gmail-h5"><br>
<br>
______________________________<wbr>_________________<br>
arm-netbook mailing list <a href="mailto:arm-netbook@lists.phcomp.co.uk" target="_blank">arm-netbook@lists.phcomp.co.uk</a><br>
<a href="http://lists.phcomp.co.uk/mailman/listinfo/arm-netbook" rel="noreferrer" target="_blank">http://lists.phcomp.co.uk/mail<wbr>man/listinfo/arm-netbook</a><br>
Send large attachments to <a href="mailto:arm-netbook@files.phcomp.co.uk" target="_blank">arm-netbook@files.phcomp.co.uk</a></div></div></blockquote></span></div><br></div></div>
</blockquote></div><br></div></div>