Hi,
I would like to add to what 'TobiSGD' stated: Modern subsystems like the HDD does contain and support local control via interface. Direct control and controlled access are still used widely in device control or subsystem to remove any unwarranted loads via DMA. DMA load cycles for modern HDD are good but even better for
SSD devices.
DMA is widely used in device control intermediately or controlled access to off load from the central system. Device driver will handle intermediate control where as the device controller will handle memory transfers between the system and subsystem. Look at:
Direct Memory Access and Bus Mastering for a general description.
Modern CPU are capable of implementation for multiple device control. There are times when a subsystem with local management surpasses the capabilities of the main CPU(Master). Some Data controllers, DAS or remote DMA will be often served by local control then presenting data back to the master via DMA, Network device or even scheduled data transfers via interrupt. Even with DMA one must be careful not to load the system via errant data transfers which can cause major issues for other system handlers if the buffers are not managed properly by the device handler.
Another good example for comparative reasons would be a
NAS which utilizes network subsystem for exchanges but the NAS itself as an appliance does have the means to control, manage or store data locally for later transfer when requested.
HTH!