JP2008511896A - MEMORY INTERFACE, MEMORY CONFIGURATION, AND MEMORY ACCESS CONTROL METHOD - Google Patents
MEMORY INTERFACE, MEMORY CONFIGURATION, AND MEMORY ACCESS CONTROL METHOD Download PDFInfo
- Publication number
- JP2008511896A JP2008511896A JP2007529400A JP2007529400A JP2008511896A JP 2008511896 A JP2008511896 A JP 2008511896A JP 2007529400 A JP2007529400 A JP 2007529400A JP 2007529400 A JP2007529400 A JP 2007529400A JP 2008511896 A JP2008511896 A JP 2008511896A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- offset
- address
- logical
- interface
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0653—Configuration or reconfiguration with centralised address assignment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
Abstract
複数のメモリ領域(SROM0〜SROM5.5、EROM0〜EROM7.5、UROM0〜UROM3.5)に分割されたプログラム・メモリ及び/又はデータ・メモリ(MEM)へのアクセスを制御するメモリ・インタフェース(1)が開示される。メモリ・インタフェース(1)は、所与のメモリ領域(SROM〜SROM5.5、EROM0〜EROM7.5、UROM0〜UROM3.5)に割り当てられるとともに揮発性のオフセット・メモリ(3)に格納されたオフセット値(OFFSET BOOT、OFFSET RT1、OFFSET RT2)を用いて論理メモリ・アドレス(iadr[0〜i])に論理演算を施すことによって論理メモリ・アドレス(iadr[0〜i]を物理メモリ・アドレス(phys adr[0〜j])に変換するアドレス計算手段(2)を備える。従って、少なくとも1つのオフセット値(OFFSET BOOT)がプログラム・メモリ及び/又はデータ・メモリ(MEM)のプリセット・アドレスから読み込まれる。 A memory interface (1 that controls access to a program memory and / or data memory (MEM) divided into a plurality of memory areas (SROM0 to SROM5.5, EROM0 to EROM7.5, UROM0 to UROM3.5) ) Is disclosed. The memory interface (1) is assigned to a given memory area (SROM-SROM5.5, EROM0-EROM7.5, UROM0-UROM3.5) and stored in a volatile offset memory (3) The logical memory address (iadr [0-i] is changed to the physical memory address (iadr [0-i]) by performing a logical operation on the logical memory address (iadr [0-i]) using the values (OFFSET BOOT, OFFSET RT1, OFFSET RT2). address calculation means (2) for converting into phys adr [0-j]), so that at least one offset value (OFFSET BOOT) is read from a preset address in the program memory and / or data memory (MEM) It is.
Description
本発明は、複数のメモリ領域に分割されたプログラム・メモリ及び/又はデータ・メモリへのアクセスを制御するメモリ・インタフェースであって、所与のメモリ領域に割り当てられたオフセット値を用いて論理メモリ・アドレスに論理演算を施すことによって論理メモリ・アドレスを物理メモリ・アドレスに変換するアドレス計算手段を含むメモリ・インタフェースに関する。 The present invention relates to a memory interface for controlling access to a program memory and / or a data memory divided into a plurality of memory areas, and using a offset value assigned to a given memory area as a logical memory The present invention relates to a memory interface including address calculation means for converting a logical memory address into a physical memory address by performing a logical operation on the address.
本発明はまた、本発明によるメモリ・インタフェースを備えたメモリ構成に関する。 The invention also relates to a memory arrangement comprising a memory interface according to the invention.
最後に、本発明はまた、複数のメモリ領域に分割されたプログラム・メモリ及び/又はデータ・メモリへのアクセスを制御する方法であって、メモリ・インタフェースが、所与のメモリ領域に割り当てられたオフセット値を用いて論理メモリ・アドレスに論理演算を施すことによって論理メモリ・アドレスを物理メモリ・アドレスに変換する方法に関する。 Finally, the present invention is also a method for controlling access to a program memory and / or data memory divided into a plurality of memory areas, wherein a memory interface is assigned to a given memory area The present invention relates to a method for converting a logical memory address into a physical memory address by performing a logical operation on the logical memory address using an offset value.
論理的及び物理的に異なる領域を有するプログラム・メモリ及びデータ・メモリは、従来技術でよく知られているものである。このようにして、例えば、自動車イモビライザの実装用に本出願者によって開発されたマイクロコントローラ・ベースの集積回路(IC)には、図1の左側部分に示されたようなプログラム・メモリMEMの論理分割が存在する。プログラム・メモリMEMの上記の論理分割は、各々が256バイトのサイズのメモリ・ブロックを有するシステム領域SROM0〜SROM5.5と、2つのユーザ領域、即ち各々が256バイトのサイズのメモリ・ブロックを有する第1のユーザ領域EROM0〜EROM7.5及び各々が256バイトのサイズのメモリ・ブロックを有する第2のユーザ領域UROM0〜UROM3.5とを備える。オプションとして、テスト領域(図示せず)が存在することもある。システム領域及びユーザ領域の個々のメモリ位置は論理アドレスiadr[0〜12]によってアクセスされ、ビットiadr[0]からiadr[7]は所与のメモリ・ブロック内の個々のメモリ位置をアドレス指定するために使用され、ビットiadr[8]〜iadr[12]はメモリ・ブロックを選択するために使用される。さらに、論理システム・メモリ領域SROM0〜SROM5.5と、論理ユーザ・メモリ領域EROM0〜EROM7.5及びUROM0〜UROM3.5とを区別するために使用される制御信号en_sysromが提供される。制御信号en_sysromが1のときはシステム・メモリ領域SROM0〜SROM5.5がアクセスされ、制御信号en_sysromが0のときはユーザ・メモリ領域EROM0〜EROM7.5及びUROM0〜UROM3.5がアクセスされる。図示の実施形態では、制御信号en_sysromの機能は、原理的に14番目のアドレス・ビットと同等である。図からわかるように、論理アドレス指定を用いてアクセスされ得るアドレス空間の一部だけが使用される。システム・メモリ領域SROM0〜SROM5.5と、ユーザ・メモリ領域EROM0〜EROM7.5及びURON0〜UROM3.5とにおいて未使用のメモリ・ブロックは、図1ではXで示されている。さらに、論理メモリ領域SROM0〜SROM5.5、EROM0〜EROM7.5、UROM0〜UROM3.5は、概略図の形の2つのメモリ・モジュールMEM1及びMEM2を示す図1の右側部分に例として示されるように、異なる物理メモリの間に分割されることもある。論理システム・メモリ領域SROM0〜SROM5.5と第2のユーザ領域UROM0〜UROM3.5はメモリ・モジュールMEM1に収容されるが、第1のユーザ・メモリ領域EROM0〜EROM7.5だけはメモリ・モジュールMEM2に配置される。第1のメモリ・モジュールMEM1はシステム・メモリ領域SROM0〜SROM5.5と第2のユーザ・メモリ領域UROM0〜UROM3.5によって完全に占有され、第2のメモリ・モジュールMEM2は第1のユーザ・メモリ領域EROM0〜EROM7.5によって完全に占有され、未使用の物理メモリ領域は存在しないことがわかる。個々のメモリ・モジュールMEM1及びMEM2は様々な種類のメモリから選択することが可能であり、メモリ・モジュールMEM1は1度だけ書き込み可能なROMの形を取ることができ、メモリ・モジュールMEM2は再書き込み可能なEEPROM又はフラッシュ・メモリの形を取ることができる。 Program memory and data memory having logically and physically different areas are well known in the prior art. Thus, for example, a microcontroller-based integrated circuit (IC) developed by the Applicant for the implementation of an automotive immobilizer has the logic of the program memory MEM as shown in the left part of FIG. There is a split. The above logical division of the program memory MEM has a system area SROM0-SROM5.5 each having a memory block of size 256 bytes and two user areas, i.e. each having a memory block size of 256 bytes. A first user area EROM0 to EROM7.5 and a second user area UROM0 to UROM3.5 each having a memory block size of 256 bytes. As an option, a test area (not shown) may be present. Individual memory locations in the system area and user area are accessed by logical addresses iadr [0-12], and bits iadr [0] through iadr [7] address individual memory locations within a given memory block. Bits iadr [8] to iadr [12] are used to select a memory block. In addition, a control signal en_system used to distinguish the logical system memory areas SROM0 to SROM5.5 from the logical user memory areas EROM0 to EROM7.5 and UROM0 to UROM3.5 is provided. When the control signal en_system is 1, the system memory areas SROM0 to SROM5.5 are accessed, and when the control signal en_system is 0, the user memory areas EROM0 to EROM7.5 and UROM0 to UROM3.5 are accessed. In the illustrated embodiment, the function of the control signal en_system is in principle equivalent to the 14th address bit. As can be seen, only a portion of the address space that can be accessed using logical addressing is used. An unused memory block in the system memory areas SROM0 to SROM5.5, and the user memory areas EROM0 to EROM7.5 and URON0 to UROM3.5 is indicated by X in FIG. Furthermore, the logical memory areas SROM0 to SROM5.5, EROM0 to EROM7.5, UROM0 to UROM3.5 are shown by way of example in the right part of FIG. 1 showing two memory modules MEM1 and MEM2 in the form of a schematic diagram. Also, it may be divided between different physical memories. The logical system memory areas SROM0 to SROM5.5 and the second user areas UROM0 to UROM3.5 are accommodated in the memory module MEM1, but only the first user memory areas EROM0 to EROM7.5 are stored in the memory module MEM2. Placed in. The first memory module MEM1 is completely occupied by the system memory areas SROM0 to SROM5.5 and the second user memory areas UROM0 to UROM3.5, and the second memory module MEM2 is the first user memory. It can be seen that there are no unused physical memory areas that are completely occupied by the areas EROM0 to EROM7.5. The individual memory modules MEM1 and MEM2 can be selected from various types of memory, the memory module MEM1 can take the form of a ROM that can be written only once, and the memory module MEM2 can be rewritten. It can take the form of possible EEPROM or flash memory.
システム・メモリ領域SROM0〜SROM5.5と、ユーザ・メモリ領域EROM0〜EROM7.5及びUROM0〜UROM3.5とを論理アドレス指定するので、メモリ・インタフェースは、論理アドレスiadr[0〜12]を個々のメモリ・モジュールMEM1、MEM2の正しい物理アドレスにマップする必要がある。図1に示された実施形態では、システム・メモリ領域SROM0〜SROM5.5と第1のユーザ・メモリ領域EROM0〜EROM7.5における論理アドレスと物理アドレスの間の関係は直接的なものである。しかし、第2のユーザ・メモリ領域UROM0〜UROM3.5については、物理アドレスを決定するために論理アドレスiadr[0〜12]からオフセットを減算する計算ユニットが必要になる。さらに、論理アドレスiadr[0〜12]が正しい物理メモリ・モジュールMEM1に割り当てられる必要がある。 Since the system memory areas SROM0 to SROM5.5 and the user memory areas EROM0 to EROM7.5 and UROM0 to UROM3.5 are logically addressed, the memory interface assigns logical addresses iadr [0-12] to the individual addresses. It is necessary to map to the correct physical address of the memory modules MEM1, MEM2. In the embodiment shown in FIG. 1, the relationship between logical addresses and physical addresses in the system memory areas SROM0 to SROM5.5 and the first user memory areas EROM0 to EROM7.5 is straightforward. However, for the second user memory areas UROM0 to UROM3.5, a calculation unit for subtracting the offset from the logical address iadr [0 to 12] is required to determine the physical address. Furthermore, the logical address iadr [0-12] needs to be assigned to the correct physical memory module MEM1.
これまで、様々なメモリ構成を有する製品ごとに個別のメモリ・インタフェースが設計される必要があることは、不利であることが知られている。従って、回路設計は、メモリのサイズ及び/又は種類の変更があった時点で適応される必要があった。メモリ領域の割り振りを、後から変更することは不可能である。ROMマスク製品では、プログラムだけが変更可能であり、メモリの物理的なサイズは変更できない。メモリ領域のサイズをバランスさせる可能性もやはりほとんどない。従って、他のどこかの領域で必要とされるメモリが、あるメモリ領域内に未使用のまま残っていることがあり得る。 To date, it has been known that it is disadvantageous that a separate memory interface needs to be designed for each product having various memory configurations. Therefore, the circuit design had to be adapted when there was a change in memory size and / or type. It is impossible to change the memory area allocation later. In ROM mask products, only the program can be changed, and the physical size of the memory cannot be changed. There is also almost no possibility of balancing the size of the memory area. Thus, memory required in some other area may remain unused in a memory area.
本発明の目的は、上記の欠点が回避された上記の第1の段落に明記された種類のメモリ・インタフェースと、上記の第2の段落に明記された種類のメモリ構成と、上記の第3の段落に明記された種類のメモリ・アクセス制御方法とを提供することである。 It is an object of the present invention to provide a memory interface of the type specified in the first paragraph in which the above disadvantages are avoided, a memory configuration of the type specified in the second paragraph, and the third And a memory access control method of the kind specified in the paragraph.
上述の目的を達成するために、最初の段落に詳述されたようなメモリ・インタフェースは、オフセット値を揮発性オフセット・メモリに書き込むオフセット制御手段であって、プログラム・メモリ及び/又はデータ・メモリ内のプリセット・アドレスから少なくとも1つのオフセット値を読み込むように構成されたオフセット制御手段をさらに備えることが規定される。 To achieve the above object, a memory interface as detailed in the first paragraph is an offset control means for writing an offset value into a volatile offset memory, comprising a program memory and / or a data memory. It is defined that the apparatus further comprises an offset control means configured to read at least one offset value from the preset address.
上述の目的を達成するために、本発明によるメモリ・インタフェースと、複数のメモリ領域に分割されており、オフセット値が格納されたプリセット・メモリ位置を備えたプログラム・メモリ及び/又はデータ・メモリとを備えたメモリ構成も規定される。 To achieve the above object, a memory interface according to the present invention, a program memory and / or a data memory having a preset memory location divided into a plurality of memory areas and storing offset values; A memory configuration comprising
最後に、最初に詳述されたような方法であって、アドレス変換の前に、少なくとも1つのオフセット値がプログラム・メモリ及び/又はデータ・メモリ内のプリセット・アドレスから読み込まれ揮発性オフセット・メモリに格納される、方法が規定される。 Finally, a method as detailed in the beginning, wherein at least one offset value is read from a preset address in the program memory and / or data memory before the address translation. The method stored in is defined.
本発明による特徴によって達成されるのは、新しい製品のために異なるメモリ構成が必要になった場合に、メモリ・インタフェース自体を変更する必要がなくなることである。再プログラムしなければならないのは、メモリ構成だけである。このことは、新しい製品が作られるときの設計プロセスを迅速化する。従って、ROM相当品の場合は、単にメモリを置き換えること及び構成を再プログラムすることだけが必要であり、そのことは、プログラム・メモリ及び/又はデータ・メモリ内のプリセット・メモリ位置に不揮発な方式で新しいオフセット値を書き込むことによって実施される。設計変更のさらなるステップは必要なくなる。メモリ領域の割り振りは、単にROMマスクを変更するだけで変更され得る。従って、ROMマスク製品の場合は、余計なコストをかけずに、単に新しいROMコードだけでメモリ領域の分割を再構成することさえ可能である。ROMが使用される唯一のメモリである場合には、メモリ構成を格納するためにそれ以外のメモリが必要とされないので、このことは特に有利である。さらに、オフセット制御手段によって揮発性オフセット・メモリにオフセット値を書き込むシーケンスのハードウェア・ベースの性質は、ユーザによる無許可のメモリ・アクセスが避けられるという利点を提供するが、例えば、より多くのメモリ空間又は異なるメモリ分割を必要とする新しいシステム・プログラムが実装される場合には、メモリのセグメント化はやはりソフトウェア手段によって変更され得る。 What is achieved with the features according to the present invention is that when a different memory configuration is required for a new product, it is not necessary to change the memory interface itself. All that needs to be reprogrammed is the memory configuration. This speeds up the design process as new products are made. Thus, in the case of ROM equivalents, it is only necessary to replace the memory and reprogram the configuration, which is a non-volatile scheme at the preset memory location in the program memory and / or data memory. This is done by writing a new offset value. No further design change steps are required. The memory area allocation can be changed simply by changing the ROM mask. Therefore, in the case of a ROM mask product, it is even possible to reconfigure the memory area division with only a new ROM code without extra cost. This is particularly advantageous if the ROM is the only memory used, since no other memory is required to store the memory configuration. Furthermore, the hardware-based nature of the sequence of writing the offset value to the volatile offset memory by the offset control means offers the advantage that unauthorized memory access by the user is avoided, but for example more memory If new system programs are implemented that require space or different memory partitioning, the memory segmentation can still be modified by software means.
オフセット制御手段が、メモリ・インタフェースの初期化時に、プログラム・メモリ及び/又はデータ・メモリのプリセット・アドレスからオフセット値を読み込み、それを揮発性オフセット・メモリに書き込むように構成され、その後にだけメモリ・インタフェースがプログラム・メモリ及び/又はデータ・メモリへのアクセスを認めるように構成される場合は有利である。有利には、メモリ・インタフェースは、オフセット・メモリに正しいオフセット値が書き込まれた後にだけ、プログラムによって使用されるようになるか、又はプログラム・コードを実行できるようになる。従って、禁止されたメモリ・アクセスを排除することができる。 The offset control means is configured to read the offset value from the preset address of the program memory and / or data memory and write it to the volatile offset memory at the initialization of the memory interface, and only after that the memory It is advantageous if the interface is configured to allow access to program memory and / or data memory. Advantageously, the memory interface can only be used by the program or execute program code after the correct offset value has been written to the offset memory. Thus, forbidden memory accesses can be eliminated.
アドレス計算手段が、メモリ領域を選択するための少なくとも1つの制御信号を受信し、論理メモリ・アドレスが物理メモリ・アドレスに変換されるときにこの制御信号を考慮するように構成される場合は有利である。このことは、論理メモリ領域が非常にフレキシブルな方式で構成され、且つ選択的にアクセスされ得るという利点を提供する。例えば、個々の制御ラインが各論理メモリ領域(システム領域、ユーザ領域)に割り当てられ、それらの制御論理ラインの1つに信号を選択的に印加することによって論理メモリ領域が選択されるようにすることができるが、一方、他の論理メモリ領域へのアクセスは同時に阻止される。 It is advantageous if the address calculating means is configured to receive at least one control signal for selecting a memory area and to take this control signal into account when the logical memory address is converted into a physical memory address. It is. This provides the advantage that the logical memory area is configured in a very flexible manner and can be selectively accessed. For example, an individual control line is assigned to each logical memory area (system area, user area), and a logical memory area is selected by selectively applying a signal to one of those control logic lines. While access to other logical memory areas is blocked at the same time.
オフセット制御手段が、メモリ・インタフェースの実行時にオフセット値を揮発性オフセット・メモリに書き込むように構成される場合も、このようにして実行時にメモリ・インタフェースが再構成され得るので有利である。 It is also advantageous if the offset control means is arranged to write the offset value to the volatile offset memory at the time of execution of the memory interface, since in this way the memory interface can be reconfigured at runtime.
最後に、オフセット制御手段がオフセット制御入力とオフセット構成入力を備え、オフセット構成入力の1つからオフセット値を読み込み、オフセット制御入力の信号に応じてオフセット値を揮発性オフセット・メモリに書き込むように構成される場合も有利である。このようにして、メモリ・インタフェースは、プリセット方式で実行時に再構成可能である。このために、プログラムによって操作可能なオフセット制御入力は、オフセット構成入力を介してオフセット制御手段にオフセット値を読み込ませ、オフセット構成入力はオフセット値が格納された不揮発性メモリにアクセスしてオフセット値を供給する。不揮発性メモリは、ハードワイヤード回路、マスクプログラム可能な記憶位置などを備えることができる。 Finally, the offset control means comprises an offset control input and an offset configuration input, configured to read the offset value from one of the offset configuration inputs and write the offset value to the volatile offset memory in response to the signal of the offset control input This is also advantageous. In this way, the memory interface can be reconfigured at runtime in a preset manner. For this purpose, the offset control input operable by the program causes the offset control means to read the offset value via the offset configuration input, and the offset configuration input accesses the nonvolatile memory in which the offset value is stored to obtain the offset value. Supply. The non-volatile memory can include a hard-wired circuit, a mask programmable storage location, and the like.
本発明のこれら及び他の態様は、以下に記載される諸実施形態から明らかになり、またそれらを参照することによって解明されるはずであるが、本発明はそれらに制限されるものではない。 These and other aspects of the invention will be apparent from and will be elucidated with reference to the embodiments described hereinafter, but the invention is not limited thereto.
図2は、本発明によるメモリ構成とメモリ・インタフェース1の一実施形態を示すブロック回路図であり、このメモリ構成とメモリ・インタフェース1によって、図1に示され上述されたメモリの論理及び物理分割が施される。このメモリ構成は、図1の2つのメモリ・モジュールMEM1及びMEM2を備えたプログラム・メモリ及び/又はデータ・メモリMEMを備え、メモリ・モジュールMEM1は、例えば一度だけ書き込み可能ROMの形を取り、メモリ・モジュールMEM2は、例えば再書き込み可能なEEPROM又はフラッシュ・メモリの形を取る。メモリ・モジュールMEM1及びMEM2内の個々の記憶位置は、物理アドレス・バス9によってアクセス可能である。それらのデータ(「data」と示されている)はデータ・バス11によって読み出されることができ、再書き込み可能なメモリ・モジュールMEM2の場合は、上記データ・バス11を介して読み込まれることもできる。本発明の目的では、メモリMEMの論理又は物理分割がブロックで構成されるか、或いはアドレス指定がリニヤかは本質的な問題ではないことに注意されたい。ブロック構成メモリMEMの場合には、メモリ・ブロックのサイズもやはり本質的なものではない。図1の関連する記述で先に説明したように、プログラム・メモリ及び/又はデータ・メモリMEMは、2つの物理メモリ・モジュールMEM1とMEM2からなる異なるモジュール上に分離された、論理システム・メモリ領域SROM0〜SROM5.5と、2つの論理ユーザ・メモリ領域UROM0〜UROM3.5及びEROM0〜EROM7.5とを備える。本発明によるメモリ・インタフェース1は、論理メモリ・アドレスiadr[0〜i]から物理メモリ・アドレスphys_adr[0〜j]への正しい変換を行なうように動作する。
FIG. 2 is a block circuit diagram illustrating one embodiment of a memory configuration and
メモリ・インタフェース1は、ハードウェアの形態のアドレス計算手段2を備える。アドレス計算手段2は、論理アドレス・バス10の入力を有し、前記論理アドレス・バス10は、図示の実施形態では、図1に示されたメモリ構成に一致した13本のアドレス・ラインを備える。アドレス計算手段2はまた、制御ライン12の入力、即ち論理システム・メモリ領域SROM0〜SROM5.5か、或いは論理ユーザ・メモリ領域UROM0〜UROM3.5及びEROM0〜EROM7.5かを選択するために使用される制御信号en_sysromの入力も備える。図示の実施形態では、システム・メモリ領域SROM0〜SROM5.5は制御信号en_sysromがロジック1レベルの場合にアクセスされ、ユーザ・メモリ領域UROM0〜UROM3.5及びEROM0〜EROM7.5は制御信号en_sysromがロジック0レベルの場合にアクセスされるので、制御ライン12の機能は追加のアドレス・ラインの機能と同等である。個々のメモリ位置は、論理メモリ・アドレスiadr[0〜i]によってアドレス指定される。
The
しかし、本発明によれば、複数の制御ラインを提供することもできることに注意されたい(図には示されていない)。この場合、これらの制御ラインの各々を使用して1つの論理メモリ領域SROM0〜SROM5.5、UROM0〜UROM3.5、EROM0〜EROM7.5と通信することもできるし、或いはこれらの制御ライン上の信号の組合せを使用して論理メモリ領域SROM0〜SROM5.5、UROM0〜UROM3.5、EROM0〜EROM7.5の組合せと通信することもできる。 However, it should be noted that multiple control lines may be provided according to the present invention (not shown in the figure). In this case, each of these control lines can be used to communicate with one logical memory area SROM0-SROM5.5, UROM0-UROM3.5, EROM0-EROM7.5, or on these control lines. Signal combinations can also be used to communicate with combinations of logical memory areas SROM0-SROM5.5, UROM0-UROM3.5, EROM0-EROM7.5.
論理アドレス・バス10と制御ライン12を通して、システム・メモリ位置とユーザ・メモリ位置の論理メモリ・アドレスiadr[0〜i]がアドレス計算手段2に供給される。さらに、アドレス指定されるのがシステム・メモリ領域SROM0〜SROM5.5か、それともユーザ・メモリ領域UROM0〜UROM3.5又はEROM0〜EROM7.5の一方かに関する選択情報がその手段に送られる。これらの論理メモリ・アドレスiadr[0〜i]と選択情報は、アドレス計算手段2で物理メモリ・モジュールMEM1とMEM2の物理メモリ・アドレスphys_adr[0〜j]に変換される。さらに、アドレス計算手段2は、個々のメモリ・モジュールMEM1及びMEM2が選択的にアクセスされ得るようにするチップ選択信号CS1及びCS2を生成する。
Through the
アドレス計算手段2は、論理アドレス・バス10を通して受信した論理メモリ・アドレスiadr[0〜i]をメモリ・モジュールMEM1及びMEM2の各メモリ位置に割り当てられた物理メモリ・アドレスphys_adr[0〜j]に変換する。その際、アドレス計算手段は、プリセットされたオフセット値OFFSET_BOOT、OFFSET_RT1、OFFSET_RT2を用いて論理メモリ・アドレスiadr[0〜I]に論理演算を施す。好ましい単純な実施形態では、論理演算は、論理メモリ・アドレスiadr[0〜i]への又はそれら論理メモリ・アドレスからのオフセットOFFSET_BOOT、OFFSET_RT1、OFFSET_RT2の加算又は減算を備える。しかし、本発明はこの形態の論理演算に限られるものではない。単なる例示として他の形態の論理演算について述べると、物理メモリ・アドレスphys_adr[0〜j]に変換する際の、論理メモリ・アドレスiadr[0〜i]への複数のオフセットOFFSET_BOOT、OFFSET_RT1、OFFSET_RT2の加算、及び上記論理メモリ・アドレスiadr[0〜i]への又はそれら論理メモリ・アドレスからのオフセットの和の加算又は減算、或いは追加のメモリ・アドレス置換の考慮、又は追加メモリ・ブロック・サイズの乗算などがある。
The address calculation means 2 transfers the logical memory address iadr [0-i] received through the
アドレス計算手段2のアドレス出力は物理アドレス・バス9に接続され、決定された物理メモリ・アドレスphys_adr[0〜j]がそのバスを通して書き込まれる。1つの物理アドレス・バス9と複数のチップ選択信号CS1、CS2の代わりに、複数の物理アドレス・バス9又はそれらの可能な組合せでもよい。 The address output of the address calculation means 2 is connected to the physical address bus 9, and the determined physical memory address phys_adr [0-j] is written through the bus. Instead of one physical address bus 9 and a plurality of chip select signals CS1, CS2, a plurality of physical address buses 9 or possible combinations thereof may be used.
従来技術では、論理演算に使用されるオフセット値は固定でありメモリ・インタフェース1の不揮発性メモリに格納されているが、本発明によるメモリ・インタフェース1は、例えばフリップフロップ又はラッチの形態を取ることができる揮発性のオフセット・メモリ3を備えることができ、オフセット・メモリ3にはオフセット値OFFSET_BOOT、OFFSET_RT1、OFFSET_RT2を書き込むことができ、それらのオフセット値は、メモリ・アドレスiadr[0〜i]との論理演算のために、アドレス計算手段2によって後でオフセット・メモリ3から読み出される。オフセット・メモリ3へのオフセット値OFFSET_BOOT、OFFSET_RT1、OFFSET_RT2の書き込みは、この場合は、ハードウェアの形態でメモリ・インタフェース1に実装されたオフセット制御手段4によって実施される。
In the prior art, the offset value used for the logical operation is fixed and stored in the non-volatile memory of the
本発明によれば、メモリ・インタフェース1の初期化の間に、オフセット制御手段4がプログラム・メモリ及び/又はデータ・メモリMEM内のプリセット記憶位置から(この例では、矢印5によって記号的に示されるように、メモリ・モジュールMEM1から)オフセット値OFFSET_BOOTを読み出し、そのオフセット値OFFSET_BOOTを揮発性のオフセット・メモリ3に書き込み、それによってメモリ・インタフェース1を正しいオフセット値OFFSET_BOOTを用いてブートさせることが提供される。オフセット値OFFSET_BOOTが、複数のメモリ領域にセグメント化されたメモリ・モジュールMEM1に書き込まれ、好ましくは、上記メモリ・モジュールMEM1の個々のオフセット構成もそのメモリ・モジュールMEM1に格納されることが有用であることに注意されたい。さらに、イネーブル信号en_adによって記号的に示されるように、揮発性オフセット・メモリ3へのオフセット値OFFSET_BOOT、OFFSET_RT1、OFFSET_RT2の書き込みが完了するまでは、オフセット制御手段4によってアドレス計算手段2がディスエーブルにされ、完了後にだけプログラム・メモリ及び/又はデータ・メモリMEMへのアクセスが許可されることも提供される。ハードウェア手段によって実施されるメモリ・インタフェース1の初期化によってプログラム・メモリ及び/又はデータ・メモリの正しいセグメント化が設定されてからでないと、上記メモリからの任意のコードは実行できるようにならない。このようにして、ユーザによる不許可のメモリ・アクセスは実際に阻止される。
According to the invention, during the initialization of the
本発明によるこの対応により、変更されたプログラム・メモリ及び/又はデータ・メモリ構成が使用される場合でも、もはやメモリ・インタフェース1自体を変更する必要はなくなる。その代わりに、使用されることになる新しいプログラム・メモリ及び/又はデータ・メモリMEMに変更されたオフセット値OFFSET_BOOTを書き込むことによって、容易な方法で構成が再プログラムされることが必要になるだけである。当然のことながら、このことは、新しい製品が作られるときの設計プロセスを迅速化する。このようにして、単にROMマスクの変更だけでメモリ領域の割り振りが変更され得る。従って、ROMマスク製品の場合は、メモリ領域SROM0〜SROM5.5、EROM0〜EROM7.5、UROM0〜UROM3.5の分割もまた、各新しいROMコードを用いて、余計なコストをかけずに再構成され得るようになる。
With this correspondence according to the invention, it is no longer necessary to change the
本発明によるメモリ・インタフェース1のさらなる非常に柔軟性のある実施形態では、オフセット制御手段4は、メモリ・インタフェース1の実行時に揮発性オフセット・メモリ3にオフセット値OFFSET_RT1、OFFSET_RT2を書き込むように構成され、それによって、メモリのセグメント化がソフトウェア手段によって変更されるようになる。このために、オフセット制御手段4は、1つのオフセット制御入力6と2つのオフセット構成入力7、8を備える。オフセット制御入力6におけるソフトウェア制御された信号に応じて、オフセット制御手段4は、(オフセット構成入力7からの)オフセット値OFFSET_RT1、又は(オフセット構成入力8からの)OFFSET_RT2を読み込み、それらのオフセット値を揮発性オフセット・メモリ3に書き込む。このようにして、メモリのセグメント化は実行時に変更され得る。オフセット構成入力7、8は、ハードワイヤード回路、マスクプログラム可能な位置などを備える、オフセット値OFFSET_RT1、OFFSET_RT2が格納された不揮発性メモリ(図示せず)にアクセスすることによってオフセット値OFFSET_RT1、OFFSET_RT2を取得する。
In a further very flexible embodiment of the
上述の諸実施形態が本発明を制限するものではなく例示したものであり、従って当業者には、添付の特許請求の範囲によって規定された本発明の範囲を逸脱することなく多くの代替実施形態が設計できるはずであることに留意されたい。特許請求の範囲において、括弧内に示されたいずれの参照符号も、特許請求の範囲の範囲を制限するものと解釈すべきではない。「備え」や「備える」などの用語は、いずれかの特許請求の範囲又は明細書の全体に記載されたもの以外の要素又はステップの存在を排除するものではない。ある要素の単数での参照はその要素の複数での参照を排除するものではなく、その逆も同様である。いくつかの手段を列挙した装置クレームでは、それらの手段のうちのいくつかは、同一アイテムのハードウェア又はソフトウェアによって実施することができる。いくつかの手段が互いに異なる従属クレームに記載されているという単なる事実によって、それらの手段の組合せが有利に使用され得ないことを示すものではない。 The embodiments described above are illustrative rather than limiting on the present invention, and thus many alternative embodiments will occur to those skilled in the art without departing from the scope of the invention as defined by the appended claims. Note that can be designed. In the claims, any reference signs placed between parentheses shall not be construed as limiting the scope of the claim. Terms such as “comprising” or “comprising” do not exclude the presence of elements or steps other than those listed in any claim or specification. A reference to an element in the singular does not exclude a reference to the element in the plural and vice versa. In the device claim enumerating several means, several of these means can be embodied by one and the same item of hardware or software. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measured cannot be used to advantage.
Claims (10)
揮発性オフセット・メモリに格納され前記所与のメモリ領域に割り当てられたオフセット値を用いて論理メモリ・アドレスに論理演算を施すことによって前記論理メモリ・アドレスを物理メモリ・アドレスに変換するアドレス計算手段と、
前記複数のオフセット値を前記揮発性オフセット・メモリに書き込むオフセット制御手段であって、前記プログラム・メモリ及び/又はデータ・メモリのプリセット・アドレスから少なくとも1つのオフセット値を読み込むように構成されるオフセット制御手段と
を備えるメモリ・インタフェース。 A memory interface for controlling access to a program memory and / or a data memory divided into a plurality of memory areas,
Address calculating means for converting the logical memory address into a physical memory address by performing a logical operation on the logical memory address using an offset value stored in a volatile offset memory and assigned to the given memory area When,
Offset control means for writing the plurality of offset values to the volatile offset memory, wherein the offset control is configured to read at least one offset value from a preset address of the program memory and / or data memory And a memory interface.
前記プログラム・メモリ及び/又はデータ・メモリのプリセット・アドレスから少なくとも1つのオフセット値を読み込み、
前記少なくとも1つのオフセット値を揮発性オフセット・メモリへ格納し、
前記オフセット・メモリに格納され前記所与のメモリ領域に割り当てられたオフセット値を用いて、論理メモリ・アドレスへの論理演算の実施により、前記論理メモリ・アドレスを物理メモリ・アドレスへ変換するステップとを実施する方法。 A method for controlling access to a program memory and / or data memory divided into a plurality of memory areas, the memory interface comprising:
Reading at least one offset value from a preset address of the program memory and / or data memory;
Storing the at least one offset value in a volatile offset memory;
Converting the logical memory address to a physical memory address by performing a logical operation on the logical memory address using an offset value stored in the offset memory and assigned to the given memory area; How to implement.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP04104247 | 2004-09-03 | ||
PCT/IB2005/052790 WO2006024999A1 (en) | 2004-09-03 | 2005-08-25 | Memory interface, memory arrangement and method of controlling memory access |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008511896A true JP2008511896A (en) | 2008-04-17 |
Family
ID=35169763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007529400A Withdrawn JP2008511896A (en) | 2004-09-03 | 2005-08-25 | MEMORY INTERFACE, MEMORY CONFIGURATION, AND MEMORY ACCESS CONTROL METHOD |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1789870A1 (en) |
JP (1) | JP2008511896A (en) |
KR (1) | KR20070101208A (en) |
CN (1) | CN100520711C (en) |
WO (1) | WO2006024999A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100461134C (en) * | 2007-03-27 | 2009-02-11 | 华为技术有限公司 | Controller of external storing device and address change method based on same |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6467035B2 (en) | 1997-09-08 | 2002-10-15 | Agere Systems Guardian Corp. | System and method for performing table look-ups using a multiple data fetch architecture |
US6363469B1 (en) | 1998-07-13 | 2002-03-26 | Matsushita Electric Industrial Co., Ltd. | Address generation apparatus |
-
2005
- 2005-08-25 WO PCT/IB2005/052790 patent/WO2006024999A1/en active Application Filing
- 2005-08-25 CN CNB2005800374988A patent/CN100520711C/en not_active Expired - Fee Related
- 2005-08-25 KR KR1020077007615A patent/KR20070101208A/en not_active Application Discontinuation
- 2005-08-25 JP JP2007529400A patent/JP2008511896A/en not_active Withdrawn
- 2005-08-25 EP EP05781155A patent/EP1789870A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
CN101057216A (en) | 2007-10-17 |
CN100520711C (en) | 2009-07-29 |
KR20070101208A (en) | 2007-10-16 |
WO2006024999A1 (en) | 2006-03-09 |
EP1789870A1 (en) | 2007-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100531192B1 (en) | Non-volatile memory control method | |
US6370456B2 (en) | Method for applying control data for an electronic motor vehicle control unit | |
US20130103884A1 (en) | File system and control method thereof | |
KR19990029196A (en) | Semiconductor Memory and Data Management Method | |
JPH1186576A (en) | Nonvolatile semiconductor storage device | |
US8914602B2 (en) | Display controller having an embedded non-volatile memory divided into a program code block and a data block and method for updating parameters of the same | |
KR100286915B1 (en) | Microcomputers with Flash Ipyrome inside | |
CN109521944A (en) | data storage device and data storage method | |
JP4177360B2 (en) | Memory controller, flash memory system, and flash memory control method | |
US6078984A (en) | Method of operating a control system which includes a nonvolatile memory unit having memory banks and a volatile memory unit | |
US6738887B2 (en) | Method and system for concurrent updating of a microcontroller's program memory | |
JP2008511896A (en) | MEMORY INTERFACE, MEMORY CONFIGURATION, AND MEMORY ACCESS CONTROL METHOD | |
JPH07153284A (en) | Non-volatile semiconductor memory and its control method | |
JPH0562380B2 (en) | ||
US5226015A (en) | Semiconductor memory system | |
JP3635996B2 (en) | Information processing system | |
JP2002207640A (en) | Information processor | |
JP4550479B2 (en) | Electronic control device and data adjustment method | |
JP3821911B2 (en) | Memory initialization control method | |
JPH11259357A (en) | Semiconductor integrated device and nonvolatile memory writing system | |
JPS608557B2 (en) | Computer with programmable read-only memory | |
JP2932392B2 (en) | Memory card | |
JP2008310911A (en) | Semiconductor device and its controlling method | |
RU2179332C1 (en) | Computer system | |
JPH07334353A (en) | Microcomputer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20080522 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080825 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20091109 |