spqr - security and privacy research group - qbf-based … · 2014-05-20 · 2 march 2014 qbf...

29
QBF-BASED SYNTHESIS OF OPTIMAL WORD-SPLITTING IN APPROXIMATE MULTI-LEVEL CELLS Daniel E. Holcomb Kevin Fu University of Michigan

Upload: others

Post on 25-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF-BASED SYNTHESIS OF OPTIMAL WORD-SPLITTING IN APPROXIMATE MULTI-LEVEL CELLSDaniel E. Holcomb Kevin Fu University of Michigan

Page 2: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

Motivation

!2

Page 3: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

Motivation• Multi-level cells (MLCs)

• Store 4 bits per cell using 16 discrete levels

!2

Page 4: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

Motivation• Multi-level cells (MLCs)

• Store 4 bits per cell using 16 discrete levels• Approximate computing

• Save resources by allowing errors [Sampson et al. ’13] • Errors between nearby levels • But still want to minimize impact of errors

!2

Page 5: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

Motivation• Multi-level cells (MLCs)

• Store 4 bits per cell using 16 discrete levels• Approximate computing

• Save resources by allowing errors [Sampson et al. ’13] • Errors between nearby levels • But still want to minimize impact of errors

• Design decisions • Data words don't fit in one MLC • How to split word across multiple MLCs?

!2

Page 6: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

Example

MLCs:

Data Word:

??? ???

Write Operation Read Operation

!3

Page 7: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

Example

MLCs:

Data Word:

Write Operation Read Operation

!3

Page 8: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

Example

MLCs:

Data Word:

Write Operation Read Operation

!3

Page 9: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

Example

MLCs:

Data Word:

Write Operation Read Operation

!3

Page 10: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

Example

MLCs:

Data Word:

Write Operation Read Operationwrite 96

!3

0 1 1 0 0 0 0 0

Page 11: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

Example

MLCs:

Data Word:

Write Operation Read Operationwrite 96

!3

write 3 write 00 0 1 1 0 0 0 0

0 1 1 0 0 0 0 0

Page 12: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

Example

MLCs:

Data Word:

Write Operation Read Operationwrite 96

!3

write 3 read 4write 0 read 00 0 1 1 0 0 0 0 0 0 0 00 1 0 0

0 1 1 0 0 0 0 0

Page 13: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

Example

MLCs:

Data Word:

Write Operation Read Operationwrite 96

!3

write 3 read 4

MLC error = 1

write 0 read 00 0 1 1 0 0 0 0 0 0 0 00 1 0 0

0 1 1 0 0 0 0 0

Page 14: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

Example

MLCs:

Data Word:

Write Operation Read Operationwrite 96 read 16

!3

write 3 read 4

MLC error = 1

write 0 read 00 0 1 1 0 0 0 0 0 0 0 00 1 0 0

0 0 0 1 0 0 0 00 1 1 0 0 0 0 0

Page 15: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

Example

MLCs:

Data Word:

Write Operation Read Operationwrite 96 read 16

word error = 80

!3

write 3 read 4

MLC error = 1

write 0 read 00 0 1 1 0 0 0 0 0 0 0 00 1 0 0

0 0 0 1 0 0 0 00 1 1 0 0 0 0 0

Page 16: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

Example

MLCs:

Data Word:

Write Operation Read Operationwrite 96 read 16

word error = 80

!3

write 3 read 4

MLC error = 1

write 0 read 00 0 1 1 0 0 0 0 0 0 0 00 1 0 0

0 0 0 1 0 0 0 00 1 1 0 0 0 0 0

Assuming a fixed upper bound on MLC error, can we find a mapping between data word and MLCs that minimizes worst-case word error?

Page 17: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

QBF Formulation of Word-Splitting

!4

DW

C1R C0R

SXBAR XBAR

Page 18: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

QBF Formulation of Word-Splitting

!4

• QBF: SAT with alternating quantifiers• Formulate QBF-based synthesis by way

of combinational circuit

DW

C1R C0R

SXBAR XBAR

Page 19: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

QBF Formulation of Word-Splitting

!4

• QBF: SAT with alternating quantifiers• Formulate QBF-based synthesis by way

of combinational circuit• Crossbars implement mapping

between data words and MLCs• 64 bits specify xbar connections• 8-bit written dataword • 4-bit value read from each MLC

DW

C1R C0R

SXBAR XBAR

Page 20: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

QBF Formulation of Word-Splitting

!4

• QBF: SAT with alternating quantifiers• Formulate QBF-based synthesis by way

of combinational circuit• Crossbars implement mapping

between data words and MLCs• 64 bits specify xbar connections• 8-bit written dataword • 4-bit value read from each MLC

DW

C1R C0R

S

C1WC0W

DR

XBAR XBAR

Page 21: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

QBF Formulation of Word-Splitting

!4

• QBF: SAT with alternating quantifiers• Formulate QBF-based synthesis by way

of combinational circuit• Crossbars implement mapping

between data words and MLCs• 64 bits specify xbar connections• 8-bit written dataword • 4-bit value read from each MLC

• Check word and MLC error bounds

DW

C1R C0R

S

C1WC0W

DR

XBAR XBAR

Page 22: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

QBF Formulation of Word-Splitting

!4

• QBF: SAT with alternating quantifiers• Formulate QBF-based synthesis by way

of combinational circuit• Crossbars implement mapping

between data words and MLCs• 64 bits specify xbar connections• 8-bit written dataword • 4-bit value read from each MLC

• Check word and MLC error bounds

DW

C1R C0R

S

C1WC0W

DR

XBAR XBAR

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

2 2014/3/1

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�WORD :=�|DW �DR| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

9S 8DW8CR1 8CR

0 (�MLC =) �WORD)

9S8DW8CR1 8CR

0 (�MLC =) �WORD)

�MLC :=�|CW

1 � CR1 | EC

�^

�|CW

0 � CR0 | EC

�(4)

2 2014/3/1

Page 23: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

QBF Formulation of Word-Splitting

!4

• QBF: SAT with alternating quantifiers• Formulate QBF-based synthesis by way

of combinational circuit• Crossbars implement mapping

between data words and MLCs• 64 bits specify xbar connections• 8-bit written dataword • 4-bit value read from each MLC

• Check word and MLC error bounds

DW

C1R C0R

S

C1WC0W

DR

XBAR XBAR

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

2 2014/3/1

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�WORD :=�|DW �DR| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

9S 8DW8CR1 8CR

0 (�MLC =) �WORD)

2 2014/3/1

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

2 2014/3/1

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�WORD :=�|DW �DR| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

9S 8DW8CR1 8CR

0 (�MLC =) �WORD)

9S8DW8CR1 8CR

0 (�MLC =) �WORD)

�MLC :=�|CW

1 � CR1 | EC

�^

�|CW

0 � CR0 | EC

�(4)

2 2014/3/1

Page 24: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

QBF Formulation of Word-Splitting

!4

• QBF: SAT with alternating quantifiers• Formulate QBF-based synthesis by way

of combinational circuit• Crossbars implement mapping

between data words and MLCs• 64 bits specify xbar connections• 8-bit written dataword • 4-bit value read from each MLC

• Check word and MLC error bounds• Gatewise translate circuit to CNF

clauses

DW

C1R C0R

S

C1WC0W

DR

XBAR XBAR

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

2 2014/3/1

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�WORD :=�|DW �DR| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

9S 8DW8CR1 8CR

0 (�MLC =) �WORD)

2 2014/3/1

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

2 2014/3/1

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�WORD :=�|DW �DR| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

9S 8DW8CR1 8CR

0 (�MLC =) �WORD)

9S8DW8CR1 8CR

0 (�MLC =) �WORD)

�MLC :=�|CW

1 � CR1 | EC

�^

�|CW

0 � CR0 | EC

�(4)

2 2014/3/1

Page 25: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

QBF Formulation of Word-Splitting

!4

• QBF: SAT with alternating quantifiers• Formulate QBF-based synthesis by way

of combinational circuit• Crossbars implement mapping

between data words and MLCs• 64 bits specify xbar connections• 8-bit written dataword • 4-bit value read from each MLC

• Check word and MLC error bounds• Gatewise translate circuit to CNF

clauses• Synthesis by solving Boolean formula

with appropriately quantified variables

DW

C1R C0R

S

C1WC0W

DR

XBAR XBAR

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

2 2014/3/1

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�WORD :=�|DW �DR| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

9S 8DW8CR1 8CR

0 (�MLC =) �WORD)

2 2014/3/1

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

2 2014/3/1

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�WORD :=�|DW �DR| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

9S 8DW8CR1 8CR

0 (�MLC =) �WORD)

9S8DW8CR1 8CR

0 (�MLC =) �WORD)

�MLC :=�|CW

1 � CR1 | EC

�^

�|CW

0 � CR0 | EC

�(4)

2 2014/3/1

Page 26: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

QBF Formulation of Word-Splitting

!4

• QBF: SAT with alternating quantifiers• Formulate QBF-based synthesis by way

of combinational circuit• Crossbars implement mapping

between data words and MLCs• 64 bits specify xbar connections• 8-bit written dataword • 4-bit value read from each MLC

• Check word and MLC error bounds• Gatewise translate circuit to CNF

clauses• Synthesis by solving Boolean formula

with appropriately quantified variables

DW

C1R C0R

S

C1WC0W

DR

XBAR XBAR

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

2 2014/3/1

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�WORD :=�|DW �DR| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

9S 8DW8CR1 8CR

0 (�MLC =) �WORD)

2 2014/3/1

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�WORD :=�|DW �DR| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

9S 8DW8CR1 8CR

0 (�MLC =) �WORD)

9S8DW8CR1 8CR

0 (�MLC =) �WORD)

2 2014/3/1

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

2 2014/3/1

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�WORD :=�|DW �DR| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

9S 8DW8CR1 8CR

0 (�MLC =) �WORD)

9S8DW8CR1 8CR

0 (�MLC =) �WORD)

�MLC :=�|CW

1 � CR1 | EC

�^

�|CW

0 � CR0 | EC

�(4)

2 2014/3/1

Page 27: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

QBF Formulation of Word-Splitting

!4

• QBF: SAT with alternating quantifiers• Formulate QBF-based synthesis by way

of combinational circuit• Crossbars implement mapping

between data words and MLCs• 64 bits specify xbar connections• 8-bit written dataword • 4-bit value read from each MLC

• Check word and MLC error bounds• Gatewise translate circuit to CNF

clauses• Synthesis by solving Boolean formula

with appropriately quantified variables

DW

C1R C0R

S

C1WC0W

DR

XBAR XBAR

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

2 2014/3/1

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�WORD :=�|DW �DR| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

9S 8DW8CR1 8CR

0 (�MLC =) �WORD)

2 2014/3/1

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�WORD :=�|DW �DR| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

9S 8DW8CR1 8CR

0 (�MLC =) �WORD)

9S8DW8CR1 8CR

0 (�MLC =) �WORD)

2 2014/3/1

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

2 2014/3/1

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�WORD :=�|DW �DR| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

9S 8DW8CR1 8CR

0 (�MLC =) �WORD)

9S8DW8CR1 8CR

0 (�MLC =) �WORD)

�MLC :=�|CW

1 � CR1 | EC

�^

�|CW

0 � CR0 | EC

�(4)

2 2014/3/1

• If QBF solution exists, solver produces assignment to existentially quantified variables

• This assignment guarantees property to always hold

Page 28: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

QBF Formulation of Word-Splitting

!4

• QBF: SAT with alternating quantifiers• Formulate QBF-based synthesis by way

of combinational circuit• Crossbars implement mapping

between data words and MLCs• 64 bits specify xbar connections• 8-bit written dataword • 4-bit value read from each MLC

• Check word and MLC error bounds• Gatewise translate circuit to CNF

clauses• Synthesis by solving Boolean formula

with appropriately quantified variables

DW

C1R C0R

S

C1WC0W

DR

XBAR XBAR

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

2 2014/3/1

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�WORD :=�|DW �DR| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

9S 8DW8CR1 8CR

0 (�MLC =) �WORD)

2 2014/3/1

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�WORD :=�|DW �DR| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

9S 8DW8CR1 8CR

0 (�MLC =) �WORD)

9S8DW8CR1 8CR

0 (�MLC =) �WORD)

2 2014/3/1

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

2 2014/3/1

� =��|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

��=)

�|S(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�MLC :=�|CW

1 � CR1 | EC

�^�|CW

0 � CR0 | EC

�WORD :=�|S�1(CW

1 , CW0 )� S(CR

1 , CR0 )| ED

�WORD :=�|DW �DR| ED

9S 8CW1 8CW

0 8CR1 8CR

0 (�MLC =) �WORD)

9S 8DW8CR1 8CR

0 (�MLC =) �WORD)

9S8DW8CR1 8CR

0 (�MLC =) �WORD)

�MLC :=�|CW

1 � CR1 | EC

�^

�|CW

0 � CR0 | EC

�(4)

2 2014/3/1

• If QBF solution exists, solver produces assignment to existentially quantified variables

• This assignment guarantees property to always hold

Page 29: SPQR - Security And Privacy Research Group - QBF-BASED … · 2014-05-20 · 2 March 2014 QBF Synthesis of Optimal Word-Splitting Motivation • Multi-level cells (MLCs) • Store

QBF Synthesis of Optimal Word-Splitting2 March 2014

Results• QBF-based synthesis to find optimal word-splitting

!5

the probability of having a word error of 0 is less than25%, because the remapping M introduces a systematicerror even when the cells are error free.

Figure 7 shows the average word error as a function ofthe probability of a single-level error in each MLC. Whenthe cell error probability is 0, the only approach to have non-zero word-level error is the synthesized word-splitting withremapping. This error is on account of the remapping, whichintroduces a systematic error for the remapped levels. As theprobability of cell error increases, the synthesized result withremapping has the best average-case error, in addition to thebest worst-case error of 10.

0

0.2

0.4

0 20 40 60 80 100 120 140

pro

bab

ilit

y

word-level error

interleaved

0

0.2

0.4

0 20 40 60 80 100 120 140

pro

bab

ilit

y

word-level error

synthesized

0

0.2

0.4

0 20 40 60 80 100 120 140

pro

bab

ilit

y

word-level error

synthesized, with remapping

Figure 6. Probability distribution of word-level error(|DR � DW |) using the three approaches discussed in thepaper. The distribution is obtained from 500k random trialsusing Verilog simulation. The results are for the the inter-leaved word-splitting and the two synthesized word-splittingapproaches. The probability of a single-level error in eachcell is 50%, and the errors are independent for each cell. Thevertical lines are the average word-level error and the largesterror observed in the random trials.

0

0.25

0.5

0.75

1

1.25

0 0.02 0.04 0.06 0.08 0.1

avg

wo

rd-l

evel

err

or

probability of cell error

interleavedsynthesized

synthesized, with remapping

Figure 7. Observed average word-level error (|DR �DW |)as a function of the probability of a single-level error in eachMLC.

6. Future Work and ConclusionsThis work proposed the use of automated synthesis tech-niques for splitting data words across approximate MLCstorage, such that the worst-case error is minimized atthe word-level. The synthesis technique is based on QBF-solving, and the results are validated through random simu-lation.

While MLC errors will generally occur as transitionsbetween neighboring levels as assumed in this work, fu-ture work will explore an error model that is more closelymatched to the particular errors of a specific MLC technol-ogy. Other QBF solving techniques such as quantifier instan-tiation can be applied. To address the limitation of havingno preference among solutions with equivalent worst-caseword-level error bounds (Sec. 5.3), the synthesis techniquecan be extended to consider all solutions that guarantee theoptimal worst-case bound, and to choose among them basedon a metric such as average-case word-level error.Acknowledgement: This work was supported in part byC-FAR, one of six centers of STARnet, a SemiconductorResearch Corporation program sponsored by MARCO andDARPA, and NSF CNS-0845874. Any opinions, findings,conclusions, and recommendations expressed in these mate-rials are those of the authors and do not necessarily reflectthe views of the sponsors

References[1] H. Esmaeilzadeh, A. Sampson, L. Ceze, and D. Burger. Archi-

tecture support for disciplined approximate programming. InASPLOS XVI: Proceedings of the sixteenth international con-ference on Architectural support for programming languagesand operating systems, Apr. 2012.

[2] A. Jiang, R. Mateescu, M. Schwartz, and J. Bruck. Rankmodulation for flash memories. Information Theory, 2008.ISIT 2008. IEEE International Symposium on, pages 1731–1735, 2008.

[3] T. Larrabee. Test pattern generation using Boolean satisfia-bility. IEEE Transactions on Computer-Aided Design of Inte-grated Circuits and Systems, 11(1):4–15, 1992.

[4] S. Liu, K. Pattabiraman, T. Moscibroda, and B. G. Zorn.Flikker: saving DRAM refresh-power through critical datapartitioning. In ASPLOS XVI: Proceedings of the sixteenth in-ternational conference on Architectural support for program-ming languages and operating systems, June 2012.

[5] F. Lonsing and A. Biere. DepQBF: A Dependency-AwareQBF Solver. JSAT, 7(2-3):71–76, 2010.

[6] F. Lonsing, U. Egly, and A. Van Gelder. Efficient ClauseLearning for Quantified Boolean Formulas via QBF PseudoUnit Propagation. In SAT 2013, pages 100–115, 2013.

[7] A. Niemetz, M. Preiner, F. Lonsing, M. Seidl, and A. Biere.Resolution-Based Certificate Extraction for QBF - (Tool Pre-sentation). In SAT, pages 430–435, 2012.

[8] M. Salajegheh, Y. Wang, A. A. Jiang, E. Learned-Miller, andK. Fu. Half-Wits: Software Techniques for Low-Voltage Prob-abilistic Storage on Microcontrollers with NOR Flash Mem-ory. ACM Transactions on Embedded Computing Systems, 12(2s), May 2013.

[9] A. Sampson, W. Dietl, E. Fortuna, D. Gnanapragasam,L. Ceze, and D. Grossman. EnerJ: approximate data typesfor safe and general low-power computation. In PLDI ’11:Proceedings of the 32nd ACM SIGPLAN conference on Pro-gramming language design and implementation, June 2011.

[10] A. Sampson, J. Nelson, K. Strauss, and L. Ceze. ApproximateStorage in Solid-State Memories. IEEE Micro, 2013.

6 2014/2/8