JP4806403B2 - コンフィグラブルな機能選択機構 - Google Patents

コンフィグラブルな機能選択機構 Download PDF

Info

Publication number
JP4806403B2
JP4806403B2 JP2007515707A JP2007515707A JP4806403B2 JP 4806403 B2 JP4806403 B2 JP 4806403B2 JP 2007515707 A JP2007515707 A JP 2007515707A JP 2007515707 A JP2007515707 A JP 2007515707A JP 4806403 B2 JP4806403 B2 JP 4806403B2
Authority
JP
Japan
Prior art keywords
function
functions
value
enabled
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007515707A
Other languages
English (en)
Other versions
JP2008502057A5 (ja
JP2008502057A (ja
Inventor
デリ、マイケル、エヌ
ストロング、ロバート、ダブリュー
ヘス、ゲアリー、エム
ブラウン、ジェフリー、ティー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2008502057A publication Critical patent/JP2008502057A/ja
Publication of JP2008502057A5 publication Critical patent/JP2008502057A5/ja
Application granted granted Critical
Publication of JP4806403B2 publication Critical patent/JP4806403B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Logic Circuits (AREA)
  • Collating Specific Patterns (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Image Analysis (AREA)

Description

本発明は、デバイスの機能をプログラミングすることおよび選択することに関する。
在庫予測、在庫管理およびストック・キーピング・ユニット(SKU)の管理は、ハードウェア技術関連の大企業にとって金銭的に大きな負担である。ハードウェア製造企業が顧客の需要に基づき所望の機能および機能の組み合わせを備える製品、つまりハードウェアを提供できるか否かには、企業が製造可能なハードウェアのSKUの個数が限られているので、限度がある。例を挙げて説明すると、チップセットの機能は通常さまざまに組み合わせることが可能で、現時点では組み合わせ毎にハードウェアのSKUを別々にする必要がある。チップセットのハードウェアSKUが別々になっているので、各SKUに対応できるよう顧客は複数のボードを保持する必要がある。さらに、専門化したマザーボードのラインのアイテムを保持し、且つチップセットの識別可能なSKU毎に在庫を管理しなければならない。ハードウェアSKUの種類が増えると、それに応じて金銭面での負担が増加する。また、在庫管理にリスクが生じるとともに複雑になってしまう。ハードウェア関連企業では現在のところ、ある1つの物理的なハードウェアSKUに関して、何通りにも選択可能且つコンフィグラブルな機能を実現することができない。このため、何通りにも選択可能且つコンフィグラブルな機能を実現できる物理的なハードウェアSKUを提供することができれば、大きな効果があると考えられる。このような構成が可能となればハードウェア関連企業は、現在のSKU方法ではコスト面または在庫管理の複雑さのため実現不可能であったが、何通りにも選択可能且つコンフィグラブルな機能およびその組み合わせに割り当てられた値を取得できる。
本発明を例に基づいて説明する。本発明は添付の図面によって限定されるものではない。添付図面では、同様の構成要素は同様の参照符号を用いて示している。以下に図面を簡単に説明する。
一実施形態に係るコンピュータシステムを示すブロック図である。
一実施形態に係る機能選択機構を示す回路図である。
別の実施形態に係る機能選択機構を示す回路図である。
一実施形態に係る機能選択機構の出力結果の例を示す。
一実施形態に係る、デバイス上で機能をイネーブルするためのプロセスを示すフローチャートである。
一実施形態に係る、機能のイネーブルを可能にするべくデバイスを最初にプログラミングするためのプロセスを示すフローチャートである。
一実施形態に係る、機能選択レジスタおよび機能許可指示子に基づきデバイスの機能をイネーブルするためのプロセスを示すフローチャートである。
一実施形態に係る、デバイス機能カウンタの値が最大許容機能数を超えているか判定するためのプロセスを示すフローチャートである。
コンフィグラブルな機能選択機構の実施形態を開示する。以下の説明においては、具体的且つ詳細な記載が多くある。しかし、以下に開示する具体的且つ詳細な記載に基づかなくとも実施例を実現できるのは明らかである。また、公知の素子、仕様およびプロトコルについては、本発明の説明があいまいになるのを避けるべく、詳細な説明を省略している。
図1は、一実施形態に係るコンピュータシステムを示すブロック図である。該コンピュータシステムは、プロセッサ100、メモリコントローラハブ(MCH)102およびI/Oコントローラハブ(ICH)108を備えるとしてもよい。MCH102およびICH108はチップセットを有するとしてもよい。プロセッサ100はホストバスを介してMCH102に接続されるとしてもよい。MCH102はシステムメモリ104に接続されるとしてもよい。ほかの実施形態においては、システムメモリはSDRAM(Synchronous Dynamic Random Access Memory)、DDR−SDRAM(Double Data Rate SDRAM)、RDRAM(RAMBUS DRAM)と初めとするメインシステムメモリのフォーマットであってもよい。MCH102はさらに、グラフィクスモジュール106に接続されるとしてもよい。一実施形態に係るグラフィクスモジュールは、AGP(Accelerated Graphics Port)グラフィクスカードであってもよい。ICH108は、I/Oバス110、ハードドライブ112、キーボードコントローラ114およびマウスコントローラ116に接続されるとしてもよい。別の実施形態によると、ICH108はさらに、1以上のI/Oデバイス、バスおよび/またはコントローラ(例えば、RAID(Redundant Array of Independent Disks)コントローラ)、PCI(周辺機器インターフェース)バス、もしくはUSB(Universal Serial Bus)などに接続されるとしてもよい。別の実施形態によると、ICH108はさらに複数の機能を内部に持つとしてもよい。例を挙げると、内部高解像度音声機能およびバッテリー寿命を延ばすために携帯可能プラットフォームで利用される電力管理機能などがある。
一実施形態に係るICH108は、システム初期化中においてある機能のイネーブルが許可されているかどうか判定する上で用いられる、プログラム可能な機能許可指示子(FPD)118を有するとしてもよい。一実施形態によると、FPDはICH108内のレジスタに格納される1ビットの値であってもよい。一実施形態によると、レジスタに格納される1ビットのFPDの値は一度に限ってプログラム可能で、その後はプログラミングされた値に永久に固定される。本実施形態では、この値はプログラミングされると(対応するビットの値を用いて)レジスタビットラインにヒューズを接続することによって固定されるとしてもよい。この時、ヒューズは閉じたままとしてもよいし、最初のプログラミング中にビットの値によってはヒューズを開けるとしてもよい。
一実施形態によると、FPD118に対応付けられたビットの値が「非選択」に永久にプログラミングされている場合(つまり、機能のイネーブルを許可することが禁止された場合)、FPD118に対応付けられた機能は永久にディセーブルとなる。一方、この実施形態において、FPD118に対応付けられたビット値が「選択」に永久にプログラミングされている場合(つまり機能をイネーブルする許可が与えられている場合)、FPD118に対応付けられた機能は、その後実施されるシステム初期化においてイネーブルされるとしてもよい。一実施形態によると、ある機能に対応付けられたFPD118が「選択」を示す場合、電源オフイベント後にシステムが起動する時にこの機能がイネーブルされるとしてもよい。別の実施形態によると、この機能が「選択」されている場合、この機能はリアルタイムでクロックを機能させているバッテリーバックアップがディセーブルされた後に初期化が行われた場合に限りイネーブルされるとしてもよい。別の実施形態では、ICH108は機能イネーブルレジスタ(FER)120を有するとしてもよい。FER120は、各機能をイネーブルするべくシステム起動中にBIOS(基本入出力システム)およびソフトウェアを初めとするプログラミング機構によってプログラミングされる。一実施形態によると、FER120はハードウェアストラップによって、ある値に永久にプログラミングされるとしてもよい。ハードウェアストラップはビット信号であり、初期化中(つまり起動中)のある時点において該ビット信号の論理値に基づきハードウェアのあるビットを設定するデバイス内のピンを介して送信される。
一実施形態によると、各機能はFER120内で1ビットと対応付けられている。別の実施形態によると、1つの機能について複数のレベルの機能性を与えるべく、FER120内で複数のビットに対応付けられる機能があってもよい。一実施形態によると、ICH108に対応付けられた機能が複数ある。本実施形態によると、FPD118の値はそれぞれFPD118のレジスタに格納され、FER120はFPD118の値それぞれに対して対応するビット(および対応する値)を持つ。機能選択機構はFPD118の値とFER120の値を比較し、「選択」され且つ後にシステム内でイネーブルされる機能はどれかを判定する。このため、ある機能に対応するFPD118の値が選択されている(つまりイネーブルが許可されている)場合、この機能に対応するFER120の値が、システム初期化中に該機能をイネーブルすべく変更されるとしてもよい。このため一実施形態によると、この機能がイネーブルされるのは、FPD118の値と対応するFER120のビットの値が両方とも1という論理値である場合となる。ICH108内のFPD118およびFER120用の論理回路はソフトウェア機能セレクタ(SFS)と呼ばれる。これは、この論理回路が、BIOSやソフトウェアなどのプログラミング機構を用いてシステム初期化中に機能をイネーブルおよびディセーブルすることができるためである。
図2は、一実施形態に係る機能選択機構を示す回路図である。まず、原機能(つまり、機能)ディセーブル値(入力202)が論理ORゲート212に入力され、SFS出力(出力210)との間で論理和(OR)をとる。このため、機能ディセーブル値(入力202)が論理値1であれば、論理ORゲート212は1を出力するので、該機能は自動的にディセーブルされる。
最初のFPDプログラミング(上述の記載を参照のこと)が完了すると、機能に対応付けられたあるFPDの値(入力204)がSFS200に入力される。このFPDの値(入力204)は論理NANDゲート208に入力され、対応するFERの値(入力206)との間で否定積(NAND)をとる。このFERの値(入力206)は、該機能をイネーブルもしくはディセーブルするべくシステム初期化中に変更されるとしてもよい。SFS出力(出力210)は論理ORゲート212に入力される。最後に、機能選択機構の出力値214は論理ORゲート212から出力される。このように、本実施形態によると、該機能がイネーブルされるのは、FPDの値(入力204)および対応するFERの値(入力206)がともに論理値1であって、機能ディセーブル値(入力202)が論理値0の場合に限られる。機能選択機構の出力値214の例を表1に示す。
Figure 0004806403
図3は、別の実施形態に係る機能選択機構を示す回路図である。この実施形態によると、SFS300に入力されるFPDの値(入力304)によって、SFS300がイネーブルもしくはディセーブルされるかどうか決まる。まず、原機能(つまり、機能)ディセーブル値(入力302)が論理ORゲート314に入力され、SFS出力(出力312)との間で論理和(OR)をとる。このため、機能ディセーブル値(入力302)が論理値1であれば、論理ORゲート314は論理値1を出力するので、該機能は自動的にディセーブルされる。
最初のFPDプログラミング(上述の説明を参照のこと)が完了すると、機能に対応付けられたFPDの値(入力304)がSFS300に入力される。FPDの値(入力304)が論理ANDゲート310に入力され、インバータ308によって反転された対応するFERの値(入力306)との間で論理積(AND)をとる。このFERの値(入力306)は、該機能をイネーブルもしくはディセーブルするべくシステム初期化中に変更されるとしてもよい。SFSの出力(出力312)は論理ORゲート314に入力される。最後に、機能選択機構の出力値316が論理ORゲート314から出力される。上述したように、本実施形態では、SFS300がFPDの値(入力304)によってイネーブルもしくはディセーブルされる。このように、FPDの値(入力304)が論理値0として入力されるとSFS300はディセーブルされ、該機能がイネーブルされるかディセーブルされるかは機能ディセーブル値(入力302)によって制御される。機能選択機構の出力値316の例を表2に示す。
Figure 0004806403
図1に戻って、一実施形態によると、ICH108はプログラム可能な機能カウンタ指定子(FCD)フィールド122を有するとしてもよい。この実施形態によると、FCD122は、ICH108が同時にイネーブルできる機能の最大数に等しい数値に設定されるとしてもよい。一実施形態によると、FCD122は、ICH108内のレジスタにある数値によって表されるとしてもよい。一実施形態によると、このレジスタに格納された数値は一度に限ってプログラム可能で、その後はプログラミングされた値に永久に固定される。一実施形態では、この値はプログラミングされると(対応するビットの値を用いて)各レジスタビットラインにヒューズを接続することによって固定されるとしてもよい。この時、ヒューズは閉じたままとしてもよいし、レジスタの最初のプログラミング中にビット値によってはヒューズを開けるとしてもよい。一実施形態によると、FCD122の値は3ビットの値で、0から7までの機能カウントを示すとしてもよい。別の実施形態によると、FCD122の値はICH108に対応付けられた機能すべてを計数するために必要なビット数を持つ。
一実施形態によると、FCD122の値を用いてICH108上の選択される機能の数を限定するとしてもよい。このためこの実施形態では、システム初期化中にFCD122の値と選択された機能の総数(つまり論理値が1に設定されたFPDの数)を比較し、選択された機能の総数がFCD122の値より大きければ、すべての機能をディセーブルする。別の実施形態によると、システム初期化中にFCD122の値とイネーブルされた機能の総数(つまり、論理値が1に設定されたFER120のビットの数)を比較し、イネーブルされた機能の総数がFCD122の値より大きければ、すべての機能をディセーブルする。この実施形態によると、システムは最初すべての機能を許可するようにプログラミングされ(つまり、すべてのFPDの値を論理値1に最初にプログラミングすることによってすべての機能を「選択」する)、後でシステム初期化を実行するたびにイネーブルされる機能の数を限定するとしてもよい。例えば、ICH108において許可された機能が3つあり(RAID、SCSIおよびUSB)、FCD122の値が2に固定されている場合、システム初期化においてはこの3つの機能のうち2つ(つまり、RAIDとSCSI、RAIDとUSBもしくはSCSIとUSB)を選択し、3つすべてが選択されないとしてもよい。このため、この実施形態によるとシステム初期化においてカスタムプログラミングを実行することができるが、許可された機能の数を超えていればすべての機能をディセーブルすることもできる。
別の実施形態によると、システム初期化中にFCD122の値はイネーブルされた機能の総数(つまり、論理値が1であるFER120のビットの数)と比較され、イネーブルされた機能の総数がFCD122の値より大きければ、FER120のビットの総数がFCD122の値以下になるようにいくつかの機能をディセーブルする。一実施形態によると、ICH108の一連の機能には優先順位が付けられ、優先順位に従ってディセーブルされる。
一実施形態によると、1つの機能はFER120のビットのうち2つ以上に対応付けられるとしてもよい。この実施形態によると、ICH108上の機能に割り当てられる値の付け方は異なるとしてもよい。例えば、RAIDの機能はSCSIの機能に比べ、2倍の値が割り当てられるとしてもよい。このため、SCSIの機能に対応付けられたFER120のビットの数は1個である一方、RAIDの機能に対応付けられたFER120のビットの数は2個であるとしてもよい。この実施形態によると、各機能に対応付けられたFER120のビットの数に応じて、その機能機能クレジット値が決まる。このようにしてこの実施形態によると、システム初期化中にすべてのイネーブルされた機能に対応付けられたクレジットの総数が加算され、加算結果とFCD122の値を比較する。クレジットの総数がFCD122の値より大きい場合は、すべての機能をディセーブルする。別の実施形態によると、クレジットの総数がFCD122の値より大きい場合には、1以上の機能をディセーブルする。
図4は、一実施形態に係る、機能選択機構の出力結果を例示する。FPDビットの値を格納するFPDレジスタ400は、後にFER402によってイネーブルされる可能性がある機能を選択するべく、不変の値にプログラミングされるとしてもよい。イネーブルされる機能は、「選択」され(つまり、FPDビットが論理値1を示す)且つ「イネーブル」されている(つまり、FERビットが論理値1を示す)。このためこの例によると、イネーブルされる機能は、結果を示す列404で論理値1と対応付けられている、PCI、USB、SATA(Serial Advance Technology Attachment)である。また、FCD406は3ビットの値で示されている。本例ではこの3ビットの値は2進法で1−0−1となっており、10進法では5となる。このような構成とすると、FPDレジスタ400もFER402でも論理値1を示すビットの数が5を超えていないので、FCDに関連するどちらの実施形態の場合も(上述の記載を参照のこと)、上述のイネーブルされた機能のイネーブル状態を維持する。
図5は、一実施形態に係る、デバイス上の機能をイネーブルするためのプロセスを示すフローチャートである。このプロセスは、ハードウェア(回路、専用ロジックなど)、ソフトウェア(汎用コンピュータシステムまたは専用マシンで実行されるもの)もしくは両者の組み合わせを備える処理ロジックによって実行される。図5に示すように、このプロセスは処理ロジックがデバイス上の機能のイネーブルまたはディセーブルが許可されているかどうかを判定することから始まる(処理ブロック500)。続いて、該機能のイネーブル/ディセーブルが許可されていないと判定した場合、処理ロジックは該デバイス機能のイネーブル/ディセーブルを許可しない(つまり、禁止する)(処理ブロック506)。一方、該機能のイネーブル/ディセーブルが許可されていると判定した場合、処理ロジックはデバイス上でイネーブルされた機能の総数がデバイス上での最大許容機能数未満であるかどうか判定する(処理ブロック502)。デバイス上でイネーブルされた機能の総数がデバイス上での最大許容機能数より大きいと判定した場合、処理ロジックは該デバイス機能のイネーブル/ディセーブルを許可しない(処理ブロック506)。一方、デバイス上でイネーブルされた機能の総数がデバイス上での最大許容機能数未満と判定した場合、処理ロジックは該デバイス機能のイネーブル/ディセーブルを許可する(処理ブロック504)。
図6は、一実施形態に係る、機能のイネーブルを許可すべくデバイスをプログラミングするためのプロセスを示すフローチャートである。このプロセスは、ハードウェア(回路、専用ロジックなど)、ソフトウェア(汎用コンピュータシステムまたは専用マシンで実行されるもの)もしくは両者の組み合わせを備える処理ロジックによって実行される。図6に示すように、このプロセスは処理ロジックがデバイスのFPDをプログラミングすることから始まる(処理ブロック600)。一実施形態によると、各FPDは1つのデバイス機能と対応付けられている。FPDの値が論理値1であれば、処理ロジックは、対応付けられたデバイスのイネーブルを許可する。一方、FPDの値が論理値0であれば、処理ロジックは、対応付けられたデバイスのイネーブルを禁止する。一実施形態によると、FPDの値は一度に限ってプログラム可能で、その後はプログラミングされた値に永久に固定される。
このプロセスでは続いて、処理ロジックがデバイスのFCDをプログラミングする(処理ブロック602)。一実施形態によると、FCDはデバイスが同時にイネーブルしておける機能の最大数に等しい数値に設定されるとしてもよい。一実施形態によると、レジスタに格納されたこの数値は一度に限ってプログラム可能で、その後はプログラミングされた値に永久に固定される。
図7は、一実施形態に係る、機能イネーブルレジスタ(FER)と機能許可指定子(FPD)に基づきデバイス上の機能をイネーブルするためのプロセスを示すフローチャートである。このプロセスは、ハードウェア(回路、専用ロジックなど)、ソフトウェア(汎用コンピュータシステムまたは専用マシンで実行されるもの)もしくは両者の組み合わせを備える処理ロジックによって実行される。図7に示すように、このプロセスは、FERがデバイス機能のイネーブルを要求しているかどうか処理ロジックが判定することから始まる(処理ブロック700)。一実施形態によると、処理ロジックは、このデバイス機能に対応付けられたFERのビットの値が論理値1であるか論理値0であるかを判定する。論理値0である場合は、該機能のイネーブルに対する要求はなく、プロセスは終了する。一方、論理値1である場合、処理ロジックは、FPDがデバイス機能のイネーブルを許可しているかどうか判定する(処理ブロック702)。一実施形態によると、処理ロジックは、このデバイス機能に対応付けられたFPDの値が論理値1であるか論理値0であるかを判定する。論理値1の場合、処理ロジックはこのデバイス機能をイネーブルする(処理ブロック704)。一方論理値0の場合は、このデバイス機能をイネーブルしない(処理ブロック706)。
図8は、一実施形態に係る、デバイス機能カウンタの値が最大許容機能数を超えているかどうか判定するためのプロセスを示すフローチャートである。このプロセスは、ハードウェア(回路、専用ロジックなど)、ソフトウェア(汎用コンピュータシステムまたは専用マシンで実行されるもの)もしくは両者の組み合わせを備える処理ロジックによって実行される。図8に示すように、このプロセスは、処理ロジックがデバイス上のイネーブルされた機能の総数を特定することから始まる(処理ブロック800)。処理ロジックは続いて、FCDの値を特定する(処理ブロック802)。
処理ロジックは続いて、イネーブルされた機能の総数とFCDの値を比較する(処理ブロック804)。イネーブルされた機能の総数がFCDの値を超えていない場合、処理ロジックはイネーブルされた機能をそのままイネーブル状態で維持することを許可する(処理ブロック806)。一方イネーブルされた機能の総数がFCDの値を超える場合、処理ロジックはすべてのイネーブルされた機能をディセーブルする(処理ブロック808)。
上述した実施形態の多くでは、発明の対象であるデバイスの例としてICHを挙げている。しかし上述した実施形態で意味するデバイスは、変更可能な機能を備えるデバイスであればどのタイプのものであってもよい。例を挙げると、MCHおよびプロセッサを初めとする集積回路デバイスがある。さらに、実施形態によっては、FPD、FSRおよびFCDの値は変更可能な機能を備えるデバイス上に格納されない。このような実施形態においては、FPD、FSRおよびFCDの値を、該デバイスを備えるシステム中の第2デバイスもしくは不揮発性ストレージに格納する。
以上では、本発明の実施形態に係るプログラム可能な機能選択機構を開示している。上述の実施形態は具体的な例に基づいて説明されている。しかし、本明細書で開示した実施形態の目的および範囲から離れることなく上述の実施形態をさまざまに変更できることは明らかである。従って、本明細書および添付の図面は本発明を説明するためのものであって、限定するものではないと解釈されるべきである。

Claims (12)

  1. 方法であって
    デバイスの機能カウント指定子レジスタに、前記デバイスで同時にイネーブルできる機能の最大数である最大許容機能数を指定する段階と、
    前記デバイスの機能のイネーブルが許可されているかどうかを表す2進値を格納する前記デバイスの機能許可レジスタをチェックして、前記デバイスの機能のイネーブルが許可されているか判定する段階と、
    前記デバイスの各機能をクレジット値と対応付ける段階と、
    イネーブルされた全ての機能にそれぞれ対応付けられた前記クレジット値を加算する段階と、
    前記デバイス上でイネーブルされた機能の総数が前記デバイスの前記指定された最大許容機能数を超えているか、前記イネーブルされた全ての機能にそれぞれ対応付けられた前記クレジット値の加算値が前記指定された最大許容機能数を超えている場合、1以上のデバイス機能をディセーブルする段階と
    を含み、
    前記デバイスの機能のうち少なくともいずれかの機能は、他の機能に対応付けられた前記クレジット値とは異なるクレジット値が対応づけられ、
    前記デバイスの最大許容機能数は、前記デバイスの機能カウント指定子レジスタにプログラミングされた値であり、
    前記機能許可レジスタおよび前記機能カウント指定子レジスタは、1度に限ってプログラミング可能であり、プログラミングされた後はそれぞれの値にすべく永久的に配線接続される
    方法。
  2. 前記デバイス上でイネーブルされた機能の総数が前記デバイスの前記指定された最大許容機能数を超えている場合、すべてのデバイス機能をディセーブルする段階
    をさらに含む請求項1に記載の方法。
  3. 前記最大許容機能数を示す情報を前記デバイスのレジスタに格納する段階
    をさらに含む請求項またはに記載の方法。
  4. 前記デバイスはI/Oコントローラハブをさらに備える
    請求項からのいずれか一項に記載の方法。
  5. 前記デバイスはメモリコントローラハブをさらに備える
    請求項からのいずれか一項に記載の方法。
  6. 前記デバイスは中央演算処理装置をさらに備える
    請求項からのいずれか一項に記載の方法。
  7. 方法であって、
    デバイス上で1以上の機能のイネーブルが許可されているかどうか指定するべく、前記デバイスの機能のイネーブルが許可されているかどうかを表す2進値を格納する前記デバイスの1以上の機能許可レジスタに、各デバイス機能と対応付けられている値をプログラミングする段階と、
    前記デバイスで同時にイネーブルできる機能の最大数である最大許容機能数を指定するべく、前記デバイス上の機能カウンタレジスタに値をプログラミングする段階と、
    各デバイス機能に対応付けられた前記機能許可レジスタの値によって当該機能のイネーブルが許可されている場合に、デバイス初期化における当該機能のイネーブルを可能にする段階と、
    各デバイス機能をクレジット値と対応付ける段階と、
    イネーブルされた全ての機能にそれぞれ対応付けられた前記クレジット値を加算する段階と、
    デバイス初期化によってイネーブルされたデバイス機能の総数を計数する段階と、
    前記デバイスでイネーブルされた機能の総数が前記デバイス上の前記最大許容機能数を超えているか、前記イネーブルされた全ての機能にそれぞれ対応付けられた前記クレジット値の加算値が前記最大許容機能数を超えている場合、すべてのデバイス機能をディセーブルする段階と
    を含む方法。
  8. デバイス初期化は前記デバイスの起動シーケンスをさらに含む
    請求項に記載の方法。
  9. 前記デバイスはI/Oコントローラハブをさらに備える
    請求項またはに記載の方法。
  10. 前記デバイスはメモリコントローラハブをさらに備える
    請求項からのいずれか一項に記載の方法。
  11. 前記デバイスは中央演算処理装置をさらに備える
    請求項から10のいずれか一項に記載の方法。
  12. 前記デバイスの各機能は、機能イネーブルレジスタの1以上のビットに対応付けられ、
    前記機能イネーブルレジスタの値は、前記デバイスの各機能をイネーブルまたはディセーブルするべくシステムの初期化中に変更され、
    前記デバイスの各機能に対応付けられた前記クレジット値は、各機能に対応付けられた前記機能イネーブルレジスタのビットの数によって定められる
    請求項1から11のいずれか一項に記載の方法。
JP2007515707A 2004-06-30 2005-06-28 コンフィグラブルな機能選択機構 Expired - Fee Related JP4806403B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/883,518 US7636795B2 (en) 2004-06-30 2004-06-30 Configurable feature selection mechanism
US10/883,518 2004-06-30
PCT/US2005/023540 WO2006005006A2 (en) 2004-06-30 2005-06-28 Configurable feature selection mechanism

Publications (3)

Publication Number Publication Date
JP2008502057A JP2008502057A (ja) 2008-01-24
JP2008502057A5 JP2008502057A5 (ja) 2011-03-10
JP4806403B2 true JP4806403B2 (ja) 2011-11-02

Family

ID=34982526

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007515707A Expired - Fee Related JP4806403B2 (ja) 2004-06-30 2005-06-28 コンフィグラブルな機能選択機構

Country Status (8)

Country Link
US (1) US7636795B2 (ja)
JP (1) JP4806403B2 (ja)
KR (1) KR100870291B1 (ja)
CN (1) CN1977228B (ja)
DE (1) DE112005001532B4 (ja)
GB (1) GB2429810B (ja)
TW (1) TWI299451B (ja)
WO (1) WO2006005006A2 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7417782B2 (en) * 2005-02-23 2008-08-26 Pixtronix, Incorporated Methods and apparatus for spatial light modulation
US7636795B2 (en) 2004-06-30 2009-12-22 Intel Corporation Configurable feature selection mechanism
US9229222B2 (en) 2005-02-23 2016-01-05 Pixtronix, Inc. Alignment methods in fluid-filled MEMS displays
US9082353B2 (en) 2010-01-05 2015-07-14 Pixtronix, Inc. Circuits for controlling display apparatus
US7999994B2 (en) 2005-02-23 2011-08-16 Pixtronix, Inc. Display apparatus and methods for manufacture thereof
US9087486B2 (en) 2005-02-23 2015-07-21 Pixtronix, Inc. Circuits for controlling display apparatus
US7755582B2 (en) 2005-02-23 2010-07-13 Pixtronix, Incorporated Display methods and apparatus
US7405852B2 (en) * 2005-02-23 2008-07-29 Pixtronix, Inc. Display apparatus and methods for manufacture thereof
US9158106B2 (en) 2005-02-23 2015-10-13 Pixtronix, Inc. Display methods and apparatus
US7616368B2 (en) * 2005-02-23 2009-11-10 Pixtronix, Inc. Light concentrating reflective display methods and apparatus
US8519945B2 (en) 2006-01-06 2013-08-27 Pixtronix, Inc. Circuits for controlling display apparatus
US7675665B2 (en) 2005-02-23 2010-03-09 Pixtronix, Incorporated Methods and apparatus for actuating displays
US8310442B2 (en) 2005-02-23 2012-11-13 Pixtronix, Inc. Circuits for controlling display apparatus
US20070205969A1 (en) 2005-02-23 2007-09-06 Pixtronix, Incorporated Direct-view MEMS display devices and methods for generating images thereon
US7304786B2 (en) * 2005-02-23 2007-12-04 Pixtronix, Inc. Methods and apparatus for bi-stable actuation of displays
US7742016B2 (en) * 2005-02-23 2010-06-22 Pixtronix, Incorporated Display methods and apparatus
US8159428B2 (en) * 2005-02-23 2012-04-17 Pixtronix, Inc. Display methods and apparatus
US9261694B2 (en) * 2005-02-23 2016-02-16 Pixtronix, Inc. Display apparatus and methods for manufacture thereof
US7693596B2 (en) * 2005-12-14 2010-04-06 Dell Products L.P. System and method for configuring information handling system integrated circuits
US8526096B2 (en) * 2006-02-23 2013-09-03 Pixtronix, Inc. Mechanical light modulators with stressed beams
US7876489B2 (en) * 2006-06-05 2011-01-25 Pixtronix, Inc. Display apparatus with optical cavities
TW200801897A (en) 2006-06-29 2008-01-01 Ibm Single system board with automatic feature selection based on installed configuration selection unit
JP5078332B2 (ja) * 2006-12-04 2012-11-21 キヤノン株式会社 情報処理装置、情報処理方法
US9176318B2 (en) * 2007-05-18 2015-11-03 Pixtronix, Inc. Methods for manufacturing fluid-filled MEMS displays
US8286093B2 (en) * 2008-01-09 2012-10-09 Dell Products L.P. Replacement motherboard configuration
US8248560B2 (en) 2008-04-18 2012-08-21 Pixtronix, Inc. Light guides and backlight systems incorporating prismatic structures and light redirectors
DE112008003970T5 (de) * 2008-08-05 2011-05-26 Hewlett-Packard Development Co., L.P., Houston Verfahren und Vorrichtung zum kundenspezifischen Einrichten von Software
US8169679B2 (en) 2008-10-27 2012-05-01 Pixtronix, Inc. MEMS anchors
KR101537699B1 (ko) * 2009-01-29 2015-07-20 엘지전자 주식회사 이동단말기 및 그의 디바이스 접근 제어방법
WO2011097252A2 (en) 2010-02-02 2011-08-11 Pixtronix, Inc. Methods for manufacturing cold seal fluid-filled display apparatus
US20110205756A1 (en) * 2010-02-19 2011-08-25 Pixtronix, Inc. Light guides and backlight systems incorporating prismatic structures and light redirectors
US9134552B2 (en) 2013-03-13 2015-09-15 Pixtronix, Inc. Display apparatus with narrow gap electrostatic actuators
US10585673B2 (en) 2015-02-10 2020-03-10 Hewlett Packard Enterprise Development Lp Chipset reconfiguration based on device detection
WO2016159935A1 (en) * 2015-03-27 2016-10-06 Intel Corporation Dynamic configuration of input/output controller access lanes
US10699033B2 (en) * 2017-06-28 2020-06-30 Advanced Micro Devices, Inc. Secure enablement of platform features without user intervention
AU2019208785B2 (en) 2018-01-19 2023-10-26 Evopoint Biosciences Co., Ltd. Heterocyclic compound, preparation method and use thereof in medicine
CN116074150B (zh) * 2023-03-02 2023-06-09 广东浩博特科技股份有限公司 智能家居的开关控制方法、装置以及智能家居

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816471A (ja) * 1994-06-30 1996-01-19 Mitsubishi Electric Corp メモリ装置及びキャッシュメモリ装置
JPH09305414A (ja) * 1996-05-13 1997-11-28 Casio Comput Co Ltd プロセス管理方法
JPH11261754A (ja) * 1998-01-08 1999-09-24 Fujitsu Ltd 複合機及びサーバ及び複合機・サーバシステム及びプログラム記録媒体
JPH11327919A (ja) * 1998-03-26 1999-11-30 Sun Microsyst Inc オブジェクト指向割込みシステム用の方法およびデバイス
JP2000194651A (ja) * 1998-12-25 2000-07-14 Oki Electric Ind Co Ltd 集積回路
JP2000224251A (ja) * 1998-04-27 2000-08-11 Sun Microsyst Inc メッセ―ジ格納構造内のデ―タへ高速アクセスする方法及び装置
US20020108053A1 (en) * 1999-11-25 2002-08-08 Fujitsu Limited Security apparatus and computer product
JP2003014077A (ja) * 2001-06-28 2003-01-15 Yanmar Co Ltd 油圧式無段変速装置及び動力伝達装置
JP2003122697A (ja) * 2001-10-11 2003-04-25 Sony Corp コミュニケーションシステム、コミュニケーション方法、コミュニケーションプログラム、並びに情報処理装置
JP2003140798A (ja) * 2001-11-02 2003-05-16 Casio Comput Co Ltd 表示制御装置およびプログラム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US566411A (en) 1896-08-25 Josef schoene
US5023907A (en) 1988-09-30 1991-06-11 Apollo Computer, Inc. Network license server
US4897866A (en) 1988-10-19 1990-01-30 American Telephone And Telegraph Company, At&T Bell Laboratories Telecommunication system with subscriber controlled feature modification
US5515524A (en) 1993-03-29 1996-05-07 Trilogy Development Group Method and apparatus for configuring systems
US5666411A (en) 1994-01-13 1997-09-09 Mccarty; Johnnie C. System for computer software protection
KR100391727B1 (ko) 1994-11-09 2003-11-01 소니 일렉트로닉스 인코포레이티드 메모리시스템및메모리억세싱방법
WO1997027544A1 (en) * 1996-01-24 1997-07-31 Sun Microsystems, Inc. Processor with accelerated array access bounds checking
US6397268B1 (en) * 1996-10-01 2002-05-28 Compaq Information Technologies Group, L.P. Tracking PCI bus numbers that change during re-configuration
US5889977A (en) 1996-12-13 1999-03-30 Intel Corporation Method and apparatus for ensuring feature compatability and communicating feature settings between processors and motherboards
US6357016B1 (en) * 1999-12-09 2002-03-12 Intel Corporation Method and apparatus for disabling a clock signal within a multithreaded processor
US20020133471A1 (en) * 2001-02-23 2002-09-19 Fetneh Eskandari Configuration enablement of franking system
US20030160992A1 (en) * 2002-02-28 2003-08-28 Weaver Jeffrey Scott Enabling printing features for authorized users
WO2003089084A1 (en) * 2002-04-19 2003-10-30 Walker Digital, Llc Managing features on a gaming device
EP1414233A1 (en) * 2002-05-08 2004-04-28 Broadcom Corporation System and method for configuring device features via programmable memory
US7046997B2 (en) * 2002-12-23 2006-05-16 Intel Corporation Trial upgrade capability for wireless handheld devices
US8135795B2 (en) * 2003-04-03 2012-03-13 International Business Machines Corporation Method to provide on-demand resource access
US7894348B2 (en) * 2003-07-21 2011-02-22 Qlogic, Corporation Method and system for congestion control in a fibre channel switch
US7222006B2 (en) * 2004-01-13 2007-05-22 General Motors Corporation Method for determination of pre-authorization engine operation time for a vehicle theft deterrent system
US7636795B2 (en) 2004-06-30 2009-12-22 Intel Corporation Configurable feature selection mechanism

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816471A (ja) * 1994-06-30 1996-01-19 Mitsubishi Electric Corp メモリ装置及びキャッシュメモリ装置
JPH09305414A (ja) * 1996-05-13 1997-11-28 Casio Comput Co Ltd プロセス管理方法
JPH11261754A (ja) * 1998-01-08 1999-09-24 Fujitsu Ltd 複合機及びサーバ及び複合機・サーバシステム及びプログラム記録媒体
JPH11327919A (ja) * 1998-03-26 1999-11-30 Sun Microsyst Inc オブジェクト指向割込みシステム用の方法およびデバイス
JP2000224251A (ja) * 1998-04-27 2000-08-11 Sun Microsyst Inc メッセ―ジ格納構造内のデ―タへ高速アクセスする方法及び装置
JP2000194651A (ja) * 1998-12-25 2000-07-14 Oki Electric Ind Co Ltd 集積回路
US20020108053A1 (en) * 1999-11-25 2002-08-08 Fujitsu Limited Security apparatus and computer product
JP2003014077A (ja) * 2001-06-28 2003-01-15 Yanmar Co Ltd 油圧式無段変速装置及び動力伝達装置
JP2003122697A (ja) * 2001-10-11 2003-04-25 Sony Corp コミュニケーションシステム、コミュニケーション方法、コミュニケーションプログラム、並びに情報処理装置
JP2003140798A (ja) * 2001-11-02 2003-05-16 Casio Comput Co Ltd 表示制御装置およびプログラム

Also Published As

Publication number Publication date
KR100870291B1 (ko) 2008-11-25
TWI299451B (en) 2008-08-01
CN1977228A (zh) 2007-06-06
US7636795B2 (en) 2009-12-22
JP2008502057A (ja) 2008-01-24
WO2006005006A3 (en) 2006-04-13
KR20070024677A (ko) 2007-03-02
US20060004928A1 (en) 2006-01-05
GB2429810B (en) 2007-11-28
DE112005001532B4 (de) 2010-05-20
WO2006005006A2 (en) 2006-01-12
GB2429810A (en) 2007-03-07
GB0621455D0 (en) 2006-12-13
CN1977228B (zh) 2011-06-08
TW200608262A (en) 2006-03-01
DE112005001532T5 (de) 2007-05-10

Similar Documents

Publication Publication Date Title
JP4806403B2 (ja) コンフィグラブルな機能選択機構
JP2008502057A5 (ja)
CN102567109B (zh) 中断分配方案
CN104572517B (zh) 提供被请求数据的方法、控制器以及计算机系统
US10402567B2 (en) Secure boot for multi-core processor
US7693596B2 (en) System and method for configuring information handling system integrated circuits
US20170004040A1 (en) Correcting an error in a memory device
US8683191B2 (en) Reconfiguring a secure system
US10346345B2 (en) Core mapping
EP3646224B1 (en) Secure key storage for multi-core processor
KR20060126580A (ko) 다중 버스트 프로토콜 장치 제어기
CN106233258B (zh) 可变宽度纠错
US20080082710A1 (en) System and method for managing system management interrupts in a multiprocessor computer system
GB2445303A (en) A key database for configuring integrated circuits used in information handling systems
WO2008030727A2 (en) Access control of memory space in microprocessor systems
JP7332083B2 (ja) マルチモード保護メモリ
US20170091120A1 (en) Securing Writes to Memory Modules Having Memory Controllers
US11138140B2 (en) Configuring first subsystem with a master processor and a second subsystem with a slave processor
WO2019199586A1 (en) Nop sled defense
US9684602B2 (en) Memory access control device, cache memory and semiconductor device
US20060085204A1 (en) Method and system for testing information handling system components
US11360782B2 (en) Processors to configure subsystems while other processors are held in reset
US20170220279A1 (en) Enablement of licensed features at a logical volume level of granularity
US20230259189A1 (en) System-on-Chip with DVFM Protection Circuit
US10768942B1 (en) Option ROM dispatch policy configuration interface

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091117

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100216

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100223

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100316

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100324

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100416

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100720

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101019

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101026

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101119

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101129

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101217

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101227

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20110119

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110621

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110712

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110726

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110812

R150 Certificate of patent or registration of utility model

Ref document number: 4806403

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees