Hi,
I want to post a message in the forum:
http://www.coreboot.org/pipermail/coreboot/2008-July/036446.html
I am not sure how to post the message. I have written my response below to one of the messages in the forum. Can you help me in posting the message written below.
Regards, Hardik Patel
MY RESPONSE TO THE ENGINEER IN THE FORUM:
Yes, just looking at overhead it does seem that the over head time for AAI is greater than Page Program time. However, overhead time is insignificant compared to overall program time.
Let’s do a quick compare between the below two cases: Programming in AAI needs1(command)+3(dummyaddr)+2(data)+(1(command)+2(data))*127(aaiwrites) =387 cycles for 256 bytes Page ProgrammingProgramming in 256 byte chunks needs 1(command)+3(address)+256(data) =260 cycles for 256 bytes
In AAI programming:
Sending the bytes using the AAI protocol will depend on the clock frequency at which the memory accepts writes. For 50 Mhz clock, 387 cycles would take 387*(1/50Mhz)=7.74us
Now the memory will take time to do internal programming. For AAI programming, it takes maximum 10us to program 1 word (or two bytes). Hence it would take 10us *127=1.27ms
So the total time = 1.27ms + 7.74us=1.27774us. Thus the overhead time is insignificant portion of the total time.
Now For Page Programming:
Sending the Page data at 50Mhz clock frequency would take 260*(1/50Mhz) = 5.2us
Now the memory will take time to do internal programming of the 256bytes which it just received. For example MX25L3235D macronix part would take 1.4ms (typical) to do page programming.
So the total time = 1.4ms(typ) + 5.2us = 1.4052ms.
THUS, clearly the above calculation suggests that overall time for AAI programming is faster than Page programming. Page programming time can take several milliseconds for many memories. I would prefer AAI.
_________________________________________________________________