CN113625942A - 半导体器件 - Google Patents

半导体器件 Download PDF

Info

Publication number
CN113625942A
CN113625942A CN202110458546.1A CN202110458546A CN113625942A CN 113625942 A CN113625942 A CN 113625942A CN 202110458546 A CN202110458546 A CN 202110458546A CN 113625942 A CN113625942 A CN 113625942A
Authority
CN
China
Prior art keywords
memory
swls
bus
address
control circuit
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.)
Pending
Application number
CN202110458546.1A
Other languages
English (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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Publication of CN113625942A publication Critical patent/CN113625942A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/0615Address space extension
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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/0284Multiple user address space allocation, e.g. using different base addresses
    • 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/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • 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
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/524Deadlock detection or avoidance
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • G11C11/4082Address Buffers; level conversion circuits
    • 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/1016Performance improvement
    • G06F2212/1024Latency reduction
    • 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/1032Reliability improvement, data loss prevention, degraded operation etc
    • 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/1052Security improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Microcomputers (AREA)
  • Hardware Redundancy (AREA)

Abstract

本公开涉及一种半导体器件。该半导体器件执行软件锁步。半导体器件包括:第一电路组,包括在第一地址空间中待被操作的第一知识产权(IP)、第一总线和第一存储器;第二电路组,包括在第二地址空间中待被操作的第二IP、第二总线和第二存储器;可连接至第三存储器的第三总线;以及与第一总线至第三总线耦合的传输控制电路。当软件锁步被执行时,第二电路组将访问地址从第二IP转换到第二存储器,使得第二地址空间中被分配给第二存储器的地址与第一地址空间中被分配给第一存储器的地址相同。

Description

半导体器件
技术领域
本公开涉及半导体器件。
背景技术
自动驾驶车辆中安装的半导体器件需要是高度可靠的。另一方面,由于宇宙射线或物理劣化,半导体器件可能会执行无意的操作。这意味着在半导体器件中可能发生故障。由于不可能防止在半导体器件中发生的所有故障,因此需要检测已发生的故障。
用于检测在半导体器件中发生的故障的一个技术是被称为锁步的技术。在该技术中,使用可以实现相同功能的两个电路块,并且每个电路块在特定的定时进行操作。在对两个电路块的处理完成之后,比较两个电路块的处理结果。
以下列出了所公开的技术。
[专利文献1]日本未审查专利申请公开号2020-4108
专利文献1公开了用于执行软件锁步(SWLS)的半导体器件。专利文献1中所公开的半导体器件包括CPU 10、CPU 20、CPU 230和存储器260。在SWLS操作期间,CPU 10和CPU 20中的每一个读取针对SWLS的、被存储在存储器中的程序和数据。CPU 10和CPU 20中的每一个执行针对SWLS的程序,来将执行结果写入存储器260中。CPU 230从存储器260中读取CPU10的执行结果和CPU 20的执行结果,并且将它们进行比较。
发明内容
专利文献1中公开的用于执行SWLS的半导体器件可以使得CPU 10和CPU 20分别执行不同的处理。因此,当SWLS操作和非SWLS操作被混合时,执行SWLS的半导体器件具有可以有效地利用硬件资源(CPU 10和CPU 20)的优点。
然而,在SWLS操作期间,CPU 10和CPU 20中的每一个从存储器260读取针对SWLS的程序和数据,并且将执行结果写入存储器260中。此外,CPU 230从存储器260读取CPU 10的执行结果和CPU 20的执行结果。即,在SWLS操作期间,存在如下问题:访问存储器260所需的总线带宽增加。
从本说明书的描述和附图,其他目的和新特征将是明显的。
根据一个实施例的半导体器件执行软件锁步(SWLS)。半导体器件包括:第一电路组,包括在第一地址空间中待被操作的第一知识产权(IP)、第一总线以及经由第一总线而耦合到第一IP的第一存储器;第二电路组,包括在第二地址空间中待被操作的第二IP、第二总线以及经由第二总线而耦合到第二IP的第二存储器;可连接到第三存储器的第三总线;以及与第一总线至第三总线耦合的传输控制电路,并且该传输控制电路包括比较器。当SWLS被执行时,传输控制电路将针对SWLS的程序从第三存储器传输到第一存储器和第二存储器。第一IP执行针对SWLS的、被存储在第一存储器中的程序,以将第一执行结果存储在第一存储器中。第二IP执行针对SWLS的、被存储在第二存储器中的程序,以将第二执行结果存储在第二存储器中。传输控制电路从第一存储器和第二存储器读取第一执行结果和第二执行结果,并且利用比较器来对第一执行结果与第二执行结果进行比较。第二电路组将访问地址从第二IP转换到第二存储器,使得在第二地址空间中被分配给第二存储器的地址与第一地址空间中被分配给第一存储器的地址相同。
根据一个实施例,可以减少在SWLS操作期间,访问存储器所需的总线带宽。
附图说明
图1是示出了根据第一实施例的半导体器件的配置示例的框图。
图2是示出了根据第一实施例的半导体器件的软件锁步(SWLS)操作的示例的流程图。
图3是示出了根据第一实施例的修改的半导体器件的SWLS操作的示例的流程图。
图4是示出了根据第二实施例的半导体器件的配置示例的框图。
图5是示出了根据第三实施例的半导体器件的配置示例的框图。
具体实施方式
在下文中,将参考附图来详细描述实施例。在说明书和附图中,相同或对应的组件由相同的附图标记表示,并且省略其重复描述。在附图中,为了便于描述,配置可能被省略或简化。
第一实施例
图1是示出了根据第一实施例的半导体器件1的配置示例的框图。如图1所示,半导体器件1包括中央处理单元(CPU)11、第一电路组12、第二电路组13、第三总线14和传输控制电路15。第一电路组12包括第一知识产权(IP)121、第一总线122和第一存储器123。第二电路组13包括第二IP 131、第二总线132和第二存储器133。
在第一实施例中,第一电路组12和第二电路组13执行软件锁步(SWLS)。在SWLS中,针对SWLS的相同程序由第一IP 121和第二IP 131执行,并且第一IP 121的执行结果和第二IP 131的执行结果被比较。即,SWLS指的是如下的处理,在该处理中,通过由多个IP执行具有相同结果的程序、并且确认多个IP的执行结果相同,来检测半导体器件中发生的故障。
附加地,在第一实施例中,在第一电路组12和第二电路组13正在执行与SWLS有关的一系列处理时的操作被表示为SWLS操作。另一方面,在第一电路组12和第二电路组13未执行与SWLS有关的一系列处理时的操作被表示为非SWLS操作。
第一存储器123和第二存储器133是诸如例如静态随机存取存储器(SRAM)的存储器。在第一实施例中,第一存储器123和第二存储器133被描述为分别独立于第一IP 121和第二IP 131而提供的配置,但是本公开不限于此。即,第一存储器123和第二存储器133可以分别内置在第一IP 121和第二IP 131中。
此外,半导体器件1被连接到第三存储器2。具体地,第三存储器2被连接到半导体器件1中的第三总线14。第三存储器2是诸如例如双倍数据速率同步动态随机存取存储器(DDR-SDRAM)的存储器。在第一实施例中,第三存储器2被描述为在半导体器件1的外部,但是本公开不限于此。即,第三存储器2可以在半导体器件1内部。
CPU 11被连接到第一IP 121、第二IP 131、第二总线132和传输控制电路15。在SWLS操作期间,CPU 11控制第一IP 121、第二IP 131和传输控制电路15的操作。
CPU 11执行如下设置,该设置用于使传输控制电路15将针对SWLS的程序和数据从第三存储器2传输到第一存储器123和第二存储器133。例如通过以下来执行设置:将第三存储器2的地址存储在传输控制电路15中的、用于存储传输源地址的寄存器中,并且将第一存储器123和第二存储器133的地址存储在传输控制电路15中的用于存储传输目的地地址的寄存器中。之后,CPU 11向传输控制电路15传送激活请求,该激活请求用于使传输控制电路15开始传输针对SWLS的程序和数据。
此外,在CPU 11检测到传输控制电路15已完成针对SWLS的程序和数据的传输之后,CPU 11向第一IP 121和第二IP 131中的每一个传送激活请求,激活请求用于使第一IP121和第二IP 131中的每一个执行针对SWLS的程序和数据。由第一IP 121执行针对SWLS的程序的执行结果作为第一执行结果被存储在第一存储器123中。由第二IP 131执行针对SWLS的程序的执行结果作为第二执行结果被存储在第二存储器133中。
此外,在CPU 11检测到第一IP 121和第二IP 131已完成针对SWLS的程序的执行之后,CPU 11向传输控制电路15传送激活信号,激活信号用于使传输控制电路15读取第一存储器123中存储的第一执行结果以及第二存储器133中存储的第二执行结果并且对它们进行比较。
附加地,CPU 11将第一值或第二值设置在第二总线132中所包括的操作模式设置寄存器134中,第一值指示SWLS待被执行,第二值指示SWLS将不被执行。稍后将描述操作模式设置寄存器134的细节。
第一IP 121被连接到CPU 11和第一总线122。第一总线122被连接到第一存储器123。第一IP 121在第一地址空间中操作。在第一地址空间中,预定地址被分配给第一存储器123。第一IP 121使用在第一地址空间中被分配给第一存储器123的地址来访问第一存储器123。
此外,第一IP 121基于CPU 11的控制来读取并执行第一存储器123中存储的针对SWLS的程序。此时,第一IP 121读取第一存储器123中存储的针对SWLS的数据并且根据针对SWLS的程序中写入的地址,将通过执行针对SWLS的程序而生成的数据写入第一存储器123中。通过执行针对SWLS的程序而生成的数据包括第一IP 121对针对SWLS的程序的执行结果,即,第一执行结果。
第二IP 131被连接到CPU 11和第二总线132。此外,第二总线132被连接到第二存储器133。第二IP 131在第二地址空间中操作。在第二地址空间中,预定地址被分配给第二存储器133。第二IP 131使用在第二地址空间中被分配给第二存储器133的地址来访问第二存储器133。
此外,第二IP 131基于CPU 11的控制来读取并执行第二存储器133中存储的针对SWLS的程序。此时,第二IP 131读取第二存储器133中存储的针对SWLS的数据,并且根据针对SWLS的程序中写入的地址,将通过执行针对SWLS的程序而生成的数据写入第二存储器123中。通过执行针对SWLS的程序而生成的数据包括第二IP 131对针对SWLS的程序的执行结果,即,第二执行结果。
第二总线132还包括操作模式设置寄存器134和地址转换电路135。指示SWLS待被执行的第一值或指示SWLS不被执行的第二值被设置在操作模式设置寄存器134中。如上所述,第一值和第二值由CPU 11来设置。
地址转换电路135基于操作模式设置寄存器134中设置的值来确定是否将访问地址从第二IP 131转换到第二存储器133。更具体地,当第一值被设置在操作模式设置寄存器134中时,地址转换电路135将访问地址从第二IP 131转换到第二存储器133,使得在第二地址空间中被分配给第二存储器133的地址与在第一地址空间中被分配给第一存储器123的地址相同。另一方面,当第二值被设置在操作模式设置寄存器134中时,地址转换电路135不将访问地址从第二IP 131转换到第二存储器133。
针对SWLS的程序被写入,以由第一IP 121执行。即,被写入在针对SWLS的程序中的、用于数据访问的地址对应于在第一地址空间中分配给第一存储器123的地址。在SWLS操作期间,根据被写入在针对SWLS的程序中的地址,第一IP 121需要访问第一存储器123,并且第二IP 131需要访问第二存储器133。然而,在SWLS操作中,由于第一IP 121和第二IP131执行为第一IP 121而编写的针对SWLS的相同程序,因此第二IP 131无法根据被写入在针对SWLS的程序中的地址来访问第二存储器133。
在第一实施例中,当第一电路组12和第二电路组13执行SWLS时,CPU 11将指示SWLS待被执行的第一值设置在操作模式设置寄存器134中。当第一值被设置在操作模式设置寄存器134中时,地址转换电路135将访问地址从第二IP 131转换到第二存储器133,使得在第二地址空间中被分配给第二存储器133的地址与第一地址空间中被分配给第一存储器123的地址相同。结果,即使第二IP 131执行为第一IP 121而编写的针对SWLS的程序,第二IP 131也可以适当地访问第二存储器133。
如上所述,在SWLS操作中,第二电路组13将访问地址从第二IP 131转换到第二存储器133,使得在第二地址空间中被分配给第二存储器133的地址与第一地址空间中被分配给第一存储器123的地址相同。因此,即使针对SWLS的相同程序被执行,第一电路组12和第二电路组13也能够适当地执行SWLS。
另一方面,在非SWLS操作中,第二电路组13不将访问地址从第二IP 131转换到第二存储器133。因此,处于非SWLS操作中的第二IP 131可以适当地访问第二存储器133。即,即使当SWLS操作和非SWLS操作被混合时,半导体器件1也会适当地操作。
如图1所示,半导体器件1包括连接第一总线122和第二总线132而不经过传输控制电路15的路径。因此,在非SWLS操作中,使用该路径,第一IP 121除了可以访问第一存储器123以外,还可以访问第二存储器133,并且第二IP 131除了可以访问第二存储器133之外,还可以访问第一存储器123。附加地,半导体器件1包括连接第一总线122和第三总线14而不经过传输控制电路15的路径,以及连接第二总线132和第三总线14而不经过传输控制电路15的路径。因此,在非SWLS操作中,第一IP 121和第二IP 131中的每一个可以使用这些路径来访问第三存储器2。
传输控制电路15被连接到CPU 11、第一总线122、第二总线132和第三总线14。在SWLS操作中,传输控制电路15传输针对SWLS的程序和数据、读取第一执行结果和第二执行结果并对它们进行比较。
传输控制电路15基于CPU 11的控制来传输针对SWLS的程序和数据。传输控制电路15经由第三总线14来读取第三存储器2中存储的针对SWLS的程序和数据。传输控制电路15经由第一总线122和第二总线132,将所读取的针对SWLS的程序和数据传输到第一存储器123和第二存储器133。在该情况下,考虑在SWLS操作期间,访问地址从第二IP 131被转换到第二存储器123,传输控制电路15传输针对SWLS的程序和数据,使得到第一存储器123的布置和到第二存储器的布置相同。
此外,传输控制电路15基于CPU 11的控制来读取第一存储器123中存储的第一执行结果和第二存储器133中存储的第二执行结果。此时,第一执行结果和第二执行结果经由第一总线122和第二总线132来读取。传输控制电路15包括比较器151,并且使用比较器151来比较第一执行结果和第二执行结果。
此后,传输控制电路15经由第三总线14来将第一执行结果存储在第三存储器2中。此外,当第一执行结果和第二执行结果彼此不一致时,传输控制电路15传送中断信号,中断信号用于向CPU 11通知第一执行结果和第二执行结果彼此不一致。
接下来,将描述根据第一实施例的半导体器件1的SWLS操作。图2是示出根据第一实施例的半导体器件1的SWLS操作的示例的流程图。图2的流程图包括四个处理步骤S201-S204。首先,在步骤S201中,执行设置针对SWLS操作的地址的处理。在设置地址的处理中,CPU 11将指示SWLS待被执行的第一值设置在操作模式设置寄存器134中。通过设置第一值,执行将访问地址从第二IP 131到第二存储器133的转换。
接下来,在步骤S202中,执行传输针对SWLS的程序和数据的处理。在传输针对SWLS的程序和数据的处理中,CPU 11执行如下设置,该设置使传输控制电路15将针对SWLS的程序和数据从第三存储器2传输到第一存储器123和第二存储器133,并且然后激活传输控制电路15,以使传输控制电路15开始传输。被激活的传输控制电路15经由第三总线14来读取第三存储器2中所存储的针对SWLS的程序和数据。传输控制电路15将所读取的针对SWLS的程序和数据经由第一总线122和第二总线132传输至第一存储器123和第二存储器133。
此时,传输控制电路15在一次读取处理中,将针对SWLS的程序和数据传输到第一存储器123和第二存储器133。即,与以下情况相比,访问第三存储器3所需的总线带宽可以被减小:从第三存储器2到第一存储器123的传输以及从第三存储器2到第二存储器133的传输被单独执行的情况。附加地,在第一实施例中,由于地址转换电路135执行访问地址的转换,因此第一IP 121和第二IP 131可以执行针对SWLS的相同程序。结果,针对SWLS的程序的传输可以在一次传输处理中执行。
接下来,在步骤S203中,执行如下处理:执行针对SWLS的程序。在执行针对SWLS的程序的处理中,CPU 11检测到通过传输控制电路15已完成针对SWLS的程序和数据的传输。例如,传输控制电路15将用于通知传输完成的信号传送到CPU 11,并且CPU 11接收信号,由此CPU 11可以检测到传输控制电路15的传输处理已完成。在CPU 11检测到传输控制电路15已完成针对SWLS的程序和数据的传输之后,CPU 11激活第一IP 121和第二IP 131,以使第一IP 121和第二IP 131执行针对SWLS的程序。
被激活的第一IP 121读取并执行第一存储器123中存储的针对SWLS的程序。这时,第一IP 121使用在第一地址空间中被分配给第一存储器123的地址来访问第一存储器123。第一IP 121将针对SWLS的程序的执行结果作为第一执行结果存储在第一存储器123中。
此外,被激活的第二IP 131读取并执行第二存储器133中存储的针对SWLS的程序。这时,第二IP 131使用在第二地址空间中被分配给第二存储器133的地址来访问第二存储器133。第二IP 131将针对SWLS的程序的执行结果作为第二执行结果存储在第二存储器133中。
第一IP 121在其中进行操作的第一地址空间与第二IP 131在其中进行操作的第二地址空间不同。即,第一地址空间中被分配给第一存储器123的地址与第二地址空间中被分配给第二存储器133的地址不同。在SWLS操作中,第一IP 121和第二IP 131执行针对SWLS的相同程序。因此,在SWLS操作中,第二电路组13将访问地址从第二IP 131转换到第二存储器133,使得第二地址空间中被分配给第二存储器133的地址与第一地址空间中被分配给第一存储器123的地址相同。
具体地,地址转换电路135确认被设置在操作模式设置寄存器134中的值。在SWLS操作中,由于在步骤S201中设置了指示SWLS待被执行的第一值,因此地址转换电路135将访问地址从第二IP 131转换到第二存储器133,使得第二地址空间中被分配给第二存储器133的地址与第一地址空间中被分配给第一存储器123的地址相同。结果,即使第二IP 131执行为第一IP 121编写的针对SWLS的程序,第二IP 131也可以适当地实现SWLS的操作。
最后,在步骤S204中,执行对执行结果进行比较的处理。在对执行结果进行比较的处理中,CPU 11检测到第一IP 121和第二IP 131已完成针对SWLS的程序的执行。例如,第一IP 121和第二IP 131中的每一个向CPU 11传送用于通知针对SWLS的程序的执行处理完成的信号,并且CPU 11从第一IP 121接收信号并且从第二IP 131接收信号,由此CPU 11可以检测到第一IP 121和第二IP 131已完成针对SWLS的程序的执行处理。在CPU 11检测到第一IP 121和第二IP 131已完成针对SWLS的程序的执行之后,CPU 11激活传输控制电路15,以使传输控制电路15读取第一存储器123中存储的第一执行结果和第二存储器133中存储的第二执行结果并且对它们进行比较。
被激活的传输控制电路15经由第一总线122,从第一存储器123读取第一执行结果。此外,传输控制电路15经由第二总线132,从第二存储器133读取第二执行结果。传输控制电路15使用比较器151来对第一执行结果与第二执行结果进行比较。传输控制电路15将第一执行结果经由第三总线14存储在第三存储器2中。传输控制电路15在比较两个执行结果时,在第三存储器中仅存储一个执行结果,并且因此不会增加访问第三存储器2所需的总线带宽。附加地,当第一执行结果和第二执行结果彼此不一致时,传输控制电路15向CPU 11传送中断信号,中断信号用于通知第一执行结果和第二执行结果彼此不一致。
当步骤S204的处理完成时,SWLS的一系列操作完成。此后,当半导体器件1从SWLS操作转移到非SWLS操作时,CPU 11将指示SWLS不被执行的第二值设置在操作模式设置寄存器134中。
如上所述,根据第一实施例,由于传输控制电路15可以通过从第三存储器2进行一次读取处理来传输针对SWLS的程序和数据,换言之,从第三存储器2向第一存储器123和第二存储器133进行一次传输处理,因此访问第三存储器2所需的总线带宽可以被减少。
此外,在第一实施例中,当SWLS被执行时,第二电路组13将访问地址从第二IP 131转换到第二存储器133,使得第二地址空间中被分配给第二存储器133的地址与第一地址空间中被分配给第一存储器123的地址相同。结果,即使第二IP 131执行为第一IP 121编写的针对SWLS的程序,第二IP 131也可以适当地访问第二存储器133。
在图1中,第一电路组12和第二电路组13被示出为具有相同的配置,该配置设置有IP、总线和存储器,但是第一电路组12和第二电路组13不一定必须具有相同的配置。即,只要第一电路组12和第二电路组13可以执行SWLS,它们可以具有不对称的配置。
在图1中,第一电路组12和第二电路组13中的每一个被示出为具有设置有一个IP的配置,但是第一电路组12和第二电路组13中的每一个可以设置有多个IP。在该情况下,由于SWLS操作和非SWLS操作可以针对每个IP而被混合,因此地址转换电路135可以针对每个IP来转换访问地址。
在图1中,操作模式设置寄存器134和地址转换电路135被示出为第二总线132中包括的配置,但是本公开不限于此。即,操作模式设置寄存器134和地址转换电路135仅需要被包括在第二电路组13中,而不必被包括在第二总线132中。例如,第二IP 131可以包括操作模式设置寄存器134和地址转换电路135。
在图1中,操作模式设置寄存器134和地址转换电路135被示出为在第二电路组13侧的第二总线132中包括的配置,但是它们可以被包括在第一电路组12侧的第一总线122中。在该情况下,针对SWLS的程序可以被编写为对应于第二地址空间中被分配给第二存储器133的地址。
在图2中,尽管针对SWLS操作来设置地址的处理被描述为在传输针对SWLS的程序和数据的处理之前执行,但是针对SWLS操作来设置地址的处理以及传输针对SWLS的程序和数据的处理的顺序可以交换。
CPU 11可以被配置为在SWLS操作和非SWLS操作期间可被第二存储器133访问。在该情况下,无论在操作模式设置寄存器134中设置的值如何,地址转换电路135都不将访问地址从CPU 11转换到第二存储器133。
第一实施例的修改
接下来,将描述第一实施例的修改。在第一实施例中,尽管第一IP 121和第二IP131被描述为执行针对SWLS的相同程序,但是第一IP 121和第二IP 131也可以执行针对SWLS的不同程序。在第一实施例的修改中,将描述当针对SWLS的不同程序被执行时,半导体器件1的配置和操作。
第一IP 121执行针对SWLS的第一程序。针对SWLS的第一程序被写入为对应于第一地址空间中被分配给第一存储器123的地址。第二IP 131执行针对SWLS的第二程序。针对SWLS的第二程序被写入为对应于第二地址空间中被分配给第二存储器133的地址。尽管针对SWLS的第一程序和针对SWLS的第二程序在与以下有关的描述中不同,但是针对SWLS的第一程序的执行结果以及针对SWLS的第二程序的执行结果相同:用于访问第一存储器123的地址和用于访问第二存储器133的地址。
此外,由于第二IP 131执行待被第二IP 131执行写入的SWLS的第二程序,所以不需要操作模式设置寄存器134和地址转换电路135。因此,根据第一实施例的修改的半导体器件1不包括操作模式设置寄存器134和地址转换电路135。即,在第一实施例的修改中,在SWLS操作期间,第二电路组13不将访问地址从第二IP 131转换到第二存储器133。
图3是示出了根据第一实施例的修改的半导体器件1的SWLS操作的示例的流程图。在步骤S202a和S202b的处理中,图3的流程图与图2的流程图不同。附加地,在图2至图3的流程图中,步骤S203和S204的处理相同。
在图3的步骤S202a中,执行传输针对SWLS的数据的处理。在传输针对SWLS的数据的处理中,传输控制电路15经由第三总线14来读取第三存储器2中存储的针对SWLS的数据。传输控制电路15将所读取的针对SWLS的数据经由第一总线122和第二总线132传输到第一存储器123和第二存储器133。图3的步骤S202的处理与图2的步骤S202的处理的不同之处在于,仅传输针对SWLS的数据,而不传输针对SWLS的程序。
在图3的步骤S202b中,执行传输针对SWLS的程序的处理。在传输针对SWLS的程序的处理中,传输控制电路15经由第三总线14来读取第三存储器2中存储的针对SWLS的第一程序,并且将所读取的针对SWLS的第一程序经由第一总线122传输至第一存储器123。附加地,传输控制电路15经由第三总线14来读取第三存储器2中存储的针对SWLS的第二程序,并且将所读取的针对SWLS的第二程序经由第一总线132传输到第二存储器133。
根据第一实施例的修改,由于传输控制电路15可以通过一次传输处理,将针对SWLS的数据从第三存储器2传输到第一存储器123和第二存储器133,因此访问第三存储器2所需的总线带宽可以被减少。
在以上描述中,传输控制电路15在步骤S202b中执行针对SWLS的第一程序和针对SWLS的第二程序的传输处理,但是第一IP 121和第二IP 131可以执行传输处理。在该情况下,在CPU 11检测到传输控制电路15已完成针对SWLS的数据的传输之后,CPU 11激活第一IP 121来使第一IP 121开始传输针对SWLS的第一程序,并且激活第二IP 131来使第二IP131开始传输针对SWLS的第二程序。
被激活的第一IP 121将针对SWLS的第一程序经由连接第一总线122和第三总线14的路径,从第三存储器2传输到第一存储器123。此外,被激活的第二IP 131将针对SWLS的第二程序经由连接第二总线132和第三总线14的路径,从第三存储器2传输到第二存储器133。
第二实施例
接下来,将描述第二实施例。根据第二实施例的半导体器件与根据第一实施例的半导体器件的不同之处在于,可以在第一IP与传输控制电路之间以及第二IP与传输控制电路之间相互通信。图4是示出了根据第二实施例的半导体器件1a的配置示例的框图。如图4所示,图1中的第一电路组12、第一IP 121、第二电路组13、第二IP 131和传输控制电路15被分别更改为第一电路组12a、第一IP 121a、第二电路组13a、第二IP 131a和传输控制电路15a。
传输控制电路15a被连接到第一IP 121a和第二IP 131a。在传输控制电路15a已完成了针对SWLS的程序和数据的传输处理之后,传输控制电路15a将用于使第一IP 121a执行针对SWLS的程序的激活请求传送到第一IP 121a,并且将用于使第二IP 131a执行针对SWLS的程序的激活请求传输到第二IP 131a。例如通过以下来执行这些激活请求:将用于通知传输处理已完成的信号从传输控制电路15a传送到第一IP 121a,并且将用于通知传输处理已完成的信号从传输控制电路传送到第二IP 131a。在接收到激活请求之后,第一IP 121a和第二IP 131a中的每一个执行针对SWLS的程序。
在第一IP 121a和第二IP 131a已完成针对SWLS的程序的执行处理之后,第一IP121a和第二IP 131a中的每一个将用于使传输控制电路15a读取第一存储器123中存储的第一执行结果和第二存储器133中存储的第二执行结果并且对它们进行比较的激活请求传送到传输控制电路15a。例如通过以下来执行这些激活请求:将用于通知执行处理完成的信号从第一IP 121a传送到传输控制电路15a,并且将用于通知执行处理完成的信号从第二IP131a传送到传输控制电路15a。在接收到来自第一IP 121a的激活请求和来自第二IP 131a的激活之后,传输控制电路15a将第一执行结果与第二执行结果进行比较。
如上所述,根据第二实施例,在不使用CPU 11的情况下,传输控制电路15a可以将用于使第一IP 121a执行针对SWLS的程序的激活请求传送到第一IP 121a,并且将用于使第二IP 131a执行针对SWLS的程序的激活请求传送到第二IP 131a。此外,在不使用CPU 11的情况下,第一IP 121a和第二IP 131a中的每一个可以将用于使传输控制电路15a读取第一执行结果和第二执行结果并对它们进行比较的激活请求传送到传输控制电路15a。结果,与根据第一实施例的半导体器件1相比,根据第二实施例的半导体器件1a可以显著减轻CPU11进行中断处理的负担。具体地,随着第一电路组12a和第二电路组13a中包括的IP的数量增加,减小CPU 11上的负载的效果变得更加显著。
上述激活请求可以包括针对传输控制电路15a、第一IP 121a或第二IP 131a的寄存器设置的处理。附加地,即使当传输控制电路15a、第一IP 121a和第二IP 131a在执行其他处理的同时接收到激活请求时,激活请求也可以被排队并且经排队的激活请求可以被稍后处理。
第三实施例
接下来,将描述第三实施例。根据第三实施例的半导体器件与根据第一实施例和第二实施例的半导体器件的不同之处在于,传输控制电路包括保护电路。图5是示出了根据第三实施例的半导体器件1b的配置示例的框图。如图5所示,半导体器件1b在连接第一总线122和第二总线132的路径上包括保护电路16。
第一IP 121经由连接第一总线122和第二总线132的路径来访问第二电路组13中包括的第二存储器133。附加地,第二IP 131经由连接第一总线122和第二总线132的路径来访问第一电路组12中包括的第一存储器123。因此,第一IP 121和第二IP 131可以增加能够使用的存储器容量。
保护电路16控制以下访问的许可或不许可:从第一IP 121到第二存储器133的访问以及从第二IP 131到第一存储器123的访问。具体地,当SWLS被执行时,保护电路16禁止第一IP 121经由连接第一总线122和第二总线132的路径来访问第二存储器133,并且禁止第二IP 131经由连接第一总线122和第二总线132的路径来访问第一存储器123。另一方面,当SWLS未被执行时,保护电路16允许第一IP 121经由连接第一总线122和第二总线132的路径来访问第二存储器133,并且允许第二IP 131经由连接第一总线122和第二总线132的路径来访问第一存储器。
如上所述,根据第三实施例,保护电路16监视从一个电路组到另一电路组的访问,诸如从第一IP 121到第二存储器133的访问以及从第二IP 131到第一存储器123的访问,并且禁止在SWLS操作期间进行此类访问。由此,例如,可以避免未被检测到以下故障的问题:在SWLS操作期间,第一IP 121将相同数据存储在第一存储器123和第二存储器133两者中。
保护电路16可以基于设置在操作模式设置寄存器134中的值,来确定是否正在执行SWLS。保护电路16还可以被配置为从CPU 11直接接收与SWLS是否正在被执行有关的信息。
此外,在半导体器件1b中,经由第三总线14而不使用连接第一总线122和第二总线132的路径,第一IP 121可以访问第二存储器133,并且第二IP 131可以访问第一存储器123。然而,使用第三总线14的访问不是优选的,因为会增加访问第三总线14的竞争。
尽管已基于实施例具体描述了本发明人做出的发明,但是不用说,本发明不限于上述实施例,并且可以在不脱离本发明范围的情况下进行各种改变。

Claims (11)

1.一种执行软件锁步(SWLS)的半导体器件,包括:
第一电路组,包括在第一地址空间中待被操作的第一知识产权IP、第一总线以及经由所述第一总线而被耦合到所述第一IP的第一存储器;
第二电路组,包括在第二地址空间中待被操作的第二IP、第二总线以及经由所述第二总线而被耦合到所述第二IP的第二存储器;
第三总线,能够与第三存储器连接;以及
传输控制电路,被耦合到所述第一总线至所述第三总线并且包括比较器,
其中当所述SWLS被执行时,
所述传输控制电路被配置为将针对所述SWLS的程序从所述第三存储器传输到所述第一存储器和所述第二存储器,
所述第一IP被配置为执行所述第一存储器中所存储的、针对所述SWLS的所述程序,以将第一执行结果存储在所述第一存储器中,
所述第二IP被配置为执行所述第二存储器中所存储的、针对所述SWLS的所述程序,以将第二执行结果存储在所述第二存储器中;
所述传输控制电路被配置为从所述第一存储器和所述第二存储器读取所述第一执行结果和所述第二执行结果,并且使用所述比较器将所述第一执行结果与所述第二执行结果进行比较,并且
所述第二电路组被配置为将访问地址从所述第二IP转换到所述第二存储器,使得在所述第二地址空间中被分配给所述第二存储器的地址与所述第一地址空间中被分配给所述第一存储器的地址相同。
2.根据权利要求1所述的半导体器件,
其中所述第二总线包括:
地址转换电路,被配置为将所述访问地址从所述第二IP转换到所述第二存储器;以及
操作模式设置寄存器,被配置为设置以下中的任一个:指示所述SWLS将被执行的第一值,以及指示所述SWLS将不被执行的第二值,
其中当所述第一值被设置在所述操作模式设置寄存器中时,所述地址转换电路被配置为将所述访问地址从所述第二IP转换到所述第二存储器,使得在所述第二地址空间中被分配给所述第二存储器的所述地址与在所述第一地址空间中被分配给所述第一存储器的所述地址相同。
3.根据权利要求2所述的半导体器件,其中当所述第二值被设置在所述操作模式设置寄存器中时,所述地址转换电路被配置为不将所述访问地址从所述第二IP转换到所述第二存储器。
4.根据权利要求2所述的半导体器件,还包括耦合到所述第二总线的中央处理单元(CPU),并且
其中所述地址转换电路被配置为不论被设置在所述操作模式设置寄存器中的值如何,不将访问地址从所述CPU转换到所述第二存储器。
5.根据权利要求1所述的半导体器件,其中当所述SWLS被执行时,所述传输控制电路被配置为将针对所述SWLS的数据从所述第三存储器传输到所述第一存储器和所述第二存储器。
6.根据权利要求1所述的半导体器件,还包括耦合到所述传输控制电路的中央处理单元(CPU),并且
其中所述传输控制电路被配置为:
将所述第一执行结果存储在所述第三存储器中;以及
当所述第一执行结果与所述第二执行结果不一致时,向所述CPU传送中断信号,所述中断信号用于通知所述第一执行结果与所述第二执行结果不一致。
7.根据权利要求1所述的半导体器件,还包括与所述第一IP、所述第二IP和所述传输控制电路耦合的中央处理单元(CPU),并且
其中所述CPU被配置为在所述CPU检测到通过所述传输控制电路传输针对所述SWLS的程序已完成之后,激活所述第一IP和所述第二IP,以使所述第一IP和所述第二IP执行针对所述SWLS的所述程序。
8.根据权利要求1所述的半导体器件,还包括与所述第一IP、所述第二IP和所述传输控制电路耦合的中央处理单元(CPU),并且
其中所述CPU被配置为在所述CPU检测到通过所述第一IP和所述第二IP执行针对所述SWLS的所述程序已完成之后,激活所述传输控制电路,以使所述传输控制电路将所述第一执行结果与所述第二执行结果进行比较。
9.根据权利要求1的半导体器件,
其中所述传输控制电路被配置为向所述第一IP和第二IP传送第一信号,所述第一信号指示针对所述SWLS的所述程序的传输已完成,并且
其中所述第一IP和所述第二IP被配置为在接收到所述第一信号之后,执行针对所述SWLS的所述程序。
10.根据权利要求1的半导体器件,
其中所述第一IP和所述第二IP中的每一个IP被配置为向所述传输控制电路传送第二信号,所述第二信号指示针对所述SWLS的所述程序的执行已完成,并且
其中所述传输控制电路被配置为在接收到来自所述第一IP的所述第二信号和来自所述第二IP的所述第二信号之后,将所述第一执行结果与所述第二执行结果进行比较。
11.根据权利要求1所述的半导体器件,还包括保护电路,所述保护电路在如下路径上,所述路径将所述第一总线和所述第二总线耦合而不经过所述传输控制电路,并且
其中所述保护电路被配置为:
当所述SWLS被执行时,禁止所述第一IP经由耦合所述第一总线和所述第二总线的所述路径来访问所述第二存储器,并且禁止所述第二IP经由耦合所述第一总线和所述第二总线的所述路径来访问所述第一存储器,以及
当所述SWLS未被执行时,允许所述第一IP经由耦合所述第一总线和所述第二总线的所述路径来访问所述第二存储器,并且允许所述第二IP经由耦合所述第一总线和所述第二总线的所述路径来访问所述第一存储器。
CN202110458546.1A 2020-05-06 2021-04-27 半导体器件 Pending CN113625942A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/868,041 2020-05-06
US16/868,041 US11455248B2 (en) 2020-05-06 2020-05-06 Semiconductor device capable of performing software lock-step

Publications (1)

Publication Number Publication Date
CN113625942A true CN113625942A (zh) 2021-11-09

Family

ID=75825628

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110458546.1A Pending CN113625942A (zh) 2020-05-06 2021-04-27 半导体器件

Country Status (3)

Country Link
US (1) US11455248B2 (zh)
EP (1) EP3907614A1 (zh)
CN (1) CN113625942A (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8479042B1 (en) 2010-11-01 2013-07-02 Xilinx, Inc. Transaction-level lockstep
US8443230B1 (en) * 2010-12-15 2013-05-14 Xilinx, Inc. Methods and systems with transaction-level lockstep
JP5642649B2 (ja) * 2011-10-07 2014-12-17 シャープ株式会社 半導体記憶装置及び半導体装置
US10521327B2 (en) * 2016-09-29 2019-12-31 2236008 Ontario Inc. Non-coupled software lockstep
JP7042709B2 (ja) * 2018-06-28 2022-03-28 ルネサスエレクトロニクス株式会社 半導体装置、制御システムおよび半導体装置の制御方法

Also Published As

Publication number Publication date
EP3907614A1 (en) 2021-11-10
US11455248B2 (en) 2022-09-27
US20210349819A1 (en) 2021-11-11

Similar Documents

Publication Publication Date Title
US5005172A (en) Diagnostic system in a data processing system
US6237108B1 (en) Multiprocessor system having redundant shared memory configuration
US6389554B1 (en) Concurrent write duplex device
US5761728A (en) Asynchronous access system controlling processing modules making requests to a shared system memory
WO2021111639A1 (ja) コントローラ
CN114880266B (zh) 故障处理的方法、装置、计算机设备和存储介质
CN113625942A (zh) 半导体器件
US10997105B2 (en) Semiconductor device and method of operating the same
US20060117226A1 (en) Data communication system and data communication method
US20110145491A1 (en) Method for controlling access to regions of a memory from a plurality of processes and a communication module having a message memory for implementing the method
JP3852882B2 (ja) マスタスレーブ装置
JP2002049606A (ja) マルチcpuシステム
JP7468260B2 (ja) 二重系制御システムのメモリ等価方式
JP5516402B2 (ja) 情報処理装置及び情報処理装置の制御方法
JP2001216207A (ja) Dma診断装置及びそれに用いるdma診断方法
KR0136392B1 (ko) 이중화 시스템에서의 듀얼카피 방법 및 그 장치
JP3341738B2 (ja) メモリのエラー検出方式
US9323472B2 (en) Storage controlling device and controlling method
JPH0152774B2 (zh)
JPH05298193A (ja) メモリアクセス障害検出回路
JP3056169B2 (ja) データ送受信方式とその方法
KR20050067324A (ko) 마스터/슬레이브 디바이스간의 인터페이스 장치 및 그 방법
JP2003345515A (ja) ディスク制御装置、ストレージシステム、及びその制御方法
JPH11232206A (ja) 入出力制御回路
JPH01134555A (ja) 共通メモリ制御方式

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination