Hi,

I was looking for some way to decrease the flashing time with Flashrom
for a 2MB SST SST25VF016B chip with a Dediprog SF100 programmer. After
taking a look at the datasheet, stefanct suggested to try to change the
write function for SST25VF016B to spi_aai_write, instead of
spi_chip_write_1.

(I had tried changing it to spi_chip_write_256 some time ago.
Unsurprisingly, the results were not so good)

I did some benchmark by writing random data on a chip already filled
with random data. I attached the results. I've run the benchmark two
times and got similar results on the two runs.

In short: 
- with spi_aai_write, writing takes 56 minutes and seems to work reliably
- with spi_chip_write_1, writing takes 143 minutes

I also ran the test with -VV but the log is so big I can't possibly
send it to the mailing list. Here it is:
http://neetwork.net/up/misc/bench_vv

I also attached the patch I applied to Flashrom's trunk.

-- 
Noé Rubinstein
Proformatique (groupe Avencall) - XiVO IPBX OpenHardware
10 bis, rue Lucien VOILIN - 92800 Puteaux
======== With AAI =========

flashrom v0.9.3-r1373 on Linux 2.6.32-5-686 (i686), built with libpci 3.1.7, 
GCC 4.4.5, little endian
flashrom is free software, get the source code at http://www.flashrom.org

Calibrating delay loop... OK.
Found chip "SST SST25VF016B" (2048 kB, SPI) on dediprog.
Erasing and writing flash chip... Done.
Verifying flash... VERIFIED.          

real    56m15.371s
user    0m25.690s
sys     0m0.196s

======= Without AAI =======

flashrom v0.9.3-r1335 on Linux 2.6.32-5-686 (i686), built with libpci 3.1.7, 
GCC 4.4.5, little endian
flashrom is free software, get the source code at http://www.flashrom.org

Calibrating delay loop... OK.
Found chip "SST SST25VF016B" (2048 kB, SPI) on dediprog.
Erasing and writing flash chip... Done.
Verifying flash... VERIFIED.          

real    143m56.173s
user    0m14.141s
sys     0m45.459s

======= Reading test ======

flashrom v0.9.3-r1335 on Linux 2.6.32-5-686 (i686), built with libpci 3.1.7, 
GCC 4.4.5, little endian
flashrom is free software, get the source code at http://www.flashrom.org

Calibrating delay loop... OK.
Found chip "SST SST25VF016B" (2048 kB, SPI) on dediprog.
Reading flash... done.

real    0m6.186s
user    0m1.100s
sys     0m0.000s
Index: flashchips.c
===================================================================
--- flashchips.c	(revision 1373)
+++ flashchips.c	(working copy)
@@ -5369,7 +5369,7 @@
 			},
 		},
 		.unlock		= spi_disable_blockprotect,
-		.write		= spi_chip_write_1,
+		.write		= spi_aai_write,
 		.read		= spi_chip_read,
 		.voltage	= {2700, 3600},
 	},
_______________________________________________
flashrom mailing list
[email protected]
http://www.flashrom.org/mailman/listinfo/flashrom

Reply via email to