If PAGEIOLATCH_SH, PAGEIOLATCH_EX, PAGEIOLATCH_UP are high, then it basically means that the disk system is not fast enough.
That does not mean that you must buy a new disk system.
It means that we must see if we can reduce the workload on the IO system before, and if that does not work, then of course a new IO system can be a consequence. But don't start buying a new IO Sub system, because I think that 90% of all these waits is due to missing indexes, to little memory or bad coding.
What to do
We could start in many places, but what I would do is I would start looking into missing indexes, to see if there are many table scans.
One way is to use the webpart on the frontpage of SQL Powerhouse to see Missing indexes and the impact.
You could also investigate if the memory is under pressure. Here you could look at some performance counters like Page life expectancy or buffer cache hit ratiro.
that will solve 90% of your problems, but if it does not, then you must look at some of the disk related key figures, like the webpart virtual filestats. If that shows a high latency, then it might be the disc system that should be changed.