Hardware Reference
In-Depth Information
The fluidic-handling operations can be formally categorized as follows:
Category I: This is the set of all reversible operations. They can be simply
re-executed when an error occurs.
Category II: This is the set of nonreversible operations for which immediate
predecessors can provide backup droplets.
Category III: This corresponds to the set of nonreversible operations for which their
immediate predecessors cannot provide backup droplets.
In a given sequencing graph, each node represents an operation. We define the
number of input droplets as the in-number of an operation, and the number of output
droplets as the out-number of an operation. As described below, any operation
opt
k
can be categorized based on the values of its in-number and out-number:
• If in-number of
opt
k
is equal to zero, then
opt
k
is a dispensing operation. Thus
we have:
opt
k
2
Category I.
• If in-number of
opt
k
is equal to one and the out-number of
opt
k
is equal to two,
then
opt
k
is a splitting operation. Thus we have:
opt
k
2
Category I.
•
Suppose
opt
j
is an immediate predecessor of
opt
k
. Then the number of backup
droplets at the output of
opt
j
can be calculated as: B
opt
j
D
ON
j
MN
j
,where
ON
j
is out-number of
opt
j
,and
MN
j
is the number of immediate successors of
opt
j
. If the numbers of backup droplets for
opt
k
's immediate predecessors are all
non-zero, then we have:
opt
k
2
Category II; otherwise,
opt
k
2
Category III.
For an operation
opt
i
, the set of its error-recovery operations,
R
i
, can be derived
according to the categorization result for
opt
i
. For operations in Category I and II,
they can be simply re-executed when an error occurs, as their input droplets are
stored on chip. However, for operations in Category III, their inputs come from the
outputs of predecessor operations and we do not have backup for these droplets.
Thus if an error occurs in an operation of Category III, we not only need to re-
execute the operation itself but also need to backtrace to its predecessors. Assume
that the error operations is
opt
e
and its immediate predecessors are operation
opt
p
1
and
opt
p
2
. If these immediate predecessors are operations in Category I or
Category II, we can first re-execute
opt
p
1
,
opt
p
2
and then
opt
e
for error-recovery,
thus
R
i
Df
opt
p
1
;
opt
p
2
;
opt
e
g
. If the immediate predecessors
opt
p
1
and
opt
p
2
are neither in Category I nor Category II, we have to continue to enlarge
R
i
by
adding the immediate predecessors of
opt
p
1
and
opt
p
2
into
R
i
. This backtracing and
enlargement procedure needs to be repeated until we reach predecessor operations
that can provide backup droplets to feed the inputs of operations in the set of error
operations.
The above procedure of backtracing and enlargement of the set
R
i
can be
described as follows. First, we define the mapping
pred
.
opt
i
/ to be a mapping from
opt
i
to the set of immediate predecessors of
opt
i
in the sequencing graph.
For a set of operations
O
Df
opt
o
1
;
opt
o
2
;:::;
opt
o
k
g
, we define the operator
P
r
as: