Normally Hall effect sensors are arranged in a way they give information about rotor position, in order to correctly drive the motor coils. For a six-step BLDC you will have 6 different configuration and, for each one, a different configuration of the output bridges.
You can obtain more information simply by measuring the time between each commutation, or counting the number of commutations in a fixed period. Measuring time between Hall changes is good for slow speed - counting commutations in a fixed period of time is good for higher speeds.
"Encoder data", as you call it, can be different things, for example it can be A and B signals of a quadrature encoder, or a PWM signal or something else. And those "encoder data" are normally decoded to obtain speed and position. But you don't need "encoder data" if you have Hall sensors, unless you want to generate those "encoder data" to be output to some other device. Reading correctly (interrupt) the Hall sensors will give you speed and position (in number of commutations), but it is true that an encoder, normally, has much more resolution.