Once the DMA controller has command of the bus, it takes the data from the card and places it directly in memory. The CPU had told it the appropriate memory address at which to begin putting data in memory. After all the data is in memory, the DMA controller returns control of the bus to the CPU and tells it how much data has been put in memory. The disadvantage is the CPU cannot access memory while the DMA controller is working. In shared memory, part of host PC's memory is shared by the network interface card's processor.
Shared memory is a very fast transfer method, since no buffering on the card is required.
Because the card and the PC do their work on the data in the same place, no transfer is necessary. A buffer is necessary because some parts of data transfer are slower than others. For example, data comes into the card faster than it can be converted from a serial or parallel format, depacketized, read, and sent. This is true in both directions. While in the buffer, data may be acted on, such as put into frames, or it may simply wait while the NIC handles other things.