only call cacheBlock if storageDirId is valid