ECC Design for Fault-Tolerant Crossbar Memories:
A Case Study
Nor Zaidi Haron1,2 Said Hamdioui1 Zaiyan Ahyadil
1 Computer Engineering Laboratory, Delſt University of Technology, T he Netherlands
2 Faculty of Electronics and Computer Engineering, Univeristi Teknikal Malaysia Melaka, Malaysia
{N.Z.B.Haron, S.Hamdioui}@tudelſt.nl, zaidi@utem.edu.my
Abstract-Crossbar memories are promlsmg memory tech-
nologies for future data storage. Although the memories offer
trillion-capacity of data storage at low cost, they are expected
to suffer from high defect densities and fault rates impacting
their reliability. Error correction codes (ECCs), e.g., Redundant
Residue Number System (RRNS) and Reed Solomon (RS) have
been proposed to improve the reliability of memory systems. Yet,
the implementation of the ECCs was usually done at software
level, which incurs high cost. This paper analyzes ECC design
for fault-tolerant crossbar memories. Both RS and RRNS codes
are implemented and experimentally compared in terms of their
area overhead, speed and error correction capability. The results
show that the encoder and decoder of RS requires 7.5x smaller
area overhead and operates 8.4x faster as compared to RRNS.
Both ECCs has fairly similar error correction capability.
I. INTRODUCT ION
The quest for new memory technology that can provide
rther scalability, yet able to tolerate reliability failures has
made fault tolerance as one of the key requirements [1]-[6].
Crossbar memory is one of the emerging new memory tech-
nologies able to offers trillion-capacity of data storage at low
power consumption and reduced fabrication cost. However,
these advantages do not come for ee as several challenges
need to be resolved [3]. One of the challenges is that the
memories are likely to suffer om high defect densities and
fault rates impacting their reliability.
In order to improve the reliability of crossbar mem-
ories, error correction codes (ECCs) such as Hamming,
Low-Density Parity-Check (LDPC) and Bose-Hocquengham-
Chaudhuri (BCH) codes [7]-[11] have been proposed. Accord-
ing to [5], [6], defects and faults in crossbar memories tend to
induce cluster errors; hence, ECCs able to correct such errors,
such as RS [12] and RRNS [13]-[15], are required. adi-
tionally, these ECCs have been implemented using soſtware
resulting in low performce; this make such implementation
unsuitable for scalable yet unreliable crossbar memories.
This paper studies ECC design for fault-tolerant crossbar
memories. The encoder and decoder of both RS and RRNS
are designed and implemented. An evaluation in tes of their
area overhead and decoding speed as well as error correction
capability is carried out. The evaluation shows that the encoder
and decoder of RS requires smaller area and operates faster as
compared to that of RRNS. Moreover, both ECCs can coect
almost equivalent numbers of errors.
The rest of the paper is organized as follows. Section II gives
978-1-61284-292-9/10/$26.00 ©2010 IEEE 61
the background of crossbar memories and error correction
codes. Section III presents the theory of RS and RRNS that are
used in our work. Section IV explains the design of the encoder
and decoder for both ECCs. Section V analyzes and compares
the area overhead, speed and error correction capability of the
considered ECCs. Section VI concludes this paper.
II. BACKGROUND
This section gives the background required to rther under-
stand the paper. It starts with explaining crossbar memories,
thereaſter error correction codes.
A. Crossbar Memories
Figure l(a) shows one of the crossbar memories referred
to as CMOS/Molecular (CMOL) memory [7], [8]. CMOL
memory provides the utmost data storage capacity as huge
as lTbitlcm
2
, which is about three magnitude denser than
the existing semiconductor memories. In addition to the data
storage, the novelties of this hybrid memory are: (i) the
memory array is stacked above the peripheral circuits (3D
stacking IC instead of planar Ie), and (ii) the memory array
are formed by non-CMOS devices instead of CMOS and/or
capacitor.
The memory array consists of nanowire crossbars with
reconfigurable two-terminal nanodevices embedded at each
crosspoint. Because non-CMOS-based devices are incapable
to perform the periphery tasks (e.g., sensing, amplification,
etc.), nanoscale CMOS is required to structure the peripheral
circuits [7], [8]. Two sets of CMOS-to-nano (CtN) interface
pins connect the memory array to the peripheral circuits; see
Fig. 1(b). These CtN interface pins are different in height such
that the short pins connect the lower nanowires, while the tall
pins connect the upper nanowires.
In order to write to and read om the memory, a sufficient
voltage is biased across the targeted two-teinal nanodevices
(memory cells) om the CMOS-based peripheral circuits
through the CtN interface pins to the corresponding nanowires
[7], [8]. For writing, the voltage must be larger than the
threshold voltage of the two-terminal devices to them on
(represent 1) and smaller to them off (represents 0). For
reading, a smaller voltage is used. Note that the value of the
voltages depends on the two-teinal nanodevices used as the
memory cells [7].