A blood circulation assist system, comprising: a blood pump including an impeller disposed within a blood flow channel of the blood pump and a motor stator operable to magnetically rotate the impeller, the impeller having an impeller axis of rotation around which the impeller is rotated, the motor stator being further operable to magnetically levitate the impeller within the blood flow channel transverse to the impeller axis of rotation; a controller operatively coupled with the blood pump, characterized in that the controller is configured to: determine an impeller rotational speed for the impeller; determine an amount of a drive current used to rotate the impeller; determine at least one impeller transverse position parameter, the at least one impeller transverse position parameter being based on at least one of an amount of a bearing current that is used to levitate the impeller transverse to the impeller axis of rotation, and a position of the impeller within the blood flow channel transverse to the impeller axis of rotation; estimate a flow rate of blood pumped by the blood pump based on the impeller rotational speed and the drive current when the drive current is below a first drive current threshold; and estimate the flow rate based on the impeller rotational speed and the at least one impeller transverse position parameter when the drive current is above the first drive current threshold. a blood pump including an impeller disposed within a blood flow channel of the blood pump and a motor stator operable to magnetically rotate the impeller, the impeller having an impeller axis of rotation around which the impeller is rotated, the motor stator being further operable to magnetically levitate the impeller within the blood flow channel transverse to the impeller axis of rotation; a controller operatively coupled with the blood pump, characterized in that the controller is configured to: determine an impeller rotational speed for the impeller; determine an amount of a drive current used to rotate the impeller; determine at least one impeller transverse position parameter, the at least one impeller transverse position parameter being based on at least one of an amount of a bearing current that is used to levitate the impeller transverse to the impeller axis of rotation, and a position of the impeller within the blood flow channel transverse to the impeller axis of rotation; estimate a flow rate of blood pumped by the blood pump based on the impeller rotational speed and the drive current when the drive current is below a first drive current threshold; and estimate the flow rate based on the impeller rotational speed and the at least one impeller transverse position parameter when the drive current is above the first drive current threshold. determine an impeller rotational speed for the impeller; determine an amount of a drive current used to rotate the impeller; determine at least one impeller transverse position parameter, the at least one impeller transverse position parameter being based on at least one of an amount of a bearing current that is used to levitate the impeller transverse to the impeller axis of rotation, and a position of the impeller within the blood flow channel transverse to the impeller axis of rotation; estimate a flow rate of blood pumped by the blood pump based on the impeller rotational speed and the drive current when the drive current is below a first drive current threshold; and estimate the flow rate based on the impeller rotational speed and the at least one impeller transverse position parameter when the drive current is above the first drive current threshold.