A normal industrial "servo drive" for a DC motor is normally a double-loop type.
The outer loop (velocity or rate) compares actual speed to commanded speed.
The error signal from that is the input to the inner loop, which controls current.
With a BLDC motor, the current demand signal controls the duty cycle of the three phase PWM signal, with phasing of that based on the position sensors in the motor; or back EMF measurements if the motor is sensorless (but servos always have sensor feedback).
This gives a bit more information:
A servo system can include any combination of three types of control loop - position, velocity, or current - depending on the performance requirements.
www.motioncontroltips.com
The "Position loop" part is often separate from the servo drive, eg. a CNC or robotics system that uses the servo drives for positioning.
Grab the TPAR drive manual from this site; it's a 1970s design and very simple, but incredibly good at what it does.
The rate loop and current loop parts are on separate cards with individual diagrams, so you can see their functions easily.