Cache access time = 1ms
Disk read time = 10ms
question says what minimum size of cache should we select (also cache size should be a multiple of 10 as indicated by last line of the question) so that average read latency comes below 6ms.
So, our formula for average read access time is as follows
$T_{avg_{Read}}$ = Hit rate of cache * Cache access time + Miss rate of cache *( Time required to check cache(Given to be 0) + Time required to read from disk)
let Hit rate of cache be x
Now it is given Average Read access time must be LESS than 6ms.
So using above equation
$T_{avg_{read}} \lt6ms$
$H_rT_c+(1-H_r)T_d \lt 6$
where $H_r=Hit \,ratio$
$T_c=$Latency to read a block from cache.
$T_d=$Latency to read a block from disk
$H_r(1)+(1-H_r)(10) \lt 6$
$0.44 \lt H_r$ which specifies the hit ratio of the cache must be strictly greater than 0.44.
For 20MB Cache: Miss Rate=60%, Hit Rate=40%. This cache is not suitable as implied by above analysis.
With this cache: $T_{avg_{read}}=0.4*1+0.6*10=6.4 \not \lt 6$
For 30MB Cache: Miss rate=40%, Hit rate=60%. This cache should be suitable as $H_r \gt 0.44$
$T_{avg{Read}}=0.6+0.4*10=4.6 \lt 6$
So minimum size cache required=30MB.