[go: up one dir, main page]

CN100520711C - Memory interface, memory arrangement and method of controlling memory access - Google Patents

Memory interface, memory arrangement and method of controlling memory access Download PDF

Info

Publication number
CN100520711C
CN100520711C CNB2005800374988A CN200580037498A CN100520711C CN 100520711 C CN100520711 C CN 100520711C CN B2005800374988 A CNB2005800374988 A CN B2005800374988A CN 200580037498 A CN200580037498 A CN 200580037498A CN 100520711 C CN100520711 C CN 100520711C
Authority
CN
China
Prior art keywords
memory
offset
set value
program
address
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
CNB2005800374988A
Other languages
Chinese (zh)
Other versions
CN101057216A (en
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN101057216A publication Critical patent/CN101057216A/en
Application granted granted Critical
Publication of CN100520711C publication Critical patent/CN100520711C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0646Configuration or reconfiguration
    • G06F12/0653Configuration or reconfiguration with centralised address assignment
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Abstract

公开了一种存储器接口(1),用于控制对划分成多个存储器区(SROM0、...、SROM5.5,EROM0、...、EROM7.5,UROM0、...、UROM3.5)的程序和/或数据存储器(MEM)的存取。所述存储器接口(1)包括:地址计算装置(2),通过利用偏移值(OFFSET_BOOT、OFFSET_RT1、OFFSET_RT2)来执行针对逻辑存储地址(iadr[0-i])的逻辑运算,将逻辑存储地址(iadr[0-i])转换为物理存储地址(phys_adr[0-j]),其中,所述偏移值被分配给给定的存储器区(SROM0、...、SROM5.5,EROM0、...、EROM7.5,UROM0、...、UROM3.5),并且存储在易失性偏移存储器(3)中。从程序和/或数据存储器(MEM)的预设地址中读取至少一个偏移值(OFFSET_BOOT)。

Figure 200580037498

Disclosed is a kind of memory interface (1), is used for controlling to be divided into a plurality of memory areas (SROM0, ..., SROM5.5, EROM0, ..., EROM7.5, UROM0, ..., UROM3.5 ) program and/or data memory (MEM) access. The memory interface (1) includes: an address calculation device (2), which performs a logical operation on a logical storage address (iadr[0-i]) by using an offset value (OFFSET_BOOT, OFFSET_RT1, OFFSET_RT2), and converts the logical storage address (iadr[0-i]) translates to a physical storage address (phys_adr[0-j]), where the offset value is assigned to a given memory area (SROM0, ..., SROM5.5, EROM0, ..., EROM7.5, UROM0, ..., UROM3.5), and are stored in the volatile offset memory (3). At least one offset value (OFFSET_BOOT) is read from a preset address in the program and/or data memory (MEM).

Figure 200580037498

Description

存储器接口、存储器设置以及控制存储器存取的方法 Memory interface, memory setting and method for controlling memory access

技术领域 technical field

本发明涉及一种存储器接口,用于控制对划分成多个存储器区的程序和/或数据存储器的存取,所述存储器接口包括地址计算装置,用于通过利用分配给给定存储器区的偏移值来执行针对逻辑存储地址的逻辑运算,将逻辑存储地址转换为物理存储地址。The invention relates to a memory interface for controlling access to a program and/or data memory divided into a plurality of memory areas, said memory interface comprising address calculation means for Shift values to perform logical operations on logical storage addresses, converting logical storage addresses to physical storage addresses.

本发明还涉及一种具有根据本发明的存储器接口的存储器设置。最后,本发明还涉及一种控制对划分成多个存储器区的程序和/或数据存储器的存取的方法,其中,存储器接口通过利用分配给给定存储器区的偏移值来执行针对逻辑存储地址的逻辑运算,将逻辑存储地址转换为物理存储地址。The invention also relates to a memory arrangement with a memory interface according to the invention. Finally, the invention also relates to a method of controlling access to a program and/or data memory divided into a plurality of memory areas, wherein the memory interface performs a logical memory The logical operation of the address converts the logical storage address into a physical storage address.

背景技术 Background technique

在现有技术中,具有在逻辑上和物理上不同的区域的程序和数据存储器是众所周知的。因此,如图1的左手部分所示,存在例如由申请人开发的在基于微控制器的集成电路(IC)中的程序存储器MEM的逻辑划分,用于机动车辆锁止系统(motor vehicle immobilizer)的实现。程序存储器MEM的所述逻辑划分包括:系统区SROM0、...、SROM 5.5,具有每一个均为256字节的存储块;以及两个用户区,即第一用户区EROM 0、...、EROM 7.5,具有每一个为256字节的存储块,以及第二用户区UROM 0、...、UROM 3.5,具有每一个为256字节的存储块。作为一个选择,还可以存在测试区(未示出)。通过逻辑地址iadr[0-12]来对系统区和用户区中的单独的存储位置进行存取,比特iadr[0]至比特iadr[7]用于对给定的存储块之内的单独的存储位置进行寻址,以及比特iadr[8]至iadr[12]用于选择存储块。另外,存在控制信号en_sysrom,用于区分逻辑系统存储器区SROM 0、...、SROM 5.5以及逻辑用户存储器区EROM 0、...、EROM 7.5和UROM 0、...、UROM 3.5。当控制信号en_sysrom为1时,对系统存储器区SROM 0、...、SROM 5.5进行存取;当控制信号en_sysrom为0时,对用户存储器区EROM0、...、EROM 7.5和UROM 0、...、UROM 3.5进行存取。在所示的实施例中,控制信号en_sysrom的功能在原理上与第十四地址比特等效。如可以看出的,仅使用可以通过逻辑寻址进行存取的那部分地址空间。将系统存储器区SROM 0、...、SROM 5.5以及用户存储器区EROM 0、...、EROM 7.5和UROM 0、...、UROM 3.5中未使用的存储块在图1中标记为X。另外,可以在不同的物理存储器中对逻辑存储器区SROM 0、...、SROM5.5,EROM 0、...、EROM 7.5和UROM 0、...、UROM 3.5进行划分,如通过图1的右手部分的示例所示,它示出了示意形式的两个存储器模块MEM 1和MEM 2。在存储器模块MEM1中容纳逻辑系统存储器区SROM 0、...、SROM 5.5和第二用户区UROM 0、...、UROM 3.5,而只有第一用户存储器区EROM 0、...、EROM 7.5位于存储器模块MEM2中。可以看出,第一存储器模块MEM1被系统存储器区SROM 0、...、SROM 5.5和第二用户存储器区UROM 0、...、UROM 3.5完全占据,而第二存储器模块MEM2被第一用户存储器区EROM 0、...、EROM 7.5完全占据,并且不存在未使用的物理存储器区。可以从不同类型的存储器中选择单独的存储器模块MEM1和MEM2,以及存储器模块MEM1可以采取仅一次可写的ROM的形式,而存储器模块MEM2可以采取可重写的EEPROM或闪速存储器的形式。Program and data memories having logically and physically distinct areas are well known in the art. Thus, as shown in the left-hand part of Fig. 1, there is a logical division of the program memory MEM in a microcontroller-based integrated circuit (IC), for example developed by the applicant, for a motor vehicle immobilizer realization. Said logical division of the program memory MEM comprises: a system area SROM0, . . . , SROM 5.5, with memory blocks each of 256 bytes; , EROM 7.5 have each a memory block of 256 bytes, and the second user area UROM 0, ..., UROM 3.5 have each a memory block of 256 bytes. As an option, there may also be a test area (not shown). Individual storage locations in the system area and user area are accessed through the logical address iadr[0-12]. Bit iadr[0] to bit iadr[7] are used to access individual storage locations within a given storage block. The memory location is addressed, and bits iadr[8] to iadr[12] are used to select the memory block. In addition, there is a control signal en_sysrom for distinguishing between logical system memory areas SROM 0, ..., SROM 5.5 and logical user memory areas EROM 0, ..., EROM 7.5 and UROM 0, ..., UROM 3.5. When the control signal en_sysrom is 1, the system memory area SROM 0, ..., SROM 5.5 is accessed; when the control signal en_sysrom is 0, the user memory area EROM0, ..., EROM 7.5 and UROM 0, . .. and UROM 3.5 for access. In the illustrated embodiment, the function of the control signal en_sysrom is in principle equivalent to the fourteenth address bit. As can be seen, only that part of the address space that can be accessed by logical addressing is used. Unused memory blocks in the system memory areas SROM 0, ..., SROM 5.5 and in the user memory areas EROM 0, ..., EROM 7.5 and UROM 0, ..., UROM 3.5 are marked with X in Figure 1. In addition, the logical memory areas SROM 0, ..., SROM5.5, EROM 0, ..., EROM 7.5 and UROM 0, ..., UROM 3.5 can be divided in different physical memories, as shown in Figure 1 , which shows two memory modules MEM 1 and MEM 2 in schematic form. The logical system memory areas SROM 0, ..., SROM 5.5 and the second user areas UROM 0, ..., UROM 3.5 are accommodated in the memory module MEM1, while only the first user memory areas EROM 0, ..., EROM 7.5 Located in memory module MEM2. It can be seen that the first memory module MEM1 is completely occupied by the system memory area SROM 0, ..., SROM 5.5 and the second user memory area UROM 0, ..., UROM 3.5, while the second memory module MEM2 is occupied by the first user memory area The memory areas EROM 0, ..., EROM 7.5 are fully occupied and there are no unused physical memory areas. The individual memory modules MEM1 and MEM2 can be chosen from different types of memory, and memory module MEM1 can be in the form of a write-only ROM, while memory module MEM2 can be in the form of a rewritable EEPROM or flash memory.

由于系统存储器区SROM 0、...、SROM 5.5以及用户存储器区EROM 0、...、EROM 7.5和UROM 0、...、UROM 3.5的逻辑寻址的原因,需要存储器接口,用于将逻辑地址iadr[0-12]映射到针对单独的存储器模块MEM1、MEM2的正确的物理地址。在图1所示的实施例中,系统存储器区SROM 0、...、SROM 5.5和第一用户存储器区EROM0、...、EROM 7.5中的逻辑和物理地址之间的关系是直接的。然而,对于第二用户存储器区UROM 0、...、UROM 3.5,需要计算单元,用于从逻辑地址iadr[0-12]中减去偏移以确定物理地址。另外,必须将逻辑地址iadr[0-12]分配给正确的物理存储器模块MEM1。Due to the logical addressing of the system memory areas SROM 0, ..., SROM 5.5 and the user memory areas EROM 0, ..., EROM 7.5 and UROM 0, ..., UROM 3.5, memory interfaces are required for the The logical addresses iadr[0-12] are mapped to the correct physical addresses for the individual memory modules MEM1, MEM2. In the embodiment shown in FIG. 1, the relationship between the logical and physical addresses in the system memory areas SROM 0, ..., SROM 5.5 and the first user memory areas EROM0, ..., EROM 7.5 is direct. However, for the second user memory areas UROM 0, ..., UROM 3.5, calculation units are required for subtracting the offset from the logical address iadr[0-12] to determine the physical address. In addition, the logical address iadr[0-12] must be assigned to the correct physical memory module MEM1.

迄今为止已经发现的缺点在于:必须针对具有不同存储器配置的每一个产品来设计独立的存储器接口。因此,电路设计必须适合于存储器的大小和/或类型的任意改变。存储器区分配的后续改变是不可能的。在ROM-掩模产品中,仅可以改变程序,而不可以改变存储器的物理大小。同样地,几乎不可能对存储器区的大小进行均衡。因此,可能出现:在一个存储器区中存在留下未使用的存储器却是一些其他区域中所需要的。A disadvantage that has been found so far is that a separate memory interface has to be designed for each product with a different memory configuration. Therefore, the circuit design must accommodate any changes in the size and/or type of memory. Subsequent changes to the memory area allocation are not possible. In ROM-masking products, only the program can be changed, not the physical size of the memory. Likewise, it is almost impossible to equalize the size of the memory regions. Thus, it may happen that there is memory left unused in one memory area but is required in some other area.

发明内容 Contents of the invention

本发明的一个目的在于提供在以上第一段中详细说明的那种存储器接口、在以上第二段中详细说明的那种存储器设置、以及在以上第三段中详细说明的那种控制存储器存取的方法,其中避免了以上阐述的缺点。It is an object of the present invention to provide a memory interface of the kind specified in the first paragraph above, a memory arrangement of the kind specified in the second paragraph above, and a control memory storage device of the kind specified in the third paragraph above. approach, wherein the disadvantages set forth above are avoided.

为了实现上述目的,详细说明了在开始的段落中详述的那种存储器接口,另外地包括用于向易失性偏移存储器写入偏移值的偏移控制装置,其中将偏移控制装置配置用于从程序和/或数据存储器中的预设地址中读入至少一个偏移值。To achieve the above object, a memory interface of the kind detailed in the opening paragraph is specified, additionally comprising offset control means for writing offset values to the volatile offset memory, wherein the offset control means It is configured to read at least one offset value from a preset address in the program and/or data memory.

为了实现上述目的,还详细说明了包括根据本发明的存储器接口的存储器设置,以及程序和/或数据存储器,所述程序和/或数据存储器划分为多个存储器区并且具有存储了偏移值的预设存储位置。In order to achieve the above objects, a memory arrangement including a memory interface according to the invention is also specified, as well as a program and/or data memory which is divided into a plurality of memory areas and has a stored offset value Preset storage location.

最后,详细说明了在开始详述的那种方法,其中,在地址转换之前,从程序和/或数据存储器中的预设地址读入至少一个偏移值,并且将该偏移值存储在易失性偏移存储器中。Finally, the method detailed at the beginning is specified, wherein, before address conversion, at least one offset value is read from a preset address in the program and/or data memory, and the offset value is stored in the easy in the volatile offset memory.

通过根据本发明的特征所实现的在于:如果针对新产品而需要不同的存储器配置,则不再需要改变存储器接口本身。只需要对存储器配置重新编程。这在创建新产品时加速了设计过程。因此,对于ROM变体,只需要替换存储器,并且对配置进行重新编程,这是通过以非易失性方式向程序和/或数据存储器中的预设存储器单元写入新的偏移值来实现的。无需另外的设计改变步骤。可以通过改变ROM掩模来简单地改变存储器区的分配。因此,对于ROM掩模产品,甚至可以通过新的ROM代码以无附加的代价简单地对存储器区的划分进行重新设置。这在ROM是所使用的唯一存储器时尤为有利,这是由于无需另外的存储器来存储存储器配置。另外,通过偏移控制装置将偏移值写入易失性偏移存储器的序列的基于硬件的本质提供了以下优点:尽管例如在实现新的系统程序(需要更多存储器空间或不同存储器划分)时,仍然可以通过软件装置来改变存储器分割,但是避免了用户对存储器进行未经授权的存取。What is achieved by the features according to the invention is that it is no longer necessary to change the memory interface itself if a different memory configuration is required for a new product. Only the memory configuration needs to be reprogrammed. This speeds up the design process when creating new products. Therefore, for ROM variants, only the memory needs to be replaced and the configuration reprogrammed by non-volatile writing of new offset values to preset memory locations in program and/or data memory of. No additional design change steps are required. Allocation of memory areas can be changed simply by changing the ROM mask. Therefore, for ROM mask products, the division of memory areas can even be simply reset by new ROM codes at no additional cost. This is especially advantageous when ROM is the only memory used, since no additional memory is required to store the memory configuration. In addition, the hardware-based nature of the sequence of writing offset values to the volatile offset memory by the offset control means provides the advantage that while implementing new system programs (needing more memory space or different memory partitioning), for example At this time, the memory partition can still be changed by software means, but the user is prevented from unauthorized access to the memory.

有利地,偏移控制装置被配置用于在存储器接口的初始化时,从程序和/或数据存储器中的预设地址中读入偏移值,并且将该偏移值写入易失性偏移存储器;存储器接口配置用于仅在之后准许对程序和/或数据存储器的存取。有利地,仅在已经将正确的偏移值写入偏移存储器之后,才能够通过程序或运行程序代码使用存储器结构。因此,可以排除禁止的存储器存取。Advantageously, the offset control device is configured to read the offset value from a preset address in the program and/or data memory when the memory interface is initialized, and write the offset value into the volatile offset Memory; the memory interface is configured to grant access to the program and/or data memory only thereafter. Advantageously, the memory structure can only be used by the program or running program code after the correct offset value has been written into the offset memory. Therefore, prohibited memory accesses can be excluded.

还有利地,地址计算装置被配置用于接收对存储器区进行选择的至少一个控制信号,并且当将逻辑存储器地址转换为物理存储器地址时考虑该控制信号。这提供了这样的优点:可以按照非常灵活的方式配置逻辑存储器区,并且可以选择性地对逻辑存储器区进行存取。例如,可以将独立的控制线分配给每一个逻辑存储器区(系统区、用户区),并且可以通过向这些控制线之一选择性地施加信号来选择逻辑存储器区,而同时防止了对其他逻辑存储器区的存取。Advantageously also, the address calculation means are configured to receive at least one control signal selecting a memory region and to take this control signal into account when converting a logical memory address into a physical memory address. This offers the advantage that logical memory areas can be configured in a very flexible manner and that logical memory areas can be accessed selectively. For example, separate control lines can be assigned to each logical memory region (system region, user region), and a logical memory region can be selected by selectively applying a signal to one of these control lines while preventing other logic Access to the memory area.

还有利地,偏移控制装置被配置用于在存储器接口的运行时间将偏移值写入易失性偏移存储器中,这是由于这样可以在运行时间重新配置存储器接口。It is also advantageous that the offset control device is configured to write the offset value into the volatile offset memory at runtime of the memory interface, since this makes it possible to reconfigure the memory interface at runtime.

最后,还有利地,偏移控制装置包括偏移控制输入和偏移配置输入,并且被配置用于根据在偏移控制输入处的信号,从偏移配置输入之一中读入偏移值,并将其写入易失性偏移存储器中。这样,在运行时间可以按照预设方式对存储器接口进行重新配置。为此,能够由程序操作的偏移控制输入使偏移控制装置经由偏移配置输入来读入偏移值,其中偏移配置输入通过对在其中存储了偏移值的非易失性存储器进行存取来提供偏移值。非易失性存储器可以包括硬连接电路、掩模-可编程位置等。Finally, it is also advantageous that the offset control means comprise an offset control input and an offset configuration input and are configured to read in an offset value from one of the offset configuration inputs depending on the signal at the offset control input, and write it to volatile offset memory. In this way, the memory interface can be reconfigured in a preset manner at runtime. For this purpose, a program-operable offset control input causes the offset control device to read in an offset value via an offset configuration input by programming a non-volatile memory in which the offset value is stored. Access to provide the offset value. Non-volatile memory may include hardwired circuits, mask-programmable locations, and the like.

根据下文中描述的实施例,本发明的这些和其他方面是显而易见的,并且将参考下文中描述的实施例进行描述,然而这没有限制本发明。These and other aspects of the invention are apparent from and will be described with reference to the embodiments described hereinafter, without however limiting the invention.

附图说明 Description of drawings

图中:In the picture:

图1示出了具有在两个物理存储器模块之间划分的三个逻辑存储器区的存储器设置的示例。Figure 1 shows an example of a memory arrangement with three logical memory regions divided between two physical memory modules.

图2是根据本发明的存储器设置和存储器接口的示意性电路框图。Figure 2 is a schematic block circuit diagram of a memory arrangement and memory interface according to the present invention.

具体实施方式 Detailed ways

图2是根据本发明的存储器设置和存储器接口1的实施例的电路框图,通过其实现了在上述的在图1中示出的存储器的逻辑和物理划分的存储器设置和存储器接口1。存储器设置包括程序和/或数据存储器MEM,该程序和/或数据存储器MEM包括图1的两个存储模块MEM1和MEM2,例如,存储模块MEM1采用一次可写ROM的形式,而存储模块MEM2采取可重写的EEPROM或闪速存储器的形式。可以经由物理地址总线9来对存储模块MEM1和MEM2中的单独存储位置进行存取。可以经由数据总线11读出它们的数据(示为“数据”),在可重写存储模块MEM2的情况下,也可以经由所述数据总线11进行读入。应该提到的是,针对本发明的目的,是否将存储器MEM的逻辑或物理划分组织成块、或者寻址是否是线性并不重要。在块组织化存储器MEM的情况下,存储器块的大小同样也不重要。如在图1的描述中所解释的,程序和/或数据存储器MEM包括逻辑系统存储器区SROM 0、...、SROM 5.5以及分离成两个物理存储器模块MEM1和MEM2的不同模块的两个逻辑用户存储器区UROM0、...、UROM 3.5和EROM 0、...、EROM 7.5。根据本发明的存储器接口1用于进行逻辑存储地址iadr[0-i]到物理存储地址phys_adr[0-j]的正确转换。FIG. 2 is a block circuit diagram of an embodiment of a memory arrangement and a memory interface 1 according to the invention, by which the logical and physical partitioning of the memory shown in FIG. 1 described above is realized. The memory arrangement comprises a program and/or data memory MEM comprising the two memory modules MEM1 and MEM2 of FIG. form of rewritten EEPROM or flash memory. Individual memory locations in the memory modules MEM1 and MEM2 can be accessed via the physical address bus 9 . Their data (shown as “data”) can be read out via the data bus 11 , and also read in in the case of the rewritable memory module MEM2 . It should be mentioned that for the purposes of the present invention it does not matter whether the logical or physical division of the memory MEM is organized into blocks, or whether the addressing is linear. In the case of a block-organized memory MEM, the size of the memory block is likewise unimportant. As explained in the description of FIG. 1, the program and/or data memory MEM comprises logical system memory areas SROM 0, . . . , SROM 5.5 and two logical User memory areas UROM0, ..., UROM 3.5 and EROM 0, ..., EROM 7.5. The memory interface 1 according to the present invention is used for correct conversion of logical storage address iadr[0-i] to physical storage address phys_adr[0-j].

存储器接口1包括硬件形式的地址计算装置2。地址计算装置2包括逻辑地址总线10的输入,在所示实施例中,所述逻辑地址总线10具有与如图1所示的存储器配置一致的13条地址线。地址计算装置2还具有控制线12的输入,因而是选择逻辑系统存储器区SROM 0、...、SROM 5.5或逻辑用户存储器区UROM 0、...、UROM 3.5和EROM 0、...、EROM 7.5的控制信号en_sysrom的输入。在所示的实施例中,控制线12的功能与附加的地址线的功能等效,这是由于如果控制信号en_sysrom处于逻辑1电平,则对系统存储器区SROM 0、...、SROM 5.5进行存取,如果控制信号en_sysrom处于逻辑0电平,则对用户存储器区UROM 0、...、UROM 3.5和EROM 0、...、EROM 7.5进行存取。经由逻辑存储地址iadr[0-i],对单独的存储位置进行寻址。The memory interface 1 includes address calculation means 2 in the form of hardware. The address calculation means 2 comprises an input of a logical address bus 10 having, in the embodiment shown, 13 address lines consistent with the memory configuration shown in FIG. 1 . Address calculation device 2 also has the input of control line 12, thus is to select logical system memory area SROM 0, ..., SROM 5.5 or logical user memory area UROM 0, ..., UROM 3.5 and EROM 0, ..., Input of the control signal en_sysrom of EROM 7.5. In the embodiment shown, the function of the control line 12 is equivalent to that of the additional address lines, since if the control signal en_sysrom is at a logic 1 level, the system memory regions SROM 0, ..., SROM 5.5 For access, if the control signal en_sysrom is at a logic 0 level, the user memory areas UROM 0, ..., UROM 3.5 and EROM 0, ..., EROM 7.5 are accessed. Individual memory locations are addressed via logical memory addresses iadr[0-i].

然而,应该提到的是,根据本发明还可能存在所提供的多条控制线(在图中未示出)。在这种情况下,可以将这些控制线的每一个均用于与一个逻辑存储器区SROM 0、...、SROM 5.5,UROM 0、...、UROM 3.5,和EROM 0、...、EROM 7.5进行通信,或者将这些控制线上的信号的组合用于与逻辑存储器区SROM 0、...、SROM 5.5,UROM 0、...、UROM3.5,和EROM 0、...、EROM 7.5的组合进行通信。However, it should be mentioned that according to the invention there may also be multiple control lines provided (not shown in the figure). In this case, each of these control lines can be used to communicate with a logical memory area SROM 0, ..., SROM 5.5, UROM 0, ..., UROM 3.5, and EROM 0, ..., EROM 7.5 communicates, or a combination of signals on these control lines is used to communicate with logical memory areas SROM 0, ..., SROM 5.5, UROM 0, ..., UROM3.5, and EROM 0, ..., Combination of EROM 7.5 for communication.

经由逻辑地址总线10和控制线12,将系统存储位置和用户存储位置的逻辑存储地址iadr[0-i]馈送到地址计算装置2中。另外,将选择信息传递给地址计算装置2,所述选择信息与要寻址的是系统存储器区SROM0、...、SROM 5.5、还是用户存储器区UROM 0、...、UROM 3.5或EROM0、...、EROM 7.5之一有关。在地址计算装置2中,将这些逻辑存储地址iadr[0-i]和选择信息转换成物理存储器模块MEME1和MEM2的物理存储地址phys_adr[0-j]。另外,地址计算装置2产生芯片选择信号CS1和CS2,通过所述CS1和CS2,可以选择性地对单独的存储器模块MEM1和MEM2进行存取。Via the logical address bus 10 and the control line 12 , the logical storage addresses iadr[0-i] of the system storage locations and the user storage locations are fed into the address calculation means 2 . In addition, the selection information is transmitted to the address calculation device 2, and the selection information is related to whether the system memory area SROM0, ..., SROM 5.5, or the user memory area UROM 0, ..., UROM 3.5 or EROM0, ..., one of EROM 7.5 is related. In the address calculation means 2, these logical storage addresses iadr[0-i] and selection information are converted into physical storage addresses phys_adr[0-j] of the physical memory modules MEME1 and MEM2. In addition, the address calculation means 2 generates chip selection signals CS1 and CS2, through which individual memory modules MEM1 and MEM2 can be selectively accessed.

地址计算装置2将经由逻辑地址总线10接收到的逻辑存储地址iadr[0-i]转换为分配给存储器模块MEM1和MEM2中的存储位置的物理存储地址phys_adr[0-j]。在这样做时,地址计算装置利用预设值OFFSET_BOOT、OFFSET_RT1、OFFSET_RT2来执行针对逻辑存储地址iadr[0-I]的逻辑运算。在优选的简单实施例中,逻辑运算包括偏移OFFSET_BOOT、OFFSET_RT1、OFFSET_RT2与逻辑存储地址iadr[0-i]的相加和相减。然而,本发明不局限于这种形式的逻辑运算。仅通过示例,在转换成物理存储地址phys_adr[0-j]时,将会提到逻辑运算的其他形式,即多个偏移OFFSET_BOOT、OFFSET_RT1、OFFSET_RT2与逻辑存储地址iadr[0-i]的相加,以及偏移的总和与所述逻辑存储地址iadr[0-i]的相加或相减,或者考虑附加的存储地址置换、或存储块大小的附加乘积。The address calculation means 2 converts the logical storage addresses iadr[0-i] received via the logical address bus 10 into physical storage addresses phys_adr[0-j] assigned to the storage locations in the memory modules MEM1 and MEM2. In doing so, the address calculation means performs a logical operation for the logical memory address iadr[0-I] using the preset values OFFSET_BOOT, OFFSET_RT1, OFFSET_RT2. In a preferred simple embodiment, the logical operations include addition and subtraction of the offsets OFFSET_BOOT, OFFSET_RT1, OFFSET_RT2 and the logical memory address iadr[0-i]. However, the present invention is not limited to this form of logical operation. By way of example only, when converting to physical storage address phys_adr[0-j], other forms of logical operations will be mentioned, namely the correspondence of multiple offsets OFFSET_BOOT, OFFSET_RT1, OFFSET_RT2 with logical storage address iadr[0-i] Addition, and addition or subtraction of the sum of offsets to the logical storage address iadr[0-i], or additional storage address permutation, or additional product of storage block size.

将地址计算装置2的地址输出与物理地址总线9相连,经由所述物理地址总线9,写入确定的物理存储地址phys_adr[0-j]。代替一个物理地址总线9和多个芯片选择信号CS1、CS2,可以存在多个物理地址总线9或这些可能的组合。The address output of the address calculation device 2 is connected to the physical address bus 9, and the determined physical storage address phys_adr[0-j] is written into via the physical address bus 9. Instead of one physical address bus 9 and multiple chip select signals CS1, CS2, there may be multiple physical address buses 9 or possible combinations of these.

而在现有技术中,用于逻辑运算的偏移值固定且存储在存储器接口1的非易失性存储器中,根据本发明的存储器接口1包括易失性偏移存储器3,例如,所述易失性偏移存储器3可以采取触发器或锁存器的形式,并且可以将偏移值OFFSET_BOOT、OFFSET_RT1、OFFSET_RT2写入其中,并在随后通过地址计算装置2将其从偏移存储器3中读出,用于与存储地址iadr[0-i]的逻辑运算。在这种情况下,通过以硬件的形式在存储器接口1中实现的偏移控制装置4来执行将偏移值OFFSET_BOOT、OFFSET_RT1、OFFSET_RT2写入偏移存储器3中。While in the prior art, the offset value used for logical operation is fixed and stored in the non-volatile memory of the memory interface 1, the memory interface 1 according to the present invention includes a volatile offset memory 3, for example, the The volatile offset memory 3 can take the form of flip-flops or latches and the offset values OFFSET_BOOT, OFFSET_RT1, OFFSET_RT2 can be written therein and subsequently read from the offset memory 3 by means of the address calculation means 2 Out, used for logical operation with storage address iadr[0-i]. In this case, the writing of the offset values OFFSET_BOOT, OFFSET_RT1 , OFFSET_RT2 into the offset memory 3 is performed by the offset control means 4 implemented in the form of hardware in the memory interface 1 .

根据本发明,提出了在存储器接口1的初始化期间,偏移控制装置4从程序和/或数据存储器MEM中的预设存储单元中(从本示例中的存储器模块MEM1中,如箭头5所示)读入偏移值OFFSET_BOOT,并且将该偏移值OFFSET_BOOT写入到易失性偏移存储器3中,因而导致用正确的偏移值OFFSET_BOOT对存储器接口1进行引导。应该提到的是,将偏移值OFFSET_BOOT写入到分段成多个存储器区的存储器模块MEM1中是有用的,其中优选地,将用于所述存储器模块MEM1的特定的偏移配置存储在所述存储器模块MEM1中。另外,提出了通过偏移控制装置4来禁用地址计算装置2,直到已经完成了将偏移值OFFSET_BOOT、OFFSET_RT1、OFFSET_RT2写入易失性偏移存储器3,并且只有那样才准许对程序和/或数据存储器MEM的存取,如通过启用信号en_ad象征性地所示。通过由硬件装置执行的存储器接口1的初始化,在可以执行来自所述存储器的任意代码之前,对程序和/或数据存储器MEM的正确分段进行设定。According to the invention, it is proposed that during the initialization of the memory interface 1, the offset control means 4 select from preset memory locations in the program and/or data memory MEM (from the memory module MEM1 in this example, as indicated by arrow 5 ) reads the offset value OFFSET_BOOT and writes the offset value OFFSET_BOOT into the volatile offset memory 3, thus causing the memory interface 1 to boot with the correct offset value OFFSET_BOOT. It should be mentioned that it is useful to write an offset value OFFSET_BOOT into a memory module MEM1 segmented into a plurality of memory areas, wherein preferably a specific offset configuration for said memory module MEM1 is stored in the memory module MEM1. In addition, it is proposed to disable the address calculation means 2 by means of the offset control means 4 until the writing of the offset values OFFSET_BOOT, OFFSET_RT1, OFFSET_RT2 to the volatile offset memory 3 has been completed, and only then to authorize access to the program and/or Access to the data memory MEM is symbolically indicated by the enable signal en_ad. By initialization of the memory interface 1 performed by the hardware means, the correct segmentation of the program and/or data memory MEM is set before any code from said memory can be executed.

由于根据本发明的该规定,如果要使用修改后的程序和/或数据存储器配置,不需要对存储器接口1本身进行修改。取而代之地,必须通过将修改后的偏移值OFFSET_BOOT写入要使用新程序和/或数据存储器MEM中,以容易的方式对该配置进行重新编程。这是当创建新产品时加速设计过程的过程。因此,可以通过ROM掩模的改变来简单地改变存储器区的分配。因此,在ROM-掩模的情况下,可以用每一个新的ROM代码,无附加费用地重新设置存储器区SROM 0、...、SROM 5.5,EROM0、...、EROM 7.5,UROM 0、...、UROM 3.5的划分。Due to this provision according to the invention, no modification of the memory interface 1 itself is required if a modified program and/or data memory configuration is to be used. Instead, the configuration must be reprogrammed in an easy manner by writing the modified offset value OFFSET_BOOT into the new program and/or data memory MEM to be used. This is the process that speeds up the design process when creating a new product. Therefore, the allocation of memory areas can be changed simply by changing the ROM mask. Thus, in the case of a ROM-mask, the memory areas SROM 0, ..., SROM 5.5, EROM0, ..., EROM 7.5, UROM 0, ..., the division of UROM 3.5.

在根据本发明存储器接口1的另一非常灵活的实施例中,偏移控制装置4配置用于在存储器接口1的运行时间,将偏移值OFFSET_RT1、OFFSET_RT2写入到易失性偏移存储器3中,因此使存储器分段能够由软件装置来改变。为此目的,偏移控制装置4具有偏移控制输入6和两个偏移配置输入7、8。根据在偏移控制输入6处的软件控制信号,偏移控制装置4读入偏移值OFFSET_RT1(经由偏移配置输入7)或OFFSET_RT2(经由偏移配置输入8),并且将这些偏移值写入易失性偏移存储器3。以这种方式,可以在运行时间改变存储器分段。偏移配置输入7、8通过对在其中存储了偏移值OFFSET_RT1、OFFSET_RT2的非易失性存储器(未示出)进行存取来获得偏移值OFFSET_RT1、OFFSET_RT2,非易失性存储器包括硬连接电路、掩模-可编程单元等。In another very flexible embodiment of the memory interface 1 according to the invention, the offset control means 4 are configured to write the offset values OFFSET_RT1, OFFSET_RT2 to the volatile offset memory 3 at runtime of the memory interface 1 , thus enabling memory segmentation to be changed by software means. For this purpose, the offset control device 4 has an offset control input 6 and two offset configuration inputs 7 , 8 . Depending on the software control signal at the offset control input 6, the offset control device 4 reads in the offset value OFFSET_RT1 (via the offset configuration input 7) or OFFSET_RT2 (via the offset configuration input 8) and writes these offset values to into volatile offset memory 3. In this way, memory segmentation can be changed at runtime. The offset configuration inputs 7, 8 obtain the offset values OFFSET_RT1, OFFSET_RT2 by accessing a non-volatile memory (not shown) in which the offset values OFFSET_RT1, OFFSET_RT2 are stored, the non-volatile memory comprising hardwired circuits, mask-programmable cells, etc.

应该注意的是,上述实施例示出而不是限制本发明,并且不脱离所附权利要求所限定的本发明的范围的情况下,本领域的普通技术人员将能够设计许多可选的实施例。在权利要求中,在圆括号中放置的任意参考符号不应该解释为限制权利要求。术语“包括”等不排除除了在任意权利要求或说明书总体上列出的元件和步骤之外的元件和步骤的存在。元件的单数参考符号不排除此种元件的复数参考符号,反之亦然。在列举几种装置的设备权利要求中,可以通过一个或相同项目的硬件或软件来具体实现这些装置的几个。仅有的事实在于在相互不同的从属权利要求中引用的特定方法不表示不可以有利地使用这些方法的组合。It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design many alternative embodiments without departing from the scope of the invention as defined by the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The term "comprising" and the like does not exclude the presence of elements or steps other than those listed in any claim or the description generally. Singular reference signs of an element do not exclude plural reference signs of such elements and vice versa. In a 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 measures cannot be used to advantage.

Claims (8)

1. a memory interface (1) is used to control to the program that is divided into a plurality of memory areas and/or the access of data-carrier store (MEM), and described memory interface comprises:
-address calculating device (2), be used for by utilizing off-set value to carry out logical operation at logical storage address (iadr0-i), logical storage address (iadr0-i) is converted to physical storage address (phys_adr0-j), wherein, described off-set value is stored in the volatibility offset memories (3), and is assigned to given memory areas; And
-skew control device (4) is used for writing off-set value to volatibility offset memories (3), and described skew control device (4) configuration is used for reading at least one off-set value from the default address of program and/or data-carrier store (MEM),
Wherein, described skew control device configuration is used for when the initialization of described memory interface (1), read in off-set value in the default address from program and/or data-carrier store (MEM), and described off-set value is write described volatibility offset memories (3), and described memory interface (1) configuration only is used for after the reading in and write of described off-set value allowance to the access of program and/or data-carrier store (MEM).
2. memory interface according to claim 1 (1), wherein, described address calculating device (2) configuration is used to receive at least one control signal (en_sysrom) that memory areas is selected, and considers described control signal when logical storage address (iadr0-i) is converted to physical storage address (phys_adr0-j).
3. memory interface according to claim 1 (1), wherein, described skew control device (4) configuration was used in the working time of memory interface (1), and off-set value is write in the volatibility offset memories (3).
4. memory interface according to claim 3 (1), wherein, described skew control device (4) comprises skew control input (6) and offset configuration input (7,8), and configuration is used for according to importing the signal that (6) are located in skew control, from one of offset configuration input (7,8), read in off-set value, and described off-set value is write in the volatibility offset memories (3).
5. memory devices, comprise according to each described memory interface (1) of claim 1 to 4 and program and/or data-carrier store (MEM), described program and/or data-carrier store are divided into a plurality of memory areas, and have the default memory location of having stored off-set value.
6. a control is to the method for the access of the program that is divided into a plurality of memory areas and/or data-carrier store (MEM), and memory interface (1) is carried out following steps:
Read at least one off-set value in-the default address from program and/or data-carrier store (MEM);
-described at least one off-set value is stored in the volatibility offset memories (3); And
-carry out logical operation by utilizing off-set value at logical storage address (iadr0-i), logical storage address (iadr0-i) is converted to physical storage address (phys_adr0-j), wherein, described off-set value is assigned to given memory areas, and be stored in the volatibility offset memories (3), wherein
When the initialization of memory interface (1) reading in and storing of described off-set value taking place, and only permits the access to program and/or data-carrier store (MEM) after the reading in and store of described off-set value.
7. at least one control signal (en_sysrom) in selection memory district is estimated and considered to be used for to method according to claim 6 wherein, when logical storage address (iadr0-i) is converted to physical storage address (phys_adr0-j).
8. method according to claim 6 wherein, writes volatibility offset memories (3) in the working time of memory interface (1) with off-set value.
CNB2005800374988A 2004-09-03 2005-08-25 Memory interface, memory arrangement and method of controlling memory access Expired - Fee Related CN100520711C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP04104247.4 2004-09-03
EP04104247 2004-09-03

Publications (2)

Publication Number Publication Date
CN101057216A CN101057216A (en) 2007-10-17
CN100520711C true CN100520711C (en) 2009-07-29

Family

ID=35169763

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800374988A Expired - Fee Related CN100520711C (en) 2004-09-03 2005-08-25 Memory interface, memory arrangement and method of controlling memory access

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100461134C (en) * 2007-03-27 2009-02-11 华为技术有限公司 An external memory controller and a method for address conversion based on the external memory controller

Family Cites Families (2)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
JP2008511896A (en) 2008-04-17
CN101057216A (en) 2007-10-17
EP1789870A1 (en) 2007-05-30
WO2006024999A1 (en) 2006-03-09
KR20070101208A (en) 2007-10-16

Similar Documents

Publication Publication Date Title
US8180992B2 (en) Method for configuring a memory space divided into memory banks
KR19990029196A (en) Semiconductor Memory and Data Management Method
WO2006124158A2 (en) Nonvolatile memory system using magneto-resistive random access memory (mram)
US6493260B2 (en) Nonvolatile memory device, having parts with different access time, reliability, and capacity
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
US5987581A (en) Configurable address line inverter for remapping memory
US5553019A (en) Write-once read-many memory using EEPROM cells
KR100286915B1 (en) Microcomputers with Flash Ipyrome inside
JPH0519183B2 (en)
US20040059895A1 (en) Microprocessor circuit for portable data carriers and method for operating the circuit
CN100520711C (en) Memory interface, memory arrangement and method of controlling memory access
US5093909A (en) Single-chip microcomputer including an eprom capable of accommodating different memory capacities by address boundary discrimination
US5333292A (en) Microcomputer for selectively accessing non-volatile memory and other storage unit in response to allocated address inputs
JPH07153284A (en) Non-volatile semiconductor memory and its control method
CN100386748C (en) Method and system for chip selecting of peripheral device in singe board computer
JP3635996B2 (en) Information processing system
JPH0562380B2 (en)
CN106886495B (en) A kind of embedded system and its control method
KR920010469A (en) Single Chip Microcomputers and Multifunction Memory
JP2510604B2 (en) Storage device
US6029210A (en) Memory initialization system selectively outputting a data between a normal data stored in the memory and a fixed value according to a registered access state
JP2627370B2 (en) Development support system
KR940027663A (en) Development Method of Data Processing System and Semiconductor Integrated Circuits for Data Processing
KR20030057916A (en) System for Device Chip Selection in Common Bus Structure
JPH08161223A (en) Microcomputer with built-in otp memory for controlling internal combustion engine

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: NXP CO., LTD.

Free format text: FORMER OWNER: KONINKLIJKE PHILIPS ELECTRONICS N.V.

Effective date: 20080321

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20080321

Address after: Holland Ian Deho Finn

Applicant after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Applicant before: Koninklijke Philips Electronics N.V.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090729

Termination date: 20150825

EXPY Termination of patent right or utility model