1>Please check with your system/Storage administrator on this disk level issue ,make sure not a single block get overwritten.
2>If you have enough space on other disks to hold data of this effected disk,drop that disk ,seems there is some OS level corruption at this disk level ,so it is not able to read that block.
sql> alter diskgroup PROD_DATA_01 drop disk PROD_DATA_01_0045 rebalance power 5;
Wait for rebalance to complete .
from ASM sqlplus till below query returns "no rows selected"
sql> select * from v$asm_operation ;
If you does not have enough space then add a new disk to this diskgroup and the drop this disk ,
Remember ,both separate operation will cause rebalance operation to kick-off,so you have to allow both of them complete.
3> Then start the database on mount stage,
sql> startup mount;
Then check any datafile needs recovery or not,
select * from v$recover_file;
4> If required recovery then ,do recovery of those specific datafiles.
5> Then open the database .
Note:: If after dropping you face any issue related to spfile ,then please recreate the spfile (As it is in same effected diskgroup).
Then refer to below document ,
Recreating the Spfile for RAC Instances Where the Spfile is Stored in ASM (Doc ID 554120.1)