1. A method comprising: utilizing, by a controller, at most, half of a full data storage capacity of a flash memory cache to cache data of a storage device that comprises a redundant array of independent disks (RAID) of a multicore processor computer; and writing the data back to the RAID using a write back caching scheme, the write back caching scheme resulting in stored data in the storage device being capable of being asynchronous with cached data in flash memory cache, the cached data in the flash memory cache to be periodically flushed, prior to shutdown of the apparatus, to the storage device so as to ensure that, after completion of a flushing of the cached data to the storage device, all flushed cached data is capable of being recoverable despite improper shutdown of the apparatus; the controller comprising both a run-time controller and a recovery controller, the run-time controller to implement caching mechanisms, the caching mechanisms including (1) detection of cache hits and cache misses and (2) queuing of caching commands and eviction commands; the recovery controller to recover, after a failure event has occurred, cache state of cache lines in the cache; the run-time controller and the recovery controller being comprised, at least in part, in a block storage driver of an operating system of the computer; the run-time controller and/or the recovery controller to (1) determine, at least in part, whether processor utilization rate of the computer is below a threshold, and (2) synchronize the cached data of the cache with the stored data of the storage device when the processor utilization rate is below the threshold.