Control solenoid valve with 30N06L mosfet

Hi guys, I have a question concerning the use of PWM with arduino board to control a solenoid valve 3V1-06 through the use of a 30N06L mosfet.
The power supply of the valve is 12V whereas the Vg of the mosfet is 5V.
When the duty cycle is 100%, this conditions are satisfied and the valve works properly. On the contrary, when the duty cycle is lower than 100%, the Vg does not reach 5V and the valve doesn't work.
My question is: does the duty cycle determine the period during which the Vg is 5V and when it is not (i.e. when DT is 50%, Vg is 2.5V)? The duty cycle should determine the working of the valve and not of the mosfet. Isn't it?
Is there a way to control the valve or should I go for another type of valve? Any suggestion?

What is the MINIMUM cycle time for your solenoid?

If you mean the Shortest excitation time, then it is 0.05sec

I mean the length of time needed for the armature of the solenoid to move to it's full limit of motion and return when the power is removed.