TELKOM NIKA Indonesia n  Journal of  Electrical En gineering   Vol. 12, No. 10, Octobe r 20 14, pp. 7253  ~ 726 1   DOI: 10.115 9 1 /telkomni ka. v 12i8.551 2          7253     Re cei v ed  De cem ber 2 7 , 2013; Re vi sed  May 26, 20 14 ; Accepte d  Ju ne 17, 201 4   Design of ECC Controller and its Validation Based on   FPGA      Cao Yan*, Du Lixia, Wan g  Zheng y u   Lanz ho u Jiaoto ng Un iversit y , Lanz ho u, Chin *Corres p o ndi n g  author, e-ma i l : 1917 20 356 @ qq.com       A b st r a ct   With the developm ent of embedded system s and  t he  mobile internet, embedded sys tem s   ar equ ipp ed w i th mor e  an d mor e  me mory cap a city. Memory  relia bi lity beco m es a foc u s to us. T hough p a rit y   checki ng h a s bee n ap pli ed i n  e m be dd ed s ystems, it  on ly  can detect er rors, but cann ot correct the m .   T herefore, r e s earch ing  b e tter dat a  protect i on  bec o m es  an  importa nt  topic  for   the deve l op ment o f   embe dde d sys tems. In dev el opi ng a  new  a l gorit hm  an d a pplyi ng  it to e m b e d ded syst ems, trans pl an ting   goo d d a ta pr otection tec h n o l ogy us ed  in  H P Cs are  poss i ble s o luti ons.  Of these tw o optio ns, the fo rme r   requ ires a l o n g  deve l o p m ent  time, w h ile th e latter may b e  easi e r to rea l i z e  a nd a pply,  saving ti me  a n d   m o ney. In the  HPC fiel d, ther e are  m any data protecti on technologies s u c h  as EC C, chipkill, lockstep a n so on. Taking t he featur es  of the embedded  system s in to c onsideration, E CC  m a y be the best technology   for transpl anta t ion to th e e m b e d ded syst em. Th ere  ar e  tw o reasons.  First, becaus e of the syste m ’s   portability, it is hard to  suppor t 4 DIMMs. Th ere is no poss i bility t hat chipk ill or l o ckst ep c an be  appli ed i n   the embedded  system .  Se condly, ECC is  more general  and can support all series  of SDRAM, either  4-bit   or 8-bit. Henc e this  paper f o cuses  on E C C applic ation  on embedded system s.  ECC is an advanced  techno lo gy for  me mory  erro r detecti on  an d correct i on,  w h ich is  use d  to su pport  h i gh r e li ab ility  of   computers. It i s  w i dely  use d   in s e ver  me mo ry w h ile  it  ca detect 2- bit  error a nd c o rrect  1-bit  error. T h i s   pap er intro duc es the ECC  al g o rith m, an d the n  discuss es th e more g e n e ral  correction c o d i ng  mat h e m atic s,   reali z i n g it  by  p r ogra m mi ng  w i th VHD L . After  finis h in g th ese  parts, a  d e b u g  exp e ri me nt is   execute d   on t h Altera Stratix   IV fami ly F P GA. F i nally, t he  pap er  ana ly z e s th e si mulati on r e sults  an d g i ves s o m e   sugg estio n s for impr ovin g the  perfor m a n ce of  ECC control l er s.      Ke y w ords :  ECC, Ha mmin g codi ng, FPGA,  VHDL     Copy right  ©  2014 In stitu t e o f  Ad van ced  En g i n eerin g and  Scien ce. All  rig h t s reser ve d .       1. Introduc tion  Memory is a n  electroni c stora ge devi c e,  and all ele c troni stora ge devices h a ve the   potential to i n co rrectly ret u rn info rmati on diffe re nt from what was o r igin ally store d . Some  techn o logie s   are  mo re li ke ly than oth e rs to  do  this.  DRAM  mem o ry, be cau s e   of its n a ture, is  likely to return occa sional  memory e rro rs. As an  imp o rtant pa rt of the co mp uter, memory errors  can  cau s some un expe cted results [ 1 ]. With t he increa se of t he u s e of DRAM mem o ry in   mode rn serv ers a nd PCs,  memory RA S features  a r e encounte r e d  more a nd more by ente r pri s and commo n use r s [2].   There are t w o kind s of errors th at can t y pica lly occur in a memory  system. The first is   calle d a  rep e a table o r  h a rd erro r which  is  ca u s e d  by  defect s   withi n  the  DRAM  packa ge a m o n g   other thing s . It cannot be  correcte d. The  second i s   cal l ed a tran sien t or soft erro whi c h is mai n ly  cau s e d  by ch arge d pa rticle s from natu r al ly occu rri ng b a ckgroun d ra diation or  co smic ray s . It can   be te chn o logi cally det ecte d an d corre c ted. Parity  ch ecking,  as  basi c  fo rm of  error dete c ti on,  has be en ad opted in mod e rn PCs. It o n ly can dete c t 1-bit erro rs  but cann ot correct them. This  error dete c tio n  may satisfy  PC RAS de mand s, but it  is far from  sat i sfying the de mand s of se rve r   RAS. In mod e rn  se rvers,  ECC  m e mo ry provid es  a g ood level  of reliability and  has  be com e  the   stand ard te ch nology today  on almo st every se rver.   This thes is firs t introduces  the ECC  algor ithm, th e n  ba se d o n   the ECC  alg o rithm,  sho w s a de si gn for an E C C co ntroll er,  whi c h c an be  used fo r me mory syste m s or  som e  ECC  related  ap plications, a nd  concl ude with a valid at io n of the  algo rithm on  the  Altera Stratix  IV  family FPGA  [3-5].    Evaluation Warning : The document was created with Spire.PDF for Python.
                               ISSN: 23 02-4 046                     TELKOM NI KA  Vol. 12, No. 10, Octobe r 2014:  725 3  – 7261   7254 2.  ECC Encodi ng Algorith m            ECC  co ding  i s  a n  SEC-DED (Sin gle - bi t Erro r Co rre ction, Dou b le -bit  Er ror   D e tection )   codi ng  whi c h is for obtai ni ng hi gher  reli ability.  The  origin of E C codi ng i s  Hamming  coding,  whi c h was first prop osed b y  Hamming in  1950.   Hammi ng co de is a co de that permit s  correctin g  sin g l e bit erro rs.  He a s sume s that the   data to be tra n smitted con s ist s  of a cert ain numb e r o f  information bits u, and he  adds to these a  numbe of ch eck bit s  p   su ch th at if a  bl ock i s   re ceiv ed that  ha a t  most  a bit  e rro r, the n  p  can   identify the erro r bit po siti on (eith e r the  error o c cu rred in the bl o ck  of inform a t ion bits o r  in  the   block of the check bits, it can be ide n tified). Sp e c ially , in Hamming  code p i s  interp reted a s  a n   integer which  is  0 if the r e i s  n o  e r ror, a n d  othe rwi s e   is 1-o r igi n  ind e x  of the bit th at is i n  e r ror.  Let  k be the  num ber of info rm ation bits a n d  m the num b e r of che ck  bits. Becau s e t he m che ck b i ts  must ch eck n o t only the informatio n bits but also  them selve s , the value of p must be interpret e d   as  an inte ger, rangi ng fro m  0 to m + k,  whi c h h a s m + k+1  distin ct  values. B e cause m  bits  can  dist ing u is h 2 m  ca se s,  we  must  hav e:     Error! Re fere nce  s o urce not  found. ;                                                   (1)    This i s   kn own a s  the  Ha mming  rule. I t  applie s to  a n y singl e bit  error  co rrecti ng (SE C binary FE C (Forward Erro r Co rrectin g , just a me th od that pe rm it the receiver to corre c t a  transmissio n  error  witho u t asking t he send er  f o r mo re i n formatio n ab out it or fo r a   retra n smi s sio n ) blo c k co d e  in whi c h all  of the  transmitted bits m u st be  che cked. Accordi n g to   Hammi ng rul e , we can  ca lculate that the numb e r of   check bits f o r 64-bit information bits is 7 .   Based o n  these ad ded  check bits, ECC  codin g  a dds an othe r bit for parity che c k of all bits.  Con s e quently , to a 64-bit informatio n bl ock, ECC  co ding n eed s 8  bit che c k blo c k. The foll owi ng  are the  steps  to generate a  che ck bl ock  p:  1) Cal c ul ate the numb e r of  che ck bit s  according to the  Hammin g  rul e 2) Put the ch eck bits in th e power of 2  pos ition s , a nd put the in formation bit s  in the  other po sition s [6];    3) Cal c ul ate the ch eck bits  the SEC nee ds. The meth od is a s  follo ws:   a) Let the l e a s t sig n ifica n t bit of p be p 0 .   The value  of p0 is th e p a rity che c k re sult of  the bits in the  position s  1,3 , 5,7….(in bin a ry, the  least  signifi cant of these po sition s numb e r i s  1 ) b) Let the ne xt from the least sig n ifica n t   bit of p be  p1. The valu e of p1 is the parity  che c k re sult  of the bits i n  the po sitio n s 2, 3,6,7,1 0 , 11….(in bi n a ry, the next from the le ast  signifi cant of the po sition n u mbe r  is 1);   c) Simil a rly, l e t the third  from lea s t si gni fic ant bit of p   be p2. T he va lue of p 2  is  m ade a n   even parity check on tho s e positio ns th at have a 1  in their third f r om lea s t sig n ificant po siti on  numbe r, nam ely position s   4, 5, 6, 7, 12,  13, 14, 15, 20 , …  d) Co ntinuin g ,  calcul ate the other  che c k bits in the sa me way;   4) Fin a lly, add a pa rity ch eck bit, the value of  which  is the pa rity che c k re sult  of the  informatio n bi ts u and the check bits p.   Table 1 is the  che ck tabl e for 64 -bit data  ECC en codi ng.      Table 1. 64 -bi t  Data ECC E n co ding   111  110 101 100 011 010  001  000  1000   D63   D62  D61  D60  D59  D58   D57   CB7  0111   D56   D55  D54  D53  D52  D51   D50   D49   0110   D48   D47  D46  D45  D44  D43   D42   D41   0101   D40   D39  D38  D37  D36  D35   D34   D33   0100   D32   D31  D30  D29  D28  D27   D25   CB6  0011   D25   D24  D23  D22  D21  D20   D19   D18   0010   D17   D16  D15  D14  D13  D12   D11   CB5  0001   D10   D9 D8 D7 D6 D5  D4  CB4  0000  D3  D2  D1  CB3  D0  CB2  CB1  No  err o r       From table 1,  we ca n cal c u l ate each ch e ck bit (CB1 CB7), for exa m ple,  CB1= D0 D1 D3 D4 D6 D8 D1 0 D1 1 D1 3 D1 5 D1 7 D1 9 D2 1 D2 3 D25 D26 D28 ⊕⊕ D30 D3 2 D3 4 D3 6 D3 8 D4 0 D4 2 D4 4 D4 6 D4 8 D5 0 D 52 D54 D56 D57 D59 D61 D63   Evaluation Warning : The document was created with Spire.PDF for Python.
TELKOM NIKA   ISSN:  2302-4 046     De sign of ECC Co ntrolle and its Va lida t ion Based o n  FPGA (Cao  Yan)  7255 After cal c ul ating  CB1 ~~ CB 7 out,  we  d o  an  overall  parity  che c k fo D0 D63 a n d   CB1 CB 7, and the re sult is CB8.     2.1. ECC De coding and  Corre cting  Algorithm  As me ntione d above, E C C e n co ding  a pplie an  SEC-DED co de.  So the  re cei v er can  detect  errors by the  ch e c k bit. Tabl e  2 d e mon s trates  ho w th e re ceive r   d e tects erro rs.As   indicated in  Table 2, if t here  are no  errors, t he o v erall pa rity (the p a ri ty of the entire n - bit   received  code word)  will be even  and the syndrome of  the (n-1)-bit  SEC port ion  of the bl ock  will  be 0. If there  is on e-bit e r ror, then the  o v erall pa rity of the received  block  will be  odd. If the error  occurre d  in the overall pa rity bit,  then the syndro m e wil l  be 0. If the erro r occu rred  in some oth e bit, then the syndrom e will  be non ze ro a nd it will indica te whi c h bit i s  in erro r. If there i s  a two - bit  error, then th e overall p a rit y  of the recei v ed bloc will  be even. If one of the two  erro rs is in t he  overall  parity  bit, then the  o t her i s  in t he  SEC po rti on  of the blo c k. In this  ca se  th e syn d ro me  will  be non ze ro  (and will i ndicate the bit in the SEC po rt ion that is in  error). If the errors are bot h in  the SEC po rtion of the blo ck, th e n  the  syndrome  will  also b e  n o n z ero, althou g h  the proble m  is  hard to explai n this two bits location [7-1 0].      Table 2. Re ceiver Co ncl u sion of Erro r Detection   Possibi lity   Receiver Conclusion  Errors  Ov eral l   Pari t y   S y ndro m e   even 0 No  err o r   1 odd  =0  O v er all par ity   bit is in er r o S y ndro m e indicates the erro r   2 even  Double er ror, ca nnot be corr ecte     If there is one-bit error, t he correction  will be execut ed when  the  error i s  detected. The  syndrome  wil l  indi cate the  error lo catio n . The  synd rome i s   cal c u l ated a s  follo ws. After the   receiver  re cei v es the data,  it will cal c ulat e t he ch eck b i ts again  by the ECC en co ding alg o rith m,  if the cal c ulat ed re sult i s  r,  then do XO R op eratio with the  che c k blo c k p an d  the re sult r,  and   the result is syndrom e [11].     2.2. More Ge neral Con s id eration s  of E rror Corr ec tion.  In the last two se ction s , th e ECC  algo ri thm  ba sed on   Hammi ng co ding wa discussed.  This sectio n will take level s  of error correc tio n  and d e tection  cap a b ility greater  than SEC-DE D   into con s id eration.  The ce ntral  con c e p t in the theory of ECC is tha t  of Hamming Distan ce,  whi c h is  approp riate t o  call thi s  a  distan ce fu nction  be ca u s e it satisfie s the d e finition of a di st ance  function u s e d  in linear alg e b ra:s              Here  d(x, y)  denote s  th Hammi ng  distance  bet wee n  code  word  x and  y, wh ich fo brevity we wil l  call simply the dista n ce b e twee n x and  y.  Based  o n  th e ab ove  co n c ept,  we  will   now turn thi s  que stion  a r o und  and  a s k, “F or a   given co de le ngth n and mi nimum di stan ce d, ho w ma ny code  word s are p o ssibl e?”    For minim u m distan ce 1, suppo se the  code word s a c cording to the  following forum:    A (n, 1) =2 n     For mi nimum  distan ce  2,  we  kno w  fro m  the  si ngle  parity bit exa m ple that b u t A (n, 2 )   can not ex cee d    fo r th e fo llowing  rea s o n . Suppo se  there  is a  co d e  of le ngth  n  and  minim u distan ce  2 th at has mo re t han  cod e   wo rds.  Del e te a n y one  col u m n  from th co de words. T h is   prod uces  code of le ngth    and mi nimu m dista n ce   at   least  1 (d elet ing  a colum n  can red u ce  the   Evaluation Warning : The document was created with Spire.PDF for Python.
                               ISSN: 23 02-4 046                     TELKOM NI KA  Vol. 12, No. 10, Octobe r 2014:  725 3  – 7261   7256 minimum di st ance by at most 1), an d of size ex ce e d i ng. Thu s  it has cont radi cting equ ation (6).  H e nc   A( n - 2)= 2 n- 1        What  abo ut t he di stan ce  3 ?  Th at is an   unsol ved  pro b lem, in  the  sen s e  that n o  formul or re asona bl y easy mean s of cal c ul ating it is kn own. Of cou r se  many spe c if ic value s  of are   kno w n, and  some b oun d s  are kno w n,  but the ex a c t value is unkn o wn in most ca se s. When  equality hold s  in Equation  (1), it  represents the solu tion to this  problem for the  case d=3. Let   Equation (1)  be re written:          Here k is the  numbe r of informatio n bi ts,  so is the  numbe r of co de wo rd s. Hence we  have:        Similarly, for the dista n ce n = 7, and  so on . An interestin g relation i s  that for ,         This i s  kno w n as th e sp h e re -pa c king  boun d,  whi c h  can  achieve  a highe r lev e l of error  corre c tion a n d  detectio n  capability than  SEC-DE D  [12].        3. ECC Co nt roller Design   Based o n  the research of  ECC the error  dete c tion  and co rrectio n  algorithm,  with the  top-do wn a n d  modular d e sign method ol ogy, an ECC controll er ha s bee n desi g ned. Figu re 1  is   the block dia g ram of a 64 -bit ECC co ntroller  an d its a pplication in the memo ry system.        Figure 1. ECC Co ntrolle Blo ck  Diag ra m and its App lication       From th e Fi g u re  1, we  ca n see, the E C C c ontroll er co nsi s ts of  an  ECC  en co de r ,  ECC   control logi c and ECC de cod e r an d co rre ctor. Th e ECC en co der is in charge of encodi ng the   informatio n d a ta with  che c k bits,  while t he ECC de co der a nd  co rre ctor i s  in  cha r ge of de co din g   the re ceived  block a nd do ing erro r det ection  and  correctio n . If a two-bit error dete c ted  and  uncorre ctable ,  the ECC c ontrol logi will se nd an  interru pt to the upper  use r  logi c, which  indicates that  an uncorre ctable error  o c curred. EC C co ntrol log i c co nsi s ts of  many regi sters  whi c h can be  divided into three type s as follows:   Evaluation Warning : The document was created with Spire.PDF for Python.
TELKOM NIKA   ISSN:  2302-4 046     De sign of ECC Co ntrolle and its Va lida t ion Based o n  FPGA (Cao  Yan)  7257 Config uratio n  Regi ste r  (CR),  whi c h i s   use d   for  re co rding  the thre shol d of the  occurrin g   1-bit or 2 - bit errors. On ce  over the thre s hold, the co ntrol logi c will send an inte rrupt.  Status Regi ster (S R),  whi c h is  used for  reco rding th e  type of erro whi c h o c cu rred, erro r   locatio n  and  ECC syn d ro me.  Cou n ter, use d  for re co rdin g the numbe r of 1-bit and 2 - bit errors.   After the design  of ECC cont roller archit ecture, each  module  will be  realized by  prog ram m ing  with the VHDL langu age [1 3-15].       4. FPGA Validation  Validation  an d sim u lation  is an  impo rt ant  step  in t he EDA  de si gn. The  pu rpose of  validation i s  t o  en su re  the  desi gn  accu racy. A fter finis h ing the ECC  c ont roller des i gn, a  FPGA  validation h a s  be en  executed on  the  Altera Straix   family FGPA. Ac cording to the Altera E D desi gn  sol u tion, two  devel opment  kit s  (Quartu s II 10 .1 and  Mo del Sim 6.6c)  ha ve bee cho s en   for this valida t ion. At first,  a proje c t was created  in th e Qu artu s II  10.1, then  so urce file were  adde d to the  proje c t and  a  full compil ation mad e . Figure 2 is t he full co mpil ation re sult [ 16].  Figures 3 a n d  4 sho w  the a nalysi s  & synthesi s  re sult a nd the fitter result individu ally.          Figure 2. ECC Co ntrolle Full Com p ilati on Re sult           Figure 3. Analysis & Synthesi s  Com p ilat i on Re sult                 Evaluation Warning : The document was created with Spire.PDF for Python.
                               ISSN: 23 02-4 046                     TELKOM NI KA  Vol. 12, No. 10, Octobe r 2014:  725 3  – 7261   7258 After finishin g a full  comp ilation, an  RT L sim u lation i s  exe c uted i n  the Mod e lSim 6.6c.   The pu rpo s of the RTL si mulation is to  find some un strain ed tra c e  in the desig n .  Before an RTL  simulatio n , you should  de sign  a test b ench, usi ng a  PCB equip p ed with you r   device.  Here, the  device i s  j u st  the ECC  cont rolle r. In ad dition, a te st  be nch sh ould   contain som e  sign al  stim ula t or  to drive the c i rc uit to work , whic h is   al so  desi gne d by VHDL p r o g ra mming [17].  The  ECC con t roller RTL   si mulation con s ist s   of  an en cod e r RTL si mulation  a nd decode RTL sim u lation.  To a  memory sy stem,   the  ECC encoder will work  if  a processor  executes a  write mem o ry  comma nd. Fi gure 5 i s  the simulatio n  re sult of ECC e n co ding.           Figure 4. Fitter Co mpilatio n  Re sults      In Figure 3, dn is the inp u t data while  dq is  the ou tput data, and cb  is the check bits  cal c ulate d  by  the E C C en coder.  Seein g   from Fi gur e 5 ,  we  ca n find   the value  of  dq i s  the   sam e   as d n . In a m e mory  syste m , the ECC  d e co der  and  correcto r will  work if  a p r o c e s sor  rea d data  from the me mory. Due to  memory e rro rs occu rri ng ra ndomly, to better obse r ve the de code r a nd  corre c tor  RT L  simulatio n ; some e rro rs were inj e cte d  i n to the si gnal  stimulato r . Table 3 a n d ta ble  4 are the VHDL source  co des  of error injection [18].   Table 3  and  4 individually  use d  a state  mach i ne to  stimulate the d e co der  and  correcto function. Fro m  the source  code s,  we know the stim ulator contai n ed all types of 1-bit and 2 - bit   errors. After  importin g  the  test b e n c and  so urce f iles to  the  M odel sim a nd  doing  an  RT L   simulatio n , the result is sh own a s  the Fi gure 6           Figure 5. ECC Enco ding S i mulation Result  Evaluation Warning : The document was created with Spire.PDF for Python.
TELKOM NIKA   ISSN:  2302-4 046     De sign of ECC Co ntrolle and its Va lida t ion Based o n  FPGA (Cao  Yan)  7259 Table 3. Errors  Injec t ed to the Information Bits   data:process  begin    wait for 40 ns;      Dp<=X"000000 000000000 1";  --inject single bit er ror ,  Dp (0) flip     wait for 40 ns;     Dp<=X"FF F F F FFF FF FF FFEF " ;   --i nj ec t single bit error ,   Dp(4 ) flip    wait for 40 ns;     Dp<=X"AAAAAAAAAAAAAAAF"; --inject double  b i t error ,  both  occurred at  the data  bits. Dp(0),Dp (2)  both flip    wait for 40 ns;       Dp<=X"CCC CC CCCCC CCC CC D";--inject doubl e bit error; one  occurred at the data bit, the other occurred at t he  check bit. Dp(0),  cb(0) both flip.     wait for 40 ns;     Dp<=X"F0 F 0F0 F 0F0 F 0F0 F 0";   --inject double bit error ,  b oth occurred at the check bits, cb(1), cb(2) b oth flip    wait for 40 ns;     Dp<=X"FF FF0 0 00FF FF00 00";   --inject single b i t error ,  cb(3 ) flip    wait for 40 ns;     Dp<=X"FF F F F FFF0 000000 0"; - -  no er ror   end process;      Table 4. Errors Injecte d  to the Ch eck Bits  check_bit: process  begin  --inject single bit  error,Dp(0) flip    wait for 40 ns;      cb<=X"08";    --inject single bit  error,Dp(4) flip    wait for  40 ns;     cb<=X"EF";    --inject double bit erro r; both occurred at the  data bi ts. Dp(0),  Dp(2 both flip    wait for 40 ns;     cb<=X"58";    --inject double bit error ,  o ne occurr ed at the data  bit, the other  occurred at the check --bit. Dp(0 ),cb(0)  both flip    wait for 40 ns;     cb<=X"30";     --inject double bit erro r, both occurred at  the check  bits,cb(1),cb(2) b oth flip    wait for 40 ns;      cb<=X"0A";    --inject single bit  error, cb(3) flip     wait for 40 ns;      cb<=X"E6";   -- no e rro r     wait for 40 ns;     cb<=X"CE";    end process;          Figure 6. ECC De co der a nd Co rrecto r RTL Simulati on Re sult   Evaluation Warning : The document was created with Spire.PDF for Python.
                               ISSN: 23 02-4 046                     TELKOM NI KA  Vol. 12, No. 10, Octobe r 2014:  725 3  – 7261   7260 From Fi gure  6 we  see, all  data is d e co ded to  64 -bit  origin al data .  All 1-bit errors  are  corre c ted, in  addition, when it  occurred, the singl e_bit_e r ror r egiste r  is in cre m ente d  b y  1   automatically. Whe n  2-bit errors o c curred, the  de co der  can not d e co de the  rig h t data, so t h e   state of o u tp ut data  (dn )  i s  hig h  imp e d ance,  whi c h  i s   sho w n i n  t he pe rio d  fro m  131 744 ps  to   2101 44p s, b e ca use 2-bit error o c cu rre d 3 time s in   the pe riod, t he do uble _bi t_error  cou n t to  “0x03  as  sho w n in Figu re  6.  In the Figure  6, each  sign a l  definition is  sho w n in the  Table 5.       Table 5. Sign al Definition o f  ECC De cod e r and  Co rre ctor  S y m b ol  T y pe   Defini tio n   en  Input   Enable the deco der and cor r ector   dp  Input   information bits of input data 6 4bit   cb  Input   check bits of inp u t data 8bit   dn Output   output  data 64b it  single_bit_error   Output   1-bit err o r re gi ster, the thr e shold o f  which is 3F  double_bit_err o r   Output   2-bit err o r re gist er, the thr e shold o f  which is 1F  se_over  Output   interrupt  when ov er the th reshold  of 1-bit er ror   de_over   Output   interrupt  when ov er the th reshold  of 2-bit er ror       5. Impro v ement Sugge sti ons   From the FP GA validation  results of th e ECC  co ntroller d e si gn i n  this the s is,  for better  perfo rman ce,  two sug g e s tions a r e given  as follows:   The ECC con t roller  wa s on ly validated in 64-bit mo de i n  this the s is, for some a ppli c ation   needi ng  sup p o rt for  128 -bi t  or mo re, th e timing i s  p r elimina r y and  not validate d . The r efore, a  validation of a 128-bit or  more mo de E CC  controlle r sho u ld be ex ecute d  after this the s is.   On the  flexibi lity aspe ct, d y namic re co n f igurabl e a r ch itecture  may   be a  go od  ch oice  for  desi gning   a n   ECC contro ller whi c h suppo rts  128 -b it or mo re  mode. T h is i s  a n  a r e a  f o r   improvem ent.  The  ECC co ntrolle only can co rrect 1-bit  e r rors,  for some   ap p lication s  whi c nee highe r reli abil i ty,  the ECC  controlle r is i nade quat e. T herefo r e, a n e w data p r ot ection te chn o l og maybe a  go od choi ce fo r solving  su ch p r o b lem s . Ho w to d e s ign  a ne data p r ote c tion  techn o logy suppo rting mul t iply bits correct ion  will be  the next job after this thesi s     6. Conclusio n   ECC  coding  is important for ensuring  dat a reliabilit y. On the  aspect  of ECC coding  algorith m  re search, this th esi s  re alize d   a 64- bit ECC controller by  VHDL p r og ramming a nd  its   validation on  the Altera Stratix IV Family FPGA.  The controlle r can  apply to a me mory controll er  and some oth e r ECC relate d appli c ation s  pe rfectly  be cau s e it is smart and e a sy to transpla n t  in  an EDA appli c ation.       Referen ces   [1]  Slay man C, Ops A La carte.   Soft error tre nds a nd  mitig a tion tec h n i qu es in  me mory  devic es.  Th e   Confer ence  of Reli ab ilit y an d Mainta in ab ilit y S y mp osium. 2 011.   [2]  Li Z h ang hu i, N i   Xia o q i an g, W ang  Yo ng w e n.  Im p l em en ta ti on  an d   D e sg i n   Of Error-correc t ing  Codes In  High  Perfor ma nce Pr ocessor .  T he 15th  Co mputer E ngi ne erin g a n d  Ind u s trial Me etin g ( C onfer ence) .   201 1;  A: 3-4.  [3]  HUA Bin, H U ANG Jie- w e n, Z H OU Z hang- lun, SU N  Jian-tao, Z H ANG Ping.  Desig n  an Impleme n tatio n  of the  Data  ECC i n  Hi gh  Spee a nd  La rge C apac it Soli d State St orag e S y stem   Based o n  F P GA.  Journal of s c ienc e of technol ogy an d en gin eeri ng (Pu b l i catio n_N a m e) .  2010; 18: 2- 3.  [4]  Chin- L u ng S u , Yi-T ing Yeh,  Che ng- w e n W u An inte grate d  ECC  and r e dun da ncy rep a i r sche m e for   me mory reli ab i lity enh anc e m ent. T he Defec t  and F ault T o l e ranc e in VLSI  Systems.  DF T  2005. 20t h   IEEE Internatio nal S y mp osiu m (Confere n ce ). 2005; 81- 89.   [5]  RW Hamming.  Error Detecti ng an d Error Correctin g Co des.  Journ a l o f  the Bell System T e ch nic a l   (Pulicati o n _ Na me) . 1 950;  XXIX(2): 1-1 4 .   [6]  Nikol ov H, Ste f anov. Efficient  Extern al Mem o r y   Interfac e for Multi-Proc e ssor Platforms  Real ized  on   FPGA Chips.  Journal of IEEE Com p uter  Society (Pulication_Name) . 2005;  8(3): 23-27.   Evaluation Warning : The document was created with Spire.PDF for Python.
TELKOM NIKA   ISSN:  2302-4 046     De sign of ECC Co ntrolle and its Va lida t ion Based o n  FPGA (Cao  Yan)  7261 [7]  F eng Qin, Sh an Lu, Yu an yuan Z h o u Exploiting ECC- Memory for  Detecting Memory Leaks an Memory C o rrut i on  Duri ng Pr o ductio n  R uns.  High-P e rforma nce  C o mp uter Architecture.  H P CA-11,1 1 th   Internatio na l Symp osi u m (Co n ferenc e). 200 5; 291-3 02.   [8]  Xi ng jun Z h ang , Endon g W a n g , Dong Z h an g etc.  Softw are-Base d Dete cting an d Rec o veri ng fr o m   ECC-Mem o ry  Faults” ,  In In tel lige n t Netw orki ng an d Coll ab o r ative System ( I NcOS).  T h ird  Internati o n a Confer ence (C onfere n ce ). 20 11; 715- 71 9.  [9]  Doe Hy un Yoon, Mattan Erez.  Memory M app ed ECC: L o w - Cost Error Protection for L a st Leve l  Cach e .   Procee din g  IS CA 0 9  Proc ee din g s of t he  36th  an nua l I n ternati o n a l S y mp osi u m (C o n ferenc e) o n   Comp uter Arch itecture. 200 9; 116- 127.   [10]  Doe  H y u n  Y oon, M a ttan  Erez.  Virtual i z ed a n d  F l exi b le E CC for  Main  Me mor y .  Procee din g   ASPLOS’10 Pr oceedings of the 15t h E d ition of ASPLOS on Architec tur e  Support for Programming  Lan gu ages a n d  oper atin g S y stems. 2010; 9 7 -40 8 [11]  K RajaS e kh ar, BKV Prasad, T Madnu, P Sati sh Ku mar. Impl ementati on of  Fault Secur e  Encod e r a n d   Deco der for Memor y  A p p licat ion.  Jour nal  of T r ends in N e tw ork and C o mmunic a tions.  1 9 7 ( 1): 33-43.   [12]  CL Chen, MY  Hsiao.  Error-co rrecting c o des  for Seniconduc tor Memo r y  A p plicati on:A Stat e-of-the-ar t   Revie w . IBM  Journ a l of Res e arch an d Dev e l o p m e n t . 1984;  28(2): 12 4– 134 [13]  RW Hamming. Errror Correct ing and Err o r De tecing Codes.  Bell Syste m  T e chnic a l Jo u r nal.  1 950 ;   29(1): 14 7– 160 [14]  MY Hsiao. A Class of Optimal Min i mum  O dd- w e ig ht-c olum n SEC-D ED codes. IBM Journal of   Reser a ch an Devel opm ent. 197 0; 14(3): 39 5–3 01.   [15]  C Sla y ma n. C a che  an d me mor y   error d e tection,  corr ecti on, an d re duct i on tec hni qu es  for terrestrial   servers an w o rkstations.  IEEE Transactions  on Devic e   and Materials Reliability.  200 5; 5: 397– 40 4.  [16]  D W ang, B G anes h, N T uaych aro en, K B a ynes, A Ja le el, B Jaco b. D R AMsim: A memor y -s ystem   simulat o r.  SIGARCH Co mput er Architecture  New s  (CAN).  2005; 33: 1 00– 1 07.   [17]  Xi nq uan Ji ao, Peiji ao Ma, Yu gua ng Z h a n g . ECC alg o rith m and the rea l i z ation of the V HDL for hig h - capac ity sol i d- state storag e.  T he Electro n ics a n d  Optoel ectronics  (IOEOE) 2011  Internati o n a l   Confer ence. 2 011; 23 9-2 42.   [18]  A y me n F ,  Bel gacem  H, Ch i r az K.  A new  efficient s e lf- c hecki ng Hs ia o SEC-DE D   me mory Error   Correctin g Co d e T he Microel ectronics(ICM).  Internation a l C onfere n ce. 20 1 1 ; 1-5.           Evaluation Warning : The document was created with Spire.PDF for Python.