It's usually indicative of some kind of corruption, possibly transient. Run DBCC CHECKDB on the database concerned. If it doesn't turn up anything, it could be a transient problem in the IO subsystem (e.g. stale reads from a disk controller) rather than hard corruption - in which case you should run IO subsystem diagnostics and SQLIOSim.
It could also be bad memory producing a transient corruption - run memory diagnostics too if DBCC CHECKDB doesn't turn up anything.
Thanks