Why are they putting "processors" on hard drives?

I don't understand - the CPU on the computer is the processor and the hard drive transfers its contents to the host computer's RAM. Do additional processors pre-process the data somehow?

The CPU is a processor; there are others. A processor is what runs program code, so any device that has firmware (which is code) has a processor of some sort.

A hard drive has its own (small) processor running firmware that implements an interface protocol (e.g. SATA or SCSI) and controls the drive's motors. Think of your hard drive as a specialized computer-within-a-computer; the SATA cable is like a network cable that lets it communicate with the "main" computer. The CPU creates messages (such as SATA command packets) to tell the drive what data it wants, and sends them to the drive through the cable; the drive's processor looks at the messages from the CPU, and controls the drive's motors and magnetic heads to actually read or write the data.

A NAS is a computer running file-server software. In principle it's no different from setting up shared folders on your PC; the NAS is running a more lightweight operating system on a slower processor, but doing essentially the same work. Same goes for a router.


Well, HDD always had processors, mainly to cache data and do other HDD stuff like marking bad blocks etc.

The Netgear product you linked is a NAS, which allows you to stream media from it over the network, so it's not really a HDD. It's more like a network connected HDD with some fancy software to allow you to stream information over the network.

Old routers also had processors, though they used to be slow and not advertised at all. The WRT54G, which came out in 2002 had a Broadcom BCM4702 running at 125Mhz. Not very fast indeed. However, these days we demand more from the routers, and features such as VPN require faster processors.


If you could look in detail at the workings of a typical desktop PC, you'd find processors all over the place. If you have a keyboard and mouse connected to USB ports, there's a processor inside the keyboard and one inside the mouse speaking the USB protocol.

In the case of a hard drive, there's a ton of things for that processor to do. For one thing, the processor has to position the head, wait for the right moment, and then send the data out to the platters. When the CPU asks to read a bunch of data, the processor finds the optimum order to retrieve that data from the disk, and maybe even fetches some extra data that happened to pass under the head to put into cache in case the CPU asks for it next.

Modern hard drives can also do SMART health checks in the background. The CPU doesn't have to concern itself with these things, other than possibly to ask for the results periodically.

Modern SoHo "routers" aren't just routers. They're also access points, switches, DHCP servers, web servers, and they implement NAT, firewalling, sometimes even NAS functions, and a ton of other things. Their processors have tons of work to do.

Basically, a processor is so cheap to implement these days that they're used in almost any case where they make sense. The exception would be cases where the task is very simple or where high performance is required. Heck, there's probably even one in your power supply to manage fan speeds and optimize power consumption.

Tags:

Cpu

Hard Drive