CDR — ক্লক ও ডেটা রিকভারি
সিরিয়াল অপটিক্যাল লিংকে আলাদা কোনো ক্লক থাকে না: রিসিভারকে ডেটা স্ট্রিম থেকেই ক্লক উদ্ধার করতে হয় এবং সেই ক্লকের সঙ্গে মিলিয়ে বিটগুলো আবার স্যাম্পল (“রিটাইম”) করতে হয়। যে সার্কিট এটি করে, সেটিই CDR (ক্লক ও ডেটা রিকভারি)। CDR কোথায় বসে, হোস্টে নাকি মডিউলের ভেতরে, সেটি ফর্ম ফ্যাক্টরগুলোর মধ্যে পার্থক্য গড়ে দেওয়া প্রধান বিষয়গুলোর একটি; আর এর নিয়ন্ত্রণ বিট সেই মেমোরির অংশ, যা CodingBox পড়ে ও কোড করে।
CDR কী করে
- আগত বিট-ট্রানজিশন থেকে ফেজ-লকড লুপ দিয়ে ক্লক বের করে আনে।
- ডেটাকে রিটাইম করে: উদ্ধার করা ক্লকের প্রান্তে প্রতিটি বিট আবার স্যাম্পল করে, ফলে পথে জমে ওঠা টাইমিং নয়েজ (জিটার) দূর হয়।
- পরের ধাপের জন্য পরিষ্কার সিগন্যাল এজ রিজেনারেট করে (Tx দিকে লেজার ড্রাইভারের জন্য, Rx দিকে হোস্টের SerDes-এর জন্য)।
তাই CDR একটি জিটার রিসেট পয়েন্ট হিসেবে কাজ করে। প্রতিটি লিংকে একটি জিটার বাজেট থাকে, যা হোস্টের PCB ট্রেস, কানেক্টর ও মডিউলের মধ্যে ভাগ হয়; মডিউলে রিটাইমার থাকলে হোস্টের দিক নিজের ভাগটা আলগাভাবে খরচ করতে পারে।
হোস্টের দিকে নাকি মডিউলের দিকে
| ফর্ম ফ্যাক্টর | CDR-এর অবস্থান | ফলাফল |
|---|---|---|
| XFP | মডিউলের ভেতরে (XFI ইন্টারফেস) | হোস্ট সরল, মডিউল প্রোটোকল-নিরপেক্ষ; মডিউল বড় ও বেশি গরম |
| SFP+ | হোস্টে (SFI ইন্টারফেস) | ছোট, ঠান্ডা, সস্তা মডিউল; হোস্টে CDR/EDC লাগে; লিনিয়ার (LRM) মডিউল সম্ভব |
| SFP28 | সাধারণত মডিউলে | শুধু হোস্টের ওপর নির্ভর করার জন্য 25G-এর জিটার বাজেট অতিরিক্ত সংকীর্ণ |
| QSFP+ 40G | মডিউলে প্রায়ই থাকে না | হোস্ট 4×10G রিটাইম করে |
| QSFP28 100G | মডিউলে Tx ও Rx CDR (সাধারণ) | প্রতি লেনে চালু/বন্ধ নিয়ন্ত্রণ; CDR উপস্থিত বিট ঘোষিত হয় |
| PAM4 মডিউল (QSFP56 / QSFP-DD / OSFP) | DSP: ইকুয়ালাইজেশন ও FEC-সচেতন একটি CDR | বেশি পাওয়ার; LPO আবার তা সরিয়ে দেয় |
ঠিক এ কারণেই ঘন 10G সুইচিংয়ে SFP+ XFP-কে হারিয়ে দিয়েছে, আর এ কারণেই 100G মডিউল 40G মডিউলের চেয়ে বেশি গরম চলে।
মডিউলের মেমোরিতে এর অবস্থান
SFF-8636 (QSFP+/QSFP28): দেখুন SFF-8636:
| বাইট | ফিল্ড | অর্থ |
|---|---|---|
| 129 (আপার পেজ 00h) | এক্সটেন্ডেড আইডেন্টিফায়ার, বিট 3 / 2 | Tx / Rx-এ CDR উপস্থিত |
| 98 (লোয়ার পেজ) | CDR নিয়ন্ত্রণ | বিট 7–4 প্রতি লেনে Tx CDR চালু করে, বিট 3–0 প্রতি লেনে Rx CDR চালু করে |
| 5 (লোয়ার পেজ) | LOL ফ্ল্যাগ | বিট 7–4 প্রতি লেনে Tx লস অব লক, বিট 3–0 প্রতি লেনে Rx LOL |
| 194 (আপার পেজ 00h) | অপশন | CDR চালু/বন্ধ নিয়ন্ত্রণ ও LOL ফ্ল্যাগ বাস্তবায়িত কি না |
CMIS (QSFP-DD, OSFP, QSFP112): পেজ 01h Tx/Rx CDR-এর সমর্থন এবং বাইপাস নিয়ন্ত্রণযোগ্য কি না তা জানায়; পেজ 10h-এ থাকে প্রতি লেনের Tx/Rx CDR চালু করার (বাইপাস) নিয়ন্ত্রণ, আর প্রয়োজনীয় কোনো CDR লক করতে না পারলে ডেটা-পাথ স্টেট মেশিন অ্যাক্টিভেটেড অবস্থায় পৌঁছায় না (CMIS-এর সমস্যা)।
SFF-8472 (SFP/SFP+/SFP28): CDR নিয়ন্ত্রণের কোনো প্রমিত ব্যবস্থা নেই; মডিউলের CDR (যদি থাকে) ভেতরে ভেতরেই পরিচালিত হয়। হোস্টের চোখে দৃশ্যমান সংশ্লিষ্ট ব্যবস্থা হলো রেট সিলেক্ট, যা গতির গ্রুপগুলোর মধ্যে রিসিভারের ব্যান্ডউইথ পাল্টে দেয়।
বাস্তবে কেন এটি জরুরি
- মাল্টি-রেট মডিউল। CDR একটি নির্দিষ্ট গতির পরিসরে লক করে। 10G-তে ব্যবহৃত 25G মডিউলের, বা 4×10G-তে ব্রেকআউট করা 100G QSFP28-এর CDR-কে নিচের গতি সমর্থন করতে হবে; না হলে হোস্টকে সেটি বাইপাস করতে হবে (বাইট 98 / CMIS)। “25G-তে চলে, 10G-তে অকেজো” লক্ষণের কারণ সাধারণত এটিই।
- ডায়াগনস্টিক হিসেবে লস অব লক। LOL ফ্ল্যাগের অর্থ CDR ক্লক উদ্ধার করতে পারছে না: সিগন্যাল খুব খারাপ, গতি ভুল, অথবা সিগন্যাল নেই। মডিউলকে সন্দেহ করার আগে Rx পাওয়ার ও গতির সেটিং দেখে নিন (DDM-এর মাত্রা)।
- পাওয়ার ও লেটেন্সি। প্রতিটি রিটাইমার পাওয়ার খরচ করে (25G-তে কয়েক দশ থেকে কয়েকশো mW; PAM4 DSP-তে ওয়াটের মাত্রা) এবং লেটেন্সি যোগ করে। ছোট DAC লিংক ও লেটেন্সি-সংবেদনশীল ফ্যাব্রিক প্রায়ই CDR বাইপাস করে চলে।
- কোডিংয়ের সামঞ্জস্য। QSFP28 নতুন করে কোড করার সময় CDR উপস্থিত বিট (বাইট 129) হার্ডওয়্যারের সঙ্গে মিলতে হবে: হোস্ট যদি ধরে নেয় CDR আছে, তাহলে সে এমন গতিতেও সেগুলো চালু রেখে দিতে পারে, যা না-থাকা বা ভিন্ন CDR সামলাতে পারে না। দেখুন QSFP পরিবারের হার্ডওয়্যার স্পেসিফিকেশন।
CodingBox-এ
EEPROM editor মাউস রাখলে এই ফিল্ডগুলোর নাম দেখায় (CDR উপস্থিত, CDR নিয়ন্ত্রণ, LOL ফ্ল্যাগ, অপশন), SFF-8636 বা CMIS অনুযায়ী। তাই আপনি মডিউলের CDR কনফিগারেশন পড়তে পারেন, কোনো লেন লক হারিয়েছে কি না দেখতে পারেন, এবং শনাক্তকরণ তথ্য কোড করার সময় CDR বিটগুলো হার্ডওয়্যারের সঙ্গে সামঞ্জস্যপূর্ণ রাখতে পারেন।
“25G-তে লিংক চলে, 10G-তে অকেজো” এবং রেট-লকের অন্য লক্ষণগুলো বিস্তারিত আলোচিত হয়েছে গতি, রেট ও মোডের সমস্যা পেজে।
CDR ড্রাইভার, TIA ও কন্ট্রোলারের মধ্যে কোথায় বসে, এবং PAM4 মডিউল কীভাবে এটিকে ইকুয়ালাইজেশন ও গিয়ারবক্সিংসহ একটি DSP-এর ভেতরে মিশিয়ে নেয়: মডিউলের ইলেকট্রনিক্স, মড্যুলেশন ও DSP।
কোন হোস্ট ইন্টারফেস রিটাইমড মডিউল আশা করে (XFI, CAUI-4 C2M, PAM4 AUI) এবং কোনগুলো লিনিয়ার মডিউল মেনে নেয় (SFI, LPO): XGMII, XAUI ও AUI পরিবার।