The Notebook Review forums were hosted by TechTarget, who shut down them down on January 31, 2022. This static read-only archive was pulled by NBR forum users between January 20 and January 31, 2022, in an effort to make sure that the valuable technical information that had been posted on the forums is preserved. For current discussions, many NBR forum users moved over to NotebookTalk.net after the shutdown.
Problems? See this thread at archive.org.

    What is going on with SSD in DMA mode?

    Discussion in 'Hardware Components and Aftermarket Upgrades' started by T1mur, Jul 16, 2011.

  1. T1mur

    T1mur Notebook Guru

    Reputations:
    0
    Messages:
    55
    Likes Received:
    3
    Trophy Points:
    15
    I did a series of tests with my M4 and came to the result that performance is the very same for both DMA mode and PIO (CPU driven) mode. Both can reach maximum throughput in all situations, both cause about the same CPU load and both are seriously affected by any CPU power-saving C-states (especially C1E, but also C3/6/7).

    So can anyone explain why there seems to be no discernable difference between using DMA and PIO with SSDs, and especially why DMA mode is affected by CPU C-states?

    I would suspect that AHCI drivers don't use DMA mode when connected to a SSD even while reporting to do so, but I know that there *is* a difference when it comes to link/communication errors, so there must be *some* kind of difference. Still the CPU issues make no sense for a DMA connected drive.

    Another explanation would be that *drivers* (both Intel and MSAHCI) are affected heavily (and cause same CPU load for both modes). If this is the case I still wonder why DMA driven drives are so much affected.

    Last but not least it is possible that benchmarking/measuring software is affected. But if this is the case then *all* of them seem to be affected the same (tried ATTO, ASSD, CDM and IOMETER).

    So what is going on here?
     
  2. T1mur

    T1mur Notebook Guru

    Reputations:
    0
    Messages:
    55
    Likes Received:
    3
    Trophy Points:
    15
    Even worse, not only idle C-states have a considerable impact on SSD performance, but also non idle P-states. This means that SSD throughput changes with CPU clock-rate! Can anyone explain why my i7 Quad SNB CPU needs to run at over 3.3 gHz to get full 4 kb throughput? Where is the DMA in that?

    Just to make this clear: I'm not ranting, I'm asking these questions hoping that someone knows more than myself. ;)
     
  3. T1mur

    T1mur Notebook Guru

    Reputations:
    0
    Messages:
    55
    Likes Received:
    3
    Trophy Points:
    15
    To give an idea about the numbers/differences, here some screenshots of benchmarks. All done on a Sandybridge i7 2.3 Quad mobile CPU.

    CPU @ 3.3 gHz, all idle C-states demoted to C1, C1E disabled

    [​IMG]

    CPU @ 1.3 gHz, all idle C-states demoted to C1, C1E disabled

    [​IMG]

    Windows stock "High Performance" profile, all C-states + C1E enabled

    [​IMG]
     
  4. T1mur

    T1mur Notebook Guru

    Reputations:
    0
    Messages:
    55
    Likes Received:
    3
    Trophy Points:
    15
    Excerpt from the AHCI specification: