METHOD AND ARCHITECTURE FOR EMBRYONIC HARDWARE FAULT PREDICTION AND SELF-HEALING
20220221852 · 2022-07-14
Assignee
Inventors
- Kasem KHALIL (Lafayette, LA, US)
- Omar Eldash (Lafayette, LA, US)
- Ashok Kumar (Lafayette, LA, US)
- Magdy Bayoumi (Lafayette, LA, US)
Cpc classification
G05B23/0283
PHYSICS
H02H1/0092
ELECTRICITY
G05B23/0218
PHYSICS
International classification
Abstract
Disclosed herein is a method for making embryonic bio-inspired hardware efficient against faults through self-healing, fault prediction, and fault-prediction assisted self-healing. The disclosed self-healing recovers a faulty embryonic cell through innovative usage of healthy cells. Through experimentations, it is observed that self-healing is effective, but it takes a considerable amount of time for the hardware to recover from a fault that occurs suddenly without forewarning. To get over this problem of delay, novel deep learning-based formulations are utilized for fault predictions. The self-healing technique is then deployed along with the disclosed fault prediction methods to gauge the accuracy and delay of embryonic hardware.
Claims
1. An architecture for a self-healing two-dimensional embryonic hardware system comprising: at least two levels of cells, wherein each cell comprises: a control block; a fault prediction block; an address module; a configuration block; a function block; a multiplexer; and connectivity means between the at least two levels of cells; wherein at least one level of cells comprises spare cells; wherein at least one level below the spare cells level comprises active cells; and wherein each active cell shares a spare cell with at least one other active cell.
2. The architecture of claim 1, wherein the fault prediction block comprises functionality to monitor the system's component status.
3. The architecture of claim 1, wherein each cell is capable of performing two tasks in a single clock cycle, wherein a first task is performed in a first half cycle and a second task is performed in a second half cycle.
4. A method for self-healing a fault in a two-dimensional embryonic hardware system comprising: (a) utilizing an embryonic hardware structure comprising of at least two levels of cells, wherein each cell comprises: a control block; a fault prediction block; an address module; a configuration block; a function block; and a multiplexer; and connectivity means between the at least two levels of cells; wherein at least one level of cells comprises spare cells; wherein at least one level below the spare cells level comprises active cells; wherein each active cell shares a spare cell with at least one other active cell; and (b) the fault prediction block monitors the system's component status; (c) when a cell fault is predicted by the fault prediction block, the fault prediction block outputs a value of one to the multiplexer, which then passes an original cell input to a final output, wherein the faulty cell is now in an idle state; and (d) after the cell fault is detected, if no spare cell is available, a neighbor cell of the faulty cell performs a task to be performed by the faulty cell and the neighbor cell's own task in the same clock cycle.
5. The method of claim 4, further comprising when no fault is predicted by the fault prediction block, the fault prediction block outputs a value of zero to the multiplexer, and then the multiplexer passes a result of the function block to a final output.
6. The method of claim 4, further comprising where, after the cell fault is detected, if the spare cell is available, the spare cell performs the faulty cell task.
7. The method of claim 4, wherein: (a) when after the cell fault is detected and no spare cell is available, the neighbor cell receives a control signal from the control block to run the faulty cell task; (b) at a next clock cycle, the neighbor cell performs its original task at a positive edge half of the clock cycle; and (c) in the same clock cycle, the neighbor cell then performs the faulty cell task at the negative edge half of the clock cycle.
8. A method for predicting fault in an embryonic hardware circuit, comprising: (a) receiving a fault indication signal in a time domain; (b) performing Fast Fourier Transformation of said signal to convert the fault indication signal from the time domain to a frequency domain; (c) utilizing a multilayer perceptron (MLP) network comprising multiple layers; and (d) classifying the fault indication signal using the MLP network.
9. The method of claim 8, wherein a first layer of the MLP network comprises an input layer, a last layer of the MLP network comprises an output layer, and one or more layers between the input layer and output later are each a hidden layer of the MLP network; wherein each layer comprises multiple notes; and wherein each node connects to all adjoining layer nodes through connection lines and comprise functionality to transmit signals via said connection lines.
10. The method of claim 9, wherein an output of each node can be calculated using:
11. A method for predicting fault in an embryonic hardware circuit, comprising: (a) receiving a fault indication signal in a time domain; (b) performing Fast Fourier Transformation of said signal to convert the fault indication signal from the time domain to a frequency domain; and (c) classifying data received from the MLP network through an Economic Long Short-Term Memory (ELSTM).
12. The method of claim 11, wherein the ELSTM comprises an architecture comprising: one gate, comprising: at least one output; at least three inputs comprising: an x(t) input; an h(t−1) input; and a c(t−1) input; a memory layer; an update layer; an output layer; two activation functions; one or more elementwise multiplication operations; one or more elementwise summation operations; and one or more weight matrices operations; wherein the input of one activation function comprises: the x(t) input; the h(t−1) input; and a c(t−1) input.
13. The method of claim 11, further comprising evaluating a principle component to reduce the size of the frequency domain data.
14. The method of claim 13, wherein the frequency domain data is reduced in size using principle component analysis (PCA), wherein orthogonal transformation is utilized to convert a correlated set of sample variables to uncorrelated variables.
15. The method of claim 13, wherein the frequency domain data is reduced in size using relative principal component analysis (RPCA).
Description
DESCRIPTION OF THE DRAWINGS
[0018] The accompanying drawings are not intended to be drawn to scale. In the drawings, each identical or nearly identical component that is illustrated in various figures is represented by a like numeral. For purposes of clarity, not every component may be labeled in every drawing.
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
SUMMARY OF THE INVENTION
[0052] Disclosed herein is a mechanism for self-healing, fault-prediction, and fault-prediction assisted self-healing of bio-inspired Embryonic Hardware (EmHW). The EmHW system is disclosed and validated for an arithmetic-logic unit. EmHW bio-inspired is modeled as a cellular structure for a hardware system, and it mimics the learning mechanisms from nature on providing self-repairing and self-organizing in the same manner as the cells. Designing biomedical circuits using EmHW is beneficial for supporting fault recovery and reorganizing the system to be in an optimum structure as needed.
[0053] The fault prediction mechanism is part of a complete technique staring from fault prediction to self-healing without external intervention. A flow-chart showing the disclosed method is provided in
[0054] The Applicant believes this disclosure to be the first disclosed method for predicting faults in EmHW. Machine learning is utilized in fault predictions. Machine learning has different structures of a neural network such as Recurrent Neural Networks (RNNs) and Convolutional Neural Network (CNN). The machine learning techniques for fault prediction of EmHW consists of four components: Fast Fourier Transform (FFT) to get the fault frequency signature, Principal Component Analysis (PCA) or Relative Principal Component Analysis (RPCA) to get the most important data with less dimension, and Economic Long Short-Term Memory (ELSTM) to learn and classify faults.
[0055] The second stage of the complete system is the self-healing method, which heals the predicted fault. The data from the fault prediction technique is utilized by the self-healing technique to recover from a fault. The self-healing technique gets the fault time and location information from the fault prediction unit and it can use this information to recover it. After repairing faults, the process repeats. In the case of no faults, the system applies the fault prediction mechanism after a certain delay At, and this time delay is tunable. The self-healing mechanism for EmHW is based on time multiplexing and two-level spare cells.
[0056] This method utilizes PCA, RPCA, and ELSTM to provide a fault prediction accuracy of more than 99 percent with lower execution time. Further, implementing the fault prediction mechanism on FPGA ensures that the method is practical, scalable, and performance is stable and robust.
DETAILED DESCRIPTION OF THE INVENTION
[0057] The following description sets forth exemplary methods, parameters, and the like. It should be recognized, however, that such description is not intended as a limitation on the scope of the present disclosure but is instead provided as a description of exemplary embodiments.
[0058] In the following description of the disclosure and embodiments, reference is made to the accompanying drawings in which are shown, by way of illustration, specific embodiments that can be practiced. It is to be understood that other embodiments and examples can be practiced, and changes can be made, without departing from the scope of the disclosure.
[0059] In addition, it is also to be understood that the singular forms “a,” “an,” and “the” used in the following description are intended to include the plural forms as well unless the context clearly indicates otherwise. It is also to be understood that the term “and/or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It is further to be understood that the terms “includes,” “including,” “comprises,” and/or “comprising,” when used herein, specify the presence of stated features, integers, steps, operations, elements, components, and/or units but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, units, and/or groups thereof.
[0060] Some portions of the detailed description that follow are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps (instructions) leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic, or optical signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It is convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. Furthermore, it is also convenient at times to refer to certain arrangements of steps requiring physical manipulations of physical quantities as modules or code devices without loss of generality.
[0061] However, all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussion, it is appreciated that, throughout the description, discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining,” “displaying,” or the like refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system memories or registers or other such information storage, transmission, or display devices.
[0062] Certain aspects of the present invention include process steps and instructions described herein in the form of an algorithm. It should be noted that the process steps and instructions of the present invention could be embodied in software, firmware, or hardware, and, when embodied in software, they could be downloaded to reside on, and be operated from, different platforms used by a variety of operating systems.
[0063] The present invention also relates to a device for performing the operations herein. This device may be specially constructed for the required purposes or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a non-transitory, computer-readable storage medium such as, but not limited to, any type of disk, including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, application-specific integrated circuits (ASICs), or any type of media suitable for storing electronic instructions and each coupled to a computer system bus. Furthermore, the computers referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability.
[0064] Self-Healing Mechanism. The disclosed self-healing mechanism is designed on a 2-D EmHW structure using two levels of cells. The bottom level contains the normal EmHW structure, while the upper level consists of spare cells, as shown in
[0065] In one embodiment, this approach is extended to allow each active cell as a spare cell for its neighbor. Each one has the ability to perform two tasks: its task and the task of the neighbor cell. Time-Division multiplexing is used where each cell has the capacity to perform two tasks within the same clock when a fault happens, as shown in
[0066] Fault Prediction Mechanism. Fault prediction is a significant process for fault recovery purposes. The mechanism may take the form of multiple embodiments, starting from a simple method to more advanced to find the most efficient method. The first embodiment comprises FFT and Multilayer Perceptron (MLP) as shown in
[0067] Dataset. The various embodiments of the fault prediction mechanism have been tested using the extracted data from EmHW system. The dataset includes the signal variation of the I/O module, address module, a configuration module, control module, and function module. The parameters which are used for fault prediction are voltage, current, noise, delay, and temperature. These parameters are studied on EmHW to know the system behavior with these parameters versus aging, open-circuit, and short-circuit faults. Electromigration and Stress migration are some sources for open and short circuits faults. Electromigration is caused due to the intense stress of current density. Electromigration leads to a sudden delay increase, open, or short faults. The electromigration issue happens in the interconnection, and it can be described as the physical displacement of the ions of metal in the wires' interconnection. This displacement results due to the effect of a large flow of electronics (this is called a large current density mechanism) that interacts with the metal ions. Voids and hillocks happen due to this movement, and this phenomenon produces short or open circuits connections. As the electromigration is accelerated close to the metal grain boundaries, contact holes and vias become susceptible to this impact. Stress migration occurs because of excessive structural stress. This phenomenon is similar to electromigration, wherein it leads to a sudden delay increase, short, or open faults. In this behavior, the metal atoms migrate in the interconnects due to mechanical stress, which is similar to electromigration. The stress migration is resulted by thermo-mechanical stresses that are originated by different rates of thermal expansion of different materials. The final data has 15230 samples, and it includes 550 samples for the non-faulty state. The dataset is generated in-house and used for training and testing the disclosed method. For testing, the time series data is divided into segments to apply the operation. The sampling rate is done at 1 kHz, and each recording is divided into 15s segments. Thus, each segment consists of 15000 samples.
[0068] Fast Fourier Transformation Stage. FFT transfers a signal from the original domain (such as time or space) to a representation in the frequency domain, which can help diagnose or pinpoint hardware faults. Data that represents hardware faults are not sufficient to get accurate data to machine learning. Machine Learning methods need more data and accuracy to represent faults, which allows learning to be efficient. Here, FFT is used for representing fault signals in the frequency domain. The advantages of this are getting more representative data and signature of fault in the frequency domain. Each hardware fault represents itself by a unique frequency signature. The FFT is considered as one version of the Discrete Fourier Transform (DFT), but the FFT is faster.
[0069] The FFT is performed using advanced algorithms to perform the same operation as the DFT but in much less time. For instance, a DFT computation of N points in a fundamental way, using the definition, takes O(N.sup.2) arithmetic operations while the FFT computation of the same result is only O(NlogN) operations. In the disclosed fault prediction methods, the FFT output signals and the first b frequencies have been used for the feature data for the next step to PCA or RPCA where b <<number of samples. The PCA and RPCA are used to improve the diagnostic accuracy and the computational efficiency of hardware faults. Therefore, in this stage, the role of FFT is to obtain the frequency domain of the signal, which feeds the component analysis stage. For a discrete signal x.sub.i,n which can be voltage, current, temperature, humidity, etc. where i=1, 2, 3, . . . , m and n=0, 1, 2, 3, . . . N−1. The FFT of this signal will be called X.sub.i,k with i=1, 2, 3, . . . , m and k=0, 1, 2, 3, . . . b−1 where b is the retained harmonics size and m is the training samples size. The mathematical equations of FFT are:
Where
[0070]
and the transformation equation can be divided into even and odd sections.
Using the substitution of W.sub.N.sup.2=W.sub.N/2, and name the first terms and the second term as H.sub.1(k) and H.sub.2(k), respectively.
X(k)=H.sub.1(k)+W.sub.N.sup.kH.sub.2(k). l=0,1, . . . , N−1 (4)
Where, H.sub.1(k) and H.sub.2(k) are the N/2 point DFTs of the sequences h.sub.1(m) and h.sub.2(m), respectively. H.sub.1(k) and H.sub.2(k) are periodic, with period N/2, therefore H.sub.1(k+N/2)=H.sub.1(k) and H.sub.2(k+N/2)=H.sub.2(k) and H.sub.2(k+N/2)=H.sub.2(k). In addition, the factor W.sub.N.sup.k+N/2=−W.sub.N.sup.k.
Where N is the number of sampling points in an output discrete signal. By these equations, the FFT transform of the input signal will be calculated to represent the signature of the fault in the frequency domain.
[0071] Component Analysis Stage. The principal component is used to reduce the data dimension with the most important data. The benefit of this stage is to reduce the training complexity and time of classification of the next stage. There are two techniques for this purpose: PCA and RPCA, which each can be used to reduce the data size of the FFT result. The result from this stage is applied to the fault classification stage, and the classification process is performed with minimum complexity.
[0072] Principal Component Analysis. We expand the data using FFT to get more fault information and the sign of each fault. Therefore, the role of PCA is to only retain the most important data. The results include important components with a lower dimension. The idea of PCA depends on converting the correlated set of sample variables to uncorrelated variables.
[0073] PCA uses orthogonal transformation to achieve this reduction. Assume a set of sample vectors x={x.sup.1, x.sup.2, x.sup.3, . . . , x.sup.n} and orthogonal normalized basis A.sub.i where i=1, 2, . . . , +∞. The orthogonal basis can be written as
[0074] Each sample vector can be given as an infinite superposition of basis vectors where a basis has the same dimension. The sample vector is expressed as:
Representing the original sample approximately by finite basis vector is used in PCA to reduce the error to a minimum. Thus, the estimated sample vector of the first d basis vector will consider the first d points, and this basis can be calculated via the orthogonal basis by:
[0075] The error depends on the difference between the original value and the estimated value. Therefore, the subtraction between Equation 8 and 9 is given by:
From Equation 10, the error can be calculated using expectation (E) of the difference between the original and resulted value. The error can in two ways, the first being:
The second method of calculating error can be obtained by using Equation 9, where A.sub.i.sup.Tx=Σ.sub.m=1.sup.∞A.sub.i.sup.Tα.sub.mA.sub.m=α.sub.i and x.sup.TA.sub.i=Σ.sub.m=1.sup.∞A.sub.m.sup.Tα.sub.mA.sub.i=α.sub.i. Using these equations to substitute in Equation 9 and the result will be:
[0076] Using the error value, the basis coefficients will be adjusted by the error value to become as small as possible. The error can be calculated using Equation 11 or Equation 12, where X=E[xx.sup.T]. The minimum error value is obtained under constrained condition which is A.sub.i.sup.TA.sub.i=1. The eigenvalue is calculated after applying the partial derivative, and the derivative result equals zero. Therefore, the eigenvalue can be calculated by:
XA.sub.i=λ.sub.iA.sub.i (13)
[0077] Where λ is the eigenvalue which is used to represent the importance of each component. The minimum error value can be achieved when the basis vector is the eigenvectors of E(xx.sup.T). These eigenvectors can be calculated using a scatter matrix S,
[0078] The eigenvectors' values are used for representing the components. The first mode or component of the sample vectors is referred by the eigenvector which corresponds to the largest eigenvalue. The second component refers to the eigenvector which corresponds to the second largest eigenvalue, and the sequence of the other components is define in the same definition Consequently, the sample vectors go towards a lower dimension which presents the benefit of using the PCA technique to the next stage of learning.
[0079] Relative Principal Component Analysis. RPCA is another method for data size reduction. The RPCA method is used to extract more effective principal components than PCA due to uniform distribution. This technique is based on relative weight to avoid getting false information. For the purposes of explanation of RPCA, assume M is a set generated by a measurable set S with a standard deviation of a and a mean of μ. M can be presented in such a form of the compatible sets with A=A.sub.i where μ(M)=1. The entropy can be obtained by:
[0080] For corresponding feature A and training set A, the uncertainty level to classify set of D, is given by empirical entropy H(D). The uncertainty level to classify feature A using the condition set of D is H(D|A). The difference between H(D) and H(D|A) presents the information gain of the uncertainly of classification is given by:
g(D, A)=H(D)−H(D|A) (16)
For training dataset D, |D| is denoted to the number of the samples. The set D has L classes, and each class is given by C.sub.l where l=1, 2, . . . L, and |C.sub.l| is the number of samples in C.sub.l
[0081] Assume feature A has n values; A={α.sub.1, α.sub.2, α.sub.3, . . . α.sub.n}, and D has n values where D={D.sub.1, D.sub.2, D.sub.3, . . . , D.sub.n}
Where D.sub.jl is the intersection of Class C.sub.l and subset D.sub.j, the empirical entropy of dataset can be expressed by:
And the conditional entropy is given by:
From Equation 20 and Equation 21,
[0082]
The information gain of dataset D by feature of A, is called the corresponding relative transformation M.sub.A
M.sub.A=g(D.A)=J(D)−H(D|A) (23)
The process to get M.sub.A is repeated for each feature to get the corresponding relative transformation M.sub.i=g(D|i). For getting the relative principal component, assume XεR.sup.s×f where s is the samples number and f is the features number. The normalized value is needed and is given by:
[0083] When M=I, RPCA will be equivalent to PCA. Therefore, M is beneficial to consider the relative importance of variables into account. In order to get the values of the Principal Components (PCs) of X.sup.R, the correlation matrix is used which can be expressed by
Σ.sub.xR=E{[X.sub.R].sup.T[X.sup.R]} (28)
Assume all eigenvalues have λ.sub.1.sup.R≥λ.sub.2.sup.R≥λ.sub.3.sup.R≥. . . , λ.sub.b.sup.R, we useλ.sub.j for the eigenvalue, and P.sub.j is the corresponding eigenvector of λ.sub.j
|λ.sup.RI−Σ.sub.x.sub.
|λx.sub.j.sup.RI−Σ.sub.x.sub.
[0084] A new lower dimensional matrix T.sub.a×m can be obtained by:
T.sub.a×b×P.sub.a×n (31)
Where P.sub.a×m={(P.sub.1.sup.R, P.sub.2.sup.R,P.sub.3.sup.R, . . . ,P.sub.N.sup.R}, m is the PCs size, and P.sub.i.sup.R={P.sub.1.sup.R(1), P.sub.2.sup.R(2), P.sub.3.sup.R(3), . . . , P.sub.n.sup.R(b)}. The selecting number of the relative principal element can be calculated using the Cumulative Percentage of Variance (CPV) which measures the variation amount selected by the first n latent variables, and where P can be choses by a user as a threshold.
[0085] Multilayer Perceptron (MLP). MLP is commonly used in artificial neural networks. MLP network includes multiple layers that are divided into three labeled layers. The first layer is called the input layer and the last layer is called the output layer. The layers between the input and output layers are called hidden layers. Each layer consists of multiple nodes, and each node connects to all next layer nodes. This connection line between nodes can transmit a signal from one node to another as shown in
Where X.sub.j is the j.sup.th node output in the prior layer, and n is the number of nodes, W.sub.ji is the node weight from j.sup.th node to the i.sup.th node in the proceeding layer, f is the activation function symbol, and b is the bias.
[0086] Economic LSTM Recurrent Neural Network. The ELSTM method hardware structure is shown in
f(t)=σ(W.sub.f.I.sub.f+b.sub.f) (34)
f(t)=σ([W.sub.cf,W.sub.xf,U.sub.bf].[x(t), c(t−1), h(t−1)]+b.sub.f) (35)
u(t)=tanh (W.sub.u, I.sub.u+b.sub.u) (36)
u(t)=tanh ([W.sub.cu,W.sub.xu,U.sub.uu].[x(t), c(t−1), h(t−1)]+b.sub.u) (37)
C(t)=f(t) ⊙C(t−1)+(1−f(t)) ⊙U(t) (38)
h(t)=f(t) ⊙tanh (C(t)) (39)
Where I.sub.f is an input in the first phase, f(t)ϵR.sup.d×h×r while the width is d, the height is h, and n is the number of channels of f.sub.t. x(t) is the input where x(t)ϵR.sup.d×h×r, and it may be for a certain issue such as fault, speech, image, and r is the number of input channels. The output of the block is h(t−1) at the time of (t−1), and the stack c(t−1) memory state represents the internal statement at the time of (t−1). In the same manner of f(t), h(t−1) and c(t−1)ϵR.sup.d×h×n. The weights, W.sub.xf, W.sub.cf, and U.sub.hf are the convolutional weights, and they have dimension size of (m×m) for all kernels. b.sub.f is the bias which is a vector of a dimension n×1. Furthermore, I.sub.u is also an input for the second ELSTM stage, u(t) is the output of the update gate where u(t)ϵR.sup.d×h×n and is the same dimension as f.sub.t. b.sub.uϵR.sup.n×1, and has the same dimension of b.sub.fϵR.sup.n×1. The weights of W.sub.cu, W.sub.xu, and U.sub.uu are used for update output computation. The final memory state is C(t), the final output is h(t), and the ⊙ symbol represents elementwise multiplication. ELSTM performs learning for long term history which is beneficial for fault prediction. ELSTM also has economic hardware components which reduce the computation time and power consumption.
[0087] Of the discussed embodiments, the latter two embodiments are the most efficient. The trade-offs between the two are training time and classification accuracy. These embodiments are now discussed in greater detail.
[0088] Implementation. The self-healing mechanism is implemented on FPGA. Arithmetic Logic Unit (ALU) has been implemented on EmHW to study the behavior of the disclosed method. ALU operations are used in many applications such as biomedical systems, aircraft systems, and signal processing. The EmHW is implemented using 64 cells for performing ALU operations, and the disclosed method applied. The disclosed method is implemented on Altera Arria 10GX FPGA. The disclosed method has the ability to recover 125% faulty cells, including spare cells. The area overhead is 34%, while the fault recovery is high. Thus, the disclosed method provides more age extension of EmHW. The resource consumption of the disclosed method on FPGA is shown in
[0089] Reliability is one of the significant evaluation parameters for a self-healing technique, and it is the ability of the system to execute a function correctly within a certain time duration. The probability of success for the system can be given by p(t)=exp(−λt). Where all units are identical (all cells) in structure, and p(t) is hypothesized to be an exponential distribution failure. λ is the failure rate. Spare cells are used, and each cell also can perform two functions in the same clock period for recovering neighboring faulty cells. The system reliability is evaluated by the following equation:
[0090] Where n is the number of active units for m number of function. The traditional method is based on isolating the faulty component and keeping the circuit working, typically with a lower performance. For example, in a system with 16 cells, if the system has two faulty cells, the two faulty cells are isolated from the rest of the cells. Thus, the system works with only 14 healthy cells, and the performance of the system is degraded. The reliability performance for the traditional and disclosed methods using different failure rate are studied, and a comparison is presented as shown in
MTTF=∫.sub.o.sup.xR(t)dt (41)
[0091] The analysis of the self-healing mechanism in terms of MTTF for the traditional and disclosed method is shown in
[0092] A comparison between the disclosed self-healing mechanism and the prior methods is shown in
[0093] The disclosed fault prediction methods have been implemented for EmHW. The training and testing are carried on 80% of the training data which is used for the training set and 20% which is used for the validation set. The FFT process is used to extract the data and represent it in the frequency domain. The signal is converted by FFT into 0-49 harmonics using a sampling rate of 1000, and each recording is divided into 15s segments. The harmonic 0 presents the DC component of the signal. The disclosed method is tested 100 times, and the first 42 harmonics are found to be sufficient for fault diagnosis. For example, the FFT of the voltage signal in normal mode without any fault is shown in
[0094] Sensitivity refers to the ratio between correct number of identified classes and the total sum of TP and FN. Sensitivity can be expressed as:
[0095] Specificity measures the proportion of actual negatives that are correctly identified.
[0096] Precision is the ratio between the corrected number of identified classes and the sum of the correct and uncorrected classes.
[0097] Tension is the relation between sensitivity and precision, which should be balanced. Increasing precision results in decreasing sensitivity. Sensitivity improves with low FN, which results in increasing FP, and it reduces the precision.
[0098] Accuracy of the test provides the ability to differentiate classes correctly.
[0099] The result shows that the MLP based method has the worst performance in terms of sensitivity, specificity, precision, accuracy, training time and a number of parameters. The low performance of this method is due to updating the network parameters without features extraction for the input. In this method, the accuracy is 83.12% and training time is 6.8 minutes with a huge number of parameters of 8,246,130 as shown in
[0100] The disclosed methods have been implemented in VHDL, and Altera Arria 10 GX FPGA 10AX115N2F45E1SG using the operating frequency of 120 MHZ. The hardware resources consumption of Lookup Tables (LUTs), DSPs, Buffers, block RAM, Flip Flop (FF), etc., for each block is studied. The hardware resource consumption for implementing the FFT stage is presented in
[0101] The methods, devices, and systems described herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may also be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will appear from the description below. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the present invention, as described herein.
[0102] Although the description herein uses terms first, second, etc., to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another.
[0103] The terminology used in the description of the various described embodiments herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used in the description of the various described embodiments and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and/or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms “includes,” “including,” “comprises,” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof
[0104] The term “if” may be construed to mean “when” or “upon” or “in response to determining” or “in response to detecting,” depending on the context. Similarly, the phrase “if it is determined” or “if [a stated condition or event] is detected” may be construed to mean “upon determining” or “in response to determining” or “upon detecting [the stated condition or event]” or “in response to detecting [the stated condition or event],” depending on the context.
[0105] The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the disclosure to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the techniques and their practical applications. Others skilled in the art are thereby enabled to best utilize the techniques and various embodiments with various modifications as are suited to the particular use contemplated.
[0106] Although the disclosure and examples have been fully described with reference to the accompanying figures, it is to be noted that various changes and modifications will become apparent to those skilled in the art. Such changes and modifications are to be understood as being included within the scope of the disclosure and examples as defined by the claims.
[0107] This application discloses several numerical ranges in the text and figures. The numerical ranges disclosed inherently support any range or value within the disclosed numerical ranges, including the endpoints, even though a precise range limitation is not stated verbatim in the specification, because this disclosure can be practiced throughout the disclosed numerical ranges.
[0108] The above description is presented to enable a person skilled in the art to make and use the disclosure, and it is provided in the context of a particular application and its requirements. Various modifications to the preferred embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the disclosure. Thus, this disclosure is not intended to be limited to the embodiments shown but is to be accorded the widest scope consistent with the principles and features disclosed herein. Finally, the entire disclosure of the patents and publications referred in this application are hereby incorporated herein by reference.