1. Introduction
As the scale of deep neural network (DNN) models continues to grow, a large volume of weights and feature data must be frequently transferred between computing units and external memory during inference, which gives rise to the memory wall problem [
1,
2,
3,
4,
5,
6]. This bottleneck, caused by the mismatch between computational speed and memory access bandwidth, has become a key factor that limits system performance and energy efficiency. To reduce the cost of data movement, computing-in-memory (CIM) architectures perform computations directly within memory arrays, thereby effectively improving data reuse and reducing the time and energy overhead associated with data transfer. Among various CIM technologies, resistive random access memory (RRAM) has emerged as one of the most promising CIM implementations because of its non-volatility, low power consumption, high density, and capability to perform in situ vector-matrix multiply-accumulate (MAC) operations in crossbar arrays.
An RRAM-based CIM system typically consists of multiple processing engines (PEs), where each PE contains several computation units (CUs), and each CU is further composed of multiple crossbar arrays and their peripheral circuits, as shown in
Figure 1. These peripheral components include, for example, the input register (IR), word line vector generator (WVG), sample-and-hold circuit (S&H), output register (OR), and analog-to-digital converter (ADC) [
7]. Although such an architecture can efficiently execute large-scale matrix-vector multiplication, the simultaneous activation of a large number of word lines and bit lines to improve throughput is often constrained by the resolution and conversion speed of the ADC. A high-resolution ADC can improve computational accuracy, but it incurs higher area and power costs. In contrast, a low-resolution ADC is more favorable for energy saving and hardware implementation, but it can suffer from reduced accuracy and limited efficiency [
8]. To achieve a balance among accuracy, throughput, and hardware cost, the concept of an operating unit (OU) was proposed in [
9], in which a large crossbar array is divided into multiple smaller sub-computing units so that each OU activates only a fixed number of word lines and bit lines in a single cycle and performs dot-product operations in a segmented manner using low-resolution ADCs [
9,
10,
11,
12]. This approach can effectively reduce the accumulated current deviation and shorten the sensing latency.
However, the weights and activations in DNNs are typically highly sparse. If redundant computations associated with zero values can effectively be skipped, power consumption can be further reduced, and overall computational efficiency can be improved [
9,
10,
13,
14,
15,
16]. Based on this observation, the dynamic OU formation mechanism (DOF) was proposed in [
9]. By exploiting the sparsity of input activations, DOF dynamically selects word lines with nonzero activations in each computation cycle to form a virtual OU, thereby skipping all-zero paths and reducing both execution cycles and energy consumption. In addition, this mechanism can be combined with sparse data representation, zero skip, or compressed data encoding techniques to further improve system performance [
9,
14,
15,
17].
As process variation increases and array sizes continue to scale up, non-ideal effects and device failures in RRAM crossbar arrays have become increasingly significant [
18]. Common stuck-at-zero and stuck-at-one faults may prevent memory cells from correctly updating their resistance states, thereby causing weight storage errors and ultimately affecting the correctness of MAC operations. To address this issue, Huang et al. [
19] proposed a fault-tolerant method that introduces spare rows into the dynamic OU architecture. By replacing faulty word lines with spare word lines, the availability and yield of RRAM-based CIM systems can be improved. Nevertheless, this method mainly considers the case where the demand for fault activation does not exceed the available redundancy resources, and it does not address the operating mechanism when the number of faulty word lines that need to be activated simultaneously in a given computation cycle exceeds the number of spare rows.
We observe that for the OU/DOF architecture, the sufficiency of spare rows is determined not by the total number of faulty word lines, but rather by the number of faulty word lines that must be activated simultaneously within a given cycle. To formally describe this issue, let
S denote the number of spare rows allocated in each OU, and
F denote the number of faulty word lines that need to be activated concurrently during a computation cycle. When
, the method proposed in [
19] can successfully perform fault mapping (to spare rows) and generate the corresponding activation vectors for all faulty word lines. However, when
, a single mapping process is no longer sufficient to cover all faulty activation requirements. In other words, whenever a cycle encounters the condition
, the method in [
19] cannot operate correctly.
To address the above issue, this paper proposes an OU/DOF control architecture that dynamically performs mapping between faulty word lines and spare rows, allowing support for both fault scenarios where and . When , the control logic can complete the mapping of the faulty word lines (to the spare rows) and the generation of the activation-vector in a single pass. When , the proposed architecture employs a time-domain partitioning (multi-pass) strategy to divide the activation requirements (for faulty word lines) into multiple passes for sequential processing, ensuring that the number of spare rows used in each pass does not exceed S. Based on this mechanism, the original DOF scheme is modified to support segmented control. Under the constraint of the simultaneously activated word lines, valid word lines are dynamically selected to form virtual OUs, thereby maintaining a correct and stable computation flow.
Note that in addition to the design of the RRAM system, many studies have focused on RRAM materials, such as those reported in [
20,
21]. Furthermore, RRAM devices can serve as adaptive sensory front ends for neuromorphic edge intelligence, as demonstrated in [
22].
The main contributions of this paper are summarized as follows. First, this paper proposes a fault-tolerant control mechanism that supports cases where the number of faulty rows exceeds the number of spare rows. As long as the spare rows themselves are fault-free, the proposed multi-pass remapping scheme can ensure the continued operation of the RRAM-based CIM system. Second, this paper further presents a hardware architecture to realize the proposed mechanism, including fault-aware vector remapping, prefix-sum correction, and a multi-pass control module. Finally, the experimental results show that the proposed method incurs only very small areas and power overhead, demonstrating its strong feasibility for hardware implementation and practical application potential.
3. Motivation
Although RRAM-based CIM has been widely regarded as a promising technology for accelerating deep neural network inference due to its high density, low power consumption, and in-memory computing capability, its insufficient process maturity and device non-idealities still pose significant challenges to practical deployment. At the device level, common fault types include stuck-at faults, such as stuck-at-zero and stuck-at-one faults, which prevent the resistance states of memory cells from being correctly updated and thereby lead to weight errors.
In addition, phenomena such as resistance drift, write variation, and IR-drop within the array can further amplify the analog MAC errors, thus deteriorating overall system reliability [
30,
31,
32,
33]. In large-scale array and high-density deployment scenarios, how to maintain computational correctness and system availability under limited hardware overhead has become an important issue in the design of RRAM-based CIM systems.
To address the above challenges, various cross-layer approaches have been proposed, such as avoiding faulty cells through fault-aware weight mapping, improving yield through hardware redundancy, or balancing performance and energy efficiency through dynamic precision control [
8,
11,
18,
19,
34,
35]. However, for architectures employing OU and DOF, previous work [
9] has mainly focused on exploiting sparsity and improving computational efficiency, while a comprehensive investigation into maintaining DOF scheduling consistency and activation correctness under fault conditions remains lacking. To our knowledge, ref. [
19] is the only study that specifically addresses fault-tolerant design for the DOF architecture.
In [
19], spare rows are introduced into the dynamic OU architecture such that faulty word lines can be replaced by spare word lines, thus improving the availability and yield of RRAM-based CIM systems. However, when the system allocates
S spare rows for fault tolerance, this method implicitly assumes that the number of activated faulty rows to be replaced in a given computation cannot exceed the redundancy capacity, i.e.,
, where
F denotes the number of faulty rows that are activated simultaneously during the current computation cycle. Under this condition, the faulty rows can be remapped to spare rows using the fault tolerance mechanism proposed in [
19]. However, in practical computing scenarios, the number of activated faulty rows within a computation cycle may exceed the number of spare rows; that is, the condition
may occur. However, Huang et al. [
19] do not address this issue. There is a need to develop a comprehensive fault-tolerant mechanism that can handle all possible scenarios; that is, it should be able to deal with both
and
conditions simultaneously.
Motivated by this observation, in this paper, we propose a comprehensive fault-tolerant mechanism that converts excessive fault demand in the activation domain into a time-domain segmented computation problem. When , the system maintains the single-pass execution. When , a multi-pass mechanism is employed to process the faulty activated rows in batches, and the results of all passes are accumulated in the digital domain to ensure that the final computation result remains equivalent to that of the original input.
Compared with previous work [
19], which only addresses the case where the faulty activation demand does not exceed the capacity of the spare row, this work further supports scenario
while preserving system correctness and scalability without modifying the original DOF core control flow.
Our work aims to establish a comprehensive fault-tolerant mechanism for the DOF architecture, enabling RRAM-based CIM systems to maintain functional correctness and high reliability under a limited number of spare rows. In particular, the key feature of our approach is that the system can still provide a correct computation even when the condition occurs.
4. Proposed Approach
To improve the resilience and stability of RRAM-based CIM architectures in the presence of defective word lines, this work proposes a fault-tolerant word line activation vector architecture. The proposed method performs real-time correction of the input vector through spare-row allocation and vector-correction logic, and then combines the corrected sparse mask with the prefix-sum results to generate the corresponding word line activation vector.
When the number of activated faulty word lines (for the current calculation), indicated by F, does not exceed the number of spare rows S (i.e., ), the proposed mechanism can complete the correction and activation of the input before the beginning of a single calculation pass. As a result, the original MAC execution flow does not need to be interrupted and neither the constraint nor the dynamic OU formation mechanism of the DOF architecture is altered. In this way, the system can still maintain computational correctness and high throughput efficiency even in the presence of hardware faults.
When , the system instead adopts the subsequently proposed multi-pass mechanism to perform segmented computation, thereby ensuring functional correctness while exhibiting predictable delay degradation behavior in the time domain.
4.1. The Use of Spare Rows
This work reserves S spare rows in each OU crossbar array as replacement resources for faulty word lines. When the detection circuit finds during a write or read operation that the conductance value of a main word line persistently deviates from the expected range, the system identifies that word line as having a permanent or intermittent fault and marks it in the fault indicator vector. To describe the activation demand, the following definitions are used.
Fault indicator vector f[i]: if the i-th word line is faulty, then f[i] = 1;
Input vector x[i]: indicates whether that i-th word line needs to be activated in the calculation process.
For the i-th word line, if , we refer to this word line as a faulty word line. In fact, not all faulty word lines require the use of spare row resources. For the i-th word line, if and , we refer to this word line as an activated faulty word line. In other words, only activated faulty word lines require spare row resources. We define F as the number of activated faulty word lines in an OU calculation. Therefore, the number of spare rows required for an OU calculation is F.
We need to prevent faulty word lines from participating in OU computations to prevent incorrect data (i.e., erroneous weight values) from being involved in the calculation. To maintain computational correctness, the control logic must relocate the data originally assigned to faulty word lines to spare rows, and then allow the spare rows to participate in the computation.
To indicate the word lines that should actually participate in the computation, we define a Mask Vector as follows. For the i-th word line, if and , then we have ; otherwise, we have .
As shown in
Figure 7, this example contains two faulty word lines. The data originally assigned to the faulty word lines are relocated to spare rows. Since the third and eighth word lines are faulty, we have
and
.
If the number of faulty word lines exceeds the number of spare rows, a multi-pass mechanism must be employed. We define a Run Vector to denote the word lines participating in the computation in each pass. For the i-th word line, if (i.e., the ith word line is a normal word line), then we have in the first pass and in all subsequent passes.
Furthermore, during each pass, the control logic schedules S activated faulty word lines (i.e., word lines that satisfy and ) to participate in the computation, where S is the number of spare rows. For an activated faulty word line (assuming that it is the i-th word line), we have only in the pass where it is scheduled to participate in the computation; in all other passes we have .
In other words, we use the Run Vector as the input for each pass. Obviously, if the number of activated faulty word lines does not exceed the number of spare rows (i.e., ), the computation can be completed in a single pass. Therefore, in this case, the Run Vector is identical to the Input Vector. However, if the number of activated faulty word lines exceeds the number of spare rows (i.e., ), the control logic must update the Run Vector in each pass to complete the computation. The total number of passes is .
4.2. Prefix-Sum Correction
The prefix-sum operation is the core logic in the DOF architecture to determine which word lines should be activated in each clock cycle. Its purpose is to transform the input vector into a cumulative activation index, thereby supporting subsequent word line activation and dynamic OU formation. After introducing spare rows, this work extends the prefix-sum computation flow in a fault-aware manner to ensure that the statistical ordering remains consistent with the fault-free case even in the presence of faults.
Figure 8a shows the prefix-sum update data path for a single word line. In our design, the Run Vector serves as the input for each pass. For the
i-th word line,
is added to
to generate a candidate cumulative result
. The output
is then selected through a multiplexer controlled by
. If
, the corresponding word line is valid and allowed to participate in the counting process, and the output is updated to the accumulated result
. If
, the previous accumulated value is directly bypassed, such that
, thereby avoiding incorrect accumulation at unavailable positions, such as faulty word lines. This design allows faulty positions to be treated as “holes” that are excluded from the counting process, while maintaining the consistency and predictability of the prefix-sum results.
Figure 8b provides an 8-bit example to illustrate the prefix-sum correction under fault conditions and spare-row remapping. The Run Vector is given as
. Among these entries, the fourth position originally has
, indicating that the corresponding word line is required to be activated. However, since the word line is faulty,
is set to 0 (the red 0 in the figure). When
, the prefix-sum computation bypasses the accumulation update at that position, so the output
remains equal to the previous value (the red
in the figure), thus preventing the unavailable position from being counted and causing incorrect indexing.
At the same time, this activation demand is not discarded. Instead, it is remapped to a spare row and the corresponding cumulative index is restored at the spare position (marked as 3 in the figure). This indicates that the logical activation order is immediately after the cumulative value 2, becoming the next valid activation index. Since the missing accumulation has been compensated for at the spare location, the prefix-sum values of the subsequent available positions can continue to follow the correct statistical sequence (e.g., the later outputs become 4, 5, and so on). This behavior is equivalent to not accumulating in the faulty position, while compensating for the missing count in the spare position, thus ensuring that the statistical ordering of the prefix sum remains consistent with the fault-free case even in the presence of faults and mapping. Consequently, the correctness and stability of the DOF architecture can be preserved.
4.3. Word Line Activation
After the prefix-sum correction is completed, the system dynamically generates the Word Line Activation Vector for each computation cycle by combining the corrected prefix-sum results with the mask vector. The detailed decision flow is described below.
Bounds Checking
For the prefix-sum result of the j-th word line, the system determines the allowable activation range in the current cycle according to the current cycle index c and the number of word lines that can be activated simultaneously in an OU, denoted by . Taking a OU as an example, i.e., 2 word lines × 2 bit lines, and setting , the boundary conditions are defined as follows.
Lower Bound Check: determines whether the cumulative index reaches the starting threshold of the current cycle:
Upper Bound Check: determines whether the cumulative index falls within the ending threshold of the current cycle:
Activation Decision
The results of the lower-bound and upper-bound checks are then logically ANDed to produce the Match Vector:
We can use both the Mask Vector and the Match vector to determine whether the corresponding word line should finally be activated:
Output Control Signal
If the activation condition is satisfied, i.e., , the corresponding word line is selected and activated. The control logic then outputs the corresponding control signal to drive either the main word line or the spare word line to perform the MAC operation in the current cycle. Through this activation decision mechanism, the system can automatically avoid the word lines associated with defective cells while preserving the dynamic virtual-OU formation behavior. Since the prefix-sum results have already been corrected in a fault-aware manner in the earlier stage, the activation ordering remains consistent even in the presence of faults, and thus the overall MAC computation result is not affected. When , all faulty activation demands can be remapped and handled in a single pass, so the system performance remains unchanged. When , the computation is partitioned in the time domain through the multi-pass overflow mechanism, while each pass still follows the same activation decision logic.
4.4. Overall Architecture
As shown in
Figure 9, the integrated architecture proposed in this work can be regarded as an improved version of the original WVG architecture proposed in [
9]. While preserving flow based on existing DOF and constraint
, the proposed architecture incorporates fault-based front-end control and vector correction/mapping mechanisms into the vector generation chain, allowing the system to maintain consistent word line selection semantics and predictable performance behavior under different fault loads. After the Input Vector enters the front end, the overall data flow proceeds through spare-constrained candidate generation (i.e., Run Vector generation), prefix-sum-based calculation, and threshold-window comparison to produce the Match Vector, and finally outputs the Word Line Activation Vector, which can directly drive the word lines.
The processing flow begins with the Preprocessing unit, which receives faulty word line information provided by an external test or diagnosis mechanism and uses it as the basis for subsequent fault-aware mask generation and word line selection control. In this work, the Fault Indicator denotes the physical fault-location information of the main word lines established by the external detection or diagnosis procedure. The Fault Indicator serves as the cycle/pass-level control vector used in the WVG vector-generation flow. In this work, we assume that the required fault information is available from external mechanisms and focus on how to utilize this information for fault-aware masking, remapping, and activation vector generation. Using the Fault Indicator, the downstream vector generation flow can automatically avoid unavailable resources, thereby preventing faulty word lines from being included in the valid activation set or causing incorrect accumulation.
Next, the Multi-pass Controller determines whether the computation should proceed in single-pass or multi-pass mode. When the activation demand can be satisfied within a single pass, the system directly completes prefix sum calculation, filtering, and activation vector generation in single pass mode. When segmentation is required due to redundancy resource limitations, the Multi-pass Controller generates a Pass Index, allowing the input vector to be processed sequentially across multiple passes until the required coverage is completed. This multi-pass mechanism is mainly used to coordinate the candidate-subset activation (i.e., Run Vector), without modifying the computational structure of the downstream data path. Therefore, regardless of whether the system operates in single-pass or multi-pass mode, the external vector width and interface format remain unchanged; the only difference lies in the candidate subset activated in each pass.
Under the constraints imposed by the Fault Indicator and, in the multi-pass case, the Pass Index, the vector-correction and remapping mechanism performs fault-aware processing on the candidate-subset activation (i.e., Run Vector). The positions corresponding to faulty word lines are effectively suppressed in the subsequent prefix sum counting process, and when it is necessary to preserve the activation semantics, the corresponding activation demand is redirected to the spare rows, thereby forming an effective candidate set that satisfies the fault tolerance constraints. This design ensures that the input content used for subsequent ranking and selection already complies with the fault-tolerant requirements. Moreover, under multi-pass operation, the equivalent activation coverage can be progressively completed in the time domain by different passes.
In each pass, the Run vector is sent to the Prefix Sum Engine, where the accumulation of prefix sums is performed to generate the activation ranking. This step maps the candidate word lines into comparable ranking information while preserving the original relative ordering of the inputs, thereby providing a common basis for subsequent word line selection decisions. Since the computational structure of the Prefix Sum Engine remains unchanged under different fault conditions as well as in both single-pass and multi-pass modes, and the only difference is reflected in the effective input after fault-aware processing, the DOF dynamic word line selection flow can maintain consistent control semantics even under fault scenarios.
The ranking results are then compared with the L/H threshold window by the Threshold Comparator, which generates the Match Vector to indicate which candidate word lines fall within the valid activation interval. Finally, the Word Line Activation Logic combines the Match Vector and the Mask Vector to produce the final Word Line Activation vector, which is used to drive either the main word lines or the spare word lines to perform the MAC operation. Overall, while preserving the high-efficiency sparse-control capability of the original DOF architecture, the proposed architecture enhances the adaptability of the system to faulty devices through fault-aware vector correction/remapping and simplified segmented scheduling control, thereby enabling reliable and scalable operation even in high-fault-rate environments.
4.5. Fault-Aware Multi-Pass Word Line Activation Algorithm
When the number of activated faulty rows F exceeds the number of spare rows S, the system cannot accommodate all the demands of activated faulty rows in a single pass. To address this issue, we present a multi-pass mechanism. The core idea is to distribute the demand for activated faulty rows in different passes. Each pass subsequently generates its corresponding Run Vector, Prefix Sum calculation, Match Vector, and Activation Vector, thereby preserving the correct activation behavior in the DOF architecture under fault conditions. To more precisely describe the proposed multi-pass control mechanism, Algorithm 1 details the control flow and operational procedures of the proposed scheme.
| Algorithm 1 Fault-Aware Multi-Pass Word Line Activation |
- Input:
Input Vector , Fault Indicator , Number of Spare Rows S - Output:
Activation Vector for Each Pass - 1:
Generate Mask Vector from Input Vector and Fault Indicator; - 2:
Calculate F (i.e., number of activated faulty rows) from Input Vector and Fault Indicator; - 3:
Determine the number of passes: - 4:
if then - 5:
else ; - 6:
For index = 1 to do { - 7:
Generate Run Vector R[i] for this pass; - 8:
Remap the data of selected faulty rows to spare rows; - 9:
Compute Prefix Sum Vector according to Run Vector; - 10:
Let U be the largest value among Prefix Sum Vector; - 11:
Let and ; - 12:
While () do { - 13:
Generate Match Vector according to Prefix Sum Vector and window : - 14:
Generate Activation Vector according to Match Vector and Run Vector; - 15:
Let and ; } }
|
In
Table 1, we use an example to demonstrate the process of Algorithm 1. In this example, we assume that the number of spare rows is 2 and that the CIM array contains 16 word lines. From the fault indicator and the input vector, this example contains four activated faulty word lines. Since the number of activated faulty word lines exceeds the number of spare rows, the multi-pass control scheme must be employed. As shown in
Table 1, in this example, a total of two passes (i.e.,
) are required.
In Pass 1, the Run Vector is generated to handle all activated normal word lines and two activated faulty word lines, due to the limitation of having only two spare rows. The prefix-sum vector is then calculated, where the largest value in the prefix-sum vector is 7. In this example, we assume that the maximum number of simultaneously activated word lines in the DOF architecture is constrained to 2. Therefore, in this pass, the generation of the Match Vector and the Activation Vector is divided into four stages: (L = 1, H = 3), (L = 3, H = 5), (L = 5, H = 7), and (L = 7, H = 9). The details of the Match Vector and the Activation Vector for each stage are presented in
Table 1.
In Pass 2, the Run Vector is generated to handle the remaining activated faulty word line. The prefix-sum vector is then calculated, where the largest value in the prefix-sum vector is 2. Therefore, in this pass, the generation of the Match Vector and the Activation Vector consists of only one stage: (L = 1, H = 3). The details of the Match Vector and the Activation Vector are displayed in
Table 1.
Note that although each pass generates its corresponding Activation Vector at different time points, the overall effect, after digital-domain accumulation, remains equivalent to the activation demand required by the computation. In this way, functional correctness and consistency of the control semantics can still be maintained even when the number of spare rows is insufficient.
The efficiency of the proposed method depends on the relationship between the number of activated faulty word lines (i.e., F) and the number of available spare rows (i.e., S) in each dynamically formed OU. If every dynamic OU satisfies
, the MAC operation can be completed in a single pass without invoking the multi-pass mechanism. In this case, the proposed method achieves the same efficiency as the previous fault-tolerant approach [
19].
When a dynamic OU contains more activated faulty word lines than available spare rows, i.e.,
, the proposed method activates the multi-pass mechanism to preserve computational correctness. Although this introduces additional passes, the previous fault-tolerant approach [
19] cannot correctly complete the computation under this condition. Therefore, the proposed method is most efficient when faults are sparse or distributed such that most dynamic OUs satisfy
, while it provides a correctness-guaranteed fallback when
.
In terms of latency, the proposed multi-pass mechanism introduces a time-domain trade-off when
. When
, the computation can be completed in a single pass. When
, the activated faulty rows are partitioned into multiple passes so that each pass satisfies the available spare-row constraint. Therefore, the total latency can be approximated as
where
is the number of required passes and
is the latency of one pass. According to the proposed control flow,
when
.
It should be noted that is determined by the number of activated faulty rows rather than by the physical fault density alone. Since only activated faulty rows need to be remapped, input sparsity can effectively reduce the number of faulty rows involved in a given computation. As a result, even under a high physical fault density, the number of additional passes may remain small when the input activations are sparse. In contrast, the worst-case latency occurs when dense input activations coincide with a large number of faulty rows within the same computation window, thereby requiring multiple additional passes.
5. Experimental Results
To validate the proposed fault-tolerant WVG architecture, we compare the following three methods:
The evaluation covers various CIM array sizes, including configurations with 16, 32, 64, 128, 256, 512, and 1024 normal word lines. For each CIM array size, different numbers of spare rows are considered, including configurations with 1, 2, 3, and 4 spare rows. All WVG architectures are described in Verilog RTL and synthesized using Synopsys Design Compiler based on TSMC 40 nm process technology. Power consumption is evaluated using Synopsys PrimeTime.
We verify the correctness of the proposed WVG architecture through simulation. The test patterns are generated by randomly creating combinations of Fault Indicators and Input Vectors. The generated Fault Indicators cover different fault densities, while the generated Input Vectors cover different sparsity densities. Consequently, the combinations of Fault Indicators and Input Vectors include both (single pass) and (multiple passes) scenarios. The simulation results demonstrate that the proposed WVG architecture can produce correct MAC computation results in both the (single pass) and (multiple passes) cases. Therefore, the proposed WVG design indeed provides a comprehensive fault-tolerant capability.
Note that the randomly generated fault indicators are used for functional verification only and are not intended to represent any specific RRAM defect distribution. Since the proposed row-remapping mechanism operates solely according to the detected fault locations, its correctness is independent of whether the faults are randomly distributed, clustered, or spatially correlated. Therefore, uniformly random fault patterns are sufficient for verifying the correctness of the proposed control logic.
For the area analysis,
Figure 10 and
Figure 11 present the area comparison results of the three methods, including Yang et al. [
9], Huang et al. [
19], and ours, under different CIM array sizes. In these figures, we use S1, S2, S3 and S4 to represent the cases where the numbers of spare rows are 1, 2, 3 and 4, respectively. The results show that, compared to the original WVG architecture (i.e., Yang et al. [
9]), both the previous fault-tolerant method (i.e., Huang et al. [
19]) and the proposed fault-tolerant method (i.e., ours) introduce an additional area cost. Among them, the proposed method generally occupies a slightly larger area than that of Huang et al. [
19] because it must additionally support the multi-pass control mechanism. We also observe that, as the number of word lines increases, the area of the original DOF architecture grows almost linearly, whereas the additional area introduced by fault-tolerant mechanisms (including Huang et al. [
19] and ours) increases only slightly. Therefore, as the number of word lines increases, the area overhead of the fault-tolerant mechanisms is rapidly amortized.
Figure 12 illustrates the percentage of additional area overhead introduced by fault-tolerant mechanisms for different numbers of word lines.
In
Figure 12, the overhead is higher for smaller word-line sizes, mainly due to a normalization effect. The proposed method requires additional control logic for fault-aware selection, remapping, and multi-pass control to support fault tolerance. The area of these control modules does not scale proportionally with the number of word lines. In contrast, the area of the baseline WVG [
9] increases approximately linearly with the word-line count. Therefore, when the baseline WVG is small (i.e., for smaller word-line sizes), the additional fault-tolerant control logic constitutes a larger fraction of the baseline area, resulting in a higher relative overhead. As the number of word lines increases, the baseline WVG area grows nearly linearly, whereas the additional fault-tolerant control logic increases only marginally. Consequently, the relative overhead decreases rapidly for larger arrays.
For power analysis,
Figure 13 and
Figure 14 present the results of the power comparison of the three methods under different CIM array sizes. The results show that, compared to the original WVG architecture (i.e., Yang et al. [
9]), both the previous fault-tolerant method (i.e., Huang et al. [
19]) and the proposed fault-tolerant method (i.e., ours) introduce additional power consumption.
Figure 15 illustrates the percentage of additional power consumption introduced by fault-tolerant mechanisms for different numbers of word lines. As the number of word lines increases, the power consumption overhead of the fault-tolerant mechanisms is rapidly amortized.
In
Figure 13 and
Figure 14, the power consumption of the proposed approach with four spare rows (denoted S4) is the highest among all design configurations. This is because compared with the design of Huang et al. [
19], the proposed approach requires additional control logic to support the multi-pass control mechanism. Furthermore, among all configurations of the proposed approach, S4 has slightly more complex control logic than S3, S2 and S1, since it must support remapping for a larger number of spare rows. Consequently, the S4 configuration exhibits the highest power consumption among all evaluated design configurations.
Improving fault tolerance typically involves trade-offs with other performance metrics. Compared to the original WVG [
9] and the design of Huang et al. [
19], the proposed method supports a larger fault set and can handle both
and
cases. This enhanced fault-tolerance capability requires additional fault-aware selection and remapping control logic, leading to increased area and power consumption. Moreover, when
, the computation may require multiple passes, causing latency to increase with the number of required passes. Nevertheless, the experimental results show that the area and power overheads are gradually amortized as the number of word lines increases. Therefore, the proposed method trades a moderate hardware overhead and potential latency overhead for improved correctness and reliability under higher fault-density conditions.
This paper focuses on the design of a fault-tolerant WVG. Therefore, the evaluation mainly compares the area and power of different WVG designs. From a whole-CIM-system perspective, the overhead of the WVG is relatively small. The WVG serves only as a peripheral control module for generating word-line activation vectors, whereas a complete CIM macro also includes the memory crossbar array, word-line/bit-line drivers, sensing circuits, ADCs/DACs, shift-and-add circuits, and other peripheral components. Since these components usually dominate the total area and power consumption, the system-level impact of the WVG overhead is expected to be smaller than the normalized WVG-level results, especially for larger CIM arrays. Therefore, the proposed method trades a moderate peripheral-control overhead for improved fault tolerance and reliable CIM operation under faulty-word-line conditions.
We use the CIM macro reported in [
36] as an example. The macro contains 128 word lines and occupies an area of 250,000
in TSMC 40 nm technology. On the other hand, assuming four spare rows, the WVG area is 10,443.46
in Yang et al. [
9], 10,738.07
in Huang et al. [
19], and 10,870.07
in the proposed design. Relative to the CIM macro area reported in [
36], the area overheads are 4.01%, 4.12%, and 4.17%, respectively. Therefore, from the perspective of the entire CIM macro, the additional overhead introduced by the proposed fault-tolerant WVG is relatively small.
The above results show that, compared to the original WVG architecture [
9] and the fault-tolerant method presented by [
19], the proposed approach can support a more comprehensive fault-tolerant mechanism while still maintaining a low area and power overhead. This indicates that the proposed multi-pass control mechanism not only preserves the high-efficiency sparse-control capability of the original DOF architecture but also improves its reliability under high-fault-rate environments.
6. Conclusions
This work proposes a comprehensive fault-tolerant mechanism to mitigate the impact of faulty word lines on computational correctness and system reliability in RRAM-based CIM architectures. The proposed approach extends the DOF method by incorporating spare-row allocation, vector-correction logic, and prefix-sum correction logic, thereby enabling the system to dynamically bypass faulty word lines during each computation cycle while preserving the correct formation of virtual OUs. Furthermore, when the number of faulty word lines exceeds the available redundancy capacity, a multi-pass computation mechanism is employed to ensure computational correctness and maintain reliable system operation.
Our main contribution is the establishment of a comprehensive fault-tolerant mechanism for the DOF architecture, enabling RRAM-based CIM systems to maintain functional correctness and high reliability under a limited number of spare rows. Compared with previous work, the primary advantage of our approach is its ability to ensure correct computation even when the number of activated faulty rows exceeds the number of available spare rows.
Experimental results demonstrate that the hardware overhead of the proposed fault-tolerant mechanism is approximately constant. That is, when the memory size increases (i.e., as the number of word lines grows), the additional hardware cost introduced by the fault-tolerant mechanism increases only slightly. Consequently, as the memory size becomes larger, the proportion of area and power overhead contributed by the fault-tolerant mechanism relative to the overall DOF circuitry decreases significantly. Therefore, in large-scale RRAM-based CIM systems, the hardware overhead of the proposed fault-tolerant mechanism accounts for only a small fraction of the overall DOF circuit, indicating the high practicality of the proposed approach.
For brevity and simplicity, this paper assumes that all spare rows are fault-free. Nevertheless, the proposed method can be readily extended to handle defective cells in spare rows. In such a scenario, the Mask Vector must additionally encode the fault status of spare rows, while both the prefix-sum computation and Activation Vector generation must also account for defective spare rows. Consequently, the control logic becomes more complex. We leave the investigation of fault-prone spare rows as future work.