Dynamic Random Access Memory (DRAM). Part 7: Memory Address Mapping

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 พ.ย. 2024

ความคิดเห็น • 75

  • @wheatstone4487
    @wheatstone4487 3 ปีที่แล้ว +28

    Thank you so much for this extremely clear, extremely helpful video series. I've recently started working in the DRAM industry as a designer and this video series is waaaaay better than any internal training materials that we have. I will be forwarding this video series to all fellow new hires from now on. Thank you so much again, everything makes so much more sense now!!!

    • @ComputerScienceLessons
      @ComputerScienceLessons  3 ปีที่แล้ว +7

      That's really great to hear. I'm delighted to be of service. Thanks for the comment.

  • @princedavid3133
    @princedavid3133 2 ปีที่แล้ว +4

    Great Video Series.... Never seen such Graphical Representations which explain to minute details with Crystal Clear Clarity.

  • @이재연-i3u
    @이재연-i3u ปีที่แล้ว +2

    The perfect videos for understanding DRAM. Thank you so much providing this high quality videos!!!

  • @hugoneto8974
    @hugoneto8974 3 ปีที่แล้ว +3

    Great DRAM Video Series. It's quite clear and very helpful to understand the main DRAM fundamentals.

  • @aycho90
    @aycho90 2 ปีที่แล้ว +2

    I'm a minute late to the party, but THANK YOU for the series! Was trying to 'refresh my memory' on DRAM. had trouble finding content not too basic or complex, until I ran into this. So packed in value, especially for the time it takes to go through the series

  • @jsyoon0604
    @jsyoon0604 2 ปีที่แล้ว +2

    All loud and clear, the essence all learning materials shall have but don't. Thank you so much

  • @edwin2344
    @edwin2344 2 ปีที่แล้ว +2

    Brilliant introduction to the inner mechanism of DRAM! Thank you!

  • @selvalooks
    @selvalooks 2 ปีที่แล้ว +2

    Great series !! best in youtube for DRAM !!!

  • @anuupadhyaya3963
    @anuupadhyaya3963 ปีที่แล้ว +2

    This was very much insighful , I'm thankful that it exists.

  • @johnwhittaker346
    @johnwhittaker346 ปีที่แล้ว +1

    I design high speed boards for orbital spacecraft and aircraft, many DDR4 designs. This is an excellent series.

    • @ComputerScienceLessons
      @ComputerScienceLessons  ปีที่แล้ว +1

      Thank you so much for this comment. It's great to hear from an aerospace practitioner. :)KD

  • @gauravjain4416
    @gauravjain4416 2 ปีที่แล้ว +1

    Amazing video with clear explanation on DRAM...Please post more on DRAM series

    • @ComputerScienceLessons
      @ComputerScienceLessons  2 ปีที่แล้ว

      Thank you. I will return to this series one day. I want to cover SRAM, flash drives and some of the newer technologies.

  • @stanisawnowak1930
    @stanisawnowak1930 3 ปีที่แล้ว +3

    You are doing a really great job.

  • @animatrix1851
    @animatrix1851 2 ปีที่แล้ว +1

    There is some confusion I think, once you've activated a row, you can issue any amount of read bursts (n*bl8) to it since the row is still registered in the sense amps. Since there are quite a few columns you can do this quite a few times. Ofcourse you eventually will have to precharge/close the row due to refresh requirements and so forth.
    This way of doing things is sometimes referred to as open page policy.

  • @Sythemn
    @Sythemn ปีที่แล้ว +1

    That's one elegant solution there.

  • @oopss794
    @oopss794 ปีที่แล้ว +1

    one more video about "dram memory controller" and this series will be perfect .

  • @abhishekravoor
    @abhishekravoor 2 ปีที่แล้ว +1

    Thanks for this beautiful series on DRAM's😍😍

  • @LRV-TECH
    @LRV-TECH ปีที่แล้ว +1

    This is the best explanation of DRAM Memory work on TH-cam. Is this LAST video for DRAM memory? Will there be something similar in the future for 3D NAND memory?

    • @ComputerScienceLessons
      @ComputerScienceLessons  ปีที่แล้ว

      Thank you. I hope to add so much more to this topic one day. I am currently working on WiFi and Quantum Computers. I am a full time school teacher, which takes most of my time. I hope to retire soon and focus on this. In the meantime, please forgive my snail's pace of output. :)KD

  • @badejavuade6774
    @badejavuade6774 3 ปีที่แล้ว +6

    Thanks... very structured and detailed. It would be nice to follow up with an example DDR IC and Controller interface(72bit ECC) pointing out the connection alternatives for multiple rank configuration.

  • @iammituraj
    @iammituraj 2 ปีที่แล้ว +1

    Super cool animations and explanation.

  • @ryangao7444
    @ryangao7444 3 ปีที่แล้ว +1

    thanks for this lecture, so clear and easy to understand

  • @aminavan820
    @aminavan820 4 ปีที่แล้ว +2

    Thanks for your great videos. Would you please suggest to me some books title to comprehensively learn this topic?

  • @kkirti7687
    @kkirti7687 2 ปีที่แล้ว +1

    Great set of videos. Is there a video already made to highlight the incremental innovation between different generation of DRAM technologies? Maybe take an example of DDR5 vs GDDR6

  • @justlynch7381
    @justlynch7381 6 หลายเดือนก่อน

    What I am asking myself: For a burst length of 4B, did it really make a difference to put the column MSB above the bank address? Because with a clean row-bank-column address map, if I am correct you would just read from a loaded row (open page) twice, before going to the next bank (meaning that still whenever you need a new row, you still access all the other banks first). Is it faster to access a loaded row in another bank, than to access the loaded row in the same bank twice in succession? (I could imagine it being like that, because a memory controller might use the peripheral electronics in successive banks in parallel, or even do lookahead)

  • @charlesAcmen
    @charlesAcmen 8 หลายเดือนก่อน +1

    oh my word,this is amazing

  • @mongrav1000
    @mongrav1000 2 ปีที่แล้ว

    Great job. A really fine series. Well organized. Well delivered. I am glad you included memory address mapping. I have been looking unsuccessfully for good, clear coverage of the topics of your series and not found anything clear and comprehensive, and then I found your fine series. One question. When there are two or four independent memory controllers, do these tend also to be multiplexed in the physical address mapping low order bits, for maximum parallelism, or do they tend to be high order bits? I would also be interested in multiple ranks but most interested in multiple controller channels. (FYI, I am most interested in Intel Core i7 Skylake and MacOS.) Thank you for a great series. (FYI, I would also be interested in a series on modern multilevel caches but only if it included explaining non-inclusive caches and cases where the memory controller can write to the L2 or L1 cache without writing the L3 cache (non-inclusive), and also whether writing a cache line back to main memory always writes all the bytes or can selectively write only the needful dirty bytes. I also have questions about flushing cache in a hyperthreading case when one of the threads gets swapped out.)

  • @marcusthegamer348
    @marcusthegamer348 10 หลายเดือนก่อน

    Great video! May I ask how is having 9 bits possible? Aren't systems usually 4, 8, 16, 32 or 64 bit architecture?

  • @jorgejulianromanperez3495
    @jorgejulianromanperez3495 3 ปีที่แล้ว +1

    Excellent videos, thank you so much!

  • @omsingharjit
    @omsingharjit 3 ปีที่แล้ว

    So detailed information

  • @carterlee287
    @carterlee287 ปีที่แล้ว

    Fantastic!

  • @naeemkhan4534
    @naeemkhan4534 4 ปีที่แล้ว +1

    Can you make a video on refreshing the DRAM or refresh rate of DRAM. How are multiple chips refreshed in memory? Are they simultaneously refreshed as a whole chip or a whole row of a single chip is refreshed and so on? or is there already a video from you which covers this? Also I can't thank you enough for this amazing videos. Keep up the good work.

    • @ComputerScienceLessons
      @ComputerScienceLessons  4 ปีที่แล้ว

      Hi Naeem. This is the final video of 7 in a playlist about DRAM. I may have answered some of your questions in the other videos. Please search my playlists for DRAM. :)KD

    • @animatrix1851
      @animatrix1851 ปีที่แล้ว

      Each chip has its own chip select line so you really don't have to refresh all at the same time, however these chips are usually organized into groups called "ranks", for ex 8 (x8) chips would give you 64 bits of data for every query, since they function to give a full word it's not ideal to refresh only one chip but the whole rank together, if you have multiple ranks that can be used alternatively then yes you would refresh them individually while the other one would be used in the meantime.
      Also, dram requires all the cells to be refreshed in 64ms, however most drams can only refresh one/two rows at a time. Once you issue a refresh command the internal row counter is incremented by 1 and the current row is considered refresh. Issuing a refresh command once every 7.8us will result in 8K row dram to be fully refreshed in 64ms. The row counter returning back to 0 by the end of it. Chips with 16K rows will refresh two rows at a time so the idea is still the same.

  • @Spyynk
    @Spyynk ปีที่แล้ว

    I have one question: in the video, burst mode is used, to read multiple collums from one row. But i have also heard of "prefetch", which basically also allows you to read multiple collums from one row at the same time (DDR4 has a prefetch of 8bit, DDR5 one of 16bit). Is this type of prefetching (i am aware, this word refers to many other techinques) a synonym for burst mode, or can they be paired?

    • @RetroDawn
      @RetroDawn 6 หลายเดือนก่อน

      That was covered in the previous video in the series.

  • @arunuthand
    @arunuthand ปีที่แล้ว

    Thank you so much . I am really like your explanation . Is it possible to add some more topic in DRAM
    1. Bank State Machines and Commands and wave forms
    2. ZQ Calibration and training
    3. On-Tie Termination
    4. Jedec Initialisation
    5. Error Handling

  • @ahmadirtisam9593
    @ahmadirtisam9593 2 ปีที่แล้ว

    why don't we take the burst from multiple banks in multiple chips parallelly?

  • @johnrobingotiongco8707
    @johnrobingotiongco8707 2 ปีที่แล้ว

    Very nice video! Can you help demonstrate on how BL=16, 16DQ works on a Die with 16 banks?

  • @louiswong1226
    @louiswong1226 ปีที่แล้ว +1

    伟大!!!!

  • @HL65536
    @HL65536 ปีที่แล้ว

    Let's see if this helps me expand the RAM of my raspberry pi pico using an old SDRAM module I found in a drawer.

  • @raviblore
    @raviblore 3 ปีที่แล้ว +1

    Sir, Nice lectures. Please try to cover LPDDR5 in your next videos.

    • @ComputerScienceLessons
      @ComputerScienceLessons  3 ปีที่แล้ว +1

      Good idea. I've been thinking about a series on mobile technologies. :)KD

    • @raviblore
      @raviblore ปีที่แล้ว

      Any plans to cover HBM as well? Would be interested in HBM 4 @@ComputerScienceLessons

  • @ganauvm270
    @ganauvm270 3 ปีที่แล้ว +1

    can you explain about mode registers

    • @ComputerScienceLessons
      @ComputerScienceLessons  3 ปีที่แล้ว

      I plan to cover flash memory one day and will touch on mode registers when I do. :)KD

  • @roasted_guava5706
    @roasted_guava5706 4 ปีที่แล้ว

    Can you please do a video on BNF and syntax diagrams? I have my A levels soon and I am struggling to understand them.

    • @ComputerScienceLessons
      @ComputerScienceLessons  4 ปีที่แล้ว

      I will try to do something on these as soon as possible. BNF and syntax diagrams were dropped by OCR. Which exam board's course are you following?

    • @roasted_guava5706
      @roasted_guava5706 4 ปีที่แล้ว

      @@ComputerScienceLessons Thank you very much! I am doing CIE 9608

  • @cohenbore7124
    @cohenbore7124 4 ปีที่แล้ว

    Can you demostrate the use of singleton in vb.net(oop)

    • @computadorhumano949
      @computadorhumano949 3 ปีที่แล้ว

      Singleton is easy, just a class can not more than one object instance, just point to one method

  • @PcPowerPlus
    @PcPowerPlus 3 ปีที่แล้ว

    Great video series. Very illustrative.
    But I think there is a mistake about interleaving at th-cam.com/video/-xtWsQvOcjo/w-d-xo.html (and before). You say 8 banks are used to make a 8 burst possible. It seems incorrect, since most modern memory still obeys tFAW=4, which means for a same rank a max of 4 banks can be simultaneously opened. Therefore, the interleaving you explain does not match with the numbers.
    IMHO, when a column is read, it is already contain all data, and the column itself is divided and emitted in bursts.

  • @unlimitedkejra
    @unlimitedkejra ปีที่แล้ว

    if you are not the memory of GOD, then idk who is.
    sorry, I mean the GOD of memories ;)