Hi,
My research subject is NAND non-volatile memory and need some help. I have beaglebone board with emmc memory and orangepi with nand memory. I'm currently spend time on MTD utils, as i study, i should use MTD API because i want to write/read specific page with ECC? now i'm confusing in writing driver according to: http://www.linux-mtd.infradead.org/archive/tech/
could you help please?
Thanks With The Best Regard
Hi Hossein,
On Wed, Jul 25, 2018 at 3:19 AM Hossein Radhasani radhassani@birjand.ac.ir wrote:
My research subject is NAND non-volatile memory and need some help. I have beaglebone board with emmc memory and orangepi with nand memory. I'm currently spend time on MTD utils, as i study, i should use MTD API because i want to write/read specific page with ECC? now i'm confusing in writing driver according to: http://www.linux-mtd.infradead.org/archive/tech/
For "raw" NAND flash memory (usually with an 8 or 16 bit wide address/data bus between the SoC and memory itself), using the mtdutils is likely what you want. For eMMC flash memory, mtdutils probably aren't going to do what you want since eMMC generally is interacted with as though it is a block device just like a hard disk drive.
There is a lot of great information about mtdutils, UBI, and UBIFS which would apply to your use of raw NAND here: http://www.linux-mtd.infradead.org/doc/general.html
For eMMC, which is usually called a "managed flash device" because there's an integrated controller within the eMMC which hides much of the complexity of interfacing to NAND flash. You likely will find the eMMC spec itself very insightful, you can usually obtain the specs from JEDEC for free so long as you register on their site: https://www.jedec.org/standards-documents/technology-focus-areas/flash-memor...
The flashbench-results mailing list is mostly concerned with trying to understand the underlying configuration of managed flash devices such as SD cards and eMMC. There's generally less theory of how flash itself works and more focus on trying to understand how these managed flash devices are configured by vendors so that Linux file systems can be better tuned to operate well on them. For information that Arnd wrote up near the beginning of the flashbench-results mailing list, have a look at this LWN article: https://lwn.net/Articles/428584/
Best of luck with your research, Andrew
flashbench-results@lists.linaro.org