All depends on controller model type and software assurance.
There are several guides on MOL about this very subject. The release notes for 4.X also go over it.
The watered down version is that you have to go to 4.0, do a database type change within the software, and then can go to 4.1.