One thing I am not sure of is if there are things we can do in the driver to improve things based on the Micron controller. One idea is that as we know the controller and are not subject to heaven only knows what controller is in the SD card a person buys. They are all over the map.

There is a mode that allows better performance, but it has some risks. I don't recall what they are. So if we can make the driver not generic, but specific, then we may be able to squeeze more out. I think it is worth looking into.

Gerald

On Fri, Feb 1, 2013 at 7:10 AM, Andrew Bradford <andrew@bradfordembedded.com> wrote:
On Thu, 31 Jan 2013 14:42:28 -0500
Andrew Bradford <andrew@bradfordembedded.com> wrote:

<snip>

> root@beaglebone:~/flashbench# cat /sys/kernel/debug/mmc1/*
> 2>/dev/null | grep -v ^$ 52000000
> clock:                52000000 Hz
> vdd:          7 (1.65 - 1.95 V)
> bus mode:     2 (push-pull)
> chip select:  0 (don't care)
> power mode:   2 (on)
> bus width:    2 (4 bits)
> timing spec:  1 (mmc high-speed)
> signal voltage:       0 (3.30 V)
> mmc1:
>  ctx_loss:    0:0
> regs:
> CON:          0x00000600
> HCTL:         0x00000b06
> SYSCTL:               0x000c0087
> IE:           0x00000000
> ISE:          0x00000000
> CAPA:         0x06e10080

Now in 8 bit mode:

root@beaglebone:~# cat /sys/kernel/debug/mmc1/* 2>/dev/null | grep -v ^$
52000000
clock:          52000000 Hz
vdd:            7 (1.65 - 1.95 V)
bus mode:       2 (push-pull)
chip select:    0 (don't care)
power mode:     2 (on)
bus width:      3 (8 bits)
timing spec:    1 (mmc high-speed)
signal voltage: 0 (3.30 V)
mmc1:
 ctx_loss:      0:0
regs:
CON:            0x00000620
HCTL:           0x00000b04
SYSCTL:         0x000c0087
IE:             0x00000000
ISE:            0x00000000
CAPA:           0x06e10080

> root@beaglebone:~/flashbench# dd if=/dev/zero of=/dev/mmcblk1 bs=1M
> count=256 oflag=direct 256+0 records in
> 256+0 records out
> 268435456 bytes (268 MB) copied, 46.5893 s, 5.8 MB/s
>
> root@beaglebone:~/flashbench# dd if=/dev/mmcblk1 of=/dev/null bs=1M
> count=256 iflag=direct 256+0 records in
> 256+0 records out
> 268435456 bytes (268 MB) copied, 15.1334 s, 17.7 MB/s

root@beaglebone:~# dd if=/dev/zero of=/dev/mmcblk1 bs=1M count=256 oflag=direct
256+0 records in
256+0 records out
268435456 bytes (268 MB) copied, 47.8116 s, 5.6 MB/s

root@beaglebone:~# dd if=/dev/mmcblk1 of=/dev/null bs=1M count=256 iflag=direct
256+0 records in
256+0 records out
268435456 bytes (268 MB) copied, 11.9116 s, 22.5 MB/s

## Not quite the speeds listed in the Micron data sheet.
## Is better than 4 bit mode, though.

<snip>

In 8 bit mode, open-au tests look the same as 4 bit mode, which should be
expected as the controller is the bottleneck on writes anyway.

-Andrew

--
You received this message because you are subscribed to the Google Groups "Beagle Alpha" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagle-alpha+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.





--
Gerald
 
gerald@beagleboard.org
g-coley1@ti.com
http://beagleboard.org/
http://circuitco.com/support/