JP2017208087A - メモリのアクセスに用いる方法及び装置 - Google Patents

メモリのアクセスに用いる方法及び装置 Download PDF

Info

Publication number
JP2017208087A
JP2017208087A JP2017093240A JP2017093240A JP2017208087A JP 2017208087 A JP2017208087 A JP 2017208087A JP 2017093240 A JP2017093240 A JP 2017093240A JP 2017093240 A JP2017093240 A JP 2017093240A JP 2017208087 A JP2017208087 A JP 2017208087A
Authority
JP
Japan
Prior art keywords
address
memory
access
output
translator
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.)
Granted
Application number
JP2017093240A
Other languages
English (en)
Other versions
JP6356308B2 (ja
Inventor
アルブレヒト マイヤー,
Mayer Albrecht
アルブレヒト マイヤー,
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of JP2017208087A publication Critical patent/JP2017208087A/ja
Application granted granted Critical
Publication of JP6356308B2 publication Critical patent/JP6356308B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Abstract

【課題】 メモリのアクセスに用いる方法及び装置を提供する。【解決手段】 アクセスアドレスを決定する方法が、第1の入力アドレスを第1の出力アドレスに変換する為の第1のアドレス変換規則を決定するステップと、第2の入力アドレスを第2の出力アドレスに変換する為の第2のアドレス変換規則を決定するステップと、第1のアドレス変換規則及び第2のアドレス変換規則の少なくとも一方を使用してアクセスアドレスを決定するステップと、を含む。メモリアドレスに基づいてメモリにアクセスする装置が、第1の入力アドレスを第1の出力アドレスに変換するように構成された第1のアドレス変換器と、第2の入力アドレスを第2の出力アドレスに変換するように構成された第2のアドレス変換器と、を含む。この装置は、第1のアドレス変換器及び第2のアドレス変換器の少なくとも一方を使用して、メモリアドレスをアクセスアドレスに変換するように構成されている。【選択図】 図3

Description

本開示は、メモリにアクセスすることに関し、特に、メモリにアクセスする為のアクセスアドレスを決定する方法に関する。本開示は更に、メモリにアクセスする為の装置に関する。
エンジンの制御に使用されるマイクロコントローラとして、オンチップフラッシュなどの不揮発性メモリ(NVM)がある。オンチップフラッシュメモリメモリは、ある特定の用途で、ソフトウェアの形で実施される制御アルゴリズムで使用されるパラメータ値である一定値を記憶する。これらのパラメータ値は、制御アルゴリズムの挙動を決定し、従って、エンジンの挙動を決定する。較正とは、測定値を反映するように、且つ/又は、所望の挙動を達成するように、これらのパラメータ値を調整すること、即ち、値を適応させることである。較正は、エンジンの作動中に実施可能である。従って、較正は、マイクロコントローラがエンジンの作動を制御するように働いている間に実施可能である。較正が実施されている間に、一定値を記憶する為に、いわゆる「オーバレイ」ランダムアクセスメモリ(RAM)が使用されてよい。オーバレイRAMへのアクセスは、フラッシュメモリにアクセスする為のメモリアドレスを、オーバレイRAMで使用するアクセスアドレスに変換することにより、可能である。
マイクロコントローラによって実行されるソフトウェアは、古くなる可能性がある。古くなったソフトウェアは、更新しなければならない場合がある。更新されたソフトウェアを、フラッシュメモリの半分にロードすることが可能である。しかしながら、更新されたソフトウェアが実行されない限り、古くなったソフトウェアがフラッシュメモリの別の半分に保持され、引き続き実行されることになる。
一態様では、メモリへのアクセスの為のアクセスアドレスを決定する方法が、第1の入力アドレスを第1の出力アドレスに変換する為の第1のアドレス変換規則を決定するステップと、第2の入力アドレスを第2の出力アドレスに変換する為の第2のアドレス変換規則を決定するステップと、を含む。更に、この方法は、第1のアドレス変換規則及び第2のアドレス変換規則の少なくとも一方を使用して、メモリアドレスに基づいて、アクセスアドレスを決定するステップを含む。
一態様では、アクセスアドレスにおいてメモリにアクセスする装置が、第1の入力アドレスを第1の出力アドレスに変換するように構成された第1のアドレス変換器と、第2の入力アドレスを第2の出力アドレスに変換するように構成された第2のアドレス変換器と、を含む。この装置は、第1のアドレス変換器及び第2のアドレス変換器の少なくとも一方を使用して、メモリアドレスをアクセスアドレスに変換するように構成されている。
独立請求項は、本発明を様々な態様で定義する。従属請求項は、それらの様々な態様における本発明による実施形態について述べる。
以下の図面を参照しながら詳細説明を読むことにより、目的及び特徴が明らかになるであろう。
幾つかの実施形態によるシステムを概略的に示すブロック図である。 幾つかの実施形態によるシステムを概略的に示すブロック図である。 幾つかの実施形態によるシステムを概略的に示すブロック図である。 幾つかの実施形態によるシステムを概略的に示すブロック図である。 幾つかの実施形態によるシステムを概略的に示すブロック図である。
以下では、添付図面を参照しながら、実施形態、実施態様、及び関連する効果を開示する。本明細書では、類似の用語は、全説明を通して類似の要素を意味する。
図1は、幾つかの実施形態による一例示的システムを示す。本システムは装置として実施可能であり、実施要件によっては、本システムの実施形態の構成要素が、ハードウェアの形で、且つ/又はソフトウェアの形で実施されてよい。
本システムは、中央処理ユニット(CPU)などのプロセッサ110と、複数のメモリセグメントとを含む。メモリセグメントは、様々なメモリ技術又は記憶技術を含んでよい。例えば、1つのメモリセグメントは、本明細書では「作動メモリセグメント120」と呼ばれる、第1の不揮発性メモリNVM_1として与えられる。作動メモリセグメント120は、作動するアドレス範囲をあらかじめ決められてよい。本システムは、作動メモリセグメントを、本システムの通常又は日常の作動において使用するように構成されてよい。
作動メモリセグメント120に加えて、本システムは更に、本明細書では「第1の拡張メモリセグメント130」と呼ばれる別のメモリセグメントを含み、これは、実施形態によっては、第2の不揮発性メモリNVM_2として与えられる。更に、作動メモリセグメント120に加えて、本システムは、また別の、本明細書では「第2の拡張メモリセグメント140」と呼ばれるメモリセグメントを含み、これは、実施形態によっては、揮発性メモリとして与えられる。作動メモリセグメント120、第1の拡張メモリセグメント130、及び/又は第2の拡張メモリセグメント140は、CPU 110と結合されている。例えば、本システムは、CPU 110が作動メモリセグメント120、第1の拡張メモリセグメント130、及び/又は第2の拡張メモリセグメント140のアドレスを指定することを可能にするように構成された、アドレスバス170などのアドレス結合を含んでよい。当然のことながら、メモリセグメントの数は3に限定されず、本システムは、より多くのメモリセグメントを包含してよい。更に、「メモリセグメント」という言い回しは、限定として理解されるべきではない。本明細書における「メモリセグメント」という言い回しは、記憶装置、メモリ、メモリ部分、メモリ装置、メモリ回路などの意味を包含する。
CPU 110は、本明細書では「メモリアドレス」MEM_ADDRと呼ばれるメモリアクセスアドレスを使用して作動メモリセグメント120にアクセスするように構成されてよい。メモリアドレスMEM_ADDRは、作動アドレス範囲内になるように、あらかじめ決定されてよい。実施形態によっては、作動アドレス範囲は、作動メモリセグメント120のアドレスを指定する為に利用可能な物理アドレスの範囲の境界の内側にある。
実施形態によっては、作動メモリセグメント120は、CPU 110と結合される不揮発性メモリ配列の第1のセグメント又は第1の部分(第1の不揮発性メモリNVM_1)として与えられる。実施態様によっては、不揮発性メモリ配列の少なくとも一部分が、CPU 110を含む他の回路と統合される。不揮発性メモリ配列は、例えば、フラッシュメモリ、強誘電体ランダムアクセスメモリ、相転移ランダムアクセスメモリ、ミリピードメモリ、及び/又は磁気抵抗メモリを含んでよい。
実施形態によっては、第1の拡張メモリセグメント130(第2の不揮発性メモリNVM_2)は、不揮発性メモリ配列の第2のセグメント又は第2の部分として与えられる。実施形態によっては、作動メモリセグメント120(第1の不揮発性メモリNVM_1)及び第1の拡張メモリセグメント130(第2の不揮発性メモリNVM_2)は、単一フラッシュメモリ装置の一部分を形成する。実施形態によっては、単一フラッシュメモリ装置にCPU 110が埋め込まれる。
第1の拡張メモリセグメント130は、作動アドレス範囲とは異なる第1の拡張アドレス範囲(本明細書では簡潔に第1のアドレス範囲とも呼ばれる)を有する。実施態様によっては、作動アドレス範囲と第1の拡張アドレス範囲は重ならない。即ち、作動アドレス範囲と第1の拡張アドレス範囲には共通のアドレスが全くない。
実施形態によっては、第1の拡張アドレス範囲は、作動アドレス範囲と同等の数のアドレスを包含する。少なくとも1つの可能な効果として、第1の拡張メモリセグメント130(第2の不揮発性メモリ)は、いわゆる「オーバレイ」ランダムアクセスメモリ(RAM)として使用されてよい。オーバレイRAMは、較正パラメータ値のセットを記憶するように構成されてよく、このそれぞれが、作動メモリセグメント120(第1の不揮発性メモリ)に記憶されている、対応する、較正パラメータ値のセットの中の1つと対応する。後で述べるように、そのような実施形態は、本システムの作動パラメータ値の較正において使用されてよい。又、実施形態によっては、オーバレイRAMは、CPUによって実行されるように構成されたソフトウェアコードを記憶するように構成されてよい。特に、このソフトウェアコードは、作動メモリセグメントに記憶されているソフトウェアのコピー又は更新バージョンであってよい。
実施形態によっては、第2の拡張メモリセグメント140は、CPU 110と結合された揮発性メモリとして与えられる。揮発性メモリは、例えば、動的ランダムアクセスメモリ(DRAM)として、又は静的ランダムアクセスメモリ(SRAM)として与えられてよい。第2の拡張メモリセグメント140(揮発性メモリ)は、CPU 110を含む回路に埋め込まれてよい。第2の拡張メモリセグメント140は又、CPU 110とは別個の回路ブロックとして実施されてもよい。少なくとも1つの可能な効果として、揮発性メモリへのアクセスは、不揮発性メモリへのアクセスより高速であることが可能である。
実施形態によっては、第2の拡張メモリセグメント140は、作動アドレス範囲とも第1の拡張アドレス範囲とも異なる第2の拡張アドレス範囲(本明細書では簡潔に第2のアドレス範囲とも呼ばれる)を有してよい。例えば、第2の拡張アドレス範囲は、作動アドレス範囲とも第1の拡張アドレス範囲ともアドレスを全く共有しないように異なってよい。従って、実施形態によっては、第2の拡張アドレス範囲は、他のどのアドレス範囲とも重ならない。少なくとも1つの可能な効果として、本システムは、較正のような、多数の読み書きサイクルを必要とするアクティビティを実施する際に、(特に揮発性RAMとして与えられる)第2の拡張メモリセグメントを使用するように構成されてよい。従って、フラッシュメモリが早く劣化することを回避できる。実施形態によっては、第2の拡張アドレス範囲は、包含するアドレス数が、第1の拡張アドレス範囲よりも少ない。少なくとも1つの可能な効果として、第2の拡張メモリセグメントは、必要なチップ面積が少なくてよく、作動時には(例えば、読み出しアクセスを実施する場合や書き込みアクセスを実施する場合には)消費電力が第1の拡張メモリセグメントより少ないことが可能である。
図1に示された例示的システムは更に、本明細書では簡潔に「アドレス変換器」とも呼ばれる複数のアドレスマッピングブロックを含み、これらは、メモリアドレスMEM_ADDRを、本明細書では「アクセスアドレス」とも呼ばれるマッピング済みアドレスにマッピングするように構成されている。少なくとも1つの可能な効果として、変換器がメモリアドレスMEM_ADDRを、第1の拡張アドレス範囲内、又は第2の拡張アドレス範囲内のアクセスアドレスに変換する場合には、メモリアドレスMEM_ADDRは、作動メモリセグメント以外のメモリへのアクセスに使用されてよい。
図1に示された実施例では、本システムは、第1のアドレス変換器150を含む。第1のアドレス変換器150は、CPU 110と第1の拡張メモリセグメント130との結合の一部を成す。第1のアドレス変換器150は、メモリアドレスMEM_ADDRをアクセスアドレスACC_ADDR_1に変換するように構成されている。実施形態によっては、第1のアドレス変換器150は、メモリアドレスMEM_ADDRを変換する為に第1の変換規則を使用するように構成されている。実施形態によっては、第1のアドレス変換器150は、実施態様によってはあらかじめ決定されている第1の優先度に関連付けられており、実施形態によっては、第1のアドレス変換器150に関連付けられる優先度は変動する可能性がある。実施形態によっては、第1のアドレス変換器は、メモリアクセスに関連付けられた優先度が、第1のアドレス変換器150に関連付けられた第1の優先度と矛盾しない場合のみ、メモリアドレスMEM_ADDRを変換するように構成されている。
更に、本システムは、第2のアドレス変換器160を含んでよい。第2のアドレス変換器160は、CPU 110と第2の拡張メモリセグメント140との結合の一部を成す。第2のアドレス変換器160は、メモリアドレスMEM_ADDRをアクセスアドレスACC_ADDR_2に変換するように構成されている。実施形態によっては、第2のアドレス変換器160は、メモリアドレスMEM_ADDRを変換する為に第2の変換規則を使用するように構成されており、第2の変換規則は第1の変換規則と異なる。実施形態によっては、第2のアドレス変換器160は、第1の優先度と異なる第2の優先度に関連付けられている。実施形態によっては、第2のアドレス変換器160が第2の優先度に関連付けられているという事実は、あらかじめ決定されている。実施形態によっては、第2のアドレス変換器160に関連付けられた優先度は、変動する可能性がある。実施形態によっては、第2のアドレス変換器160は、メモリアクセスに関連付けられた優先度が、第2のアドレス変換器160に関連付けられた第2の優先度と矛盾しない場合のみ、メモリアドレスMEM_ADDRを変換するように構成されている。
本システムは、制御信号を、第1の制御接続185を介して第1のアドレス変換器150に送信するか、且つ/又は、第2の制御接続186を介して第2のアドレス変換器160に送信するように構成された、制御バス180などの制御結合を含んでよい。
実施形態によっては、第1のアドレス変換器150とCPU 110とが結合される。この結合は、メモリにアクセスする為のメモリアドレスMEM_ADDRをCPU 110から第1のアドレス変換器150に送信するように構成されてよい。例えば、この結合は、アドレスバス170への第1の変換器アドレス接続175によって与えられてよい。第1のアドレス変換器150は、第1の拡張アクセス接続153によって、第1の拡張メモリセグメント130と結合されてよく、第1の拡張アクセス接続153は、CPU 110が第1のアドレス変換器150を介して第1の拡張メモリセグメント130にアクセスすることを可能にするように構成されている。更に、CPU 110と第1のアドレス変換器150との間の結合は、制御バス180への第1の変換器制御接続185を含んでよく、第1の変換器制御接続185は、CPU 110から第1のアドレス変換器150に制御信号を与えるように構成されている。後で詳述するように、この制御信号は、アクセス及び/又はメモリアドレスMEM_ADDRに関連付けられた優先度を表すアクセス優先度信号ACC_PRIOを含んでよい。
同様に、実施形態によっては、第2のアドレス変換器160とCPU 110との結合が与えられる。この結合は、メモリにアクセスする為のメモリアドレスMEM_ADDRをCPU 110から第2のアドレス変換器160に送信するように構成されてよい。例えば、この結合は、アドレスバス170への第2の変換器アドレス接続176によって与えられてよい。第2のアドレス変換器160は、第2の拡張アクセス接続164によって、第2の拡張メモリセグメント140と結合されてよく、第2の拡張アクセス接続164は、CPU 110が第2のアドレス変換器160を介して第2の拡張メモリセグメント140にアクセスすることを可能にするように構成されている。更に、CPU 110と第2のアドレス変換器160との結合は、制御バス180への第2の変換器制御接続186を含んでよく、第2の変換器制御接続186は、CPU 110から第2のアドレス変換器160に制御信号を与えるように構成されている。
実施形態によっては、CPU 110は、アクセス情報、例えば、アクセスの種類(読み出しアクセス/書き込みアクセス)、アクセスの対象(命令のフェッチ、パラメータ値の読み出し)、作動モード(通常の作動、較正中の作動)などに基づいてアクセス優先度信号ACC_PRIOを生成するように構成されている。CPUは、アクセス優先度信号ACC_PRIOを、第1のアドレス変換器150及び第2のアドレス変換器160の少なくとも一方に送信する為に制御バス180に出力するように構成されてよい。
以下では、(例えば、上述されたような)幾つかの実施形態に従って本システムを作動させることの例示的実施態様を説明する。
一例示的実施態様では、本システムは、(例えば、自動車環境において)エンジンの制御に使用される。例えば、CPU 110は、自動車のエンジン及び/又はパワートレインを制御するように構成されてよい。実施態様によっては、CPU 110は、作動アドレス範囲内のアドレスを参照して、作動メモリセグメント120に記憶されているソフトウェアを実行するように構成されている。ソフトウェアの実行は、使用状況に応じて値が異なってよいパラメータ変数の参照を含んでよい。例えば、所与のパラメータ変数の値を、状況に応じて、例えば、時間とともに減らしたり、増やしたり、他の形で変化させたりしてよい。パラメータ値は、頻繁な測定と更新が必要なものもあれば、作動の為には一定と見なされてよいものもある。しかしながら、一定パラメータであっても、較正と呼ばれる最初の決定が必要であり、又、一定パラメータも時々は再較正が必要になる場合がある。実施態様によっては、パラメータ変数の一定値は、いったん決定されたら、例えば、ソフトウェアの必須な一部分として、ソフトウェアとともに作動メモリセグメント120に記憶される。
実施態様によっては、一定パラメータ変数の値の較正が実施される。この実施例で使用される「較正」は、「再較正」の意味を包含する。較正を実施する為に、作動メモリセグメントに記憶されているソフトウェアが、第1の拡張メモリセグメント130にコピーされる。較正が実施されている間は、メモリアクセスの全て又は一部を第1の拡張メモリセグメント130に対して行う為に、第1のアドレス変換器150が使用される。
実施態様によっては、一定パラメータ変数の値の較正が実施されている間は、較正対象のパラメータの値が、第2の拡張メモリセグメント140に記憶される。従って、較正が実施されている間は、メモリアクセスを第2の拡張メモリセグメント140に対して行う為に、第2のアドレス変換器160が使用される。少なくとも1つの可能な効果として、(例えば、較正中に実施された測定の結果として)較正中にパラメータ変数の更新が必要になった場合は、パラメータ変数の更新値が第2の拡張メモリセグメント140に書き込まれてよい。必要であれば、或いは望ましければ、(例えば、更新値に基づいて較正中にエンジンを制御する為に)第2の拡張メモリセグメント140から更新値を読み出す為に、第2の拡張メモリセグメント140へのアクセスが実施されてもよい。
上述のように、第1のアドレス変換器150は、メモリアドレスMEM_ADDRをアクセスアドレスACC_ADDR_1に変換する為に第1の変換規則を使用する。同様に、第2のアドレス変換器160は、メモリアドレスMEM_ADDRをアクセスアドレスACC_ADDR_2に変換する為に第2の変換規則を使用する。
第1の変換規則及び第2の変換規則に応じて、幾つかのメモリアドレスMEM_ADDRが、相異なる2つのアクセスアドレスに関連付けられてよい。例えば、作動メモリセグメント120内の、パラメータ値が書き込まれる場所のメモリアドレスMEM_ADDRが、第1の変換規則に従って、第1のアドレス変換器150によって、第1の拡張メモリセグメント130内の、パラメータ値がソフトウェアのコピーの一部分として記憶される場所である第1のアクセスアドレスに変換される。同じメモリアドレスMEM_ADDRが、更に、第2のアドレス変換器160によって、第2の拡張メモリセグメント140内の、更新されたパラメータ値が記憶される場所である第2のアクセスアドレスに変換されてよい。
実施態様によっては、第1のアドレス変換器150及び第2のアドレス変換器160は、どのアクセスアドレスをメモリアクセスで使用するかを決定する為に、CPU 110によって与えられるアクセス優先度信号ACC_PRIOを使用してよい。例えば、第2のアドレス変換器160が最高優先度に関連付けられていて、第1のアドレス変換器150がより低い優先度に関連付けられている場合で、且つ、あるアクセスが最高優先度に関連付けられている場合、このアクセスは第2のアドレス変換器160だけを使用して実施されることが可能であり、従って、このアクセスは、第2の拡張メモリセグメント140のアクセスアドレスACC_ADDR_2において実施される。
上述の優先度に基づくアクセスは、優先度が、読み出しや書き込みなどのアクセス作動、及び変数値や命令コードなどのアクセス作動引数の種類に関連付けられる実施例において、記載のように行われてよい。例えば、命令コードの行をメモリから読み出す読み出しアクセスが最低の優先度に関連付けられてよく、変数の値を読み出す読み出しアクセスがより高い優先度に関連付けられてよい。
少なくとも1つの可能な効果として、パラメータ変数値の読み出し及び/又は書き込みの為のアクセスは第2の拡張メモリセグメント140、即ち、揮発性メモリに対して行われてよく、他のアクセスは、第1の拡張メモリセグメント130、即ち、不揮発性メモリに対して行われる。特に、この効果は、例外的な作動の間に使用されてよく、例えば、CPU 110が作動メモリ120にアクセスするだけでよい通常の作動とは異なる較正の間に使用されてよい。従って、実施態様によっては、較正が行われない場合、例えば、較正が完了している場合には、CPU 110は、最低優先度を表すようにアクセス優先度信号ACC_PRIOを出力してよい。第1のアドレス変換器150も第2のアドレス変換器160も最低優先度に関連付けられていない場合には、メモリアドレスMEM_ADDRは、作動メモリセグメント120内のメモリにアクセスする為に使用されてよい。
本明細書に記載の実施態様は、例示的実施形態に関して記載されている。しかしながら、当然のこととして、それらの実施態様の個々の態様は、別々に特許請求されてよく、様々な実施形態の特徴の1つ以上が組み合わされてよい。
一般に、一態様では、メモリアドレスに基づいてメモリにアクセスする装置が、メモリアドレスをアクセスアドレスに変換するように構成された第1のアドレス変換器と、メモリアドレスをアクセスアドレスに変換するように構成された第2のアドレス変換器と、を含む。本装置は、メモリアドレスに基づいて、第1のアドレス変換器及び第2のアドレス変換器のうちの少なくとも一方を使用するように構成されている。実施形態によっては、メモリは、作動アドレス範囲に関連付けられた作動メモリセグメントと、第1の拡張アドレス範囲に関連付けられた第1の拡張メモリセグメントと、第2の拡張アドレス範囲に関連付けられた第2の拡張メモリセグメントと、を含む。第1の拡張アドレス範囲及び第2の拡張アドレス範囲のそれぞれが、少なくとも第1のアドレス変換規則及び第2のアドレス変換規則の異なるいずれかに関連付けられている。メモリを使用する一例示的方法は、運用段階において、メモリアドレスを使用して、作動アドレス範囲に関連付けられた作動メモリセグメントにアクセスするステップを含む。更に、本方法は、パラメータ値の設定又は較正の段階において、第1の変換規則及び第2の変換規則のうちの選択された一方を選択するステップと、メモリアドレスを第1の拡張アドレス範囲内又は第2の拡張アドレス範囲内のアクセスアドレスに変換するステップと、を含む。実施態様によっては、本方法は、アクセスアドレスを使用して、第1の拡張アドレス範囲及び第2の拡張アドレス範囲のうちの選択された一方に関連付けられた拡張メモリセグメントにアクセスするステップを含む。選択するステップは、メモリアドレスが第1の変換規則及び第2の変換規則の両方の対象になりうる場合に、第1の変換規則及び第2の変換規則のどれを実施するかを決定する為に、第1の変換規則又は第1の拡張アドレス範囲のうちの選択された一方に関連付けられた第1の優先度と、第2の変換規則又は第2の拡張アドレス範囲に関連付けられた第2の優先度とを使用することが可能なように実施されてよい。一実施形態では、最高優先度に関連付けられた変換規則が使用される。実施態様によっては、関連付けられた優先度とアクセス優先度とが一致する変換規則が使用される。実施形態によっては、第1の優先度は、第1の変換規則と静的に関連付けられるようにあらかじめ決定される。同様に、第2の優先度は、第2の変換規則と静的に関連付けられるようにあらかじめ決定される。
一般に、別の態様では、プロセッサと結合されたメモリにアクセスするように構成されたプロセッサで用いられるパラメータ値取得方法が、作動アドレス範囲に関連付けられた作動メモリセグメントを含む。メモリは更に、第1のアドレス範囲に関連付けられた第1の拡張メモリセグメントを含む。第1のアドレス範囲は、少なくとも2つの優先度のうちの1つに関連付けられる。メモリは更に、第2のアドレス範囲に関連付けられた第2の拡張メモリセグメントを含む。第2のアドレス範囲は、少なくとも2つの優先度のうちの別の1つに関連付けられる。本方法は、運用段階において、作動アドレスを使用して、作動アドレス空間に関連付けられた作動メモリセグメントからパラメータ値を読み出すステップを含む。本方法は更に、パラメータ値の設定又は較正の段階において、メモリアドレスを第1のアドレス範囲内のアクセスアドレスに変換する為の第1の変換規則と、メモリアドレスを第2のアドレス範囲内のアクセスアドレスに変換する為の第2の変換規則と、のうちの選択された一方を選択するステップを含む。本方法は、メモリアドレスを、第1のアドレス範囲及び第2のアドレス範囲のうちの選択された範囲内のアクセスアドレスに変換するステップを含む。実施形態によっては、本方法は、アクセスアドレスを使用して、第1の拡張メモリセグメント又は第2の拡張メモリセグメントにアクセスするステップを含み、このステップは、例えば、第1の拡張メモリセグメント及び第2の拡張メモリセグメントのうちのどれが、第1のアドレス範囲及び第2のアドレス範囲のうちの選択された一方に関連付けられるかに応じて実施される。
実施形態によっては、第1のアドレス範囲及び第2のアドレス範囲のうちの選択された一方を選択するステップは、第1のアドレス範囲及び第2のアドレス範囲のうちの選択された一方に関連付けられた優先度がアクセス優先度と一致することに基づく。優先度は、メモリアドレスの変換を実施する為に使用されるアドレス変換器に静的に関連付けられてよい。実施形態によっては、優先度はあらかじめ決定されてよい。実施形態によっては、パラメータ値書き込みアクセスのアクセス優先度は高く、パラメータ値読み出しアクセスのアクセス優先度は低い。実施形態によっては、命令コードへのアクセスのアクセス優先度は低く、パラメータ値アクセスのアクセス優先度は高い。
図2は、幾つかの実施形態によるシステムを概略的に示すブロック図である。図2に示されるシステムは、図1のシステムと似ている。全体にわたって、同様の要素は同様の参照符号(2桁目及び3桁目)を有しており、これらについての説明の繰り返しは不要である。
以下では、幾つかの違いを説明する。上述のように、図1のシステムでは、アドレスバス170が第1の変換器アドレス接続175を介して第1のアドレス変換器150と結合されており、第1のアドレス変換器150は、第1の拡張アクセス接続153を介して第1の拡張メモリセグメント130と結合されている。更に、アドレスバス170は、第2の変換器アドレス接続176を介して第2のアドレス変換器160と結合されており、第2のアドレス変換器160は、第2の拡張アクセス接続164を介して第2の拡張メモリセグメント140と結合されている。少なくとも1つの可能な効果として、図1のシステムの作動においては、第2のアドレス変換器160は、アドレスバス170を介して、CPU 110からメモリアドレスMEM_ADDRを受け取る。図2のシステムが図1のシステムと異なるのは、第2のアドレス変換器260が、アドレスバス270と直接結合されるのではなく、第2の変換器アドレス線256を介して第1のアドレス変換器250と結合されているだけである点である。
少なくとも1つの可能な効果として、図2のシステムの作動においては、第2のアドレス変換器260は、第1のアドレス変換器250から、変換されたアドレスを受け取る。1つの可能な効果として、第1のアドレス変換器250がメモリアドレスMEM_ADDRを全く同じに第1のアクセスアドレスACC_ADDR_1に変換しない限り(即ち、ACC_ADDR_1=MEM_ADDRとしない限り)、第2のアドレス変換器260はメモリアドレスMEM_ADDRを変換しない。
図3は、幾つかの実施形態によるシステムを概略的に示すブロック図である。図3に示されるシステムは、図1のシステムと似ている。全体にわたって、同様の要素は同様の参照符号(2桁目及び3桁目)を有しており、これらについての説明の繰り返しは不要である。
以下では、幾つかの違いを説明する。上述のように、図1のシステムでは、アドレスバス170がCPU 110と結合されている。少なくとも1つの可能な効果として、CPUは、メモリアドレスMEM_ADDRをアドレスバス170に渡し、このアドレスは、作動メモリセグメント120への直接アクセスで使用されるか、第1のアドレス変換器150によって変換されて、第1の拡張メモリセグメント130へのアクセスで使用されるか、第2のアドレス変換器160によって変換されて、第2の拡張メモリセグメント140へのアクセスで使用される。図3のシステムが図1のシステムと異なるのは、CPU 110がアドレスバス170と直接結合される代わりに、CPU 310が第1の変換器アドレス線315を介して第1のアドレス変換器350と結合されている点である。そして、第1のアドレス変換器350は、第2の変換器アドレス線356を介して、第2のアドレス変換器360と結合されている。アドレスバス370には、第2のアドレス変換器360だけが、バスアドレス線367を介して結合されている。アドレスバス370は、作動アクセス線372を介して、作動メモリ320と直接結合されている。アドレスバス370は、第1のセグメントアクセス線373を介して、第1の拡張メモリセグメント330と直接結合されている。アドレスバス370は、第2のセグメントアクセス線374を介して、第2の拡張メモリセグメント340と直接結合されている。
少なくとも1つの可能な効果として、図3のシステムの作動においては、第2のアドレス変換器360は、第1のアドレス変換器350から、変換されたアドレスを受け取り、アドレスバス370は、第2のアドレス変換器360からアクセスアドレスを受け取る。従って、実施態様によっては、第1のアドレス変換規則と第2のアドレス変換規則とが順次的に使用されてよい。別の可能な効果として、第1のアドレス変換器350がメモリアドレスMEM_ADDRを全く同じに変換済みアドレスTRANS_ADDRに変換し(即ち、TRANS_ADDR=MEM_ADDRとし)、且つ、第2のアドレス変換器360が変換済みアドレスTRANS_ADDRを全く同じにアクセスアドレスACC_ADDRに変換する(即ち、ACC_ADDR=TRANS_ADDRとする)ことを行わない限り、アドレスバス370は、CPU 310からメモリアドレスMEM_ADDRを受け取らず、第1のアドレス変換器350から変換済みアドレスTRANS_ADDRを受け取らない。そのような実施態様は、メモリへのアクセスに使用される複数の潜在的アクセスアドレスの中の1つを選択することを不要にする。
運用時には、例えば、参照符号319に示されるように、アドレス空間が、10個のメモリセルを、対応する10個のアドレスに包含することが可能であり、4個のアドレスで作動メモリセグメント320にアクセスし、4個のアドレスで第1の拡張メモリセグメント330にアクセスし、2個のアドレスで第2の拡張メモリセグメント340にアクセスすることが可能である。この例では、作動メモリセグメント320にアクセスする為に使用される4個のアドレスに値D、C、B、Aが書き込まれる。参照符号359に示されるように、第1の例示的変換規則によれば、第1のアドレス変換器350は、値D、C、及びBに関連付けられたアドレスを、第1の拡張メモリセグメント330のアドレス空間内の変換済みアドレスに変換し、一方、他のアドレスは変換されない。参照符号369に示されるように、第2の例示的変換規則によれば、第2のアドレス変換器360は、値Cに関連付けられたアドレスを、第2の拡張メモリセグメント340のアドレス空間内のアクセスアドレスに変換し、一方、他のアドレスは変換されない。
図4は、幾つかの実施形態によるシステムを概略的に示すブロック図である。図4に示されるシステムは、図3のシステムと似ている。全体にわたって、同様の要素は同様の参照符号(2桁目及び3桁目)を有しており、これらについての説明の繰り返しは不要である。
以下では、幾つかの違いを説明する。上述のように、図3のシステムでは、CPU 310は、第1のアドレス変換器350及び第2のアドレス変換器360を介してアドレスバス370と間接的に結合されているだけである。
図4のシステムが図3のシステムと異なるのは、本システムがアービタ装置480を含む点である。従って、実施態様によっては、第1のアドレス変換規則と第2のアドレス変換規則とを並行して適用してよい。CPU 410は、第1のアドレス変換器450と結合されてよく、又、CPUアドレス接続418を介してアービタ装置480と結合されてよい。更に、第1のアドレス変換器450は、第2のアドレス変換器460と結合されてよく、又、第1の変換器アドレス接続458を介してアービタ装置480と結合されてよい。少なくとも1つの可能な効果として、第1のアドレス変換器450は、変換済みアドレスを第1のアクセスアドレスACC_ADDR_1としてアービタ装置480及び第2のアドレス変換器460に出力してよく、第2のアドレス変換器460に出力された変換済みアドレスは更に、第2のアクセスアドレスACC_ADDR_2に変換されてアービタ装置480に出力される。
実施形態によっては、アービタ装置480はアドレスバス470と結合されている。実施形態によっては、アービタ装置480は、メモリアドレスMEM_ADDR、第1のアクセスアドレスACC_ADDR_1、及び第2のアクセスアドレスACC_ADDR_2のどれを、メモリへのアクセスで使用する為にアドレスバス470に出力するかを決定するように構成されている。アドレスバス470は、作動アクセス接続472を介して、作動メモリセグメント420と結合されている。アドレスバス470は更に、第1のセグメントアクセス接続473を介して、第1の拡張メモリセグメント430と結合されてよい。アドレスバス470は又、第2のセグメントアクセス接続474を介して、第2の拡張メモリセグメント440と結合されてよい。
図3のシステムではアドレスバス370が第2のアドレス変換器360と直接結合されているが、これとは異なり、図4に示されたシステムでは、第2のアドレス変換器460は、第2の変換器バス接続468を介して、アービタ装置480と結合されている。少なくとも1つの可能な効果として、アービタ装置480は、メモリアドレスMEM_ADDR、第1のアクセスアドレスACC_ADDR_1、又は第2のアクセスアドレスACC_ADDR_2のうちのどのアドレスをメモリへのアクセスに使用するかを決定するように構成されてよい。実施態様によっては、アービタ装置480は、第1の制御接続485を介して、第1のアドレス変換器450と結合される。少なくとも1つの可能な効果として、アービタ装置480は、第1のアドレス変換器450のアクティビティを表す第1の制御信号CTRL_1を受け取るように構成されてよい。
同様に、アービタ装置480は、第2の制御接続486を介して、第2のアドレス変換器460と結合される。少なくとも1つの可能な効果として、アービタ装置480は、第2のアドレス変換器460のアクティビティを表す第2の制御信号CTRL_2を受け取るように構成されてよい。従って、アービタ装置480は、メモリアドレスMEM_ADDR、第1のアクセスアドレスACC_ADDR_1、及び第2のアクセスアドレスACC_ADDR_2のうちのどれをメモリへのアクセスで使用するかという選択を、第1の制御信号CTRL_1及び/又は第2の制御信号CTRL_2に基づいて実施してよい。実施態様によっては、例えば、アービタ装置480は、第2のアドレス変換器460が第1のアクセスアドレスACC_ADDR_1を第2のアクセスアドレスACC_ADDR_2に変換したことが第2の制御信号CTRL_2によって示された場合には必ず、第2のアクセスアドレスACC_ADDR_2をメモリへのアクセスで使用することを決定してよい。
実施態様によっては、第1の制御接続及び/又は第2の制御接続は不要である。そのような実施態様では、アービタ装置480は、第1のアクセスアドレスACC_ADDR_1及び/又は第2のアクセスアドレスACC_ADDR_2の存在を検出するように構成されてよい。例えば、アービタ装置480は、第2のアクセスアドレスACC_ADDR_2の存在を検出した場合には必ず、第2のアクセスアドレスACC_ADDR_2をメモリへのアクセスで使用するように構成されてよい。従って、アービタ装置480は、第2のアクセスアドレスACC_ADDR_2でのアクセスに最高優先度を与えてよい。
図3の説明で例示的に使用された実施例と同様に、運用時には、参照符号419に示されるように、アドレス空間が、10個のメモリセルを、対応する10個のアドレスに包含することが可能であり、4個のアドレスで作動メモリセグメント420にアクセスし、4個のアドレスで第1の拡張メモリセグメント430にアクセスし、2個のアドレスで第2の拡張メモリセグメント440にアクセスすることが可能である。この例では、作動メモリセグメント420にアクセスする為に使用される4個のアドレスに値D、C、B、Aが書き込まれる。参照符号459に示されるように、第1の例示的変換規則によれば、第1のアドレス変換器450は、値D、C、及びBに関連付けられた、作動メモリセグメント420のアドレス空間内のアドレスを、第1の拡張メモリセグメント430のアドレス空間内の変換済みアドレスに変換し、作動メモリセグメント420のアドレス空間内の他のアドレスは変換されない。参照符号469に示されるように、第2の例示的変換規則によれば、第2のアドレス変換器460は、値Cに関連付けられた、第1の拡張メモリセグメント430のアドレス空間内のアドレスを、第2の拡張メモリセグメント440のアドレス空間内のアクセスアドレスに変換し、第1の拡張メモリセグメント430のアドレス空間内の他のアドレスは変換されない。
図5は、幾つかの実施形態によるシステムを概略的に示すブロック図である。図5に示されるシステムは、図4のシステムと似ている。全体にわたって、同様の要素は同様の参照符号(2桁目及び3桁目)を有しており、これらについての説明の繰り返しは不要である。
以下では、幾つかの違いを説明する。上述のように、図4のシステムはアービタ装置480を含み、アービタ装置480は、メモリアドレスMEM_ADDR、第1のアクセスアドレスACC_ADDR_1、及び第2のアクセスアドレスACC_ADDR_2のうちのどれをメモリへのアクセスで使用する為にアドレスバス470に出力するかを決定するように構成されてよい。CPU 410は、第1のアドレス変換器450及び第2のアドレス変換器460を介して間接的にアドレスバス470と結合されているだけである。
図5のシステムが図4のシステムと異なるのは、第2のアドレス変換器560が、第2の変換器アドレス接続516を介して、CPU 510と直接結合されている点である。少なくとも1つの可能な効果として、第2のアドレス変換器560は、メモリアドレスMEM_ADDRを第2のアクセスアドレスACC_ADDR_2に変換するように構成されてよい。そのような実施態様は、特に効率的でありうる。
図5に示された例示的システムの運用時には、図3及び図4の説明で例示的に使用された実施例と同様に、参照符号519に示されるように、アドレス空間が、10個のメモリセルを、対応する10個のアドレスに包含することが可能であり、4個のアドレスで作動メモリセグメント520にアクセスし、4個のアドレスで第1の拡張メモリセグメント530にアクセスし、2個のアドレスで第2の拡張メモリセグメント540にアクセスすることが可能である。この例では、作動メモリセグメント520にアクセスする為に使用される4個のアドレスに値D、C、B、Aが書き込まれる。参照符号559に示されるように、第1の例示的変換規則によれば、第1のアドレス変換器550は、値C及びBに関連付けられた、作動メモリセグメント520のアドレス空間内のアドレスを、第1の拡張メモリセグメント530のアドレス空間内の変換済みアドレスに変換し、作動メモリセグメント520のアドレス空間内の他のアドレスは変換されない。参照符号569に示されるように、第2の例示的変換規則によれば、第2のアドレス変換器560は、値Bに関連付けられた、作動メモリセグメント520のアドレス空間内のアドレスを、第2の拡張メモリセグメント540のアドレス空間内のアクセスアドレスに変換し、作動メモリセグメント520のアドレス空間内の他のアドレスは変換されない。
本明細書に開示の装置及び/又は方法を使用することの可能な効果として、第1のメモリセグメントのアドレス範囲へのアクセスが、例えば、第1のメモリセグメントから第2のメモリセグメントへリダイレクトされることが可能である。このリダイレクトは選択的に行われてよい。即ち、第1のアドレス範囲は、第1のメモリセグメントの全アドレス範囲より小さくてよい。従って、第2のメモリセグメントは、第1のメモリセグメントより小さくてよい。例えば、一実施態様では、定数を第2のメモリセグメントに記憶することがあらかじめ決定されている、第1のメモリセグメントへのアクセスが、第2のメモリセグメントにリダイレクトされてよい。更に、選択された定数を第2のメモリセグメントに記憶するようにあらかじめ決定されている、第1のアドレス範囲の中の1つ以上の選択された副範囲へのアクセスが、第3のメモリセグメントにリダイレクトされてよい。従って、第3のメモリセグメントにおいて、選択された定数のサブセットがアクセスされてよい。実施形態によっては、第3のメモリセグメントは、選択された定数のサブセットを記憶するのに必要である以上に大きくなくてよい。
2つの優先度を使用せずにアドレス変換が行われる一ソリューションでは、図3から図5に示された実施例に対応する一実施例では、1つのアドレス変換器が、値Bへのアクセスの為のアドレスを変換することを必要とされ、1つのアドレス変換器が、値Cへのアクセスの為のアドレスを変換することを必要とされ、1つのアドレス変換器が、値Dへのアクセスの為のアドレスを変換することを必要とされ、即ち、3つのアドレス変換器が全て必要とされる。これに対し、本開示の根底を成す概念に従って、第1のアドレス範囲が一括して変換済みアドレス範囲に変換される実施形態や、変換済みアドレス範囲内の選択された副範囲が、対応する出力アドレス範囲に変換される実施形態では、アドレス変換を実施するのに必要なアドレス変換器の数がより少なくてよい。図示された実施例では、値A、B、C、Dが記憶されているメモリにアクセスする為に、値B、C、及びDが記憶されているメモリアドレス範囲を一括変換する1つのアドレス比較器が必要とされる。次に、値Cが記憶されているメモリへのアクセスの為に、変換済みアドレス範囲を変換する1つのアドレス比較器が必要とされる。即ち、アドレス変換器は2つあればよい。
2つのアドレス変換器を有する実施例を用いて、本開示の根底を成す概念を説明してきたが、当然のことながら、3つ以上のアドレス変換器が使用されてよい。本開示を用いることにより、当業者であれば、より多くのアドレス変換器が与えられた実施形態を、例えば、図2及び図3に示された実施形態のいずれかの変形形態として、順次的に、或いは、例えば、図1及び図5に示された実施形態のいずれかの変形形態として、並行して、或いは、例えば、図4に示された実施形態の変形形態として、両方を組み合わせて実施することが可能であろう。
本明細書における「アドレス範囲」という言い回しは、アドレス範囲が一連の連続的なアドレスであることを必ずしも必要としない。実施態様によっては、1つのアドレス範囲が、互いにつながっていないか別々である為に連続していない複数のアドレス副範囲を包含してよい。
一般に、本明細書に記載の方法の実施態様は、プログラムコードを有するコンピュータプログラム製品として実施されてよく、このプログラムコードは、このコンピュータプログラム製品がプロセッサ上で実行された場合に、本方法のいずれかを実施するように働く。プログラムコードは、例えば、マシン可読キャリアに記憶されてよい。一実施形態は、本明細書に記載の方法のいずれかを実施するコンピュータプログラムを受信器に(例えば、電子的又は光学的に)転送するように構成された装置又はシステムを含む。受信器は、例えば、コンピュータ、モバイル装置、メモリ装置などであってよく、例えば、自動車環境におけるマイクロコントローラ及び/又はメモリであってよい。本装置又はシステムは、例えば、固定された場所にあってコンピュータプログラムを自動車内の受信器に転送するファイルサーバを含んでよい。
実施形態によっては、本明細書に記載の方法の機能性の一部又は全てを実施する為に、プログラマブルロジックデバイス(例えば、フィールドプログラマブルゲートアレイ)が使用されてよい。実施形態によっては、本明細書に記載の方法のいずれかを実施する為に、フィールドプログラマブルゲートアレイがマイクロプロセッサと協働してよい。例えば、第1のアドレス変換器及び/又は第2のアドレス変換器は、論理回路として実施されてよい。一般に、本方法は、任意のハードウェア装置で実施されてよい。
本明細書に記載の例示的実施態様/実施形態は、様々な構成要素が並置されてよいが、当然のことながら、これらの配置の構成要素は、1つ以上の装置にまとめられてよい。
本明細書では、冠詞「a」及び「an」は、特に断らない限り、又は単数形を指すことが文脈から明らかでない限り、一般に「1つ以上の」を意味するものと解釈されたい。
本明細書では、「AはBと結合されている」という言い回しは、BにCを受け入れる用意があれば、AがBにCを与えることが可能であることを意味しており、Cは、場合によって、この言い回しの文脈において記載される信号、電力、メッセージ、又は他の抽象物又は具象物である。
本明細書では、「結合されている」及び「接続されている」という語句は、様々な要素がどのようにインタフェースしているかを説明する為に用いられている場合がある。明示的に述べられているか少なくとも別の形が示唆されているのでない限り、そのように説明された様々な要素間のインタフェースは、直接的であっても間接的であってもよい。
本明細書では、「有する(having)」、「収容する(containing)」、「含む(including)」、「有する(with)」という語句、又はこれらの変形、及び同様の語句は、包含的であることを意図されたオープンエンデッドな語句である。これらの語句は、述べられた要素又は特徴の存在を示すものであるが、その他の要素又は特徴を排除するものではない。
本明細書では、「第1の」、「第2の」などの語句は、様々な要素、領域、セクションなどを記述する場合にも使用され、その場合も、限定を意図するものではない。
110、310、410、510 CPU
120、320、420、520 作動メモリセグメント
130、330、430、530 第1の拡張メモリセグメント
140、340、440、540 第2の拡張メモリセグメント
150、250、350、450、550 第1のアドレス変換器
153 第1の拡張アクセス接続
160、260、360、460、560 第2のアドレス変換器
164 第2の拡張アクセス接続
170、270、370、470、570 アドレスバス
175 第1の変換器アドレス接続
176 第2の変換器アドレス接続
180 制御バス
185 第1の変換器制御接続
186 第2の変換器制御接続
256、356 第2の変換器アドレス線
315 第1の変換器アドレス線
367 バスアドレス線
372 作動アクセス線
373 第1のセグメントアクセス線
374 第2のセグメントアクセス線
418 CPUアドレス接続
458 第1の変換器アドレス接続
468 第2の変換器バス接続
472 作動アクセス接続
473 第1のセグメントアクセス接続
474 第2のセグメントアクセス接続
480 アービタ装置
485 第1の制御接続
486 第2の制御接続
516 第2の変換器アドレス接続

Claims (20)

  1. メモリへのアクセスの為のアクセスアドレスを決定する方法であって、
    第1の入力アドレスを第1の出力アドレスに変換する為の第1のアドレス変換規則を決定するステップと、
    第2の入力アドレスを第2の出力アドレスに変換する為の第2のアドレス変換規則を決定するステップと、
    前記第1のアドレス変換規則及び前記第2のアドレス変換規則の少なくとも一方を使用して、メモリアドレスに基づいて、前記アクセスアドレスを決定するステップと、
    を含む方法。
  2. 前記第1のアドレス変換規則は第1の優先度に関連付けられており、
    前記第2のアドレス変換規則は、前記第1の優先度と異なる第2の優先度に関連付けられており、
    前記第1のアドレス変換規則及び前記第2のアドレス変換規則の前記少なくとも一方を使用する前記ステップは、前記優先度に基づいて、前記第1のアドレス変換規則及び前記第2のアドレス変換規則の一方を選択的に使用することを含む、
    請求項1に記載の方法。
  3. 前記第1のアドレス変換規則及び前記第2のアドレス変換規則の前記少なくとも一方を使用する前記ステップは、前記第2のアドレス変換規則が、前記メモリアドレスを前記第2の入力アドレスとして、前記第2の出力アドレスを、前記メモリアドレスを前記第1の入力アドレスとする前記第1の変換規則に従う前記第1の出力アドレスと異なるものとして定義するのでない限り、前記第1のアドレス変換規則が使用されるように実施される、
    請求項2に記載の方法。
  4. 前記第1のアドレス変換規則は、前記第1の出力アドレスを、第1の出力アドレス範囲にあるように定義し、前記第2のアドレス変換規則は、前記第2の出力アドレスを、前記第1の出力アドレス範囲とは少なくとも1アドレス異なる第2の出力アドレス範囲にあるように定義する、
    請求項1から3のいずれか一項に記載の方法。
  5. 前記第1のアドレス変換規則及び前記第2のアドレス変換規則の少なくとも一方を使用する前記ステップは、前記第1のアドレス変換規則を使用して前記メモリアドレスを変換済みアドレスに変換することと、前記第2のアドレス変換規則を使用して前記変換済みアドレスを前記アクセスアドレスに変換することと、を含む、
    請求項1に記載の方法。
  6. 前記第1のアドレス変換規則が、前記メモリアドレスを前記第1の入力アドレスとして、前記第1の出力アドレスは前記第1の入力アドレスと等しいと定義する場合、前記第2のアドレス変換規則は、前記メモリアドレスを前記第2の入力アドレスとして、前記第2の出力アドレスは前記第2の入力アドレスと等しいと定義する、
    請求項5に記載の方法。
  7. 前記第2のアドレス変換規則は、前記第1の出力アドレスを前記第2の入力アドレスとして、前記第2の出力アドレスは前記第2の入力アドレスと等しいと定義する、
    請求項6に記載の方法。
  8. 前記第2のアドレス変換規則が、前記メモリアドレスを前記第2の入力アドレスとして、前記第2の出力アドレスは前記第2の入力アドレスと異なると定義する場合、前記アクセスアドレスは前記第2の出力アドレスに等しい、
    請求項1から7のいずれか一項に記載の方法。
  9. 前記アクセスアドレスを前記メモリアドレスであるように定義する直接アドレスアクセス規則をあらかじめ決定し、
    作動モードでの作動を実施し、
    前記作動は前記メモリへのアクセスを含み、
    前記直接アドレスアクセス規則の使用を選択することは前記作動モードに基づく、
    請求項1に記載の方法。
  10. メモリアドレスに基づいて、アクセスアドレスにおいてメモリにアクセスする装置であって、
    第1の入力アドレス範囲にある第1の入力アドレスを第1の出力アドレスに変換するように構成された第1のアドレス変換器と、
    第2の入力アドレス範囲にある第2の入力アドレスを第2の出力アドレスに変換するように構成された第2のアドレス変換器と、を含み、
    前記第1の入力アドレス範囲又は前記第2の入力アドレス範囲のいずれかにある前記メモリアドレスに基づいて、前記第1の出力アドレス及び前記第2の出力アドレスの一方を前記アクセスアドレスとして選択するように構成されている、
    装置。
  11. 前記第1のアドレス変換器は第1の優先度に関連付けられており、
    前記第2のアドレス変換器は、前記第1の優先度と異なる第2の優先度に関連付けられており、
    前記メモリアドレスが前記第1の入力アドレス範囲並びに前記第2の入力アドレス範囲にある場合には、最高優先度に関連付けられた前記変換器に基づいて前記第1の出力アドレス及び前記第2の出力アドレスの一方を選択するように構成されている、
    請求項10に記載の装置。
  12. 前記第1の優先度に関連付けられている前記第1のアドレス変換器があらかじめ決定されており、且つ/又は、
    前記第2の優先度に関連付けられている前記第2のアドレス変換器があらかじめ決定されている、
    請求項11に記載の装置。
  13. 選択された第1の入力アドレスに対して、前記第1の出力アドレスが前記選択されたメモリアドレスに等しくなるように、且つ/又は、選択された第2の入力アドレスに対して、前記第2の出力アドレスが選択された変換済みアドレスに等しくなるように構成されている、
    請求項10から12のいずれか一項に記載の装置。
  14. 前記第1のアドレス変換器は、第1の入力アドレスを、第1の出力アドレス範囲にある第1の出力アドレスに変換するように構成されており、
    前記第2のアドレス変換器は、第2の入力アドレスを、第2の出力アドレス範囲にある第2の出力アドレスに変換するように構成されており、
    前記第2の出力アドレス範囲は、前記第1の出力アドレス範囲と少なくとも1アドレス異なる、
    請求項10から13のいずれか一項に記載の装置。
  15. 前記メモリは、前記第1のアドレス範囲に関連付けられた第1の拡張メモリセグメントと、前記第2のアドレス範囲に関連付けられた第2の拡張メモリセグメントと、を含む、
    請求項14に記載の装置。
  16. 前記第1の拡張メモリセグメントは揮発性メモリとして与えられ、
    前記第2の拡張メモリセグメントは不揮発性メモリとして与えられる、
    請求項15に記載の装置。
  17. 前記第1のアドレス変換器に、前記メモリアドレスを変換済みアドレスに変換させるように構成されており、
    前記第2のアドレス変換器に、前記変換済みアドレスを前記アクセスアドレスに変換させるように構成されている、
    請求項10に記載の装置。
  18. 作動メモリセグメントを更に含み、
    前記作動メモリセグメントは前記メモリアドレスにより直接アドレス指定可能である、
    請求項15に記載の装置。
  19. 前記作動メモリセグメントに関連付けられた作動アドレス範囲に対してアクセスが行われる作動モードと、
    前記第1のアドレス範囲及び前記第2のアドレス範囲のうちの一方に対してアクセスが行われる設定モードと、
    を選択的に作動させるように構成されている、請求項18に記載の装置。
  20. 前記第1のアドレス変換器及び/又は前記第2のアドレス変換器は論理回路として与えられている、
    請求項10に記載の装置。
JP2017093240A 2016-05-09 2017-05-09 メモリのアクセスに用いる方法及び装置 Active JP6356308B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102016108525.1A DE102016108525B4 (de) 2016-05-09 2016-05-09 Vorrichtung zur Verwendung beim Zugriff auf einen Speicher
DE102016108525.1 2016-05-09

Publications (2)

Publication Number Publication Date
JP2017208087A true JP2017208087A (ja) 2017-11-24
JP6356308B2 JP6356308B2 (ja) 2018-07-11

Family

ID=60119190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017093240A Active JP6356308B2 (ja) 2016-05-09 2017-05-09 メモリのアクセスに用いる方法及び装置

Country Status (3)

Country Link
US (1) US10782884B2 (ja)
JP (1) JP6356308B2 (ja)
DE (1) DE102016108525B4 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63245743A (ja) * 1987-04-01 1988-10-12 Fuji Electric Co Ltd メモリアクセス方式
JPH04274537A (ja) * 1991-02-28 1992-09-30 Koufu Nippon Denki Kk アドレス割振り装置
JP2000163316A (ja) * 1998-11-27 2000-06-16 Hitachi Ltd 計算機システム
US20130282999A1 (en) * 2012-04-20 2013-10-24 Violin Memory Inc. Snapshots in a flash memory storage system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5526503A (en) * 1993-10-06 1996-06-11 Ast Research, Inc. Virtual addressing buffer circuit
US7243208B2 (en) 2003-08-13 2007-07-10 Renesas Technology Corp. Data processor and IP module for data processor
US7464248B2 (en) * 2005-04-25 2008-12-09 Mediatek Incorporation Microprocessor systems and bus address translation methods
US7376807B2 (en) * 2006-02-23 2008-05-20 Freescale Semiconductor, Inc. Data processing system having address translation bypass and method therefor
US7822941B2 (en) * 2006-06-05 2010-10-26 Oracle America, Inc. Function-based virtual-to-physical address translation
US9104593B2 (en) 2012-12-14 2015-08-11 Advanced Micro Devices, Inc. Filtering requests for a translation lookaside buffer
DE112013006590T5 (de) * 2013-02-05 2016-01-21 Arm Limited Handhabung von Speicherzugriffsvorgängen in einer Datenverarbeitungsvorrichtung
US10089224B2 (en) * 2013-03-15 2018-10-02 The Boeing Company Write caching using volatile shadow memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63245743A (ja) * 1987-04-01 1988-10-12 Fuji Electric Co Ltd メモリアクセス方式
JPH04274537A (ja) * 1991-02-28 1992-09-30 Koufu Nippon Denki Kk アドレス割振り装置
JP2000163316A (ja) * 1998-11-27 2000-06-16 Hitachi Ltd 計算機システム
US20130282999A1 (en) * 2012-04-20 2013-10-24 Violin Memory Inc. Snapshots in a flash memory storage system

Also Published As

Publication number Publication date
US20170322729A1 (en) 2017-11-09
US10782884B2 (en) 2020-09-22
JP6356308B2 (ja) 2018-07-11
DE102016108525B4 (de) 2022-01-27
DE102016108525A1 (de) 2017-11-09

Similar Documents

Publication Publication Date Title
US11237728B2 (en) Method for accessing extended memory, device, and system
US10991446B2 (en) Electronic device performing training on memory device by rank unit and training method thereof
CN107621959B (zh) 电子装置及其软件训练方法、计算系统
CN110162491B (zh) 存储器控制器及其操作方法、应用处理器和数据处理系统
JP2015056171A (ja) メモリシステムおよび情報処理装置
US10338826B2 (en) Managed-NAND with embedded random-access non-volatile memory
KR102152782B1 (ko) 메모리 장치를 제조하는 방법과 작동 방법, 및 이를 포함하는 시스템의 작동 방법
US20180293163A1 (en) Optimizing storage of application data in memory
US20190258543A1 (en) Memory device, semiconductor device, and semiconductor system
CN106547701B (zh) 记忆装置及数据读取方法
US10114561B2 (en) Memory controllers, memory systems, and methods relating to wear-leveling
KR20210033593A (ko) 메모리 모듈 및 그것의 동작 방법
JP6356308B2 (ja) メモリのアクセスに用いる方法及び装置
US10445014B2 (en) Methods of operating a computing system including a host processing data of first size and a storage device processing data of second size and including a memory controller and a non-volatile memory
KR20120021247A (ko) 비휘발성 메모리를 위한 수정된 판독 동작
CN116414725A (zh) 用于计算装置主存储器的分区命名空间
KR20190053086A (ko) 분리 메모리 관리 방법 및 장치
US20210208808A1 (en) Host Supported Partitions in Storage Device
US20200201562A1 (en) Memory device, memory system and method of reading from memory device
US8484437B2 (en) Data processing apparatus using pre-fetched data
KR20230098951A (ko) 가상 주소공간 기반의 섀도우 맵핑을 이용한 프로세스 메모리 관리 방법 및 이를 이용한 장치
KR20210008712A (ko) 테스트 패턴 정보를 저장하는 메모리 모듈, 그것을 포함하는 컴퓨터 시스템 및 그것의 테스트 방법
US9367456B1 (en) Integrated circuit and method for accessing segments of a cache line in arrays of storage elements of a folded cache
KR20240049864A (ko) 메모리 시스템 및 그 동작 방법
CN111951842A (zh) 同时存取动态随机存取存储器的方法及存储器控制器

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180425

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: 20180515

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180613

R150 Certificate of patent or registration of utility model

Ref document number: 6356308

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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