Цитата(serebr @ Jan 19 2010, 19:05)

Попробую подробнее описать, что обозначается словами scatter-gather. При вычитывании блока памяти ПК, который был задан DMA контроллеру для пересылки, сразу после этого блока памяти в той же памяти ПК лежат параметры для следующего DMA обмена. Контроллер DMA грузит эти параметры в свои регистры и выполняет ещё один обмен. И так до тех пор, пока в очередном блоке параметров не встретится указание завершить цепочку DMA обменов.
Это мне как раз и понятно.
Я не согласен просто с Вашим определением SG DMA.
Scatter-gather DMA allows the transfer of data to and from multiple memory areas in a single DMA transaction.(http://en.wikipedia.org/wiki/Direct_memory_access)
Думаю, что ключевое слово тут "single", что следует из самого названия "scatter-gather".
А то, что вы описали называется MemDMA (или Descriptor Based DMA), основное преимущество которого
рациональное использование памяти при изменяющихся объемах данных и возможность использования "дыр" в памяти.
В принципе, способ scatter-gather можно применить и к "Memоry Based DMA" и к "Register Based DMA".
"Everything should be made as simple as possible, but not simpler." - Albert Einstein