This sounds like it's most likely a simple drive failure, combined w/ some OMSA/controller troubles in displaying the proper status.
The problem drive is probably the one you're seeing in a "ready" state from the BIOS - that just means that the drive still functions when the controller tries to initialize it, but it is no longer an active member of the RAID set due to whatever problem it initially had.
However...
...one drive is status ready, one is status online, and one is status spare
How many total hard drives are there on this controller? If there are only the 3 you're listing, and the controller BIOS menu only reports 1 of 3 drives as a healthy member of the RAID5 (which is clearly incorrect, as you have data access), then we can't trust the information that the controller and OMSA are giving us regarding HDD health/status.
I've upgraded the BMC, BIOS and PERC S100 drivers
Did you update the firmware for the PERC S100 as well? I would say that is equally important, and likely the culprit in the mis-reporting seen.
status of the virtual disk is failed
Is this from OMSA or from the controller BIOS? It would be good to know the VD status from both sides.
Get that controller FW updated if you've not already done so. Otherwise, there may not be much else that you can do aside from deleting and recreating the RAID. Contacting Dell support would be advisable at that point.