Porosity occurs between the grains.
The carbonate grains are composed of pellets, ooliths and microfossils. This pore type represents the orginal porosity from the time of deposition. Typically this type has good reservoir quality together with predictable porosity - permeability relationships. The Archie parameters for calculation of fluid saturation are similar to a conventional sandstone.
Porosity occurs inside the grains.
During burial and diagenesis of carbonates, the original porosity is partly filled by crystals, often derived from carbonate mud, while some of the grains are disssolved to create new porosity.
This type has poorly connected pores with low permeablity for a given porosity. Log evaluation of saturation is subject to more uncertainty.
Porosity occurs in micro fractures.
Microfracturing is common in carbonates. The fractures are commonly party filled with calcite, dolomite or anhydrite.
The porosity is quite low, but permeablity can be high if the fractures are connected. Log evaluation of saturation is highly uncertain.