Linux MTD and NFTL - Question
I've been looking into an NFTL implementation for a device that uses a NAND part and needs to be mounted on a Window's PC Desktop. Thus I need a Block Device interface so as to present a surface on which a FAT filesystem can be placed. However, in the course of my research it came to my attention that a company called M-Systems has a hefty amount of IP with regards to FTL and NFTL for pseudo-block devices. How does the Linux MTD-NFTL skirt the patents that M-Systems has in place? If I want to sell my product commercially what sort of risk? It is not terribly clear. I've looked at YAFFS and JFFS2, but those won't work if I wish to support USB mass storage for the Windows desktop.
Any comments on NFTL and M-Systems patents much appreciated.
Thanks,
Sean
Quoted 5 lines · Sean Kelley
However, in the course of my research it came to my attention that a company called M-Systems has a hefty amount of IP with regards to FTL and NFTL for pseudo-block devices. How does the Linux MTD-NFTL skirt the patents that M-Systems has in place? If I want to sell my product commercially what sort of risk? It is not terribly clear.
In general, we only really use FTL/NFTL/INFTL for backwards compatibility on devices which already had it when we started. The block device emulation thing just doesn't make much sense now that we're not running on DOS where we have to provide an INT 13h disk BIOS handler.
So even outside the Free World it's never really been much of an issue, because that means we tend to operate within the licence which was granted for use on PCMCIA devices (for FTL) or for use on M-Systems hardware (NFTL).
I'm happy enough shipping the code like that, following the precedent set by David Hinds with FTL in pcmcia-cs. AFAICT the GPL doesn't actually specify that you have to be able to _use_ the code without restrictions -- only to copy, modify and redistribute it. I could write GPL'd code for running a nuclear power plant, for example -- but I suspect the authorities will be less than amused if you try to _use_ it.
If you're in a part of the world where the patents apply, and you think that they're sufficiently non-obvious or the patent office is sufficiently corrupt that you'd stand a good chance of losing in court when you try to challenge them, then you probably shouldn't be using the techniques outside the terms of the licence granted by M-Systems. You should consult a patent lawyer though.
Quoted 2 lines
Quoted 2 lines
I've looked at YAFFS and JFFS2, but those won't work if I wish to support USB mass storage for the Windows desktop.
Does it have to be USB mass storage? What about the file system profile which is used with cameras? That should work when backed by JFFS2.
Signature · 1 line
dwmw2
David,
Thank you for your reply. I would like to ship a product without a CD. USB mass storage allows you that option. I am not familiar with the file system profile. Is this something similar to a PC side driver which can understand JFFS2?
Thanks,
Sean
Quoted 8 lines · David Woodhouse
Does it have to be USB mass storage? What about the file system profile which is used with cameras? That should work when backed by JFFS2.
--
dwmw2
Quoted 4 lines · Sean Kelley
Thank you for your reply. I would like to ship a product without a CD. USB mass storage allows you that option. I am not familiar with the file system profile. Is this something similar to a PC side driver which can understand JFFS2?
It's a PC side driver which can understand a file system. I haven't investigated it much -- all I know is what David Brownell said when I last said "wouldn't it be nice if...' last March:
(Message-ID: <[email protected]> on linux-kernel)
Quoted 16 lines · David Brownell
Quoted 4 lines · David Woodhouse
Out of interest -- have they (or has anyone else) invented a 'file system' USB device yet? For exporting some file systems, pretending to be a block device really isn't very useful.
There's a file system protocol used by many digital still cameras, which isn't actually camera-specific. Not MSFT-specific either.
Originally called "Picture Transfer Protocol" (PTP) it's actually more of a remote hierarchical filesystem protocol ... with an event channel (handy for "new picture" or "inserted new flash memory") and some built-in search capabilities ("what JPGs do you have"). The strangest capability was a file type tag, which isn't actually that bizarre.
Quoted 3 lines
As with RNDIS, and USB Mass Storage, I understand that support for PTP is part of MS-Windows since about Win2K. So a PTP gadget driver would probably be a useful contribution to Linux.
A quick google shows an old host-side implementation for Linux at
http://www.michaelminn.com/?linux/mmptp/README.html but no slave implmentation yet.
Signature · 1 line
dwmw2
One other idea is to do a loopback-type of mechanism by placing an image file that contains a FAT volume as a file in JFFS2, basically using JFFS2 to replace the FTL. The downside is that if the FAT is meant to be RW, it will still have corruption problems. I would need a scandisk utility on my embedded device to repair the FAT image! It is imazing the kind of hoops we jump through just so that Joe User can plug the device into his windows machine.
Thanks for the links!
Sean
Quoted 41 lines · David Woodhouse
Quoted 4 lines · Sean Kelley
Thank you for your reply. I would like to ship a product without a CD. USB mass storage allows you that option. I am not familiar with the file system profile. Is this something similar to a PC side driver which can understand JFFS2?
It's a PC side driver which can understand a file system. I haven't investigated it much -- all I know is what David Brownell said when I last said "wouldn't it be nice if...' last March:
(Message-ID: <[email protected]> on linux-kernel)
Quoted 16 lines · David Brownell
Quoted 4 lines · David Woodhouse
Out of interest -- have they (or has anyone else) invented a 'file system' USB device yet? For exporting some file systems, pretending to be a block device really isn't very useful.
There's a file system protocol used by many digital still cameras, which isn't actually camera-specific. Not MSFT-specific either.
Originally called "Picture Transfer Protocol" (PTP) it's actually more of a remote hierarchical filesystem protocol ... with an event channel (handy for "new picture" or "inserted new flash memory") and some built-in search capabilities ("what JPGs do you have"). The strangest capability was a file type tag, which isn't actually that bizarre.
Quoted 3 lines
As with RNDIS, and USB Mass Storage, I understand that support for PTP is part of MS-Windows since about Win2K. So a PTP gadget driver would probably be a useful contribution to Linux.
A quick google shows an old host-side implementation for Linux at
http://www.michaelminn.com/?linux/mmptp/README.html but no slave implmentation yet.--
dwmw2
Sean,
Do you know if the USB device contains any embedded block translation layer ?
I had a similar problem with Smart Media. All of the PC card readers I have come across have a embedded block translation layer and my ebmedded hardware did not. I had to write a software version of this translation layer so that I could interchange the media. I included this stuff in the mtd tree so you can get it there, if this is what you need ?
This is very basic code and it has limitiations which made writing the stuff quicker. These are ok for me but may not be for you.
Cheers
Simon
Quoted 21 lines · Sean Kelley
I've been looking into an NFTL implementation for a device that uses a NAND part and needs to be mounted on a Window's PC Desktop. Thus I need a Block Device interface so as to present a surface on which a FAT filesystem can be placed. However, in the course of my research it came to my attention that a company called M-Systems has a hefty amount of IP with regards to FTL and NFTL for pseudo-block devices. How does the Linux MTD-NFTL skirt the patents that M-Systems has in place? If I want to sell my product commercially what sort of risk? It is not terribly clear. I've looked at YAFFS and JFFS2, but those won't work if I wish to support USB mass storage for the Windows desktop.
Any comments on NFTL and M-Systems patents much appreciated.
Thanks,
Sean
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
Simon,
That is a good question. Unfortunately, my USB device lacks any block translation firmware that you would find in say the embedded controllers of ATA/CF type devices. The translation layer approach is nice if you are using PCMCIA or a DOC part. However, if you have a raw NAND you leave yourself open to potential IP issues due the the variety of patents held. Thus, it would appear the best solution is some sort of PC side filesystem profile that can read YAFFS or JFFS2.
Thanks,
Sean
Quoted 40 lines · Simon Haynes
Sean,
Do you know if the USB device contains any embedded block translation layer ?
I had a similar problem with Smart Media. All of the PC card readers I have come across have a embedded block translation layer and my ebmedded hardware did not. I had to write a software version of this translation layer so that I could interchange the media. I included this stuff in the mtd tree so you can get it there, if this is what you need ?
This is very basic code and it has limitiations which made writing the stuff quicker. These are ok for me but may not be for you.
Cheers
Simon
Quoted 21 lines · Sean Kelley
I've been looking into an NFTL implementation for a device that uses a NAND part and needs to be mounted on a Window's PC Desktop. Thus I need a Block Device interface so as to present a surface on which a FAT filesystem can be placed. However, in the course of my research it came to my attention that a company called M-Systems has a hefty amount of IP with regards to FTL and NFTL for pseudo-block devices. How does the Linux MTD-NFTL skirt the patents that M-Systems has in place? If I want to sell my product commercially what sort of risk? It is not terribly clear. I've looked at YAFFS and JFFS2, but those won't work if I wish to support USB mass storage for the Windows desktop.
Any comments on NFTL and M-Systems patents much appreciated.
Thanks,
Sean
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/