(57)【特許請求の範囲】
【請求項１】
ホストシステムとインターフェースで接続するメモリデバイスであって、
前記メモリデバイスと、関連のメモリコントローラとの間に結合される入力／出力信号線（Ｉ／Ｏ信号線）用のＩ／Ｏ信号線インターフェースと、
前記メモリデバイスから前記Ｉ／Ｏ信号線を通じて前記メモリコントローラへの前記Ｉ／Ｏ信号線インターフェースを経由した送信用の出力電圧スイングを動的に調整するプログラム可能ドライバであって、調整された前記出力電圧スイングは、前記プログラム可能ドライバの抵抗から独立する、前記プログラム可能ドライバと、を備え、
前記プログラム可能ドライバは、前記メモリコントローラからの前記メモリデバイスによって受信されるコマンドによって設定される、前記メモリデバイスの動作モードに基づいて前記出力電圧スイングを動的に調整し、前記コマンドは、出力するビットを生成させるためのコマンドであり、
前記プログラム可能ドライバはさらに、前記メモリコントローラからの可変電圧レールを受信する、
メモリデバイス。
【請求項２】
前記Ｉ／Ｏ信号線インターフェースはさらに、前記Ｉ／Ｏ信号線を高電圧レール、低電圧レールおよび中間レール電圧のうちの１つに終端する、
請求項１に記載のメモリデバイス。
【請求項３】
前記Ｉ／Ｏ信号線インターフェースは、複数の異なるＩ／Ｏ信号線用の複数のＩ／Ｏ信号線インターフェースのうちの１つを備え、Ｉ／Ｏ信号線インターフェースごとにプログラム可能ドライバをさらに備えるメモリデバイスであって、各プログラム可能ドライバは、独立した前記Ｉ／Ｏ信号線インターフェースを経由して送信用の出力電圧スイングを個別に調整する、
請求項１に記載のメモリデバイス。
【請求項４】
前記プログラム可能ドライバはさらに、内部可変電圧スイングを生成する、
請求項１に記載のメモリデバイス。
【請求項５】
前記メモリコントローラから受信される前記可変電圧レールは、前記メモリコントローラのドライバに適用される同じ電圧レールか、前記メモリコントローラのドライバに適用される電圧レールとは異なる電圧レールのどちらかを備える、
請求項１に記載のメモリデバイス。
【請求項６】
前記プログラム可能ドライバは、前記出力電圧スイングを１ビット、１バイト、１つのデバイス、１つのバス、または１つのチャネルの粒度にて制御スイングに動的に調整する、
請求項１に記載のメモリデバイス。
【請求項７】
前記プログラム可能ドライバは、ｎ型−ｎ型ドライバアーキテクチャ、ｎ型−ｐ型ドライバアーキテクチャ、ｐ型−ｐ型ドライバアーキテクチャ、またはｐ型−ｎ型ドライバアーキテクチャを有する、
請求項１に記載のメモリデバイス。
【請求項８】
前記プログラム可能ドライバは、さらに、前記メモリデバイスのモードレジスタによって設定される、前記メモリデバイスの動作モード、および、前記メモリデバイスによってＩ／Ｏのために使用される周波数のうちの少なくとも一方に基づいて前記出力電圧スイングを動的に調整する、
請求項１に記載のメモリデバイス。
【請求項９】
前記プログラム可能ドライバは、調整器の帯域幅、調整器の効率、非線形制御、および低負荷電力管理のうちの１または複数を含む１または複数の電圧調整器特性をさらに動的に調整する、
請求項１に記載のメモリデバイス。
【請求項１０】
ホストシステムとインターフェースで接続するメモリデバイスであって、
前記メモリデバイスと、関連のメモリコントローラとの間に結合される入力／出力信号線（Ｉ／Ｏ信号線）用のＩ／Ｏ信号線インターフェースと、
前記メモリデバイスから前記Ｉ／Ｏ信号線を通じて前記メモリコントローラへの前記Ｉ／Ｏ信号線インターフェースを経由した送信用の出力電圧スイングを動的に調整するプログラム可能ドライバと、を備え、
調整された前記出力電圧スイングは、前記プログラム可能ドライバの抵抗から独立し、
前記プログラム可能ドライバはさらに、前記メモリコントローラからの可変電圧レールを受信する、
メモリデバイス。
【請求項１１】
メモリサブシステムにインターフェースで接続するための方法であって、
メモリデバイスと、関連のメモリコントローラとの間に結合される入力／出力（Ｉ／Ｏ）信号線用のＩ／Ｏ信号線インターフェースを経由して出力するビットを生成する段階と、
電源電圧に基づいて前記Ｉ／Ｏ信号線インターフェースを経由する前記ビットの送信のために出力電圧スイングを動的に調整する段階と、
前記動的に調整される出力電圧スイングとのＩ／Ｏ信号線インターフェースを駆動する段階と、を備え、
前記出力電圧スイングを動的に調整する段階は、前記メモリコントローラからの前記メモリデバイスによって受信されるコマンドによって設定される、前記メモリデバイスの動作モードに基づいて前記出力電圧スイングを動的に調整する段階を含み、前記コマンドは、出力する前記ビットを生成させるためのコマンドであり、
前記出力電圧スイングを動的に調整する段階は、前記メモリデバイスの異なるＩ／Ｏ信号線インターフェースの電圧スイングとは異なる出力電圧スイングに前記出力電圧スイングを調整する段階、電源電圧を低減された電圧スイングに内部調整する段階、前記メモリコントローラから可変電圧レールを受信する段階、前記メモリコントローラの前記信号線のドライバに適用される同じ電圧源信号である低減された電圧スイング電源電圧を受信する段階、および前記メモリコントローラの前記信号線のドライバに適用される信号とは異なる電圧源信号である低減された電圧スイング電源電圧を受信する段階のうちの１つを備える、方法。
【請求項１２】
前記Ｉ／Ｏ信号線インターフェースは、高電圧レール、低電圧レールおよび中間レール電圧のちの１つに終端される、
請求項１１に記載の方法。
【請求項１３】
前記出力電圧スイングを動的に調整する段階は、前記出力電圧スイングをビット、バイト、デバイス、バスおよびチャネルのうちの１つの制御粒度用の制御出力スイングに動的に調整する段階を備える、
請求項１１に記載の方法。
【請求項１４】
前記出力電圧スイングを動的に調整する段階は、さらに、前記メモリデバイスのモードレジスタによって設定される、前記メモリデバイスの動作モード、前記メモリデバイスによってＩ／Ｏ用に使用される周波数、および、調整器の帯域幅、調整器の効率、非線形制御または低負荷電力管理を含む１または複数の電圧調整器特性のうちの１または複数に基づいて前記出力電圧スイングを動的に調整する段階を備える、
請求項１１に記載の方法。
【請求項１５】
メモリサブシステムにインターフェースで接続するための方法であって、
メモリデバイスと、関連のメモリコントローラとの間に結合される入力／出力（Ｉ／Ｏ）信号線用のＩ／Ｏ信号線インターフェースを経由して出力するビットを生成する段階と、
電源電圧に基づいて前記Ｉ／Ｏ信号線インターフェースを経由する前記ビットの送信のために出力電圧スイングを動的に調整する段階と、
前記動的に調整される出力電圧スイングとのＩ／Ｏ信号線インターフェースを駆動する段階と、を備え、
前記出力電圧スイングを動的に調整する段階は、前記メモリデバイスの異なるＩ／Ｏ信号線インターフェースの電圧スイングとは異なる出力電圧スイングに前記出力電圧スイングを調整する段階、電源電圧を低減された電圧スイングに内部調整する段階、前記メモリコントローラから可変電圧レールを受信する段階、前記メモリコントローラの前記信号線のドライバに適用される同じ電圧源信号である低減された電圧スイング電源電圧を受信する段階、および前記メモリコントローラの前記信号線のドライバに適用される信号とは異なる電圧源信号である低減された電圧スイング電源電圧を受信する段階のうちの１つを備える、方法。
【請求項１６】
メモリサブシステムを有する電子デバイスであって、
メモリデバイスであって、
前記メモリデバイスと、関連のメモリコントローラとの間に結合される入力／出力信号線（Ｉ／Ｏ信号線）用のＩ／Ｏ信号線インターフェース、および
前記メモリデバイスから前記Ｉ／Ｏ信号線を通じて前記メモリコントローラへの前記Ｉ／Ｏ信号線インターフェースを経由した送信用に出力電圧スイングを動的に調整するプログラム可能ドライバであって、調整された前記出力電圧スイングは、前記プログラム可能ドライバの抵抗から独立するプログラム可能ドライバ
を含むメモリデバイスと、
前記メモリデバイスからアクセスされるデータに基づいて表示を生成するように結合されるタッチスクリーンディスプレイと、を備え、
前記プログラム可能ドライバは、前記メモリコントローラからの前記メモリデバイスによって受信されるコマンドによって設定される、前記メモリデバイスの動作モードに基づいて前記出力電圧スイングを動的に調整し、前記コマンドは、出力するビットを生成させるためのコマンドであり、
前記プログラム可能ドライバはさらに、前記メモリコントローラからの可変電圧レールを受信する、
電子デバイス。
【請求項１７】
請求項１１から１５のいずれか一項に記載の方法をコンピュータに実行させるためのプログラム。
【請求項１８】
請求項１１から１５のいずれか一項に記載のメモリサブシステムにインターフェースで接続するための方法を備えるメモリサブシステムにインターフェースで接続するための装置。
【請求項１９】
請求項１７に記載のプログラムを格納する、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は全体に、メモリサブシステムに関し、特に、調整可能な低スイングメモリインターフェースに関する。
［著作権表示／許可］
【０００２】
本特許文献の開示の部分は、著作権保護の対象となる材料を含み得る。著作権者は、特許商標庁における特許出願および記録に見られる特許文献または特許開示が何人により複製されても異議を有しないが、それ以外の場合には全ての著作権等を留保するものである。「著作権、２０１４年、インテル（登録商標）コーポレーション、無断複写・転載禁止」という著作権の通知は、下記に記載された全てのデータ、本明細書の添付の図面、ならびに下記に記載されたいずれのソフトウェアにも適用される。
【背景技術】
【０００３】
現代の電子コンポーネントは、モバイルおよび低電力環境での利用の増大を見出すにつれて、サイズおよびコストにて縮小し続けている。コンポーネントのサイズが縮小するにもかかわらず、コンポーネントがより低電力かつ同様なコストで同等またはより良好な性能を有するように期待されるので、電子装置の性能は改善し続けるという期待がある。しかしながら、コストを維持しつつ帯域幅および低電力化の点からメモリ性能のスケーリングは、継続的な課題である。既存のメモリの解決策は、一定またはより低い全体の電力予算にて帯域幅のスケーリングに取り組むのに役立つべく、データ送信にいくつかの技術を採用する。Ｉ／Ｏ（入力／出力）スケーリング技術の１つの例は、改善された送信ドライバアーキテクチャによって証明されている。別の技術は、データ送信において対の相手のいない受信機の使用である。
【０００４】
しかしながら、典型的なＤＲＡＭ（ダイナミックランダムアクセスメモリ）ドライバ段のＩ／Ｏ上の従来の制約は、メモリデバイス送信にて生じ得る電力低減量を制限する。従来のメモリデバイスＩ／Ｏは、電力低減を提供するために能力が非常に制限されたＩ／Ｏインターフェースの終端に対してのみ調整を可能にする。従来のメモリＩ／Ｏ段は典型的には、わずかに１つ、または場合により２つの動作設定を有する。従来のメモリＩ／Ｏの動作設定は、調整機能が限定され、電力低減の有用性が限定される。その１つまたは２つの設定は、従来全ての動作モードに及ぶことが必要とされ、電源および／または性能の非効率という結果になっていた。典型的には、設定は平均的な使用ケースが目標にされ、低級および高級構成が最も非効率となる傾向があることを意味する。
【図面の簡単な説明】
【０００５】
以下の説明は、図示が本発明の実施形態の実装の例として与えられた実例を有する図面の検討を含む。図面は、限定としてではなく例として理解されるべきである。本明細書において用いられるように、１または複数の「実施形態」への言及は、本発明の少なくとも１つの実装に含まれる特定の特徴、構造、および／または特性を説明するものと理解されたい。従って、本明細書に見られる「１つの実施形態において」または「代替的な実施形態において」等の文言は、本発明における様々な実施形態および実装を説明するものであり、全てが必ずしも同一の実施形態を指すわけではない。しかしながら、これらは必ずしも相互に排他的でもない。
【０００６】
【図１】メモリデバイスにてＩ／Ｏスイング制御を実装するシステムの実施形態のブロック図である。
【０００７】
【図２】メモリデバイス用に調整可能な出力電圧スイングの実施形態を示す曲線表示である。
【０００８】
【図３】Ｉ／Ｏ送信スイングが減少したＩ／Ｏインターフェースを有するシステムの実施形態のブロック図である。
【０００９】
【図４Ａ】メモリデバイスの実装用にスイング制御を用いるＩ／Ｏドライバの実施形態を示す。
【図４Ｂ】メモリデバイスの実装用にスイング制御を用いるＩ／Ｏドライバの実施形態を示す。
【図４Ｃ】メモリデバイスの実装用にスイング制御を用いるＩ／Ｏドライバの実施形態を示す。
【図４Ｄ】メモリデバイスの実装用にスイング制御を用いるＩ／Ｏドライバの実施形態を示す。
【００１０】
【図５】Ｉ／Ｏスイング制御用にメモリデバイスにて可変電圧調整器を有するシステムの実施形態のブロック図である。
【００１１】
【図６】ホストがメモリデバイスにてスイング制御を与えるためにＩ／Ｏ電圧源を提供するシステムの実施形態のブロック図である。
【００１２】
【図７】メモリデバイスにてスイング制御を与えるためにＩ／Ｏ電圧源を提供する外部調整器を有するシステムの実施形態のブロック図である。
【００１３】
【図８】メモリデバイスにてＩ／Ｏスイングを内部制御するためのプロセスの実施形態のフロー図である。
【００１４】
【図９】メモリデバイスのＩ／Ｏスイングを外部制御するプロセスの実施形態のフロー図である。
【００１５】
【図１０】メモリデバイスのＩ／Ｏスイング制御装置が実装され得るコンピューティングシステムの実施形態のブロック図である。
【００１６】
【図１１】メモリデバイスのＩ／Ｏスイング制御装置が実装され得るモバイルデバイスの実施形態のブロック図である。
【００１７】
下記に記載される実施形態のうちのいくつかまたは全てを図示し得る図面の説明を含み、ならびに本明細書において提示される発明概念の他の可能な実施形態または実装を検討する、特定の詳細および実装の説明を後述する。
【発明を実施するための形態】
【００１８】
本明細書に説明されるように、メモリデバイスＩ／Ｏ（入力／出力）インターフェースは、プログラム可能ドライバを含む。プログラム可能ドライバは、メモリデバイスがＩ／Ｏインターフェース用に出力電圧スイングを制御するのを可能にする。Ｉ／Ｏインターフェースは、メモリデバイスと、関連メモリコントローラとの間に結合される複数の信号線を含む。メモリデバイスのＩ／Ｏインターフェースは、Ｉ／Ｏ信号線ごとにドライバを含む。ドライバは、Ｉ／Ｏインターフェースを経由する送信用に出力電圧スイングを動的に調整するプログラム可能ドライバである。
【００１９】
１つの実施形態において、メモリデバイスのＩ／Ｏインターフェースは、関連メモリコントローラによって制御される送信ドライバを含む。このように、メモリコントローラは、メモリデバイスの送信ドライバの出力電圧スイングを制御し得る。メモリコントローラは、メモリデバイスが可変出力電圧スイングで出力信号を送信するのを可能にすべく、出力電圧スイングを動的に設定またはプログラムし得る。可変出力電圧スイングによって、いくつかの条件において、メモリデバイスが、従来のＩ／Ｏインターフェースよりも低い電力で送信し得る。そのような動的な出力電圧のスイング制御は、電力および性能の最適化を提供しつつ、メモリＩ／Ｏインターフェースの帯域幅用のスケーリングを提供する。１つの実施形態において、送信ドライバは、電圧モードドライバである。電圧モードドライバは、電圧信号を出力し、典型的には、その実効インピーダンスを信号線に適合させる。電圧モードドライバは、電流を出力する電流モードドライバとは異なるように理解される。１つの実施形態において、送信ドライバはシングルエンドされ、信号線の信号を低電圧レールに参照する。差動ドライバは、信号が２本の信号線間の差である信号線対で動作する。
【００２０】
Ｉ／Ｏドライバ抵抗の調整に関連して出力電圧スイングを制御する従来の方法とは対照的に、動的な出力電圧のスイング制御に対する言及は、出力信号を生成するために使用される電圧レベルを通じた制御を指すことが理解されよう。本明細書に説明される出力電圧のスイング制御は、Ｉ／Ｏドライバ抵抗の調整に加えて達成され得るが、Ｉ／Ｏ用に出力電圧スイングを調整するためにＩ／Ｏドライバ抵抗の調整のみに依存しない。Ｉ／Ｏドライバ抵抗の調整により、ドライバをチャネルの送信線インピーダンスに適合する効率を減少させる場合があることは理解されよう。このように、低電力の達成と良好なシグナル伝達との間には、従来矛盾がある（すなわち、消費電力を低減すべくドライバ抵抗を調整することにより、従来シグナル伝達はより不十分になる）。Ｉ／Ｏドライバ抵抗から独立してＩ／Ｏ出力電圧スイングを調整することにより、本明細書に説明される出力電圧スイングへの調整は、シグナル伝達品質にほとんど影響なくないし全く影響なしで消費電力を低減し得る。
【００２１】
１つの実施形態において、動的なＩ／Ｏインターフェース制御は、オンダイ調整がメモリコントローラによって制御されながら、メモリデバイス上のオンダイ調整によって提供され得る。１つの実施形態において、動的なＩ／Ｏインターフェース制御は、メモリコントローラからメモリデバイスに送信出力段を供給することによって提供され得る。そのような実施形態は、メモリコントローラが、メモリコントローラにて電圧スイング制御を直接制御し、それをメモリデバイスに供給するのを可能にする。
【００２２】
例えば、動的な出力電圧のスイング制御は、クロック速度をスケーリングするための潜在的な電力をオフセットし得るより高い周波数でのデータ送信用に電力低減を可能にし得る。１つの実施形態において、メモリデバイス用に動的な出力電圧のスイング制御を用いるシステムは、独立した出力電圧スイング（Ｖスイング）およびオンダイターミネーション（Ｒオン）制御を可能にし得、それにより、既存のメモリＩ／Ｏインターフェースと比較して改善された電力および性能の最適化をもたらす。
【００２３】
メモリデバイスのＩ／Ｏインターフェース上の従来のＩ／Ｏインターフェース制御において、メモリＩ／Ｏインターフェースは、複数の設定ケース用に１つまたは２つの設定を有し、それにより、制限された調整機能を提供する。メモリＩ／Ｏインターフェース用に全ての動作モードに及ぶことが必要とされる１つまたは２つの設定の代わりに、動的な出力電圧制御はより多くの設定ケースを可能にし、それにより、メモリＩ／Ｏインターフェースの異なる動作モードにわたりより大きな可変性を可能にする。このように、単一のＩ／Ｏインターフェース設計が、異なる設定に動的に変更され得、送信トランザクションの複数の異なるセグメントに対して調整された使用ケースを可能にする。動的な出力電圧制御メモリＩ／Ｏインターフェースは、終端設定および出力電圧スイングの両方に対して調整を可能にすることによって、より広範な電力および性能の最適化を可能にする。
【００２４】
上記のように、動的な出力電圧スイングは、メモリコントローラによって制御され得、メモリデバイスまたはメモリコントローラにて実装され得る。１つの実施形態において、メモリデバイスは、ダイ上または回路上にプログラム可能または調整可能な電圧調整器を含む。このように、メモリデバイスそれ自体が電源電圧を受け取り得、異なる出力電圧スイングを生成すべく異なる出力電圧レベルを生成し得る。１つの実施形態において、メモリコントローラは、出力信号を送信するための電圧レールとして使用すべく、メモリコントローラに提供する調整電圧を生成する。このように、メモリコントローラでの調整電圧の制御により、メモリデバイスでの電圧スイングを制御し得る。１つの実施形態において、メモリコントローラおよびメモリデバイスの外部の電圧調整器は、信号の送信のために出力段のメモリコントローラによる使用のために調整電圧を生成しメモリコントローラに供給する。１つの実施形態において、メモリコントローラは、メモリデバイスへのコマンドによってメモリデバイスの出力電圧スイングを制御する。１つの実施形態において、メモリコントローラは、モードレジスタの設定によってメモリデバイスの出力電圧スイングを制御する。メモリデバイスのドライバは、それが制御可能な電圧で動作する点でプログラム可能である。 
【００２５】
１つの実施形態において、出力電圧スイングレベルは、異なるシステムごとに最適化され得る。例えば、出力電圧制御は、ファームウェアによって構成可能となり得る。ファームウェア内の構成設定を調整することによって、ファームウェアは、出力電圧制御が組み込まれるシステムごとに異なって出力スイングを調整し得る。１つの実施形態において、出力電圧制御は、直接構成される変数に応答してその制御を調整し得る。１つの実施形態において、出力電圧制御はＢＩＯＳ（基本的な入力／出力システム）での構成設定または他の変数、あるいは他のシステム構成ストレージに応答してその制御を調整し得る。１つの実施形態において、出力電圧制御はＩ／Ｏスイングを制御する１または複数の電圧調整器の動作を調整する。１つの実施形態において、出力電圧制御は、効率性を改善する、および／または供給ノイズを減少すべく電圧調整器の性能を更に調整し得る。例えば、出力電圧制御は、フィルタ設定、自己消費電流、非線形制御、低負荷電力管理または他の調整器の性能パラメータ、あるいはパラメータの組み合わせを調整し得る。
【００２６】
メモリデバイスへの言及は、異なるメモリの種類に適用し得る。メモリデバイスは、概して、揮発性メモリ技術を指す。揮発性メモリは、電源がデバイスに遮断されるならば、その状態（ひいては、その上に格納されたデータ）が不定であるメモリである。動的な揮発性メモリは、状態を維持するためにデバイス内に格納されたデータを復元することを要求する。動的な揮発性メモリの１つの例としては、ＤＲＡＭ（ダイナミックランダムアクセスメモリ）、または同期ＤＲＡＭ（ＳＤＲＡＭ）等のなんらかの変形が挙げられる。本明細書に説明されるようなメモリサブシステムは、ＤＤＲ３（２００７年６月２７日にＪＥＤＥＣ（Ｊｏｉｎｔ  Ｅｌｅｃｔｒｏｎｉｃ  Ｄｅｖｉｃｅ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｃｏｕｎｃｉｌ：電子機器技術評議会）によって元々リリースされ、現在リリース２１である、二重データ速度（ｄｕａｌ  ｄａｔａ  ｒａｔｅ）バージョン３）、ＤＤＲ４（ＤＤＲバージョン４、ＪＥＤＥＣによって２０１２年９月に公表された初期の仕様）、ＬＰＤＤＲ３（ＪＥＤＥＣによる２０１３年８月の低電力ＤＤＲバージョン３、ＪＥＳＤ２０９−３Ｂ）、ＬＰＤＤＲ４（２０１４年８月に元々ＪＥＤＥＣによって公表されたＬＰＤＤＲ（ＬＯＷ  ＰＯＷＥＲ  ＤＯＵＢＬＥ  ＤＡＴＡ  ＲＡＴＥ（低電力二重データ速度）バージョン４（ＪＥＳＤ２０９−４））、ＷＩＯ２（２０１４年８月に元々ＪＥＤＥＣによって公表されたワイドＩ／Ｏ２（ワイドＩＯ２）、ＪＥＳＤ２２９−２）、ＨＢＭ（２０１３年１０月に元々ＪＥＤＥＣによって公表されたＨＩＧＨ  ＢＡＮＤＷＩＤＴＨ  ＭＥＭＯＲＹ  ＤＲＡＭ（高帯域メモリＤＲＡＭ）（ＪＥＳＤ２３５））、ＤＤＲ５（ＤＤＲバージョン５、ＪＥＤＥＣによって目下検討中）、ＬＰＤＤＲ５（ＪＥＤＥＣによって目下検討中）、ＷＩＯ３（ワイドＩ／Ｏ３、ＪＥＤＥＣによって目下検討中）、ＨＢＭ２（ＨＢＭバージョン２、ＪＥＤＥＣによって目下検討中）、および／またはその他、ならびにそのような仕様の派生物もしくは拡張に基づく技術等の複数のメモリ技術と互換性を有し得る。揮発性メモリに加えて、または、それの代わりに、１つの実施形態において、メモリデバイスへの言及は、たとえ不揮発性メモリデバイスへの電力が遮断されたとしても、その状態が確定する不揮発性メモリデバイスを指し得る。このように、メモリデバイスはまた、３次元クロスポイントメモリデバイスまたは他の不揮発性メモリデバイス等の将来世代の不揮発性デバイスを含み得る。
【００２７】
図１は、メモリデバイスにてＩ／Ｏスイング制御を実装するシステムの実施形態のブロック図である。システム１００は、メモリデバイスを含むシステムを表す。１つの実施形態において、システム１００は、メモリサブシステムとなるべく検討され得る。ホスト１１０は、コンピューティングデバイスの制御を実装するホストシステムを表す。１つの実施形態において、ホスト１１０は、１または複数のプロセッサデバイスおよび／またはプロセッサコアを含み得るプロセッサまたは処理ユニットを含む。ホスト１１０は、メモリコントローラ、またはメモリコントローラのロジック的等価物または代替物を含む。メモリコントローラは、メモリデバイス１２０へのメモリアクセスを制御する。
【００２８】
ホスト１１０は、１または複数のメモリデバイス１２０に結合され得る。複数のメモリデバイスは、ホスト１１０に並列に結合され得る。ホスト１１０およびメモリデバイス１２０間のＩ／Ｏインターフェースは、１または複数のチャネル、バンク、ランク、バス、または他のグループ分けへと分離され得る。典型的には、インターフェースの信号線のグループ分けは、クロック信号または他の制御信号の共有化等のシグナル伝達の共有化として理解され得る。ホスト１１０およびメモリデバイス１２０間のインターフェースが信号線のグループへと分離される実施形態において、特定の信号線グループはアクティブとなり得るが、他のグループは選択されない。そのような信号線はまだ接続されているが、コマンドは、どのデバイスまたは信号線がコマンドを受信し、コマンドで動作すべきか、どちらがコマンドを退けるべきかをシグナル伝達し得る。
【００２９】
メモリデバイス１２０は、システム１００のメモリリソースを表す。メモリデバイス１２０は、明示されないが、ストレージアレイまたは他のストレージアーキテクチャを含む。メモリデバイス１２０は、ストレージアレイにデータを格納する。１つの実施形態において、メモリデバイス１２０は、デバイスに対する電力が遮断された場合、その状態が不定となるメモリを指す揮発性メモリデバイスである。１つの実施形態において、メモリデバイス１２０は、たとえデバイスに対する電力が遮断されたとしても、その状態が確定するメモリを指す不揮発性メモリデバイスとなり得る。１つの実施形態において、メモリデバイス１２０は、３次元（３Ｄ）クロスポイント不揮発性メモリデバイスとなり得る。１つの実施形態において、メモリデバイス１２０は、ホスト１１０が実行するデータおよび／またはコードを格納するメインメモリリソースを表す。
【００３０】
メモリデバイス１２０は、信号線１４０を経由してホスト１１０のＩ／Ｏ１１２とインターフェースで接続するＩ／Ｏ１２２を含む。Ｉ／Ｏ１２２およびＩ／Ｏ１１２は、それぞれのデバイスを外部デバイスに相互接続または結合するハードウェアロジックを表す。単一信号線１４０を用いる単一ブロックとしてのみ示されるが、ホスト１１０およびメモリデバイス１２０は、複数のＩ／Ｏポート、ピンまたはコネクタを含むことが理解されよう。このように、Ｉ／Ｏ１１２およびＩ／Ｏ１２２は、ホスト１１０およびメモリデバイス１２０間の任意のサイズのＩ／Ｏインターフェースを表し得る。メモリデバイス１２０のＩ／Ｏ１２２は、Ｉ／Ｏとの１または複数の接続によって制御される。メモリデバイス１２０は、Ｉ／Ｏ１２２を経由した通信用の理想的な信号アイの表示を含む。 
【００３１】
信号アイは、Ｉ／Ｏ１２２を経由した通信用のレールごとの電圧スイングを表す。レールは、ＶＤＤと呼ばれ得る、高電圧レールまたは高電圧電位と、ＶＳＳと呼ばれ得る、低電圧レールまたは低電圧電位とを指す。参考のため、信号アイはまた、ＶＴＴとラベルを付けられる第３の電圧電位を表し、ＶＤＤおよびＶＳＳ間のどこかの電圧レールを指す。１つの実施形態において、ＶＴＴは、ＶＤＤおよびＶＳＳ間の中間レールである。１つの実施形態において、ＶＴＴは、Ｉ／Ｏ線のコモンモード、または平均電圧である。ＶＴＴは、プルアップおよびプルダウン電流が等しい電圧となり得る。１つの実施形態において、ＶＴＴは、ＶＤＤおよびＶＳＳ間には直接ない電圧電位となり得る。１つの実施形態において、ＶＳＳおよびＶＤＤのどちらか、または両方が動的に調整可能であり、ＶＴＴは、ＶＳＳおよび／またはＶＤＤの代わりに電源電圧に対して固定され得、これにより、ＶＴＴは、極端な電圧レールの一方または他方の動的な移動に起因して、ＶＳＳおよびＶＤＤ間の中間以外の電圧となり得る。
【００３２】
従来、メモリデバイス１２０は、通信が他の信号線および／または他のデバイスを用いて存在する間に、１または複数の信号線または１または複数のデバイスを終端するＯＤＴ（オンダイターミネーション）１２６を含む。ＯＤＴ１２６は、信号線１４０をＶＤＤ、ＶＳＳまたはＶＴＴに終端し得る。１つの実施形態において、ＯＤＴ１２６は、異なる動作モード下で異なる信号線を異なるレベルに終端する複数の異なる設定またはモードを含む。１つの実施形態において、ホスト１１０は、メモリデバイス１２０にてＯＤＴ１２６によって適用されるべき終端を制御する。 
【００３３】
メモリデバイス１２０は、信号線１４０を通じてどのビットが表されるべきかに応じて、Ｉ／Ｏ１２２をロジックハイまたはロジックローに駆動する回路を表すドライバ１２４を含む。ドライバ１２４は、Ｉ／Ｏ１２２の一部であることが理解されよう。ドライバ１２４は、信号線１４０を通じて信号を出力する回路の一部である。このように、Ｉ／Ｏ１２２を駆動するドライバ１２４に言及する本明細書の表現は、ホストまたは関連メモリコントローラに情報を送るべく、出力信号線を駆動するドライバを指す。１つの実施形態において、ドライバ１２４は、プログラム可能である。１つの実施形態において、駆動強度および／または電圧スイングは制御され、調整可能である。駆動強度は、ドライバの出力を調べる抵抗を指し得る。電圧スイングは、出力信号がＶＤＤおよびＶＳＳ間でどのように完全にスイングするかを指す。例えば、プログラム可能ドライバ１２４は、信号線をロジックハイを表すＶＤＤにずっと駆動する代わりに、ロジックハイを表すＶＤＤより小さいなんらかの電圧値に信号線を駆動するように構成され得る。
【００３４】
１つの実施形態において、ドライバ１２４はシングルエンドドライバであり、低電圧レールに対する信号を出力する。１つの実施形態において、ドライバ１２４は、電圧モードドライバである。電圧モードドライバは、電圧源としてモデル化され、電圧信号を出力する。電圧モードドライバ・インピーダンスは、接続された信号線からの回路に戻ってくる等価なインピーダンスに基づいて整合する。電流モードドライバは、電流源としてモデル化され、電流信号を出力する。
【００３５】
１つの実施形態において、メモリデバイス１２０は、Ｉ／Ｏ１２２の構成および動作を制御するロジックを表すＩ／Ｏ制御装置１３２を含む。１つの実施形態において、Ｉ／Ｏ制御装置１３２は、ハードウェアロジックを含む。１つの実施形態において、Ｉ／Ｏ制御装置１３２は、ソフトウェアロジックを含む。１つの実施形態において、Ｉ／Ｏ制御装置１３２は、ハードウェアロジックおよびソフトウェアロジックの組み合わせを含む。ハードウェアロジックは、例えば、ドライバ１２４、ＯＤＴ１２６およびＩ／Ｏ１２２のハードウェアロジックのタイミングおよびシグナル伝達動作を制御するオンダイコントローラまたはプロセッサデバイスを含み得る。１つの実施形態において、そのようなコントローラは、動作の仕方の決定を行うプログラムロジック（ファームウェアコードなど）を含み得る。
【００３６】
１つの実施形態において、ホスト１１０は、メモリデバイス１２０のＩ／Ｏ１２２の構成および動作を制御するロジックを表すＩ／Ｏ制御装置１３４を含む。１つの実施形態において、Ｉ／Ｏ制御装置１３４は、ホスト１１０のＩ／Ｏ１１２の動作を制御するロジックから独立している。１つの実施形態において、Ｉ／Ｏ制御装置１３４は、ハードウェアロジックを含む。１つの実施形態において、Ｉ／Ｏ制御装置１３４は、ソフトウェアロジックを含む。１つの実施形態において、Ｉ／Ｏ制御装置１３４は、ハードウェアおよびソフトウェアロジックの組み合わせを含む。ハードウェアロジックは、ドライバ１２４、ＯＤＴ１２６およびＩ／Ｏ１２２のハードウェアロジックのタイミングおよびシグナル伝達動作を制御するコマンドを生成する、例えば、オンダイコントローラまたはプロセッサデバイスを含み得る。１つの実施形態において、そのようなコントローラは、動作の仕方についての決定を行うべく、プログラムロジック（ファームウェアコードなど）を含み得る。Ｉ／Ｏ制御装置１３４は、Ｉ／Ｏ１１２、信号線１４０、およびＩ／Ｏ１２２のインターフェース、または別のインターフェース（図示せず）を通じてあり得る、ホスト１１０およびメモリデバイス１２０間の通信を引き起こし得る。
【００３７】
１つの実施形態において、ドライバ１２４は、メモリデバイス１２０にて自己制御される。そのような実施形態において、Ｉ／Ｏ制御装置１３２は、内部でドライバ１２４の制御を操作する。このように、Ｉ／Ｏ制御装置１３２は、ドライバ１２４の動作を調整することによりＩ／Ｏ１２２の動的な電圧スイングを制御する。１つの実施形態において、Ｉ／Ｏ制御装置は、ドライバ１２４用に低減されたスイング基準電圧を生成する可変電圧調整器を含む。１つの実施形態において、ドライバ１２４は、Ｉ／Ｏ制御装置１３２によって制御される可変電圧調整器を含むように検討され得る。
【００３８】
１つの実施形態において、ホスト１１０は、ドライバ１２４の可変動作を少なくとも部分的に制御する。そのような実施形態において、Ｉ／Ｏ制御装置１３４は、特定の動作モード用にドライバを構成すべく、ドライバ１２４を直接制御し得、またはＩ／Ｏ制御装置１３２にシグナル伝達し得る。１つの実施形態において、Ｉ／Ｏ制御装置１３２は、ドライバ１２４の動作を制御するモードレジスタまたは他のレジスタまたは参照テーブルを含む。１つの実施形態において、Ｉ／Ｏ制御装置１３４は、低減された電圧スイングを含み得るＩ／Ｏ１２２を通じて信号を送信するドライバ１２４用の電圧基準レールを生成する。
【００３９】
ホスト１１０は、１または複数のメモリコントローラまたは同等な回路を含み得ることが理解されよう。各メモリコントローラは、１または複数のメモリリソースと関連し得る。各メモリコントローラは、他のメモリコントローラから独立してその関連メモリリソースを制御する。ホスト１１０がメモリコントローラを有する、またはメモリコントローラと見なされる実施形態において、Ｉ／Ｏ制御装置１３４は、メモリデバイス１２０と関連メモリコントローラの一部となり得る。関連メモリコントローラは、メモリデバイス１２０のストレージリソースへのアクセスを制御する。
【００４０】
１つの実施形態において、ホスト１１０またはメモリコントローラは、ドライバ１２４のプログラム可能スイングを制御する場合、電圧スイングの変動性を超えた制御粒度が、チャネル、ランクまたはデバイスレベルにて可能性が高い。１つの実施形態において、より繊細なレベルの制御粒度が、ホスト１１０またはメモリコントローラによって管理され得るが、そのような実装は、実装するために作動不能な量のハードウェアおよび／またはソフトウェアロジックを含むかもしれない。このように、１つの実施形態において、例えば、バイト、ビットまたはバスレベル等のより細かいレベルの制御粒度が、Ｉ／Ｏ制御装置１３２を経由した内部制御によって少なくとも一部に提供される。Ｉ／Ｏ制御装置１３４は、Ｉ／Ｏ制御装置１３２によって実行されるメモリデバイス１２０用の動作をシグナル伝達し得ることが理解されよう。
【００４１】
１つの実施形態において、メモリデバイス１２０は、複数の異なる動作モードを有する。動作モードは、電力節約向けに、性能向けに、特定のデータタイプ、または、モード用の他の指定に向けて指定され得る。１つの実施形態において、異なる動作モードは、メモリデバイス１２０からの異なるＩ／Ｏ周波数を適用する。１つの実施形態において、メモリデバイス１２０は、異なる動作モード（例えば、周波数調整、出力電力、および／または他のパラメータ）用に別々にＩ／Ｏ１２２を構成する。このように、１つの実施形態において、Ｉ／Ｏ制御装置１３２は、メモリデバイスの動作モードに基づいてＩ／Ｏ１２２および／またはドライバ１２４の構成を制御し得る。１つの実施形態において、メモリデバイスの動作モードは、メモリデバイス用の構成および動作情報を格納するメモリデバイス１２０でのモードレジスタ（具体的に図示せず）によって設定される。このように、１つの実施形態において、プログラム可能ドライバ１２４は、モードレジスタに設定される動作モードに基づいて出力電圧スイングを動的に調整する。１つの実施形態において、ホスト１１０またはメモリコントローラは、コマンドまたはコマンドシーケンスによって動作モードを設定する。このように、１つの実施形態において、プログラム可能ドライバ１２４は、メモリコントローラからのメモリデバイスによって受信されるコマンドによって設定される動作モードに基づいて出力電圧スイングを動的に調整する。
【００４２】
図２は、メモリデバイス用に調整可能な出力電圧スイングの実施形態を示す曲線表示である。図表２００は、本明細書に説明される任意の実施形態によるメモリデバイスの出力ドライバ用の標準および低減された電圧スイングを示す。図表２００は、メモリデバイスの調整可能な出力ドライバ用の高電圧レールおよび低電圧レールを表す電圧レール２１０および２２０を示す。
【００４３】
Ｖスイング＿大は、電圧がレール２１０からレール２２０にスイングする場合に、ドライバからの出力の従来の実装を表す。１つの実施形態において、メモリデバイスの出力ドライバは、レール２１０およびレール２２０の代わりにレール２１０およびＶ２３０間でスイングするように構成され得る。Ｖスイング＿小は、メモリデバイスドライバからの低減されたスイング出力を表す。１つの実施形態において、メモリデバイスは、レール２１０およびＶ２３０によって表される電圧レベルを生成する。１つの実施形態において、１つまたは両方の電圧レベルが、関連メモリコントローラによって供給される。
【００４４】
出力ドライバがレール２１０からレール２２０にスイングする場合、レール２１０およびレール２２０間のおよそ中間に示されるＶスイング＿大向けの基準電圧となり得る。出力ドライバがレール２１０からＶ２３０にスイングする場合、レール２１０およびＶ２３０間のおよそ中間に示されるＶスイング＿小向けの基準電圧となり得る。Ｖ２３０がレール２１０に対して示されるが、電圧は、レール２２０および別の電圧間でスイングし得ることが理解されよう。レール２１０は、高電圧レールまたは低電圧レールとなり得ることが理解されよう。１つの実施形態において、調整可能メモリデバイスの出力ドライバは、図示される２つの出力ドライバよりも大きな電圧スイングを選択してプログラムされ得る。このように、出力電圧スイングの調整は、２つより多い異なる電圧スイングを可能にすべく、より粒度が細かくなり得る。
【００４５】
図３は、Ｉ／Ｏ送信スイングが減少したＩ／Ｏインターフェースを有するシステムの実施形態のブロック図である。システム３００は、メモリデバイス側でのＩ／Ｏインターフェースを表す。具体的には、メモリデバイス３０２は、Ｎ本の信号線３２０に結合されるＮ個のパッド３１４を含む。パッド３１４は、信号線３２０のメモリデバイス３０２とのハードウェア相互接続を表す。パッド３１４は、それを通じてメモリデバイス３０２が信号線３２０の通信インターフェースとインターフェースで接続するハードウェアである。
【００４６】
１つの実施形態において、各パッド３１４は、関連Ｉ／Ｏ回路３１０を含む。Ｉ／Ｏ回路３１０は、信号線３２０上の出力を生成するためのドライバ回路の簡易表示である。Ｉ／Ｏ回路３１０はそれぞれ、各信号線３２０上に異なるビットを生成すべく個別に制御され得ることは理解されよう。各Ｉ／Ｏ回路３１０の構造は、基本的に同一となり得、従って、Ｉ／Ｏ回路３１０−０のみが説明され、そのような説明は全てのＩ／Ｏ回路およびそれらの構成要素に等しく適用され得ることは理解されよう。
【００４７】
ドライバ３１２は、本明細書に説明される任意の実施形態によるプログラム可能ドライバを表す。１つの実施形態において、ドライバ３１２は、パッド３１４用のドライバの最終出力段を表す。ドライバ３１２は、関連パッドおよび信号線を２つの電圧レールのうちの１つにプルするように動作し得る。名目上、電圧レールは、高電圧用のＶＤＤと、低電圧用のＶＳＳとなり得る。１つの実施形態において、Ｉ／Ｏ回路３１０は、高電圧調整器（ＶＲＨ）か、低電圧調整器（ＶＲＬ）のどちらか、または両方を含む。ＶＲＨは、ＶＤＤ−Ｖ（ＶＲＨ）と等しい値、すなわちシステム高電圧レール（ＶＤＤ）マイナスＶＲＨの電圧降下の、ＶＤＤより低い電圧を生成する電圧調整器を表す。同様に、ＶＲＬは、ＶＳＳ−Ｖ（ＶＲＬ）と等しい値、すなわちシステム低電圧レール（ＶＳＳ）プラスＶＲＬの電圧の、ＶＳＳより高い電圧を生成する電圧調整器を表す。ＶＲＨによって提供されるステップダウンの大きさは、ＶＲＨおよびＶＲＬの両方が存在する実施形態においても、ＶＲＬによって提供されるステップアップの大きさと必ずしも同じではないことは理解されよう。
【００４８】
出力電圧スイングの減少により、レールごとにスイングする設計と比較してＩ／Ｏ回路３１０の電力節約をもたらし得る。ＶＲＨはＩ／Ｏ回路３１０に含まれ、ＶＤＤ−Ｖ（ＶＲＨ）の出力電圧を提供すると仮定する。ＶＲＨが、線形電圧調整器である場合、システム３００の設計は、ＶＲＨによって提供される電圧低下と線形関係にある送信電力を減少する。ＶＲＨは、スイッチング電圧調整器またはスイッチド回路調整器（例えば、スイッチドキャパシタ調整器、スイッチドインダクタ調整器）として設計された場合、システム３００の設計は、ＶＲＨによって提供される電圧低下に対してほぼ二次関数にて送信電力を減少し得る。
【００４９】
１つの実施形態において、ＶＲＨは、非常に低いエリアオーバヘッドでＩ／Ｏ回路３１０と同じ半導体ダイまたは集積回路上に局所的に統合され得る。例えば、デバイス設計は多くの場合、Ｉ／Ｏ回路３１０の電圧調整器の実装に適応するのに十分な余白を有する。１つの実施形態において、ＶＲＨは、同じ半導体基板に必ずしも統合されないで、Ｉ／Ｏ回路３１０と同じパッケージ中、または同じボード上に統合される。同様に、ＶＲＬは、Ｉ／Ｏ回路３１０と同じ半導体基板に、または、Ｉ／Ｏ回路３１０と同じパッケージに統合され得る。
【００５０】
１つの実施形態（明示されず）において、１または両方の電圧調整器ＶＲＨおよびＶＲＬは、バイパス経路によって選択的にバイパスされ得る。バイパス経路は、電圧調整器を介した電圧レールへの接続、または、電圧レールへの直接接続をスイッチすべく、選択的にアクティブにされ得る。このように、例えば、調整器への入力および調整器の出力は、アクティブにされた場合、調整器をバイパスする選択的な（例えば、切り替えられた）低インピーダンス経路を介して結合され得る。そのような設計は、異なるタイプのシステム（例えば、フルスイングモードおよび別個のロースイングモード）とインターフェースで接続するために使用し得る。なお、電圧調整器は、信号送信を駆動する代わりに、信号を受信するためなどで、必要とされない場合、スイッチを切られ得る。このように、低電力状態にて、電圧調整器は、電力ゲートの代わりになり得、使用していない場合にドライバへの電力を遮断し得、それにより回路リークを減少し得る。
【００５１】
個別の信号線３２０ごとに別個のＩ／Ｏ回路３１０を用いて、メモリデバイス３０２は、出力スイングのプログラム可能な状態で多くの粒度レベルを提供し得ることが理解されよう。１つの実施形態において、各ビットは、電圧スイング用に個別にプログラムまたは構成され得、出力スイングを通じてビットレベル制御を提供する。１つの実施形態において、各Ｉ／Ｏ回路３１０は、出力スイング制御に対して、独立しているが、並行または並列ビットグループにて制御され、それにより、バイトレベルまたはデバイスレベルの粒度、または他の粒度を提供し得る。各ビットまたは他のグループ分けは、システム３００の構成に応じて、異なる出力電圧スイングを使用し得る。１つの実施形態において、各バスは、電圧スイング用に個別にプログラムまたは構成され得、出力スイングを通じてバスレベル制御を提供する。例えば、データバスおよびコマンド／アドレスバスは、個別に制御され得る。１つの実施形態において、メモリサブシステムは、異なるランクへと分離され、各ランクは、電圧スイング用に個別にプログラムまたは構成され得、出力スイングを通じてランクレベル制御を提供する。
【００５２】
図４Ａ−４Ｄは、メモリデバイスの実装用にスイング制御を用いるＩ／Ｏドライバの実施形態を示す。図４Ａを参照すると、回路４０２は、ＶｏｕｔをＶＤＤの方に引くプルアップ（ＰＵ）４１０と、ＶｏｕｔをＶＳＳの方に引くプルダウン（ＰＤ）４２０とを有するドライバアーキテクチャを表す。回路４０２は、本明細書のドライバの任意の実施形態によるドライバを表し得る。１つの実施形態において、回路４０２は、プルアップ４１０が、１または複数のトランジスタで実装され得、プルダウン４２０が同様に、１または複数のトランジスタで実装され得るＣＭＯＳ回路である。１つの実施形態において、回路４０２は、ＶＤＤの電圧レベルを制御するスイング制御によって構成可能である。ＶＤＤを下方に調整することによって、Ｖｏｕｔでの出力スイングは低減され得る。ＶＤＤを上方に調整することによって、Ｖｏｕｔでの出力スイングは増加され得る。１つの実施形態において、別のＶＳＳのスイング制御が存在し得る。
【００５３】
典型的には、プルアップ４１０か、プルダウン４２０のどちらかが、一度にアクティブになるが、両方が同時にアクティブにはならない。両方のデバイスが、移行の間にアクティブとなる何かの重なりがあり得るが、概して、回路４０２
は典型的には、他方が非アクティブである間、１つのレッグをアクティブにすべく動作する。このように、アクティブレッグは、電流を伝導し、レッグ（プルアップ４１０用のＶＤＤおよびプルダウン４２０用のＶＳＳ）に結合されるレールと、Ｖｏｕｔとの間の電圧電位を等しくする。
【００５４】
図４Ｂを参照すると、回路４０４は、ＶｏｕｔをＶＤＤの方に引くｐ型プルアップＰ４３２と、ＶｏｕｔをＶＳＳの方に引くｎ型プルダウンＮ４３４とを有するドライバアーキテクチャを表す。回路４０４は、レッグの一方がｎ型であり、他方がｐ型であると仮定すると、ｎ型−ｐ型ドライバまたはｐ型−ｎ型ドライバと呼ばれ得る。ＣＭＯＳ実装において、回路４０２は、ＮＭＯＳ−ＰＭＯＳまたはＰＭＯＳ−ＮＭＯＳドライバと呼ばれ得る。ｐ型材料は、正孔移動度を増大すべくドープされるドープ半導体であり、正孔を自由にして電流を伝導することが理解されよう。ｎ型材料は、電子移動度を増大すべくドープされるドープ半導体であり、電子を自由にして電流を伝導する。それぞれのトランジスタデバイスが少なくとも閾値（Ｖｔ）にバイアスされた場合、デバイスは電流を伝導する。１つの実施形態において、回路４０４用のスイング制御は、ＶＤＤを通じて、従ってＶｏｕｔ用の電圧スイングを通じて制御を提供し得る。 
【００５５】
図４Ｃを参照すると、回路４０６は、ＶｏｕｔをＶＤＤの方に引くｎ型プルアップＮ４４２と、ＶｏｕｔをＶＳＳの方に引くｎ型プルダウンＮ４４４とを有するドライバアーキテクチャを表す。回路４０６は、両方のレッグがｎ型であると仮定すると、ｎ型−ｎ型ドライバと呼ばれ得る。ＣＭＯＳ実装において、回路４０６は、ＮＭＯＳ−ＮＭＯＳドライバと呼ばれ得る。ｐ型−ｐ型ドライバを作成することも可能となり得るが、そのようなアーキテクチャは、電流回路設計において、一般的に実際的ではない。１つの実施形態において、回路４０６用のスイング制御は、ＶＤＤを通じて、従ってＶｏｕｔ用の電圧スイングを通じて制御を提供し得る。図４Ｄを参照すると、回路４０８は、ＶｏｕｔをＶＤＤの方に引くｎ型プルアップＮ４５２と、ＶｏｕｔをＶＳＳの方に引くｎ型プルダウンＮ４５４とを有するドライバアーキテクチャを表す。１つの実施形態において、回路４０８用のスイング制御は、Ｎ４５２ゲートに対する制御を提供し得、従ってＶｏｕｔに対する電圧スイングを制御し得る。代わりに、または、加えて、スイング制御は、Ｎ４５４のゲートで提供され得る。
【００５６】
説明されるアーキテクチャ（例えば、ｎ型−ｎ型、ｎ型−ｐ型、ｐ型−ｐ型またはｐ型−ｎ型）は、メモリコントローラおよびメモリデバイス間のインターフェースの任意のドライバ用に使用され得る。ドライバアーキテクチャのいずれかは、任意の形式の終端（例えば、ＶＤＤ、ＶＳＳまたはＶＴＴ終端）と組み合わせられ得る。このように、出力スイング制御は、ドライバの終端タイプおよび抵抗から独立する。
【００５７】
図５は、Ｉ／Ｏスイング制御用にメモリデバイスにて可変電圧調整器を有するシステムの実施形態のブロック図である。システム５００は、メモリデバイス５２０に結合するメモリコントローラまたは他のホスト回路を表すホスト５１０を含む。システム５００は、図１のシステム１００によるシステムの１つの例となり得る。システム５００は、メモリデバイス５２０のプログラム可能ドライバが出力電圧スイングを内部生成する、またはプログラムする実施形態を表す。ホスト５１０は、メモリデバイス５２０内で内部制御されるスイングをプログラムする。
【００５８】
１つの実施形態において、ホスト５１０は、ＰＭＯＳプルアップおよびＮＭＯＳプルダウンを含み得るそのドライバ回路を制御すべくＶＲ（電圧調整器）５１２を含む。ドライバは、示されているアーキテクチャとは異なるアーキテクチャを有し得ることが理解されよう。ＶＲ５１２は、信号線５３０を駆動すべくホスト５１０による出力スイング制御用に使用される電圧を設定し得る。メモリコントローラまたは他のホストデバイスは従来、出力電圧のスイング制御を含んでいた。システム５００は、メモリデバイス５２０用のスイング制御を含む。具体的には、メモリデバイス５２０は、可変電圧調整器５２２を有する出力ドライバを含む。メモリデバイス５２０は、ＮＭＯＳプルアップおよびＮＭＯＳプルダウン、または他のドライバアーキテクチャを有するドライバ回路を有し得る。ＶＲ５２２は、ドライバの出力電圧スイングを制御し得る。
【００５９】
１つの実施形態において、ＶＲ５１２および／またはＶＲ５２２によって提供される出力電圧のスイング制御は、１または複数の他の形式の出力ドライバ制御に加えて存在し得る。１つの実施形態において、システム５００は、メモリデバイス５２０の出力ドライバの抵抗、デューティ周期、エッジ速度、および／または等化制御、および／または他の特性または動作パラメータを制御し得る。１つの実施形態において、出力ドライバの出力電圧のスイング制御に対する調整を生成する制御は、代わりに、または、加えて、調整器の帯域幅、調整器の効率、非線形制御または低負荷電力管理を含む１または複数の電圧調整器特性または動作パラメータを調整し得る。このように、本明細書に説明されるプログラム可能ドライバは、出力電圧スイング（例えば、ＶＲ５２２）を制御する電圧調整器の１または複数の特徴に加えて、出力電圧スイングを制御すると言える。
【００６０】
１つの実施形態において、ＶＲ５２２は、ホスト５１０からの制御またはコマンド信号に応答し、メモリデバイスドライバの動作をより大きい、またはより小さい出力スイングを有するように構成することができる。ホスト５１０による制御に対する応答にもかかわらず、ＶＲ５２２およびドライバは、内部で制御されることが理解されよう。このように、ホスト５１０は単に、特定の電力節約モードを使用するために、または特に送信電力を減少するために、単にメモリデバイス５２０にシグナル伝達することができる。そのようなコマンド（またはより明示的ななコマンド）に応答して、メモリデバイス５２０のコントローラ（具体的に示さず）は、ＶＲ５２２用に制御信号を生成し得、出力ドライバの出力スイングを調整し得る。１つの実施形態において、メモリデバイスドライバは、低、中間および大電圧スイングなどの複数のスイングレベルをサポートする。他の実装が可能であり、任意の合理的な数のスイングレベルがメモリデバイス５２０に適用され得る。
【００６１】
図６は、ホストがメモリデバイスにてスイング制御を与えるためにＩ／Ｏ電圧源を提供するシステムの実施形態のブロック図である。システム６００は、信号線６３０を通じてメモリデバイス６２０に結合するメモリコントローラまたは他のホスト回路を表すホスト６１０を含む。システム６００は、図１のシステム１００によるシステムの１つの例と、図５のシステム５００に対する代替手段となり得る。システム６００は、メモリデバイス６２０のプログラム可能ドライバが、ホスト６１０によって生成される出力スイング制御によってプログラム可能である実施形態を表す。より具体的には、ホスト６１０は、メモリデバイスの出力ドライバによる使用のために電圧をメモリデバイス６２０に供給する。このように、ホスト６１０は、ＶＲ６１２の制御によってメモリデバイス６２０の出力電圧スイングを最適化し得る。
【００６２】
システム５００を参照して上記に説明されることと同様に、ホスト６１０は、ＰＭＯＳプルアップドライバアーキテクチャおよびＮＭＯＳプルダウンドライバアーキテクチャを含み得る一方、メモリデバイス６２０は、ＮＭＯＳプルアップドライバアーキテクチャおよびＮＭＯＳプルダウンドライバアーキテクチャを含み得る。これらのアーキテクチャは、例示に過ぎず、他のアーキテクチャが使用され得ることが理解されよう。電圧源６４０は、出力ドライバ用にホスト６１０からメモリデバイス６２０に供給された電圧を表す。１つの実施形態において、電圧源６４０は、特にメモリデバイス６２０の出力ドライバ用に、ホスト６１０によって生成される電圧レベルとなり得る。１つの実施形態において、電圧源６４０は、それ自身の出力ドライバ用にホスト６１０によって生成される同じ電圧である。このように、メモリデバイス６２０のプログラム可能な出力電圧スイングは、関連メモリコントローラによって使用される可変出力電圧レベルを追跡し得る。電圧源６４０は、メモリデバイスドライバによって使用される高電圧レールとして示されるが、ホスト６１０は、高電圧レールに加えて、またはそれの代わりにメモリデバイスドライバ用に低電圧レールを生成し得ることが理解されよう。
【００６３】
図７は、メモリデバイスにてスイング制御を与えるべく、Ｉ／Ｏ電圧源を提供する外部調整器を有するシステムの実施形態のブロック図である。システム７００は、信号線７３０を通じてメモリデバイス７２０に結合するメモリコントローラまたは他のホスト回路を表すホスト７１０を含む。システム７００は、図１のシステム１００によるシステムの１つの例、および図５のシステム５００または図６のシステム６００に対する代替物となり得る。システム７００は、メモリデバイス７２０のプログラム可能ドライバが、メモリデバイスおよび関連メモリコントローラの両方から独立した電圧調整器によって生成される出力スイング制御によってプログラム可能である実施形態を表す。１つの実施形態において、電圧調整器７５０は、システム７００に既に存在し使用される調整器であり、メモリデバイス７２０用に出力電圧スイングを制御するために再利用され得る。１つの実施形態において、電圧調整器７５０は、メモリデバイス７２０用の出力電圧スイングを制御し、システム７００の１または複数の他の部分（例えば、具体的に図示されていない他の部分）によって再利用され得る。 
【００６４】
１つの実施形態において、電圧調整器７５０は、ホスト７１０のドライバと、メモリデバイス７２０のドライバとの両方に出力電圧レベルを供給する。メモリデバイス７２０に関して、電圧調整器７５０は、電圧源７４０をメモリデバイスドライバに提供し得る。１つの実施形態において、ホスト７１０はやはり、電圧調整器７５０によって提供される電圧を調整すべく、電圧調整器７１２を含む。１つの実施形態において、電圧調整器７５０の使用により、内部電圧調整器からの電圧レベルの直接供給とは対照的に、ホスト７１０にメモリデバイスドライバの出力電圧を間接的に供給させるように見なされ得る。直接供給のケース（例えば、システム６００など）か、間接供給のケースのどちらかにおいて、ホスト７１０にメモリデバイスの出力ドライバに対する電圧を供給させることは、独立した出力スイングを可能にし得、ホスト側でのより良好な受信に起因してはるかに低い読み取りスイングを可能にする。１つの実施形態において、電圧源７４０は、ホスト７１０の出力ドライバに印加される同じ電圧レベルである。１つの実施形態において、電圧源７４０は、ホスト７１０の出力ドライバに印加される電圧とは異なる。
【００６５】
上記に説明されたことと同様に、ホスト７１０は、ＰＭＯＳプルアップドライバアーキテクチャおよびＮＭＯＳプルダウンドライバアーキテクチャを含み得る一方、メモリデバイス７２０は、ＮＭＯＳプルアップドライバアーキテクチャおよびＮＭＯＳプルダウンドライバアーキテクチャを含み得る。これらのアーキテクチャは例示に過ぎず、他のアーキテクチャが使用され得ることは、理解されよう。また、電圧源７４０は、メモリデバイスドライバによって使用される高電圧レールとして示されるが、ホスト７１０は、高電圧レールに加えて、またはそれの代わりに、メモリデバイスドライバ用の低電圧レールを生成し得ることが理解されよう。
【００６６】
図８は、メモリデバイスにてＩ／Ｏスイングを内部制御するためのプロセスの実施形態のフロー図である。１つの実施形態において、メモリデバイスは、メモリデバイスの出力ドライバの出力電圧スイングを制御すべく、プログラム可能な電圧レベルを内部生成する。メモリデバイスは、関連メモリコントローラからの制御信号に応答して電圧レベルを生成し得る。メモリデバイスは、フロー８００に従って、および本明細書に説明される任意の実施形態に従ってＩ／Ｏスイングを制御し得る。１つの実施形態において、メモリデバイスは、ホストまたは関連メモリコントローラからのメモリアクセスコマンドを受信する（８０２）。具体的には、本明細書に説明される出力スイング制御を参照して、関心のあるメモリアクセスコマンドは、ホストに提供すべく、メモリデバイスに出力ビットまたは信号を生成させる任意のコマンドである。 
【００６７】
メモリデバイスは、コマンドをデコードおよび実行する（８０４）。メモリデバイスは、ソフトウェア制御ロジックも実行し得るハードウェア制御ロジックを含み、ハードウェア制御ロジックは、ホストに送信すべく、メモリデバイスがコマンドをデコードするのを可能にし、データビットまたはビットにアクセスするために必要な信号を生成するのを可能にする。このように、メモリデバイスは、ホストに出力するビットを生成する（８０６）。制御ロジックはまた、出力データを送信するように出力ドライバのハードウェアを構成し得る。１つの実施形態において、メモリデバイスは、メモリデバイスの動作モードに基づいてホストに出力を送信する。ホストは、例えば、コマンドで、または構成設定でメモリデバイスの動作モードを制御し得る。１つの実施形態において、メモリデバイス制御ロジックは、メモリデバイスの動作モードに対応する出力電圧スイングを特定する（８０８）。ドライバまたはドライバサブシステムは、モードに従って、または送信トランザクション用に所望される出力スイングに従って出力電圧スイングを調整し得る（８１０）。メモリデバイスドライバは、調整または構成された出力電圧スイングで出力された信号線を駆動し得る（８１２）。
【００６８】
図９は、メモリデバイスのＩ／Ｏスイングを外部制御するプロセスの実施形態のフロー図である。１つの実施形態において、メモリデバイスに関連メモリコントローラは、メモリデバイスの出力電圧スイングを制御すべく様々な動作を実行する。制御は、出力電圧スイングを制御すべく、メモリデバイスにプログラム可能な電圧レベルを内部生成させるように（例えば、電源電圧の提供、または、１または複数の信号の送信などによって）出力電圧スイングを直接構成または設定し得る。ホストは、フロー９００に従って、および本明細書に説明される任意の実施形態に従って、Ｉ／Ｏスイングを制御し得る。１つの実施形態において、ホストはメモリデバイス向けに所望されるＩ／Ｏスイングを特定する（９０２）。所望されるＩ／Ｏスイングは、メモリデバイス用のＩ／Ｏモードに従い得る。１つの実施形態において、出力スイングモードへの言及は、メモリデバイスに所望の電圧スイング特性で出力信号を生成させる構成を指すだけである。
【００６９】
１つの実施形態において、ホストはメモリデバイス用のモードを設定する（９０４）。モードの設定は、所望のスイングをメモリデバイスに指示するレジスタの設定、またはコマンドの生成を含み得る。１つの実施形態において、モードの設定は、メモリデバイスに供給する出力電圧の生成を含み得る。１つの実施形態において、出力電圧は、インターフェースの信号線（複数可）に結合されるドライバ用にホストにて内部使用されるのと同じである。１つの実施形態において、出力電圧は、ホストドライバに印加される電圧とは異なる。１つの実施形態において、ホストは、ホストに既知の送信条件または他の条件に基づいてモードを設定する。１つの実施形態において、ホストは、メモリデバイスドライバ用に低減された電圧レールを生成および出力する（９０６）。
【００７０】
出力スイング特性が設定された状態で、ホストは、メモリアクセスコマンドをメモリデバイスに送信する（９０８）。メモリデバイスは、コマンドを受信および実行し、メモリデバイスからホストに受信されるべき出力信号を生成する。このように、ホストは、トランザクション用のメモリデバイスドライバ向けに構成されたＩ／Ｏスイングに従ってメモリデバイスから戻ったビット（複数可）を受信し得る。異なるトランザクション（ホストおよびメモリデバイス間のＩ／Ｏのやり取り）は、異なるメモリデバイスドライバモード設定または構成を有し得る。このように、出力電圧スイングは、異なるトランザクション用に異なり得る。
【００７１】
図１０は、メモリデバイスのＩ／Ｏスイング制御装置が実装され得るコンピューティングシステムの実施形態のブロック図である。システム１０００は、本明細書に説明される任意の実施形態によるコンピューティングデバイスを表し、ラップトップコンピュータ、デスクトップコンピュータ、サーバ、ゲームもしくはエンタテインメント制御システム、スキャナ、コピー機、プリンタ、ルーティングもしくはスイッチングデバイス、または他の電子デバイスであり得る。システム１０００は、処理、工程管理、およびシステム１０００に対する命令の実行を提供するプロセッサ１０２０を含む。プロセッサ１０２０は、システム１０００用の処理を提供するための任意のタイプのマイクロプロセッサ、中央処理装置（ＣＰＵ）、処理コア、または他の処理ハードウェアを含み得る。プロセッサ１０２０は、システム１０００の動作全体を制御し、１または複数のプログラム可能な汎用もしくは専用マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、プログラム可能なコントローラ、特定用途向け集積回路（ＡＳＩＣ）、プログラム可能ロジックデバイス（ＰＬＤ）等、またはそのような複数のデバイスの組み合わせであるか、またはこれらを含み得る。
【００７２】
メモリサブシステム１０３０は、システム１０００のメインメモリを表し、プロセッサ１０２０により実行されるべきコード、またはルーチンを実行するときに用いられるべき複数のデータ値のための一時的なストレージを提供する。メモリサブシステム１０３０は、リードオンリメモリ（ＲＯＭ）、フラッシュメモリ等の１または複数のメモリデバイス、１または複数の様々なランダムアクセスメモリ（ＲＡＭ）、もしくは他のメモリデバイス、またはそのようなデバイスの組み合わせを含み得る。メモリサブシステム１０３０は、特に、システム１０００において命令を実行するためのソフトウェアプラットフォームを提供するためのオペレーティングシステム（ＯＳ）１０３６を格納してホスティングする。更に、他の命令１０３８は、システム１０００のロジックおよび処理を提供するべく、メモリサブシステム１０３０から格納され、実行される。ＯＳ１０３６および命令１０３８は、プロセッサ１０２０により実行される。メモリサブシステム１０３０は、データ、命令、プログラム、または他のアイテムを格納するメモリデバイス１０３２を含む。１つの実施形態において、メモリサブシステムは、メモリコントローラ１０３４を含み、これは、メモリデバイス１０３２にコマンドを生成して発行するメモリコントローラである。メモリコントローラ１０３４がプロセッサ１０２０の物理的な一部であり得ることが理解されよう。 
【００７３】
プロセッサ１０２０およびメモリサブシステム１０３０は、バス／バスシステム１０１０に結合される。バス１０１０は、適切なブリッジ、アダプタ、および／またはコントローラにより接続された任意の１または複数の別個の物理的バス、通信ライン／インターフェース、および／またはポイントツーポイント接続を表す抽象物である。従って、バス１０１０は、システムバス、周辺構成要素相互接続（ＰＣＩ）バス、ハイパートランスポートもしくは業界標準アーキテクチャ（ＩＳＡ）バス、小型コンピュータシステムインターフェース（ＳＣＳＩ）バス、ユニバーサルシリアルバス（ＵＳＢ）、または米国電気電子学会（ＩＥＥＥ）規格１３９４バス（一般に「ファイヤワイヤ」と呼ばれる）のうちの１または複数を、例えば、含み得る。バス１０１０におけるバスは、ネットワークインターフェース１０５０におけるインターフェースにも対応し得る。 
【００７４】
また、システム１０００は、バス１０１０に結合された１または複数の入力／出力（Ｉ／Ｏ）インターフェース（複数可）１０４０、ネットワークインターフェース１０５０、１または複数の内部大容量ストレージデバイス（複数可）１０６０、および周辺インターフェース１０７０も含む。Ｉ／Ｏインターフェース１０４０は１または複数のインターフェースコンポーネントを含み得、ユーザはこれを介してシステム１０００とインタラクトする（例えば、ビデオ、オーディオ、および／または英数字のインターフェース）。ネットワークインターフェース１０５０は、１または複数のネットワークを通じて複数のリモートデバイス（例えば、複数のサーバ、他のコンピューティングデバイス）と通信する能力をシステム１０００に提供する。ネットワークインターフェース１０５０は、イーサネット（登録商標）アダプタ、無線相互接続コンポーネント、ＵＳＢ（ユニバーサルシリアルバス）、または他の有線もしくは無線規格ベースのインターフェースまたは独自のインターフェースを含み得る。
【００７５】
ストレージ１０６０は、１または複数の磁気、ソリッドステートもしくは光学ベースのディスク、または組み合わせ等の不揮発性の態様で大量のデータを格納する任意の従来媒体であるか、またはこれらを含み得る。ストレージ１０６０は、コードまたは命令およびデータ１０６２を永続的状態に保つ（すなわち、値はシステム１０００への電力の遮断にもかかわらず保持される）。ストレージ１０６０は一般的には「メモリ」と見なされ得るが、メモリ１０３０は命令をプロセッサ１０２０に提供する実行メモリまたは動作メモリである。ストレージ１０６０は不揮発性であるが、メモリ１０３０は揮発性メモリ（すなわち、システム１０００への電力が遮断されると、データの値または状態が不定になる）を含み得る。
【００７６】
周辺インターフェース１０７０は、具体的に上述されない任意のハードウェアインターフェースを含み得る。一般に、周辺機器は、従属的にシステム１０００を接続するデバイスを指す。従属的接続は、動作が実行され、ユーザがインタラクトするソフトウェアおよび／またはハードウェアプラットフォームを、システム１０００が提供する接続である。
【００７７】
１つの実施形態において、メモリサブシステム１０３０は、プログラム可能な出力ドライバを有するメモリデバイス１０３２を含む。プログラム可能な出力ドライバは、メモリデバイス１０３２が、出力ドライバの構成に応じて、異なる電圧スイングで出力を生成するのを可能にする。１つの実施形態において、メモリデバイス１０３２は、スイング制御として使用する出力電圧を生成する。１つの実施形態において、メモリコントローラ１０３４は、メモリデバイスドライバと共に使用されるメモリデバイス１０３２に出力電圧を供給する。メモリデバイスの出力ドライバ用の制御は、Ｉ／Ｏスイング制御装置１０８０によって表される。Ｉ／Ｏスイング制御装置１０８０は、メモリデバイス１０３２でのロジックを含み得る。Ｉ／Ｏスイング制御装置１０８０は、メモリコントローラ１０３４でのロジックを含み得る。Ｉ／Ｏスイング制御装置１０８０は、本明細書に説明される任意の実施形態に従ってメモリデバイスドライバ用の出力スイング制御を提供し得る。
【００７８】
図１１は、メモリデバイスのＩ／Ｏスイング制御装置が実装され得るモバイルデバイスの実施形態のブロック図である。デバイス１１００は、コンピューティングタブレット、携帯電話もしくはスマートフォン、無線機能付き電子書籍リーダ、ウェアラブルコンピューティングデバイス、または他のモバイルデバイス等のモバイルコンピューティングデバイスを表す。コンポーネントのうちの特定のものが全体として示され、そのようなデバイスの全てのコンポーネントがデバイス１１００に示されているわけではないことが理解されよう。
【００７９】
デバイス１１００はプロセッサ１１１０を含み、プロセッサ１１１０は、デバイス１１００の主要な処理動作を実行する。プロセッサ１１１０は、マイクロプロセッサ、アプリケーションプロセッサ、マイクロコントローラ、プログラム可能ロジックデバイス、または他の処理手段等の１または複数の物理的デバイスを含み得る。プロセッサ１１１０により実行される処理動作は、アプリケーションおよび／またはデバイスの機能が実行されるオペレーティングプラットフォームまたはオペレーティングシステムの実行を含む。処理動作は、人間ユーザまたは他のデバイスとのＩ／Ｏ（入力／出力）に関連する動作、電力管理に関連する動作、および／またはデバイス１１００を別のデバイスに接続することに関連する動作を含む。処理動作はまた、オーディオＩ／Ｏおよび／またはディスプレイＩ／Ｏに関連する動作も含み得る。
【００８０】
１つの実施形態において、デバイス１１００は、オーディオサブシステム１１２０を含み、オーディオサブシステム１１２０は、オーディオ機能をコンピューティングデバイスに提供することに関連したハードウェア（例えば、オーディオハードウェアおよびオーディオ回路）およびソフトウェア（例えば、ドライバ、コーデック）のコンポーネントを表す。オーディオ機能は、スピーカおよび／またはヘッドフォン出力、ならびにマイク入力を含み得る。そのような機能のためのデバイスは、デバイス１１００へ統合され、またはデバイス１１００に接続され得る。１つの実施形態において、ユーザは、プロセッサ１１１０によって受信および処理されるオーディオコマンドを提供することによって、デバイス１１００とインタラクトする。
【００８１】
ディスプレイサブシステム１１３０は、ユーザがコンピューティングデバイスとインタラクトする視覚および／または触覚ディスプレイを提供する、ハードウェア（例えば、ディスプレイデバイス）およびソフトウェア（例えば、ドライバ）のコンポーネントを表す。ディスプレイサブシステム１１３０は、ディスプレイインターフェース１１３２を含み、ディスプレイインターフェース１１３２は、ディスプレイをユーザに提供するために用いられる特定のスクリーンまたはハードウェアデバイスを含む。１つの実施形態において、ディスプレイインターフェース１１３２は、ディスプレイに関連する少なくともいくつかの処理を実行する、プロセッサ１１１０と別個のロジックを含む。１つの実施形態において、ディスプレイサブシステム１１３０は、ユーザに対して出力および入力の両方を提供するタッチスクリーンデバイスを含む。１つの実施形態において、ディスプレイサブシステム１１３０は、出力をユーザに提供する高解像度（ＨＤ）ディスプレイを含む。高解像度とは、およそ１００ＰＰＩ（ピクセル・パー・インチ）またはそれより大きな画素密度を有する表示を指し得、フルＨＤ（例えば、１０８０ｐ）、網膜ディスプレイ、４Ｋ（超高解像度もしくはＵＨＤ）、または他のもののようなフォーマットを含み得る。 
【００８２】
Ｉ／Ｏコントローラ１１４０は、ユーザとのインタラクションに関連するハードウェアデバイスおよびソフトウェアコンポーネントを表す。Ｉ／Ｏコントローラ１１４０は、オーディオサブシステム１１２０および／またはディスプレイサブシステム１１３０の一部であるハードウェアを管理するように動作し得る。更に、Ｉ／Ｏコントローラ１１４０は、デバイス１１００に接続する追加のデバイスに対する接続ポイントを図示し、ユーザはデバイス１１００を介してシステムとインタラクトし得る。例えば、デバイス１１００に取り付けられ得るデバイスとしては、マイクデバイス、スピーカもしくはステレオシステム、ビデオシステムもしくは他のディスプレイデバイス、キーボードもしくはキーパッドデバイス、またはカードリーダもしくは他のデバイス等の特定のアプリケーションと共に使用するための他のＩ／Ｏデバイスを含み得る。
【００８３】
上記のように、Ｉ／Ｏコントローラ１１４０は、オーディオサブシステム１１２０および／またはディスプレイサブシステム１１３０とインタラクトし得る。例えば、マイクまたは他のオーディオデバイスを介した入力は、デバイス１１００の１または複数のアプリケーションまたは機能に対する入力またはコマンドを提供し得る。更に、ディスプレイ出力の代わりに、またはこれに加えてオーディオ出力が提供され得る。別の例において、ディスプレイサブシステムがタッチスクリーンを含む場合、ディスプレイデバイスは、Ｉ／Ｏコントローラ１１４０によって少なくとも部分的に管理され得る入力デバイスとしても機能する。Ｉ／Ｏコントローラ１１４０によって管理されるＩ／Ｏ機能を提供すべく、デバイス１１００上に追加のボタンまたはスイッチも存在し得る。
【００８４】
１つの実施形態において、Ｉ／Ｏコントローラ１１４０は、デバイス１１００に含まれ得る加速度計、カメラ、光センサもしくは他の環境センサ、ジャイロスコープ、全地球測位システム（ＧＰＳ）、または他のハードウェア等のデバイスを管理する。入力は、直接のユーザインタラクションの一部であると共に、システムの動作に影響する、システムへの環境入力（ノイズに対するフィルタリング、輝度検出のためのディスプレイの調整、カメラのフラッシュの適用、または他の機能等）を提供することの一部であり得る。１つの実施形態において、デバイス１１００は、バッテリ電力使用量、バッテリの充電、および省電力動作に関する機能を管理する電力管理１１５０を含む。 
【００８５】
メモリサブシステム１１６０は、デバイス１１００に情報を格納するためのメモリデバイス（複数可）１１６２を含む。メモリサブシステム１１６０は、不揮発性（メモリデバイスへの電力が遮断されても状態が変化しない）および／または揮発性（メモリデバイスへの電力が遮断されると、状態が不定になる）メモリデバイスを含み得る。メモリ１１６０は、システム１１００のアプリケーションおよび機能の実行に関連するアプリケーションデータ、ユーザデータ、音楽、写真、文書、または他のデータ、ならびにシステムデータ（長期的または一時的であるかに関係なく）を格納し得る。１つの実施形態において、メモリサブシステム１１６０は、メモリコントローラ１１６４（システム１１００の制御部の一部とも見なされ得ると共に、潜在的にプロセッサ１１１０の一部と見なされる得る）を含む。メモリコントローラ１１６４は、メモリデバイス１１６２にコマンドを生成して発行するスケジューラを含む。
【００８６】
接続１１７０は、デバイス１１００が外部デバイスと通信することを可能にするハードウェアデバイス（例えば、無線および／または有線コネクタ、ならびに通信ハードウェア）およびソフトウェアコンポーネント（例えば、ドライバ、プロトコルスタック）を含む。外部デバイスは、他のコンピューティングデバイス、無線アクセスポイントまたは基地局等の別個のデバイス、ならびにヘッドセット、プリンタ、または他のデバイス等の周辺機器であり得る。 
【００８７】
接続１１７０は、複数の異なるタイプの接続を含み得る。一般化すると、デバイス１１００は、セルラー接続１１７２および無線接続１１７４と共に図示されている。セルラー接続１１７２は一般に、無線キャリアが提供するセルラーネットワーク接続を指し、例えば、ＧＳＭ（登録商標）（グローバルシステム・フォー・モバイルコミュニケーション）またはその変形規格または派生規格、ＣＤＭＡ（符号分割多重アクセス）またはその変形規格または派生規格、ＴＤＭ（時分割多重）またはその変形規格または派生規格、ＬＴＥ（ロングタームエボリューション、「４Ｇ」とも呼ばれる）またはその他のセルラー方式サービス規格を介して提供される。無線接続１１７４は、セルラーでない無線接続を指し、パーソナルエリアネットワーク（Ｂｌｕｅｔｏｏｔｈ（登録商標）など）、ローカルエリアネットワーク（ＷｉＦｉ（登録商標）など）、および／またはワイドエリアネットワーク（ＷｉＭａｘ（登録商標）など）、または他の無線通信を含み得る。無線通信は、非固体媒体を介して変調電磁放射の使用によるデータ転送を指す。有線通信は、固体通信媒体を介して存在する。 
【００８８】
複数の周辺接続１１８０は、周辺接続を行うべく、ハードウェアインターフェースおよびコネクタ、ならびにソフトウェアコンポーネント（例えば、ドライバ、プロトコルスタック）を含む。デバイス１１００は、他のコンピューティングデバイスに対する周辺機器（「ｔｏ」１１８２）であり得ると共に、それに接続された周辺機器を有するもの（「ｆｒｏｍ」１１８４）でもあり得ることが理解されよう。一般に、デバイス１１００は、デバイス１１００上のコンテンツの管理（例えば、ダウンロードおよび／またはアップロード、変更、同期）などを目的として他のコンピューティングデバイスに接続する「ドッキング」コネクタを有する。更に、ドッキングコネクタは、デバイス１１００がコンテンツの出力を制御することを可能にする特定の周辺機器、例えば、オーディオビジュアルシステムまたは他のシステムに、デバイス１１００が接続することを可能にし得る。
【００８９】
独自のドッキングコネクタまたは他の独自の接続ハードウェアに加えて、デバイス１１００は一般的または規格ベースのコネクタにより周辺接続１１８０を行い得る。一般的なタイプは、（複数の異なるハードウェアインターフェースのうちのいずれかを含み得る）ユニバーサルシリアルバス（ＵＳＢ）コネクタ、ＭｉｎｉＤｉｓｐｌａｙＰｏｒｔ（ＭＤＰ）を含むＤｉｓｐｌａｙＰｏｒｔ、高解像度マルチメディアインターフェース（ＨＤＭＩ（登録商標））、ファイヤワイヤ、または他のタイプを含み得る。
【００９０】
１つの実施形態において、メモリサブシステム１１６０は、プログラム可能な出力ドライバを有するメモリデバイス１１６２を含む。プログラム可能な出力ドライバは、メモリデバイス１１６２が、出力ドライバの構成に応じて、異なる電圧スイングで出力を生成するのを可能にする。１つの実施形態において、メモリデバイス１１６２は、スイング制御として使用する出力電圧を生成する。１つの実施形態において、メモリコントローラ１１６４は、メモリデバイスドライバと共に使用するメモリデバイス１１６２に出力電圧を供給する。メモリデバイスの出力ドライバ用の制御は、Ｉ／Ｏスイング制御装置１１６６によって表される。Ｉ／Ｏスイング制御装置１１６６は、メモリデバイス１１６２にロジックを含み得る。Ｉ／Ｏスイング制御装置１１６６は、メモリコントローラ１１６４にロジックを含み得る。Ｉ／Ｏスイング制御装置１１６６は、本明細書に説明される任意の実施形態によるメモリデバイスドライバ用の出力スイング制御を提供し得る。 
【００９１】
１つの態様において、ホストシステムとインターフェースで接続するメモリデバイスは、
メモリデバイスと、関連メモリコントローラとの間に結合される入力／出力（Ｉ／Ｏ）信号線用のＩ／Ｏ信号線インターフェースと、
メモリデバイスからＩ／Ｏ信号線を通じてメモリコントローラへのＩ／Ｏ信号線インターフェースを経由した送信用に出力電圧スイングを動的に調整するプログラム可能ドライバと
を含み、調整された出力電圧スイングは、プログラム可能ドライバの抵抗から独立する。
【００９２】
１つの実施形態において、Ｉ／Ｏ信号線インターフェースはさらに、Ｉ／Ｏ信号線を高電圧レールに終端する。１つの実施形態において、Ｉ／Ｏ信号線インターフェースはさらに、Ｉ／Ｏ信号線を低電圧レールに終端する。１つの実施形態において、Ｉ／Ｏ信号線インターフェースはさらに、Ｉ／Ｏ信号線を中間レール電圧に終端する。１つの実施形態において、Ｉ／Ｏ信号線インターフェースは、複数の異なるＩ／Ｏ信号線用の複数のＩ／Ｏ信号線インターフェースのうちの１つを備え、Ｉ／Ｏ信号線インターフェースごとにプログラム可能ドライバをさらに備え、各プログラム可能ドライバは、独立したＩ／Ｏ信号線インターフェースを経由する送信用の出力電圧スイングを個別に調整する。１つの実施形態において、プログラム可能ドライバは、内部可変電圧スイングをさらに生成する。１つの実施形態において、プログラム可能ドライバはさらに、メモリコントローラから可変電圧レールを受信する。１つの実施形態において、メモリコントローラから受信される可変電圧レールは、メモリコントローラのドライバに適用される同じ電圧レールを備える。１つの実施形態において、メモリコントローラから受信される可変電圧レールは、メモリコントローラのドライバに適用される電圧レールとは異なる電圧レールを備える。１つの実施形態において、プログラム可能ドライバは、出力電圧スイングを１ビットの粒度にて制御スイングに動的に調整する。１つの実施形態において、プログラム可能ドライバは、出力電圧スイングを１バイトの粒度にて制御スイングに動的に調整する。１つの実施形態において、プログラム可能ドライバは、出力電圧スイングを１つのデバイスの粒度にて制御スイングに動的に調整する。１つの実施形態において、プログラム可能ドライバは、出力電圧スイングを１つのバスの粒度にて制御スイングに動的に調整する。１つの実施形態において、プログラム可能ドライバは、出力電圧スイングを１つのチャネルの粒度にて制御スイングに動的に調整する。１つの実施形態において、プログラム可能ドライバはｎ型−ｎ型ドライバアーキテクチャを有する。１つの実施形態において、プログラム可能ドライバはｎ型−ｐ型ドライバアーキテクチャを有する。１つの実施形態において、プログラム可能ドライバは、ｐ型−ｐ型ドライバアーキテクチャを有する。１つの実施形態において、プログラム可能ドライバは、ｐ型−ｎ型ドライバアーキテクチャを有する。１つの実施形態において、プログラム可能ドライバは、メモリデバイスの動作モードに基づいて出力電圧スイングを動的に調整し、動作モードはメモリデバイスのモードレジスタによって設定される。１つの実施形態において、プログラム可能ドライバは、メモリデバイスの動作モードに基づいて出力電圧スイングを動的に調整し、動作モードはメモリコントローラからメモリデバイスによって受信されるコマンドによって設定される。１つの実施形態において、プログラム可能ドライバは、メモリデバイスによってＩ／Ｏ用に使用される周波数に基づいて出力電圧スイングを動的に調整する。１つの実施形態において、プログラム可能ドライバはさらに、１または複数の電圧調整器特性を動的に調整する。１つの実施形態において、１または複数の電圧調整器特性は、調整器の帯域幅を含む。１つの実施形態において、１または複数の電圧調整器特性は、調整器の効率を含む。１つの実施形態において、１または複数の電圧調整器特性は、非線形制御を含む。１つの実施形態において、１または複数の電圧調整器特性は、低負荷電力管理を含む。１つの実施形態において、ドライバは、電圧モードドライバである。 
【００９３】
１つの態様において、メモリサブシステムを有する電子デバイスは、
メモリデバイスであって、メモリデバイスと、関連メモリコントローラとの間に結合される入力／出力（Ｉ／Ｏ）信号線用のＩ／Ｏ信号線インターフェース、およびメモリデバイスからＩ／Ｏ信号線を通じてメモリコントローラへのＩ／Ｏ信号線インターフェースを経由した送信用に出力電圧スイングを動的に調整するプログラム可能ドライバであって、調整された出力電圧スイングは、プログラム可能ドライバの抵抗から独立するプログラム可能ドライバを含むメモリデバイスと、
メモリデバイスからアクセスされたデータに基づいて表示を生成するように結合されるタッチスクリーンディスプレイと
を備える。ホストシステムとインターフェースで接続するためのメモリデバイスに関して説明される任意の実施形態はまた、電子デバイスに適用され得る。 
【００９４】
１つの態様において、メモリサブシステムにインターフェースで接続するための方法は、メモリデバイスと、関連メモリコントローラとの間に結合される入力／出力（Ｉ／Ｏ）信号線用のＩ／Ｏ信号線インターフェースを経由して出力するビットを生成する工程と、電源電圧に基づいてＩ／Ｏ信号線インターフェースを経由するビットの送信のために出力電圧スイングを動的に調整する工程と、動的に調整される出力電圧スイングとのＩ／Ｏ信号線インターフェースを駆動する工程とを含む。 
【００９５】
１つの実施形態において、Ｉ／Ｏ信号線インターフェースはさらに、高電圧レール、低電圧レールおよび中間レール電圧のうちの１つに終端される。１つの実施形態において、出力電圧スイングを動的に調整する工程は、メモリデバイスの異なるＩ／Ｏ信号線インターフェースの電圧スイングとは異なる出力電圧スイングに出力電圧スイングを調整する工程を含む。１つの実施形態において、電源電圧に基づいた出力電圧スイングを動的に調整する工程は、電源電圧を低減された電圧スイングに内部調整する工程を含む。１つの実施形態において、電源電圧に基づいた出力電圧スイングを動的に調整する工程は、メモリコントローラから可変電圧レールを受信する工程を含む。１つの実施形態において、電源電圧に基づいた出力電圧スイングを動的に調整する工程はさらに、メモリコントローラの信号線のドライバに適用される同じ電圧源信号である低減された電圧スイング電源電圧を受信する工程を含む。１つの実施形態において、電源電圧に基づいた出力電圧スイングを動的に調整する工程はさらに、メモリコントローラの信号線のドライバに適用される信号とは異なる電圧源信号である低減された電圧スイング電源電圧を受信する工程を含む。１つの実施形態において、出力電圧スイングを動的に調整する工程は、出力電圧スイングをビット、バイト、デバイス、バスおよびチャネルのうちの１つの制御粒度用の制御出力スイングに動的に調整する工程を含む。１つの実施形態において、プログラム可能ドライバは、ｎ型−ｎ型ドライバ、ｎ型−ｐ型ドライバ、ｐ型−ｐ型ドライバまたはｐ型−ｎ型ドライバのうちの１つから選択されるドライバアーキテクチャを有する。１つの実施形態において、出力電圧スイングを動的に調整する工程は、メモリデバイスの動作モードに基づいて出力電圧スイングを動的に調整する工程を含み、動作モードはメモリデバイスのモードレジスタによって設定される。１つの実施形態において、出力電圧スイングを動的に調整する工程は、メモリデバイスの動作モードに基づいて出力電圧スイングを動的に調整する工程を含み、動作モードはメモリコントローラからメモリデバイスによって受信されるコマンドによって設定される。１つの実施形態において、出力電圧スイングを動的に調整する工程は、メモリデバイスによってＩ／Ｏ用に使用される周波数に基づいて出力電圧スイングを動的に調整する工程を含む。１つの実施形態において、出力電圧スイングを動的に調整する工程はさらに、調整器の帯域幅、調整器の効率、非線形制御または低負荷電力管理を含む、１または複数の電圧調整器特性を動的に調整する工程を含む。
【００９６】
１つの態様において、機械によって実行される場合、メモリサブシステムにインターフェースで接続するための方法を実行すべく動作を実行する、その上に格納されるコンテンツを有するコンピュータ可読記憶媒体を備える製造物品であって、その方法は、メモリデバイスと、関連メモリコントローラとの間に結合される入力／出力（Ｉ／Ｏ）信号線用のＩ／Ｏ信号線インターフェースを経由して出力するビットを生成する工程と、電源電圧に基づいてＩ／Ｏ信号線インターフェースを経由するビットの送信のために出力電圧スイングを動的に調整する工程と、動的に調整される出力電圧スイングとのＩ／Ｏ信号線インターフェースを駆動する工程とを含む。ホストシステムとインターフェースで接続するための方法に関して説明される任意の実施形態はまた、製造物品に適用され得る。
【００９７】
１つの態様において、メモリサブシステムにインターフェースで接続するための装置は、メモリデバイスと、関連メモリコントローラとの間に結合される入力／出力（Ｉ／Ｏ）信号線用のＩ／Ｏ信号線インターフェースを経由して出力するビットを生成するための手段と、電源電圧に基づいてＩ／Ｏ信号線インターフェースを経由するビットの送信のために出力電圧スイングを動的に調整する手段と、動的に調整される出力電圧スイングとのＩ／Ｏ信号線インターフェースを駆動するための手段とを含む。ホストシステムとインターフェースで接続するための方法に関して説明される任意の実施形態はまた、装置に適用され得る。
【００９８】
本明細書において図示される複数のフロー図は、一連の様々なプロセス動作の例を提供する。フロー図は、ソフトウェアまたはファームウェアルーチンにより実行されるべき動作、ならびに物理的動作を示し得る。１つの実施形態において、フロー図は、ハードウェアおよび／またはソフトウェアの形で実装され得る有限ステートマシン（ＦＳＭ）の状態を示し得る。特定のシーケンスまたは順序で示されているが、別途指定されない限り、動作の順序は変更され得る。このように、図示される実施形態は、例としてのみ理解されるべきであり、プロセスは異なる順序で実行され得、いくつかの動作は並行して実行され得る。更に、１または複数の動作は、様々な実施形態において省略され得る。従って各実施形態において、全ての動作が必要とされるわけではない。他のプロセスフローも可能である。 
【００９９】
様々な動作または機能が本明細書に説明される限りにおいて、動作または機能は、ソフトウェア、コード、命令、構成、および／またはデータとして説明され、または定義され得る。コンテンツは、直接に実行可能なもの（「オブジェクト」または「実行可能な」形式）、ソースコード、または差分コード（「デルタ」または「パッチ」コード）であり得る。本明細書に説明される実施形態におけるソフトウェアコンテンツは、コンテンツがその上に格納された製造物品、または通信インターフェースを介してデータを送信するように通信インターフェースを動作させる方法により提供され得る。機械可読記憶媒体は、説明される機械に機能または動作を実行させ得、記録可能／記録不可能な媒体（例えば、リードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスクストレージ媒体、光記憶媒体、フラッシュメモリデバイスなど）のような機械（例えば、コンピューティングデバイス、電子システムなど）によりアクセス可能な形態で情報を格納する任意の機構を含む。通信インターフェースは、メモリバスインターフェース、プロセッサバスインターフェース、インターネット接続、ディスクコントローラなどのような別のデバイスに通信するハードワイヤード、無線、光などの媒体のいずれかにインターフェースで接続する任意の機構を含む。通信インターフェースは、構成パラメータを提供し、および／または信号を送信して、通信インターフェースがソフトウェアコンテンツを記述するデータ信号を提供するように準備することにより構成され得る。通信インターフェースは、通信インターフェースに送信される１または複数のコマンドまたは信号によりアクセスされ得る。
【０１００】
本明細書に説明される様々なコンポーネントは、説明される動作または機能を実行するための手段であり得る。本明細書に説明される各コンポーネントは、ソフトウェア、ハードウェア、またはこれらの組み合わせを含む。これらのコンポーネントは、ソフトウェアモジュール、ハードウェアモジュール、専用ハードウェア（例えば、特定用途向けハードウェア、特定用途向け集積回路（ＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）など）、エンベデッドコントローラ、ハードワイヤード回路などとして実装され得る。
【０１０１】
本明細書において説明されるもの以外にも、本発明において開示される実施形態および実装に対して、それらの範囲を逸脱することなく様々な変更が行われ得る。従って、本明細書における図示および例は、限定的な意味ではなく例示の意味に解釈されるべきである。本発明の範囲は、以下の特許請求の範囲を参照することのみにより評価されるべきである。
【図１】
0006792903.tif 000002
【図２】
0006792903.tif 000003
【図３】
0006792903.tif 000004
【図４Ａ】
0006792903.tif 000005
【図４Ｂ】
0006792903.tif 000006
【図４Ｃ】
0006792903.tif 000007
【図４Ｄ】
0006792903.tif 000008
【図５】
0006792903.tif 000009
【図６】
0006792903.tif 000010
【図７】
0006792903.tif 000011
【図８】
0006792903.tif 000012
【図９】
0006792903.tif 000013
【図１０】
0006792903.tif 000014
【図１１】
0006792903.tif 000015