Alright, from your statement you said if all nonces have been tried .. does this means they have a specific range value or a max value??
Yes, as you said in the OP:
I also learned that nonce is in a form of 32-bit and its always generate randomly
32-bit has a maximum value of 2^32 or 4,294,967,296, so the range is from 0~4,294,967,296.
It has a relatively low max value compared to the average ASIC's hashrate but miners rely on "
extra nonce" (
in the coinbase transaction) or any other data in the block header so that they can start the nonce from 0 again.