Transfer rates with NAND
Hi,
I am wondering which NAND transfer rates are seen in embedded Linux projects. What to expect from the whole hardware/software subsystem?
I have one Geode LX design with CS5536 companion chip which by using built-in 8-bit Flash controller on PCI bus gives me slightly over 2MB/s. It's almost the same with Linux MTD driver and with a self-made basic driver. Is the speed here the matter of flash controller only? Which is the fastest flash controller out there? :)
thanks in advance,
Indrek
Quoted 9 lines · Indrek Kruusa
Hi,
I am wondering which NAND transfer rates are seen in embedded Linux projects. What to expect from the whole hardware/software subsystem?
I have one Geode LX design with CS5536 companion chip which by using built-in 8-bit Flash controller on PCI bus gives me slightly over 2MB/s. It's almost the same with Linux MTD driver and with a self-made basic driver. Is the speed here the matter of flash controller only? Which is the fastest flash controller out there? :)thanks in advance,
Indrek
Hi Indrek,
the data transfer from the NAND to the CPU and viceversa depends on:
1. NAND bus maximum speed
2. CPU's bus controller speed (*) and its configuration
3. Read or Write operarations
The overhead added by the MTD layer or any other well written driver is irrelevant.
(*) I mean the bus that access the NAND which might not be the same bus that access the RAM
Enrico
Quoted 7 lines · Indrek Kruusa
I am wondering which NAND transfer rates are seen in embedded Linux projects. What to expect from the whole hardware/software subsystem? I have one Geode LX design with CS5536 companion chip which by using built-in 8-bit Flash controller on PCI bus gives me slightly over 2MB/s. It's almost the same with Linux MTD driver and with a self-made basic driver. Is the speed here the matter of flash controller only? Which is the fastest flash controller out there? :)
The CS5536 NAND flash controller is fairly crap in terms of performance -- you don't get burst read/write transactions over PCI with it, so it goes very slowly as it has to do the whole PCI setup thing for every 4 bytes.
You'll get a maximum of something like 3 MiB/s from it IIRC. From a better controller and a decent chip you might get close to ten times that; at least in theory.
Signature · 1 line
dwmw2