at one time in strict isolation, which does not exploit
the internal parallelism. The performance overhead of
SCC/BPCC comes from the garbage collection, which
will be discussed next. Figure 10 shows similar results.
Garbage Collection Overhead. To provide more insight
into the performance differences shown in Figures 9 and
10, we show the normalized garbage collection (GC)
overhead (in other words, time used for moving the
valid pages from each block to be erased and erasing the
invalid blocks) in Figures 11 and 12 with different abort
ratios. LightTx and MHL-D have the lowest garbage
collection overheads among all the protocols. AW and
MHL-M have 6.1% higher GC overhead than LightTx.
This is because the mapping persistence operations
needed to make transactions durable in AWand MHL-M
are frequent, and the free pages are consumed quickly,
which incurs more garbage collection operations. SCC
and BPCC have much higher GC overhead than LightTx
when abort ratio increases, and the GC overhead in
SCC and BPCC is as high as 41.8x and 4.8x of that
in LightTx when abort ratio is 50%. This is because of
the complex pointer maintenance of SCC/BPCC commit
protocols. In SCC, an uncommitted page needs to be
erased before the new version is written. This forces
a new block that contains an uncommitted page to be
erased even when the percentage of valid pages (i.e.,
pages that are indexed in either the FTL mapping table
or the Active TxTable) is high. BPCC employs the idea
of straddle responsibility set (SRS), which avoids forced
erase operations by attaching the uncommitted pages to
some committed page. However, a page whose SRS is
not null, even if it is invalid, cannot be erased and has
to be moved to the same new location as the valid pages.
These constraints incur high GC overhead in SCC/BPCC