Uninformed: Informative Information for the Uninformed

Vol 1» 2005.May


Memory Cards

Memory cards use a very simple protocol for sending data. First off, because synchronous cards don't know anything about timing, their clock is provided by the reader. In this situation, the reader can set the I/O line when the clock is low (0v) and the card can set the I/O line when the clock is high (5v). To dump all of the memory from a card, the reader first sets the Reset line high to reset the card and keeps the clock ticking. The first time the Reset line is low and the Clock is raised the card will set the I/O line to whatever the 0 bit is in memory, the second time it's raised, the card will set the I/O line to whatever the 1 bit is in memory, etc. This is repeated until all of the data is dumped from the card.

  __________________
_|                  |___________________________________________ Reset
 :                  :
 :        _____     :  _____       _____       _____       _____
_:_______|     |____:_|     |_____|     |_____|     |_____|      Clk
 :       :          : :     :     :     :     :     :     :
_:_______:__________:_:_____:_____:_____:_____:_____:_____:_____
_:___n___|_____0____:_|_____1_____|_____2_____|_____3_____|___4_ (Address)
 :                  :       :           :           :
_:                  :_______:___________:___________:___________
_XXXXXXXXXXXXXXXXXXXX_______|___________|___________|___________ Data
Bit n                  Bit 0    Bit 1        Bit2       Bit3

(Borrowed from Stephane Bausson's paper re-published in Phrack 48-10)