CN118098324A - 存储器系统 - Google Patents
存储器系统 Download PDFInfo
- Publication number
- CN118098324A CN118098324A CN202211449606.4A CN202211449606A CN118098324A CN 118098324 A CN118098324 A CN 118098324A CN 202211449606 A CN202211449606 A CN 202211449606A CN 118098324 A CN118098324 A CN 118098324A
- Authority
- CN
- China
- Prior art keywords
- transmission
- data
- chip
- check code
- transmission data
- 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
Links
- 230000005540 biological transmission Effects 0.000 claims abstract description 497
- 238000012937 correction Methods 0.000 claims description 153
- 238000004891 communication Methods 0.000 claims description 13
- 239000000758 substrate Substances 0.000 claims description 10
- 238000012546 transfer Methods 0.000 claims description 9
- 238000000034 method Methods 0.000 description 39
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本公开提供一种存储器系统,应用于集成电路技术领域,包括:控制器,控制器包括第一编解码器,第一编解码器用于对待写入存储器装置的原始数据进行编码,生成并输出第一传输数据,以及对存储器装置发送的第二传输数据进行解码纠错,得到原始数据;存储器装置,存储器装置包括基础芯片和堆叠于基础芯片上的多个核心芯片,基础芯片包括第二编解码器,用于对来自控制器的第一传输数据进行解码纠错,获得原始数据,并根据解码获得的原始数据生成第三传输数据,将第三传输数据传输至核心芯片,以及用于对来自核心芯片的第四传输数据进行解码纠错,生成并输出第二传输数据,第四传输数据包括原始数据。本公开实施例可以提高存储器的数据传输的准确性。
Description
技术领域
本公开涉及集成电路技术领域,具体而言,涉及一种存储器系统。
背景技术
高带宽存储器(HBM,High Band width Memory)是新兴的存储技术,通过将存储阵列设置在核心芯片上,将核心芯片设置在基础芯片上,将基础芯片和设置有存储器控制器的系统芯片通过通讯基板进行连接,可以实现对存储器容量的扩展。
随着高带宽存储器的应用,数据在存储器控制器(系统端控制器)和存储器之间的传输路径被极大延长。当系统端控制器和核心芯片之间传输路径较长、存在噪声干扰和技术缺陷等情况,容易导致传输的数据出现错误,当错误规模超出系统端的解码纠错模块(System ECC)的纠错能力和核心芯片上的解码纠错模块(On-Die ECC)的纠错能力时,即使系统端的解码纠错模块能够检测到错误并作出相应处理,也会影响数据传输的速度,导致芯片的RAS(Reliability/Availability/Serviceability,可靠性、可用性、服务性)特性无法得到保障,性能降低。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种存储器系统,用于解决高带宽存储器应用过程中由于数据传输路径延长导致的数据错误规模增大、数据传输速度降低的问题。
根据本公开的第一方面,提供一种存储器系统,包括:控制器,所述控制器包括第一编解码器,所述第一编解码器用于对待写入存储器装置的原始数据进行编码,生成并输出第一传输数据,以及对存储器装置发送的第二传输数据进行解码纠错,得到所述原始数据;存储器装置,所述存储器装置包括基础芯片和堆叠于所述基础芯片上的多个核心芯片,所述基础芯片包括第二编解码器,用于对来自所述控制器的所述第一传输数据进行解码纠错,获得所述原始数据,并根据解码获得的所述原始数据生成第三传输数据,将所述第三传输数据传输至所述核心芯片,以及用于对来自所述核心芯片的第四传输数据进行解码纠错,生成并输出所述第二传输数据,所述第四传输数据包括所述原始数据。
在本公开的一种示例性实施例中,所述第一传输数据包括所述原始数据和第一传输校验码,所述第二传输数据包括所述原始数据和第二传输校验码。
在本公开的一种示例性实施例中,所述第二编解码器包括:
第一传输解码器,与所述控制器连接,用于接收所述第一传输数据,对所述第一传输数据进行解码纠错,获得所述原始数据;
第一传输编码器,连接所述第一传输解码器和所述核心芯片,用于根据所述第一传输解码器解码获得的所述原始数据生成所述第三传输校验码,根据所述原始数据和所述第三传输校验码生成所述第三传输数据,并将所述第三传输数据传输至所述核心芯片。
在本公开的一种示例性实施例中,所述核心芯片包括:
片上符号纠错编码器,连接所述第二编解码器,用于接收所述第三传输数据,根据所述第三传输数据生成存储校验码,并将所述存储校验码发送至存储阵列;
存储阵列,连接所述片上符号纠错编码器,用于存储所述第三传输数据和所述存储校验码;
其中,由核心芯片发送至所述第二编解码器的所述第四传输数据包括所述第三传输数据和所述存储校验码。
在本公开的一种示例性实施例中,所述第二编解码器还包括:
片上符号纠错解码器,连接所述核心芯片和所述控制器,用于接收所述第四传输数据,根据所述存储校验码对所述第四传输数据解码纠错获取所述原始数据和所述第三传输校验码,将所述第二传输校验码设置为所述第三传输校验码,根据所述原始数据和所述第二传输校验码生成所述第二传输数据,将所述第二传输数据发送至所述控制器。
在本公开的一种示例性实施例中,所述片上符号纠错编码器设置在每个所述核心芯片上。
在本公开的一种示例性实施例中,所述第二编解码器包括:
第一传输解码器,与所述控制器连接,用于接收所述第一传输数据,对所述第一传输数据进行解码纠错以获得所述原始数据;
第一传输编码器,连接所述第一传输解码器和所述核心芯片,用于根据所述第一传输解码器解码纠错获得的所述原始数据生成所述第三传输校验码,根据所述原始数据和所述第三传输校验码生成所述第三传输数据,并将所述第三传输数据传输至所述核心芯片;
第二传输解码器,连接所述核心芯片,用于接收所述第四传输数据,对所述第四传输数据进行解码纠错以获得所述原始数据;
第二传输编码器,连接所述第二传输解码器和所述控制器,用于根据所述第二传输解码器解码纠错获得的所述原始数据生成所述第二传输校验码,根据所述原始数据和所述第二传输校验码生成所述第二传输数据,将所述第二传输数据发送至所述控制器;
其中,所述第四传输数据包括所述原始数据和第三传输校验码。
在本公开的一种示例性实施例中,所述第二编解码器包括:
第一传输解码器,连接所述控制器和所述核心芯片,用于接收所述第一传输数据,对所述第一传输数据进行解码纠错以获得所述原始数据,以及接收所述第四传输数据,对所述第四传输数据进行解码纠错以获得所述原始数据;
第一传输编码器,连接所述第一传输解码器和所述核心芯片,用于根据所述第一传输解码器对所述第一传输数据解码纠错获得的所述原始数据生成所述第三传输校验码,根据所述原始数据和所述第三传输校验码生成所述第三传输数据,并将所述第三传输数据传输至所述核心芯片,以及,根据所述第一传输解码器对所述第四传输数据解码纠错获得的所述原始数据生成所述第二传输校验码,根据所述原始数据和所述第二传输校验码生成所述第二传输数据,并将所述第二传输数据发送至所述控制器;
其中,所述第四传输数据包括所述原始数据和所述第三传输校验码。
在本公开的一种示例性实施例中,所述核心芯片包括:
片上符号纠错编码器,连接所述第二编解码器,用于接收所述第三传输数据,根据所述第三传输数据生成存储校验码,将所述存储校验码和所述第三传输数据发送至所述存储阵列;
存储阵列,连接所述片上符号纠错编码器和片上符号纠错解码器,用于存储所述第三传输数据和所述存储校验码,以及读出所述第三传输数据和所述存储校验码;
片上符号纠错解码器,连接所述存储阵列,用于将接收的所述第三传输数据和所述存储校验码作为所述第五传输数据,并根据所述存储校验码对所述第五传输数据解码纠错以获得所述第三传输数据,将所述第三传输数据作为所述第四传输数据发送至所述第二编解码器。
在本公开的一种示例性实施例中,所述片上符号纠错编码器和所述片上符号纠错解码器均设置在每个所述核心芯片上。
在本公开的一种示例性实施例中,所述第二编解码器包括:
第一传输解码器,与所述控制器连接,用于接收所述第一传输数据,对所述第一传输数据进行解码纠错,获得所述原始数据;
第一传输编码器,连接所述第一传输解码器,用于根据所述第一传输解码器解码纠错获得的所述原始数据生成所述第三传输校验码;
片上符号纠错编码器,连接所述第一传输编码器和所述核心芯片,用于根据所述第一传输解码器解码纠错获得的所述原始数据和所述第二传输校验码生成所述存储校验码,根据所述第一传输解码器解码纠错获得的所述原始数据、所述第三传输校验码、所述存储校验码生成所述第三传输数据,并将所述第三传输数据发送至所述核心芯片;
片上符号纠错解码器,连接所述核心芯片和所述控制器,用于接收来自所述核心芯片的所述第四传输数据,所述第四传输数据包括从所述核心芯片读出的所述原始数据、所述第三传输校验码和所述存储校验码,并根据所述存储校验码对所述第四传输数据解码纠错以获得所述原始数据和所述第三传输校验码,将所述第二传输校验码设置为所述第三传输校验码,根据所述原始数据和所述第二传输校验码生成所述第二传输数据,将所述第二传输数据发送至所述控制器。
在本公开的一种示例性实施例中,所述核心芯片包括:
存储阵列,连接所述片上符号纠错编码器和所述片上符号纠错解码器,用于存储所述第三传输数据;
其中,所述核心芯片从所述第二编解码器接收所述第三传输数据,并发送至所述存储阵列存储;并且所述核心芯片从所述存储阵列读出所述第三传输数据,并将读出的所述第三传输数据作为第四传输数据发送至所述第二编解码器。
在本公开的一种示例性实施例中,所述第一传输解码器在检测到所述第一传输数据存在符合第一预设条件的错误时,对所述控制器输出第一告警信息。
在本公开的一种示例性实施例中,所述片上符号纠错解码器在基于所述存储校验码检测到符合第二预设条件的错误时,对所述控制器输出第二告警信息。
在本公开的一种示例性实施例中,所述第二传输解码器在检测到所述第四传输数据存在符合第一预设条件的错误时,对所述控制器输出第三告警信息。
在本公开的一种示例性实施例中,所述第一传输解码器在检测到所述第四传输数据存在符合第一预设条件的错误时,对所述控制器输出第三告警信息。
在本公开的一种示例性实施例中,还包括系统芯片和通讯基板,所述系统芯片和所述基础芯片均设置在所述通讯基板上且通过所述通讯基板实现电连接,所述控制器设置于系统芯片上。
在本公开的一种示例性实施例中,所述存储器装置为高带宽存储器装置。
本公开实施例通过在基础芯片上设置第二编解码器,对基础芯片与控制器之间传输的数据、基础芯片与核心芯片之间传输的数据进行纠错解码,可以减少由于控制器与核心芯片之间通讯路径过长导致的数据错误,提高数据通讯的准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本公开示例性实施例中存储器系统的结构示意图。
图2是本公开实施例中存储器系统100的立体结构图。
图3是本公开一个实施例中第二编解码器的示意图。
图4是本公开一个实施例中第二编解码器和核心芯片的示意图。
图5是本公开另一个实施例中第二编解码器和核心芯片的示意图。
图6是本公开再一个实施例中第二编解码器和核心芯片的示意图。
图7是本公开再一个实施例中第二编解码器和核心芯片的示意图。
图8A~图8C分别是本公开三个实施例中核心芯片与第二编解码器的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
下面结合附图对本公开示例实施方式进行详细说明。
图1是本公开示例性实施例中存储器系统的结构示意图。
参考图1,存储器系统100可以包括:
控制器1,包括第一编解码器11,第一编解码器11用于对待写入存储器装置2的原始数据D0进行编码,生成并输出第一传输数据D1,以及对存储器装置2发送的第二传输数据D2进行解码纠错,得到原始数据D0;
存储器装置2,存储器装置2包括基础芯片20和堆叠于基础芯片20上的多个核心芯片30,基础芯片20包括第二编解码器21,用于对来自控制器1的第一传输数据D1进行解码纠错,获得原始数据D0,并根据解码获得的原始数据D0生成第三传输数据D3,将第三传输数据D3传输至核心芯片30,以及用于对来自核心芯片30的第四传输数据D4进行解码纠错,生成并输出第二传输数据D2,第四传输数据D4包括原始数据D0。
在本公开的一种示例性实施例中,第一传输数据D1包括原始数据D0和第一传输校验码E1,第二传输数据D2包括原始数据D0和第二传输校验码E2。
图2是本公开实施例中存储器系统100的立体结构图。
参考图2,在本公开的一种示例性实施例中,存储器装置2为高带宽存储器装置(HBM,High Band width Memory),存储器系统100还包括系统芯片10和通讯基板40(interposer,也称再分配基板),系统芯片10和基础芯片20均设置在通讯基板40上且通过通讯基板40实现电连接,控制器1设置于系统芯片10上。多个核心芯片30堆叠在基础芯片20上,核心芯片30之间通过TSV(Through Silicon Via,硅通孔)结构5实现连接,核心芯片30上设置有存储阵列。
由图2可以看出,设置有控制器1的系统芯片10和设置有存储阵列的核心芯片30(尤其是堆叠层级较高的核心芯片30)之间的通讯路径较长。当核心芯片30与核心芯片30之间、基础芯片20与核心芯片30之间、基础芯片20内部信道、系统芯片10与基础芯片20之间的任一个数据信道由于内外因素出现软硬错误时,均会导致数据在传输和存储过程中发生错误,降低存储器的RAS特性。
而在本公开实施例中,由于在基础芯片20上设置了第二编解码器21,对来自控制器1的数据进行解码纠错,同时对从核心芯片30上读取的数据进行解码纠错,可以将正确的数据由基础芯片20传输到核心芯片30中,同时将正确的数据从基础芯片20传输到控制器1,降低由于数据传输路径过长导致的数据错误,提高存储器的RAS特性。此外,将第二编解码器21设置在基础芯片20上,可以对来自所有核心芯片30的数据进行集中检错纠错,有效利用基础芯片20、并减少校验功能电路对核心芯片30面积的占用,在堆叠的核心芯片30的数量较多时,可以减小HBM的整体面积和体积。
当在基础芯片20上设置第二编解码器21时,需要与系统芯片10的控制器1使用相同的纠错码类型与形式。
图3是本公开一个实施例中第二编解码器的示意图。
参考图3,在一个实施例中,第二编解码器21包括:
第一传输解码器211,与控制器1连接,用于接收第一传输数据D1,对第一传输数据D1进行解码纠错,获得原始数据D0;
第一传输编码器212,连接第一传输解码器211和核心芯片30,用于根据第一传输解码器211解码获得的原始数据D0生成第三传输校验码E3,根据原始数据D0和第三传输校验码E3生成第三传输数据D3,并将第三传输数据D3传输至核心芯片30。
第一传输解码器211用于对由系统芯片10向基础芯片20的传输路径中出现的错误进行解码和纠错,第一传输解码器211可以被称为Link ECC解码器。第一传输编码器212针对数据在基础芯片20和核心芯片30之间的传输路径生成对应的校验码,该校验码用于对数据在基础芯片20和核心芯片30之间传输路径中出现的错误进行校验和纠错,第一传输编码器212可以被称为Link ECC编码器。
图4是本公开一个实施例中核心芯片与第二编解码器的示意图。
参考图4,在一些实施例中,当第二编解码器21包括第一传输解码器211和第一传输编码器212时,核心芯片30包括:
片上符号纠错编码器31,连接第二编解码器21,用于接收第三传输数据D3,根据第三传输数据D3生成存储校验码S,并将存储校验码S和第三传输数据D3一同发送至存储阵列;
存储阵列300,连接片上符号纠错编码器31,用于存储第三传输数据D3和存储校验码S;
其中,由核心芯片30发送至第二编解码器21的第四传输数据D4包括第三传输数据D3和存储校验码S。
需要说明的是,由于每个核心芯片30上均设置有存储阵列300,片上符号纠错编码器31设置在每个核心芯片30上。
第二编解码器21还包括:
片上符号纠错解码器213,连接核心芯片30和控制器1,用于接收第四传输数据D4,根据存储校验码S对第四传输数据D4解码纠错获取原始数据D0和第三传输校验码E3,将第二传输校验码E2设置为第三传输校验码E3,根据原始数据D0和第二传输校验码E2生成第二传输数据D2,将第二传输数据D2发送至控制器1。
在图4所示实施例中,第二传输数据D2包括原始数据D0和第二传输校验码E2,第二传输校验码E2由片上符号纠错解码器213生成。
在一个实施例中,上述第一传输校验码E1、第二传输校验码E2、第三传输校验码E3、存储校验码S均可以为ECC(Error Correcting Code,校验纠错码)编码。在本公开的其他实施例中,存储校验码和传输校验码可以根据情况采用不同的编码方式,第一传输编码器212采用的编码方式和第一传输解码器212采用的解码方式(对应第一编解码器11的编码方式)也可以不同。在本公开的示例性实施例中,以第一传输编码器212和第一传输解码器211采用的编码方式相同为例进行说明。
设第一传输校验码E1、第二传输校验码E2、第三传输校验码E3均为p位,原始数据D0为m位,存储校验码S为k位,对图4所示存储器系统的数据写入过程和数据读取过程分别进行说明,其中p、m、k均为整数。为了清晰地说明本公开实施例的原理,本公开实施例中的读取过程和写入过程均基于对同一个原始数据D0的读取和写入进行说明。
数据写入过程:系统芯片10上的控制器1(存储控制器)通过第一编解码器11对原始数据D0(m位)生成第一传输校验码E1(p位),原始数据D0和第一传输校验码E1构成第一传输数据D1,并将该m+p位的第一传输数据D1通过系统芯片10与基础芯片20之间的信道传输到基础芯片20上的第二编解码器21。
第二编解码器21中的第一传输解码器211(Link ECC解码器)对该m+p位的第一传输数据D1进行解码,根据第一传输校验码E1对原始数据D0进行校验,以识别原始数据D0是否存在错误,从而检测和纠错由系统芯片10与基础芯片20之间的数据信道引起的错误。
如果第一传输解码器211(Link ECC解码器)检测到无法纠正的错误,即第一传输解码器211在检测到第一传输数据D1存在符合第一预设条件的错误时,对控制器1输出第一告警信息(第一告警信息在图4中被标记为Error Alert_1),以便由控制器1做出相应的判断并解决问题。上述第一预设条件与第一传输解码器211采用的纠错码的纠错能力有关,例如,如果采用的纠错码可以从256bit数据中检错纠错5bit错误数据,则可以将第一预设条件设置为检出的错误数据位大于5;如果采用的纠错码可以从256bit数据中检错纠错8bit错误数据,可以将第一预设条件设置为检出的错误数据位大于等于7或者8。第一预设条件可以由本领域技术人员根据实际情况自行设置,只要不超出第一传输解码器211采用的纠错码的纠错能力的条件皆可。
接下来,第一传输解码器211将解码完的m位的原始数据D0传输给第一传输编码器212(Link ECC编码器),以使第一传输编码器212对原始数据D0进行编码得到p位的第三传输校验码E3,第三传输校验码E3和原始数据D0共同构成第三传输数据D3。
最后,第一传输编码器212将m+p位的第三传输数据D3通过连接在核心芯片30与基础芯片20之间的信道,传输至核心芯片30上设置的片上符号纠错编码器31(On-Die ECC编码器),片上符号纠错编码器31对第三传输数据D3进行编码,得到k位的存储校验码S,将m+p位的第三传输数据D3和k位的存储校验码S一同写入存储阵列300,即最终写入存储阵列300的数据为原始数据D0、第三传输校验码E3、存储校验码S,其中,m位原始数据D0和P位第三传输校验码E3作为数据进行存储,k位存储校验码S作为校验数据进行存储,可以在存储阵列300中为数据和校验数据设置不同的存储区域进行分别存储。
数据读取过程:从存储阵列300中读取原始数据D0时,由于原始数据D0与第三传输校验码E3、存储校验码S一同存储,因此需要同时读取原始数据D0、第三传输校验码E3、存储校验码S,共m+p+k位数据,该m+p+k位数据即为发送给基础芯片20的第四传输数据D4,第四传输数据D4包括第三传输数据D3和存储校验码S。
第四传输数据D4经过核心芯片30与基础芯片20之间的信道到达位于基础芯片20上的片上符号纠错解码器213(On-Die ECC解码器),片上符号纠错解码器213对第四传输数据D4解码,得到原始数据D0、第三传输校验码E3、存储校验码S,并基于第三传输校验码E3、存储校验码S对原始数据D0进行检验和纠错,以检测和纠正数据在核心芯片30内、数据读出时堆叠的核心芯片30与核心芯片30之间、由核心芯片30向基础芯片20的传输信道中传输时发生的错误。在此步骤中,若片上符号纠错解码器213检测到第四传输数据D4中存在无法纠正的错误,即片上符号纠错解码器213在基于存储校验码S检测到符合第二预设条件的错误时,对控制器输1出第二告警信息(第二告警信息在图4中标记为Error Alert_2),以便由控制器1做出相应的判断并做出调整。上述第二预设条件与片上符号纠错解码器213采用的纠错码的纠错能力有关,例如,如果采用的纠错码可以从256bit数据中检错纠错5bit错误数据,则可以将第二预设条件设置为检出的错误数据位大于5;如果采用的纠错码可以从256bit数据中检错纠错8bit错误数据,可以将第二预设条件设置为检出的错误数据位大于等于7或者8。第二预设条件可以由本领域技术人员根据实际情况自行设置,只要不超出片上符号纠错解码器213采用的纠错码的纠错能力的条件皆可。
接下来,片上符号纠错解码器213基于解码和纠错得到的m位的原始数据D0和p位的第三传输校验码E3,将第二传输校验码E2设置为第三传输校验码E3,生成由原始数据D0和第二传输校验码E2(即第三传输校验码E3)共同构成的第二传输数据D2。片上符号纠错解码器213将m+p位的第二传输数据D2经过基础芯片20的内部传输信道、基础芯片20和系统芯片10之间的传输信道送达系统芯片10上的控制器1,由控制器1上的第一编解码器11(系统ECC编解码器)对第二传输数据D2进行检测和纠错,以检测和纠正数据在基础芯片20向核心芯片30传输、核心芯片30之间的传输、基础芯片20的内部传输信道以及基础芯片20和系统芯片10之间的传输信道进行传输时引起的数据错误。
由于片上符号纠错编码器31设置在每个核心芯片30上,能够对基础芯片20与每个核心芯片30之间传输的第三传输数据D3进行编码,同时,从存储阵列300中读取数据时,片上符号纠错解码器213能够对来自每个核心芯片30上的数据进行检验和纠错,避免核心芯片30之间的传输信道、核心芯片30的内部传输信道、不同核心芯片30与基础芯片20之间的传输信道引起数据错误。
从而,图4所示实施例通过第四传输数据D4将数据读取过程中核心芯片30与基础芯片20之间的传输信道、核心芯片30之间的传输信道与核心芯片30内部传输及存储,作为一个整体进行校验,通过第二传输数据D2将数据写入时基础芯片20与核心芯片30、核心芯片30之间的传输与基础芯片20到系统芯片10之间的传输,作为一个整体进行校验,能够检测系统芯片10和基础芯片20之间的信道引起的数据错误、基础芯片20的内部信道引起的数据错误、基础芯片20和核心芯片30之间的信道引起的数据错误、核心芯片30之间的信道引起的数据错误、核心芯片30的内部传输信道引起的数据错误,从而对数据的读取过程和传输过程进行全方位多节点的检验和纠错,降低由于高带宽存储器中数据信道增多带来的数据错误的规模。
此外,通过在基础芯片20上设置与第一编解码器11(系统ECC)功能一致的第二编解码器21(Link ECC),并在核心芯片30上设置On-Die ECC编码器,在基础芯片20上放置On-Die ECC解码器,在增加了对数据传输通路和核心芯片内部存储的错误检验和纠错的节点的同时,节省了核心芯片30的面积,可以有效提高高带宽存储器的RAS特性。
图5是本公开另一个实施例中第二编解码器和核心芯片的示意图。
参考图5,在另一个实施例中,第二编解码器21包括:
第一传输解码器211,与控制器1连接,用于接收第一传输数据D1,对第一传输数据D1进行解码纠错,获得原始数据D0;
第一传输编码器212,连接第一传输解码器211,用于根据第一传输解码器211解码纠错获得的原始数据D0生成第三传输校验码E3;
片上符号纠错编码器214,连接第一传输编码器212和核心芯片30,用于根据第一传输解码器211解码纠错获得的原始数据D0和第三传输校验码E3生成存储校验码S,根据第一传输解码器211解码纠错获得的原始数据D0、第三传输校验码E3、存储校验码S生成第三传输数据D3,并将第三传输数据D3发送至核心芯片30;
片上符号纠错解码器213,连接核心芯片30和控制器1,用于接收来自核心芯片30的第四传输数据D4,第四传输数据D4包括从核心芯片30读出的原始数据D0、第三传输校验码E3和存储校验码S(其中原始数据D0和第三传输校验码E3作为存储数据存储在存储阵列300中,存储校验码S作为校验数据存储在存储数据300中),并根据存储校验码S对第四传输数据D4解码纠错以获得原始数据D0和第三传输校验码E3,将第二传输校验码E2设置为第三传输校验码E3,根据原始数据D0和第二传输校验码E2作为第二传输数据D2发送至控制器1。
在此实施例中,核心芯片30包括:
存储阵列300,连接片上符号纠错编码器214和片上符号纠错解码器213,用于存储第三传输数据D3;其中,核心芯片30从第二编解码器接收第三传输数据D3,并发送至存储阵列300存储;并且核心芯片30从存储阵列300读出第三传输数据D3,并将读出的第三传输数据D3作为第四传输数据D4发送至第二编解码器21。
在图5所示实施例中,通过将片上符号纠错编码器214和片上符号纠错解码器213同时设置基础芯片20上,无需在每个核心芯片30上设置片上符号纠错编码器,可以既保留检验基础芯片20与核心芯片30之间、核心芯片30之间的信道引起的错误的能力,同时能够最大程度减小核心芯片30的面积,减小存储器系统的整体体积。这种方式能够将基础芯片20与核心芯片30之间的传输信道、核心芯片30之间的传输信道和核心芯片30内部传输信道及存储过程,作为一个整体进行校验,适应于基础芯片20与核心芯片30、核心芯片30之间传输错误发生概率较低的情况,即使多段传输作为一个整体,一次校验的纠错能力也能覆盖并确保传输的准确性。
下面同样以对同一个基础数据D0在存储阵列300的写入过程和读取过程为例,说明图5所示实施例中各模块的功能。图5实施例中的数据位数与图4所示实施例中对应的数据位数相同。
数据写入过程:原始数据D0通过第一传输数据D1由系统芯片10传输到基础芯片20,进而第一传输解码器211对第一传输数据D1进行解码纠错以得到原始数据D0的过程与图4所示实施例相同,于此不再赘述。
图5所示实施例与图4所示实施例不同的是,第一传输编码器212接收到m位的原始数据D0后,根据原始数据D0生成p位的第三传输校验码E3,并将该m位的原始数据D0+p位的第三传输校验码E3均发送给片上符号纠错编码器214。片上符号纠错编码器214根据该m+p位数据生成k位的存储校验码S,最终将由原始数据D0、第三传输校验码ECC3、存储校验码S组成的m+p+k位的第三传输数据D3通过核心芯片30与基础芯片20之间的信道写入对应的核心芯片30上的存储阵列300中,其中,m位原始数据D0和P位第三传输校验码E3作为数据进行存储,k位存储校验码S作为校验数据进行存储,可以在存储阵列中为数据和校验数据设置不同的存储区域进行分别存储。
数据读取过程:从存储阵列300中读取m+p+k位的第四传输数据D4(即存储在存储阵列中的第三传输数据D3)后,第四传输数据D4经过核心芯片30与基础芯片20之间的信道到达基础芯片20上的片上符号纠错解码器213(On-Die ECC解码器),片上符号纠错解码器213对第四传输数据D4进行检测和纠错,以检验和纠正数据在核心芯片30内部、核心芯片30与核心芯片30之间、核心芯片30与基础芯片20之间的传输信道进行传输时发生的错误。
在此步骤中,若片上符号纠错解码器213检测到第四传输数据D4中存在无法纠正的错误,即片上符号纠错解码器213在基于存储校验码S检测到符合第二预设条件的错误时,对控制器输1出第二告警信息(第二告警信息在图5中标记为Error Alert_2),以便由控制器1做出相应的判断并做出调整。上述第二预设条件与片上符号纠错解码器213采用的纠错码的纠错能力有关,例如,如果采用的纠错码可以从256bit数据中检错纠错5bit错误数据,则可以将第二预设条件设置为检出的错误数据位大于5;如果采用的纠错码可以从256bit数据中检错纠错8bit错误数据,可以将第二预设条件设置为检出的错误数据位大于等于7或者8。第二预设条件可以由本领域技术人员根据实际情况自行设置,只要不超出片上符号纠错解码器213采用的纠错码的纠错能力的条件皆可。
On-Die ECC解码器(即片上符号纠错解码器213)解码完的m位数据位+p位第三传输校验码E3作为第二传输数据D2经过基础芯片20内部信道、以及基础芯片20和系统芯片10之间的信道到达系统芯片10的存储控制器,系统端System ECC可以检测和纠正数据在基础芯片20内部信道以及由基础芯片20向系统芯片10的传输信道中进行传输时出现的错误。
在一些实施例中,可以根据核心芯片30的数量,可在基础芯片20上的第二编解码器中设置多组片上符号纠错解码器213和片上符号纠错编码器214,每组片上符号纠错解码器213和片上符号纠错编码器214分别对多个核心芯片30的数据进行处理,以实现并行数据校验,提高基础芯片20对来自多片核心芯片30的数据的处理速度。此时基础芯片20的第二编解码器21的电路面积以及功耗较仅设置一组片上符号纠错解码器213和片上符号纠错编码器214高。
图5所示实施例通过在基础芯片20上设置与第一编解码器11(系统ECC)功能一致的第二编解码器21(Link ECC),并在基础芯片20上放置On-Die ECC编码器和On-Die ECC解码器,更加节省了核心芯片30的面积,有效提高高带宽存储器的RAS特性。
图6是本公开再一个实施例中第二编解码器和核心芯片的示意图。
参考图6,在本公开的另一个实施例中,第二编解码器21包括:
第一传输解码器211,与控制器1连接,用于接收第一传输数据D1,对第一传输数据D1进行解码纠错以获得原始数据D0;
第一传输编码器212,连接第一传输解码器211和核心芯片30,用于根据第一传输解码器211解码纠错获得的原始数据D0生成第三传输校验码E3,根据原始数据D0和第三传输校验码E3生成第三传输数据D3,并将第三传输数据D3传输至核心芯片30;
第二传输解码器215,连接核心芯片30,用于接收第四传输数据D4,对第四传输数据D4进行解码纠错以获得原始数据D0;
第二传输编码器216,连接第二传输解码器和控制器1,用于根据第二传输解码器解码纠错获得的原始数据D0生成第二传输校验码E2,根据原始数据D0和第二传输校验码E2生成第二传输数据D2,将第二传输数据D2发送至控制器1;
其中,第四传输数据D4包括原始数据D0和第三传输校验码E3。
在此实施例中,核心芯片30包括:
片上符号纠错编码器31,连接第二编解码器21,用于接收第三传输数据D3,根据第三传输数据D3生成存储校验码S,将存储校验码S和第三传输数据D3发送至存储阵列300;
存储阵列300,连接片上符号纠错编码器31和片上符号纠错解码器32,用于存储第三传输数据D3和存储校验码S,以及读出第三传输数据D3和存储校验码S;
片上符号纠错解码器32,连接存储阵列300,用于将接收的第三传输数据D3和存储校验码S作为第五传输数据D5,并根据存储校验码S对第五传输数据D5解码纠错以获得第三传输数据D3,将第三传输数据D3作为第四传输数据D4发送至第二编解码器21。
其中,由于存储阵列300设置在每个核心芯片30上,片上符号纠错编码器31和片上符号纠错解码器32均设置在每个核心芯片30上。
下面同样以对同一个基础数据D0与存储阵列300之间的数据传输过程为例,说明图6所示实施例中各模块的功能。图6实施例中的数据位数与图4和图5所示实施例中对应的数据位数相同。
其中,图6实施例中的数据写入过程与图4所示实施例的数据写入过程完全相同,不再赘述。
图6所示实施例与图4所示实施例的不同仅在于数据读取过程。
在数据读取过程中,片上符号纠错解码器32(On-Die ECC解码器)对从核心芯片30上的存储阵列300中读取的第五传输数据D5进行解码纠错。其中,第五传输数据包括m+p位的第三传输数据D3和k位的存储校验码S。片上符号纠错解码器32可以对数据在核心芯片30内部的传输及存储过程中出现的错误进行检测和纠错。
在此步骤中,若片上符号纠错解码器32检测到第五传输数据D5中存在无法纠正的错误,即片上符号纠错解码器32在基于存储校验码S检测到符合第二预设条件的错误时,对控制器1输出第二告警信息(第二告警信息在图6中标记为Error Alert_2),以便由控制器1做出相应的判断并做出调整。上述第二预设条件与片上符号纠错解码器32采用的纠错码的纠错能力有关,例如,如果采用的纠错码可以从256bit数据中检错纠错5bit错误数据,则可以将第二预设条件设置为检出的错误数据位大于5;如果采用的纠错码可以从256bit数据中检错纠错8bit错误数据,可以将第二预设条件设置为检出的错误数据位大于等于7或者8。第二预设条件可以由本领域技术人员根据实际情况自行设置,只要不超出片上符号纠错解码器32采用的纠错码的纠错能力的条件皆可。
片上符号纠错解码器32根据存储校验码S对第五传输数据D5进行纠错后,可以得到正确的m+p位的第三传输数据D3,第三传输数据D3包括m位的原始数据D0和p位的第三传输校验码E3。接下来,片上符号纠错解码器32将m+p位的第三传输数据D3作为第四传输数据D4经核心芯片30与基础芯片20之间的信道传输到基础芯片20上第二传输解码器215。
第二传输解码器215基于接收到的m+p位的第四传输数据D4,对数据在核心芯片30与基础芯片20之间的传输信道进行传输时发生的错误进行检测和纠正,以得到正确的原始数据D0。
在此步骤中,若第二传输解码器215检测到第四传输数据D4中存在无法纠正的错误,即第二传输解码器215在基于第三传输校验码E3检测到符合第三预设条件的错误时,对控制器1输出第三告警信息(第三告警信息在图6中标记为Error Alert_3),以便由控制器1做出相应的判断并做出调整。上述第三预设条件与第二传输解码器215采用的纠错码的纠错能力有关,例如,如果采用的纠错码可以从256bit数据中检错纠错5bit错误数据,则可以将第三预设条件设置为检出的错误数据位大于5;如果采用的纠错码可以从256bit数据中检错纠错8bit错误数据,可以将第三预设条件设置为检出的错误数据位大于等于7或者8。第二预设条件可以由本领域技术人员根据实际情况自行设置,只要不超出第二传输解码器215采用的纠错码的纠错能力的条件皆可。
最后,第二传输编码器216根据第二传输解码器215解码得到的m位的原始数据D0得到p位的第二传输校验码E2,将由m位的原始数据D0和p位的第二传输校验码E2构成的m+p位的第二传输数据D2,经过基础芯片20内部信道以及由基础芯片20向系统芯片10的传输信道发送到系统芯片10上的控制器1,使得设置在控制器1上的第一编解码器11(系统ECC)可以检测和纠正数据在基础芯片20内部信道以及由基础芯片20向系统芯片10的传输信道中进行传输时出现的错误。
图6所示实施例通过设置在基础芯片20上的第一传输解码器211检查数据由系统芯片10向基础芯片20传输过程中发生的数据错误,通过设置在核心芯片30上的片上符号纠错编码器31和片上符号纠错解码器32检查数据在核心芯片30内部传输及存储过程中发生的数据错误,通过设置在基础芯片20上的第一传输编码器212和第二传输解码器215检查数据在基础芯片20与核心芯片30之间的传输信道中进行传输时发生的数据错误,最后将携带有第二传输校验码E2的第二传输数据D2发送至系统芯片10上的控制器1,由控制器1上的第一编解码器11检查数据在基础芯片20内部信道以及由基础芯片20向系统芯片10的传输信道中进行传输时发生的数据错误,可以全方位多点位覆盖数据在整个高带宽存储器中传输的多个节点,提高数据传输准确度。由于在每个核心芯片30上均设置一组片上符号纠错编码器31和片上符号纠错解码器32,可以实现每个核心芯片30内部传输及存储单独进行校验,同时将基础芯片20与核心芯片30、核心芯片30之间的传输单独进行一次校验,数据传输的安全性和准确性最高,核心芯片30上存储的校验可同时进行,防止片上编解码集成于基础芯片20时并行数据校验存在冲突或者依次校验时间较长的问题。图6所示实施例需要在核心芯片30上设置更多的电路,占用芯片面积、功耗更多,适用于每段传输路径的出错概率均较高的情况。
图7是本公开再一个实施例中第二编解码器和核心芯片的示意图。
参考图7,在本公开另一个实施例中,第二编解码器21包括:
第一传输解码器211,连接控制器1和核心芯片30,用于接收第一传输数据D1,对第一传输数据D1进行解码纠错以获得原始数据D0,以及接收第四传输数据D4,对第四传输数据D4进行解码纠错以获得原始数据D0;
第一传输编码器212,连接第一传输解码器211和核心芯片30,用于根据第一传输解码器211对第一传输数据D1解码纠错获得的原始数据D0生成第三传输校验码E3,根据原始数据D0和第三传输校验码E3生成第三传输数据D3,并将第三传输数据D3传输至核心芯片30,以及,根据第一传输解码器211对第四传输数据D4解码纠错获得的原始数据D0生成第二传输校验码E2,根据原始数据D0和第二传输校验码E2生成第二传输数据D2,并将第二传输数据D2发送至控制器1;
其中,第四传输数据D4包括原始数据D0和第三传输校验码E3。
核心芯片30包括:
片上符号纠错编码器31,连接第二编解码器21,用于接收第三传输数据D3,根据第三传输数据D3生成存储校验码S,将存储校验码S和第三传输数据D3发送至存储阵列300;
存储阵列300,连接片上符号纠错编码器31和片上符号纠错解码器32,用于存储第三传输数据D3和存储校验码S,以及读出第三传输数据D3和存储校验码S;
片上符号纠错解码器32,连接存储阵列300,用于将接收的第三传输数据D3和存储校验码S作为第五传输数据D5,并根据存储校验码S对第五传输数据D5解码纠错以获得第三传输数据D3,将第三传输数据D3作为第四传输数据D4发送至第二编解码器21。
其中,片上符号纠错编码器31和片上符号纠错解码器32均设置在每个核心芯片30上。
与图6所示实施例不同的是,图7所示实施例中,将第一传输解码器211同时用于对第一传输数据D1和第四传输数据D0进行校验和纠错;将第二传输编码器212同时用于生成第二传输校验码E2和第三传输校验码E3,当原始数据D0相同时,第二传输校验码E2和第三传输校验码E3理应相同。将第二传输编码器212输出的第三传输校验码E3与原始数据D0发送至核心芯片30,将第二传输编码器212输出的第二传输校验码E2与原始数据D0发送至系统芯片10。
在图7所示实施例中,由于第一传输数据D1中包括原始数据D0和第一传输校验码E1,第四传输数据D4中包括原始数据D0和第三传输校验码E3(参见图4、图6所示实施例的说明),基于传输校验码(ECC校验码)对数据进行校验和纠错的过程相同,在数据并行处理量较小时,可以复用第一传输解码器211的解码功能。同时,由于第二传输编码器212基于原始数据D0生成传输校验码(ECC校验码)的过程相同,因此,可以复用第二传输编码器212的生成校验码功能,通过第二传输编码器212生成第二传输校验码E2。
从而,在数据并行处理量较小、第一传输解码器211和第二传输编码器212的数据处理能力能够满足与系统芯片10、核心芯片30同时通讯时,可以按照图7所示实施例设置第二编解码器21,以节省第二编解码器21占用基础芯片20的面积,缩小存储器系统的整体体积。
相比图6所示实施例,图7所示实施例节省了一组编解码器,减少了编解码电路对基础芯片20面积的占用,并减少基础芯片20以及整个存储系统的功耗。由于数据写入和数据读出都需要利用同一组编解码器进行编码和解码,这种方式会在数据写入和数据读出时发生冲突,可以应用在时序要求较低或者基础芯片面积和功耗要求较高的存储系统。
需要说明的是,虽然复用了第一传输解码器211的解码功能,但是第一传输解码器211需要能够分辨其所处理的数据的来源(来自系统芯片10或核心芯片30),并在对不同来源的数据解码过程中发现无法解决的错误时,输出不同的告警信息,而由于第一传输解码器211解码的数据位数相同,结构相同,第一传输解码器211对上述两种不同来源的数据生成告警信息的标准可以相同也可以不同,具体情况根据不同传输路径对错误数量的容忍度确定。
在图7所示实施例中,第一传输解码器211可以在检测到第四传输数据D4存在符合第一预设条件的错误时,对控制器1输出第三告警信息(第三告警信息在图7中标记为ErrorAlert_3)。与图6所示实施例相似,第三告警信息用于指示包括原始数据D0和第三传输校验码ECC的第四传输数据D4存在错误。当第一传输解码器211复用图6所示实施例中第二传输解码器215的功能时,可以将其告警信息生成方法一并复用。
在一些实施例中,也可以不设置片上符号纠错解码器和片上符号纠错编码器。
图8A~图8C分别是本公开三个实施例中核心芯片与第二编解码器的示意图。
参考图8A,在一个实施例中,第二编解码器21仅包括第一传输解码器211和第一传输编码器212,第一传输编码器212直接连接核心芯片30上的存储阵列300。此时,第二编解码器21仅对数据写入过程进行编码和校验,数据写入过程与图4所示实施例相同。在数据读取过程中,直接将读取的数据透传到控制器1,如图8A所示,即此时第四传输数据D4、第三传输数据D3、第二传输数据D2相同。
从而,在控制器1接收到第二传输数据D2时,可以通过对第二传输数据D2解码,得到第三传输数据E3和原始数据D0,使用第三传输数据E3对原始数据D0进行校验纠错,将基础芯片20的内部传输信道、基础芯片20与核心芯片30之间的传输信道、堆叠的核心芯片30之间的传输信道、核心芯片30内部的传输信道、基础芯片20与系统芯片10之间的传输信道作为一个整体进行检验,缩小存储器系统的整体体积。
参考图8B,在另一个实施例中,第二编解码器21包括第一传输解码器211、第一传输编码器212、第二传输解码器215、第二传输编码器216,第一传输编码器212和第二传输解码器215直接连接核心芯片30上的存储阵列300。
此时,基础芯片20、核心芯片30、系统芯片10之间的数据传输与图6所示实施例相同。由于节省掉在核心芯片30上设置的片上符号纠错编码器和片上符号纠错解码器,将基础芯片20与核心芯片30之间的传输信道、堆叠的核心芯片30之间的传输信道、核心芯片30内部的传输信道作为一个整体进行检验,可以在保障对数据的写入过程和读取过程均进行校验的同时,缩小存储器系统的整体体积。
参考图8C,在再一个实施例中,第二编解码器21仅包括第一传输解码器211和第一传输编码器212,第一传输解码器211和第一传输编码器212均直接连接核心芯片30上的存储阵列300和系统芯片10。第一传输解码器211被复用以对数据写入过程中的第一传输数据D1和数据读取过程中的第四传输数据D4进行解码纠错得到原始数据D0;第一传输编码器212被复用以对第一传输解码器211解码得到的原始数据D0进行编码,以生成第二传输校验码E2或第三传输校验码E3,并根据原始数据D0和第三传输校验码E3生成数据写入过程中的第三传输数据D3,根据原始数据D0和第二传输校验码E2生成数据读取过程中的第二传输数据D2。
与图8A所示实施例相比,图8C所示实施例能够对数据读取过程进行校验,与图8B所示实施例相比,图8C所示实施例能够节省一套编解码器,降低基础芯片20的面积。与图7所示实施例相比,由于节省掉在核心芯片30上设置的片上符号纠错编码器和片上符号纠错解码器,将基础芯片20与核心芯片30之间的传输信道、堆叠的核心芯片30之间的传输信道、核心芯片30内部的传输信道作为一个整体进行检验,可以在保障对数据的写入过程和读取过程均进行校验的同时,缩小存储器系统的整体体积。
综合上述所示实施例及其对应描述,本公开实施例通过在高带宽存储器上的多个传输节点设置多个解码器和编码器,可以分别检验并纠正数据在系统芯片10与基础芯片20之间、基础芯片20与核心芯片30之间、核心芯片30之间以及核心芯片30内部的传输信道进行传输时产生的数据错误,此外,还可根据不同的应用场景以及不同性能的存储系统,将不同类型(Link-ECC/On-die ECC)的编码器和解码器选择设置在每个核心芯片30或者基础芯片20上,在高带宽存储器的堆叠层数日益增加、数据传输路径日益延长的情况下,有效保证数据传输的准确性,从而可以提高系统端(系统芯片10)、逻辑芯片(基础芯片20)和存储芯片(核心芯片30)之间数据传输和存储过程中的可靠性,纠正数据因为噪声、硬件故障等发生的错误,以提高HBM的整体RAS(可靠性、可用性和可维护性)特性。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和构思由权利要求指出。
Claims (18)
1.一种存储器系统,其特征在于,包括:
控制器,所述控制器包括第一编解码器,所述第一编解码器用于对待写入存储器装置的原始数据进行编码,生成并输出第一传输数据,以及对存储器装置发送的第二传输数据进行解码纠错,得到所述原始数据;
存储器装置,所述存储器装置包括基础芯片和堆叠于所述基础芯片上的多个核心芯片,所述基础芯片包括第二编解码器,用于对来自所述控制器的所述第一传输数据进行解码纠错,获得所述原始数据,并根据解码获得的所述原始数据生成第三传输数据,将所述第三传输数据传输至所述核心芯片,以及用于对来自所述核心芯片的第四传输数据进行解码纠错,生成并输出所述第二传输数据,所述第四传输数据包括所述原始数据。
2.如权利要求1所述的存储器系统,其特征在于,所述第一传输数据包括所述原始数据和第一传输校验码,所述第二传输数据包括所述原始数据和第二传输校验码。
3.如权利要求2所述的存储器系统,其特征在于,所述第二编解码器包括:
第一传输解码器,与所述控制器连接,用于接收所述第一传输数据,对所述第一传输数据进行解码纠错,获得所述原始数据;
第一传输编码器,连接所述第一传输解码器和所述核心芯片,用于根据所述第一传输解码器解码获得的所述原始数据生成所述第三传输校验码,根据所述原始数据和所述第三传输校验码生成所述第三传输数据,并将所述第三传输数据传输至所述核心芯片。
4.如权利要求3所述的存储器系统,其特征在于,所述核心芯片包括:
片上符号纠错编码器,连接所述第二编解码器,用于接收所述第三传输数据,根据所述第三传输数据生成存储校验码,并将所述存储校验码和所述第三传输数据一同发送至存储阵列;
存储阵列,连接所述片上符号纠错编码器,用于存储所述第三传输数据和所述存储校验码;
其中,由核心芯片发送至所述第二编解码器的所述第四传输数据包括所述第三传输数据和所述存储校验码。
5.如权利要求4所述的存储器系统,其特征在于,所述第二编解码器还包括:
片上符号纠错解码器,连接所述核心芯片和所述控制器,用于接收所述第四传输数据,根据所述存储校验码对所述第四传输数据解码纠错获取所述原始数据和所述第三传输校验码,将所述第二传输校验码设置为所述第三传输校验码,根据所述原始数据和所述第二传输校验码生成所述第二传输数据,将所述第二传输数据发送至所述控制器。
6.如权利要求4所述的存储器系统,其特征在于,所述片上符号纠错编码器设置在每个所述核心芯片上。
7.如权利要求2所述的存储器系统,其特征在于,所述第二编解码器包括:
第一传输解码器,与所述控制器连接,用于接收所述第一传输数据,对所述第一传输数据进行解码纠错以获得所述原始数据;
第一传输编码器,连接所述第一传输解码器和所述核心芯片,用于根据所述第一传输解码器解码纠错获得的所述原始数据生成所述第三传输校验码,根据所述原始数据和所述第三传输校验码生成所述第三传输数据,并将所述第三传输数据传输至所述核心芯片;
第二传输解码器,连接所述核心芯片,用于接收所述第四传输数据,对所述第四传输数据进行解码纠错以获得所述原始数据;
第二传输编码器,连接所述第二传输解码器和所述控制器,用于根据所述第二传输解码器解码纠错获得的所述原始数据生成所述第二传输校验码,根据所述原始数据和所述第二传输校验码生成所述第二传输数据,将所述第二传输数据发送至所述控制器;
其中,所述第四传输数据包括所述原始数据和第三传输校验码。
8.如权利要求2所述的存储器系统,其特征在于,所述第二编解码器包括:
第一传输解码器,连接所述控制器和所述核心芯片,用于接收所述第一传输数据,对所述第一传输数据进行解码纠错以获得所述原始数据,以及接收所述第四传输数据,对所述第四传输数据进行解码纠错以获得所述原始数据;
第一传输编码器,连接所述第一传输解码器和所述核心芯片,用于根据所述第一传输解码器对所述第一传输数据解码纠错获得的所述原始数据生成所述第三传输校验码,根据所述原始数据和所述第三传输校验码生成所述第三传输数据,并将所述第三传输数据传输至所述核心芯片,以及,根据所述第一传输解码器对所述第四传输数据解码纠错获得的所述原始数据生成所述第二传输校验码,根据所述原始数据和所述第二传输校验码生成所述第二传输数据,并将所述第二传输数据发送至所述控制器;
其中,所述第四传输数据包括所述原始数据和第三传输校验码。
9.如权利要求7或8所述的存储器系统,其特征在于,所述核心芯片包括:
片上符号纠错编码器,连接所述第二编解码器,用于接收所述第三传输数据,根据所述第三传输数据生成存储校验码,将所述存储校验码和所述第三传输数据发送至所述存储阵列;
存储阵列,连接所述片上符号纠错编码器和片上符号纠错解码器,用于存储所述第三传输数据和所述存储校验码,以及读出所述第三传输数据和所述存储校验码;
片上符号纠错解码器,连接所述存储阵列,用于将接收的所述第三传输数据和所述存储校验码作为所述第五传输数据,并根据所述存储校验码对所述第五传输数据解码纠错以获得所述第三传输数据,将所述第三传输数据作为所述第四传输数据发送至所述第二编解码器。
10.如权利要求9所述的存储器系统,其特征在于,所述片上符号纠错编码器和所述片上符号纠错解码器均设置在每个所述核心芯片上。
11.如权利要求2所述的存储器系统,其特征在于,所述第二编解码器包括:
第一传输解码器,与所述控制器连接,用于接收所述第一传输数据,对所述第一传输数据进行解码纠错,获得所述原始数据;
第一传输编码器,连接所述第一传输解码器,用于根据所述第一传输解码器解码纠错获得的所述原始数据生成所述第三传输校验码;
片上符号纠错编码器,连接所述第一传输编码器和所述核心芯片,用于根据所述第一传输解码器解码纠错获得的所述原始数据和所述第二传输校验码生成所述存储校验码,根据所述第一传输解码器解码纠错获得的所述原始数据、所述第三传输校验码、所述存储校验码生成所述第三传输数据,并将所述第三传输数据发送至所述核心芯片;
片上符号纠错解码器,连接所述核心芯片和所述控制器,用于接收来自所述核心芯片的所述第四传输数据,所述第四传输数据包括从所述核心芯片读出的所述原始数据、所述第三传输校验码和所述存储校验码,并根据所述存储校验码对所述第四传输数据解码纠错以获得所述原始数据和所述第三传输校验码,将所述第二传输校验码设置为所述第三传输校验码,根据所述原始数据和所述第二传输校验码生成所述第二传输数据,将所述第二传输数据发送至所述控制器。
12.如权利要求11所述的存储器系统,其特征在于,所述核心芯片包括:
存储阵列,连接所述片上符号纠错编码器和所述片上符号纠错解码器,用于存储所述第三传输数据;
其中,所述核心芯片从所述第二编解码器接收所述第三传输数据,并发送至所述存储阵列存储;并且所述核心芯片从所述存储阵列读出所述第三传输数据,并将读出的所述第三传输数据作为第四传输数据发送至所述第二编解码器。
13.如权利要求3、7、8、11任一项所述的存储器系统,其特征在于,所述第一传输解码器在检测到所述第一传输数据存在符合第一预设条件的错误时,对所述控制器输出第一告警信息。
14.如权利要求5、9、11任一项所述的存储器系统,其特征在于,所述片上符号纠错解码器在基于所述存储校验码检测到符合第二预设条件的错误时,对所述控制器输出第二告警信息。
15.如权利要求7所述的存储器系统,其特征在于,所述第二传输解码器在检测到所述第四传输数据存在符合第一预设条件的错误时,对所述控制器输出第三告警信息。
16.如权利要求8所述的存储器系统,其特征在于,所述第一传输解码器在检测到所述第四传输数据存在符合第一预设条件的错误时,对所述控制器输出第三告警信息。
17.如权利要求1所述的存储器系统,其特征在于,还包括系统芯片和通讯基板,所述系统芯片和所述基础芯片均设置在所述通讯基板上且通过所述通讯基板实现电连接,所述控制器设置于系统芯片上。
18.如权利要求1所述的存储器系统,其特征在于,所述存储器装置为高带宽存储器装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211449606.4A CN118098324A (zh) | 2022-11-18 | 2022-11-18 | 存储器系统 |
PCT/CN2023/070544 WO2024103507A1 (zh) | 2022-11-18 | 2023-01-04 | 存储器系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211449606.4A CN118098324A (zh) | 2022-11-18 | 2022-11-18 | 存储器系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118098324A true CN118098324A (zh) | 2024-05-28 |
Family
ID=91083675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211449606.4A Pending CN118098324A (zh) | 2022-11-18 | 2022-11-18 | 存储器系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN118098324A (zh) |
WO (1) | WO2024103507A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4940322B2 (ja) * | 2010-03-16 | 2012-05-30 | 株式会社東芝 | 半導体メモリ映像蓄積再生装置及びデータ書込み/読出し方法 |
CN102929741B (zh) * | 2012-09-29 | 2013-12-25 | 邹粤林 | 一种提高闪存芯片纠错码使用效率的方法、系统及控制器 |
JP2014099751A (ja) * | 2012-11-14 | 2014-05-29 | Nippon Hoso Kyokai <Nhk> | 記録再生装置及び記録再生方法 |
KR20210132784A (ko) * | 2020-04-27 | 2021-11-05 | 삼성전자주식회사 | 메모리 장치 및 메모리 장치로부터 데이터를 읽는 방법 |
CN111858141B (zh) * | 2020-07-24 | 2021-12-17 | 南方电网数字电网研究院有限公司 | 系统芯片存储控制装置和系统芯片 |
-
2022
- 2022-11-18 CN CN202211449606.4A patent/CN118098324A/zh active Pending
-
2023
- 2023-01-04 WO PCT/CN2023/070544 patent/WO2024103507A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024103507A1 (zh) | 2024-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11734106B2 (en) | Memory repair method and apparatus based on error code tracking | |
US7734980B2 (en) | Mitigating silent data corruption in a buffered memory module architecture | |
US7774684B2 (en) | Reliability, availability, and serviceability in a memory device | |
US8181101B2 (en) | Data bus system, its encoder/decoder and encoding/decoding method | |
US8874986B2 (en) | Storage device including error correction function and error correction method | |
JPH11283396A (ja) | メモリ装置 | |
CN110362420B (zh) | 存储系统和存储系统的操作方法 | |
KR20190005116A (ko) | 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 | |
TW202105182A (zh) | 記憶體系統及記憶體系統的寫入方法 | |
US10810080B2 (en) | Memory device selectively correcting an error in data during a read operation, memory system including the same, and operating method of memory system | |
CN118098324A (zh) | 存储器系统 | |
US20230229554A1 (en) | Method and system for on-asic error control encoding | |
CN116244108A (zh) | 存储器控制器和存储器的数据写入和读取方法及存储系统 | |
CN112820343B (zh) | 数据保护方法、装置、计算机设备及存储介质 | |
US8683308B2 (en) | Semiconductor device, information processing apparatus, and method of detecting error | |
US11183262B2 (en) | Data verifying method, chip, and verifying apparatus | |
JP4099844B2 (ja) | メモリ装置 | |
US12088322B2 (en) | Method and system for on-ASIC error control decoding | |
WO2023197935A1 (zh) | 存储数据的方法、读取数据的方法和相关设备 | |
JPH11212876A (ja) | 符号化方法およびそれを利用したメモリ装置 | |
CN112114756B (zh) | 存储系统及电子设备 | |
CN118606100A (zh) | 存储器系统与存储器 | |
JPH10105421A (ja) | Aramメモリチップを用いてsimmメモリモジュールを製作し試験する装置 | |
CN117811590A (zh) | 数据编码纠错方法、装置及相关设备 | |
CN118625999A (zh) | 一种数据存储方法及相关设备 |
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 |