A fan controller may be integrated in silicon and may use an embedded
microcontroller to implement a digital fan control algorithm. The
microcontroller may continually monitor temperature and sample the speed
of the controlled fan. The speed of the fan may be compared to RPM values
fitted on a desired curve that is representative of the
Temperature-versus-RPM function for the controlled fan. The fan control
algorithm may be based on a ramp-rate closed-loop controller (RRCC),
which may be operated to drive the fan to the desired speed at different
rates, depending on the difference between the desired RPM and the actual
RPM of the fan. The fan may also provide a Fan ID feedback signal to the
microcontroller, which may use the Fan ID feedback signal upon system
start-up to initialize the RRCC range settings and select the appropriate
Temperature-versus-RPM function curve based on pre-determined values for
the given fan.