CN109840221B - 半导体器件和配备有该半导体器件的半导体系统 - Google Patents

半导体器件和配备有该半导体器件的半导体系统 Download PDF

Info

Publication number
CN109840221B
CN109840221B CN201811366127.XA CN201811366127A CN109840221B CN 109840221 B CN109840221 B CN 109840221B CN 201811366127 A CN201811366127 A CN 201811366127A CN 109840221 B CN109840221 B CN 109840221B
Authority
CN
China
Prior art keywords
request signal
memory
data
bus
semiconductor device
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.)
Active
Application number
CN201811366127.XA
Other languages
English (en)
Other versions
CN109840221A (zh
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 CN109840221A publication Critical patent/CN109840221A/zh
Application granted granted Critical
Publication of CN109840221B publication Critical patent/CN109840221B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1028Adjacent errors, e.g. error in n-bit (n>1) wide storage units, i.e. package error
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/1201Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising I/O circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Debugging And Monitoring (AREA)
  • Noodles (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

本公开涉及一种半导体器件和配备有该半导体器件的半导体系统,该半导体器件包括:主电路,输出用于请求写入数据的第一写入请求信号;总线,接收数据和第一写入请求信号;总线控制单元,布置在总线上,生成用于数据的错误检测码并生成第二写入请求信号,第二写入请求信号包括与第一写入请求信号中包括的第一地址信息相对应的第二地址信息;以及存储器控制器,在存储器的存储区中,将数据写入到由第一写入请求信号指定的地址的存储区中,并且将错误检测码写入由第二写入请求信号指定的地址的存储区中。

Description

半导体器件和配备有该半导体器件的半导体系统
相关申请的交叉参考
2017年11月28日提交的日本专利申请第2017-227774号的包括说明书、附图和摘要的公开通过引证引入本文。
技术领域
本发明涉及半导体器件和配备有该半导体器件的半导体系统,并且例如涉及适于提高可靠性的半导体器件和配备有该半导体器件的半导体系统。
背景技术
在最近的半导体系统中,通过使用ECC(错误检测码)来执行从存储器读出的数据中的误差的检测和位的校正。因此,与双工电路配置并将其结果相互比较的情况相比,半导体系统能够提高可靠性,同时抑制电路规模的增加。
在日本未审查专利申请公布第2008-250671号中公开了与ECC有关的技术。在日本未审查专利申请公开第2008-250671号中公开的器件中,存储器控制器将从CPU(中央处理单元)接收的数据写入外部存储器,并在数据写入时将基于所关注数据准备的症状码(syndrome code)写入ECC存储器。此外,存储器控制器读出存储在外部存储器中的数据,并且在数据读取时读出存储在ECC存储器中的用于所关注数据的症状码。此后,存储器控制器检测读出数据中的错误,并在可能时通过使用该症状码执行位校正。
发明内容
然而,日本未审查专利申请公开第2008-250671号中的配置具有这样的问题:在用于执行对外部存储器的数据访问的地址信号和用于对ECC存储器执行症状码访问的地址信号之间共同的部分发生位错误的情况下,分别读出存储在错误地址的存储区中的数据及其症状码,从而在ECC检查中没有检测到错误。即,日本未审查专利申请公开第2008-250671号中的配置具有这样的问题,以至于仍然无法提高可靠性。根据本发明的说明书的描述和附图,其他主题和新颖特征将变得明显。
根据本发明的一个实施例,提供了一种半导体器件,其包括:主电路,输出用于请求写入数据的第一写入请求信号;总线,接收数据和第一写入请求信号;总线控制单元,布置在总线上,生成用于数据的错误检测码,并生成第二写入请求信号,第二写入请求信号包括与在第一写入请求信号中包括的第一地址信息相对应的第二地址信息;以及存储器控制器,在存储器的存储区中将从总线传输的数据写入由从总线传输的第一写入请求信号指定的地址的存储区,并将从总线传输的错误检测码写入由从总线传输的第二写入请求信号指定的地址的存储区。
根据本发明的另一实施例,提供了一种半导体器件,包括:主电路,生成用于请求读取写入存储器的数据的第一读取请求信号;总线,接收第一读取请求信号;总线控制单元,布置在总线上,并且生成第二读取请求信号,第二读取请求信号包括与第一读取请求信号中包括的第一地址信息相对应的第二地址信息;以及存储器控制器,在存储器的存储器中读取存储在由从总线传输的第一读取请求信号指定的地址的存储区中的数据并且读取存储在由从总线传输的第二读取请求信号指定的地址的存储区中的用于数据的错误检测码。
根据上述一个实施例,可以提供能够提高可靠性的半导体器件和配备有该半导体器件的半导体系统。
附图说明
图1是示出根据第一实施例的半导体系统的一个配置示例的框图。
图2是示出在图1所示半导体器件中提供的数据写入电路部分的第一具体配置示例的框图。
图3是示出图2所示半导体器件的写入操作的一个示例的流程图。
图4是示出在图1所示半导体器件中提供的数据读取电路部分的第一具体配置示例的框图。
图5是示出图4所示半导体器件的读取操作的一个示例的流程图。
图6是示出在图1所示半导体器件中提供的数据写入电路部分的第二具体配置示例的框图。
图7是示出图6所示半导体器件的写入操作的一个示例的流程图。
图8是示出在图1所示半导体器件中提供的数据读取电路部分的第二具体配置示例的框图。
图9是示出图8所示半导体器件的读取操作的一个示例的流程图。
图10是示出在图1所示半导体器件中提供的数据写入电路部分的第三具体配置示例的框图。
图11是示出在图1所示半导体器件中提供的数据读取电路部分的第三具体配置示例的框图。
图12是示出根据第二实施例的半导体系统的一个配置示例的框图。
图13是示出在图12所示半导体器件中提供的数据写入电路部分的第一具体配置示例的框图。
图14是示出在图12所示半导体器件中提供的数据读取电路部分的第一具体配置示例的框图。
具体实施方式
为了描述的清楚,适当地省略和简化以下说明书和附图。此外,附图中示出的作为用于执行各种类型的处理的功能块的每个元件都能够通过CPU(中央处理单元)、存储器和硬件中的其他电路来配置,并且通过软件形式的加载到存储器等中的程序等来实施。因此,本领域技术人员将理解,这些功能块能够仅通过硬件、仅通过软件或通过硬件和软件的组合来以各种形式实现/实施,并且不限于它们中的任何一种。顺便提及,在各个附图中,相同的数字被分配给相同的元件,并且根据需要省略它们的重复描述。
此外,可以使用各种类型的非临时计算机可读介质存储上述程序并将该程序提供给计算机。非临时计算机可读介质包括各种类型的大量记录介质。非临时计算机可读介质的示例包括磁记录介质(例如,软盘、磁带、硬盘驱动器等)、磁光记录介质(例如,磁光盘)、CD-ROM(只读存储器)、CD-R(紧凑盘-可记录)、CD-R/W(压缩盘-可重写)和半导体存储器(例如,屏蔽式ROM、PROM(可编程ROM)、EPROM(可擦除PROM)、闪存ROM、RAM(随机存取存储器))。此外,程序可以通过各种类型的临时计算机可读介质提供给计算机。临时计算机可读介质的示例包括电信号、光信号和电磁波。临时计算机可读介质能够经由使用电线、光纤等的有线通信路径或无线通信路径向计算机提供程序。
<第一实施例>
图1是示出根据第一实施例的半导体器件1和配备有半导体器件1的半导体系统SYS1的一个配置示例的框图。
如图1所示,半导体系统SYS1包括四个存储器M1-M4以及访问存储器M1-M4的半导体器件1。顺便提及,虽然在本实施例中,通过示例描述了布置四个存储器M1-M4的情况,但是存储器的数量不限于四个,并且足以布置两个或更多个存储器。
半导体器件1包括诸如CPU 12_1、DMAC(直接存储存取控制器)12_2、显示器12_3等的主电路(下文中也被简称为主电路12)、总线B1、本地总线14和四个存储器控制器(MEMC)13_1-13_4。总线控制单元11布置在总线B1上。顺便提及,虽然在本实施例中,通过示例描述了布置四个存储器控制器13_1-13_4的情况,但是存储器控制器的数量不限于四个,可以根据存储器的数量来布置两个或更多个存储器控制器。
例如,诸如CPU等的主电路12发出请求(生成请求信号),并将请求传输至总线B1。总线控制单元11基于总线B1上来自主电路12的请求来请求存储器控制器13_1-13_4中指定的一个存储器控制器来访问相应的存储器。从而,被指定的存储器控制器访问对应的存储器。对存储器的访问结果(读出数据、响应信号等)经由总线B1传输至主电路12。顺便提及,总线控制单元11也可以基于来自主电路12的请求经由总线B1和本地总线14访问另一个/其他从电路。
(布置在半导体器件1中的数据写入电路部分的第一具体配置示例)
图2是示出作为半导体器件1a的半导体器件1中布置的数据写入电路部分的第一具体配置示例的框图。顺便提及,除了图2中的半导体器件1a之外,还示出了存储器M1-M4。
如图2所示,作为数据写入电路部分,半导体器件1a包括主电路12、布置在总线B1上的总线控制单元11以及存储器控制器13_1-13_4。总线控制单元11包括地址调整部111、ECC调整部112和请求路由电路113。
例如,主电路12生成将被写入的数据D1和用于请求写入数据D1的请求信号(下文中称为写入请求信号)WRQ1,并将数据D1和写入请求信号WRQ1输出至总线B1。顺便提及,数据D1的粒度(突发、大小、长度等)、ID(标识)、地址信息等包括在写入请求信号WRQ1中。
地址调整部111具有地址转换电路1111。地址转换电路1111将来自主电路12的写入请求信号WRQ1中包括的地址信息的位宽变为符合存储器M1-M4的标准的位宽。
ECC调整部112基于从主电路12输出的将被写入的数据D1生成错误检测码C2,并基于写入请求信号WRQ1生成用于错误检测码C1的写入请求信号WRQ2。
具体地,ECC调整部112具有复制电路1121、ECC生成电路1122和ECC请求生成电路1123。复制电路1121分别复制数据D1和写入请求信号WRQ1。ECC生成电路1122基于由复制电路1121复制的数据D1生成用于数据D1的错误检测码C1。例如,ECC生成电路1122为64位宽的数据D1生成8位宽的错误检测码C1。ECC请求生成电路1123基于由复制电路1121复制的写入请求信号WRQ1生成用于错误检测码C1的写入请求信号WRQ2,其包括与所关注的写入请求信号WRQ1中包括的地址信息相对应的地址信息,并且经由不同于写入请求信号WRQ1的信号路径输出生成的写入请求信号WRQ2。在本实施例中,由于将要写入数据D1的存储器与将要写入错误检测码C1的存储器不同,因此它们响应的地址信息可以具有相同的值。另外,ECC请求生成电路1123向写入请求信号WRQ2给出与给予写入请求信号WRQ1的ID相关的另一个ID。由此,变得可以使数据D1和数据D1的错误检测码C1的组合彼此重合。
请求路由电路113将来自主电路12和ECC调整部112的多个请求分配给四个存储器控制器13_1-13_4中的任一个。例如,请求路由电路113将数据D1和写入请求信号WRQ1的组合分配给存储器控制器13_1,并将错误检测码C1和写入请求信号WRQ2的组合分配给存储器控制器13_2。
存储器控制器13_1-13_4分别访问存储器M1-M4。例如,当接收到写入请求信号WRQ1时,存储器控制器13_1将数据D1写入存储器M1的存储区中由写入请求信号WRQ1中包括的地址信息指定的地址的存储区中。此外,当接收到写入请求信号WRQ2时,存储器控制器13_2将用于数据D1的错误检测码C1写入存储器M2的存储区中由写入请求信号WRQ2中包括的地址信息指定的地址的存储区中。(半导体器件1a的数据写入操作)
然后,将使用图3描述图2所示半导体器件1a的数据写入操作。图3是示出半导体器件1a的数据写入操作的一个示例的流程图。
首先,通过主电路12生成将被写入的数据D1和写入请求信号WRQ1,并将它们提供给总线B1(步骤S101)。
此后,通过地址调整部111执行写入请求信号WRQ1中包括的地址信息的位宽的调整。此后,生成与写入请求信号WRQ1相对应的写入请求信号WRQ2(步骤S102),并且通过ECC调整部112生成用于数据D1的错误检测码C1(步骤S103)。
此后,例如,通过请求路由电路113,数据D1和写入请求信号WRQ1被分配给存储器控制器13_1,并且错误检测码C1和写入请求信号WRQ2被分配给存储器控制器13_2(步骤S104)。
当接收到写入请求信号WRQ1时,存储器控制器13_1将数据D1写入存储器M1的存储区中由写入请求信号WRQ1中包括的地址信息指定的地址的存储区中(步骤S105)。此外,当接收到写入请求信号WRQ2时,存储器控制器13_2将用于数据D1的错误检测码C1写入存储器M2的存储区中由写入请求信号WRQ2中包括的地址信息指定的地址的存储区中(步骤S106)。
在根据本实施例的半导体器件1和配备有半导体器件1的半导体系统SYS1中,布置在总线B1上的总线控制单元11基于以这种方式从主电路12接收的写入请求信号WRQ1生成不同于写入请求信号WRQ1的写入请求信号WRQ2。然后,总线控制单元11将写入请求信号WRQ1传输至存储器控制器13_1,并使存储器控制器13_1将数据D1写入存储器M1,并经由与写入请求信号WRQ1的信号路径不同的信号路径将写入请求信号WRQ2传输至存储器控制器13_2,并且使存储器控制器13_2将用于数据D1的错误检测码C1写入存储器M2。
即,在根据本实施例的半导体器件1和配备有半导体器件1的半导体系统SYS1中,用于总线B1(布置在CPU与存储器控制器之间)与存储器控制器13_1之间以及总线B1与存储器控制器13_2之间的存储访问的路径彼此不同,这与日本未审查专利申请公开第2008-250671号中的配置情况不同。为此,在经由存储器控制器13_1从总线B1传输至存储器M1的地址信号和经由存储器控制器13_2从总线B1传输至存储器M2的地址信号中的任何一个中出现位错误的情况下,读出的用于数据D1和用于错误检测码C1的组合彼此不同,因此可以正确地检测ECC检查中的错误。从而,根据第一实施例的半导体器件1和配备有半导体器件1的半导体系统SYS1能够提高可靠性。
(布置在半导体器件1a中的数据读取电路部分的第一具体配置示例)
图4是示出布置在半导体器件1a中的数据读取电路部分的第一具体配置示例的框图。顺便提及,除了图4中的半导体器件1a之外,还示出了存储器M1-M4。
如图4所示,作为数据读取电路部分,半导体器件1a包括主电路12、布置在总线B1上的总线控制单元11以及存储器控制器13_1至13_4。总线控制单元11包括地址调整部115、ECC调整部116、请求路由电路117、响应路由电路118和存储部119。顺便提及,虽然将描述用于数据读取的地址调整部115、ECC调整部116、请求路由电路117和响应路由电路118与用于数据写入的那些部分分别提供的情况,但是可以在数据读取和数据写入之间共享这些元件。
例如,主电路12生成用于请求读取数据D1的请求信号(下文称为读取请求信号)RRQ1,并将读取的请求信号RRQ1输出至总线B1。顺便提及,ID、地址信息等包括在读取请求信号RRQ1中。
地址调整部115具有地址转换电路1151。地址转换电路1151将来自主电路12的读取请求信号RRQ1中包括的地址信息的位宽变为符合存储器M1-M4的标准的位宽。
ECC调整部116基于从主电路12输出的读取请求信号RRQ1,生成用于与将要读出的数据D1相对应的错误检测码C1的读取请求信号RRQ2。
具体地说,ECC调整部116具有复制电路1161和ECC请求生成电路1162。复制电路1161复制读取请求信号RRQ1。ECC请求生成电路1162基于由复制电路1161复制的读取请求信号RRQ1生成用于错误检测码C1的读取请求信号RRQ2(其不同于所关注的读取请求信号RRQ1),并且经由与读取请求信号RRQ1的信号路径不同的信号路径输出所生成的读取请求信号RRQ2。在本实施例中,由于从其读取数据D1的存储器与从其读取错误检测码C1的存储器不同,所以各个地址信息可具有相同的值。此外,ECC请求生成电路1162为读取请求信号RRQ2给出与给予读取请求信号RRQ1的ID相关的另一ID。由此,可以使读出的数据D1和用于数据D1的错误检测码C1的组合彼此一致。
请求路由电路117将来自主电路12和ECC调整部116的多个请求分配给四个存储器控制器13_1-13_4中的任一个。例如,请求路由电路117将读取请求信号RRQ1分配给存储器控制器13_1,并将读取请求信号RRQ2分配给存储器控制器13_2。
存储器控制器13_1-13_4分别访问存储器M1-M4。例如,当接收到读取请求信号RRQ1时,存储器控制器13_1在存储器M1的存储区中读取存储在由读取请求信号RRQ1中包括的地址信息指定的地址的存储区中的数据D1。此外,当接收到读取请求信号RRQ2时,存储器控制器13_2在存储器M2的存储区中读取存储在由读取请求信号RRQ2中包括的地址信息指定的地址的存储区中的用于数据D1的错误检测码C1。
响应路由电路118是选择从存储器M1-M4读出的多个数据并按顺序将它们发送回主电路12的电路。
这里,响应路由电路118具有诊断电路1181,并且诊断电路1181检测读出数据D1中的错误,如果可能的话,通过使用从存储器M2读出的错误检测码C1执行位校正。
顺便提及,数据D1和用于数据D1的错误检测码C1从彼此不同的存储器M1和M2中读出,因此不一定连续地读出。因此,在数据D1和用于数据D1的错误检测码C1中,首先读出的一个数据(例如,数据D1)及其ID被存储在存储部119中。然后,当读出具有与存储在存储部119中的一个数据的ID相关的ID的另一数据(例如,错误检测码C1)时,诊断电路1181检测数据D1中的错误,并在可能时通过使用这些数据中的错误检测码C1执行位校正。顺便提及,还可以将存储部119用作用于访问经由总线B1和本地总线14耦合的另一/其他从电路的数据的主要存储区。
未检测到错误的数据D1或由诊断电路1181校正的数据D1按计划发送回主电路12。另一方面,检测出错误但未校正的数据D1按原样发送回主电路12,并且同时发送回错误信息。
(半导体器件1a的数据读取操作)
然后,将使用图5描述图4所示半导体器件1a的数据读取操作。图5是示出半导体器件1a的数据读取操作的一个示例的时序图。
首先,通过主电路12生成读取请求信号RRQ1并将其提供给总线B1(步骤S201)。
此后,通过地址调整部115调整包括在读取请求信号RRQ1中的地址信息的位宽。此后,通过ECC调整部116生成对应于读取请求信号RRQ1的读取请求信号RRQ2(步骤S202)。
此后,例如,通过请求路由电路117,读取请求信号RRQ1被分配给存储器控制器13_1,并且读取请求信号RRQ2被分配给存储器控制器13_2(步骤S203)。
当接收到读取请求信号RRQ1时,存储器控制器13_1在存储器M1的存储区中读取存储在由读取请求信号RRQ1中包括的地址信息指定的地址的存储区中的数据D1(步骤S204)。此外,当接收到读取请求信号RRQ2时,存储器控制器13_2在存储器M2的存储区中读取存储在由读取请求信号RRQ2中包括的地址信息指定的地址的存储区中的错误检测码C1(步骤S205)。
此后,选择从存储器M1和M4读出的多个数据,并通过响应路由电路118顺次发送回主电路12。这里,布置在响应路由电路118中的诊断电路1181检测读出数据D1中的错误,并在可能时通过使用从存储器M2读出的错误检测码C1执行位校正(步骤S206)。
作为诊断电路1181诊断的结果,未检测到错误的数据D1或者检测到错误但已校正的数据D1按计划发送回主电路12(步骤S207)。另一方面,检测出错误但没有校正的数据D1原样地被发送回主电路12,并且同时发送回错误信息。
在根据本实施例的半导体器件1和配备有半导体器件1的半导体系统SYS1中,布置在总线B1上的总线控制单元11基于以这种方式从主电路12接收的读取请求信号RRQ1生成与读取请求信号RRQ1不同的读取请求信号RRQ2。然后,总线控制单元11将读取请求信号RRQ1传输至存储器控制器13_1,并且使存储器控制器13_1读取存储在存储器M1中的数据D1,并且经由与读取请求信号RRQ1的信号路径不同的信号路径将读取请求信号RRQ2传输至存储器控制器13_2,并且使存储器控制器13_2读取存储在存储器M2中的用于数据D1的错误检测码C1。
即,在根据本实施例的半导体器件1和配备有半导体器件1的半导体系统SYS1中,布置在CPU和存储器控制器之间的总线B1与存储器控制器13_1之间以及总线B1与存储器控制器13_2之间的存储访问的路径彼此不同,这与日本未审查专利申请公开第2008-250671号的情况不同。为此,在经由存储器控制器13_1从总线B1传输至存储器M1的地址信号和经由存储器控制器13_2从总线B1传输至存储器M2的地址信号中的任一个中出现位错误的情况下,读出的用于数据D1和用于错误检测码C1的组合变得彼此不同,因此可以在ECC检测中正确地检测错误。从而,根据本实施例的半导体器件1和配备有半导体器件1的半导体系统SYS1能够提高可靠性。
顺便提及,半导体器件1的具体配置不限于上述半导体器件1a的配置。下文将描述其他具体的配置示例。
(布置在半导体器件1中的数据写入电路部分的第二具体配置示例)
图6是示出布置在作为半导体器件1b的半导体器件1中的数据写入电路部分的第二具体配置示例的框图。顺便提及,除了图6中的半导体器件1b之外,还示出了存储器M1-M4。
与图2所示的半导体器件1a相比,图6所示的半导体器件1b包括总线控制单元11b来代替总线控制单元11。与总线控制单元11相比,总线控制单元11b在地址调整部和ECC调整部112的配置方面不同。
具体地,除地址转换电路1111之外,地址调整部111b还包括地址比较电路(判定电路)1112和存储部1113。在多个写入请求信号WRG1中的存储部1113中存储用于写入请求信号WRQ1的地址信息,其中写入请求信号WRQ1对应于作为错误检测码C1的生成对象的写入数据D1。地址比较电路1112判定从主电路12输出的用于写入请求信号WRQ1的地址信息是否与存储在存储部1113中的多个地址信息中的任一个一致。
例如,在从主电路12输出的用于写入请求信号WRQ1的地址信息与存储在存储部1113中的多个地址信息中的任一个一致的情况下,地址比较电路1112判定与所关注的写入请求信号WRQ1一起输出的写入数据D1是用于错误检测码C1的生成对象,并且激活使能信号EN。另一方面,在从主电路12输出的用于写入请求信号WRQ1的地址信息与存储在存储部1113中的多个地址信息中的任一个都不一致的情况下,地址比较电路1112判定与所关注的写入请求信号RG1一起输出的写入数据D1不是用于错误检测码C1的生成对象,并且去激活(不激活)使能信号EN。
在ECC调整部112b中,复制电路1121b仅在使能信号EN被激活的情况下复制数据D1和写入请求信号WRQ1,并将复制的数据D1和写入请求信号WRQ1分别输出至ECC生成电路1122和ECC请求生成电路1123。由于ECC调整部112b的其他配置与ECC调整部112的配置相同,因此省略其描述。
由于总线控制单元11b的数据写入电路部分的其他配置与总线控制单元11的配置相同,因此省略其描述。
(半导体器件1b的数据写入操作)
然后,将使用图7描述图6所示半导体器件1b的数据写入操作。图7是示出半导体器件1b的数据写入操作的一个示例的流程图。顺便提及,下文将主要描述不同于半导体器件1a的操作。
首先,通过主电路12生成将被写入的数据D1和写入请求信号WRQ1,并将它们提供给总线B1(步骤S101)。
然后,通过地址调整部111b对写入请求信号WRQ1中包括的地址信息的位宽进行调整。此外,判定与所关注的写入请求信号WRQ1一起输出的将被写入的数据D1是否是用于错误检测码C1的生成对象(步骤S111)。
例如,在将被写入的数据D1是用于错误检测码C1的生成对象的情况下(步骤S111中为是),类似于半导体器件1a的情况,生成写入请求信号WRQ2(步骤S102)并且生成用于数据D1的错误检测码C1(步骤S105)。此后,仍然执行与半导体器件1a的情况类似的数据写入处理(步骤S104至步骤S106)。
另一方面,在将被写入的数据D1不是用于错误检测码C1的生成对象的情况下(步骤S111中为否),不执行写入请求信号WRQ2和错误检测码C1的生成。此后,例如,通过请求路由电路113将数据D1和写入请求信号WRQ1分配给存储器控制器13_1(步骤S112)。然后,当接收到写入请求信号WRQ1时,存储器控制器13_1将数据D1写入存储器M1的存储区中由写入请求信号WRQ1中包括的地址信息指定的地址的存储区中(步骤S113)。
(布置在半导体器件1b中的数据读取电路部分的第二具体配置示例)
图8是示出布置在半导体器件1b中的数据读取电路部分的第二具体配置示例的框图。顺便提及,除了图8中的半导体器件1b之外,还示出了存储器M1-M4。
与图4所示的半导体器件1a相比,图8所示的半导体器件1b包括总线控制单元11b来代替总线控制单元11。与总线控制单元11相比,总线控制单元11b在地址调整部115和ECC调整部116的配置方面不同。
具体地,除地址转换电路1151之外,地址调整部115b还包括地址比较电路1152和存储部1153。在存储部1153中存储多个读取请求信号RRQ1中的用于读取请求信号RRQ1的地址信息(等效于存储部1113中存储的内容),其中读取请求信号RRQ1对应于作为错误检测码C1的生成对象的数据D1。地址比较电路1152判定从主电路12输出的用于读取请求信号RRQ2的地址信息是否与存储在存储部1153中的多个地址信息中的任一个一致。
例如,在从主电路12输出的用于读取请求信号RRQ1的地址信息与存储在存储部1153中的多条地址信息中的任一个一致的情况下,地址比较电路1152判定被安排为根据所关注的读取请求信号RRQ1读出的数据D1是用于错误检测码C1的生成对象,并且激活使能信号EN。另一方面,在从主电路12输出的用于读取请求信号RRQ1的地址信息与存储在存储部1153中的多个地址信息中的任一个都不一致的情况下,地址比较电路1152判定被安排为根据所关注的读取请求信号RRQ1读出的数据D1不是用于错误检测码C1的生成对象,并且去激活(不激活)使能信号EN。
在ECC调整部116b中,仅在激活使能信号EN的情况下,复制电路1161b复制读取请求信号RRQ1,并将复制的读取请求信号RRQ1输出至ECC请求生成电路1162。ECC请求生成电路1162基于读取请求信号RRQ1生成用于读取错误检测码C1的读取请求信号RRQ2,并且经由与读取请求信号RRQ1的信号路径不同的信号路径输出生成的读取请求信号RRQ2。顺便提及,关于给予读取请求信号RRQ1和RRQ2的ID的信息被传输至诊断电路1181。然后,诊断电路1181仅对具有这些ID的读取数据D1进行诊断(ECC检查)。由于ECC调整部116b的其他配置与ECC调整部116的情况下的配置相同,因此省略其描述。
由于总线控制单元11b的读取电路部分的其他配置与总线控制单元11的情况相同,因此省略其描述。
(半导体器件1b的数据读取操作)
然后,将通过使用图9来描述图8所示半导体器件1b的数据读取操作。图9是示出半导体器件1b的数据读取操作的一个示例的流程图。顺便提及,下文将主要描述不同于半导体器件1a的操作。
首先,通过主电路12生成读取请求信号并将其提供给总线B1(步骤S201)。
此后,通过地址调整部115b调整包括在读取请求信号RRQ1中的地址信息的位宽。此外,判定被安排为根据所关注的读取请求信号RRQ1读出的数据D1是否是用于错误检测码C1的生成对象(步骤S211)。
例如,在被安排读出的数据D1是用于检测码C1的生成对象的情况下(步骤S211中为是),与半导体器件1a的情况类似地,生成读请求信号RRQ2(步骤S202)。之后还执行与半导体器件1a的情况相似的数据读取处理(步骤S203至步骤S207)。
另一方面,在被安排读出的数据D1不是用于错误检测码C1的生成对象的情况下(步骤S211中为否),不执行读请求信号RRQ2的生成。之后,例如,通过请求路由电路117将读取请求信号RRQ1分配给存储器控制器13_1(步骤S212)。然后,当接收到读取请求信号RRQ1时,存储器控制器13_1在存储器M1的存储区中读取存储在由读取请求信号RRQ1中包括的地址信息指定的地址的存储区中的数据D1(步骤S213)。
然后,选择从存储器M1-M4读出的多条数据,并通过响应路由电路118按顺序发送回主电路12。顺便提及,由于读出的数据D1不是用于错误检测码的生成对象,所以数据D1不经受诊断电路1181进行的错误检测,并且原样发送回主电路12(步骤S213)。
以这种方式,半导体器件1b能够表现出几乎与半导体器件1a的情况等效的效果。此外,半导体器件1b能够从多个写入数据D1中选择用于错误检测码C1的生成对象(即,错误检测对象)。
(布置在半导体器件1中的数据写入电路部分的第三具体配置示例)
图10是示出布置在作为半导体器件1c的半导体器件1中的数据写入电路部分的第三具体配置示例的框图。顺便提及,除图10中的半导体器件1c之外,还示出了存储器M1-M4。
这里,在半导体器件1c中,将符合AXI协议的总线(AXI总线)用作总线B1。因此,在从主电路12传输写入请求信号WRQ1的情况下,在数据D1被写入存储器M1等之后,半导体器件1c需要向主电路12发送回响应信号(下文称为写入响应信号),其指示数据D1被写入存储器M1等。
然而,简单增加发送回写入响应信号的功能会导致响应于一个写入请求信号WRQ1发送回两个信号:指示数据D1被写入存储器M1等中的写入响应信号WRS1以及指示用于数据D1的错误检测码C1被写入存储器M2等中的写入响应信号WRS2。
因此,在本实施例中,在指示数据D1被写入存储器M1等的写入响应信号WRS1以及指示用于数据D1的错误检测码C1被写入存储器M2等的写入响应信号WRS2中,仅发送回写入响应信号WRS1。
具体地,与图2所示的半导体器件1a相比,图10所示的半导体器件1c包括总线控制单元11c来代替总线控制单元11。总线控制单元11c包括ECC调整部112c来代替ECC调整部112,并且与总线控制单元11相比时,还包括响应路由电路114。
响应路由电路114从相应的存储器控制器13_1-13_4接收指示期望的数据被写入存储器M1-M4的多个写入响应信号,然后将写入响应信号按顺序传输至响应控制电路1124。响应控制电路1124仅选择响应信号(例如,指示数据D1被写入存储器M1的写入响应信号WRS1和指示用于数据D1的错误检测码C1被写入存储器M2的写入响应信号WRS2)中的一个(这里为写入响应信号WRS1),并且将所选的响应信号发送回主电路12。
由此,主电路12能够响应于根据AXI协议传输一个写入请求信号WRQ1来接收一个写入响应信号WRS1。
由于总线控制单元11c的数据写入电路部分的其他配置与总线控制单元11的情况相同,因此省略其描述。
(布置在半导体器件1c中的数据读取电路部分的第三具体配置示例)
图11是示出布置在半导体器件1c中的数据读取电路部分的第三具体配置示例的框图。另外,除图11中的半导体器件1c之外,还示出了存储器M1-M4。
这里,在半导体器件1c中,将符合AXI协议的总线(AXI总线)用作总线B1。因此,在从主电路12传输读取请求信号RRQ1的情况下,在从存储器M1等读出数据D1之后,半导体器件1c需要向主电路12发送回指示数据D1从存储器M1等中读出的响应信号(以下称为读取响应信号)。
然而,简单增加发送回读取响应信号的功能会导致响应于一个读取请求信号RRQ1发送回两个信号:指示读出存储在存储器M1等中的数据D1的读取响应信号RRS1以及指示存储在存储器M2等中的数据D1的错误检测码C1被读出的读取响应信号RRS2。
因此,在本实施例中,在指示数据D1从存储器M1等中读出的读取响应信号RRS1以及指示用于数据D1的错误检测码C1从存储器M2等中读出的读取响应信号RRS2中,仅将读取响应信号RRS1发送回去。
具体地,与图4所示的半导体器件1a相比,图11所示半导体器件1c包括总线控制单元11c来代替总线控制单元11。与总线控制单元11相比,总线控制单元11c在响应路由电路118的配置方面不同。
除诊断电路1181之外,响应路由电路118c还包括响应控制电路1182。响应控制电路1182仅选择响应信号(例如,指示数据D1从存储器M1等中读出的读取响应信号RRS1中以及指示用于数据D1的错误检测码C1从存储器M2等中读出的读取响应信号RRS2)中的一个(这里为读取响应信号RRS1),并将选择的响应信号发送回主电路12。
因此,主电路12能够响应于根据AXI协议传输一个读取请求信号RRQ1来接收一个读取响应信号RRS1。
由于总线控制单元11c的数据读取电路部分的其他配置与总线控制单元11的情况相同,因此省略其描述。
<第二实施例>
图12是示出根据第二实施例的半导体器件2和配备有半导体器件2的半导体系统SYS2的配置示例的框图。在半导体系统SYS1中,布置多个存储器M1-M4。另一方面,在半导体系统SYS2中,仅布置单个存储器M1。下文将进行具体描述。
如图12所示,半导体系统SYS2包括一个存储器M1和访问存储器M1的半导体器件2。半导体器件2包括主电路(下文也被简称为主电路22)(诸如CPU 22_1、DMAC 22_2、显示器22_3等)、总线B2、本地总线24和存储器控制器(MEMC)23。总线控制单元21被布置在总线B2上。
顺便提及,半导体器件2中的CPU 22_1、DMAC 22_2、显示器22_3、总线B2、本地总线24和存储器控制器23分别对应于半导体器件1中的CPU 12_1、DMAC 12_2、显示器12_3、总线B1、本地总线14和存储器控制器13_1。
(布置在半导体器件2中的数据写入电路部分的具体配置示例)
图13是示出布置在作为半导体器件2a的半导体器件2中的数据写入电路部分的具体配置示例的框图。顺便提及,除图13中的半导体器件2a之外,还示出了存储器M1。
如图13所示,作为数据写入电路部分,半导体器件2a包括主电路22、布置在总线B2上的总线控制单元21和存储器控制器23。总线控制单元21包括地址调整部211、ECC调整部212、请求路由电路213和响应路由电路214。此外,地址调整部211包括地址转换电路2111。ECC调整部212包括复制电路2121、ECC生成电路2122、ECC请求生成电路2123和响应控制电路2124。
顺便提及,地址调整部211、ECC调整部212、请求路由电路213和响应路由电路214分别对应于地址调整部111、ECC调整部112、请求路由电路113和响应路由电路114。此外,地址转换电路2111、复制电路2121、ECC生成电路2122、ECC请求生成电路2123和响应控制电路2124分别对应于地址转换电路1111、复制电路1121、ECC生成电路1122、ECC请求生成电路1123和响应控制电路1124。
这里,由于数据D1和用于数据D1的错误检测码C1都被写入公共存储器M1,所以由ECC请求生成电路2123生成的写入请求信号WRQ2中包括的地址信息指示与由主电路22生成的写入请求信号WRQ1中包括的地址信息的值不同的值。例如,写入请求信号WRQ2中包括的地址信息的低阶位的值指示写入请求信号WRQ1中包括的地址信息的低阶位的值的反转值。
此外,请求路由电路213将写入请求信号WRQ1和WRQ2串行地分配给存储器控制器23。从而,在存储器M1的存储区中,存储器控制器23将数据D1写入基于写入请求信号WRQ1指定的地址的存储区中,然后将用于数据D1的错误检测码C1写入基于写入请求信号WRQ2指定的地址的存储区中。
由于总线控制单元21的数据写入电路部分的其他配置和操作与总线控制单元11c的情况相同,因此省略其描述。
在根据本实施例的半导体器件2和配备有半导体器件2的半导体系统SYS2中,布置在总线B2上的总线控制单元21以这种方式基于从主电路22接收的写入请求信号WRQ1生成写入请求信号WRQ2,其包括与写入请求信号WRQ1中包括的地址信息不同的地址信息。然后,总线控制单元21例如向存储器控制器23传输写入请求信号WRQ1,并且使存储器控制器23将数据D1写入存储器M1,然后将写入请求信号WRQ2传输至存储器控制器23,并且使得存储器控制器23将用于数据D1的错误检测码C1写入存储器M1。
即,在根据本实施例的半导体器件2和配备有半导体器件2的半导体系统SYS2中,尽管在布置在CPU 22_1和存储器控制器23之间的总线B2与存储器控制器23之间的存储访问的路径彼此相同,所以用于数据写入的地址信息不同于用于错误检测码写入的地址信息。从而,在用于写入经由存储器控制器23从总线B2传输至存储器M1的数据D1的地址信号和用于写入经由存储器控制器23从总线B2传输至存储器M1的错误检测码C1的地址信号中的任一个中发生位错误的情况下,读出的用于数据D1和用于错误检测码C1的组合变得彼此不同。因此,可以在ECC检查中正确地检测错误。例如,在公共地址总线的一位中发生固定型故障的情况下,一个关注位的地址值在两个地址信号中彼此不同的情况下,只有一个地址信号变为错误。在这种情况下,由于读出的用于数据D1和用于错误检测码C1的组合变得彼此不同,因此可以在ECC检查中正确地检测错误。由此,根据本实施例的半导体器件2和配备有半导体器件2的半导体系统SYS2能够提高可靠性。
(布置在半导体器件2a中的数据读取电路部分的具体配置示例)
图14是示出在半导体器件2a中设置的数据读取电路部分的具体配置示例的框图。顺便提及,除图14中的半导体器件2a之外,还示出存储器M1。
如图14所示,作为数据读取电路部分,半导体器件2a包括主电路22、布置在总线B2上的总线控制单元21和存储器控制器23。总线控制单元21包括地址调整部215、ECC调整部216、请求路由电路217、响应路由电路218和存储部219。此外,地址调整部215具有地址转换电路2151。ECC调整部216具有复制电路2161和ECC请求生成电路2162。响应路由电路218具有诊断电路2181和响应控制电路2182。
虽然在本实施例中,将要描述用于数据读取的地址调整部215、ECC调整部216、请求路由电路217和响应路由电路218与用于数据写入的那些元件分别提供的情况,但是这些元件可以在数据读取和数据写入之间共享。
顺便提及,地址调整部215、ECC调整部216、请求路由电路217和响应路由电路218分别对应于地址调整部115、ECC调整部116、请求路由电路117和响应路由电路118。此外,地址转换电路2151、复制电路2161、ECC请求生成电路2162、诊断电路2181和响应控制电路2182分别对应于地址转换电路1151、复制电路1161、ECC请求生成电路1162、诊断电路1181和响应控制电路1182。
这里,由于数据D1和用于数据D1的错误检测码C1被写入公共存储器M1的不同存储区中,所以由ECC请求生成电路2162生成的读取请求信号RRQ2中包括的地址信息指示的值与由主电路22生成的读取请求信号RRQ1中包括的地址信息的值不同。例如,包括在读取请求信号RRQ2中的地址信息的低阶位的值指示包括在读取请求信号RRQ1中的地址信息的低阶位的值的反转值。
此外,请求路由电路217将读取请求信号RRQ1和RRQ2串行地分配给存储器控制器23。从而,例如在存储器M1的存储区中,存储器控制器23读取存储在基于读取请求信号RRQ1指定的地址的存储区中的数据D1,然后读取存储在基于读取请求信号RRQ2指定的地址的存储区中的用于数据D1的错误检测码C1。
在这种情况下,存储器控制器23能够连续读取数据D1和用于数据D1的错误检测码C1。由此,变得可以通过诊断电路2181迅速地执行错误检测和位校正。
由于总线控制单元21的数据读取电路部分的其他配置和操作与总线控制单元11c的情况相同,因此省略其描述。
在根据本实施例的半导体器件2和配备有半导体器件2的半导体系统SYS2中,布置在总线B2上的总线控制单元21基于以这种方式从主电路22接收的读取请求信号RRQ1来生成读取请求信号RRQ2,其包括与包括在读取请求信号RRQ1中的地址信息不同的地址信息。然后,总线控制单元21例如将读取请求信号RRQ1传输至存储器控制器23,并使存储器控制器23读取存储在存储器M1中的数据D1,并且将读取请求信号RRQ2传输至存储器控制器23,并使存储器控制器23读取存储在存储器M1中的用于数据D1的错误检测码C1。
即,在根据本实施例的半导体器件2和配备有半导体器件2的半导体系统SYS2中,尽管布置在CPU 22_1和存储器控制器23之间的总线B2与存储器控制器23之间的用于存储器访问的路径彼此相同,用于数据读取的地址信息不同于用于错误检测码读取的地址信息。从而,在用于读取经由存储器控制器23从总线B2传输至存储器M1的数据D1的地址信号以及用于读取经由存储器控制器23从总线B2传输至存储器M1的错误检测码C1的地址信号中的任一个中发生位错误的情况下,读出的用于数据D1和用于错误检测码C1的组合变得彼此不同,因此可以在ECC检查中正确地检测错误。例如,在公共地址总线的一位中发生固定型故障(stuck-at fault)的情况下,在两个地址信号之间所关注的一位的地址值彼此不同的情况下,只有一个地址信号成为错误。在这种情况下,由于读出的用于数据D1和用于错误检测码C1的组合变得彼此不同,因此可以在ECC检查中正确地检测错误。从而,根据本实施例的半导体器件2和配备有半导体器件2的半导体系统SYS2能够提高可靠性。
顺便提及,虽然通过示例描述了所有数据D1都是错误检测码C1的生成对象(即,错误检测对象)的情况,但本发明不限于此。半导体器件2可以适当地修改为以下配置:如半导体器件1b的情况,可以从多个数据D1中选择用于错误检测码C1的生成对象(即,错误检测对象)。
<其他实施例>
虽然在上述第一实施例和第二实施例中,通过示例描述了ECC生成电路1122等针对64位宽数据D1生成8位宽的错误检测代码C1的情况,但本发明不限于此。可以将ECC生成电路1122等适当地修改为以下配置:针对任选位宽的数据D1生成可选位宽的错误检测码C1。例如,可以将ECC生成电路1122等适当地修改为以下配置:针对8位宽的数据D1生成5位宽的错误检测码C1。备选地,ECC生成电路1122等可配置为使得在针对64位宽的数据D1生成8位宽的错误检测码C1的第一模式与针对8位宽的数据D1生成5位宽的错误检测码C1的第二模式之间的选择变得可能。在第一模式中,带宽和数据量被抑制,并且在第二模式中,可靠性提高。
此外,请求路由电路113等也可以配置为基于作为访问对象的存储器M1-Mn(n为自然数)的访问状态(例如,对每个存储器的访问频率、每个通道的带宽使用)进行下一个将被访问的存储器和存储器的存储区的选择。例如,请求路由电路113可被配置为在对存储器M1的访问频率达到设置频率的情况下将访问对象从存储器M1变为例如存储器M3(其访问频率较低)。从而,可以防止对特定存储器的访问集中并分散负载。
此外,根据上述第一和第二实施例的半导体器件均可进一步包括控制电路,该控制电路基于从主电路12传输的请求信号是否是复制对象来管理总线访问权。例如,在从主电路12传输的请求信号是复制对象的情况下,该控制电路将用于两个请求信号的总线访问权授予主电路12,并且在从主电路12传输的请求信号不是复制对象的情况下,将用于一个请求信号的总线访问权授予主电路12。从而,例如,在发出作为复制对象的请求信号的情况下,可以将主电路12置于待机状态而不授予总线访问权,即使在用于一个请求信号的总线访问权空闲的情况下。
基于上述实施例具体描述了本发明的发明人所做的发明。然而,不用说,本发明不限于已经描述的实施例,并且可以在不偏离本发明精神的范围内以各种方式修改和改变。
虽然上述一些或所有实施例也可以在以下附加注释中描述,但是实施例不限于以下内容。
(附加注释1)
一种半导体器件,包括:
主电路,输出用于请求写入数据的第一写入请求信号;
总线,接收数据和第一写入请求信号,
总线控制单元,布置在总线上,生成用于数据的错误检测码,并生成第二写入请求信号,第二写入请求信号包括与第一写入请求信号中包括的第一地址信息相对应的第二地址信息,以及
存储器控制器,在存储器的存储区中将从总线传输的数据写入由从总线传输的第一写入请求信号指定的地址的存储区,并将从总线传输的错误检测码写入由从总线传输的第二写入请求信号指定的地址的存储区。
(附加注释2)
根据附加注释1描述的半导体器件,
其中主电路还被配置为输出用于请求读取写入存储器的数据的第一读取请求信号,
其中总线控制单元进一步被配置为生成第二读取请求信号,该第二读取请求信号包括与第一读取请求信号中包括的第一地址信息相对应的第二地址信息,以及
其中存储器控制器进一步被配置为在存储器的存储区中读取存储在由从总线传输的第一读取请求信号指定的地址的存储区中的数据,并且读取存储在由从总线传输的第二读取请求信号指定的地址的存储区中的用于数据的错误检测码。
(附加注释3)
根据附加注释1描述的半导体器件,
其中总线控制单元包括生成用于数据的错误检测码的ECC(纠错码)生成电路。
(附加注释4)
根据附加注释1描述的半导体器件,
其中总线控制单元包括ECC(纠错码)生成电路,其根据模式选择性地输出第一位宽的错误检测码和不同于用于该数据的第一位宽的第二位宽的错误检测码中的任一个。
(附加注释5)
根据附加注释1描述的半导体器件,
其中存储器通过第一至第n(n为2或更大的整数)存储器来配置,
其中存储器控制器通过第一至第n存储器控制器来配置,第一至第n存储器控制器分别访问第一至第n存储器,以及
其中总线控制单元包括请求路由电路,请求路由电路将数据和第一写入请求信号分配给基于第一至第n存储器控制器对第一至第n存储器的访问状态选择的存储器控制器中的任一个,并且将数据和第一写入请求信号分配给基于第一至第n存储器控制器对第一至第n存储器的访问状态选择的任何其他存储器控制器。
(附加注释6)
根据附加注释2描述的半导体器件,
其中存储器通过第一至第n(n为2或更大的整数)存储器来配置,
其中存储器控制器通过分别访问第一至第n存储器的第一至第n存储器控制器来配置,并且
其中总线控制单元包括请求路由电路,该请求路由电路将数据和第一读取请求信号分配给基于第一至第n存储器控制器对第一至第n存储器的访问状态选择的存储器控制器中的任一个,并且将数据和第一读取请求信号分配给基于第一至第n存储器控制器对第一至第n存储器的访问状态选择的任何其他存储器控制器。
(附加注释7)
根据附加注释1描述的半导体器件,
其中总线控制单元基于从主电路传输的第一写入请求信号是否是复制对象来控制将被授予主电路的访问总线的权利的数量。
(附加注释8)
根据附加注释1描述的半导体器件,
其中在从主电路传输的第一写入请求信号是复制对象的情况下,总线控制单元为主电路授予针对两个请求信号访问总线的权利,以及
在从主电路传输的第一写入请求信号不是复制对象的情况下,总线控制单元为主电路授予针对一个请求信号访问总线的权利。
(附加注释9)
根据附加注释2描述的半导体器件,
其中总线控制单元基于从主电路传输的第一读取请求信号是否是复制对象来控制将被授予主电路的访问总线的权利的数量。
(附加注释10)
根据附加注释2描述的半导体器件,
其中在从主电路传输的第一读取请求信号是复制对象的情况下,总线控制单元为主电路授予针对两个请求信号访问总线的权利,以及
在从主电路传输的第一读取请求信号不是复制对象的情况下,总线控制单元为主电路授予针对一个请求信号访问总线的权利。

Claims (19)

1.一种半导体器件,包括:
主电路,输出用于请求写入数据的第一写入请求信号;
总线,接收所述数据和所述第一写入请求信号;
总线控制单元,布置在所述总线上,生成用于所述数据的错误检测码,并生成第二写入请求信号,所述第二写入请求信号包括与所述第一写入请求信号中包括的第一地址信息相对应的第二地址信息;以及
存储器控制器,在存储器的存储区中,将从所述总线传输的所述数据写入由从所述总线传输的所述第一写入请求信号指定的地址的存储区,并将从所述总线传输的所述错误检测码写入由从所述总线传输的所述第二写入请求信号指定的地址的存储区,
其中所述存储器控制器包括:
第一存储器控制器,所述第一存储器控制器访问包括在所述存储器中的第一存储器;以及
第二存储器控制器,所述第二存储器控制器访问包括在所述存储器中的第二存储器,
其中所述总线控制单元被配置为:1)经由第一信号路径将所述第一写入请求信号从所述总线传输至所述第一存储器控制器,以及2)经由第二信号路径将所述第二写入请求信号传输至所述第二存储器控制器,以及
其中所述第二信号路径在整体上不同于所述第一信号路径,使得所述第二写入请求信号不传输通过所述第一信号路径的任何部分。
2.根据权利要求1所述的半导体器件,
其中所述总线控制单元包括:
请求信号生成电路,生成所述第二写入请求信号,并且经由所述第二信号路径输出生成的所述第二写入请求信号;以及
请求路由电路,1)将所述数据和所述第一写入请求信号的组合分配给所述第一存储器控制器,以及2)将所述错误检测码和所述第二写入请求信号的组合分配给所述第二存储器控制器,
其中所述第一存储器控制器被配置为在所述第一存储器的存储区中,将所述数据写入由所述第一写入请求信号指定的地址的存储区中,并且
其中所述第二存储器控制器被配置为在所述第二存储器的存储区中,将所述错误检测码写入由所述第二写入请求信号指定的地址的存储区中。
3.根据权利要求1所述的半导体器件,
其中所述总线控制单元包括判定电路,所述判定电路判定由所述第一写入请求信号请求写入的所述数据是否是用于所述错误检测码的生成对象,以及
其中所述总线控制单元仅在所述判定电路判定所述数据是用于所述错误检测码的生成对象的情况下,生成所述错误检测码,并且生成与所述第一写入请求信号相对应的所述第二写入请求信号。
4.根据权利要求1所述的半导体器件,其中所述总线控制单元包括响应控制电路,所述响应控制电路向所述主电路仅输出1)指示所述数据被写入所述第一存储器的第一写入响应信号、以及2)指示所述错误检测码被写入所述第二存储器的第二写入响应信号中的任一个。
5.根据权利要求4所述的半导体器件,其中所述总线是符合AXI协议的总线。
6.根据权利要求1所述的半导体器件,
其中所述主电路还被配置为输出用于请求读取写入所述存储器的所述数据的第一读取请求信号,以及
其中所述总线控制单元进一步被配置为:1)生成第二读取请求信号,所述第二读取请求信号包括与所述第一读取请求信号中包括的所述第一地址信息相对应的所述第二地址信息;2)经由所述第一信号路径将所述第一读取请求信号从所述总线传输至所述第一存储器控制器;以及3)经由所述第二信号路径将所述第二读取请求信号从所述总线传输至所述第二存储器控制器。
7.根据权利要求6所述的半导体器件,
其中所述总线控制单元包括:
请求信号生成电路,生成所述第二读取请求信号,并且经由与所述第一读取请求信号的信号路径不同的信号路径输出生成的所述第二读取请求信号;以及
请求路由电路,将所述第一读取请求信号分配给所述第一存储器控制器,并且将所述第二读取请求信号分配给所述第二存储器控制器,
其中所述第一存储器控制器被配置为在所述第一存储器的存储区中,读取存储在由所述第一读取请求信号指定的地址的存储区中的所述数据,并且
其中所述第二存储器控制器被配置为在所述第二存储器的存储区中,读取存储在由所述第二读取请求信号指定的地址的存储区中的用于所述数据的所述错误检测码。
8.根据权利要求6所述的半导体器件,
其中所述总线控制单元包括判定电路,所述判定电路判定根据所述第一读取请求信号从所述存储器读出的所述数据是否是用于所述错误检测码的生成对象,并且
其中所述总线控制单元仅在通过所述判定电路判定所述数据是用于所述错误检测码的生成对象的情况下,生成与所述第一读取请求信号对应的所述第二读取请求信号。
9.根据权利要求6所述的半导体器件,其中所述总线控制单元包括响应控制电路,所述响应控制电路向所述主电路仅传输1)指示从所述第一存储器中读出所述数据的第一读取响应信号、以及2)指示从所述第二存储器中读出用于所述数据的所述错误检测码的第二读取响应信号中的任一个。
10.根据权利要求9所述的半导体器件,其中所述总线是符合AXI协议的总线。
11.根据权利要求6所述的半导体器件,其中所述总线控制单元包括诊断电路,所述诊断电路基于根据所述第二读取请求信号从所述第二存储器读出的所述错误检测码,来诊断在根据所述第一读取请求信号从所述第一存储器读出的所述数据中哪里存在错误。
12.一种半导体系统,包括:
根据权利要求1所述的半导体器件;以及
所述存储器。
13.一种半导体器件,包括:
主电路,生成用于请求读取写入存储器的数据的第一读取请求信号;
总线,接收所述第一读取请求信号;
总线控制单元,布置在所述总线上,并且生成第二读取请求信号,所述第二读取请求信号包括与所述第一读取请求信号中包括的第一地址信息相对应的第二地址信息;以及
存储器控制器,在所述存储器的存储区中,读取存储在由从所述总线传输的所述第一读取请求信号指定的地址的存储区中的所述数据,以及读取存储在由从所述总线传输的所述第二读取请求信号指定的地址的存储区中的用于所述数据的错误检测码,
其中所述存储器控制器包括:1)第一存储器控制器,所述第一存储器控制器访问包括在所述存储器中的第一存储器;以及2)第二存储器控制器,所述第二存储器控制器访问包括在所述存储器中的第二存储器,以及
其中所述总线控制单元被配置为:经由第一信号路径将所述第一读取请求信号从所述总线传输至所述第一存储器控制器,以及经由第二信号路径将所述第二读取请求信号传输至所述第二存储器控制器,以及
其中所述第二信号路径在整体上不同于所述第一信号路径,使得所述第二读取请求信号不传输通过所述第一信号路径的任何部分。
14.根据权利要求13所述的半导体器件,
其中所述总线控制单元包括判定电路,所述判定电路判定根据所述第一读取请求信号从所述存储器读出的所述数据是否是用于所述错误检测码的生成对象,以及
其中所述总线控制单元仅在所述判定电路判定所述数据是用于所述错误检测码的所述生成对象的情况下,生成与所述第一读取请求信号相对应的所述第二读取请求信号。
15.根据权利要求13所述的半导体器件,其中所述总线控制单元包括响应控制电路,所述响应控制电路仅向所述主电路传输1)指示从所述第一存储器中读出所述数据的第一读取响应信号、以及2)指示从所述第二存储器中读出用于所述数据的所述错误检测码的第二读取响应信号中的任一个。
16.根据权利要求15所述的半导体器件,其中所述总线是符合AXI协议的总线。
17.根据权利要求13所述的半导体器件,其中所述总线控制单元包括诊断电路,所述诊断电路基于根据所述第二读取请求信号从所述第二存储器读出的所述错误检测码,来诊断在根据所述第一读取请求信号从所述第一存储器读出的所述数据中哪里存在错误。
18.一种半导体器件,包括:
主电路,产生用于请求写入数据的第一写入请求信号;
总线,接收所述数据和所述第一写入请求信号;
总线控制单元,布置在所述总线上,生成用于所述数据的错误检测码,并生成第二写入请求信号,所述第二写入请求信号包括与所述第一写入请求信号中包括的第一地址信息相对应的第二地址信息;以及
存储器控制器,在存储器的存储区中,将从所述总线传输的所述数据写入由从所述总线传输的所述第一写入请求信号指定的地址的存储区,并将从所述总线传输的所述错误检测码写入由从所述总线传输的所述第二写入请求信号指定的地址的存储区,
其中所述总线控制单元包括:
请求信号生成电路,生成包括所述第二地址信息的所述第二写入请求信号;以及
请求路由电路,向所述存储器控制器传输1)所述数据和所述第一写入请求信号的组合以及2)所述错误检测码和所述第二写入请求信号的组合中的任一个组合,并且随后传输1)所述数据和所述第一写入请求信号的组合以及2)所述错误检测码和所述第二写入请求信号的组合中的另一个组合,以及
其中所述第二地址信息是通过反转所述第一地址信息的低阶位的值来生成的。
19.根据权利要求18所述的半导体器件,
其中所述主电路还被配置为输出用于请求读取写入所述存储器的数据的第一读取请求信号,
其中所述总线控制单元还包括:
第二请求信号生成电路,生成第二读取请求信号,所述第二读取请求信号所包括的所述第二地址信息对应于所述第一读取请求信号中的所述第一地址信息;和
第二请求路由电路,向所述存储器控制器传输所述第一读取请求信号和所述第二读取请求信号中的任一个信号,随后传输所述第一读取请求信号和所述第二读取请求信号中的另一个信号,
其中所述存储器控制器被配置为:读取存储在所述第一读取请求信号的所述第一地址信息的存储区域中的所述数据,并且读取存储在所述第二读取请求信号的所述第二地址信息的存储区域中的所述错误检测码,以及
其中所述第二读取请求信号的所述第二地址信息是通过反转所述第一读取请求信号的所述第一地址信息的低阶位的值来生成的。
CN201811366127.XA 2017-11-28 2018-11-16 半导体器件和配备有该半导体器件的半导体系统 Active CN109840221B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017227774A JP2019101446A (ja) 2017-11-28 2017-11-28 半導体装置及びそれを備えた半導体システム
JP2017-227774 2017-11-28

Publications (2)

Publication Number Publication Date
CN109840221A CN109840221A (zh) 2019-06-04
CN109840221B true CN109840221B (zh) 2024-02-27

Family

ID=64331805

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811366127.XA Active CN109840221B (zh) 2017-11-28 2018-11-16 半导体器件和配备有该半导体器件的半导体系统

Country Status (6)

Country Link
US (2) US10922165B2 (zh)
EP (1) EP3489830A1 (zh)
JP (1) JP2019101446A (zh)
KR (1) KR102628851B1 (zh)
CN (1) CN109840221B (zh)
TW (1) TWI790315B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3100346B1 (fr) 2019-09-04 2022-07-15 St Microelectronics Rousset Détection d'erreurs
FR3100347B1 (fr) 2019-09-04 2022-07-22 St Microelectronics Rousset Détection d'erreurs
US11726864B2 (en) * 2020-03-17 2023-08-15 Renesas Electronics Corporation Data processing device and data processing method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9632869B1 (en) * 2015-09-08 2017-04-25 Xilinx, Inc. Error correction for interconnect circuits

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5333274A (en) * 1991-10-15 1994-07-26 International Business Machines Corp. Error detection and recovery in a DMA controller
US7035958B2 (en) * 2002-10-03 2006-04-25 International Business Machines Corporation Re-ordering a first request within a FIFO request queue to a different queue position when the first request receives a retry response from the target
JP4852315B2 (ja) * 2006-02-03 2012-01-11 株式会社日立製作所 データ信頼性向上方法及びその方法を用いた情報処理装置
US8352805B2 (en) * 2006-05-18 2013-01-08 Rambus Inc. Memory error detection
JP4864762B2 (ja) 2007-02-19 2012-02-01 株式会社東芝 半導体記憶装置
JP5087970B2 (ja) 2007-03-30 2012-12-05 横河電機株式会社 情報処理装置および情報処理方法
US8266386B2 (en) * 2007-10-30 2012-09-11 International Business Machines Corporation Structure for maintaining memory data integrity in a processor integrated circuit using cache coherency protocols
US8977790B2 (en) * 2008-02-15 2015-03-10 Freescale Semiconductor, Inc. Peripheral module register access methods and apparatus
US8438344B2 (en) * 2010-03-12 2013-05-07 Texas Instruments Incorporated Low overhead and timing improved architecture for performing error checking and correction for memories and buses in system-on-chips, and other circuits, systems and processes
TWI498731B (zh) * 2010-03-17 2015-09-01 Phison Electronics Corp 非揮發性記憶體儲存系統
US9323608B2 (en) * 2012-06-07 2016-04-26 Micron Technology, Inc. Integrity of a data bus
US10282269B2 (en) * 2013-12-18 2019-05-07 Qorvo Us, Inc. Read technique for a bus interface system
US9436546B2 (en) * 2014-04-22 2016-09-06 Freescale Semiconductor, Inc. Apparatus for error detection in memory devices
US20160125960A1 (en) * 2014-10-30 2016-05-05 Sandisk Technologies Inc. System and method for write abort detection
JP2016162466A (ja) * 2015-02-26 2016-09-05 株式会社東芝 半導体記憶装置及びメモリシステム
CN106856663B (zh) * 2015-10-01 2022-01-07 瑞萨电子株式会社 半导体装置
TWI551991B (zh) * 2015-11-20 2016-10-01 群聯電子股份有限公司 記憶體管理方法與系統及其記憶體儲存裝置
JP6605359B2 (ja) 2016-03-02 2019-11-13 ルネサスエレクトロニクス株式会社 半導体装置及びメモリアクセス制御方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9632869B1 (en) * 2015-09-08 2017-04-25 Xilinx, Inc. Error correction for interconnect circuits

Also Published As

Publication number Publication date
US20190163648A1 (en) 2019-05-30
US11327830B2 (en) 2022-05-10
TW201937370A (zh) 2019-09-16
KR20190062222A (ko) 2019-06-05
CN109840221A (zh) 2019-06-04
EP3489830A1 (en) 2019-05-29
KR102628851B1 (ko) 2024-01-25
TWI790315B (zh) 2023-01-21
JP2019101446A (ja) 2019-06-24
US10922165B2 (en) 2021-02-16
US20210133020A1 (en) 2021-05-06

Similar Documents

Publication Publication Date Title
CN109840221B (zh) 半导体器件和配备有该半导体器件的半导体系统
US9652324B2 (en) Solid state disk controller apparatus
CN102568606B (zh) 用于使用相同存储器类型来支持纠错模式和非纠错模式的系统、方法和器件
US7444540B2 (en) Memory mirroring apparatus and method
US7765368B2 (en) System, method and storage medium for providing a serialized memory interface with a bus repeater
US10339050B2 (en) Apparatus including a memory controller for controlling direct data transfer between first and second memory modules using direct transfer commands
US10606696B2 (en) Internally-generated data storage in spare memory locations
US9152511B2 (en) System for dynamically distributing an available memory resource to redundant and non-redundant storage areas using RAM routing logic
JP2009527819A (ja) メモリトランザクション再生メカニズム
JP2012502391A (ja) インバンドのデータ・マスク・ビットの転送システム、方法、及び装置
US11226823B2 (en) Memory module and operating method thereof
US9940186B2 (en) Memory controller and method of operating a memory controller
US8291270B2 (en) Request processing device, request processing system, and access testing method
EP3926840B1 (en) Transmit crosstalk cancellation system
JP5213061B2 (ja) ミラーリング制御装置、ミラーリング制御回路、ミラーリング制御方法およびそのプログラム
JP5251142B2 (ja) 転送装置、転送装置の制御方法及び情報処理装置
TW201837725A (zh) 記憶體控制器與資料儲存裝置
JPH0588990A (ja) 二重化メモリ装置
JPS6385832A (ja) パリテイチエツク方式
KR20150133347A (ko) 반도체 메모리 장치와 그를 포함하는 반도체 장치 및 반도체 장치의 동작방법
KR20080032878A (ko) 메모리 액세스 장치 및 방법

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
GR01 Patent grant
GR01 Patent grant