प्रौद्योगिकी साझेदारी

Windows USB उपकरणचालकविकासः-USB बैण्डविड्थः

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

अस्मिन् लेखे USB बैण्डविड्थ् इत्यस्य सावधानीपूर्वकं प्रबन्धनस्य मार्गदर्शनस्य चर्चा कृता अस्ति । प्रत्येकं USB क्लायन्ट् चालकं यथाशीघ्रं उपलब्धस्य बैण्डविड्थस्य पूले अप्रयुक्तं बैण्डविड्थं प्रत्यागन्तुं च उत्तरदायी भवति

अत्र वयं मन्यामहे यत् USB 2.0 इत्यस्य गतिः 480Mbps, 12Mbps, 1.5Mbps च अस्ति, ये क्रमशः उच्चगतिः, पूर्णवेगः, न्यूनवेगः च अनुरूपाः सन्ति परन्तु वस्तुतः USB 2.0 इत्यस्य बैण्डविड्थः अतीव कठिनः अस्ति of the premises of this article USB 3.0 looks एतेन बैण्डविड्थसमस्या उपशमनं भवति, परन्तु बैण्डविड्थसमस्या अपर्याप्तः उपरितनसीमा नास्ति अपितु समयनिर्धारणस्य हिबिस्कससमस्या अस्ति

मम USB चालकेन सह अपर्याप्तं बैण्डविड्थ् दोषं किमर्थं प्राप्नोमि?

USB बसयाने बैण्डविड्थस्य स्पर्धा हार्डवेयर, सॉफ्टवेयर इत्यादिभ्यः बहुभ्यः स्रोतेभ्यः आगच्छति । USB क्लायन्ट् चालकस्य कृते उपलब्धस्य बैण्डविड्थस्य परिमाणं सम्यक् पूर्वानुमानं कर्तुं कठिनम् अस्ति । USB होस्ट् नियन्त्रकाणां कार्यं कर्तुं निश्चितमात्रायां बैण्डविड्थस्य आवश्यकता भवति । नियन्त्रकः उच्चवेगः अस्ति वा इति विषये आवश्यकं परिमाणं निर्भरं भवति । तन्त्रे तन्त्रे भिद्यते । उच्चवेगेन कार्यं कुर्वन्तः USB हब्स् कदाचित् उच्चगति-अपस्ट्रीम-पोर्ट्-डाउनस्ट्रीम-निम्न-गति-यन्त्राणां मध्ये व्यवहारस्य अनुवादं कर्तुं अर्हन्ति, एषा अनुवाद-प्रक्रिया च बैण्डविड्थ-उपभोगं करोति परन्तु व्यवहाररूपान्तरणाय बैण्डविड्थस्य आवश्यकता भवति वा इति सम्बद्धस्य यन्त्रस्य प्रकारस्य यन्त्रवृक्षस्य टोपोलॉजी च निर्भरं भवति ।

बैण्डविड्थ् संसाधनेषु सर्वाधिकं गम्भीरः दबावः प्रायः USB क्लायन्ट् चालकानां कृते आगच्छति ये बैण्डविड्थ् इत्यस्य एकाधिकारं कुर्वन्ति । प्रणाली प्रथमं आगच्छति प्रथमं सेवितं इति आधारेण बैण्डविड्थ् आवंटयति । यदि प्रथमः USB चालकः लोड् कृतः सर्वान् उपलब्धान् बैण्डविड्थ् अनुरोधयति तर्हि अनन्तरं लोड् कृताः USB चालकाः स्वयन्त्रेषु किमपि बैण्डविड्थं न अनुमन्यन्ते । प्रणाली यन्त्रं विन्यस्तुं वा गणयितुं वा न शक्नोति । यतः गणनाविफलतायाः कारणं स्पष्टं नास्ति, तस्मात् उपयोक्तृअनुभवः दुर्बलः अस्ति ।

कदाचित् ग्राहकचालकाः उच्चगतिव्यत्ययस्थापनद्वारा उपलब्धं बैण्डविड्थं समाप्तं कुर्वन्ति । परन्तु दूरतः सर्वाधिकं सामान्यं परिदृश्यं अस्ति यत् क्लायन्ट् चालकः नित्यस्थापनार्थं अत्यधिकं बैण्डविड्थं आवंटयति तथा च समये एव तत् मुक्तं कर्तुं असफलः भवति प्रणाली आवंटितं बैण्डविड्थं तावत्पर्यन्तं धारयति यावत् यः चालकः तस्य अनुरोधं कृतवान् सः अन्यं अन्त्यबिन्दुं उद्घाट्य स्वस्य अन्त्यबिन्दुं बन्दं न करोति, अथवा यस्मिन् यन्त्रे तस्य बैण्डविड्थः आवंटितः आसीत् तत् निष्कासितम् प्रणाली बल्क स्थानान्तरणानां कृते गारण्टीकृतं बैण्डविड्थं न आवंटयति, अतः बल्क स्थानान्तरणं कदापि गणनाविफलतायाः कारणं न भवति । परन्तु बल्क स्थानान्तरणयन्त्रस्य कार्यक्षमता नियमित (नित्यप्रतीक्षा तथा व्यत्यय) स्थानान्तरणार्थं यन्त्रे आवंटितस्य बैण्डविड्थस्य परिमाणस्य उपरि निर्भरं भवति

USB 2.0 विनिर्देशस्य आवश्यकता अस्ति यत् नित्ययन्त्राणां पूर्वनिर्धारित-अन्तरफलक-सेटिंग्स्-मध्ये शून्य-बैण्डविड्थ-अन्तबिन्दवः भवेयुः । एतेन सुनिश्चितं भवति यत् यावत् कार्यचालकः अपूर्वनिर्धारितं अन्तरफलकं न उद्घाटयति तावत् यावत् यन्त्रस्य कृते कोऽपि बैण्डविड्थः आरक्षितः नास्ति, यत् उपकरणविन्यासस्य समये अत्यधिकबैण्डविड्थ-अनुरोधस्य कारणेन गणनाविफलतां निवारयितुं साहाय्यं करोति एतत् क्लायन्ट् चालकान् स्वयन्त्राणां विन्यासानन्तरं अतिशयेन बैण्डविड्थ् आवंटयितुं न निवारयति, तस्मात् अन्येषां उपकरणानां सम्यक् कार्यं कर्तुं न निवारयति ।

समुचितबैण्डविड्थप्रबन्धनस्य कुञ्जी अस्ति यत् प्रणाल्यां प्रत्येकं USB-यन्त्रं यत् नित्यं स्थानान्तरणं करोति, तस्य नित्यं अन्त्यबिन्दुयुक्तस्य प्रत्येकस्य अन्तरफलकस्य कृते बहुविधवैकल्पिकं (Alt) सेटिंग्स् प्रदातव्यं भवति, तथा च क्लायन्ट् चालकेन एतानि Alt सेटिंग्स् बुद्धिपूर्वकं उपयोक्तव्यानि क्लायन्ट् चालकाः प्रथमं उच्चतमबैण्डविड्थ् इत्यनेन सह अन्तरफलकसेटिंग् अनुरोधं कुर्वन्तु । यदि अनुरोधः विफलः भवति तर्हि क्लायन्ट् चालकेन यावत् अनुरोधः सफलः न भवति तावत् अधिकाधिकं लघु बैण्डविड्थ् इत्यनेन सह अन्तरफलकसेटिंग्स् अनुरोधः कर्तव्यः ।

यथा, जालपुटयन्त्रस्य निम्नलिखितम् अन्तरफलकं भवति इति कल्पयन्तु ।

अन्तरफलकम् ० (पूर्वनिर्धारित-अन्तरफलक-सेटिंग्स्: पूर्वनिर्धारित-सेटिंग्स्-मध्ये शून्य-नित्य-बैण्डविड्थ-युक्ताः अन्त्यबिन्दवः नास्ति)

Const Endpoint 1: अधिकतमः पैकेट आकारः = 0 बाइट्स्

Const Endpoint 2: अधिकतमः पैकेट आकारः = 0 बाइट्स्

अन्तरफलकं 0 Alt सेटिंग् 1

Const Endpoint 1: अधिकतमः पैकेट आकारः = 256 बाइट्स्

Const Endpoint 2: अधिकतमः पैकेट् आकारः = 256 बाइट्स्

अन्तरफलकम् 0 Alt सेटिंग् 2

Const Endpoint 1: अधिकतमः पैकेट आकारः = 512 बाइट्स्

Const Endpoint 2: अधिकतमः पैकेट् आकारः = 512 बाइट्स्

जालपुटस्य चालकः जालपुटं विन्यस्यति यत् आरम्भे पूर्वनिर्धारित-अन्तरफलक-सेटिंग्स् उपयोक्तुं शक्नोति । पूर्वनिर्धारितसेटिंग्स् नित्यं बैण्डविड्थ् नास्ति, अतः आरम्भकाले पूर्वनिर्धारितसेटिंग्स् इत्यस्य उपयोगेन असफलनित्य बैण्डविड्थ् अनुरोधस्य कारणेन जालपुटस्य गणना न भवति इति खतरा परिहृतः भवति

यदा क्लायन्ट् चालकः नित्यं समकालिकस्थानांतरणं कर्तुं सज्जः भवति तदा Alt सेटिंग् 2 इत्यस्य उपयोगं कर्तुं प्रयतितव्यः यतः Alt सेटिंग् 2 इत्यस्य बृहत्तमः पैकेट् आकारः भवति । यदि अनुरोधः विफलः भवति तर्हि चालकः Alt सेटिंग् 1 इत्यस्य उपयोगेन द्वितीयवारं प्रयासं कर्तुं शक्नोति । यतः Alt सेटिंग् 1 इत्यस्य कृते न्यूनं बैण्डविड्थ् आवश्यकं भवति, प्रथमः अनुरोधः विफलः भवति चेदपि एषः अनुरोधः सफलः भवितुम् अर्हति । बहुविध Alt सेटिङ्ग्स् चालकं त्यक्तुं पूर्वं बहुप्रयासान् कर्तुं शक्नोति ।

एकदा जालपुटं निष्क्रियं जातं चेत्, पुनः पूर्वनिर्धारितसेटिंग्स् चित्वा आवंटितं बैण्डविड्थं उपलब्धबैण्डविड्थपूले प्रत्यागन्तुं शक्यते ।

उपयोक्तारः Windows Device Manager मध्ये नियन्त्रकस्य गुणानाम् अवलोकनेन USB नियन्त्रकेन कियत् बैण्डविड्थ् आवंटितं इति द्रष्टुं शक्नुवन्ति । नियन्त्रकस्य गुणाः चित्वा Advanced ट्याब् इत्यस्य अधः पश्यन्तु । एतत् पठनं न सूचयति यत् USB हब् व्यवहारानुवादाय कियत् बैण्डविड्थ् आवंटयति ।

USB नियन्त्रकस्य बैण्डविड्थस्य उपयोगं प्रतिवेदयति यत् Device Manager विशेषता Windows XP मध्ये सम्यक् कार्यं न करोति ।

USB स्थानान्तरणं तथा पैकेट आकारः
अधिकतम स्थानांतरण आकार

अधिकतमः स्थानान्तरणस्य आकारः USB चालक-स्टैक् मध्ये हार्ड-कोड्-कृतं सीमां निर्दिशति । एतेभ्यः सीमाभ्यः अधः स्थानान्तरणआकाराः प्रणालीसंसाधनसीमानां कारणेन विफलाः भवितुम् अर्हन्ति । एतादृशानां विफलतानां परिहाराय तथा सर्वैः विण्डोज-संस्करणैः सह संगततां सुनिश्चित्य USB स्थानान्तरणार्थं बृहत् स्थानान्तरण-आकारस्य उपयोगं परिहरन्तु ।

USBD_PIPE_INFORMATION संरचनायाः MaximumTransferSize सदस्यः अप्रचलितः अस्ति । USB चालक-स्टैक् समष्टि-असमष्टि-यन्त्राणां कृते MaximumTransferSize इत्यस्मिन् मूल्यस्य अवहेलनां करोति ।

Windows 2000 इत्यस्मिन् USB चालक-स्टैक् MaximumTransferSize इत्येतत् USBD_DEFAULT_MAXIMUM_TRANSFER_SIZE इत्यत्र आरभते । क्लायन्ट् चालकाः यन्त्रस्य विन्यासे लघुतरं मूल्यं सेट् कर्तुं शक्नुवन्ति । समग्रयन्त्राणां कृते प्रति-कार्यं क्लायन्ट् चालकाः केवलं अपूर्वनिर्धारित-अन्तरफलक-सेटिंग्स् मध्ये पाइपस्य MaximumTransferSize परिवर्तयितुं शक्नुवन्ति ।

USB स्थानान्तरणस्य आकारः अत्रैव सीमितः अस्ति :

MaximumTransferSize इत्यस्य उपयोगेन स्थानान्तरणस्य आकारं सीमितं कृत्वा यन्त्रेण उपभोक्तं बैण्डविड्थं प्रत्यक्षतया प्रभावितं न भवति । क्लायन्ट् चालकेन अन्तरफलकसेटिंग्स् परिवर्तयितुं वा USBD_PIPE_INFORMATION इत्यस्य MaximumPacketSize सदस्ये सेट् कृतं अधिकतमं पैकेट आकारं सीमितं कर्तव्यम् ।

अधिकतमः पैकेट आकारः

अधिकतमः पैकेट् आकारः अन्त्यबिन्दुवर्णकस्य wMaxPacketSize क्षेत्रेण परिभाषितः भवति । क्लायन्ट् चालकाः यन्त्राय चयनित-अन्तरफलक-अनुरोधयोः USB-पैकेट्-आकारं समायोजयितुं शक्नुवन्ति । एतत् मूल्यं परिवर्तयित्वा यन्त्रे wMaxPacketSize परिवर्तनं न भवति ।

अनुरोधितस्य URB इत्यस्य अन्तः पाइपस्य USBD_PIPE_INFORMATION संरचना अस्ति । अस्मिन् संरचने .

  • USBD_PIPE_INFORMATION संरचनायाः MaximumPacketSize सदस्यं परिवर्तयन्तु । वर्तमान-अन्तरफलक-सेटिंग्स् कृते उपकरण-फर्मवेयर-मध्ये परिभाषितस्य wMaxPacketSize इत्यस्मात् न्यूनं वा समानं वा मूल्यं सेट् कुर्वन्तु ।
  • PipeFlags सदस्य USBD_PIPE_INFORMATION संरचनायां USBD_PF_CHANGE_MAX_PACKET ध्वजं सेट् कुर्वन्तु ।
संचरणबफरस्य अधिकतमं पैकेट् आकारसीमा पठन्तु

यदा क्लायन्ट् चालकः पठन-अनुरोधं निर्गच्छति तदा संचरण-बफरः अधिकतम-पैकेट्-आकारस्य बहुगुणः भवितुमर्हति । यदि चालकस्य अधिकतमपैकेट् आकारात् न्यूनदत्तांशस्य आवश्यकता भवति चेदपि, तस्य सम्पूर्णं पॅकेट् अनुरोधः करणीयः । यदा यन्त्रं अधिकतमाकारात् (लघुपैकेट्) लघुतरं पैकेट् प्रेषयति तदा स्थानान्तरणं सम्पन्नं भवति ।

प्राचीननियन्त्रकेषु क्लायन्ट् चालकाः एतत् व्यवहारं अधिलिखितुं शक्नुवन्ति । आँकडा स्थानान्तरण URB इत्यस्य TransferFlags सदस्ये, क्लायन्ट् चालकेन USBD_SHORT_TRANSFER_OK ध्वजः सेट् कर्तव्यः । एषः ध्वजः यन्त्रं wMaxPacketSize इत्यस्मात् लघुतरं पॅकेट् प्रेषयितुं शक्नोति ।

xHCI होस्ट् नियन्त्रकेषु, USBD_SHORT_TRANSFER_OK बल्क अन्त्यबिन्दून् अवहेलयति तथा च अन्त्यबिन्दून् व्यत्यययति । EHCI नियन्त्रके लघुपैकेट् प्रसारणेन त्रुटिस्थितिः न भवति ।

EHCI होस्ट् नियन्त्रकेषु, USBD_SHORT_TRANSFER_OK बल्क् तथा इंटरप्ट् अन्त्यबिन्दून् कृते उपेक्षितं भवति ।

UHCI तथा OHCI होस्ट् नियन्त्रकेषु, यदि USBD_SHORT_TRANSFER_OK बल्क अथवा इंटरप्ट् स्थानान्तरणार्थं सेट् न भवति, तर्हि लघुपैकेट् स्थानान्तरणं अन्त्यबिन्दुं स्थगयिष्यति तथा च स्थानान्तरणस्य त्रुटिसङ्केतं प्रत्यागमिष्यति

लेखनस्थानांतरणं परिसीमयितुं लघुपैकेट्-प्रयोगं कुर्वन्तु

USB चालक-स्टैक् चालकः यन्त्रात् पठनसमये अपेक्षया यन्त्रे लेखनस्य समये पैकेट्-आकारस्य भिन्नाः सीमाः आरोपयति । केचन क्लायन्ट् चालकाः स्वयन्त्राणां प्रबन्धनार्थं बहुधा अल्पमात्रायां नियन्त्रणदत्तांशं प्रसारयितुं अर्हन्ति । अस्मिन् सन्दर्भे एकरूपप्रमाणस्य पॅकेट् मध्ये दत्तांशस्थापनं सीमितं कर्तुं अव्यावहारिकम् अस्ति । अतः दत्तांशलेखनस्य समये चालक-स्तम्भः अन्त्यबिन्दुस्य अधिकतम-आकारात् लघु-पैकेट्-सङ्केतानां कृते किमपि विशेषं अर्थं न नियुङ्क्ते । एतेन क्लायन्ट् चालकः यन्त्रे बृहत् स्थानान्तरणं अधिकतमात् न्यूनस्य वा समानस्य वा आकारस्य बहुषु URB मध्ये विभक्तुं शक्नोति ।

चालकेन अधिकतम-आकारात् लघु-पैकेट्-सहितं स्थानान्तरणं समाप्तं कर्तव्यम्, अथवा स्थानान्तरणस्य अन्तं परिसीमयितुं शून्य-दीर्घतायाः पैकेट्-प्रयोगः करणीयः । यावत् चालकः wMaxPacketSize इत्यस्मात् लघुतरं पैकेट् न प्रेषयति तावत् स्थानान्तरणं सम्पूर्णं न भवति । यदि स्थानान्तरणस्य आकारः अधिकतमस्य मूल्यस्य सम्यक् गुणनखण्डः भवति तर्हि चालकेन स्थानान्तरणस्य स्पष्टतया समाप्त्यर्थं शून्यदीर्घतायाः परिसीमितं पैकेटं प्रेषयितव्यम् ।

यथा USB विनिर्देशेन अपेक्षितं, क्लायन्ट् चालकः शून्य-दीर्घतायाः पॅकेट्-उपयोगेन आँकडा-स्थानांतरणस्य परिसीमनस्य उत्तरदायी भवति । USB चालक-स्टैक् स्वयमेव एतानि पॅकेट्-समूहं न जनयति ।

wMaxPacketSize इत्यस्मात् लघुपैकेट् इत्यस्य उपयोगेन पृथक् USB आँकडा स्थानान्तरणं कुर्वन्तु

अनुरूप USB 2.0 तथा USB 1.1 चालकाः अधिकतम-आकारस्य पैकेट् (wMaxPacketSize) संचरणं कुर्वन्तु ततः अधिकतम-आकारात् न्यूनेन पैकेट्-सहितं संचरणं समाप्तं कुर्वन्ति, अथवा संचरणस्य अन्तं परिसीमयितुं शून्य-दीर्घतायाः पैकेटस्य उपयोगं कुर्वन्ति यावत् चालकः wMaxPacketSize इत्यस्मात् लघुतरं पैकेट् न प्रेषयति तावत् स्थानान्तरणं सम्पूर्णं न भवति । यदि स्थानान्तरणस्य आकारः अधिकतमस्य मूल्यस्य सम्यक् गुणनखण्डः भवति तर्हि चालकेन स्थानान्तरणस्य स्पष्टतया समाप्त्यर्थं शून्यदीर्घतायाः परिसीमितं पैकेटं प्रेषयितव्यम्

USB विनिर्देशेन आवश्यकं शून्य-दीर्घता-पैकेट्-इत्यस्य उपयोगेन आँकडा-स्थानांतरणस्य परिसीमनार्थं उपकरण-चालकः उत्तरदायी भवति । सिस्टम् USB स्टैक् स्वयमेव एतान् पॅकेट् न जनयति ।