Tuesday, March 6, 2012

Surely it can't make the drives any faster so what precisely does a smart controller do to speed things up and justify the huge price tag? Or is this simply selling to idiots who demand the best but have no idea what they are buying?Is a smart disk controller really better than an ordinary one for a server?are you talking about this:

http://en.wikipedia.org/wiki/S.M.A.R.T.Is a smart disk controller really better than an ordinary one for a server?The basic advantage is that a smart controller can take more complex commands from the computer and break them up into discrete steps to be carried out by the hard drive(s).

For example, a single read may encompass reading data from several distinct areas from the disk and placing the data read into several distinct areas of memory - because of virtual memory even if an application requests a single buffer is filled that may not translate into a single region of physical memory. For an unintelligent controller the computer must work out where the first block must go and then request the disk drive transfer than data. Traditionally with ATA it can't then do anything else with the disk until that request has been completed although that is beginning to diminish with NCQ equipped drives.

It carries on running your applications until it is told the transfer is complete. It then breaks off from what it was doing, works out what the next block to be transferred is, and requests that operation is performed, and so on until the entire transfer has been done. Constantly switching between running your applications and managing the disk like this (it is called a context switch) takes an awful lot of time and limits the benefits you get from your cache and branch predictor. That harms the performance of your computer and also slows down the effective performance of the disk, since it does not respond right away when the previous disk command is completed.

A smart disk controller can simple be told "transfer the data from here, here and here on the disk to here, here and here in memory" It then goes off and does the whole lot before reporting back to the computer that it is done. This means that the computer does not have to spend as long dealing with the hard disk and also that the transfer is performed much more quickly anyway, since the controller can respond to the hard drive much more quickly than the computer could.

This adds up to a good performance boost even for a single hard drive. For RAID configurations the improvement is even more dramatic. Instead of the computer having to figure out where the data should be stored on each individual drive and talking to each of them, it sends the request to the controller as a single block. The controller then sorts out all the low level details for itself allowing the computer to get on with running your applications.

火车采集器

No comments:

Post a Comment