Thu, 23 Oct 2014, 11:58pm

A student writes:

> Hi Dr. Patt,
>  I think that you have talked about the the different effects of the
> various locations of rank bits in physical address.Such as put the rank
> bits left to column bits or in other places.
> But I haven't understand the different effects. Could you go through it
> clearly?
> I will really appreciate it if you can provide  examples about it.
> And I want to make sure that why we use rank in memory system. I think
> that's because we want more memory space but we cann't enlarge the memory
> space in a single chip owing to physics reason.So we need to use more
> chips. Then since we can only output 8 chips at the same time(for 64 bits
> machine), we use rank to separate these chips into different groups.
> Is my explanation right?
> Thanks!
> Sincerely,
> << name withheld to protect the student who wants some examples >>

Let's answer the last question first.  Rank bits do provide one more way
to extend the total size of memory.  One could argue that four channels,
each consisting of a rank of eight 4 Gb chips should provide enough
physical memory (16 GB) for anyone.  But what if not.  Rank bits do in fact
allow for extending the size of addressible physical memory.

As I pointed out in class, they can do more.  Let's say there are two ranks.
A single bit will do for differentiating them.  Suppose we put that rank bit
to the left of the column bits.  Simple example:  Suppose we are using our
1 Gb DDR3 chips, with a 64 bit data bus.

MAR[2:0] are the bus bits.
MAR[12:3] are the column bits,
giving us (as we said in class) a row buffer of 2^10 x 64 bits.

What if we made MAR[13] the rank bit, and in the next cycle latched the
eight chips of the other rank with the same row address bits.  We have just
doubled the size of the row buffer to 2^11 x 64 bits.

We can also double the number of banks in a similar way.  We put the rank bit
just to the left of the BANK bits.  The combination effective doubles the
number of banks, now spanned across both ranks.

Good luck with the 4th programming lab.  See you in class on Monday.

Yale Patt