Typical flash-based storage features and performance

Typical flash-based storage features and performance

Post by Spoo » Sat, 01 Sep 2007 18:12:03


Hello,

We use IDE flash-based storage in our embedded systems. For several
years, our supplier has provided us with PQI DiskOnModules:

http://www.yqcomputer.com/

I find their performance rather lacking.

Media transfer rate
write 1.2 MB/sec (typ.)
read 4.1 MB/sec (typ.)

Interface burst transfer rate
PIO mode 2 - 8.3 MB/sec (max)

The data sheet also mentions a pair of DMA signals, but I can't figure
out how to enable DMA.

Do modern flash-based IDE-compatible storage solutions offer more
features, like DMA bus mastering, multi-word DMA, Ultra DMA, higher PIO
modes and better throughput (both interface and sustained)?

Or are the DOMs I have typical of what is available today?

# hdparm -v /dev/hda

/dev/hda:
multcount = 0 (off)
IO_support = 1 (32-bit)
unmaskirq = 1 (on)
using_dma = 0 (off)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 500/8/32, sectors = 128000, start = 0

# hdparm -I /dev/hda

/dev/hda:

ATA device, with non-removable media
Model Number: PQI IDE DiskOnModule
Serial Number: DOM6B00011677
Firmware Revision: ra03.00e
Standards:
Likely used: 1
Configuration:
hard sectored
not MFM encoded
head switch time > 15us
fixed drive
disk xfer rate > 5Mbs
Logical max current
cylinders 500 500
heads 8 8
sectors/track 32 32
--
bytes/track: 0 bytes/sector: 528
CHS current addressable sectors: 128000
LBA user addressable sectors: 128000
device size with M = 1024*1024: 62 MBytes
device size with M = 1000*1000: 65 MBytes
Capabilities:
LBA, IORDY not likely
Buffer type: 0002: dual port, multi-sector
Buffer size: 1.0kB bytes avail on r/w long: 4
Cannot perform double-word IO
R/W multiple sector transfer: Max = 1 Current = 0
DMA: not supported
PIO: pio0 pio1 pio2

# hdparm -i /dev/hda

/dev/hda:

Model=PQI IDE DiskOnModule, FwRev=ra03.00e, SerialNo=DOM6B00011677
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
RawCHS=500/8/32, TrkSize=0, SectSize=528, ECCbytes=4
BuffType=DualPort, BuffSize=1kB, MaxMultSect=1, MultSect=off
CurCHS=500/8/32, CurSects=128000, LBA=yes, LBAsects=128000
IORDY=no
PIO modes: pio0 pio1 pio2
AdvancedPM=no

* signifies the current active mode

# hdparm -t /dev/hda

/dev/hda:
Timing buffered disk reads: 18 MB in 3.00 seconds = 5.99 MB/sec

# hdparm -t --direct /dev/hda

/dev/hda:
Timing O_DIRECT disk reads: 20 MB in 3.30 seconds = 6.06 MB/sec

Regards.
 
 
 

Typical flash-based storage features and performance

Post by Patrick de » Sun, 02 Sep 2007 04:43:58


In the past have used this particular DOM module. Not only the transfer
rate something to be desired, since it only supports PIO mode transfers
it also hogs the CPU, blocking the entire system while reading and
writing to disk.

There are also DOM modules from the same manufacturer which do support
higher transfer rates (quite a bit faster than yours, but still a lot
slower than a real hard disk) and supporting UDMA transfer modes which
reduces the CPU load quite a bit. These modules are not much more
expensive than the one you mentioned.

 
 
 

Typical flash-based storage features and performance

Post by wrat » Mon, 03 Sep 2007 15:20:01

In article <1188581669.515222@smirk>,


Why not? It's cheap, reliable, well understood, and supports
reasonable capacity. That fancy fibre channel stuff is for people
who care about *moving* data.

You're aware that EMC sells IDE drives for its arrays? It's
a very cost effective solution where volume matters more than access.
 
 
 

Typical flash-based storage features and performance

Post by tls » Tue, 04 Sep 2007 10:55:04

In article <1188581669.515222@smirk>,



You are an idiot. Literally hundreds of different flash modules are
available with IDE interface and the features the original poster
inquired about.

He is more likely to confront the annoying problem that many embedded
boards don't run the signal lines necessary for DMA from the host chipset
out to the flash socket or IDE connector.

--
Thor Lancelot Simon XXXX@XXXXX.COM

"The inconsistency is startling, though admittedly, if consistency is to
be abandoned or transcended, there is no problem." - Noam Chomsky
 
 
 

Typical flash-based storage features and performance

Post by Spoo » Tue, 04 Sep 2007 23:28:44


I suppose I should have stated that my message was cross-posted to
comp.arch.embedded and comp.arch.storage. Given your answer, I assume
you read my message in comp.arch.storage :-)

I don't need 16 GB or 50 MB/s. What I have today (128 MB) is enough.

I would be happy with 10 MB/s sustained reads and writes, an interface
to match, and DMA support, to let the CPU carry on while data is moved
to or from the drive.

Regards.
 
 
 

Typical flash-based storage features and performance

Post by Spoo » Tue, 04 Sep 2007 23:42:19


The motherboard is an EBC-2000 by Adlink with "standard" x86 parts.
I'm not quite sure why Adlink calls it "embedded" :-)

http://www.yqcomputer.com/
 
 
 

Typical flash-based storage features and performance

Post by Spoo » Tue, 04 Sep 2007 23:59:04


This is my biggest fear.

Suppose the OS decides to write 4 KB at 1.2 MB/s (that's 3.4 ms).

The nightmare scenario is if the CPU can't do anything between two
16-bit transfers, with interrupts disabled.

Everything is put on hold for 3.4 ms... My real-time processes would be
quite unhappy.


I will ask our supplier to provide one such DOM for testing purposes.

Regards.
 
 
 

Typical flash-based storage features and performance

Post by Spoo » Thu, 06 Sep 2007 00:03:13


PQI's Industrial DOM web page is rather terse:
http://www.yqcomputer.com/

they do offer the aforementioned datasheet:
http://www.yqcomputer.com/

Could you provide a link to one of the faster PQI DOMs?

Regards.
 
 
 

Typical flash-based storage features and performance

Post by Patrick de » Thu, 06 Sep 2007 04:13:38

 
 
 

Typical flash-based storage features and performance

Post by Patrick de » Thu, 06 Sep 2007 04:25:51


How you system behaves depends on the OS and drivers I guess. With tests
we did on Windows XP embedded we found that the entire system could
freeze for more than 50 ms when the flash disk was exercised heavily.
This effect disappeared with an UDMA capable flash disk, and the CPU
load dropped from 100% to barely noticeable in that particular test.