CN116072200A - 基础芯片、存储系统以及半导体结构 - Google Patents
基础芯片、存储系统以及半导体结构 Download PDFInfo
- Publication number
- CN116072200A CN116072200A CN202111272427.3A CN202111272427A CN116072200A CN 116072200 A CN116072200 A CN 116072200A CN 202111272427 A CN202111272427 A CN 202111272427A CN 116072200 A CN116072200 A CN 116072200A
- Authority
- CN
- China
- Prior art keywords
- data
- encoded data
- error detection
- chip
- base chip
- 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
- 239000004065 semiconductor Substances 0.000 title claims abstract description 29
- 238000012937 correction Methods 0.000 claims abstract description 212
- 238000001514 detection method Methods 0.000 claims abstract description 183
- 238000000034 method Methods 0.000 claims abstract description 134
- 230000008569 process Effects 0.000 claims abstract description 134
- 238000012545 processing Methods 0.000 claims abstract description 70
- 230000005540 biological transmission Effects 0.000 claims description 96
- 238000006243 chemical reaction Methods 0.000 claims description 84
- 238000012512 characterization method Methods 0.000 claims description 23
- 239000012536 storage buffer Substances 0.000 claims description 16
- 239000000872 buffer Substances 0.000 claims description 13
- 239000000758 substrate Substances 0.000 claims description 12
- 238000012546 transfer Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 230000009286 beneficial effect Effects 0.000 description 12
- 102100040862 Dual specificity protein kinase CLK1 Human genes 0.000 description 6
- 101000749294 Homo sapiens Dual specificity protein kinase CLK1 Proteins 0.000 description 6
- 101000711846 Homo sapiens Transcription factor SOX-9 Proteins 0.000 description 4
- 102100034204 Transcription factor SOX-9 Human genes 0.000 description 4
- 230000007334 memory performance Effects 0.000 description 4
- 102100040844 Dual specificity protein kinase CLK2 Human genes 0.000 description 2
- 101000749291 Homo sapiens Dual specificity protein kinase CLK2 Proteins 0.000 description 2
- 101100232371 Hordeum vulgare IAT3 gene Proteins 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 235000014676 Phragmites communis Nutrition 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
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
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- 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
- 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
- G06F11/1008—Adding 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/1048—Adding 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 arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本公开实施例提供一种基础芯片、存储系统以及半导体结构,基础芯片被配置为,在写入阶段接收第一数据以及第一编码数据,第一编码数据为对第一数据进行第一错误校正码编码处理获得的,并对第一数据进行第二错误校正码编码处理以生成第二编码数据,在写入阶段向存储芯片传输第二数据,第二数据包括第一数据、第一编码数据以及第二编码数据;基础芯片还被配置为,在读取阶段接收来自存储芯片的第二数据,并对第一数据以及第二编码数据进行第一检错纠错处理,并在读取阶段传输第三数据,第三数据包括第一编码数据以及进行第一检错纠错处理后的第一数据。本公开实施例能够改善存储系统的存储性能。
Description
技术领域
本公开实施例涉及半导体技术领域,特别涉及一种基础芯片、存储系统以及半导体结构。
背景技术
半导体存储可以分为非易失性存储和易失性存储。动态随机存取存储器(DynamicRandom Access Memory,DRAM)作为易失性存储,具备存储密度高、读写速度快等优点,广泛用于各种电子系统中。
随着DRAM的制程工艺越来越先进、存储密度越来越高,DRAM中存储数据可能会发生错误,严重影响DRAM性能。因此,DRAM中通常采用纠错码(ECC,Error Checking andCorrection or Error correction Coding)技术来对存储数据的错误进行检测或修正。
发明内容
本公开实施例提供一种基础芯片、存储系统以及半导体结构,至少有利于解决控制器或者存储芯片面积紧张的问题。
根据本公开一些实施例,本公开实施例一方面提供一种基础芯片,应用于存储系统,包括:所述基础芯片被配置为,在写入阶段接收第一数据以及第一编码数据,所述第一编码数据为对所述第一数据进行第一错误校正码编码处理获得的,并对所述第一数据进行第二错误校正码编码处理以生成第二编码数据,在所述写入阶段向存储芯片传输第二数据,所述第二数据包括所述第一数据、所述第一编码数据以及所述第二编码数据;所述基础芯片还被配置为,在读取阶段接收来自所述存储芯片的所述第二数据,并对所述第一数据以及所述第二编码数据进行第一检错纠错处理,并在所述读取阶段传输第三数据,所述第三数据包括所述第一编码数据以及进行所述第一检错纠错处理后的所述第一数据。
另外,所述基础芯片包括:第二编码模块,所述第二编码模块被配置为,在所述写入阶段接收所述第一数据并进行所述第二错误校正码编码处理,以生成所述第二编码数据;第一检错纠错模块,所述第一检错纠错模块被配置为,在所述读取阶段接收所述第一数据以及所述第二编码数据并进行所述第一检错纠错处理。
另外,所述基础芯片还包括:第一串并转换模块,所述第一串并转换模块被配置为,在写入阶段接收所述第一数据以及所述第一编码数据,并对所述第一数据以及所述第一编码数据进行第一串并转换处理,并将所述第一串并转换处理后的所述第一数据传输至所述第二编码模块,将所述第一串并转换处理后的所述第一编码数据传输至所述存储芯片;第一并串转换模块,所述第一并串转换模块被配置为,在读取阶段接收所述第三数据并对所述第三数据进行第一并串转换处理,并将所述第一并串转换处理后的所述第三数据传输至控制器。
另外,所述基础芯片还包括:第二并串转换模块,所述第二并串转换模块被配置为,在写入阶段接收所述第二数据并进行第二并串转换处理,并将所述第二并串转换处理后的所述第二数据传输至所述存储芯片;第二串并转换模块,所述第二串并转换模块被配置为,在读取阶段接收来自所述存储芯片的所述第二数据并进行第二串并转换处理,并将所述第二串并转换处理后的所述第二编码数据以及所述第一数据传输至所述第一检错纠错模块,并输出所述第二串并转化处理后的所述第一编码数据。
另外,所述基础芯片还被配置为,在所述第一检错纠错处理期间生成第一检错标志信号,且基于所述第一检错标志信号,记录所述第一数据以及所述第二编码数据在传输过程中的出错情况。
另外,所述基础芯片还包括:第一存储缓存模块,所述第一存储缓存模块被配置为,存储所述第一数据以及所述第二编码数据在传输过程中的出错情况;第一命令模块,所述第一命令模块接收轮询指令,并产生第一命令信号以及第一时钟信号;所述第一存储缓存模块还被配置为,基于所述第一命令信号和所述第一时钟信号,输出第一表征信号,所述第一表征信号表征所述第一数据以及所述第二编码数据在传输过程中的出错情况。
另外,所述第一存储缓存模块包括先入先出型寄存器。
另外,所述第一错误校正码编码处理与所述第二错误校正码编码处理采用不同的编译码算法进行。
另外,所述第一编码数据的比特位数与所述第二编码数据的比特位数不同。
根据本公开一些实施例,本公开实施例另一方面还提供一种存储系统,包括控制器、基础芯片以及存储芯片;所述控制器被配置为,在写入阶段对第一数据进行第一错误校正码编码处理,以生成第一编码数据,并向所述基础芯片传输第一数据以及所述第一编码数据;所述基础芯片被配置为,在写入阶段接收所述第一数据以及所述第一编码数据,并对所述第一数据进行第二错误校正码编码处理以生成第二编码数据,在所述写入阶段向所述存储芯片传输第二数据,所述第二数据包括所述第一数据、所述第一编码数据以及所述第二编码数据,在读取阶段接收来自所述存储芯片的所述第二数据,并对所述第一数据以及所述第二编码数据进行第一检错纠错处理,并在所述读取阶段向所述控制器传输第三数据,所述第三数据包括所述第一编码数据以及进行所述第一检错纠错处理后的所述第一数据;所述存储芯片被配置为,在所述写入阶段接收所述第二数据并存储所述第二数据,并在所述读取阶段向所述基础芯片传输所述第二数据;所述控制器还被配置为,在所述读取阶段接收来自所述基础芯片的所述第三数据,对所述第三数据进行第二检错纠错处理,获得所述第二检错纠错处理后的所述第一数据。
另外,所述控制器包括:第一编码模块,所述第一编码模块被配置为,在所述写入阶段对所述第一数据并进行所述第一错误校正码编码处理,以生成所述第一编码数据;第二检错纠错模块,所述第二检错纠错模块被配置为,在所述读取阶段接收所述第三数据,并对所述第三数据进行所述第二检错纠错处理。
另外,所述基础芯片包括:第二编码模块,所述第二编码模块被配置为,在所述写入阶段接收所述第一数据并进行所述第二错误校正码编码处理,以生成所述第二编码数据;第一检错纠错模块,所述第一检错纠错模块被配置为,在所述读取阶段接收所述第一数据以及所述第二编码数据并进行所述第一检错纠错处理。
另外,所述控制器与所述基础芯片之间的数据传输通道的数量为M,所述基础芯片与所述存储芯片之间的数据传输通道的数量为N;其中,M和N均为大于1的正整数,且N大于M。
另外,所述存储芯片包括:第一存储模块,所述第一存储模块用于存储所述第一数据;第二存储模块,所述第二存储模块用于存储所述第一编码数据;第三存储模块,所述第三存储模块用于存储所述第二编码数据。
另外,所述第一错误校正码编码处理以及所述第二检错纠错处理采用第一编译算法进行,所述第二错误校正码编码处理以及所述第一检错纠错处理采用第二编译算法进行,所述第一编译算法与所述第二编译算法不同。
另外,
所述基础芯片还被配置为,在所述第一检错纠错处理期间生成第一检错标志信号,且基于所述第一检错标志信号,记录所述第一数据以及所述第一二编码数据在传输过程中的出错情况;所述存储系统还包括:
第一寄存器,所述第一寄存器被配置为,存储所述第一数据以及所述第二编码数据在传输过程中的出错情况。
另外,所述基础芯片包括:第一存储缓存模块,所述第一存储缓存模块被配置为,存储所述第一数据以及所述第二编码数据在传输过程中的出错情况;第一命令模块,所述第一命令模块接收第一轮询指令,并产生第一命令信号以及第一时钟信号;所述第一存储缓存模块还被配置为,基于所述第一命令信号和所述第一时钟信号,向所述第一寄存器输出第一表征信号,所述第一表征信号表征所述第一数据以及所述第二编码数据在传输过程中的出错情况。
另外,所述控制器还被配置为,在所述第二检错纠错处理期间生成第二检错标志信号,且基于所述第二检错标志信号,记录所述第一数据以及所述第一编码数据在传输过程中的出错情况;所述存储系统还包括:第二寄存器,所述第二寄存器被配置为,存储所述第一数据以及所述第一编码数据在传输过程中的出错情况。
另外,所述控制器包括:第二存储缓存模块,所述第二存储缓存模块被配置为,存储所第一数据以及所述第一编码数据在传输过程中的出错情况;第二命令模块,所述第二命令模块接收第二轮询指令,并产生第二命令信号以及第二时钟信号;所述第二存储缓存模块还被配置为,基于所述第二命令信号和所述第二时钟信号,向所述第二寄存器输出第二表征信号,所述第二表征信号表征所述第一数据以及所述第一编码数据在传输过程中出错的情况。
根据本公开一些实施例,本公开实施例的再一方面还提供一种半导体结构,包括:承载基板;上述的存储系统,且所述控制器以及所述基础芯片均位于所述承载基板表面,且所述存储芯片位于所述基础芯片远离所述承载基板的表面。
本公开实施例提供的技术方案具有以下优点:
本公开实施例提供的基础芯片的技术方案中,基础芯片在写入阶段接收第一数据和第一编码数据后,对第一数据进行第二错误校正码编码处理以生成第二编码数据,且将第一数据、第一编码数据和第二编码数据均传输至存储芯片内;在读取阶段,从存储芯片内传输出的第一数据、第一编码数据和第二编码数据传输至基础芯片,基础芯片能够对第一数据以及第二编码数据进行第一检错纠错处理,将进行第一检错纠错处理后的第一数据传输至控制器,且基础芯片还将第一编码数据传输至控制器。也就是说,在存储阶段,基础芯片能够对第一数据进行检错纠错处理,即基础芯片能够分担控制器的编码处理功能以及检错纠错功能,有利于缓解控制器芯片面积紧张的问题;且由于传输至控制器的第一数据已经进行过一次检错纠错处理,使得经由控制器再次进行检错纠错处理后的第一数据的准确率得到提升,有利于提升存储系统的性能。。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为一种半导体结构的结构示意图;
图2为图1提供的半导体结构中数据传输示意图;
图3至图6为本公开实施例提供的基础芯片的结构示意图;
图7至图10为本公开实施例提供的存储系统的第一种结构示意图;
图11为本公开实施例提供的半导体结构的剖面结构示意图。
具体实施方式
图1为一种半导体结构的结构示意图,图2为图1提供的半导体结构中数据传输示意图。
参考图1,半导体结构可以包括:基板11;分别位于基板11表面的基础芯片(basedie)12以及控制器(processor)13;基础芯片12上堆叠设置有多个核心芯片(core die)14,核心芯片14可以为DRAM芯片。参考图2,半导体结构中数据传输过程中包括:在写入阶段,控制器13数据传输至基础芯片12,基础芯片12将数据传输至核心芯片14内,控制器13在传输数据之前可以先对数据进行错误校正码编码处理;在读取阶段,核心芯片14将进数据传输至基础芯片12,然后,基础芯片12将数据传输至控制器13,控制器13接收数据并进行错误码校正码译码处理,以对数据进行检错纠错。
不难发现,在上述半导体结构中,基础芯片12并不参与检错纠错处理,即基础芯片12中无错误校正码编码功能以及相应的检错纠错功能,需要控制器13或者核心芯片14来完成检测错,这就导致芯片面积本就紧张的控制器13和核心芯片14的芯片面积更为紧张,因此影响控制器13和核心芯片14的性能,进而导致整个半导体结构的存储性能有待提升。
本公开实施提供一种基础芯片、存储系统以及半导体结构,该基础芯片具有检错纠错功能。图3为本公开实施例提供的基础芯片的第一种结构示意图,图4为本公开实施例提供的基础芯片的第二种结构示意图,图5为本公开实施例提供的基础芯片的第三种结构示意图;图6为本公开实施例提供的基础芯片的第四种结构示意图。
以下将结合附图对本公开实施例提供的基础芯片进行详细说明。
参考图3,基础芯片100应用于存储系统,其中,基础芯片100被配置为,在写入阶段接收第一数据data1以及第一编码数据ecc1,第一编码数据ecc1为对第一数据data1进行第一错误校正码编码处理获得的,并对第一数据data1进行第二错误校正码编码处理以生成第二编码数据ecc2,在写入阶段向存储芯片传输第二数据data2,第二数据data2包括第一数据data1、第一编码数据ecc1以及第二编码数据ecc2;基础芯片100还被配置为,在读取阶段接收来自存储芯片的第二数据data2,并对第一数据data1以及第二编码数据ecc2进行第一检错纠错处理,并在读取阶段传输第三数据data3,第三数据data3包括第一编码数据ecc1以及进行第一检错纠错处理后的第一数据data1。
本公开实施例中,基础芯片100在数据传输过程中参与错误校正码编码处理以及检错纠错处理。具体地,基础芯片100在写入阶段接收第一数据data1和第一编码数据ecc1后,将第一数据data1进行第二错误校正码编码处理得到第二编码数据ecc2,且第一数据data1、第一编码数据ecc1以及第二编码数据ecc2均传输至存储芯片内;在读取阶段,从存储芯片内传输出的第一数据data1、第一编码数据ecc1和第二编码数据ecc2传输至基础芯片100,基础芯片能够对第一数据data1以及第二编码数据ecc2进行第一检错纠错处理,将进行第一检错纠错处理后的第一数据data1传输至控制器,且基础芯片100还将第一编码数据ecc1传输至控制器,以便于控制器对进行第一检错纠错处理后的第一数据data1进行第二次检错纠错处理。也就是说,在存储阶段,基础芯片100能够对第一数据data1进行第一检错纠错处理,即基础芯片100能够分担控制器的编码处理功能以及检错纠错功能,有利于缓解控制器芯片面积紧张的问题,且可充分利用基础芯片100较为充足的芯片面积。另外,由于传输至控制器的第一数据data1已经进行过一次检错纠错处理,使得经由控制器再次进行检错纠错处理后的第一数据data1的准确率得到提升,有利于提升存储系统的RAS性能,即,提升存储系统的可靠性(Reliability)、可用性(Availability)和可服务性(Serviceability)。
此外,基础芯片100和控制器能够对不同数据传输路径进行检错纠错,有利于定位出数据出错的传输路径。
在一些实施例中,基础芯片100可以连接在第一端口A与第二端口B之间,其中,第一端口A与存储系统的控制器的数据传输端口连接,第二端口B与存储系统的存储芯片的数据传输端口连接。可以理解的是,第一端口A和第二端口B为统称,第一端口A包括多个数据传输端口,第二端口B包括多个数据传输端口,其中,数据传输端口的数量与基础芯片100需传输的数据的数量有关,例如,数据传输端口的数量可以与基础芯片100需传输的数据的数量相同,一个数据可以经由一个数据传输端口传输。
错误校正码编码处理以及检错纠错处理均用于实现ECC检错纠错,以发现并定位出第一数据传输过程中出现的错误,并纠正该错误。在一些实施例中,ECC检错纠错可采用里德所罗门码(RS,Reed Solomon Code)的纠错机制,相应的,错误校正码编码处理可以采用RS编码算法以生成编码数据,检错纠错处理中的译码处理可采用RS译码算法。在另一些实施例中,ECC检错纠错可采用汉明码(Hamming Code)的纠错机制,相应的,错误校正码编码处理可以采用汉明码编码算法以生成编码数据,检错纠错处理中的译码处理可采用汉明码译码算法。
在一些实施例中,第一数据data1可以为256比特位(bit)的数据,相应,第一编码数据ecc1可以为16bit的数据。可以理解的是,在另一些实施例中,第一错误校正码编码处理采用的具体编码算法的不同,第一编码数据的比特位数也可以相应不同。此外,第一数据data1的比特位数也可以为其他数量,如128、512等。
在一些实施例中,第一错误校正码编码处理与第二错误校正码编码处理可以采用不同的编码算法进行,第一编码数据ecc1的比特位数与第二编码数据ecc2的比特位数可以不同。相应的,第一检错纠错处理和控制器进行的第二检错纠错处理采用的译码算法也不同。编码算法和相应的译码算法统称为编译算法,这样,采用不同的编译算法进行检错纠错,有利于进一步提高数据纠错的正确率以及提高数据检错纠错能力,且降低基础芯片100识别不同编码数据的难度。举例来说,第一数据data1为256bit数据,第一编码数据ecc1为16bit数据,第二编码数据ecc2为32bit数据。
需要说明的是,在另一些实施例中,第一错误校正码编码处理与第二错误校正码编码处理也可以采用相同的编码算法。此外,第二错误校正码编码处理采用的编码算法与第一检错纠错处理采用的编译算法可以相对应,其中,编译算法包括:第二错误校正码编码处理采用的编码算法,第一检错纠错处理采用的译码算法,即编码算法与译码算法相对应。另外,第一错误校正码编码处理与第二检错纠错处理采用的编译算法也可以相对应。
图4为本公开实施例提供的基础芯片的第二种结构示意图。参考图4,在一些实施例中,基础芯片100可以包括:第二编码模块110,第二编码模块110被配置为,在写入阶段接收第一数据data1并进行第二错误校正码编码处理,以生成第二编码数据ecc2;第一检错纠错模块120,第一检错纠错模块120被配置为,在读取阶段接收第一数据data1以及第二编码数据ecc2并进行第一检错纠错处理。
第二编码模块110连接在控制器的数据传输端口与存储芯片的数据传输端口之间,第一数据data1传输至第二编码模块110。
第一检错纠错模块120连接在控制器的数据传输端口与存储芯片的数据传输端口之间,第一检错纠错模块120对第一数据data1以及第二编码数据ecc2进行第一检错纠错处理。具体地,第一检错纠错模块120可发现的数据出错的路径包括:自第二编码模块110写入至存储芯片的传输路径,自存储芯片读出至第一检错纠错模块120的传输路径。
需要说明的是,本公开实施例中的“第一”、“第二”和“第三”仅是为了描述上区分,对于相应各特征出现的先后并不做特别限定。
以下将结合图4对基础芯片100的工作原理进行详细说明:
在写入阶段,来自控制器的第一数据data1传输至第二编码模块110,第二编码模块110对第一数据data1进行第二错误校正码编码处理,以生成第二编码数据ecc2;然后第一数据data1以及第二编码数据ecc2写入存储芯片中;此外,基础芯片100还将第一编码数据ecc1写入存储芯片中。例如,第一数据data1为256bit,第一编码数据ecc1为16bit,第二编码数据ecc2为32bit,256bit的第一数据data1、16bit的第一编码数据ecc1以及32bit的第二编码数据ecc2均被存入存储芯片中。
在读取阶段,来自存储芯片的第一数据data1以及第二编码数据ecc2被读出且传输至第一检错纠错模块120中,第一检错纠错模块120进行第一检错纠错处理,得到进行第一检错纠错处理后的第一数据data1,该进行第一检错纠错处理后的第一数据data1被传输至控制器中;此外基础芯片100还将第一编码数据ecc1传输至控制器中。例如,256bit+16bit+32bit的数据从存储芯片中被读出,其中256bit的第一数据data1以及32bit的第二编码数据ecc2经由第一检错纠错模块120进行第一检错纠错处理后,输出256bit的进行第一检错纠错处理后的第一数据data1,该256bit的进行第一检错纠错处理后的第一数据data1被传输至控制器内,且16bit的第一编码数据ecc1也经由基础芯片100传输至控制器内,使得控制器能够进行第二检错纠错处理。可以理解的是,控制器进行检错纠错的对象包括:第一编码数据ecc1以及进行第一检错处理后的第一数据data1。
如此,在读取阶段,基础芯片100能够对第一数据data1以及第一编码数据ecc1进行第一检错纠错处理,使得传输回控制器的第一数据data1为进行过第一检错纠错处理后的数据,也就是说,传输回控制器的第一数据data1的正确率得到提升。然后,控制器对进行第一检错纠错处理后的第一数据data1以及第一编码数据ecc1进行第二检错纠错处理,得到进行第二检错纠错处理后的第一数据data1,该进行第二检错纠错处理后的第一数据data1相应也会具有高的正确率。
综上,该基础芯片100有利于提升存储系统的整体数据检错纠错正确率;此外,存储系统中的存储芯片不需要具备编码处理功能和检错纠错功能,且基础芯片100可分担控制器所需的编码处理功能以及检错纠错功能,从而有利于提升控制器和存储芯片的性能,且合理利用基础芯片100的芯片面积,有利于缓解控制器以及存储芯片芯片面积压力,进而有利于提升存储系统的存储性能。
图5为本公开实施例中提供的基础芯片的第三种结构示意图。参考图5,在一些实施例中,基础芯片100还可以包括:第一串并转换(DES,DESerializer)模块130,第一串并转换模块130被配置为,在写入阶段接收第一数据data1以及第一编码数据ecc1,并对第一数据data1以及第一编码数据ecc1进行第一串并转换处理,并将第一串并转换处理后的第一数据传输至第二编码模块,将第一串并转换处理后的第一编码数据传输至存储芯片;第一并串转换(SER,SERlializer)模块140,第一并串转换模块140被配置为,在读取阶段接收第三数据data3并对第三数据data3进行第一并串转换处理,并将第一并串转换处理后的第三数据data3传输至控制器。
第一串并转换模块130以及第一并串转换模块140的设置,可以使得基础芯片100与控制器之间的传输通道的数量减少,增加每个传输通道传输的比特位数量;此外,由于传输通道的数量减少,可以节省基础芯片100以及控制器上所需设置的数据传输端口的数量,从而节省基础芯片100的芯片面积以及控制器的芯片面积。第一数据data1以及第一编码数据ecc1以串行方式传输至第一串并转换模块130,第一串并转换模块130也可称为解串器,即将串行的第一数据data1和第一编码数据ecc1进行解串。第一并串转换模块140将第三数据data3进行行串行处理,并传输串行处理后的第三数据data3,第一并串转换模块140也可称为串行器。
举例来说,第一数据data1为256bit,则第一数据data1采用32个传输通道传输至第一串并转换模块130,第一编码数据ecc1为16bit,则第一编码数据ecc1采用2个传输通道传输至第一串并转换模块130;第一数据data1以及第一编码数据ecc1经由第一串并转换模块130进行解串后,第一数据data1采用256个传输通道并行传输至第二编码模块110,第一编码数据ecc1经由16个传输通道传输至存储芯片。
举例来说,256bit为进行第一检错纠错处理后的第一数据data1,16bit为第一编码数据ecc1,第三数据dtat3经由第一并串转换模块140进行串行处理后可变为32+2串数据,相应的可通过32+2个传输通道传输该32+2串数据,其中,32串数据为进行第一检错纠错处理后的第一数据data1,2串数据为第一编码数据ecc1。
参考图5,在一些实施例中,基础芯片100除包括第一串并转换模块130以及第一并串转换模块140外,还可以包括:第二并串转换模块150,第二并串转换模块150被配置为,在写入阶段接收第二数据data2并进行第二并串转换处理,并将第二并串转换处理后的第二数据data2传输至存储芯片;第二串并转换模块160,第二串并转换模块160被配置为,在读取阶段接收来自存储芯片的第二数据data2并进行第二串并转换处理,并将第二串并转换处理后的第二编码数据以及第一数据传输至第一检错纠错模块,并输出第二串并转化处理后的第一编码数据,该第一编码数据传输至控制器。
第二并串转换模块150对第二数据data2进行串行处理,有利于减少基础芯片100与存储芯片之间的传输通道,从而节省基础芯片100以及存储芯片上所需设置的数据传输端口的数量,进而节省基础芯片100的芯片面积以及存储芯片的芯片面积。举例来说,若第一数据为256bit,第一编码数据ecc1为16bit,第二编码数据为32bit,在经由第二并串转换模块150进行并转串处理后,可采用128+8+16个传输通道传输第二数据data2,其中,128个传输通道传输第一数据data1,8个传输通道传输第一编码数据ecc1,16个传输通道传输第二编码数据ecc2。
另外,在一些实施例中,基础芯片100还可以被配置为,在第一检错纠错处理期间生成第一检错标志信号,且基于第一检错标志信号,记录第一数据data1以及第二编码数据ecc2在传输过程中的出错情况。具体地,若第一数据data1或者第二编码数据ecc2在传输过程中发生了错误,则生成第一检错标志信号;若第一数据data1和第二编码数据ecc2在传输过程中未发生错误,则不生成第一检错标志信号。此外,在一些实施例中,第一检错标志信号可以定义为:若第一数据data1或者第二编码数据ecc2在传输过程中发生错误,则第一检错标志信号为1;若第一数据data1和第二编码数据ecc2在传输过程中未发生错误,则第一检错标志信号为0。在另一些实施例中,第一检错标志信号也可以定位为:若第一数据data1或者第二编码数据ecc2在传输过程中发生错误,则第一检错标志信号为0;若第一数据data1和第二编码数据ecc2在传输过程中未发生错误,则第一检错标志信号为1。
通过第一检错标志信号,可以获取在写入阶段由控制器传输至基础芯片100的数据传输路径中第一数据data1或者第二编码数据ecc2是否出错,且还还可以获取在读取阶段由存储芯片传输至基础芯片的数据传输路径中第一数据data11或者第二编码数据ecc2是否出错。
如图6所示,图6为本公开实施例提供的基础芯片的第四种结构示意图,在一些实施例中,基础芯片100还可以包括:第一存储缓存模块101,第一存储缓存模块101被配置为,存储第一数据data1以及第二编码数据ecc2在传输过程中的出错情况;第一命令模块102,第一命令模块102接收第一轮询指令PS1,并产生第一命令信号CMD1以及第一时钟信号CLK1;第一存储缓存模块101还被配置为,基于第一命令信号CMD1和第一时钟信号CLK1,输出第一表征信号flag1,第一表征信号flag1表征第一数据data1以及第二编码数据ecc2在传输过程中的出错情况。
另外,在未接收到第一轮询指令PS1情况下,第一存储缓存模块101只存储第一数据data1和第二编码数据ecc2在传输过程中的出错情况;第一命令模块102在接收到第一轮询指令PS1后,控制第一存储缓存模块101输出表征第一数据data1或者第二编码数据ecc2在传输过程中的出错情况的第一表征信号flag1。基于该第一表征信号flag1,可以获知第一数据data1以及第二编码数据ecc2的出错情况。
在一些实施例中,第一表征信号flag1可以为二进制的数串,例如,若检测到第一数据data1或者第二编码数据ecc2在传输过程中出错则记录1,若未检测到第一数据data1和第二编码数据ecc2在传输过程中出错则记录0,如此,在一段时间后,第一表征信号flag1为0和1构成的二进制的数串。在另一些实施例中,第一表征信号flag1也可以为十进制的数值,例如,第一存储缓存模块101可以为计数器,若检测到第一数据data1或者第二编码数据ecc2在传输过程中出错则加1,如此,在一段时间后,第一表征信号flag1为与出错的次数相关的十进制数值。
在一些实施例中,第一存储缓存模块101可以为先入先出型(FIFO,First InputFirst Output)寄存器(register)。采用先入先出型寄存器作为第一存储缓存模块101,可以对连续的数据流进行缓存,防止在存储操作时丢失数据;此外,第一数据data11以及第二编码数据ecc2在传输过程中的出错情况被集中起来进行进栈和存储,可避免频繁的总线操作,且有利于提高数据传输速度。
此外,在一些实施例中,第一时钟信号CLK1可以是第一命令模块102独立产生的;在另一些实施例中,第一时钟信号CLK1也可以是外部提供的,如可以是产生第一轮询指令PS1的控制器产生的。
上述实施例提供的基础芯片100不仅具有数据传输的功能,还具有错误校正码编码处理以及检错纠错处理的功能,如此,基础芯片100的芯片面积可以得到有效利用,减轻控制器和存储芯片的芯片面积压力,节约控制器和存储芯片的芯片面积。
并且,由于基础芯片100可以对第一数据data1进行第二错误校正码编码处理,以得到第二编码数据ecc2,且能够将第二编码数据ecc2、第一编码数据ecc1以及第一数据data1传输至存储芯片中,便于读取阶段基于该第二编码数据ecc2对第一数据data1进行第一检错纠错处理,因此能够发现第一数据data1以及第二编码数据ecc2在写入阶段或者读取阶段中是否发生错误并纠正错误,且第一编码数据ecc1以及进行第一检错纠错处理后的第一数据data1能够传输至控制器中,以便于控制器再次进行检错纠错处理,从而提高存储系统进行检错纠错的能力,提升数据检错纠错正确率。
本公开另一实施例还提供一种存储系统,该存储系统包括控制器、存储芯片以及如前述实施例提供的基础芯片。以下将结合附图对本公开另一实施例提供的存储系统进行详细说明,需要说明的是,与前述实施例相同或者相应的部分,可参考前述实施例的详细说明,以下将不做赘述。
图7为本公开实施例提供的存储系统的第一种结构示意图。
参考图7,存储系统包括:基础芯片200、控制器300以及存储芯片400;控制器被配置为,在写入阶段对第一数据data1进行第一错误校正码编码处理,以生成第一编码数据ecc1,并向基础芯片200传输第一数据data1以及第一编码数据ecc1;基础芯片200被配置为,在写入阶段接收第一数据data1以及第一编码数据ecc1,并对第一数据data1进行第二错误校正码编码处理以生成第二编码数据ecc2,在写入阶段向存储芯片400传输第二数据data2,第二数据data2包括第一数据data1、第一编码数据ecc1以及第二编码数据ecc2,在读取阶段接收来自存储芯片400的第二数据data2,并对第一数据data1以及第二编码数据ecc2进行第一检错纠错处理,并在读取阶段向控制器传输第三数据data3,第三数据data3包括第一编码数据ecc1以及进行第一检错纠错处理后的第一数据data1;存储芯片400被配置为,在写入阶段接收第二数据data2并存储第二数据data2,并在读取阶段向基础芯片200传输第二数据data2;控制器300还被配置为,在读取阶段接收来自基础芯片200的第三数据data3,对第三数据data3进行第二检错纠错处理,获得第二检错纠错处理后的第一数据data1。
在上述存储系统中,对数据进行的错误校正码编码处理以及检错纠错处理均可由基础芯片200来实现,由此,存储芯片400无需进行编码处理以及检错纠错处理,且基础芯片200可分担控制器300所需的编码处理以及检错纠错处理,从而使得控制器300以及存储芯片400所需具备的功能相对减少,因此能够缓解控制器300以及存储芯片400的芯片面积紧张的压力,以便于能够更好提升控制器300以及存储芯片400的性能,例如可改善存储芯片400的可靠度,从而提升存储系统的存储性能。并且,基础芯片200能够对第一数据data1进行第一检错纠错处理,且控制器300能够对进行第一检错纠错处理后的第一数据data1进行第二检错纠错处理,有利于提升数据检错纠错正确率。
基础芯片200和控制器300均能够对第一数据data1进行检错纠错处理,有利于提升存储系统的数据检错纠错能力。
在一些实施例中,存储系统可以为DRAM存储系统,例如为DDR(double data rate)4DRAM存储系统、DDR5 DRAM存储系统。在另一些实施例中,存储系统也可以为SRAM(StaticRandom-Access Memory)存储系统、NAND存储系统、NOR存储系统、FeRAM存储系统或者PcRAM存储系统。
控制器300可以包括:第一编码模块301,第一编码模块301被配置为,在写入阶段对第一数据data1进行第一错误校正码编码处理,以生成第一编码数据ecc1;第二检错纠错模块302,第二检错纠错模块302被配置为,在读取阶段接收第三数据data3,并对第三数据data3进行第二检错纠错处理。
基础芯片200在存储系统中可提供用于传输数据的高速接口,此外,基础芯片200还用于管理控制存储芯片400。在一些实施例中,基础芯片200可用于对存储芯片400进行温度监控和温度管理,还可用于对存储芯片400进行存储器内建自测试(Memory Build-In-Self Test,MBIST)和自我修复。此外,基础芯片200还用于对传输的数据进行检错纠错。
图8为本公开实施例提供的存储系统的第二种结构示意图。参考图8,在一些实施例中,基础芯片200可以包括:第二编码模块210,第二编码模块210被配置为,在写入阶段接收第一数据data1并进行第二错误校正码编码处理,以生成第二编码数据ecc2;第一检错纠错模块220,第二检错纠错模块220被配置为,在读取阶段接收第一数据data1以及第二编码数据ecc2并进行第一检错纠错处理。
有关存储系统的工作原理,可参考前述实施例的相应描述,在此不再赘述。可以理解的是,控制器300能够对进行第一检错纠错处理后的第一数据data1进行第二检错纠错处理。
第一错误校正码编码处理以及第二检错纠错处理采用第一编译算法进行,第二错误校正码编码处理以及第一检错纠错处理采用第二编译算法进行。在一些实施例中,第一编译算法与第二编译算法可以不同。采用不同的编译算法对数据进行检错纠错,有利于进一步提高对数据检错纠错的正确率。
具体地,第二编码模块210与第一编码模块301采用的编码算法可以不同,第一检错纠错模块220与第二检错纠错模块302采用的译码算法可以不同。
需要说明的是,在另一些实施例中,第一编译算法与第二编译算法也可以相同。
参考图8,存储芯片400可以包括:第一存储模块410,第一存储模块410用于存储第一数据data1;第二存储模块420,第二存储模块420用于存储第一编码数据ecc1;第三存储模块430,第三存储模块430用于存储第二编码数据ecc3。举例来说,第一存储模块410可以存储256bit的第一数据data1,第二存储模块420可以存储16bit的第一编码数据ecc1,第三存储模块430存储16bit的第二编码数据ecc2。
可以理解的是,控制器300与基础芯片200之间的数据传输通道的数量为M,基础芯片200与存储芯片400之间的数据传输通道的数量为N,M和N均为大于1的正整数,且N大于M。这是由于,基础芯片200与存储芯片400之间除需传输第一数据data1和第一编码数据ecc1外,还需要传输第二编码数据ecc2。
图9为本公开实施例提供的存储系统的第三种结构示意图。参考图9,在一些实施例中,存储系统还可以包括:第一串并转换模块230,第一串并转换模块230被配置为,在写入阶段接收第一数据data1以及第一编码数据ecc1,并对第一数据data1以及第一编码数据ecc1进行第一串并转换处理,并将第一串并转换处理后的第一数据data1传输至第二编码模块210,将第一串并转换处理后的第一编码数据ecc1传输至存储芯片400;第一并串转换模块240,第一并串转换模块240被配置为,在读取阶段接收第三数据data3并对第三数据data3进行第一并串转换处理,并将第一并串转换处理后的第三数据data3传输至控制器300。
具体地,第一串并转换模块230连接在控制器300的数据传输端口与第二编码模块210的数据传输端口之间。如此,控制器300与基础芯片200之间的传输通道的数量可以比第一数据data1以及第一编码数据ecc1的比特位数总和少,从而节约控制器300与基础芯片200之间的传输通道数量,可以节省基础芯片200以及控制器300上所需设置的数据传输端口的数量,有利于降低控制器300与基础芯片200之间的电连接结构的复杂度,节省控制器300以及基础芯片200的芯片面积。
参考图9,基础芯片200还可以包括:第二并串转换模块250,第二并串转换模块250被配置为,在写入阶段接收来自第二编码模块210的第二数据data2并进行第二并串转换处理,并将第二并串转换处理后的第二数据data2传输至存储芯片400;第二串并转换模块260,第二串并转换模块260被配置为,在读取阶段接收来自存储芯片400的第二数据data2并进行第二串并转换处理,并将第二串并转换处理后的第二编码数据ecc2以及第一数据data1传输至第一检错纠错模块220,并输出第二串并转化处理后的第一编码数据ecc1。
如此,存储芯片400与基础芯片200之间的传输通道的数量可以比第一数据data1、第一编码数据ecc1以及第二编码数据ecc2的比特位数总和少,从而节约存储芯片400与基础芯片200之间的传输通道数量,有利于减少节省基础芯片200以及存储芯片400上所需设置的数据传输端口的数量,有利于降低存储芯片400与基础芯片200之间的电连接结构的复杂度,节省存储芯片400以及基础芯片200的芯片面积。
有关第一串并转换模块230、第一并串转换模块240、第二并串转换模块250以及第二串并转换模块260的详细说明,可参考前述实施例的相应描述,在此不再赘述。
参考图10,图10为在图8基础的结构示意图,在一些实施例中,基础芯片200还被配置为,在第一检错纠错处理期间生成第一检错标志信号,且基于第一检错标志信号,且基于所述第一检错标志信号,记录第一数据data1以及第二编码数据ecc2在传输过程中的出错情况;存储系统还包括:第一寄存器501,第一寄存器501被配置为,存储第一数据data1以及第二编码数据ecc2在传输过程中的出错情况。
具体地,参考图10,基础芯片200可以包括:第一存储缓存模块201,第一存储缓存模块201被配置为,存储第一数据data1以及第二编码数据ecc2在传输过程中的出错情况;第一命令模块202,第一命令模块202接收第一轮询指令PS1,并产生第一命令信号CMD1以及第一时钟信号CLK1;第一存储缓存模块201还被配置为,基于第一命令信号CMD1和第一时钟信号CLK1,向第一寄存器501输出第一表征信号flag1,第一表征信号flag1表征第一数据data1以及第二编码数据ecc2在传输过程中的出错情况。
在一些实施例中,控制器300还可以被配置为,向第一命令模块202发出第一轮询指令PS1,即,控制器300定时发出询问,以控制第一存储缓存模块201向第一寄存器501输出第一表征信号flag1。可以理解的是,在其他实施例中,第一轮询指令也可以由外部电路提供。
参考图10,在一些实施例中,控制器300还可以被配置为,在第二检错纠错处理期间生成第二检错标志信号,且基于第二检错标志信号,记录第一数据data1以及第一编码数据ecc1在传输过程中的出错情况;存储系统还可以包括:第二寄存器502,第二寄存器502被配置为,存储第一数据data1以及第一编码数据ecc1在传输过程中的出错情况。需要说明的是,控制器300进行第二检错纠错处理的第一数据data1中的第一数据data1,指的是进行过第一检错纠错处理后的第一数据data1。
参考图10,在一些实施例中,控制器300还可以包括:第二存储缓存模块271,第二存储缓存模块271被配置为,存储第一数据data1以及第一编码数据ecc1在传输过程中的出错情况;第二命令模块281,第二命令模块281接收第二轮询指令PS2,并产生第二命令信号CMD2以及第二时钟信号CLK2;第二存储缓存模块271还被配置为,基于第二命令信号CMD2和第二时钟信号CLK2,向第二寄存器502输出第二表征信号flag2,第二表征信号flag2表征第一数据data1以及第一编码数据ecc1在传输过程中出错的情况。
可以理解的是,第一寄存器501以及第二寄存器502可以为同一寄存器。
上述实施例提供的存储系统,基础芯片200可实现检错纠错功能,相应的,存储芯片400无需具备检错纠错功能,且基础芯片200可分担控制器300原本所承担的检错纠错功能,因此有利于节约控制器300和存储芯片400的空间面积,使得存储芯片400的存储性能得到提升,从而改善存储系统的存储性能。同时,基础芯片200和控制器300均能够对第一数据data1进行检错纠错处理,部分第一数据data1经由两次检错纠错处理,因此存储系统的数据检错纠错正确率高,且有利于提升存储系统的RAS性能,即提升存储系统的可靠性(Reliability)、可用性(Availability)和可服务性(Serviceability)。
此外,第一检错纠错模块220和第二检错纠错模块302的设置,使得能够在不同数据传输路径上进行检错纠错,提高存储系统的检错纠错能力,且有利于定位出具体发生错误的数据传输路径。
相应的,本公开实施例还提供一种半导体结构,该半导体结构可以包括上述实施例提供的存储系统。以下将结合附图对本公开实施例提供的半导体结构进行详细说明,需要说明的是,与前述实施例相同或者相应的部分,可参考前述实施例的详细说明,以下将不做赘述。
图11为本公开实施例提供的半导体结构的剖面结构示意图。
参考图11,半导体结构包括:承载基板600;前述实施例提供的存储系统,且控制器300以及基础芯片200均位于承载基板600表面,存储芯片400位于基础芯片200远离承载基板600的表面。
其中,半导体结构可以包括多个依次堆叠设置的存储芯片400。该半导体结构可以为DARM器件、SRAM器件等存储器。
在一些实施例中,承载基板600可以为PCB(Printed Circuit Board)电路板。有关存储系统的详细说明,可参考前述实施例,在此不再赘述。
该半导体结构为可以为2.5D(dimensions)器件,即该半导体结构为堆叠结构,有利于节约水平方向的尺寸,且利用半导体结构中的基础芯片200实现ECC检错纠错功能,有利于提升半导体结构的性能。
本领域的普通技术人员可以理解,上述各实施方式是实现本公开的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本公开的精神和范围。任何本领域技术人员,在不脱离本公开的精神和范围内,均可作各自更动与修改,因此本公开的保护范围应当以权利要求限定的范围为准。
Claims (20)
1.一种基础芯片,应用于存储系统,其特征在于,包括:
所述基础芯片被配置为,在写入阶段接收第一数据以及第一编码数据,所述第一编码数据为对所述第一数据进行第一错误校正码编码处理获得的,并对所述第一数据进行第二错误校正码编码处理以生成第二编码数据,在所述写入阶段向存储芯片传输第二数据,所述第二数据包括所述第一数据、所述第一编码数据以及所述第二编码数据;
所述基础芯片还被配置为,在读取阶段接收来自所述存储芯片的所述第二数据,并对所述第一数据以及所述第二编码数据进行第一检错纠错处理,并在所述读取阶段传输第三数据,所述第三数据包括所述第一编码数据以及进行所述第一检错纠错处理后的所述第一数据。
2.如权利要求1所述的基础芯片,其特征在于,所述基础芯片包括:
第二编码模块,所述第二编码模块被配置为,在所述写入阶段接收所述第一数据并进行所述第二错误校正码编码处理,以生成所述第二编码数据;
第一检错纠错模块,所述第一检错纠错模块被配置为,在所述读取阶段接收所述第一数据以及所述第二编码数据并进行所述第一检错纠错处理。
3.如权利要求2所述的基础芯片,其特征在于,所述基础芯片还包括:
第一串并转换模块,所述第一串并转换模块被配置为,在写入阶段接收所述第一数据以及所述第一编码数据,并对所述第一数据以及所述第一编码数据进行第一串并转换处理,并将所述第一串并转换处理后的所述第一数据传输至所述第二编码模块,将所述第一串并转换处理后的所述第一编码数据传输至所述存储芯片;
第一并串转换模块,所述第一并串转换模块被配置为,在读取阶段接收所述第三数据并对所述第三数据进行第一并串转换处理,并将所述第一并串转换处理后的所述第三数据传输至控制器。
4.如权利要求3所述的基础芯片,其特征在于,所述基础芯片还包括:
第二并串转换模块,所述第二并串转换模块被配置为,在写入阶段接收所述第二数据并进行第二并串转换处理,并将所述第二并串转换处理后的所述第二数据传输至所述存储芯片;
第二串并转换模块,所述第二串并转换模块被配置为,在读取阶段接收来自所述存储芯片的所述第二数据并进行第二串并转换处理,并将所述第二串并转换处理后的所述第二编码数据以及所述第一数据传输至所述第一检错纠错模块,并输出所述第二串并转化处理后的所述第一编码数据。
5.如权利要求1所述的基础芯片,其特征在于,所述基础芯片还被配置为,在所述第一检错纠错处理期间生成第一检错标志信号,且基于所述第一检错标志信号,记录所述第一数据以及所述第二编码数据在传输过程中的出错情况。
6.如权利要求5所述的基础芯片,其特征在于,所述基础芯片还包括:
第一存储缓存模块,所述第一存储缓存模块被配置为,存储所述第一数据以及所述第二编码数据在传输过程中的出错情况;
第一命令模块,所述第一命令模块接收轮询指令,并产生第一命令信号以及第一时钟信号;所述第一存储缓存模块还被配置为,基于所述第一命令信号和所述第一时钟信号,输出第一表征信号,所述第一表征信号表征所述第一数据以及所述第二编码数据在传输过程中的出错情况。
7.如权利要求6所述的基础芯片,其特征在于,所述第一存储缓存模块包括先入先出型寄存器。
8.如权利要求1所述的基础芯片,其特征在于,所述第一错误校正码编码处理与所述第二错误校正码编码处理采用不同的编码算法进行。
9.如权利要求8所述的基础芯片,其特征在于,所述第一编码数据的比特位数与所述第二编码数据的比特位数不同。
10.一种存储系统,其特征在于,包括控制器、基础芯片以及存储芯片,还包括:
所述控制器被配置为,在写入阶段对第一数据进行第一错误校正码编码处理,以生成第一编码数据,并向所述基础芯片传输第一数据以及所述第一编码数据;
所述基础芯片被配置为,在写入阶段接收所述第一数据以及所述第一编码数据,并对所述第一数据进行第二错误校正码编码处理以生成第二编码数据,在所述写入阶段向所述存储芯片传输第二数据,所述第二数据包括所述第一数据、所述第一编码数据以及所述第二编码数据,在读取阶段接收来自所述存储芯片的所述第二数据,并对所述第一数据以及所述第二编码数据进行第一检错纠错处理,并在所述读取阶段向所述控制器传输第三数据,所述第三数据包括所述第一编码数据以及进行所述第一检错纠错处理后的所述第一数据;
所述存储芯片被配置为,在所述写入阶段接收所述第二数据并存储所述第二数据,并在所述读取阶段向所述基础芯片传输所述第二数据;
所述控制器还被配置为,在所述读取阶段接收来自所述基础芯片的所述第三数据,对所述第三数据进行第二检错纠错处理,获得所述第二检错纠错处理后的所述第一数据。
11.如权利要求10所述的存储系统,其特征在于,所述控制器包括:
第一编码模块,所述第一编码模块被配置为,在所述写入阶段对所述第一数据进行所述第一错误校正码编码处理,以生成所述第一编码数据;
第二检错纠错模块,所述第二检错纠错模块被配置为,在所述读取阶段接收所述第三数据,并对所述第三数据进行所述第二检错纠错处理。
12.如权利要求10所述的存储系统,其特征在于,所述基础芯片包括:
第二编码模块,所述第二编码模块被配置为,在所述写入阶段接收所述第一数据并进行所述第二错误校正码编码处理,以生成所述第二编码数据;
第一检错纠错模块,所述第一检错纠错模块被配置为,在所述读取阶段接收所述第一数据以及所述第二编码数据并进行所述第一检错纠错处理。
13.如权利要求10所述的存储系统,其特征在于,所述控制器与所述基础芯片之间的数据传输通道的数量为M,所述基础芯片与所述存储芯片之间的数据传输通道的数量为N;其中,M和N均为大于1的正整数,且N大于M。
14.如权利要求10所述的存储系统,其特征在于,所述存储芯片包括:
第一存储模块,所述第一存储模块用于存储所述第一数据;
第二存储模块,所述第二存储模块用于存储所述第一编码数据;
第三存储模块,所述第三存储模块用于存储所述第二编码数据。
15.如权利要求10所述的存储系统,其特征在于,所述第一错误校正码编码处理以及所述第二检错纠错处理采用第一编译算法进行,所述第二错误校正码编码处理以及所述第一检错纠错处理采用第二编译算法进行,所述第一编译算法与所述第二编译算法不同。
16.如权利要求10所述的存储系统,其特征在于,所述基础芯片还被配置为,在所述第一检错纠错处理期间生成第一检错标志信号,且基于所述第一检错标志信号,记录所述第一数据以及所述第二编码数据在传输过程中的出错情况;所述存储系统还包括:
第一寄存器,所述第一寄存器被配置为,存储所述第一数据以及所述第二编码数据在传输过程中的出错情况。
17.如权利要求16所述的存储系统,其特征在于,所述基础芯片包括:
第一存储缓存模块,所述第一存储缓存模块被配置为,存储所述第一数据以及所述第二编码数据在传输过程中的出错情况;
第一命令模块,所述第一命令模块接收第一轮询指令,并产生第一命令信号以及第一时钟信号;
所述第一存储缓存模块还被配置为,基于所述第一命令信号和所述第一时钟信号,向所述第一寄存器输出第一表征信号,所述第一表征信号表征所述第一数据以及所述第二编码数据在传输过程中的出错情况。
18.如权利要求10所述的存储系统,其特征在于,所述控制器还被配置为,在所述第二检错纠错处理期间生成第二检错标志信号,且基于所述第二检错标志信号,记录所述第一数据以及所述第一编码数据在传输过程中的出错情况;所述存储系统还包括:
第二寄存器,所述第二寄存器被配置为,存储所述第一数据以及所述第一编码数据在传输过程中的出错情况。
19.如权利要求18所述的存储系统,其特征在于,所述控制器包括:
第二存储缓存模块,所述第二存储缓存模块被配置为,存储所第一数据以及所述第一编码数据在传输过程中的出错情况;
第二命令模块,所述第二命令模块接收第二轮询指令,并产生第二命令信号以及第二时钟信号;
所述第二存储缓存模块还被配置为,基于所述第二命令信号和所述第二时钟信号,向所述第二寄存器输出第二表征信号,所述第二表征信号表征所述第一数据以及所述第一编码数据在传输过程中出错的情况。
20.一种半导体结构,其特征在于,包括:
承载基板;
如权利要求10-19任一项所述的存储系统,且所述控制器以及所述基础芯片均位于所述承载基板表面,且所述存储芯片位于所述基础芯片远离所述承载基板的表面。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111272427.3A CN116072200A (zh) | 2021-10-29 | 2021-10-29 | 基础芯片、存储系统以及半导体结构 |
US17/661,559 US11847344B2 (en) | 2021-10-29 | 2022-05-01 | Base die, memory system, and semiconductor structure |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111272427.3A CN116072200A (zh) | 2021-10-29 | 2021-10-29 | 基础芯片、存储系统以及半导体结构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116072200A true CN116072200A (zh) | 2023-05-05 |
Family
ID=86146716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111272427.3A Pending CN116072200A (zh) | 2021-10-29 | 2021-10-29 | 基础芯片、存储系统以及半导体结构 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11847344B2 (zh) |
CN (1) | CN116072200A (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010009141A (ja) * | 2008-06-24 | 2010-01-14 | Toshiba Corp | データ転送方法 |
KR20190132238A (ko) * | 2018-05-18 | 2019-11-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US11005501B2 (en) * | 2019-02-19 | 2021-05-11 | Micron Technology, Inc. | Error correction on a memory device |
KR20210078201A (ko) | 2019-12-18 | 2021-06-28 | 삼성전자주식회사 | 반도체 메모리 장치 및 메모리 시스템 |
-
2021
- 2021-10-29 CN CN202111272427.3A patent/CN116072200A/zh active Pending
-
2022
- 2022-05-01 US US17/661,559 patent/US11847344B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20230135245A1 (en) | 2023-05-04 |
US11847344B2 (en) | 2023-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8826101B2 (en) | Memory system and method using a memory device die stacked with a logic die using data encoding, and system using the memory system | |
US8495328B2 (en) | Providing frame start indication in a memory system having indeterminate read data latency | |
US20120239996A1 (en) | Memory controller, information processing apparatus and method of controlling memory controller | |
KR20150084244A (ko) | 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법 | |
US20150026509A1 (en) | Storage device having a data stream converter | |
US10992322B2 (en) | Data storage system and associated method for saving storage space and eliminating data errors | |
KR20160068369A (ko) | 패리티 체크 회로 및 이를 포함하는 메모리 장치 | |
US12013756B2 (en) | Method and memory system for writing data to dram submodules based on the data traffic demand | |
US20060282578A1 (en) | Semiconductor memory device capable of checking a redundancy code and memory system and computer system having the same | |
US8024642B2 (en) | System and method for providing constrained transmission and storage in a random access memory | |
KR20200052842A (ko) | 메모리 시스템, 메모리 모듈 및 메모리 시스템의 동작 방법 | |
KR20140109206A (ko) | 패리티 체크를 수행하는 반도체 메모리 장치, 메모리 시스템 및 반도체 메모리 장치의 동작방법 | |
CN116072200A (zh) | 基础芯片、存储系统以及半导体结构 | |
CN116092566A (zh) | 基础芯片、存储系统以及半导体结构 | |
CN116072204A (zh) | 基础芯片、存储系统以及半导体结构 | |
CN116069546A (zh) | 基础芯片、存储系统以及半导体结构 | |
US20060095826A1 (en) | Semiconductor memory chip, semiconductor memory module and method for transmitting write data to semiconductor memory chips | |
US11978525B2 (en) | Base die, memory system, and semiconductor structure | |
CN116092565A (zh) | 基础芯片、存储系统以及半导体结构 | |
US12026050B2 (en) | DDR DIMM, memory system and operation method thereof | |
US20230032148A1 (en) | Semiconductor memory apparatus and semiconductor memory system | |
US20230259422A1 (en) | Memory system including data-width aware encoder and data-width aware decoder and operating method thereof | |
KR0122759B1 (ko) | 패리티 저장용 디램 에뮬레이션 회로 | |
JPH0534703B2 (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 |