This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Question DDR2 memory address bits, and its controller

Anonymous
Anonymous

Hi All,

 

I would like to ask some questions on DDR2 memory controller.

 

According to Spectrum EVM6437:

           

           

 

And according to Micron’s 512Mb: x4, x8, x16 DDR2 SDRAM:

           

            

 

The calculation above should be clearer than additional verbal description. We basically see that bank selection bits MUST be used to achieve the 128Mbytes memory, so the red-highlighted DDR_BA[2:0] should have been used.

 

But why table 2-14 of SPRS345d describe DDR_BA[2:0] as “required to support 1Gb DDR2”? I am finding this description a bit misleading because it is already in use with 128MBytes memory, not to mention 1Gb DDR2.

                   

              

          

 

Does “b” here mean byte or bit? What is the convention here?

 

If it means byte, then the column address counter/latch should have 13bits input and feeds 11 of them to the column decoder. Is it correct?

 

And no matter 128Mbytes of DDR2 of the EVM or other sizes (including 1Gbytes above), there is no way that both the row address and the column address can be sent at one time by DDR_A[12:0], so they must be sent at different clock time, most likely in two times. Is this correct?

 

This is a bit new to me, but also seems reasonable. In principle and in the extreme, one address line at 32 times can send 32 bit address, so why not 13bits (DDR_A[12:0]) at two times for 23 (26, etc.) bits address?

 

So is this how DDR2 controller works? The memory-mapped (0x8000 0000 ~ 0x8FFF FFFF) logically address will be translated to DDR2 memory’s real address, then

1.      BA[1:0] bank select could be sent at one time

2.      Row and column address are sent at two times

to two DDR2 chips, and two 16-bit data will be combined to form an integral 32-bit data, either in reading or writing mode. Is this correct?

 

And it also seems to me that other controllers, be it FLASH or I2C, should all contain the same memory map translation module, and perhaps also fewer physical address lines than the logical number of address bits yet it could work in the same way as DDR2 controller by sending address over multiple times. Is this the way they work?

 

 

 

Thanks,

Zheng

  • Hi Zheng

    Seems like you had similar query in previous posts addressed by Srirami

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/99/p/75575/330335.aspx

    I haven't had a chance to go through that post in detail, so I will try to address some specific queries on this post. Please note that I don't directly support this device family, so bear with me on my gap in understanding in some places

    Zheng Zhao said:
    Does “b” here mean byte or bit? What is the convention here?

    The "red" highlight is 1Gbits , at other places we have used Mbytes , to highlight the total memory space available for DDR2 , for DM6437 it is 256 MBytes as highlighted in Table 2-3 in the datasheet. It seems like the EVM populated 128 MBytes using 2x16 memories ( each being a 512 Mbit memory)

    In general the total addressable space can be calculated in terms of Mbits by a formula = 2^row x 2^col x 2^bank x # data-bits

    To help visualize this a bit better I am attaching a calculation spreadsheet , for "maximum addressable memory" possible given the number of address, data lines, # of banks supported by DM6437 + the fact that the memory map for DDR2 is limited to 256 Mbytes.

     

    In general I would think you need all 3 BA lines to get a x16 1GBit memory working , looking at the  Micron datasheets (even ISSI datasheet), so I am not sure why the DM6437 datasheet specifically calls out need for only 2 to get to 1GB ( I did highlight a row in red in the xls that could possibly be one way to get to 1GB with 2 BA , but I don't think such memories exist atleast in Micron's product map)

    Hope this helps some.

    Regards

    Mukul 8484.DDR2mDDR_MaxAddress_DM6437.xls

  • Anonymous
    0 Anonymous in reply to Mukul Bhatnagar

    Dear Mukul,

    I have already got the decent answer from Srirami that helped me to understand the memory structure. Nevertheless, this detailed answer and especially the excel file are still helpful, and thanks very much.

     

    Zheng