Priority Filt: A Way to Increase Network Reliability on Chip against Soft Error by Considering Multiple Bit Upset

Document Type : Research Article

Authors

1 Dept. of Computer Engineering, Shahid Rajaee Teacher Training University, Tehran, Iran

2 Dept. of Computer Engineering, Riverside University, California, USA

Abstract

One of the most important challenges that threaten the reliability of network-based chips is soft errors. These problems occur mainly in buffers of on the chip networks. The shrinking size of the technology has also increased the likelihood of converting single-event upset errors set to multi-event upsets, so it is predicted that by 2021 most soft errors of the multi-event reversal type will occur. Many different methods of avoiding and tolerating soft errors do not have the ability to deal with multi-event events due to different patterns. On the other hand, the rate of crosstalk fault is increasing. The purpose of this paper is to provide a method that, while improving the tolerance of single-event reversal events in buffers, is also able to tolerate multi-event upsets. The proposed method that is called Priority Flit is based on the different importance of tailer and data flits. In the other words, the fault tolerance method against soft errors in tailor and data is different. The second one is leafing and the second one is based on crosstalk avoidance and Hamming code. Results show improvements in the terms of hardware and performance with respect to the state-of-the-art mechanism.

Keywords


1- مقدمه[1]

در سال‌های اخیر، در ساخت تراشه‌های چند هسته‌ای پیشرفته از فناوری‌های زیرمیکرون عمیق برای ساخت بهره گرفته شده است [2,1]؛ بنابراین، این تراشه‌ها حساسیت زیادی به اشکال‌های محیطی دارند؛ ازاین‌رو، قابلیت اطمینان در کارکرد صحیح شبکه‌های برتراشه، یکی از چالش‌های جدی طراحی است. طراحان چنین سیستم‌هایی همواره قابلیت اطمینان را در روند طراحی خود لحاظ می‌کنند و با استفاده از روش‌های اجتناب، مقابله و ترمیم اشکال، سعی در افزایش این پارامتر دارند [3-2].

اشکال‌های گذرا مهم‌ترین منابع اشکالی‌اند که کارکرد صحیح شبکه‌های برتراشه را به مخاطره می‌اندازد. قدرت و شدت این اشکال در فناوری‌های زیر میکرون ‌عمیق، بیشتر از فناوری زیر میکرون است [4-9]. یکی از این نوع اشکال‌ها خطاهای نرم[1] است؛ این خطاها ناشی از برخورد ذرات پرانرژی‌اند [10-13] که به تغییرات ناخواستۀ تک‌بیتی یا تک‌رخداد و چندبیتی یا چندرخداد واژگونی در داده منجر می‌شوند [22] [21] [5-9]. در سطوح بالاتر، این اشکال‌ها باعث می‌شوند بسته‌های اطلاعاتی به سمت مقصد، درست منتقل نشوند. یکی دیگر از اشکالات نرم، اشکال هم‌شنوایی در سیم‌‌های مجاور است که به علت تزویج خازنی و سلفی میان سیم‌ها رخ می‌دهند [12] [13] [17].

با توجه به اینکه مساحت زیادی از راه‌گزین‌ها را میانگیرها تشکیل می‌دهند و نیز احتمال وقوع خطای نرم در فناوری‌های زیرمیکرون عمیق، بالا است، احتمال تغییریافتن مقادیر میانگیر‌های حاوی فلیت‌ها در اثر خطای نرم، بالا است [13]. با گذر از فناوری ساخت زیرمیکرون به فناوری زیرمیکرون عمیق، خطاهای نرم تک‌بیتی جای خود را به خطاهای چندبیتی می‌دهند.

روش‌های به‌کاررفته برای مقابله با خطاهای نرم در شبکه‌های برتراشه، ازنظر ساختاری، به روش‌های مبتنی بر افزونگی اطلاعاتی [21-24]، روش‌های مبتنی بر افزونگی غیراطلاعاتی و نیز ترکیبی از روش‌های فوق تقسیم می‌شوند[14] [20] [23] [36] [37] . در روش‌های مبتنی بر افزونگی اطلاعات از کدگذارهای مختلفی برای محافظت داده‌ و تشخیص و تصحیح خطا در این داده‌ استفاده می‌کنند.[25-35]  در روش‌های مبتنی بر افزونگی غیراطلاعاتی نظیر تغییر معماری، با تغییر معماری اجزا نظیر مسیریاب و ... یا با افزونگی‌های سخت‌افزاری به مقاوم‌کردن اجزای شبکه‌های برتراشه به‌منظور مقابله با انواع خطاها اقدام می‌کنند [8]. در روش‌های ترکیبی نیز با استفاده از ترکیب روش‌های افزونگی اطلاعاتی و غیراطلاعاتی و با در نظر گرفتن خصوصیات شبکه‌های برتراشه به ارائۀ روشی به‌منظور افزایش قابلیت اطمینان سیستم اقدام می‌کنند. با وجود این، کاستی عمدۀ این روش‌ها در نظر نگرفتن اولویت بخش‌های مختلف یک بسته است[16,15] ؛ یعنی شیوه‌های یکسانی برای فلیت سرآیند و داده در نظر گرفته می‌شوند.

در این مقاله، با توجه به اهمیت خطای چندرخداد واژگونی که ناشی از برخورد ذرات پرانرژی‌اند و بیشتر این خطاها نیز در عناصر حافظه و به‌طور مشخص بر میانگیر‌های موجود در هر گره از شبکه‌های برتراشه اتفاق می‌افتند  [10,11]، تمرکزمان بر خطاهای نرم است.

ایدۀ اصلی این مقاله مبتنی بر ساختار موجود در سلسله مراتب پیام‌های شبکه روی تراشه است. در ساختار شبکه روی تراشه، داده در واحد‌هایی با عنوان فلیت بین هسته‌‌های پردازشی جابه‌جا می‌شود [15]. با توجه به میزان اهمیت متفاوت فلیت‌ها، رویکردهایی که برای مقابله با اشکالات در فلیت‌های سرآیند و دیگر فلیت‌ها نظیر فلیت‌های داده در نظر گرفته شدند نیز متفاوت خواهند‌ بود. روش ارائه‌شده در این مقاله به همین علت فلیت الویت‌دار نام دارد. راهی که برای مقابله با خطای فلیت سرآیند در نظر گرفته شد، مبتنی بر برگ‌برگ گذاری است. برای تشخیص خطای فلیت‌های داده، نیز از ترکیب روش‌های کدینگ و کدگذاری اجتناب از هم‌شنوایی استفاده شده ‌است.

میزان تأثیر روش فلیت اولویت‌دار با استفاده از شبیه‌سازی‌های متنوع انجام‌شده، بررسی شده است. برای بررسی سربار مربوط به کارایی روش‌های ذکرشده در سطح شبکۀ برتراشه، از شبیه‌سازBookSim  استفاده شده که یک شبیه‌ساز مبتنی بر شبکه‌های برتراشه است [18] . شبیه‌سازی روش ذکر‌شده در شبیه‌ساز BookSim این امکان را می‌دهد تا میزان سربار تأخیری برآورد شود که یک روش افزونه در کل یک شبکۀ برتراشه است؛ در این شبیه‌ساز، یک شبکۀ مش 8×8 در نظر گرفته شده ‌است. همچنین به‌منظور بررسی آثار عملی روش فوق، سرباز سخت‌افزاری این روش هم از پیاده‌سازی با زبان Verilog و سنتز با Design Compiler در فناوری 45 نانومتر بهره گرفته شده است. نتایج و مقایسه با روش‌های موجود در ادبیات موضوعی نشان می‌دهند روش‌های پیشنهادی به تحمل خطاهای چندبیتی در شبکه‌های برتراشه با سربار کارایی، توان مصرفی، مساحت و سربار پذیرفتنی نسبت به سایر روش‌ها قادر شده‌اند.

در این مقاله، در بخش 2، ابتدا مروری بر معماری شبکه‌های بر تراشه، انواع شبکه‌های برتراشه و مفاهیم پایه در این نوع شبکه‌ها شده است. همچنین در بخش 2، چالش‌های قابلیت اطمینان در شبکه‌های برتراشه نظیر خطاهای نرم تک‌بیتی و چندبیتی بررسی شده‌اند. همچنین در همین بخش، نگاهی به اهمیت خطاهای چندبیتی به‌ویژه در فناوری‌های زیر میکرون ‌عمیق و نیز مدل‌های خطاهای چندبیتی در میانگیرهای از جنس SRAM شده است. در بخش 3، روش‌های مرتبط برای مقابله با خطای نرم بررسی شده‌اند که در دو بخش روش‌های سطح پایین و روش‌های سطح بالا دسته‌بندی شده‌اند. در بخش 4، روش پیشنهادی برای مقابله با خطای نرم بررسی شده است. در بخش 5 نیز شبیه‌سازی کارایی و سخت‌افزاری ایده بررسی شده است. درنهایت، در بخش 6، نتیجه‌گیری و کار‌های آتی مقاله بیان شده‌اند.

 

2- پیش‌زمینه: ساختار و کاربرد‌های شبکه روی تراشه

با افزایش تعداد هسته‌ها در یک تراشه، برای تأمین بهره‌وری بالا برای یک هسته، به پهنای باند زیادی نیاز است؛ بنابراین نیاز به یک شبکۀ ارتباطی مقیاس‌پذیر[2] احساس می‌شود که به‌عنوان شبکه‌های برتراشه ارائه شد [1] [5]. در یک شبکۀ روی تراشه، هسته‌ها به کمک واحدهای مسیریاب به شبکه متصل و داده در قالب بسته‌هایی در شبکه، مسیریابی می‌شوند. واحدهای مسیریاب نیز با استفاده از کانال‌های ارتباطی و براساس یک ساختار از پیش تعیین‌ شده به نام هم‌بندی به یکدیگر متصل می‌شوند.

شکل (1)، یک گرۀ نوعی شبکه را روی تراشه نشان می‌دهد که برای شبکه‌ای مبتنی بر هم‌بندی توری مناسب است. با توجه به شکل (1)، هر گره حاوی پردازشگر یا هستۀ پردازشی و واحد مسیریاب است[15] . قسمت پردازشگر، بسته‌های تولیدشدۀ خود را با یک کانال ارتباطی

به نام کانال تزریق به شبکه وارد می‌کند و بسته‌هایی که سایر گرهها برای او صادر کرده‌اند، ازطریق کانال دیگری به نام کانال دریافت می‌گیرد. در ساختار شبکه روی تراشه، حجم زیادی حدود 40 تا 90 درصد از مساحت راه‌گزین را میانگیرها تشکیل می‌دهند [7] [1].

در سطح دادۀ شبکه‌های برتراشه هر پیام به بسته‌هایی با اندازۀ مساوی تقسیم می‌شود و بسته‌ها نیز ممکن است به واحدهای کوچک‌تری به نام فلیت تقسیم شوند[15] . فلیت واحدی از داده است که با توجه به پهنای بیتی کانال ارتباطی، طی یک یا چند سیکل ساعت از روی کانال، عبور داده می‌شود. فیت، میزان داده‌ای است که در یک سیکل ساعت از روی کانال عبور داده می‌شود (معمولاً اندازۀ فیت و فلیت برابر در نظر گرفته می‌شوند). شکل (2)، این تقسیمات داده‌ای را نمایش می‌دهد.

در سطح کاربرد، شبکه‌های روی تراشه بسیار کاربردی‌اند. به دو دسته از کاربرد‌هایی توجه شده است که طیف وسیعی از کاربردهای کنونی و آیندۀ سیستم‌های روی تراشه را نمایندگی می‌کند [1]. دستۀ اول کاربردهایی‌اند که قبلاً (و درحال حاضر) روی سیستم‌های چند‌پردازنده‌‌ای و سرورهای پرقدرت اجرا می‌شدند و با ظهور و معمول‌شدن چند‌پردازنده‌‌های ‌روی تراشۀ مبتنی بر شبکۀ روی تراشه، در آیندۀ نزدیک، به‌عنوان کاربردهای مهم این معماری‌ها بررسی خواهند شد. کاربردهای شاخص این دسته عبارت‌اند از:

  • خدمات مراکز داده [3] و به‌ویژه خدمت‌دهنده‌های وب.
  • کاربردهای محاسباتی، شامل کاربردهای علمی[4]، بیوانفرماتیک، تحلیل‌های آماری و اقتصادی، هواشناسی و غیره.

یک فیت کاربردهای تشخیص/داده‌کاوی/ترکیب[5] که به نام کلی RMS شناخته شده است و شامل طیف وسیعی از کاربردهای با کارآیی بالا هستند.

تشخیص دربردارندۀ تشخیص اجسام و مسائل مربوط به بینایی ماشین است.

  • داده‌کاوی شامل جستجو در دادۀ متنی تصویری و صوتی بوده و ترکیب شامل ساخت مدل‌های جدید داده از داده موجود است.
  • کاربردهای کامپیوتری رومیزی[6]، شامل برنامه‌های سنگین چندرسانه‌ای و بازی‌ها.

اما دستۀ دوم، کاربردهایی‌اند که برای سیستم‌های نهفتۀ چندهسته‌ای طراحی می‌شوند. این سیستم‌های نهفته بیشتر به‌صورت دستگاههای حمل‌شدنی مانند PDA‌ها، وسایل مراقبت پزشکی و ... بوده‌اند و درنتیجه، استفاده از منبعِ محدود انرژی مهم‌ترین مشخصۀ آنهاست.

 

 

شکل (1): معماری یک گره‌ی شبکه‌ی بر تراشه[4].

 

 

2-1- اهمیت خطای گذارا در شبکه روی تراشه

ساختار شبکه روی تراشه شامل واسط‌ها و سیم‌های ارتباطی‌اند که داده را مابین هسته‌های پردازشی جابه‌جا می‌کنند. مهم‌ترین چالش‌های گذرا در واسط، اشکالات نرم و در سیم‌های کانال ارتباطی اشکال هم‌شنوایی است. در این بخش به این دو چالش با جزئیات بیشتری پرداخته شده است.

 

مدل خطای نرم

طی پژوهش انجام‌شده در [6]، نرخ خطای نرم از فناوری 130 به 30 نانومتر در حدود 6 تا 7 برابر افزایش پیدا کرده است. جدول (1) میزان خطاهای چندبیتی نسبت به خطاهای تک‌بیتی در فناوری‌های مختلف را نشان می‌دهد و جدول (2) برآوردی است که [7]IRTS [19] برای سال‌های آتی دربارۀ احتمال رخداد خطاهای چندبیتی داشته ‌است؛ بنابراین، می‌توان به این نکته پی ‌برد که 100 درصد خطاهای نرمی در تراشه‌های ساخت سال 2021 به بعد، تبدیل به خطاهای چندبیتی خواهند‌ شد. این امر، حکایت از اهمیت فراوان خطای چندبیتی دارد که باید در روش‌های افزایش قابلیت اطمینان در نظر گرفته‌ شوند.

پیش‌تر برخورد ذرات آلفا و نوترون به سطح تراشه‌ها یکی از عوامل از دست رفتن محتویات ذخیره‌شده در عناصر حافظۀ ایستا، در خارج از جو زمین بود؛ اما با پیشرفت فناوری VLSI و کوچک‌تر شدن ابعاد ترانزیستورها، حساسیت عناصر حافظه افزایش یافته است [8]. همچنین قدرت و نرخ ذرات پرانرژی نظیر آلفا و نوترون که (از مواد به‌کاررفته در بسته‌بندی مدار مجتمع و همچنین فضا) برتراشه می‌بارند، ثابت مانده است. برخورد ذرات شتاب‌دار به سطح تراشه، یکی از معضلات و مشکلات فناوری‌های جاری است و روندی رو به وخامت دارد. مدل خطای نرم بیان‌کنندۀ تغییر ناخواسته در محتویات ذخیره‌شده در یک بیت از حافظۀ سیستم است؛ این تغییر به دلیل برخورد ذرات پرانرژی رخ داده است [8] که با پیشرفت فناوری، خطاهای تک‌بیتی موجود در فناوری‌های رایج، تبدیل به خطاهای چندبیتی می‌شوند [9].

 با توجه به اینکه حجم زیاد حدود 40 تا 90 درصد از مساحت راه‌گزین را میانگیرها تشکیل می‌دهند [1]، به احتمال زیاد ممکن است یک خطای چندبیتی در این قسمت رخ بدهد. الگوهای خطای متفاوتی، در صورت به وجود آمدن خطای نرم چند‌بیتی ممکن است پدیدار شوند؛ این الگوها به سه دستۀ کلی تقسیم می‌شوند که در شکل (3) آورده شده‌اند. در مطالعات انجام‌شده در [10,11]، احتمال رخداد الگوهای به‌هم‌پیوسته، بسیار بیشتر از احتمال رخداد دیگر الگوها برآورد شده ‌است؛ این مورد در روش پیشنهادی باید به‌منظور افزایش قابلیت اطمینان در نظر گرفته ‌شود [11].

 

 

شکل (2): ساختار پیام‌ها و بسته‌ها [5].

 

جدول (1): نسبت خطاهای چندبیتی به خطاهای تک‌بیتی در فناوری‌های مختلف [7] .

اندازه فناوری

تعداد کل

حداکثر بیت

mm

2

3

8-4

8<

حداکثر بیت

180

0.5

0.5

0.0

0.0

0.1

2

130

1.2

0.8

0.2

0.2

0.1

7

90

1.9

1.5

0.2

0.2

0.1

7

65

2.4

2.1

0.1

0.0

0.1

10

45

2.3

1.9

0.2

0.1

0.1

6

32

3.1

2.6

0.2

0.3

0.1

16

22

3.9

3.0

0.2

0.3

0.1

18

 

جدول (2): برآورد IRTS از احتمال خطاهای چندبیتی [19].

پیش‌بینی یا سال

2013

2016

2019

2022

اندازۀ فناوری (نانومتر)

35

25

18

13

طول گیت (نانو متر)

15

9

6

45

تعداد رخداد واژگونی (به درصد)

64%

100%

100%

100%

 

 

 

اشکال هم‌شنوایی

اشکال هم‌شنوایی نیز که در سیم‌های طولانی و موازی رخ می‌دهد، باعث تغییرات ناخواستۀ داده روی کانال‌های شبکه روی تراشه می‌شود و درنهایت، بسته‌ها به‌درستی تحویل نمی‌شوند [13]. اثرات اشکال هم‌شنوایی در سیم‌های اصابت‌شده که به آنها سیم‌های قربانی[8] گفته می‌شود، به یکی از سه صورت زیر مشاهده می‌شود: 1)ولتاژ گذرای[9] ناخواسته در سیم‌های قربانی؛ 2) تسریع در رخداد لبه‌های بالا/پایین رونده در سیم‌های قربانی و 3) تأخیر در رخداد لبه‌های بالا/پایین رونده در سیم‌های قربانی کانال؛ البته علاوه بر سه نمونۀ ذکرشده که باعث دریافت غیرصحیح اطلاعات و کاهش صحت اطلاعات می‌شوند، رخداد اشکال هم‌شنوایی باعث افزایش توان مصرفی در کانال‌های شبکه روی تراشه نیز می‌شود [14]. به عبارت دیگر، یک کانال ایدئال که هم‌شنوایی در آن رخ نمی‌دهد، به انرژی کمتری برای ارسال حجم مشخصی از داده در قیاس با یک کانال واقعی نیاز دارد. در صورت رخداد یک ولتاژ گذرای ناخواسته در سیم قربانی، ممکن است سمت گیرندۀ کانال، بیت نادرستی را دریافت کند؛ اگر ولتاژ گذرا دارای عرض کافی باشد. همچنین اگر تسریع/تأخیر ایجادشده از یک حداقل بیشتر باشد، اتفاق مشابهی خواهد افتاد [20].

 

     

شکل (3): الگوهای خطاهای چندبیتی

 

 

3- کارهای پیشین

روش‌های مختلفی در ادبیات موضوعی برای مقابله با اشکالات گذرا ارائه شده‌‌اند. این روش‌ها به دو بخش تقسیم می‌شوند؛ روش‌های مقابله با خطای نرم [21][22][24] و روش‌های مقابله با اشکال هم‌شنوایی. روش‌های به‌کاررفته برای مقابله با خطاهای نرم در بافر‌های شبکه‌های برتراشه به روش‌های سطح پایین [23]  [21]که از افزونگی‌های داده برای تشخیص و تصحیح خطای نرم استفاده می‌کنند و روش‌های سطح‌ بالا [4] در سطح مسیریابی تقسیم می‌شوند. روش‌های سطح بالا به علت افزودن افزونگی، بر‌‌های ترافیکی و بسته کارایی شبکه‌های روی تراشه تأثیر می‌گذارد و بنابراین، قابلیت اطمینان در سطح روش‌های سطح پایین با سربار کمتری افزایش می‌یابد.

در روش‌های سطح پایین بسته به میزان تشخیص و تصحیح مورد نیاز از کدگذاری‌های مختلف مبتنی بر افزونگی داده، استفاده می‌کنند. استفاده از کدهای تشخیص خطا یکی از مرسوم‌ترین راههای افزایش قابلیت اطمینان شبکه‌های برتراشه در مقابل خطای نرم است. هزینۀ طراحی پایین و این قابلیت که به طراح اجازه می‌دهد پس از تشخیص خطا، فرایند ترمیم خطا به‌صورت نرم‌افزاری یا سخت‌افزاری انجام شود، از دلایل مقبولیت این دسته از روش‌ها است. در صورت تشخیص خطا یکی از روش‌های ارسال مجدد، تصحیح خطای رو به جلو و روش ترکیبی به‌کاررفته است. در [20] روشی ارائه شده است که بتواند انرژی مصرفی سیستم را به‌صورت هدفمند به‌منظور افزایش قابلیت اطمینان سیستم مصرف کند. انتقال داده در این روش به این صورت انجام می‌پذیرد که هر  بیت، داده را به‌صورت   بیت می‌فرستد؛ یعنی داده‌ها را به‌صورت سطری و ستونی می‌فرستند. در این روش، از کدهای همینگ سطری و ستونی برای تشخیص و تصحیح خطا استفاده می‌شود.

در [14] یک کد همینگ اصلاح‌شده برای شناسایی و اصلاح اشکالات‌های نرم ارائه شده است. در این روش، ورودی دادۀ کدگذاری‌شده در گروهها دسته‌بندی و هر همینگ اصلاح‌شده به‌طور موازی روی هر گروه، اعمال و در صورت وجود اشکال، از ارسال مجدد استفاده می‌شود. نتایج شبیه‌سازی ثابت می‌کنند همینگ اصلاح‌شده در مقایسه با کد همینگ معمولی، زمان تأخیر و سرعت را کاهش می‌دهد. در [25] از یک ساختار حافظۀ ترکیبی شامل SRAM و STTRAM برای افزایش قابلیت اطمینان بافرها استفاده شده است. این روش یک خطا را تصحیح و دو خطا را تشخیص می دهد. در [26] بافرهای شبکه روی تراشه با سه نوع ECC شامل همینگ توسعه‌یافته، همینگ نوع دوم و تصحیح خطای مجاور سه‌گانه محافظت و با کنترل خطای نابرابر انعطاف‌پذیر ارزیابی شده‌اند. تفاوت این روش‌ها بهبود قابلیت تصحیح و تشخیص خطا انفجاری با استفاده از تغییر در ماتریس تولید کد همینگ است؛ ولی این روش همینگ‌ها بسیاری از الگو‌های خطاهای چندبیتی را تشخیص و تصحیح نمی‌کند و مساحت زیادی به تراشه تحمیل می‌کند.

دسته‌ای دیگر از روش‌های مقابله با اشکالات، تنها برای مقابله با اشکالات هم‌شنوایی در سیم‌ها ارائه شده‌اند که کدینگ اجتناب از هم‌شنوایی کم‌هزینه‌ترین آنها است [40]-[52]. این کدینگ‌ها الگوهای خاصی را در کلمات کد حذف می‌کنند.

این کدگذاری‌ها به اجتناب از هم‌شنوایی مشهورند و می‌توانند با حذف الگو‌های گذارِ ممنوعه از محتوای فلیت‌ها/بسته‌ها، باعث کاهش/حذف اِشکال هم‌شنوایی در خطوط ارتباطی بین هسته‌های پردازشی شوند [27]. حذف این الگو‌های ممنوعه، با ارائۀ نگاشتی مناسب برای تبدیل کلمه داده به کلمه کد، صورت می‌گیرد که دارای چهار کلاس تأخیر است. کدگذاری‌های اجتناب از هم‌شنوایی به دو دستۀ مبتنی بر حافظه و بدون حافظه تقسیم می‌شوند. در کدگذاری‌های مبتنی بر حافظه، کلمه ‌کد [10] براساس کلمه ‌کد قبلی و کلمه ‌داده‌ای [11] تولید می‌شود که باید در سیکل جاری ارسال شود؛ اما روش‌های بدون حافظه، کتابچه ‌کد [12] ثابتی دارند و برای تولید کلمه‌ کدها فقط به داده‌هایی توجه می‌کنند که هم‌اکنون باید ارسال شوند، ولی حافظۀ زیادی دارد.

کدهای الگوی ممنوعه [28-31] کدهای هم‌پوشانی ممنوعه [32]، کدهای انتقال ممنوعه [33] و کدهای یک لامبدا [34] انواع CAC براساس طبقه‌بندی طبقات مختلف الگوی گذارند.

 

در [21] روشی به نام تشخیص خطای بالا با طرح کدینگ مشترک تصحیح خطا پیشنهاد شده است که برای برطرف‌کردن چالش‌های اشکال هم‌شنوایی بین اتصالات مجاور و تأثیر افزایش منابع نویز استفاده شد. در [22] یک روش جدید کدگذاری باس آگاه از نویز با استفاده از تکرارکننده‌های زمینی با توان پایین ارائه شده است که برای به حداقل رساندن نویز در بین اتصالات مجاور با کمترین توان از زمین به‌عنوان محافظ استفاده شده است. در [23] روشی به نام طرح مشترک کدهای اجتناب از تداخل و کدهای تصحیح خطا پیشنهاد کردند که نرخ انتقال باس بالاتری را فراهم می‌کند. در [24] کد تصحیح خطای افزونگی پایین با تصحیح خطای بیشتر را برای مسئلۀ قابلیت اطمینان پیوند اتصال داخلی روی تراشه پیشنهاد کردند.

 

4- روش پیشنهادی

مهم‌ترین منابع اشکالی که کارکرد صحیح شبکه‌های روی تراشه را به مخاطره می‌اندازند، اشکال چندرخداد واژگونی و اشکال هم‌شنوایی هستند. برخورد ذرات پرانرژی به عناصر حافظه که به اشکال چندرخداد واژگونی مرسوم است، باعث رخداد تغییرات ناخواسته در میانگیرهای شبکه‌های روی تراشه می‌شود که به آن خطای نرم گفته می‌شود. اشکال هم‌شنوایی نیز که در سیم‌های طولانی و موازی رخ می‌دهد، باعث رخداد تغییرات ناخواسته در بسته‌ها در حین عبور از کانال‌های شبکه‌های روی تراشه می‌شود. در این مقاله، به خطای نرم و اشکال هم‌شنوایی که از مهم‌ترین چالش‌های قابلیت اطمینان در شبکه‌های روی تراشه‌اند توجه شده است. این رویکرد‌ها در ادامه بحث شده‌اند. روش راه‌گزینی که قرار است در شبکه‌های برتراشه به کار رود، روش راه‌گزینی خزشی یا VCT است. در کارکرد عادی این روش‌ها، یعنی در حالتی که خطای قفل‌شدگی از سر صف[13] وجود ندارد، در هر گره اطلاعات یک فلیت از فلیت‌های داده قرار دارد.

با توجه به میزان اهمیت متفاوت فلیت‌های سرآیند و فلیت‌های داده، رویکردهای به‌کاررفته برای افزایش قابلیت اطمینان اطلاعات در هر کدام از این نوع فلیت‌ها متفاوت خواهد بود. در روش پیشنهادی دو رویکرد کلی در نظر گرفته شده‌اند؛ رویکرد مقابله با خطای نرم در فلیت سرآیند و رویکرد مقابله با خطای نرم در فلیت‌های داده.

 

4-1- روش تشخیص خطا در فلیت سرآیند

در روش پیشنهادی، روش تشخیص خطا در فلیت سرآیند با فرض وجود روش مسیریابی قطعی قابل پیاده‌سازی است. اگر مسیریابی در شبکه‌ای به‌صورت قطعی انجام شود، باید برای رسیدن به مقصد خاصی از گرههای مشخصی عبور کند. به عبارت دیگر، گرههایی که بسته باید برای رسیدن از یک مبدأ به یک مقصد طی کند، گرههایی یکتا هستند. آدرس گره مبدأ و گره مقصد در فلیت سرآیند وجود دارد. جزئیات روش پیشنهادی برای تشخیص خطا در فلیت سرآیند در ادامه آورده شده‌‌اند.

 با توجه به شکل (4)، فلیت سرآیند زمانی که وارد گره بعدی می‌شود، باید هم در میانگیر اصلی وارد شود و هم در میانگیر ذخیره‌ای فراهم‌شده برای این منظور ذخیره شود. برای فلیت سرایند از روش برگ‌برگ‌ سازی استفاده می‌شود.

روش‌های برگ‌‌برگ ‌سازی ازجمله روش‌هایی‌اند که برای مقابله با خطاهای قطاری[14] یا پیوسته استفاده می‌شوند. این روش‌ها به‌طور معمول، به این منظور در کانال‌های ارتباطی استفاده می‌شوند که ساختار خطاهای پیچیده را به الگوهای خطاهای ساده‌تری تبدیل کنند؛ زیرا نحوۀ مقابله با الگوهای خطای ساده‌تر، آسان‌تر خواهد ‌بود. اگر تعداد خطاهای قطاری رخ‌داده از یک حدی بیشتر باشد، روش‌های مرسوم تصحیح خطا دیگر توانایی تحمل این خطاها را نخواهند داشت. اساس روش‌ها‌ی برگ‌‌برگ ‌سازی، مرتب‌سازی داده‌ها به گونه‌ای است که تعداد خطاهای کمتری پس از عمل معکوس برگ‌‌برگ ‌سازی[15] در کنار یکدیگر قرار گیرند. این مرتب‌سازی، این قابلیت را به طراح می‌دهد که بتواند این خطاها را با کد‌گذارهای ساده‌تر تحمل کند.

در این روش، مرتب‌سازی بیت‌ها به‌صورت تصادفی صورت می‌پذیرد؛ یعنی ترتیب خواندن بیت‌ها به‌صورت تصادفی است و به دنبال آن، ترتیب نوشتن آنها نیز باید به گونه‌ای باشد که درنهایت ترتیب اولیه را در خروجی شاهد باشیم. به عبارت دیگر، عملیات معکوس برگ‌‌برگ‌ سازی باید متناسب با عملیات برگ‌برگ‌ سازی باشد؛ به‌طوری‌که در انتهای کار ترتیب داده‌ همان ترتیب داده در ابتدای کار باشد. در شکل (5) نمونه‌ای از برگ‌برگ ‌سازی تصادفی نشان داده‌ شده ‌است.

عملیات مسیریابی برای فلیت سرآیند در هر گره، با توجه به آدرس مبدأ و مقصد درج‌شده در فلیت سرآیند، دوباره تکرار می‌شوند. فلسفۀ وجودی فلیت سرآیند، هدایت فلیت‌های داده به سمت مقصد درست است. اگر خطایی در یکی از قسمت‌های فلیت سرآیند اتفاق افتاده که باعث انحراف از مسیر صحیح شده‌ است، می‌توان به وجود خطا پی ‌برد و فلیت سالم قرارگیرنده در گره‌ قبلی را درخواست کرد؛ برای نمونه، فرض می‌شود پس از مسیریابی در گره‌، روی فلیت سرآیند، خطایی اتفاق افتاده باشد که به گرۀ بعدی منتقل می‌شود.

 

4-2- روش تشخیص خطا در فلیت‌های داده

تشخیص و تصحیح خطا در فلیت‌های داده در این روش پیشنهادی برای مقابله با خطای چندرخداد واژگونی است. این روش به‌صورت ترکیب کد همینگ و برگ‌برگ شدن انجام می‌گیرد. این کار در حافظۀ بافرها انجام می‌شود؛ یعنی قبل از ارسال داده در سیم‌های کانال ارتباطی انجام می‌گیرد. برگ‌برگ سازی توانایی تشخیص و تصحیح کد همینگ را افزایش می‌دهد. هنگام ارسال اطلاعات به کانال ارتباطی، از اطلاعات ارسالی دو بار نمونه‌برداری می‌شود. در صورتی که دو نمونه با هم برابر باشند، سیگنال اعتبار

 

 

 

شکل (5): نمونه‌ای از برگ‌برگ‌ سازی تصادفی و معکوس آن.

 

 

اطلاعات فعال می‌شود. بدین‌ ترتیب خطاهایی کشف می‌شوند که ممکن است در پیام‌های ارسالی به وجود آیند.

برای تشخیص و تصحیح خطا در فلیت‌های داده برای مقابله با اشکال هم‌شنوایی، این کار بعد از بافرها و اعمال رویکرد اول و قبل از ورود اطلاعات به کانال ارتباطی صورت می‌گیرد. در کانال‌های ارتباطی با عرض کم، طراحان قادرند واحدهای کدگذار/کدگشا را از لحاظ پیچیدگی بهینه کنند تا کارایی، توان مصرفی و مساحت این واحد‌ها را بهبود بخشند؛ اما این کار برای کانال‌هایی با عرض بالا پرهزینه و ناکارآمد است؛ ازاین‌رو محققان به‌تازگی به استفاده از سیستم‌های عددی مناسب برای کدگذاری عاری از الگوی ممنوعه توجه داشته‌اند. یک سیستم‌ عددی باید دو شرط زیر را تأمین کند تا از آن در کدگذاری عاری از الگوی ممنوعه استفاده شود:

سیستم عددی باید کامل باشد. کامل‌بودن بدین معناست که به‌ازای هر عدد صحیح ، ، باید حداقل یک نمایش از آن در سیستم عددی وجود داشته باشد که در آن  ارزش رقم ام در سیستم عددی است. کامل‌بودن یک سیستم عددی هنگامی تأیید می‌شود که برای تمامی ها،  و رابطه (1) برقرار باشد.

(1)

 

 

سیستم عددی باید قادر باشد هر عدد صحیح ،  را به‌صورت یک کلمه کد عاری از الگوی ممنوعه نمایش دهد. سیستم عددی به‌کاررفته در روش کدگذاری پیشنهادی BB-CAC نامیده شده و در رابطه (2) و (3) آورده شده است.

(2)

 

(3)

 

 

 

برای مثال، در یک فضای 4 بیتی سیستم عددی BB-CAC از آرایه 2241 به‌عنوان آرایۀ مبناها استفاده می‌شود و در آن الگوی بیتی ‘0011’ معادل عدد 5 است. جدول (3) نشان می‌دهد چگونه اعداد 0 تا 9 در یک فضای 4 بیتی به‌وسیلۀ سیستم عددی BB-CAC نمایش داده می‌شوند. جدول کد با سیستم عددی پیشنهادی تولید می‌شود.

یک الگوریتم نگاشت تکرارشونده به سبب کدکردن داده ورودی  به بردار دودویی عاری از الگوی ممنوعه  ارائه شده است که پس از تکرار  باره کدگذاری آن پایان می‌یابد. به بیان دیگر، الگوریتم کدگذاری ارائه‌شده، بردار عاری از الگوی ممنوعه  را به گونه‌ای تولید می‌کند که
   باشد. دو خروجی  و  در تکرار ام الگوریتم محاسبه می‌شوند که به‌ترتیب مقدار رقم ام در بردار دودویی عاری از الگوی ممنوعه و باقی‌ماندۀ ورودی  هستند که باید به مرحلۀ بعد ارسال شود.

الگوریتم (1) ارائه‌شده برای نگاشت کلمه‌های کد عاری از الگوی ممنوعه، واحد کدگذار روش BB-CAC است.

 

الگوریتم (1): کدکنندۀ روش BB-CAC

1: Algorithm Num-CAC (int u, int K)

2: if mod(u,2) = = 0

3:      d(1)=0;

4:  else

5:     d(1)=1;

6: end; //if

7:  r(1) =u-s(1)*d(1);

8:  for i=2 to K-1 step +1

9:    if r(i-1) >= s(i) + s(i+1)

10:    d(i)=1;

11: elseif r(i-1) < s(i)

12:      d(i)=0;

13:   else

14:      d(i)=d(i-1);

15:  end; //if

16:  r(i) = r(i-1) - d(i)* s(i);

17: end; //for

18: if r(K-1) > 0

19:   d(K)=1;

20: else

21:  d(K)=0;

22: end; //if

23: return d;

24:end; //final

 

5- نتایج

برای ارزیابی میزان اثر روش فلیت الویت‌دار، از ابزارهایی در سطح شبکۀ برتراشه‌ و در سطح مدار استفاده شد. برای ارزیابی میزان تأخیر شبکه این روش در یک شبکۀ برتراشه از شبیه‌ساز  BookSim2استفاده شده که یک شبیه‌ساز مبتنی بر شبکۀ برتراشه است. نتایج به‌ازای ترافیک یکنواخت و با نرخ‌های تزریق مختلف در یک شبکۀ مش 8 8 به ‌دست ‌آمد. همچنین برای محاسبۀ سربار‌های تأخیر، مساحت و توان مصرفی، از ابزار Design Compiler بهره برده ‌شد. این روش با روش‌های ارائه‌شده در مراجع [14] و [20] مقایسه شد. با توجه به احتمال رخداد الگوهای خطای به‌دست‌آمده، احتمال وقوع خطاهای دوبیتی بالاتر از سایر الگوها است. اگر فقط یک بیت توازن استفاده شود، این بیت توازن در شناسایی این الگوها که اغلب خطاها نیز از همین نوع‌اند، ناکارآمد خواهد ‌بود. با توجه به اینکه بیشتر خطاهای چندبیتی به‌صورت پیوسته‌اند، در صورتی که از دو بیت توازن استفاده شود، طوری که یک بیت توازن برای بیت‌های زوج و یک بیت دیگر برای بیت‌های فرد به ‌کار ‌رود، ادعا می‌شود تا حدود زیادی می‌توان به تشخیص خطای رخ‌داده پی ‌برد.

در شبکه‌های برتراشه‌، به‌طور معمول، مدت زمان مسیریابی کمتر از یک واحد زمانی در نظر گرفته می‌شود. به عبارتی، واحد مسیریاب، عملیات مسیریابی را در کمتر از یک واحد زمانی به اتمام می‌رساند. حالت ادغام‌شده نشان می‌دهد مدت زمان لازم برای تشخیص خطا به‌وسیلۀ روش تشخیص خطا در فلیت سرآیند و فلیت‌های داده و افزونگی‌های اطلاعاتی که قسمتی از تشخیص خطا به‌صورت همروند با عملیات مسیریابی اصلی انجام می‌شود، کمتر از یک واحد زمانی طول می‌کشد. به عبارت دیگر، در مسیریابی اصلی، بررسی بیت‌های توازن و دو روش تشخیص خطا در فلیت سرآیند و داده در یک واحد زمانی با همدیگر ادغام ‌می‌شوند. در این صورت، از لحاظ کارایی سرباری به سیستم تحمیل نمی‌شود. تأخیر میانگین ارسالی بسته‌ها به مقصد برای این حالت در ازای بارهای متفاوت کاری با استفاده از شبیه‌ساز بوکسیم اندازه‌گیری شده ‌است؛ نتایج مربوطه در شکل (6) نشان داده شده‌اند. نتایج مربوط به نمودار شکل (6) به‌ازای یک مش 8×8 و در ازای تزریق ترافیک یکنواخت حاصل شده‌اند. میزان تأخیر در مسیریابی، میزان تأخیر اختصاص داده شده به کانال ارتباطی مجازی و راه‌گزین در شبیه‌ساز BookSim2، هرکدام برابر با یک واحد زمانی در نظر گرفته شده‌اند. همچنین تعداد فلیت‌های هر بسته نیز برابر با پنج فلیت در نظر گرفته‌ شده و اندازۀ هر کانال مجازی نیز برابر با 128 بیت و هم‌اندازۀ پهنای کانال ارتباطی در نظر گرفته شده ‌است. در شکل (7)، روش پیشنهادی در تعداد الگوریتم‌های مختلف نشان داده شده و با روش‌های کدینگ قبلی مقایسه شده است. روش ما با افزایش تعداد خرابی بیت‌ها بهتر عمل می‌کند.

روش مقابله با خطای فلیت‌های داده با استفاده از زبان سخت‌افزاری Verilog، پیاده‌سازی و با استفاده ازDesign Compiler میزان بهبود تأخیر، سربار مساحت و سربار توان سخت‌افرازی در عرض سیم‌های مختلف محاسبه شده است و نتایج در شکل‌های (8) و (9) و 10 نشان داده شده‌اند. این نتایج حاکی از کاهش سربار نسبت به کارهای پیشین است.

این سنتز در فناوری 45 نانومتر انجام گرفته است. دلیل این کاهش سرباز، سخت‌افزار ساده‌تر روش پیشنهادی نسبت به روش‌های موجود است.

 

 

جدول (3): جدول کد برای سیستم عددی BB-CAC

کلمه داده

FPFکلمه کد

کلمه داده

FPFکلمه کد

       

2241

22441

2241

22441

0

0000

00000

7

0111

10011

1

0001

00001

8

1110

00110

2

1000

10000

9

1111

00111

3

1001

10001

10

--

01110

4

1100

11000

11

--

01111

5

0011

00011

12

--

11110

6

0110

01100

13

--

11111

 

شکل (6): کاراییروش پیشنهادی در مقایسه با کارهای پیشین

 

 

شکل (7): میزان تشخیص خطا در روش پیشنهادی

 

 

شکل (8): درصد بهبود تأخیر سخت‌افزار روش پیشنهادی نسبت به کارهای پیشین

 

 

شکل (9): درصد بهبود مساحت سخت‌افزار روش پیشنهادی نسبت به کارهای پیشین

 

 

شکل (10): درصد بهبود توان مصرفی سخت‌افزار روش پیشنهادی نسبت به کارهای پیشین

 

 

6- نتیجه‌گیری

در این مقاله، روشی با عنوان فلیت الویت‌دار به‌منظور افزایش قابلیت اطمینان در شبکه‌های برتراشه ارائه شده است. تمرکز این روش‌، مقابله با خطاهای نرم در بافر‌ها و اشکال هم‌شنوایی است؛ به این ترتیب که در فلیت‌های سرآیند از برگ‌برگ سازی و کد همینگ و در سیم از روش جدید به نام FPF-BB استفاده می‌شود. ارزیابی‌ها نشان از بهبود روش نسبت به سایر روش‌ها ازنظر کارایی و سخت‌افزار می‌دهد. واضح است این روش‌ با وجود بهبود نسبت به سایر روش‌ها، مانند سایر روش‌های موجود افزایش قابلیت اطمینان در ادیبات موضوعی، سربار قابل صرف‌نظر کردن را به حالت پایۀ اولیه شبکه روی تراشه تحمیل می‌کند؛ اما بررسی‌های شبیه‌سازی نشان از بهترین سربار روش ارائه‌شده در این مقاله در مقایسه با کار‌های مشابه دارد. برای کارهای آتی، با توجه به نرخ خطا در محیط‌های مختلف و کاربردهای متفاوت، می‌توان با استفاده از روش‌های قابل پیکربندی با توجه به شرایط، در نرخ خطاهای پایین از روش‌های ساده و در نرخ‌ خطاهای بالا از روش‌های کدینگ پیچیده استفاده کرد و بین آن روش‌ها بنا به شرایطی باز پیکربندی انجام داد.

(این پژوهش با حمایت مالی دانشگاه تربیت دبیر شهید رجایی انجام شده است).

 



[1] تاریخ ارسال مقاله: 25/01/1399

تاریخ پذیرش مقاله: 05/08/1399

نام نویسندۀ مسئول: زهرا شیرمحمدی

نشانی نویسندۀ مسئول: ایران – تهران – دانشگاه شهید رجایی – دانشکده کامپیوتر



[1] Soft Errors    

[2] Scalable

[3] Data center

[4] Scientific computing

[5] Recognition/mining/synthesis

[6] Desktop applications

[7] The International Technology Roadmap for Semiconductors

[8] Victim

[9] Glitch

[10] Codeword

[11] Dataword

[12] Codebook

[13] Head of Line Blocking

[14] Burst

[15] Deinterleaving

[1]. J. D. Owens, W. J. Dally, R. Ho, D. N. Jayasimha, S. W. Keckler, P. Li-Shiuan, "Research Challenges for on-Chip Interconnection Networks", IEEE Micro, Special Issue on On-Chip Interconnects for Multicores, Vol. 27, No. 5, September/October 2007.
[2]. J. F. Ziegler, W. A. Lanford, "The Effect of Sea Level Cosmic Rays on Electronic Devices", Journal of Applied Physics, Vol. 52, No. 6, June 1981.
[3]. F. Wrobel, F. Saigne, M. Gedion, J. Gasiot, R. D. Schrimpf, "Radioactive Nuclei Induced Soft Errors at Ground Level", IEEE Transactions on Nuclear Science, Vol. 56, No. 6, December 2009.
[4]. A. Patooghy, S. G. Miremadi, "XYX: A Power & Performance Efficient Fault-Tolerant Routing Algorithm for Network on Chip", in Proceedings of the 17th Euromicro International Conference on Parallel, Distributed and Networks-Based Processings, pp. 245-251, 18-20 February 2009.
[5]. J. Duato, S. Yalamanchili, L. Ni, "Interconnection Networks: An Engineering Approach", IEEE Computer Society Press, Morgan Kaufmann, 2003.
[6]. D. F. Heidel, e. al, "Low Energy Proton Single- Event-Upset Test Results on 65 nm SOI SRAM", IEEE Transactions on Nuclear Science, Vol. 55, No. 6, December 2008.
[7]. T. Karnick, P. Hazucha, J. Patel, "Characterization of Soft Errors Caused by Single Event Upsets in CMOS Processes", IEEE Transactions on Dependable and Secure Computing, Vol. 1, No. 2, April-June 2004.
[8]. J. F. Ziegler, "Terrestrial Cosmic Rays", IBM Journal of Research and Development, Vol. 40, No. 1, January 1996.
[9]. E. Ibe, H. Taniguchi, Y. Yahagi, K. Shimbo, T. Toba, "Impact of Scaling on Neutron-Induced Soft Error in SRAMs from a 250 nm to a 22 nm Design Rule", IEEE Transactions on Electron Devices, Vol. 57, No. 7, July 2010.
[10].   F. X. Ruckerbauer, G. Georgakos, " Soft Error Rates in 65nm SRAMs--Analysis of new Phenomena", in Proceedings of the 13th IEEE International On-Line Testing Symposium, pp. 203-204, July 2007.
[11].   N. Mahatme, Y. Fang, B. Bhuva, A.Oates, “Analysis of multiple cell upsets due to neutrons in SRAMs for a Deep-N-well process”, International Reliability Physics Symposium, pp. SE.7.1-SE.7.6, April 2011.
[12].   X. Huang, Y. Cao, D. Sylvester, S. Lin, T. King, C. Hu, " RLC Signal Integrity Analysis of High-speed Global Interconnects", in Proceedings of IEEE International on Electron Devices Meeting (IEDM), pp. 731-743, December 2000.
[13].   R. Hegde, N. R. Shanbhag, "Toward Achieving Energy-Efficiency in Presence of Deep Submicron Noise", IEEE Transactions on Very Large Scale Integrated (VLSI) Systems, Vol. 8, No. 4, August 2000.
[14].   S. Kanakala, K. Ashok Kumar and P. Dananjayan, "High Reliability NoC switch using Modified Hamming Code with Transient Faults", IEEE International Conference on System, Computation, Automation and Networking (ICSCA), pp. 1-5, July 2018.
[15].   W.Dally, B.Towles, "Principles and Practices of Interconnection Networks", Morgan Kaufmann, Elsevier, 2003.
[16].   T. Dumitras, R. Marculescu, "on-Chip Stochastic Communication", in Proceedings of Design, Automation and Test in Europe Conference (DATE), pp. 790-795, March 2003.
[17].   W. J. Dally, B. Towles, "Route Packets, Not Wires: on-Chip Interconnection Networks", in Proceedings of Design Automation Conference (DAC), pp. 684-689, June 2001.
[18].   BookSim-2: A cycle-accurate interconnection network simulator, doi: http:// nocs.stanford.edu/ cgibin/trac.cgi/wiki/ Resources/BookSim
[19].   ITRS. 2011. The international technology roadmap for semiconductors-2011
[20].   A. Pinheiro, D. Tavares, F. Silva, J. Silveira, C. Marcon, "Optimized buffer protection for network-on-chip based on Error Correction Code ", Microelectronics Journal, Vol. 100, April 2020.
[21].   W. N. Flayyih,"Crosstalk Aware Multi-Bit Error Detection with Limited Error Correction Coding for Reliable On-Chip Communication.", International Journal of Computer Applications, Vol. 179, No. 40, May 2018.
[22].   H. Jiao, R. Wang, Y. He, "Crosstalk Noise Aware Bus Coding with Low Power Ground Gated repeaters", International Journal of Circuit Theory and Applications, Vol. 46, No.2, February 2018,
[23].   U.Niesen, S. Kudekar "Joint crosstalk- Avoidance and Error-Correction Coding for Parallel Data Buses.",IEEE Transactions on Information Theory, Vol. 65, No. 3, March 2019.
[24].   M. Maheswari, B. Murugeshwari. "Random and Triple Burst Error Correction Code with Low Redundancy for Network-on Chip link." 2018 International Conference on Computer Communication and Informatics (ICCCI), pp.16-28, 4-6 Jan. 2018.
[25].   D. Bertozzi, L. Benini, G. D. Micheli, "Error Control Schemes for on-Chip Communication Links: The Energy Reliability Tradeoff" , IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol.24, No.6, June 2005.
[26].   T. Majumder, M. Suri and V. Shekhar, “NoC Router Using STT-MRAM based Hybrid Buffers with Error Correction and Limited Flit Retransmission” IEEE International Symposium on Circuits and Systems (ISCAS), pp. 2305-2308, 24-27 May 2015.
[27].   B. Halak, “Partial Coding Algorithm for Area and Energy Efficient Crosstalk Avoidance Codes Implementation,” IET Comput. Digital Tec, Vol. 8, No. 2, March 2014.
[28].   Kaul, H., Seo, J., Anders, M., Sylvester and, D., Krishnamurthy, R., "A Robust Alternate Repeater Technique for High Performance Busses in the Multi-Core Era ", IEEE International Symposium on Circuits and Systems, pp. 372-375, June 2008.
[29].   Z. Shirmohammadi, S.G. Miremadi," On Designing an Efficient Numeral-based Forbidden Pattern Free Crosstalk Avoidance Codec for Reliable Data tTransfer of NoCs, ", Microelectron Reliability. pp. 304–313, August 2016.
[30].   Z. Shirmohammadi, S.G. Miremadi, "Addressing NoC Reliability through an Efficient Fibonacci-based Crosstalk Avoidance Codec Design," Proceedings of IEEE International Conference Algorithms and Architectures for Parallel Processing, pp. 756–770, December 2015.
[31].   Z. Shirmohammadi, S.G. Miremadi, "Crosstalk Avoidance Coding for Reliable Data Transmission of Network on Chips" Proceedings of IEEE Symposium on System-on-Chip (SoC), pp. 1–4, December 2013.
[32].   P.P. Sotiriadis, A. Chandrakasan,"Reducing bus Delay in Sub-Micron Technology Using Coding " Proceedings of IEEE Asia and South Pacific Design Automation Conference, pp. 11-27, January 2001.
[33].   C.S.  Chang, J. Cheng, T.K. Huang. D.S. Lee, "Constructions of Memoryless c rosstal Avoidance Codes via c-transform”, IEEE Transactions on Very Large-Scale Integration (VLSI) Systems, Vol. 22, No. 9, September 2013.
[34].   C. Duan, B.J. LaMeres, S.P. Khatri," On and off-Chip Crosstalk Avoidance, VLSI Design", Springer Publishing, Boston 2010.
[35].   X. Wu, Z. Yan, "Efficient CODEC designs for Crosstalk Avoidance Codes based on Numeral systems", IEEE Transactions on Very Large-Scale Integration (VLSI) Systems, Vol. 19, No. 4, April 2011.
[36].   A. Berman, I. Keidar, "Low overhead Error Detection for Network on Chip", IEEE International Conference on Computer Design, pp. 219-224, 4-7 October 2009.
[37].   B. FU, P. AMPADU "An Energy-Efficient Multi Wire Error Control Scheme for Reliable on chip Interconnects using Hamming product codes", VLSI Design, pp.1–14. June 2008.
[38].   Z. Shirmohammadi, S.G. Miremadi, "Using binary-reflected gray coding for crosstalk mitigation of network on chip", The 17th CSI International Symposium on Computer Architecture & Digital Systems (CADS 2013), pp. 81–86, 20, January 2014.
[39].   Z. Shirmohammadi, F. Mozafari, S.G. Miremadi, "An efficient numerical-based crosstalk avoidance codec design for NoCs", Microprocessors and Microsystems, pp.127–137, May 2017.
[40].   Z. Shirmohammadi, M. Ansari, S.K. Abharian, S. Safari, S.G. Miremadi, "PAM: a packet manipulation mechanism for mitigating crosstalk faults", IEEE International Conference on Computer and Information Technology; Ubiquitous Computing and Communications; Dependable, Autonomic and Secure Computing; Pervasive Intelligence and Computing, pp. 1895-1902, 28 December 2015.
[41].   Z. Shirmohammadi, S.G. Miremadi, "SDT-free: An efficient crosstalk avoidancecoding mechanism considering inductance effects", 7th International Conference on Computer and Knowledge Engineering (ICCKE), pp. 293-297, 7 December 2017.
[42].   Z. Shirmohammadi, Z. Mahdavi, "An efficient and low power One- Lambda crosstalk avoidance code design for network on chips", Microprocessors and Microsystems, pp.36-45, 17 August 2018.
[43].   Z. Shirmohammadi, H.Z. Sabzi, S.G. Miremadi, "3DDyCAC: Dynamic numerical-based mechanism for reducingcrosstalk faults in 3D ICs", IEEE International High-Level Design Validation and Test Workshop (HLDVT), pp. 87-90, 7 December 2017.
[44].   Z. Shirmohammadi, H.Z. Sabzi, "DR: Overhead efficient RLC crosstalk avoidance code", 8th International Conference on Computer and Knowledge Engineering (ICCKE), pp. 63-68, 10 December 2018.
[45].   Z. Shirmohammadi, M. Taali and H. Z. Sabzi, "InduM: An Accurate probablity Inductance-based Model to Predict Delay in Chips", 9th International Conference on Computer and Knowledge Engineering (ICCKE), pp. 414-419, 24-25 October 2019.
[46].   Z. Shirmohammadi and S. G. Miremadi, "S2AP: An efficient numerical-based crosstalk avoidance code for reliable data transfer of NoCs",2015 10th International Symposium on Reconfigurable Communication-centric Systems-on-Chip (ReCoSoC), pp. 1-6, 29 June-1 July 2015.
[47].   Z. Mahdavi, Z. Shirmohammadi, S. G. Miremadi, "ACM: Accurate crosstalk modeling to predict channel delay in Network-on-Chips”, IEEE 22nd International Symposium on On-Line Testing and Robust System Design (IOLTS), pp. 7-8, 4-6 July 2016.
[48].   Z. Shirmohammadi, AH. Nikoofard, G. Ershadi, "AM3D: an accurate crosstalk probability modeling to predict channel delay in 3D ICs". Microelectronics reliability, Vol.102, November 2019.
[49].   Z. Shirmohammadi and Z. Mahdavi, "An Efficient and low power One-Lambda crosstalk avoidance code design for network on chips", Microprocessors and Microsystems (MICPRO), Vol.63, November 2018.
[50].   Z. Shirmohammadi, M. Asadinia. "OnflyTOD: an efficient mechanism for crosstalk fault reduction in WNoC", The Journal of Supercomputing, Vol.76, March 2020.