(57)【特許請求の範囲】
【請求項１】
プロセッサと、前記プロセッサに接続され、かつ前記プロセッサによって使用される、複数のストレージバンクを備える揮発性ストレージデバイスとを備えるワイヤレスデバイスの電源管理のための方法であって、
前記プロセッサが動作状態にある期間中に前記揮発性ストレージデバイスに第1の電圧レベルを供給するステップと、
前記プロセッサが低電力状態にある期間中にデータを保持するために前記揮発性ストレージデバイスに第2の電圧レベルを供給するステップであって、前記第2の電圧レベルは前記第1の電圧レベルより低い、ステップと、
前記第2の電圧レベルの値を決定するステップであって、
(i)前記揮発性ストレージデバイスに前記第2の電圧レベルの初期値を供給し、
(ii)前記揮発性ストレージデバイス内のデータ誤り数を指示する結果を与えるために、前記揮発性ストレージデバイスに前記第2の電圧レベルが供給されている間に、前記揮発性ストレージデバイスのセルフテストを実行し、
(iii)前記セルフテストの前記結果をデータ誤り数のしきい値と比較し、
(iv)前記セルフテストの前記結果が前記データ誤り数のしきい値より少ないデータ誤り数を与える前記第2の電圧レベルの最小値を見つけるために、前記第2の電圧レベルを新しい値に変更し、かつ前記第2の電圧レベルの前記新しい値でステップ(i)〜(iii)を繰り返す
ことによって、前記第2の電圧レベルの値を決定するステップであって、前記複数のストレージバンクのうちの少なくとも2つのストレージバンクのストレージバンクごとの最小値を見つけるために、前記少なくとも2つのストレージバンクに対して実行される、ステップと、
前記第2の電圧レベルの前記最小値のうちの最も低い値を有する、必要とされる数のストレージバンクを選択するステップと、
前記選択されたストレージバンクを使用するステップと
を含む、方法。
【請求項２】
前記第2の電圧レベルの値を前記決定するステップは、前記ワイヤレスデバイスの初期化期間中に実行される、請求項1に記載の方法。
【請求項３】
少なくともステップ(i)〜(iii)は後の時点で繰り返され、ステップ(i)における前記第2の電圧レベルの前記初期値は、前記初期化期間中、およびステップ(i)〜(iii)の先行する繰返し中のうちの1つにおいて決定された前記第2の電圧レベルの前記値である、請求項2に記載の方法。
【請求項４】
ステップ(iv)はステップ(i)〜(iii)の繰返し前に前記第2の電圧レベルを下げ、前記第2の電圧レベルの前記最小値は、前記セルフテストの前記結果が前記データ誤り数のしきい値より低いデータ誤り数を与える最後の値である、請求項1に記載の方法。
【請求項５】
ステップ(iv)はステップ(i)〜(iii)の繰返し前に前記第2の電圧レベルを上げ、前記第2の電圧レベルの前記最小値は、前記セルフテストの前記結果が動作のための前記データ誤り数のしきい値より低いデータ誤り数を与える最初の値である、請求項1に記載の方法。
【請求項６】
ワイヤレスデバイスであって、
プロセッサと、
前記プロセッサに接続され、かつ前記プロセッサによって使用するための、複数のストレージバンクを備える揮発性ストレージデバイスと、
電源管理ユニットであって、
前記プロセッサが動作状態にある期間中に前記揮発性ストレージデバイスに第1の電圧レベルを供給することと、
前記プロセッサが低電力状態にある期間中にデータを保持するために前記揮発性ストレージデバイスに第2の電圧レベルを供給することであって、前記第2の電圧レベルは前記第1の電圧レベルより低い、供給することと、
前記第2の電圧レベルの値を決定することであって、
(i)前記揮発性ストレージデバイスに前記第2の電圧レベルの初期値を供給し、
(ii)前記揮発性ストレージデバイス内のデータ誤り数を指示する結果を与えるために、前記揮発性ストレージデバイスに前記第2の電圧レベルが供給されている間に、前記揮発性ストレージデバイスのセルフテストを実行し、
(iii)前記セルフテストの前記結果をデータ誤り数のしきい値と比較し、
(iv)前記セルフテストの前記結果が前記データ誤り数のしきい値より少ないデータ誤り数を与える前記第2の電圧レベルの最小値を見つけるために、前記第2の電圧レベルを新しい値に変更し、かつ前記第2の電圧レベルの前記新しい値でステップ(i)〜(iii)を繰り返す
ことによって、前記第2の電圧レベルの値を決定することであって、前記複数のストレージバンクのうちの少なくとも2つのストレージバンクのストレージバンクごとの最小値を見つけるために、前記少なくとも2つのストレージバンクに対して実行される、決定することと、
前記第2の電圧レベルの前記最小値のうちの最も低い値を有する、必要とされる数のストレージバンクを選択することと、
前記選択されたストレージバンクを使用することと
を行うように構成される電源管理ユニットと
を備える、ワイヤレスデバイス。
【請求項７】
前記電源管理ユニットは、その初期化期間中に前記第2の電圧レベルの値を決定するように構成される、請求項6に記載のワイヤレスデバイス。
【請求項８】
前記電源管理ユニットは、後の時点で少なくともステップ(i)〜(iii)を繰り返すように構成され、ステップ(i)における前記第2の電圧レベルの前記初期値は、前記初期化期間中、およびステップ(i)〜(iii)の先行する繰返し中のうちの1つにおいて決定された前記第2の電圧レベルの前記値である、請求項7に記載のワイヤレスデバイス。
【請求項９】
前記電源管理ユニットは、ステップ(iv)がステップ(i)〜(iii)の繰返し前に前記第2の電圧レベルを下げ、前記第2の電圧レベルの前記最小値が、前記セルフテストの前記結果が前記データ誤り数のしきい値より低いデータ誤り数を与える最後の値であるように構成される、請求項6に記載のワイヤレスデバイス。
【請求項１０】
前記電源管理ユニットは、ステップ(iv)がステップ(i)〜(iii)の繰返し前に前記第2の電圧レベルを上げ、前記第2の電圧レベルの前記最小値が、前記セルフテストの前記結果が動作のための前記データ誤り数のしきい値より低いデータ誤り数を与える最初の値であるように構成される、請求項6に記載のワイヤレスデバイス。
【請求項１１】
複数のストレージバンクを備える揮発性ストレージデバイスに供給する最適な電圧値を決定するための方法であって、
(i)前記揮発性ストレージデバイスに電圧レベルの初期値を供給するステップと、
(ii)前記揮発性ストレージデバイス内のデータ誤り数を指示する結果を与えるために、前記揮発性ストレージデバイスに前記初期値の前記電圧レベルが供給されている間に、前記揮発性ストレージデバイスのセルフテストを実行するステップと、
(iii)前記セルフテストの前記結果をデータ誤り数のしきい値と比較するステップと、
(iv)前記セルフテストの前記結果が前記データ誤り数のしきい値より少ないデータ誤り数を与える前記電圧レベルの最小値を見つけるために、前記電圧レベルを新しい値に変更し、かつ前記電圧レベルの前記新しい値でステップ(i)〜(iii)を繰り返すステップと
を含み、
前記方法は、前記複数のストレージバンクのうちの少なくとも2つのストレージバンクのストレージバンクごとの最小値を見つけるために、前記少なくとも2つのストレージバンクに対して実行され、
前記少なくとも2つのストレージバンクに対して実行された、前記最適な電圧値のうちの最も低い値を有する、必要とされる数のストレージバンクを選択するステップと、
前記選択されたストレージバンクを使用するステップと
をさらに含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワイヤレスデバイスの電源管理に関する。
【背景技術】
【０００２】
ワイヤレスデバイスは多くの場合に、容量が限られた電池のような、限られたエネルギー供給源を有する。エネルギー供給源が再充電または交換を要求する前に、ワイヤレスデバイスの有用な動作期間を延ばすために、ワイヤレスデバイスは、エネルギー供給源をできる限り効率的に使用することが望ましい。
【０００３】
ワイヤレスデバイスの動作期間を延ばす1つの方法は、デバイスが任意の有用な活動を実行するように要求されない期間中にデバイスのいくつかの部分の電源を切ることである。たとえば、いくつかのワイヤレスプロトコルは、ネットワーク内のデバイス間のつながりを維持するために、周期的にポーリング信号を送信する。ポーリング信号の送信間に、トランスミッタおよび/またはレシーバの電源を切ることができる。デバイスは、電源を切られている期間中に消費電力を削減する。したがって、ワイヤレスデバイスは、少ない平均消費電力を有し、再充電するまでに、より長い期間にわたって使用することができる。
【０００４】
以下に説明される実施形態は、ワイヤレスデバイスの電源管理のための既知の構成の不都合な点のいずれか、またはすべてを解決する実施態様に限定されない。
【発明の概要】
【課題を解決するための手段】
【０００５】
この「発明の概要」は、後にさらに説明される概念の選択を簡略化された形態で紹介するために提供される。この「発明の概要」は、特許請求される主題の主要な特徴または不可欠な特徴を特定することを意図するものではなく、特許請求される主題の範囲を決定するのを支援するものとして使用されることも意図していない。
【０００６】
一態様によれば、本発明は、プロセッサと、プロセッサに接続され、かつプロセッサによって使用される揮発性ストレージデバイスとを備える、ワイヤレスデバイスの電源管理のための方法を提供する。本方法は、プロセッサが動作状態にある期間中に揮発性ストレージデバイスに第1の電圧レベルを供給することと、プロセッサが低電力状態にある期間中にデータを保持するために揮発性ストレージデバイスに第2の電圧レベルを供給することであって、第2の電圧レベルは第1の電圧レベルより低い、供給することと、第2の電圧の値を決定することとを含む。第2の電圧の値を決定するステップは、(i)揮発性ストレージデバイスに第2の電圧レベルの初期値を供給することと、(ii)揮発性ストレージデバイス内のデータ誤り数を指示する結果を与えるために、揮発性ストレージデバイスに第2の電圧レベルが供給されている間に、揮発性ストレージデバイスのセルフテストを実行することと、(iii)セルフテストの結果をしきい値データ誤り数と比較することと、(iv)テストの結果がしきい値データ誤り数より少ないデータ誤り数を与える第2の電圧レベルの最小値を見つけるために、第2の電圧レベルを新しい値に変更し、かつ第2の電圧レベルの新しい値でステップ(i)〜(iii)を繰り返すこととを含む。
【０００７】
別の態様によれば、本発明は、プロセッサと、プロセッサに接続され、かつプロセッサによって使用するための揮発性ストレージデバイスと、電源管理ユニットとを備えるワイヤレスデバイスを提供する。電源管理ユニットは、プロセッサが動作状態にある期間中に揮発性ストレージデバイスに第1の電圧レベルを供給することと、プロセッサが低電力状態にある期間中にデータを保持するために揮発性ストレージデバイスに第2の電圧レベルを供給することであって、第2の電圧レベルは第1の電圧レベルより低い、供給することと、第2の電圧レベルの値を決定することとを行うように構成される。第2の電圧レベルの値は、(i)揮発性ストレージデバイスに第2の電圧レベルの初期値を供給することと、(ii)揮発性ストレージデバイス内のデータ誤り数を指示する結果を与えるために、揮発性ストレージデバイスに第2の電圧レベルが供給されている間に、揮発性ストレージデバイスのセルフテストを実行することと、(iii)テストの結果をしきい値データ誤り数と比較することと、(iv)テストの結果がしきい値データ誤り数より少ないデータ誤り数を与える第2の電圧レベルの最小値を見つけるために、第2の電圧レベルを新しい値に変更し、かつ第2の電圧レベルの新しい値でステップ(i)〜(iii)を繰り返すこととによって決定される。
【０００８】
さらに別の態様によれば、本発明は、揮発性ストレージデバイスに供給する最適な電圧値を決定するための方法を提供する。電圧値は、関連するプロセッサもしくはデバイスの動作状態中の読出し電圧および/または書込み電圧のための値、またはプロセッサもしくはデバイスの低電力状態中にデータを保持するための保持電圧の値としてもよい。本方法は、(i)揮発性ストレージデバイスに電圧レベルの初期値を供給することと、(ii)揮発性ストレージデバイス内のデータ誤り数を指示する結果を与えるために、揮発性ストレージデバイスに初期値の電圧レベルが供給されている間に、揮発性ストレージデバイスのセルフテストを実行することと、(iii)セルフテストの結果をしきい値データ誤り数と比較することと、(iv)テストの結果がしきい値データ誤り数より少ないデータ誤り数を与える電圧レベルの最小値を見つけるために、電圧レベルを新しい値に変更し、電圧レベルの新しい値でステップ(i)〜(iii)を繰り返すこととを含む。本方法は、メモリ読出し動作もしくは書込み動作の電圧レベル、または低電力状態においてデータを保持するためのメモリ保持電圧の最適値を決定してもよい。
【０００９】
当業者には明らかなように、以下に説明される特徴は必要に応じて、組み合わされてもよく、本発明の態様のうちのいずれかと組み合わされてもよい。
【００１０】
本発明の実施形態は、以下の図面を参照しながら、例として説明される。
【図面の簡単な説明】
【００１１】
【図１】プロセッサ、揮発性ストレージデバイスおよび電源管理ユニットを備えるワイヤレスデバイスの一例を示す図である。
【図２】ある時間期間にわたって揮発性ストレージデバイスに供給される電圧レベルの一例を示す図である。
【図３】保持電圧の値を決定するために揮発性ストレージデバイスに供給される電圧レベルの一例を示す図である。
【図４】保持電圧の値を決定するために揮発性ストレージデバイスに供給される電圧レベルの一例を示す図である。
【図５】複数のストレージバンクを備える揮発性ストレージデバイスを示す図である。
【図６】複数のストレージバンクを備え、デバイスにわたって電圧を変更する揮発性ストレージデバイスを示す図である。
【図７】ストレージバンクの選択的動作を示す図である。
【図８】ワイヤレスデバイスの電源管理の方法を示す図である。
【図９】保持電圧の値を決定する方法を示す図である。
【発明を実施するための形態】
【００１２】
同様の特徴を示すために、図を通して共通の参照番号が使用される。
【００１３】
本発明の実施形態は、単なる例として以下に説明される。これらの例は、現在出願人が知っている、本発明を実施する最良の方法を表すが、本発明を達成することができる唯一の方法ではない。発明を実施するための形態には、例示の機能と、この例を構成し動作させるためのステップのシーケンスとを記載する。しかしながら、同じまたは均等な機能およびシーケンスは、異なる例によって達成される場合がある。
【００１４】
先に説明されたように、ワイヤレスデバイスは、別のデバイスと(たとえば、リンクを維持するために、またはワイヤレスデバイスが依然として動作していることを確認するために)周期的に通信するように要求される場合がある。そうではなく、ワイヤレスデバイスがタスクを能動的に実行していない場合には、デバイスは、完全に動作しているとき(アクティブ状態と呼ばれる場合がある)より低い電力を消費する低電力(またはスリープ)状態に入ってもよい。種々のシナリオにおいて、デバイスが稼動中であり、アクティブ状態にある時間が、デバイスがスリープ状態にある時間に比べて非常に短い場合があり、その場合、スリープ状態における消費電力が主な電力消費者である。スリープ状態中の消費電力、詳細には、ワイヤレスデバイス内の揮発性メモリ(たとえば、RAM)のうちのいくつかまたはすべてによる消費電力が削減される方法および装置が以下に説明される。スリープ状態中に、揮発性メモリ内に記憶されるデータが保持されるように揮発性メモリに電力が与えられる。与えられる電圧が小さすぎる場合には、記憶されたデータが失われることになる可能性がある。
【００１５】
図1は、ワイヤレスデバイス5の一例を示す概略図である。図示を容易にするために、図1は、別々の機能ブロックを示すブロック図の形でワイヤレスデバイス5を示す。実際には、図示される機能ブロックは、別々に、または任意の組合せで合わせて実現される場合がある。機能ブロックは、設計要件に応じて、ソフトウェア、ファームウェアおよび/またはハードウェアにおいて実現される場合がある。ワイヤレスデバイス5は、たとえば、ワイヤレスセンサ、ワイヤレスオーディオデバイス、汎用低電力コントローラ、リモートコントロールデバイスおよび腕時計のうちの1つまたは組合せとしてもよい。ワイヤレスデバイス5は、プロセッサ10と、揮発性ストレージデバイスまたはメモリ20と、電源管理ユニット(PMU)30と、セルフテスト/誤り監視ユニット40とを備える。プロセッサ10は、CPU(中央処理ユニット)、マイクロコントローラ、マイクロプロセッサ、または、デバイス5の動作を制御するコンピュータ実行可能命令を処理するための任意の他の適切なタイプのプロセッサとしてもよい。プロセッサ10は、アンテナ12を介してワイヤレス通信のために使用されるトランスミッタ、レシーバまたはトランシーバ11の一部を形成してもよい。代替的には、プロセッサ10は、ワイヤレスデバイス5内の処理を実行してもよいか、またはワイヤレスデバイス5全体内の他のデバイスの動作を制御してもよい。揮発性メモリ20は、たとえば、図5に関連して後に説明されるように、複数の個別のメモリバンクを備える単一のメモリインスタンス、または複数の個別のメモリインスタンスを備えてもよい。
【００１６】
ワイヤレスデバイス5は、従来通りに、初期化期間中に(たとえば、電源投入時に)、メモリをテストするためのメモリビルトインセルフテスト(MBIST)ユニットを備える内蔵メモリを有するシステムオンチップ(SoC)を備えてもよい。好ましい実施形態において、そのような既存のメモリビルトインセルフテスト(MBIST)ユニットを、後に説明されるような本発明による方法を運用するために、ワイヤレスデバイス5のセルフテスト/誤り監視ユニット40として使用することができる。そのような実施形態において、MBISTユニットは、複数のメモリインスタンス(すなわち、デバイスのバンクまたは個別のデバイスのうちの1つまたはサブセット)間で共有してもよいか、または、個別のメモリインスタンスごとに専用のMBISTユニットを設けてもよい。したがって、MBISTユニットは、対応する揮発性ストレージデバイス20および/または他のメモリインスタンスと同じダイ上に集積してもよい。
【００１７】
プロセッサ10は、揮発性ストレージデバイス20に接続され(14)、デバイス20を用いてデータを記憶する。揮発性ストレージデバイス20に記憶されるデータのタイプは、プログラムデータ(たとえば、オペレーティングシステムソフトウェア、アプリケーション)またはユーザデータとすることができる。揮発性ストレージデバイス20は、データ値を保持するための電源の印加を必要とする意味において揮発性である。電源がオフに切り替えられるとき、または特定の値未満に低下するとき、データは破損することになる。揮発性ストレージデバイス20は、ランダムアクセスメモリ(RAM)、レジスタファイル、フリップフロップのアレイなどとすることができる。
【００１８】
電源管理ユニット30は、通常ワイヤレスデバイス5の外部にある電池のようなエネルギー供給源33に接続される。電源管理ユニット30は、揮発性ストレージデバイス20に、供給電圧のような電源38を与える。電源管理ユニット30は、関連する電圧もしくは電流レギュレーション回路、または任意の適切な制御回路を有してもよく、それらの回路は、電力の供給を要求値に制御するための電源管理ユニット30とは別に存在する場合があるか、または電源管理ユニット30内に含まれる場合がある。電源管理ユニット30は、揮発性ストレージデバイス20への供給電圧38の電圧レベルを設定するためのロジック32を備え、このロジック32は、揮発性ストレージデバイス20への供給電圧38の電圧レベルがプログラム可能であるように、プログラマブルロジックとしてもよい。ストレージ34は、供給電圧を設定するために電源管理ユニット30によって使用されるデータ値35、36を記憶するように構成される。データ値は、(i)プロセッサが動作状態にある期間中の供給電圧のためのデータ値Vop35と、(ii)プロセッサが低電力状態にある期間中の供給電圧のためのデータ値Vret36とを含むことができ、ここで、Vret<Vopである。実際には、Vopは読出し電圧および書込み電圧を含んでもよく、電圧は同じ値を有するか、または2つの異なる値を有する場合があることを理解されよう。種々の例において、Vopは、ワイヤレスデバイス5の動作寿命にわたって固定値としてもよいのに対して、後にさらに詳細に説明されるように、Vretの値は、動的な決定に基づいて、ワイヤレスデバイス5の動作寿命にわたって変化してもよい(そして、種々の例において、増加してもよい)。他の例において、Vopの値は、たとえば、デバイス使用年数に応じてVopに関する製造業者推奨値に従って、または動的な決定に基づいて、ワイヤレスデバイス5の動作寿命にわたって変化してもよい。ストレージ34は不揮発性ストレージである。
【００１９】
セルフテスト/誤り監視ユニット40は、揮発性ストレージデバイス20のテストを実行し、揮発性ストレージデバイスが正確に機能しているかどうかを、または揮発性ストレージデバイス20のいずれかの部分が不正確に機能しているかどうかを判断するように構成される。先に言及されたように、従来のメモリテストは、デバイスに電源が投入されると実行される場合がある。たとえば、セルフテスト/誤り監視ユニット40(たとえば、MBIST)は、デバイス動作中に冗長データセルまたは代替データセルが後に代わりに使用されるように、揮発性ストレージデバイス20の特定のデータセルがデータを正確に保持していないと判断してもよい。メモリ内の0-1データ値の物理的なチェッカーボードを使用するチェッカーボードアルゴリズムや、種々のマーチアルゴリズム、ギャロッピングパターン(GALPAT)、ウォーキングパターン、バタフライアルゴリズムのうちの1つまたは複数などの、種々の既存のテストアルゴリズムを使用することができる。当該技術分野においてよく知られているように、所与のアプリケーションまたはICチップの場合にメモリテスト(たとえば、MBIST)を実行するための選択される最適なアルゴリズムは、論理/物理マッピング、アーキテクチャ(たとえば、メモリレイアウト)および各メモリインスタンスの接続性によって決まることになる。従来のテストは、たとえば、テストパターンデータビットをメモリに書き込み、その後、データビットを読み出し、メモリセルのいずれかがデータビットを正確に記憶および保持していないかどうかを判断することを伴う。テストアルゴリズムは、テスト中の読出し動作および書込み動作のための固定電圧値を規定する。
【００２０】
本発明の実施形態において、セルフテスト/誤り監視ユニット40は、データセルがデータを保持するのを確実にするために電圧値を上げることができるようにするために、本明細書において説明され、略して「セルフテスト」と呼ばれる、さらなるメモリテストをICチップの存続期間中に動的に実行し、低電力状態またはスリープ状態中に電圧が低下したときに機能していないデータセルを特定する。したがって、最も適切なテストアルゴリズムの選択は、電圧が低下したときに機能しない可能性が最も高いメモリビットと、機能しないビットのプロファイルとに基づくことになる。メモリ内の機能しないビットの場所は、信号または電源接続性の違いによる異なる負荷に起因して異なる場合があるので、選択されるアルゴリズムは、同じメモリタイプの異なるインスタンスの場合に異なる場合がある。セルフテスト/誤り監視ユニット40は、電源管理ユニット30に接続され(37)、揮発性ストレージデバイスまたはメモリ20に(内部で)接続される(39)。電源管理ユニット30の電圧設定ロジック32は、セルフテスト/誤り監視ユニット40から受信された結果に応じて、電圧値Vretを設定する。
【００２１】
使用時に、プロセッサ10は、必要とされない期間中に電源を切られる。たとえば、プロセッサ10は、トランスミッタ11がポーリング信号を送信するように要求される期間中に動作することができ、その後、それらの期間の間には電源を切ることができる。動作期間と低電力期間との比は、たとえば、1:999(1μsオン、999μs電源オフ)、またはそれより高い比もしくは低い比とすることができる。プロセッサの電源が切られている期間中に、揮発性ストレージデバイス20に、ストレージデバイス内のデータを保持するのに十分な電圧を供給することによって、揮発性ストレージデバイス20内のデータは保持される。このようにして、電源投入時に、プロセッサ10は、遅延を生じることなく、または最小限の遅延のみで動作することができる。
【００２２】
図1のワイヤレスデバイス5の1つのアプリケーションはモノのインターネット(IoT)シナリオである。ワイヤレスデバイス5は、インターネットに接続されるホストとワイヤレスで通信するワイヤレスセンサを備えるか、またはそのようなワイヤレスセンサの一部を形成することができる。ホストはスマートフォンまたは他のデバイスとすることができる。この接続を形成するのに適した短距離ワイヤレス技術は、Bluetooth(登録商標) Smart(またはBluetooth(登録商標) Low Energy、BLE)である。このタイプのアプリケーションの場合に電池寿命を延ばすために、Bluetooth(登録商標) Smartチップの消費電力を削減することが必要とされている。
【００２３】
内蔵揮発性メモリを有するICチップを含む、揮発性ストレージデバイスの製造業者は、動作電圧の推奨値を記載したデータシートを公表する。製造業者は、揮発性ストレージデバイス20内のデータ保持のための推奨電圧値を指定することになる。推奨値は通常、(揮発性ストレージデバイスを形成するために使用される)製造プロセス、動作温度および揮発性ストレージデバイスの使用年数のような要因に基づく。推奨値は通常、余裕を見た値であり(たとえば、データを保持するために必要とされる実際の電圧が、使用年数および温度とともに上昇する可能性があるため)、より低い値において電圧を供給し、揮発性ストレージデバイス20内になおデータを保持できる場合がある。本発明の実施形態によれば、揮発性ストレージデバイス20に供給される保持電圧を、製造業者推奨値より低くできるようになる。
【００２４】
図2は、ある時間期間にわたって揮発性ストレージデバイスに供給される電圧レベルの一例を示す。時間期間T0〜T1は、デバイスの初期化またはセットアップ期間を表し、期間中に保持電圧値および動作電圧値が較正される。この初期化期間は、製造テスト中に(デバイスがパッケージングされる前または後)、デバイスの試運転中(たとえば、デバイスがモジュールまたは最終製品に組み込まれるときに、工場において)、または稼動中のデバイスの始動期間中に生じる可能性がある。保持電圧値および動作電圧値を決定する初期較正プロセスはそれ自体で電力を消費することになるので、全存続期間電力使用量を最適化するために、通常、初期化期間のタイミングの評価が行われるべきである。
【００２５】
後に論じられるように、初期化期間中に、揮発性ストレージデバイス20のセルフテストが実行される。したがって、セルフテストは通常、記憶されたデータが望まれておらず、フルチェックプロセスを実行できるときに行われることになる。その代わりに、またはそれに加えて、メモリ内に記憶されたデータが必要とされる場合には(たとえば、デバイスが稼動中であるとき)、メモリのためのさらなる冗長ビットを使用する場合がある誤り検出および誤り訂正プロセス(たとえば、CRCチェック)のような標準的なチェックプロセスを使用することによって、完全性を検証することができる。
【００２６】
初期化期間中に、方法が、低電力期間中に揮発性ストレージデバイスに供給するための保持電圧Vretの最適値を決定する。本方法は、保持電圧Vretを変更しながら、先に論じられたような、たとえば、従来のMBISTテストアルゴリズムを用いて、揮発性ストレージデバイス20のセルフテストを実行することができる。Vretのための最適値は、許容可能なデータ誤り数が生じる電圧の最小値とすることができる。別の言い方をすると、これは、テストの結果がしきい値データ誤り数未満のデータ誤り数を与える電圧レベルVretの最小値とすることができる。初期化期間中に揮発性ストレージデバイス20に供給される電圧は、図2には示されていないが、いくつかの例が図3および図4に示される。
【００２７】
初期化期間後に、時刻T1において、プロセッサ10は低電力またはスリープ状態にある。この例では、低電力期間中に使用するために保持電圧Vretの値V1が決定された。電源管理ユニット30は、揮発性ストレージデバイスに電圧V1を供給する。時刻T2において、プロセッサ10は、動作状態に変化し、電源管理ユニット30は、揮発性ストレージデバイスに、高い電圧Vopを供給する。時刻T3において、プロセッサ10は低電力状態に入り、電源管理ユニット30は、揮発性ストレージデバイスに低電圧V1を供給する。時刻T4において、プロセッサ10は動作状態に戻り、電源管理ユニット30は、揮発性ストレージデバイスに電圧Vopを供給する。
【００２８】
電圧が正確であるかどうかを判断するために、または電圧が変更されるべきであるかどうかを判断するために、デバイスの動作中のある時点において、初期化(T0〜T1)中に実行される方法のすべて、または一部を繰り返すことができる。揮発性ストレージデバイス20のさらなるセルフテストを、1つまたは複数のテスト値を用いて実行することができる。たとえば、期間T3〜T4中にさらなるセルフテストを実行することができる。図2の例において、本方法は、電圧が上げられるべきであると判断した。本方法は、V1において動作中に許容できない誤り数が生じたと判断した場合がある。一般的に、本方法は、低電力期間中に使用するための電圧の高い値、または低電力期間中に使用するための電圧の低い値を決定してもよい。再び図2を参照すると、ある後の時点T6において、プロセッサ10は低電力状態に入る。電源管理ユニット30は、揮発性ストレージデバイスに電圧V2を供給する。電圧V2は、さらなるセルフテストが、電圧が上げられるべきであると判断したので、低電力期間T1〜T2およびT3〜T4中に以前に使用された値V1より高い。
【００２９】
図3および図4は、初期化期間(たとえば、図2のT0〜T1)中に、またはセルフテストが実行される後続の期間のうちの1つの期間中に、揮発性ストレージデバイスに供給される電圧レベルの2つの例を示す。図3は、複数の異なる電圧が揮発性ストレージデバイス20に順次に供給される一例を示す。時刻T1において、開始電圧値V1が、揮発性ストレージデバイスに供給される。電圧V1が揮発性ストレージデバイス20に供給されている間に、揮発性ストレージデバイス上でセルフテストが実行される。テストは、揮発性ストレージデバイス内のデータ誤り数を指示する結果を与える。この結果は、動作のための許容可能な誤り数を表す、しきい値データ誤り数と比較することができる。時間T2〜T3中に、高い電圧値V2(V2>V1)が揮発性ストレージデバイスに供給される。電圧V2が揮発性ストレージデバイス20に供給されている間に、揮発性ストレージデバイス上でさらなるセルフテストが実行される。これは、より高い電圧V3(V3>V2)において期間T3〜T4中に再び繰り返される。本方法は、ある電圧におけるセルフテストの結果が、しきい値データ誤り数より少ないデータ誤り数を与える場合に終了することができる。このようにして、本方法は、揮発性ストレージデバイスの動作のための保持電圧Vretの最小値を見つける。
【００３０】
図4は、複数の異なる電圧が揮発性ストレージデバイス20に順次に供給される別の例を示す。この例は、一連の徐々に小さくなる電圧を揮発性ストレージデバイス20に印加するという点で、図3とは異なる。時刻T1において、開始電圧値V3が、揮発性ストレージデバイスに供給される。電圧V3が揮発性ストレージデバイス20に供給されている間に、揮発性ストレージデバイス上でセルフテストが実行される。テストは、揮発性ストレージデバイス内のデータ誤り数を指示する結果を与える。この結果は、動作のための許容可能な誤り数を表す、しきい値データ誤り数と比較することができる。時間T2〜T3中に、低電圧値V2(V2<V3)が揮発性ストレージデバイスに供給される。電圧V2が揮発性ストレージデバイス20に供給されている間に、揮発性ストレージデバイス上でさらなるセルフテストが実行される。これは、より低い電圧V1(V1<V3)の場合に期間T3〜T4中に再び繰り返される。本方法は、ある電圧におけるセルフテストの結果が、しきい値データ誤り数より多いデータ誤り数を与える場合に終了することができる。この例では、電圧V1が、しきい値データ誤り数より多いデータ誤り数を与えると見なす。電圧V2が、低電力期間中の揮発性ストレージデバイスの動作のための保持電圧Vretの最小値として選択される。
【００３１】
図3および図4の例において、電圧の増分(V1→V2、V2→V3)は線形である。しかしながら、増分は非線形にすることができる。別の変形形態において、しきい値データ誤り数より多いデータ誤り数を与える電圧レベルを決定すると、揮発性ストレージデバイスのセルフテストの1つまたは複数のさらなる繰返しを実行することができる。図4の例を考える。電圧V1におけるセルフテストの結果は、しきい値データ誤り数より多くのデータ誤り数を与える。1つのオプションは、この時点においてテストを中止し、低電力期間中の揮発性ストレージデバイスの動作のための保持電圧の最小値として電圧V2を選択することである。別のオプションでは、期間T4〜T5中にV1とV2との間の電圧においてさらなるセルフテストを実行することである。これは、期間T5〜T6中に異なる電圧において繰り返すことができる。たとえば、T4〜T5中のテストがしきい値データ誤り数より多いデータ誤り数を指示した場合には、電圧を、期間T4〜T5中に使用された電圧と許容可能であることがわかっているV2との間の電圧まで上げることができる。このようにして、より高い分解レベルまで、電力を節約するのをさらに助けることになる保持電圧値が見つけられる。
【００３２】
保持電圧値を決定する方法が後の時点で繰り返されるとき、本方法は、第1の初期化期間中に、または先行する初期化期間中に決定された保持電圧値を供給することによって開始することができる。
【００３３】
上記の方法のいずれかを用いてVretの値が見つけられるとき、電源管理ユニット30は、Vretの新しい値を(たとえば、不揮発性ストレージ34内に)記憶する。新しい値は任意の既存の値を上書きすることができるか、または電源管理ユニット30は、後続の使用および/または解析のためにVretの以前に使用された値を記憶してもよい。
【００３４】
図5は、複数のストレージバンク25を備える揮発性ストレージデバイスまたはメモリ20の一例を示す図である。N個のバンクが示される。ここで、N≧2である。低電力期間中に使用するための最小電圧値を見つけるための上記の方法のいずれかを複数のストレージバンクを備えるメモリに適用することができる。揮発性ストレージデバイス20のバンク25のそれぞれにおいて個別に、または揮発性ストレージデバイス20のバンク25のサブセットにおいて、セルフテストを実行することができる。最小保持電圧値Vretが、ストレージデバイス20のテストされるバンク25ごとに、またはバンク25のグループごとに取得され、ここで、Vretは、バンク25において特定の誤り率を満たすために、デバイス20全体に供給されなければならない電圧値である。ストレージデバイス34は、図5に示される形のVret値のテーブル55を記憶することができる。バンク25の個々の要件に基づいて、Vretの総合値を選択することができる。1つの戦略は、バンク25のためのテーブル55内の要求される最も高い値に等しいVretの値を選択することである。
【００３５】
図6は、複数のストレージバンク25を備える揮発性ストレージデバイスまたはメモリ20の別の例を示す。この例において、電圧レギュレータ50が、電圧レール51を介して、バンク25に電圧を供給する。電圧レギュレータ50は、揮発性ストレージデバイス20と同じチップ上に、または別のチップ上に設けることができる。電圧レギュレータ50は通常、電源管理ユニット(PMU)30の従属構成要素であるが、特定のアーキテクチャでは別にしてもよい。いずれの場合でも、PMU30は、バンク25に特定の電圧レベルを供給するように電圧レギュレータ50に命令する。
【００３６】
この構成において、各バンク25における実際の供給電圧は、レギュレータからの距離と、ルーティングトラック厚、抵抗および容量性負荷のような正確な電源ルーティングとに応じて異なることになる。この電圧変動は、電圧レギュレータとバンクとの間の供給レールに沿った抵抗(および電圧降下)を大きくすることによって引き起こしてもよい。図6においてバンク_1は電圧レギュレータ50に最も近く、バンク_Nは電圧レギュレータ50から最も遠い。図6は、ストレージデバイス20にわたる電圧分布61を示す。レギュレータ50によって出力される任意の所与の電圧値Vretの場合に、バンク_1は、最も高い供給電圧(すなわち、Vretに最も近い電圧値)を受信し、一方、バンク_Nは最も低い供給電圧(すなわち、Vretより低い電圧)を受信することになる。また、図6は、データを保持するためのVret値の一例の分布62も示す。レギュレータ50から最も遠くに位置するバンクは、供給経路にわたってバンクまで電圧が降下するので、データを保持するために、より高い電圧Vretがデバイス20に供給されることを必要とする。これは、電圧レギュレータ50に最も近いいくつかのバンクは、データを保持するために実際に必要な電圧より高い電圧において動作していることになり、電力を無駄にしていることを意味する。
【００３７】
図6に示されるVretの値の分布62は、プロセス変動または他の要因に起因する場合があるVretの値の任意の変動を無視し、それは、実際の供給電圧に変動がない場合であっても、(たとえば、図5を参照しながら先に説明された)バンクごとのVretの値が変動する場合があることを意味する場合がある。プロセス変動または他の要因と、レギュレータ50からの距離との組合せ結果として、レギュレータから離れていくときにVretが減少しない場合があり、各バンクを順次に考えると、別のバンクよりレギュレータから離れているバンクほど、Vretのより低い値を有する場合がある。
【００３８】
図7は、5つのストレージバンク25のセットを備える揮発性ストレージデバイスまたはメモリ20を示す。バンク25は、電力を節約するために、必要に応じてオン/オフに切り替えることができる。これらのバンクは、上記のように、初期化段階中のテストを用いて決定されるようなVretの値に基づいて、バンク1〜5で示される場合があり、その場合に、(しきい値誤り数に基づいて決定されるように)バンク1はVretの最も低い値を有し、バンク2は次に低い値を有し、以下同様であり、(しきい値誤り数に基づいて決定されるように)バンク5はVretの最も高い値を有する。
【００３９】
3つのバンク内に収容することができるデータ量しか記憶する必要がない場合には、バンク4および5はオフに切り替えられ、低電力状態にあるときに、(すべてのバンク1〜3の場合に最も高い値になる)バンク3のためのVretの値が使用される場合がある。バンク4および5は、データを保持するために、バンク1〜3より、デバイス20へのより高い電圧Vretを要求するので、バンク4および5がオフに切り替えられる。したがって、バンク1〜3は、データ量を記憶する最も電力効率が高い方法である。バンクの選択は、記憶されることになるデータ量に基づくことができる。この例において、バンクの選択は、バンク内のデータを保持するために、デバイス20に供給されるように要求される電圧値Vretを指示するセルフテスト結果に基づく。しかしながら、他の例において、バンクの選択は、上記のセルフテスト方式を用いてバンクごとにVretの値を決定することを必要とすることなく、レギュレータからの電源接続のシミュレーションおよびモデル化に基づいて実行してもよい。
【００４０】
いくつかのシナリオにおいて、テストだけに使用するために、たとえば、ストレージデバイスが使用中でもテストを実行できるようにするために、メモリの一部(たとえば、特定のセル、またはセルのブロック)を予約することが有益な場合がある。たとえば、予約されるエリアは、メモリ要素の完全なテスト中に低い電圧において最初に機能しなくなり始めると考えられるメモリのビットに関連付けられるデバイスの「カナリア(canary)」タイプエリアとすることができる。この機構は次のように動作することができる。メモリの完全なテストが実行され、電圧が下げられるときに最初に機能しなくなるビットである最も脆弱なビットが判断される。その後、メモリの対応する部分の場所を不揮発性メモリ、すなわち、電力を保持するメモリに記憶することができる。その後、メモリのこのエリアを、メモリ保持が機能しなくなり始める時点を判断するテストのためにのみ予約することができる。その後、メモリの他の部分は、メモリ検証のためだけに使用されることになる「早期に機能しなくなる」エリアによって影響を及ぼされることなく、ユーザのデータを無傷のままにしておくことができる。この目的のために割り振られるメモリテストエリアのサイズは、電圧が下げられ、それに応じて決定が行われるときに、機能しなくなるメモリビットの数がいかに急激に増加するかによって決定することができる。
【００４１】
図8は、プロセッサと、プロセッサに接続され、かつプロセッサによって使用される揮発性ストレージデバイスとを備えるワイヤレスデバイスの電源管理の方法を示す。本方法は、たとえば、図1に示されるワイヤレスデバイス5の電圧設定ロジック32を含む電源管理ユニット30によって実行してもよい。先に論じられたように、電源管理ユニット30の機能性は、ハードウェア、ソフトウェアおよび/またはファームウェアにおいて実現してもよい。ブロック102において、本方法は、プロセッサが動作状態にある期間中に揮発性ストレージデバイスに第1の電圧レベル(Vop)を供給する。第1の電圧レベル(Vop)は、ストレージ34から取得されたデータ値35、または別の所定の、もしくは計算された値としてもよい。ブロック103において、本方法は、プロセッサが低電力状態にある期間中に揮発性ストレージデバイスに第2の電圧レベル(Vret)を供給する。第2の電圧(Vret)は、第1の電圧レベル(Vop)より低い。第2の電圧レベル(Vret)は、ストレージ34から取得されたデータ値36、または別の所定の、もしくは計算された値としてもよい。また、本方法は、第2の電圧レベルの値を決定するブロック101を含む。ブロック101は、たとえば、初期化期間中に実行することができ、結果は、ストレージ34内にデータ値36として記憶することができる。ブロック101は、一度だけ(たとえば、ワイヤレスデバイスが最初にオンに切り替えられたときに)実行してもよいか、またはワイヤレスデバイスの存続期間中に何度も(たとえば、ワイヤレスデバイスが最初にオンに切り替えられたときに、そして、初期の始動後にワイヤレスデバイスがリセット/リブートされるときに再び定期的に)実行してもよい。
【００４２】
図9は、図8のブロック101において実行することができる動作の一例を示す。ブロック111は、揮発性ストレージデバイスに第2の電圧レベルの初期値を供給する。ブロック112は、揮発性ストレージデバイス内のデータ誤り数を指示する結果を与えるために、第2の電圧レベルが揮発性ストレージデバイスに供給されている間に、揮発性ストレージデバイスのセルフテストを実行する。ブロック113は、テストの結果をしきい値データ誤り数と比較する。このしきい値数は、動作するための許容可能な誤り数を表すことができる。
【００４３】
しきい値数は通常、0であるが、状況によっては、0より大きくしてもよい。詳細には、ビット誤りの確率は、システム内のメモリの量と、製造品質とによって決まることになる。その場合に、ビット障害に対応するために誤り検出および誤り訂正技法による冗長性を導入するために、通常、製造業者指針が与えられる。これらのビット障害は通常、標準的な技法によって検出され、使用されないようにマスクされる。しかしながら、メモリの通常動作範囲内で良好であり、機能を果たすと見なされるビットは、本方法によって監視されることになる。許容可能なビット誤り数は、標準的な検証および構成が実行された後に、通常は0であるが、状況によっては、これまでに未確認であった比較的少数のビット誤りが許容可能な場合がある。
【００４４】
図9のブロック113に戻ると、誤り数がしきい値数(通常0)未満である場合には、本方法はブロック114に進み、第2の電圧レベルを新しい値に変更する(たとえば、増加または減少させる)。図9は、図4に関連して先に説明されたようなシーケンスを用いて第2の電圧レベルが変更される場合がある方法を実施する。本方法に適切な修正を加えて、図3に示されるシーケンスのような、第2の電圧レベルを変更するための他の適切な方式を使用してもよいことを理解されよう。ブロック114から、本方法は、ブロック114において設定されたVretの新しい値を用いて、ブロック111に進む。ブロック113に戻ると、誤り数がしきい値数より多い場合には、本方法はブロック115に進むことができ、先行するブロックの結果に基づいて、第2の電圧レベルの値を設定することができる。たとえば、第2の電圧レベルVretは、しきい値データ誤り数未満のデータ誤り数を与えた最も低い値に設定することができる。再び、ブロック113において、誤り数がしきい値数より多い場合には、本方法はブロック116に進むことができ、第2の電圧レベルを新しい値に変更する(たとえば、増加または減少させる)ことができる。これは、ブロック114において使用される通常の増分/減分より高い分解能まで、Vretの最小値を見つけることができる。本方法は、ブロック116において設定されたVretの新しい値を用いて、ブロック111に進む。
【００４５】
本発明の実施形態は、有利には、著しいさらなる修正を必要とすることなく、本方法のために(通常、テスト回路および他のハードウェアおよびファームウェアの形をとる)既存のオンチップMBIST機能性を用いて上記の方法を実施する。さらに、セルフテストは動的に実行されるので、存続期間を通して揮発性ストレージデバイス内のデータセルの信頼性に影響を及ぼす環境の変化、デバイス使用年数および他の要因を考慮に入れるために、Vretの値を再較正することができる。
【００４６】
本方法は、揮発性メモリの保持電圧Vretのための(すなわち、関連するワイヤレスデバイスまたはプロセッサの低電力またはスリープモード中にデータを保持するための)最適な値を決定するために説明されてきたが、本方法は、揮発性メモリの最適な動作電圧(すなわち、関連するワイヤレスデバイスまたはプロセッサの動作モード中の読出しまたは書込みのための)値Vopを決定するために適用してもよい。それぞれの場合に、最適な電圧は上記のセルフテストプロセスを用いて決定され、プロセスでは、最適な電圧(Vopおよび/またはVret)の使用によって電力が保存されるように、許容可能な最小電圧値を見つけるために電圧が動的に変更される。
【００４７】
本明細書において与えられた任意の範囲またはデバイス値は、当業者には明らかなように、求められる効果を失うことなく、拡張または改変される場合がある。
【００４８】
上記の利益および利点は、一実施形態に関する場合があるか、またはいくつかの実施形態に関する場合があることが理解されよう。これらの実施形態は、述べられた問題のいずれかもしくはすべてを解決する実施形態、または述べられた利益および利点のいずれかもしくはすべてを有する実施形態に限定されない。
【００４９】
「1つの(an)」項目へのいずれの言及も、これらの項目のうちの1つまたは複数を指す。本明細書において、「含む、備える(comprising)」という用語は、特定された方法ブロックまたは要素を含むが、そのようなブロックまたは要素が排他的なリストを含まず、方法または装置が追加のブロックまたは要素を含む場合があることを意味するために使用される。「揮発性ストレージデバイス」という用語は、チップ上に分散構成において配置される、複数のメモリバンクまたはアレイのうちの1つを有する、複数のメモリインスタンスを含む、たとえば、内蔵メモリを含む、任意の形の揮発性メモリを包含することを意図している。「メモリインスタンス」という用語は、通常、自らのメモリコンパイラと、個別の読出し/書込み回路とを有する半導体メモリIPを含むことを意図している。
【００５０】
本明細書において説明される方法のステップは、必要に応じて、任意の適切な順序で、または同時に実行されてもよい。加えて、個々のブロックは、本明細書において説明される主題の趣旨および範囲から逸脱することなく、これらの方法のいずれかから削除されてもよい。上記の例のうちのいずれかの態様は、求められる効果を失うことなく、さらなる例を形成するために、説明される他の例のうちのいずれかの態様と組み合わされてもよい。
【００５１】
好ましい実施形態の上記の説明は単に例として与えられ、当業者によって種々の修正が加えられてもよいことを理解されよう。種々の実施形態が、ある程度詳細に、または1つもしくは複数の個々の実施形態を参照しながらこれまで説明されてきたが、当業者は、本発明の趣旨または範囲から逸脱することなく、開示された実施形態に数多くの改変を行うことができる。
【符号の説明】
【００５２】
5  ワイヤレスデバイス
10  プロセッサ
11  トランスミッタ、レシーバまたはトランシーバ
12  アンテナ
20  揮発性ストレージデバイスまたはメモリ
25  ストレージバンク
30  電源管理ユニット(PMU)
32  電圧設定ロジック
33  エネルギー供給源
34  ストレージ
35  データ値
36  データ値
38  電源
40  セルフテスト/誤り監視ユニット
50  電圧レギュレータ
51  電圧レール
55  テーブル
61  電圧分布
62  分布
【図１】
0006377288.tif 000002
【図２】
0006377288.tif 000003
【図３】
0006377288.tif 000004
【図４】
0006377288.tif 000005
【図５】
0006377288.tif 000006
【図６】
0006377288.tif 000007
【図７】
0006377288.tif 000008
【図８】
0006377288.tif 000009
【図９】
0006377288.tif 000010