掌桥专利:专业的专利平台
掌桥专利
首页

数据处理电路、方法及半导体存储器

文献发布时间:2023-06-19 16:11:11



技术领域

本申请涉及存储技术领域,尤其涉及一种数据处理电路、方法及半导体存储器。

背景技术

随着半导体存储技术的飞速发展,半导体存储器的集成度、以及写入数据和读出数据的可靠性等问题成为了半导体存储技术的研究方向之一。

现阶段,在缩小半导体存储器尺寸的发展过程中,缺少一种能够有效保证数据读写可靠性的技术方案。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

发明内容

本申请提供一种数据处理电路、方法及半导体存储器,至少在一定程度上克服相关技术中无法兼顾半导体存储器尺寸和数据读写可靠性的问题。

本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。

根据本申请的一个方面,提供了一种数据处理电路,包括:

数据选择模块,用于在接收到的写控制命令为第一电平状态时,接收写入数据以及输出写入数据;在接收到的读控制命令为第一电平状态时,接收读出数据以及输出读出数据;

校验模块,用于接收写入数据或读出数据;对写入数据或读出数据进行校验处理,获得写入校验数据或读出校验数据;以及输出写入校验数据或读出校验数据;

数据输出模块,用于接收写入校验数据或读出校验数据;在写控制命令为第一电平状态时输出写入校验数据;在读控制命令为第一电平状态时输出读出校验数据。

根据本申请的另一个方面,提供一种数据处理方法,应用于上述数据处理电路,包括:

数据选择模块在接收到的写控制命令为第一电平状态时,接收写入数据以及输出写入数据;以及在接收到的读控制命令为第一电平状态时,接收读出数据以及输出读出数据;

校验模块接收写入数据或读出数据,对写入数据或读出数据进行校验处理,获得写入校验数据或读出校验数据,以及输出写入校验数据或读出校验数据;

数据输出模块接收写入校验数据或读出校验数据,在写控制命令为第一电平状态时输出写入校验数据,在读控制命令为第一电平状态时输出读出校验数据。

根据本申请的又一个方面,提供一种半导体存储器,包括:

上述的数据处理电路;

半导体存储单元阵列。

本申请实施例所提供的数据处理电路、方法及半导体存储器,可以在写控制命令为第一电平状态时,通过数据选择模块接收写入数据之后,可以将其发送至校验模块进行校验处理,以及将校验处理得到的写入校验数据利用数据输出模块进行输出;或者在读控制命令为第一电平状态时,通过数据选择模块接收读出数据之后可以利用校验模块对其进行校验处理,以及将校验处理得到的读出校验数据通过数据输出模块输出。由于无需利用不同的数据处理电路分别对写入数据和读出数据进行处理,仅通过一个数据处理电路可以根据写控制命令和读控制命令选择写入数据或读出数据进行校验处理、且该数据处理电路生成用于对写入数据进行正确性校验的写入校验数据或生成用于对读出数据进行正确性校验的读出校验数据,从而在兼顾半导体存储器尺寸的同时保证了数据读写的可靠性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出本申请实施例中一种数据处理电路的结构示意图;

图2示出了本申请实施例提供的一种示例性的数据传输过程的示意图;

图3示出了本申请实施例提供的另一种数据处理电路的结构示意图;

图4示出了本申请实施例提供的一种数据选择子模块的结构示意图;

图5示出了本申请实施例提供的一种示例性的数据选择子模块的结构示意图;

图6A示出了数据选择模块用于传输写入数据时的逻辑示意图;

图6B示出了数据选择模块用于传输读出数据时的逻辑示意图;

图7示出了本申请实施例提供的又一种数据处理电路的结构示意图;

图8示出了本申请实施例提供的一种示例性的数据处理电路的结构示意图;

图9A示出了数据输出模块用于输出写入校验数据时的逻辑示意图;

图9B示出了数据输出模块用于输出读出校验数据时的逻辑示意图;

图10示出本申请实施例中再一种数据处理电路的结构示意图;

图11示出了读写命令的格式示意图;

图12示出了本申请实施例提供的再一种数据处理电路的结构示意图;

图13示出了本申请实施例提供的再一种数据处理电路的结构示意图;

图14示出了本申请实施例提供的一种顺序调整子单元的结构示意图;

图15示出了本申请实施例提供的一种顺序调整单元的结构示意图;

图16示出了本申请实施例提供的一种示例性的顺序调整模块的结构示意图;

图17示出了本申请实施例提供的一种示例性的顺序调整电路所涉及的信号及数据的示意图;

图18示出了本申请实施例提供的再一种数据处理电路的结构示意图;

图19示出本申请实施例中一种数据处理方法的流程示意图;和

图20示出了本申请实施例提供的半导体存储器的结构示意图。

附图标记说明如下:

数据选择模块10;数据选择子模块11;写入数据选择单元111;写入数据控制端1111;写入数据输入端1112、写入数据输出端1113;读出数据选择单元112;读出数据控制端1121;读出数据输入端1122;读出数据输出端1123;信号输出单元113;第一输入端1131;第二输入端1132;输出端1133;

校验模块20;

数据输出模块30;第一输出子模块31;写控制端311;第一校验数据输入端312;写入校验数据输出端313;第二输出子模块32;读控制端321;第二校验数据输入端322;读出校验数据输出端323;

顺序调整模块40;顺序调整子模块41;数据输入端411;第一输出端412;第二输出端413;数据处理单元414;输入端4141;第一输出端4142;第二输出端4143;控制端4144;顺序调整单元415;第一输入端4151;第二输入端4152;第一输出端4153;第二输出端4154;第一控制端4155;第二控制端4156;数据选择子单元4157;第一输入端4157A;第二输入端4157B;第一输出端4157C;第二输出端4157C;第一输出子单元4158;输入端4158A;控制端4158B;输出端4158C;第二输出子单元4159;输入端4159A;控制端4159B;输出端4159C。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。

此外,附图仅为本申请的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

应当理解,本申请的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请的范围在此方面不受限制。

需要注意,本申请中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。

需要注意,本申请中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。

在本申请的描述中,需要说明的是,除非另有说明,“多个”的含义是两个以上;术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方位或位置关系仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。“垂直”并不是严格意义上的垂直,而是在误差允许范围之内。“平行”并不是严格意义上的平行,而是在误差允许范围之内。

下述描述中出现的方位词均为图中示出的方向,并不是对本申请的具体结构进行限定。在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可视具体情况理解上述术语在本申请中的具体含义。

现阶段,在诸如动态随机存取存储器(Dynamic Random Access Memory,DRAM)等半导体存储器的发展过程中,往往朝着提高半导体存储器集成度的方向发展。

然而,在该发展过程中,如何在兼顾存储器电路占用面积的同时有效提高读写数据的可靠性成了亟待解决的问题之一。

发明人通过研究发现,读出数据和写入数据的可靠性可能会因为数据读出过程和数据写入过程中的存储错误,或者存储阵列和存储控制器之间的链路错误等原因受到影响。

基于此,本申请实施例提供了一种数据处理电路、方法和半导体存储器,无需利用不同的数据处理电路分别对写入数据和读出数据进行处理,仅通过一个数据处理电路即可根据写控制命令和读控制命令,对写入数据或读出数据分别进行校验处理、且生成用于对写入数据进行正确性校验的写入校验数据或生成用于对读出数据进行正确性校验的读出校验数据,从而在兼顾半导体存储器尺寸的同时保证了数据读写的可靠性。

在本申请的一些实施例中,数据处理电路还可以包括顺序调整模块,顺序调整模块还可以根据顺序调整控制信号,在读出数据或者写入数据输入顺序调整模块之前,对写入数据或读出数据执行数据传输顺序调整操作,将其调整至正确传输顺序后输入至校验模块,保证了输入至校验模块的写入数据或读出数据的正确性,进而可以提高所输出的写入校验数据或读出校验数据的正确性,从而可以进一步提高数据读写的可靠性。

在开始介绍本申请实施例提供的技术方案之前,接下来先对本申请实施例涉及的技术术语展开说明。

写入数据,其可以是指待写入至半导体存储器的存储单元阵列的数据。

读出数据,其可以是指需要从半导体存储器的存储单元阵列中读出至外部的数据。

写控制命令,或称为写命令或写控制信号,其可以是用于指示半导体存储器写入数据的信号。示例性地,写控制命令可以是一个电平信号,当写控制命令处于第一电平状态时,可以控制半导体存储器写入数据,以及,当写控制命令处于第四电平状态时,可以控制半导体存储器停止写入数据。其中,第一电平状态和第四电平状态中的一者为高电平,另一者为低电平。

读控制命令,或称为读命令或读控制信号,其可以是用于指示半导体存储器读出数据的信号。其中,读控制命令和写控制命令的控制方式相同,可以参见上述部分对写控制命令的相关说明,在此不再赘述。

在介绍了上述概念之后,下面结合附图及实施例对本示例实施方式进行详细说明。

本申请实施例中提供了数据处理电路,接下来将通过图1-图18对此进行说明。

图1示出本申请实施例中一种数据处理电路的结构示意图。如图1所示,本申请实施例中提供的数据处理电路可以包括数据选择模块10、校验模块20和数据输出模块30。其中,校验模块20分别连接数据选择模块10和数据输出模块30。

接下来将依次对数据选择模块10、校验模块20和数据输出模块30进行说明。

对于数据选择模块10,其可以用于接收写入数据,并在接收到的写控制命令为第一电平状态时,输出写入数据;或者接收读出数据,并在接收到的读控制命令为第一电平状态时,输出读出数据。

对于第一电平状态,其可以是控制数据选择模块10接收相应数据(写入数据或读出数据)的电平。示例性地,第一电平状态可以是高电平状态或者低电平状态。比如,若第一电平状态为高电平状态,则在写控制命令为高电平时,数据选择模块10选择接收写入数据并将其传输至校验模块20。以及,在读控制命令为第一电平状态时,数据选择模块10选择接收读出数据并将其传输至校验模块20。

对于读控制命令和写控制命令,在一个示例中,半导体存储器的读操作和写操作可以不是同时进行的,相应地,读控制命令和写控制命令可以是互斥的信号。

比如,在执行写入操作时,写控制命令处于第一电平状态,读控制命令处于第四电平状态。相应地,数据选择模块10可以在写控制命令的控制下,在数据传输周期内接收并输出写入数据。其中,可以将对写入数据进行处理的数据传输周期,称为写周期。示例性地,如图17所示,写控制命令处于第一电平状态(高电平)的一个数据传输周期,即为一个写周期。

又比如,在执行读取操作时,读控制命令处于第一电平状态,写控制命令处于第四电平状态。相应地,该数据选择模块10可以在读控制命令的控制下,在数据传输周期内接收并输出读出数据。其中,可以将对读出数据进行处理的数据传输周期,称为读周期。示例性地,如图17所示,读控制命令处于第一电平状态的一个数据传输周期,即为一个读周期。

对于数据选择模块10的数据输出方式。在一些实施例中,为了提高数据处理效率,数据选择模块10可以通过n条数据线向校验模块20传输读出数据或写入数据。相应地,数据选择模块10可以以n路并行传输读出数据或写入数据至校验模块20。其中,数据选择模块10可以通过P个数据传输周期传输写入数据,或者可以通过P个数据传输周期传输读出数据。其中,P可以是大于或等于1的正整数。

其中,在一个数据传输周期中,每一条数据线可以串行传输k位数据。其中,n和k均可以为大于或等于1的正整数。n和k的取值可以根据实际情况和具体需求设置。示例性地,n可以为8、16等,k可以为2、4、8、16等,对此不作具体限定。

示例性地,以k等于2为例,在一个数据传输周期中,数据选择模块10可以通过n条数据线传输2n比特的数据至校验模块20。其中,2n比特中的第n+1比特至第2n比特并行传输,第1比特至第n比特并行传输。以及,每条数据线在一个数据传输周期内可以串行传输2位数据。例如,2n比特中的第i个比特和第i+n个比特使用同一条数据线(例如第i条数据线)串行传输。其中,i为大于或等于1且小于或等于n的正整数。

需要说明的是,若2n位写入数据或读出数据,第0位至第n-1位先传输,第n位至第2n-1位后传输,则所传输的第i个比特可以是写入数据或读出数据中的第i-1位数据,所传输的第i+n个比特可以是写入数据或读出数据中的第i+n-1位数据。相反地,若2n位写入数据或读出数据第n位至第2n-1位先传输,第0位至第n-1位后传输,则所传输的第i个比特可以是写入数据或读出数据中的第i+n-1位数据,则所传输的第i+n个比特可以是写入数据或读出数据中的第i-1位数据。

对于数据选择模块10的数量,在一个实施例中,可以通过r个数据选择模块10向校验模块20并行传输数据。需要说明的是,r可以根据存储器芯片实际传输需求和具体传输电路确定,比如可以为4、8或者16等整数,对此不作具体限定。

接下来,以r=8,n=8为例,对上述数据传输过程进行说明。

在一个示例中,图2示出了本申请实施例提供的一种示例性的数据传输过程的示意图。如图2所示,8个数据选择模块10可以向校验模块20并行传输数据。其中,每一个数据选择模块10向校验模块20传输一个DQ端口的输入/输出数据。比如,第1个数据选择模块10向校验模块20传输第一DQ端口的输入/输出数据。比如,第2个数据选择模块10向校验模块20传输第二DQ端口的输入/输出数据。…,第8个数据选择模块10向校验模块20传输第八DQ端口的输入/输出数据。

其中,继续参见图2,每一数据选择模块10和校验模块20之间可以8路并行传输。其中,每一数据选择模块传输的第8位数据至15位数据(即在先传输的第1个比特至第8个比特)分别通过8根数据线并行传输至校验模块20,在第8位数据至15位数据之后,第0位数据至7位数据(即在后传输的第9个比特至16个比特)通过8根数据线并行传输至校验模块20。其中,第1根数据线串行传输第0位数据和第8位数据;第2根数据线串行传输第1位数据和第9位数据;…;第8根数据线串行传输第7位数据和第15位数据。相应地,在一个数据传输周期内8个数据选择模块10可以向校验模块20输出128比特数据。

在说明上述数据传输过程之后,接下来对该数据传输过程对应的数据选择模块的结构进行说明。需要说明的是,由于各数据选择模块的结构和功能类似,接下来本申请实施例以一个数据选择模块进行说明。

相应地,图3示出了本申请实施例提供的另一种数据处理电路的结构示意图。如图3所示,数据选择模块10可以包括n个并行设置的数据选择子模块11。其中,n个数据选择子模块11可以分别连接校验模块20,比如分别通过n根数据线L1-Ln连接校验模块20。

其中,第i个数据选择子模块11可以用于在写控制命令为第一电平状态时,将接收得到的写入数据在每个数据传输周期中的第i个比特和第i+n个比特输出。示例性地,若每个数据传输周期包括第一时间段和第二时间段,则可以在第一时间段传输第i个比特,以及在第二时间段传输第i+n个比特。

在读控制命令为第一电平状态时,将接收得到的读出数据在每个数据传输周期中的第i个比特和第i+n个比特输出。

通过本实施例,在n等于1时,可以实现数据选择模块10与校验模块20之间的有序数据传输,保证了数据传输的准确性,从而提高了数据处理的可靠性。

以及,在n大于1时,通过本实施例可以通过n根数据线、以数据传输周期为单位,在数据选择模块10与校验模块20之间n路并行数据传输,实现对写入数据和读出数据的快速而有序的传输,进而能够准确而快速的将写入数据或读出数据传输至校验模块20,从而能够提高数据处理电路的数据传输速度和处理效率。

需要说明的是,数据选择模块10还可以采用其他功能结构实现,来将写周期输入的写入数据和读周期输入的读出数据复用为一路信号输入校验模块,通过控制信号实现对校验模块的输入数据进行选择,在写控制命令为第一电平状态时,选择写入数据输入校验模块,在读控制命令为第一电平状态时,选择读出数据输入校验模块。示例性地,数据选择模块10可以是一个或多个多路复用模块,每个多路复用模块可以包括一个或者多个多路复用器。对此不作具体限定。

在初步介绍了数据选择子模块11之后,接下来对数据选择子模块的具体结构进行说明。由于n个数据选择子模块11的结构可以相同,接下来以第i个数据选择子模块11为例,对各数据选择子模块进行说明。

在一个实施例中,图4示出了本申请实施例提供的一种数据选择子模块的结构示意图。如图4所示,数据选择子模块11可以包括写入数据选择单元111、读出数据选择单元112及信号输出单元113,写入数据选择单元111和读出数据选择单元112分别连接信号输出单元113。接下来将对各组成单元依次进行说明。

对于写入数据选择单元111,其可以包括写入数据控制端1111、写入数据输入端1112及写入数据输出端1113。

具体地,在第i个数据选择子模块11中,写入数据控制端1111可以用于接收写控制命令。写入数据输入端1112可以用于接收第i写入子数据,其中,第i写入子数据为写入数据在每个数据传输周期中传输的第i个比特和第i+n个比特。第i个写入数据选择单元111可以用于响应写控制命令,在写入数据输出端1113输出该第i入子数据。示例性地,写入数据选择单元111可以用于根据写入数据在每个数据传输周期中传输的第i个比特和第i+n个比特,生成第一脉冲信号。写入数据输出端1113可以用于输出该第一脉冲信号。

其中,可以在写控制命令为第一电平状态时输出第i写入子数据。示例性地,还可以在写控制命令为第四电平状态时停止输出第i写入子数据,比如可以在写控制命令为第四电平状态时输出低电平信号。示例性地,若第i写入子数据的第i个比特或第i+n个比特的值为1时,对应高电平信号。以及,若第i个比特或第i+n个比特的值为0时,对应低电平信号。

对于读出数据选择单元112,其可以包括读出数据控制端1121、读出数据输入端1122及读出数据输出端1123。

具体地,读出数据控制端1121可以用于接收读控制命令;读出数据输入端1122可以用于接收第i读出子数据,该第i读出子数据为读出数据在每个数据传输周期中传输的第i个比特和第i+n个比特。读出数据选择单元112可以用于响应读控制命令,在读出数据输出端1123输出第i读出子数据。示例性地,读出数据选择单元112可以用于根据读出数据在每个数据传输周期中传输的第i个比特和第i+n个比特,生成第二脉冲信号。读出数据输出端1123可以用于输出该第二脉冲信号。

其中,可以在读控制命令为第一电平状态时输出读出数据。可选地,还可以在读控制命令为第四电平状态时输出低电平信号。

信号输出单元113,其可以包括第一输入端1131、第二输入端1132和输出端1133。

具体地,第一输入端1131连接写入数据输出端1113。第二输入端1132连接读出数据输出端1123。脉冲信号输出端1133可以用于输出第i写入子数据或第i读出子数据。

也就是说,信号输出单元113可以在读周期(即读控制命令处于第一电平状态时的数据传输周期)选择输出读出数据以及在写周期(即写控制命令处于第一电平状态时)选择输出写入数据。

需要说明的是,数据选择子模块11还可以采用其他功能结构,比如,可以是一个多路复用模块。对此不作具体限定。示例性地,多路复用模块可以包括一个或者多个多路复用器。

通过本实施例,由于在写控制命令处于第一电平状态时,即在写周期时,输出写入数据在每个数据传输周期中传输的第i个比特和第i+n个比特的电平信号。以及,在读控制命令处于第一电平状态时,即在读周期时,输出读出数据在每个数据传输周期中传输的第i个比特和第i+n个比特。从而使得第i个数据选择子模块可以在写周期时输出写入数据的第i个比特和第i+n个比特,以及在读周期时输出读出数据的第i个比特和第i+n个比特,进而通过包括n个并行设置的数据选择子单元,可以依次将读周期时输出的读出数据以及写周期时输出的写入数据输出至同一信号输出单元113处理,在数据输入端(包括上述的写入数据输入端1112和读出数据输入端1122)实现了读出数据和写入数据的复用,提高了数据处理效率。

在一个示例中,图5示出了本申请实施例提供的一种示例性的数据选择子模块的结构示意图。

如图5所示,写入数据选择单元111可以包括第一与门AND1。第一与门AND1包括第五输入端B1、第六输入端A1和第三输出端Y1。其中,第五输入端B1作为写入数据输入端1112。第六输出端B1作为写入数据控制端1111。第三输出端Y1作为写入数据输出端1113。

读出数据选择单元112可以包括第二与门AND2。其中,第二与门AND2包括第七输入端B2、第八输入端A2和第四输出端Y2。第七输入端B2作为读出数据输入端1122。第八输入端A2作为读出数据控制端1121。第四输出端Y2作为读出数据输出端1123。

信号输出单元113可以包括相连接的或非门NOR1和非门NOT1。其中,或非门NOR1可以包括第九输入端A3、第十输入端B3和第五输出端Y3。第九输入端A3作为信号输出单元的第一输入端1131。第十输入端B3作为信号输出单元的第二输入端1132。非门NOT1可以包括第十一输入端A4和第六输出端Y4。第十一输入端A4连接第五输出端Y3。第六输出端Y4作为信号输出单元的输出端1133。

需要说明的是,图6A示出了数据选择模块用于写入数据传输时的逻辑示意图。图6B示出了数据选择模块用于读出数据传输时的逻辑示意图。其中,图6A和图6B中的逻辑值“1”对应于高电平,逻辑值“0”对应低电平。接下来将通过图6A和图6B对图5示出的逻辑门电路的处理逻辑进行说明。

如图6A所示,在写周期时,第一与门AND1的控制逻辑如真值表T11所示。具体地,第六输入端A1的写控制命令保持于高电平状态,对应逻辑值“1”。此时,若第五输入端B1的写入数据为0,则第三输出端Y1输出逻辑值“0”。以及若第五输入端B1的写入数据为1,则第三输出端Y1输出逻辑值“1”。

以及,在写周期时,第二与门AND2的控制逻辑如真值表T12所示。具体地,读控制命令和写控制命令是互斥的信号,在写控制命令保持于高电平状态时,第八输入端A2的读控制命令保持于低电平状态,对应逻辑值“0”。此时,不管第七输入端B2的读出数据为0或者1,第四输出端Y2输出的逻辑值保持为“0”。

以及,在写周期时,或非门NOR1的控制逻辑如真值表T13所示,非门NOT1的控制逻辑如真值表T14所示。此时,第九输入端A3的逻辑值为写入数据0或1,第十输入端B3的逻辑值为0,此时,在第九输入端A3为写入数据0时,第五输出端Y3输出逻辑值1,此时经由非门NOT1取反之后,由第六输出端Y4输出该写入数据0。同理地,在第九输入端A3为写入数据1时,第五输出端Y3输出逻辑值0,此时经由非门NOT1取反之后,由第六输出端Y4输出该写入数据1。

以及,如图6B所示,在读周期时,第一与门AND1的控制逻辑如真值表T21所示。具体地,第六输入端A1的写控制命令保持于低电平状态,对应逻辑值“0”。此时,无论第五输入端B1为写入数据为0或1,则第三输出端Y1均输出逻辑值“0”。

以及,在读周期时,第二与门AND2的控制逻辑如真值表T22所示。具体地,写控制命令保持于低电平状态时,第八输入端A2的读控制命令保持于高电平状态,对应逻辑值“1”。此时,在第七输入端B2的读出数据为0时,第四输出端Y2输出的逻辑值为0。在第七输入端B2的读出数据为1时,第四输出端Y2输出的逻辑值为1。

以及,在读周期时,或非门NOR1的控制逻辑如真值表T23所示,非门NOT1的控制逻辑如真值表T24所示。此时,第九输入端A3的逻辑值为0,第十输入端B3的逻辑值为读出数据0或1,此时,在第十输入端B3为读出数据0时,第五输出端Y3输出逻辑值1,经由非门NOT1取反之后,由第六输出端Y4输出该读出数据0。同理地,在第十输入端B3为读出数据1时,第五输出端Y3输出逻辑值0,经由非门NOT1取反之后,由第六输出端Y4输出该读出数据1。

综上所示,在写周期,写入数据通过第五输入端B1输入该数据选择子模块,经过一系列的逻辑数据处理之后,能够通过第六输出端Y4输出写入数据。以及,在读周期,读出数据通过第七输入端B2输入该数据选择子模块之后,经过一系列的逻辑数据处理之后,能够通过第六输出端Y4输出读出数据。

相应地,通过本实施例,通过逻辑门电路即可将写入数据和读出数据在数据输入端进行复用。由于在实际电路中校验模块20的面积远远大于逻辑门电路的体积,从而本申请实施例以设置逻辑门电路的方式可以将写入数据和读出数据分时段传输至同一校验模块20进行处理,相较于利用两个校验模块分别对读出数据和写入数据进行校验处理的方案,能够减少半导体存储器的面积。

需要说明的是,在本申请实施例中还可以采用逻辑门器件的其他连接方式来实现上述数据选择子模块的功能,对此不作具体限定。

以及,还需要说明的是,若在每一数据传输周期,一条线路传输大于2的多位数据,比如4位、8位数据,则每一数据选择子模块11还可以串行传输大于2的多位比特,其具体传输方式与上述传输2位比特数据相似,可以参见本申请实施例上述部分对传输2位比特数据的具体描述,在此不再赘述。

在介绍了数据选择模块10之后,接下来对校验模块20进行说明。

校验模块20,可以用于接收写入数据或读出数据;对写入数据或读出数据进行校验处理,获得写入校验数据或读出校验数据;以及输出写入校验数据或读出校验数据。

校验模块20,其可以计算用于验证数据的正确性的校验数据。在一些实施例中,校验模块20可以为CRC(Cyclic Redundancy Check,循环冗余校验)模块。示例性地,CRC校验模块可以称为CRC counter。

在一个实施例中,在写控制命令为第一电平状态时,校验数据20可以接收到数据选择模块10输出的写入数据,对写入数据进行CRC计算,得到CRC校验码,以及将该CRC校验码作为写入校验数据进行输出。示例性地,校验数据20可以接收到8个数据选择模块10在一个数据传输周期传输的128比特的写入数据之后,计算得到8位或者16位的写入校验数据。

在另一个实施例中,在读控制命令为第一电平状态时,校验数据20可以接收数据选择模块10输出的读出数据,校验数据20可以对读出数据进行CRC计算,得到CRC校验码,以及将计算得到的该CRC校验码作为读出校验数据进行输出。

在一个实施例中,若一个写入数据或者一个读出数据需要通过一个数据传输周期传输,则可以在每个数据传输周期结束后计算一个校验数据。示例性地,对于16位的读出数据,若校验模块在一个数据传输周期接收到了16位的读出数据,则可以在接收得到16位的读出数据之后进行校验处理,得到一个读出校验数据。其中,写入数据的计算过程与读出数据类似,在此不再赘述。

或者,在每个数据传输周期内,可以在接收到所有数据选择模块传输的全部数据后,计算每个数据选择模块对应的校验数据。示例性地,如图2所示,在一个数据传输周期中,1个数据选择模块10可以传输16位的读出数据到校验模块20,8个数据选择模块10可以传输128位的读出数据到校验模块20,校验模块可以在接收到8个数据选择模块10传输的全部128位的读出数据后,合并计算8位或16位校验数据,并为每个数据选择模块传输的16位比特数据分配1位或2位校验数据。其中,写入数据的计算过程与读出数据类似,在此不再赘述。

再或者,若一个写入数据或者一个读出数据需要通过多个数据传输周期传输,则可以在多个数据传输周期结束后计算一个校验结果。示例性地,若64位的读出数据需要通过4个数据传输周期、每个数据传输周期传输16位数据的方式传输至校验模块,则校验模块可以在通过四个数据传输周期接收得到64位读出数据之后再进行校验处理,得到一个读出校验数据。其中,写入数据的计算过程与读出数据类似,在此不再赘述。

需要说明的是,还可以采用实时接收实时计算的计算方式,本申请实施例校验计算方式不作具体限定。

需要说明的是,在本申请实施例中,还可以根据实际场景和具体需求,采用除CRC之外的、诸如ECC(Error Correcting Code,错误纠正编码)、奇偶校验、MD5(Message-Digest Algorithm 5,信息摘要算法)校验等其他校验方式,对此不作具体限定。

在一些实施例中,校验模块20接收到数据选择模块在每个数据传输周期发送的数据之后,由于数据通过8个数据线并行传输,可以在校验模块20的输入端以串并转换的方式,将所接收的数据转换为串行数据后,再进行校验处理。

在介绍了校验模块20之后,接下来对数据输出模块30进行说明。

数据输出模块30,可以用于接收写入校验数据或读出校验数据;在写控制命令为第一电平状态时输出写入校验数据;在读控制命令为第一电平状态时输出读出校验数据。示例性地,数据输出模块30可以在写控制命令为第一电平状态时接收到写入校验数据以及将其进行输出。以及,可以在读控制命令为第一电平状态时接收到读出校验数据以及将其进行输出。

在一些实施例中,图7示出了本申请实施例提供的又一种数据处理电路的结构示意图。如图7所示,数据输出模块30可以包括第一输出子模块31和第二输出子模块32。第一输出子模块31和第二输出子模块32分别与校验模块20连接。

第一输出子模块31,可以包括写控制端311、第一校验数据输入端312和写入校验数据输出端313。其中,写控制端311可以用于接收写控制命令。第一校验数据输入端312可以用于接收校验模块20输出的写入校验数据或读出校验数据,具体地,第一校验数据输入端312可以在写控制命令为第一电平状态时接收到校验模块20输出的写入校验数据,以及在读控制命令为第一电平状态时接收到校验模块20输出的读出校验数据。写入校验数据输出端313可以用于在写控制命令为第一电平状态时输出写入校验数据。

第二输出子模块32,可以包括读控制端321、第二校验数据输入端322和读出校验数据输出端323。其中,读控制端321可以用于接收读控制命令。第二校验数据输入端322与第一校验数据输入端312连接,可以用于接收校验模块20输出的写入校验数据或读出校验数据。具体地,第二校验数据输入端322可以在写控制命令为第一电平状态时接收到校验模块20输出的写入校验数据,以及在读控制命令为第一电平状态时接收到校验模块20输出的读出校验数据。读出校验数据输出端323可以用于在读控制命令为第一电平状态时输出读出校验数据。

在本实施例中,本申请实施例通过第一输出子模块和第二输出子模块,可以将同一个校验模块20处理和传输的写入校验数据和读出校验数据进行解复用,并通过不同输出端(即上述写入校验数据输出端313和读出校验数据输出端323)进行输出,从而可以便于对写入校验数据和读出校验数据后续进行不同的处理和使用,提高了数据处理电路的性能。

需要说明的是,本申请实施例中的数据输出模块30还可以是其他能够对依次传输的写入数据和读出数据进行分离或者解复用的功能模块,对此不作具体限定。

在一个实施例中,图8示出了本申请实施例提供的一种示例性的数据处理电路的结构示意图。

如图8所示,第一输出子模块31可以包括第三与门AND3。其中,第三与门AND3包括第十二输入端B5、第十三输入端A5和第七输出端Y5。其中,第十二输入端B5作为第一校验数据输入端312,第十三输入端A5作为写控制端311,第七输出端Y5为写入校验数据输出端313。

第二输出子模块32可以包括第四与门AND4。其中,第四与门AND4包括第十四输入端B6、第十五输入端A6和第八输出端Y6。第十四输入端B6作为第二校验数据输入端322,第十五输入端A6作为读控制端321,第八输出端Y6作为读出校验数据输出端323。

需要说明的是,图9A示出了的数据输出模块用于输出写入校验数据时的逻辑示意图。图9B示出了数据输出模块用于输出读出校验数据时的逻辑示意图。其中,图9A和图9B中的逻辑值“1”对应于高电平,逻辑值“0”对应低电平。接下来将通过图9A和图9B对图5示出的逻辑门电路的处理逻辑进行说明。

如图9A所示,在写周期时,第三与门AND3的控制逻辑如真值表T31所示。具体地,第十三输入端A5的写控制命令保持于高电平状态,对应逻辑值“1”。第十二输入端B5的接收到写入校验数据,此时若写入校验数据为0,则第七输出端Y5输出逻辑值“0”。以及若写入校验数据为1,则第七输出端Y5输出逻辑值“1”。

以及,第四与门AND4的控制逻辑如真值表T32所示。具体地,第十五输入端A6的读控制命令保持于低电平状态,对应逻辑值“0”。第十四输入端B6接收到写入校验数据,此时,不管写入校验数据为0或者1,第八输出端Y6输出的逻辑值保持为“0”。

以及,如图9B所示,在读周期时,第三与门AND3的控制逻辑如真值表T41所示。具体地,第十三输入端A5的写控制命令保持于低电平状态,对应逻辑值“0”。第十二输入端B5的接收到读出校验数据,此时不管读出校验数据为0还是1,则第七输出端Y5均输出逻辑值“0”。

以及,第四与门AND4的控制逻辑如真值表T42所示。具体地,第十五输入端A6的读控制命令保持于高电平状态,对应逻辑值“1”。第十四输入端B6接收到读出校验数据,此时,若读出校验数据为0,则第八输出端Y6输出逻辑值“0”,以及读出校验数据为1则第八输出端Y6输出逻辑值“1”。

综上所示,在写周期,校验模块20将写入校验数据输出至第三与门AND3对应的第十二输入端B5以及第四与门AND4的第十四输入端B6。此时,由于第三与门AND3的第十三输入端A5的逻辑值为1,从而使得写入校验数据可以从第三与门的第七输出端Y5输出。以及,在读周期校验模块20将读出校验数据输出至第三与门AND3的第十二输入端B5以及第四与门AND4的第十四输入端B6,此时,由于第四与门AND4的第十五输入端A6的逻辑值为1,从而使得写入校验数据可以从第三与门的第八输出端Y6输出。

相应地,通过本实施例,通过逻辑门电路即可将写入校验数据和读出校验数据在数据输出端进行解复用。由于在实际电路中校验模块20的面积远远大于逻辑门电路的体积,从而本申请实施例以设置逻辑门电路的方式可以从同一校验模块20输出的写入校验数据和读出校验数据的数据流中分离出写入校验数据和读出校验数据,相较于利用两个校验模块分别生成读出校验数据和写入校验数据的方案,能够减少半导体存储器的面积。

需要说明的是,在本申请实施例中还可以采用逻辑门器件的其他连接方式来实现上述数据选择子模块的功能,对此不作具体限定。

对于本申请实施例结合图1至图9B任一附图示出的数据处理电路,可以在写控制命令为第一电平状态时,通过数据选择模块10接收写入数据之后,可以将其发送至校验模块20进行校验处理,以及将校验处理得到的写入校验数据利用数据输出模块30进行输出。以及,在读控制命令为第一电平状态时,通过数据选择模块10接收读出数据之后可以利用同一个校验模块20对其进行校验处理,以及将校验处理得到的读出校验数据通过数据输出模块30输出。由于无需利用不同的数据处理电路分别对写入数据和读出数据进行校验处理,仅通过一个数据处理电路可以根据写控制命令和读控制命令选择写入数据或读出数据进行校验处理生成写入校验数据或读出校验数据,并且可在写控制命令和读控制命令的控制下,将写入校验数据和读出校验数据分别通过不同的输出电路输出至不同的后续处理电路,从而在兼顾半导体存储器尺寸的同时保证了数据读写的可靠性。

以及,还需要说明的是,通过本申请实施例,利用写控制命令和读控制命令,可以使得输出的写入校验数据和读出校验数据的输出时序与半导体存储器读出数据的读写顺序保持同步,从而利用一个校验模块20即可以在不影响数据读写效率的同时保证数据读写的可靠性。相较于现有技术在提高读写效率时无法保证数据读写可靠性,以及在提高读写可靠性时无法保证读写效率的方案相比,在缩小半导体存储器的面积的同时能够兼顾数据读写可靠性和读写效率,提高了半导体存储器的性能。

在数据处理过程中,发明人还发现,读出数据和写入数据的顺序可能存在着错误。比如,半导体存储器在读出数据时,若数据的读取顺序不正确,则可能导致读出数据的顺序存在错误。

基于此,发明人还提供了再一种数据处理电路。图10示出本申请实施例中再一种数据处理电路的结构示意图。其中,本申请实施例在上述实施例的基础上进行优化,本申请实施例可以与上述一个或者多个实施例中各个可选方案结合。

与图1示出的数据处理电路的不同之处在于,图10示出的数据处理电路还可以包括顺序调整模块40。其中,数据选择模块10可以通过顺序调整模块40与校验模块20连接。示例性地,在数据选择模块10的数量为r的情况下,可以包括r个顺序调整模块40,其中,每一个数据选择模块10通过一个顺序调整模块40连接校验模块20。需要说明的是,由于各顺序调整模块40相似,本申请实施例的附图和说明书仅以一个数据选择模块10和与其连接的顺序调整模块40进行说明。

对于顺序调整模块40,其可以用于接收数据选择模块10输出的写入数据或读出数据,根据顺序调整控制信号,对写入数据或读出数据执行数据传输顺序调整操作,将写入数据或读出数据调整至正确传输顺序后输出。具体地,在写周期,顺序调整模块40可以接收到数据选择模块10传输的写入数据,以及将其调整至正确传输顺序后输出。以及,在读周期,顺序调整模块40可以接收到数据选择模块10传输的读出数据,以及将其调整至正确传输顺序后输出。

相应地,在数据处理电路还包括顺序调整模块40的情况下,校验模块20可以具体用于:接收被调整至正确传输顺序的写入数据或被调整至正确传输顺序的读出数据;对被调整至正确传输顺序的写入数据或被调整至正确传输顺序的读出数据进行校验处理,获得写入校验数据或读出校验数据;以及输出写入校验数据或读出校验数据。需要说的是,校验模块20的其他内容可以参见本申请实施例上述部分的相关说明,对此不再赘述。

接下来,将通过顺序调整控制信号、数据传输顺序调整操作以及顺序调整模块40的具体结构,对顺序调整模块40进行说明。

对于顺序调整控制信号,其可以用于指示顺序调整模块40所接收到的数据(写入数据或者读出数据)的传输顺序是否正确。

在一些实施例中,顺序调整控制信号可以根据突发顺序字段中的预设比特位的值确定,预设比特位用于表征数据读取顺序是否存在倒置。其中,预设比特位可以是读写命令解码获得的突发顺序字段的特定比特位。

在一个示例中,图11示出了读写命令的格式示意图。如图11所示,突发顺序字段可以为C0-C3所对应的字段。其中,预设比特位可以是C3。

其中,以一个数据选择模块10通过8条数据线传输16位顺序正确的数据0-F为例,若C3位为0,则表示数据传输顺序正确,即第0位数据至第7位数据(即图11中的0-7)先通过8条数据线传输,第8位数据至第15位数据(即图11中的8、9、A-F)后通过8条数据线传输。以及,若C3位为1,则表示数据传输顺序倒置,即第8位数据至第15位数据先传输,第0位数据至第7位数据后传输。

同理地,若正确传输次序是高位先传输、低位后传输,则正确传输顺序可以是第8位数据至第15位数据先传输,第0位数据至第7位数据后传输。对此不再赘述。

在初步介绍了顺序调整控制信号之后,接下来对数据传输顺序调整操作进行说明。

对于数据传输顺序调整操作,其可以是指能够将顺序调整模块40所接收到的数据调整为正确传输顺序的操作。示例性地,若顺序调整模块40所接收到数据的传输顺序是正确的,则可以保持所接收到数据的传输顺序不变,以及将其输出至后续的校验模块20。又一示例性地,若所接收到的数据其传输顺序是错误的,则可以将其调整为正确的传输顺序之后,将其输出至后续的校验模块20。

在一些实施例中,若数据选择模块10在每个数据传输周期用一条数据线来传输一路写入数据或读出数据,则顺序调整模块可以对该路数据中的多个比特值进行数据传输顺序调整。

在另一些实施例中,若数据选择模块10在每个数据传输周期用多条数据线来传输多路写入数据或读出数据时,数据选择模块10可以分别对每一路数据中的多个比特值进行数据传输顺序调整。

在介绍了顺序调整控制信号、数据传输顺序调整操作之后,接下来对顺序调整模块40的具体结构进行说明。

在一些实施例中,图12示出了本申请实施例提供的再一种数据处理电路的结构示意图。如图12所示,在数据选择模块10通过n条数据线,在一个数据传输周期中将2n比特的写入数据或读出数据传输至顺序调整模块40的情况,顺序调整模块40包括并行的n个顺序调整子模块41。其中,n条数据线的传输方式可以参见本申请实施例上述部分结合图2的相关说明,在此不再赘述。

继续参见图12,每个顺序调整子模块41可以设有数据输入端411、第一输出端412和第二输出端413。其中,每一数据输入端411连接数据选择模块10,每一第一输出端412以及每一第二输出端413均连接校验模块20。

在一个实施例中,在数据选择模块10包括n个并行设置的数据选择子模块11的情况下,图13示出了本申请实施例提供的再一种数据处理电路的结构示意图。

如图13所示,在数据选择模块10包括n个并行设置的数据选择子模块11的情况下,n个并行设置的数据选择子单元11与n个并行设置的顺序调整子模块41一一对应连接。也就是说,第1个数据选择子模块11连接第1个顺序调整子模块41,第2个数据选择子模块11连接第2个顺序调整子模块41,……,第n个数据选择子模块11连接第n个顺序调整子模块41。

接下来对顺序调整子模块41进行具体说明。由于n个顺序调整子模块41的结构、功能可以相同,接下来以第i个顺序调整子模块41为例,对各数据选择子模块进行说明。

其中,第i个顺序调整子模块11的数据输入端411连接数据选择模块10,可以用于接收在每个数据传输周期中传输的第i个比特和第i+n个比特。示例性地,数据输入端411在用于传输写入数据的数据传输周期中可以接收写入数据的第i个比特和第i+n个比特,以及在用于传输读出数据的数据传输周期中可以接收读出数据的第i个比特和第i+n个比特。需要说明的是,数据输入端411可以在每个数据传输周期中依序接收第i个比特和第i+n个比特。比如,每个数据传输周期可以包括第一时间段和第二时间段,数据输入端411可以在第一时间段接收本数据传输周期中的第i个比特,以及在第二时间段接收本数据传输周期中的第i+n个比特。

第i个顺序调整子模块41可以用于将每个数据传输周期中的第i个比特和第i+n个比特的顺序调整为正确传输顺序。在一个实施例中,在顺序调整控制信号指示数据传输顺序倒置时,第i个顺序调整子模块41可以将在每个数据传输周期中所接收的第i个比特和第i+n个比特的顺序互换,也就是说,调整前的第i个比特作为新的第i+n个比特,调整前的第i+n个比特作为新的第i个比特。示例性地,以n=8时传输的数据0-F为例,一组数据为“0-7”、另一组数据为“8-F”,则可以在两组数据之间进行数据传输顺序的调整,而各组数据的组内数据彼此之间的传输顺序不作调整。在另一个实施例中,在顺序调整控制信号指示数据传输顺序正确时,第i个顺序调整子模块41可以保持在每个数据传输周期中所接收的第i个比特和第i+n个比特的顺序不变。

第i个顺序调整子模块41的第一输出端412和第二输出端413分别连接校验模块20。第一输出端412和第二输出端413可以分别用于将被调整至正确传输顺序的第i个比特和第i+n个比特输出至校验模块20。在一个实施例中,第一输出端412用于输出第i个比特,第二输出端413可以用于输出第i+n个比特。

通过本实施例,在数据传输顺序存在倒置时,第i个顺序调整子模块41可以对接收的第i个比特和第i+n个比特的传输顺序进行传输顺序调整,以及将调整后的第i个比特从第一输出端412输出以及将调整后的第i+n个比特从第二输出端413输出,保证了校验模块20所接收到的数据的准确性,进而提高了读写数据的可靠性。

在一个实施例中,图14示出了本申请实施例提供的一种顺序调整子单元的结构示意图。如图14所示,第i个顺序调整子模块41,可以包括数据处理单元414和顺序调整单元415。

对于数据处理单元414,其可以设有输入端4141、第一输出端4142、第二输出端4143及控制端4144。

其中,数据处理单元的输入端4141作第i个顺序调整子模块的数据输入端411,数据处理单元的输入端4141可以用于接收在每个数据传输周期中串行传输的第i个比特和第i+n个比特。

其中,数据处理单元的控制端4144可以用于接收第一时钟信号。其中,响应于第一时钟信号的控制,数据处理单元414可以根据串行接收的第i个比特和第i+n个比特,生成并行传输的第一传输数据和第二传输数据。其中,第一传输数据包括在第一时钟信号的第二个触发沿采样获得的第i+n个比特。第二传输数据包括在第一时钟信号的第二个触发沿采样获得的第i个比特。数据处理单元的第一输出端4142和数据处理单元的第二输出端4143用于并行输出第一传输数据及第二传输数据。也就是说,数据处理单元的第一输出端4142在输出第一传输数据时数据处理单元的第二输出端4143可以同步输出第二传输数据。

对于第一时钟信号,其第一触发沿的出现时刻可以晚于或同步于第i个比特的起始传输时刻且早于第i个比特的结束传输时刻。其第二触发沿的出现时刻可以晚于或同步于第i+n个比特的起始传输时刻且早于第i+n个比特的结束传输时刻。其中,任一比特的起始传输时刻为开始传输该比特的时刻,任一比特的结束传输时刻为停止传输该比特的时刻。示例性地,触发沿可以是上升沿或者下降沿。

具体地,第一时钟信号可以对应于电平触发或者边沿触发。示例性地,在第一时钟信号对应于电平触发的情况下,若为高电平触发,则触发沿为上升沿。相应地,第一个触发沿对应的下降沿的出现时刻早于第i个比特的结束传输时刻,第二个触发沿对应的下降沿的出现时刻早于第i+n个比特的结束传输时刻。又一示例性地,若为低电平触发,则触发沿为下降沿。相应地,第一个触发沿对应上升沿的出现时刻早于第i个比特的结束传输时刻,第二个触发沿对应的上升沿的出现时刻早于第i+n个比特的结束传输时刻。

顺序调整单元415,其可以设有第一输入端4151、第二输入端4152、第一输出端4153、第二输出端4154、第一控制端4155及第二控制端4156。

其中,顺序调整单元的第一输入端4151与数据处理单元的第一输出端4142连接,可以用于接收第一传输数据。顺序调整单元的第二输入端4152与数据处理单元的第二输出端4143连接,可以用于接收第二传输数据。也就是说,可以在顺序调整单元的第一输入端4151接收第一传输数据的同时,顺序调整单元的第二输入端4152同步接收第二传输数据。

顺序调整单元的第一输出端4153作为第i个顺序调整子模块的第一输出端412。顺序调整单元的第二输出端4154作为第i个顺序调整子模块的第二输出端413。顺序调整单元的第一控制端4155可以用于接收顺序调整控制信号。顺序调整单元的第二控制端4156可以用于接收第二时钟信号。

顺序调整单元415可以用于根据顺序调整控制信号和第二时钟信号,对第一传输数据和第二传输数据进行顺序调整。

在一个示例中,当顺序调整控制信号指示数据传输顺序倒置,顺序调整单元415可以在第二时钟信号为触发电平时,将第一传输数据中的第i+n个比特作为高位比特数据Q

对于第二时钟信号,第二时钟信号的触发电平翻转时刻可以为第二时钟信号由非触发电平翻转至触发电平的时刻。其中,触发电平可以是触发顺序调整模块进行信号锁存功能的电平。在一个示例中,若高电平锁存,则触发电平可以是高电平,相应地,非触发电平为低电平。同理地,若低电平锁存,则触发电平可以是低电平,非触发电平可以是高电平。

以及,第二时钟信号的触发电平翻转时刻可以与第一时钟信号的第二个触发沿的出现时刻对齐。

示例性地,若第二时钟信号对应于边沿触发,在第二时钟信号的触发电平翻转时刻晚于第一时钟信号的第二个触发沿的出现时刻、且第二时钟信号的触发电平翻转时刻早于第一时钟信号的第三个触发沿的出现时刻的情况下,可以确定第二时钟信号的触发电平翻转时刻与第一时钟信号的第二个触发沿的出现时刻对齐。

需要说明的是,通过本实施例,第二时钟信号的触发电平翻转时刻晚于第一时钟信号的第二个触发沿的出现时刻,避免了因实际电路传输过程中传输时延对数据读取的影响,从而能够保证能够利用第二时钟信号准确读取到第一传输数据和第二传输数据在触发电平时的数据,提高了数据处理的准确性。

又一示例性地,若第二时钟信号对应于电平触发,当第一时钟信号的第二个触发沿的出现时刻处于第二时钟信号的触发电平的持续时间段之内时,可以确定第二时钟信号的触发电平翻转时刻与第一时钟信号的第二个触发沿的出现时刻对齐。示例性的,第二时钟信号的触发电平翻转时刻可以早于、等于或晚于第一时钟信号的第二触发沿的出现时刻,且早于第一时钟信号的第三个触发沿的出现时刻。

在另一个示例中,当顺序调整控制信号指示数据传输顺序正确时,顺序调整单元415可以在第二时钟信号为触发电平时,将第二传输数据中的第i个比特作为高位比特数据Q

通过本实施例,可以通过数据处理子单元414可以生成并行传输的第一传输数据和第二传输数据,由于第一传输数据在第一时钟信号的第二触发沿传输第i+n比特,第二传输数据在第一时钟信号的第二触发沿传输第i比特,从而使得顺序调整单元415可以同时接到并行传输的第i比特和第i+n比特,以及通过调整并行传输的第i比特和第i+n比特的输出端口的方式能够灵活的对第i比特和第i+n比特进行调整,进而提高了写入数据和读出数据的传输准确性。

在一个示例中,图15示出了本申请实施例提供的一种顺序调整单元的结构示意图。如图15所示,顺序调整单元415可以包括:数据选择子单元4157、第一输出子单元4158和第二输出子单元4159。

数据选择子单元4157,可以设有第一输入端4157A、第二输入端4157B、第一输出端4157C和第二输出端4157D。数据选择子单元的第一输入端4157A作为顺序调整单元的第一输入端4151,可以用于获取第一传输数据。数据选择子单元的第二输入端4157B作为顺序调整单元的第一输入端4152,可以用于获取第二传输数据。数据选择子单元4157可以用于根据顺序调整控制信号,将第一传输数据和第二传输数据在对应的输出端选择输出。其中,当顺序调整控制信号指示数据传输顺序倒置时,在第一输出端4157C输出第一传输数据,在第二输出端4157D输出第二传输数据,当顺序调整控制信号指示数据传输顺序正确时,在第一输出端4157C输出第二传输数据,在第二输出端4157D输出第一传输数据。

第一输出子单元4158,可以包括第一输出子单元的输入端4158A、控制端4158B及输出端4158C。第一输出子单元的输入端4158A连接数据选择子单元的第一输出端4157C,可以用于接收数据选择子单元的第一输出端4157C选择输出的传输数据。第一输出子单元的控制端4158B可以用于接收第二时钟信号。第一输出子单元的输出端4158C作为顺序调整单元的第一输出端4153。第一输出子单元4158,可以用于在第二时钟信号为触发电平时,将第一输出子单元的输入端4158A接收到的传输数据,通过第一输出子单元的输出端4158C输出。

第二输出子单元4159,可以包括第二输出子单元的输入端4159A、控制端4159B及输出端4159C。第二输出子单元的输入端4159A连接数据选择子单元的第二输出端4157D。第二输出子单元的控制端4159B用于接收第二时钟信号,示例性地,可以通过连接第二输出子单元的控制端4159B与第一输出子单元的控制端4158B的方式来接收第二时钟信号。第二输出子单元的输出端4159C作为顺序调整单元的第二输出端4154。第二输出子单元4159,用于在第二时钟信号为触发电平时,将第二输出子单元的输入端4159A接收到的传输数据,通过第二输出子单元的输出端4159C输出。

其中,顺序调整控制信号可以根据突发顺序字段中的预设比特位的值确定的,预设比特位用于表征数据传输顺序是否存在倒置,突发顺序字段通过对读写命令解码获得。需要说明的是,顺序调整控制信号可以参见本公开实施例上述部分的相关描述,在此不再赘述。

通过本申请实施例,可以根据数据是否导致来通过数据选择子单元将第一传输数据和第二传输数据传输至相应的输出子单元,以及第一输出子单元和第二输出子单元通过第二时钟信号控制下,将调整至正确输出顺序的比特数据在同一触发时刻输出,从而实现了比特数据正确的并行输出,提高了数据传输的准确性。

在一个可选的示例中,图16示出了本申请实施例提供的一种示例性的顺序调整模块的结构示意图。如图16所示,数据处理单元414,可以包括第一D触发器D1和第二D触发器D2。

第一D触发器D1,可以设有第三输入端(第一D触发器D1的D端口)、第三同相输出端(第一D触发器D1的Q端口)、第三反相输出端(第一D触发器D1的

其中,第三输入端作为数据处理子单元414的输入端,第三输入端可以用于接收在每个数据传输周期中串行传输的第i个比特和第i+n个比特。第五控制端可以用于接收第一时钟信号CLK1。第三同相输出端作为数据处理单元的第一输出端4142,可以用于输出第一传输数据DATA1。示例性地,第一D触发器D1可以用于将每个数据传输周期中的第i个比特调整至第一时钟信号CLK1的第一个触发沿传输,以及将每个数据传输周期中的第i+n个比特调整至第一时钟信号的第二个触发沿传输,得到第一传输数据DATA1。

第二D触发器D2,可以设有第四输入端(第二D触发器D2的D端口)、第四同相输出端(第二D触发器D2的Q端口)、第四反相输出端(第二D触发器D2的

需要说明的是,由于D触发器可以在输入时钟信号处于触发沿时,将D端口的数据输出至输出端Q。对于本实施例的第一D触发器D1,当第一时钟信号CLK1处于第一个触发沿时,可以将D端口接收到的第i个比特传输至输出端Q,以及在第一时钟信号CLK1处于第二个触发沿时,将D端口接收到的第i+n个比特传输至输出端Q。也就是说,第一D触发器D1的输出端Q输出的第一传输数据DATA1,其在第一时钟信号的第一个触发沿的出现时刻至第二触发沿的出现时刻之间的第一时间段内,为第i个比特,以及在第二个触发沿的出现时刻和第三个触发沿的出现之间的第二时间段内,其为第i+n个比特。

以及,对于第二D触发器D2,由于第一D触发器D1与第二D触发器D2之间存在一定传输时延,在第一时钟信号CLK1处于第二个触发沿时,第二D触发器D2的D端口的数据仍为第i个比特,此时,可以将第i个比特传输至第二D触发器D2的输出端Q;以及,在第一时钟信号CLK1处于第三个触发沿时,第二D触发器D2的D端口的数据仍为第i+n个比特,此时,可以将第i+n个比特传输至第二D触发器D2的输出端Q。也就是说,第二D触发器D2的输出端Q输出的第二传输数据DATA2,其在第一时钟信号的第二个触发沿的出现时刻至第三触发沿的出现时刻之间的第二时间段内,其输出数据为第i个比特,以及在第二个触发沿的出现时刻和第三个触发沿的出现之间的第三时间段内,其输出数据为第i+n个比特。

需要说明的是,本申请实施例还可以采用其他能够实现第i个比特和第i+n个比特以两个数据并列传输的电路方式,对此不作具体限定。

通过本实施例,可以将每一数据传输周期中传输的第i个比特和第i+n个比特从串行传输,利用串联的第一D触发器D1和第二D触发器D2调整为在第一时钟信号的第二个触发沿之后第三个触发沿到来之前的时间段内的并行传输的两路数据。由于第一D触发器D1和第二D触发器D2为逻辑器件,在保证了半导体存储器的集成度的同时,保证了数据处理的准确性。

在一个可选的示例中,顺序调整控制信号可以包括第一控制子信号CA3B和第二控制子信号CA3,第一控制子信号CA3B和第二控制子信号CA3可以互为反向信号。

示例性地,图17示出了本申请实施例提供的一种示例性的顺序调整电路所涉及的信号及数据传输时序的示意图。如图17所示,当数据传输顺序倒置时,比如,如第一读周期对应的第一控制子信号CA3B和第二控制子信号CA3所示,第一控制子信号CA3B处于低电平状态且第二控制子信号CA3处于高电平状态。当数据传输顺序正确时,比如,如写周期或第二读周期对应的第一控制子信号CA3B和第二控制子信号CA3所示,第一控制子信号CA3B处于高电平状态且第二控制子信号CA3处于低电平状态。

数据选择子单元5156可以包括第一数据选择器M1和第二数据选择器M2。

第一数据选择器M1,可以包括第一数据输入端(对应端口0)、第二数据输入端(对应端口1)、第一控制端及第一选择输出端。其中,第一数据输入端和第二数据选择器M2的第三数据输入端(对应端口0)连接,作为数据选择子单元的第一输入端4157A,可以用于接收第一传输数据DATA1。第二数据输入端和第二数据选择器M2的第四数据输入端(对应端口1)连接,作为数据选择子单元的第二输入端4157B,可以用于接收第二传输数据DATA2。第一控制端可以用于接收第一控制子信号CA3B。第一选择输出端作为第一输出端,可以用于在第一控制子信号为第二电平状态的情况下输出第一传输数据DATA1,以及在第一控制子信号为第三电平状态的情况下输出第二传输数据DATA2。示例性地,如图16所示,第一数据输入端对应端口0,即若在低电平状态下,第一数据输入端与第一选择输出端之间导通,此时第二电平状态为低电平,第三电平状态为高电平。又一示例性地,若第一数据输入端对应端口1,则还可以若在高电平状态下第一数据输入端与第一选择输出端之间导通,此时第二电平状态为高电平,第三电平状态为低电平。

第二数据选择器M2,可以包括第三数据输入端(对应端口0)、第四数据输入端(对应端口1)、第二控制端及第二选择输出端,第三数据输入端可以用于接收第一传输数据DATA1。第四数据输入端可以用于接收第二传输数据DATA2。第二控制端可以用于接收第二控制子信号CA3。第二选择输出端作为第二输出端,可以用于在第二控制子信号CA3为第二电平状态的情况下输出第一传输数据DATA1,以及在第二控制子信号CA3为第三电平状态的情况下输出第二传输数据DATA2。需要说明的是,第二数据选择器M1的具体内容可以参见第一数据选择器的相关说明,在此不再赘述。

在本实施例中,继续参见图17,在数据传输顺序倒置时,第二控制子信号CA3处于高电平状态(第三电平状态),第二数据选择器M2输出第二传输数据DATA2,以及第一控制子信号CA3B处于低电平状态(第二电平状态),第一数据选择器M1输出第一传输数据DATA1。以及,在数据传输顺序正确时,第二控制子信号CA3处于低电平状态(第二电平状态),第二数据选择器M2输出第一传输数据DATA1,以及第一控制子信号CA3B处于高电平状态(第三电平状态),第一数据选择器M1输出第二传输数据DATA2。

需要说明的是,在本申请实施例中还可以采用其他具有数据选择功能的器件来实现上述功能,对此不作赘述。

通过本实施例中,在第一控制子信号和第二控制子信号两个顺序调整控制信号控制下,两个数据选择器分别对第一传输数据和第二传输数据选择输出,可以根据传输数据是否倒置来灵活选择将第一传输数据和第二传输数据在对应的输出端输出,提高了数据调整的灵活性。且由于数据选择器的体积和面积较小,保证了半导体存储器的集成度。

在一个可选的示例中,继续参见图16,第一输出子单元4158可以包括第一锁存器D3。

第一锁存器D3,可以设有第一输入端(第一锁存器D3的D端口)、第一同相输出端(第一锁存器D3的Q端口)、第一反相输出端(第一锁存器D3的的

示例性地,第一锁存器D3可以实现为边沿D触发器。又或者,第一锁存器D3还可以实现为电平D触发器。需要说明的是,第一锁存器D3还可以实现为其他具有锁存功能的器件,对此不作具体限定。

需要说明的是,由于第三控制端可以用于接收第二时钟信号,由于在数据传输顺序正确时第一输入端接收到第二传输数据DATA2,通过第二时钟信号可以锁存第二传输数据DATA2中的第i个比特,且由于第一同相输出端输出的数据作为第i个比特,此时可以将锁存的第i个比特仍然作为第i个比特。在数据传输顺序倒置时第一输入端接收到第一传输数据DATA1,此时可以锁存第一传输数据DATA1中的第i+n个比特,此时将锁存的第i+n个比特作为新的第i个比特。

在一个可选的示例中,继续参见图16,第二输出子单元4159可以包括第二锁存器D4。

第二锁存器D4,可以设有第二输入端(第二锁存器D4的D端口)、第二同相输出端(第二锁存器D4的Q端口)、第二反相输出端(第二锁存器D4的的

需要说明的是,第二锁存器D4与第一锁存器D3的具体实现方式相似,可以参见本申请实施例上述部分对第一锁存器D3的相关说明,在此不再赘述。

需要说明的是,由于第四控制端可以用于接收第二时钟信号,由于在数据传输顺序正确时第二输入端接收到第一传输数据DATA1,通过第二时钟信号可以锁存第一传输数据DATA1中的第i+n个比特,且由于第二同相输出端输出的数据作为第i+n个比特,此时可以将锁存的第i+n个比特仍然作为第i+n个比特。在数据传输顺序倒置时第一输入端接收到第二传输数据DATA2,此时可以锁存第二传输数据DATA2中的第i个比特,此时将锁存的第i个比特作为新的第i+n个比特。

通过前述两个实施例,利用第一锁存器D3和第二锁存器D4,在第二时钟信号为触发电平时,将调整至正常顺序、且在第一时钟信号的第二触发沿后并行传输的第一传输数据和第二传输数据同时锁存并输出,保证待校验数据的准确传输。

为了便于理解,接下来将结合图17对图16示出的顺序调整模块进行整体说明。其中,提前设定16位数据的正确传输次序是先传输第8位-第15位数据。

如图17所示,在第一读周期和第二读周期,读控制命令RD_EN为高电平(第一电平状态)、写控制命令WR_EN为低电平(第四电平状态)。以及,在写周期,读控制命令RD_EN为低电平、写控制命令WR_EN为高电平。

在数据传输顺序错误的第一读周期中,顺序调整模块接收到的数据DATA0包括先并行传输的第0-7位数据,以及后并行传输的第8-15位数据。此时,通过8个第一D触发器D1可以在第一时钟信号CLK1的控制下,基于输入数据DATA0调制输出第一传输数据DATA1,其中,第一传输数据DATA1包括:从第一时钟信号的第一个触发沿开始并行传输的第0-7位数据,以及从第一时钟信号的第二个触发沿开始并行传输的第8-15位数据。通过8个第二D触发器D2可以在第一时钟信号CLK1的控制下,基于第一传输数据DATA1调制输出第二传输数据DATA2。其中,第二传输数据DATA2包括:从第一时钟信号的第二个触发沿开始并行传输的第0-7位数据,以及从第一时钟信号的第三个触发沿开始并行传输的第8-15位数据。

此时,8个第一数据选择器M1和8个第二数据选择器M2可以在第一控制子信号CA3B处于低电平(第二电平状态)以及第二控制子信号CA3处于高电平(第三电平状态)时,将第一传输数据DATA1作为第一被选择数据DATA_H,以及将第二传输数据DATA2作为第二被选择数据DATA_L。

通过8个第一锁存器D3,可以在第二时钟信号为高电平(触发电平)时将第一被选择数据DATA_H中的比特数据,作为第15-8位数据输出。示例性地,对于第i个顺序调整子模块41中的第一锁存器D3,其接收的第一被选择数据DATA_H在第二时钟信号为高电平时为第i+n个比特,相应地,第i个顺序调整子模块41中的第一锁存器D3输出第i+n个比特。

通过8个第二锁存器D4,可以在第二时钟信号为高电平(触发电平)时将第二被选择数据DATA_L中的比特数据,即第0-7位数据输出。示例性地,对于第i个顺序调整子模块41中的第二锁存器D4,其接收的第二被选择数据DATA_L在第二时钟信号为高电平时为第i个比特,相应地,第i个顺序调整子模块41中的第二锁存器D4输出第i个比特。

相应地,通过8个第一锁存器D3和第二锁存器D4,即可以得到调整正确的数据DATA3,将调整正确的数据DATA3输入CRC校验模块,即可得到读出校验数据CRC_CODE。

在数据传输顺序正确的第二读周期中,顺序调整模块接收到的数据DATA0包括先并行传输的第8-15位数据,以及后并行传输的第0-7位数据。此时,通过8个第一D触发器D1可以在第一时钟信号CLK1的控制下,基于输入数据DATA0调制输出第一传输数据DATA1,其中,第一传输数据DATA1包括:从第一时钟信号的第一个触发沿开始并行传输的第8-15位数据,以及从第一时钟信号的第二个触发沿开始并行传输的第0-7位数据。通过8个第二D触发器D2可以在第一时钟信号CLK1的控制下,基于第一传输数据DATA1调制输出第二传输数据DATA2。其中,第二传输数据DATA2包括:从第一时钟信号的第二个触发沿开始并行传输的第8-15位数据,以及从第一时钟信号的第三个触发沿开始并行传输的第0-7位数据。

此时,8个第一数据选择器M1和8个第二数据选择器可以在第一控制子信号CA3B处于低电平(第三电平状态)以及第二控制子信号CA3处于高电平(第二电平状态)时,将第二传输数据DATA2作为第一被选择数据DATA_H,以及将第一传输数据DATA1作为第二被选择数据DATA_L。

通过8个第一锁存器D3,可以在第二时钟信号为高电平(触发电平)时的第一被选择数据DATA_H,即第15-8位数据输出。以及,通过8个第二锁存器D4,可以在第二时钟信号为高电平(触发电平)时的第二被选择数据DATA_L,即第0-7位数据输出。需要说明的是,第一锁存器D3和第二锁存器D4可以参见本申请实施例上述部分的相关说明,在此不再赘述。

相应地,通过8个第一锁存器D3和第二锁存器D4,即可以得到调整正确的数据DATA3,将调整正确的数据DATA3输入CRC校验模块,即可得到读出校验数据CRC_CODE。

需要说明的是,写周期与第二读周期的处理原理类似,对此不再赘述。

本申请实施例结合图10至图17示出的数据处理电路,可顺序调整模块可以根据顺序调整控制信号,在读出数据或者写入数据输入顺序调整模块之前,对写入数据或读出数据执行数据传输顺序调整操作,将其调整至正确传输顺序后输入至校验模块,从而保证了输入至校验模块的写入数据或读出数据的正确性,进而可以提高所输出的写入校验数据或读出校验数据的正确性,从而可以进一步提高数据读写的可靠性。

在一些实施例中,本申请实施例提供的数据处理电路还可以包括信号拼接模块50。其中,信号拼接模块50与数据输出模块30连接。

图18示出了本申请实施例提供的再一种数据处理电路的结构示意图。如图18所示,信号拼接模块50,可以用于获取数据输出模块30输出的读出校验数据以及读出数据,将读出校验数据和读出数据拼接得到待读出数据,输出待读出数据。可选地,可以向半导体存储器的控制器传输待读出数据。示例性地,半导体存储器的控制器接收到该待读出数据之后,可以将待读出数据拆分为读出数据和读出验证数据两部分,并用读出验证数据来验证读出数据的正确性。

通过本实施例,将校验数据和读出数据作为待读出数据的方式,在后续过程中需要进行数据正确性验证时,可以基于待读出数据中的读出校验数据对读出数据进行验证,提高了验证的便捷性和准确性。

在一些实施例中,本申请实施例提供的数据处理电路还可以包括验证模块60。其中,验证模块60与数据输出模块30连接。

图18示出了本申请实施例提供的再一种数据处理电路的结构示意图。参见图18,验证模块60可以用于获取数据输出模块30输出的写入校验数据以及写入数据的基准校验数据,对写入校验数据与基准校验数据进行比较,得到写入数据的验证结果。

示例性地,可以从半导体存储器的控制器获取的待写入数据分离成写入数据和写入校验数据两部分,通过数据处理电路生成写入数据的写入校验数据,以及将分离出的写入校验数据作为基准验证数据。若所生成的写入校验数据与基准校验数据一致,则验证通过,此时可以向半导体存储单元存储该写入数据。若所生成的写入校验数据与基准校验数据不一致,则验证不通过,可以执行校验不通过的策略,比如可以向控制器重新请求写入数据。

通过本实施例,可以对写入数据的正确性进行验证,提高了写入数据的准确性。

基于同一发明构思,本申请实施例中还提供了一种数据处理方法,如下面的实施例。由于该方法实施例解决问题的原理与上述装置实施例相似,因此该方法实施例的实施可以参见上述装置实施例的实施,重复之处不再赘述。

图19示出本申请实施例中一种数据处理方法的流程示意图,如图19所示,该数据处理方法1900可以包括S1910至S1930。

S1910,数据选择模块在接收到的写控制命令为第一电平状态时,接收写入数据以及输出写入数据;以及在接收到的读控制命令为第一电平状态时,接收读出数据以及输出读出数据;

S1920,校验模块接收写入数据或读出数据,对写入数据或读出数据进行校验处理,获得写入校验数据或读出校验数据,以及输出写入校验数据或读出校验数据;

S1930,数据输出模块接收写入校验数据或读出校验数据,在写控制命令为第一电平状态时输出写入校验数据,在读控制命令为第一电平状态时输出读出校验数据。

本申请实施例所提供的数据处理方法,可以在写控制命令为第一电平状态时,通过数据选择模块接收写入数据之后,可以将其发送至校验模块进行校验处理,以及将校验处理得到的写入校验数据利用数据输出模块进行输出。以及,在读控制命令为第一电平状态时,通过数据选择模块接收读出数据之后可以利用校验模块对其进行校验处理,以及将校验处理得到的读出校验数据通过数据输出模块输出。由于无需利用不同的数据处理电路分别对写入数据和读出数据进行处理,仅通过一个数据处理电路可以根据写控制命令和读控制命令选择写入数据或读出数据进行校验处理、且该数据处理电路生成用于对写入数据进行正确性校验的写入校验数据或生成用于对读出数据进行正确性校验的读出校验数据,从而在兼顾半导体存储器尺寸的同时保证了数据读写的可靠性。

在一些实施例中,在S1910之后、在S1920之前,数据处理方法还可以包括步骤A1。

步骤A1,顺序调整模块接收数据选择模块输出的写入数据或读出数据,根据顺序调整控制信号,对写入数据或读出数据执行数据传输顺序调整操作,将写入数据或读出数据调整至正确传输顺序后输出;

相应地,S1920可以具体包括:

校验模块接收被调整至正确传输顺序的写入数据或被调整至正确传输顺序的读出数据;对被调整至正确传输顺序的写入数据或被调整至正确传输顺序的读出数据进行校验处理,获得写入校验数据或读出校验数据;以及输出写入校验数据或读出校验数据。

在一些实施例中,数据选择模块通过n条数据线在一个数据传输周期中将2n比特的写入数据或读出数据传输至顺序调整模块,2n比特中的第n+1比特至第2n比特并行传输,第1比特至第n比特并行传输,第i个比特和第i+n个比特使用同一条数据线串行传输,n为大于或等于1的正整数,i为大于或等于1且小于或等于n的正整数;

顺序调整模块可以包括并行的n个顺序调整子模块,每个顺序调整子模块设有数据输入端、第一输出端和第二输出端。第i个顺序调整子模块的数据输入端连接数据选择模块。第i个顺序调整子模块的第一输出端和第二输出端连接校验模块。

相应地,步骤A1可以包括:

第i个顺序调整子模块的数据输入端接收在每个数据传输周期中传输的第i个比特和第i+n个比特,i为大于或等于1且小于或等于n的正整数;第i个顺序调整子模块将每个数据传输周期中的第i个比特和第i+n个比特的顺序调整为正确传输顺序,其中,在顺序调整控制信号指示数据传输顺序倒置时,将在每个数据传输周期中所接收的第i个比特和第i+n个比特的顺序互换,而在顺序调整控制信号指示数据传输顺序正确时,保持在每个数据传输周期中所接收的第i个比特和第i+n个比特的顺序不变;第i个顺序调整子模块的第一输出端和第二输出端分别将被调整至正确传输顺序的第i个比特和第i+n个比特输出至校验模块。

在一些实施例中,第i个顺序调整子模块,可以包括:数据处理单元和顺序调整单元。其中,数据处理单元,设有输入端、第一输出端、第二输出端及第一控制端,数据处理单元的输入端作为第i个顺序调整子模块的数据输入端。其中,顺序调整单元,设有第一输入端、第二输入端、第一输出端和第二输出端、第一控制端及第二控制端;顺序调整单元的第一输入端与数据处理单元的第一输出端连接,顺序调整单元的第二输入端与数据处理单元的第二输出端连接,顺序调整单元的第一输出端作为第i个顺序调整子模块的第一输出端,顺序调整单元的第二输出端作为第i个顺序调整子模块的第二输出端。

相应地,步骤A1可以具体包括:

数据处理单元的第一输入端接收在每个数据传输周期中串行传输的第i个比特和第i+n个比特;数据处理单元的控制端接收第一时钟信号;响应于第一时钟信号的控制,数据处理单元根据串行接收的第i个比特和第i+n个比特,生成并行传输的第一传输数据和第二传输数据;其中,第一传输数据包括在第一时钟信号的第二个触发沿采样获得的第i+n个比特,第二传输数据包括在第一时钟信号的第二个触发沿采样获得的第i个比特;数据处理单元的第一输出端和数据处理单元的第二输出端用于并行输出第一传输数据及第二传输数据;

顺序调整单元的第一输入端接收第一传输数据,和顺序调整单元的第二输入端接收第二传输数据;顺序调整单元的第一控制端接收顺序调整控制信号;顺序调整单元的第二控制端接收第二时钟信号;顺序调整单元根据顺序调整控制信号以及第二时钟信号,对第一传输数据和第二传输数据进行顺序调整。

其中,当顺序调整控制信号指示数据传输顺序倒置,在第二时钟信号为触发电平时,将第一传输数据中的第i+n个比特作为高位比特数据通过顺序调整单元的第一输出端输出,第二传输数据中的第i个比特作为低位比特数据通过顺序调整单元的第二输出端输出,而当顺序调整控制信号指示数据传输顺序正确时,则在第二时钟信号为触发电平时,将第二传输数据中的第i个比特作为高位比特数据通过顺序调整单元的第一输出端输出,第一传输数据中的第i+n个比特作为低位比特数据通过顺序调整单元的第二比特输出端输出;

其中,第二时钟信号的触发电平翻转时刻与第一时钟信号的第二个触发沿的出现时刻对齐,第二时钟信号的触发电平翻转时刻为第二时钟信号由非触发电平翻转至触发电平的时刻。

在一些实施例中,顺序调整单元可以包括数据选择子单元、第一输出子单元和第二输出子单元。其中,数据选择子单元,设有第一输入端、第二输入端、第一输出端和第二输出端,数据选择子单元的第一输入端作为顺序调整单元的第一输入端,数据选择子单元的第二输入端作为顺序调整单元的第二输入端。其中,第一输出子单元,包括第一输出子单元的输入端、控制端及输出端;第一输出子单元的输入端连接数据选择子单元的第一输出端,第一输出子单元的输出端作为顺序调整单元的第一输出端。其中,第二输出子单元,包括第二输出子单元的输入端、控制端及输出端;第二输出子单元的输入端连接数据选择子单元的第二输出端,第二输出子单元的控制端用于接收与第二时钟信号;第一输出子单元的控制端连接,第二输出子单元的输出端作为顺序调整单元的第二输出端。

步骤A1可以包括:

数据选择子单元的第一输入端获取第一传输数据;数据选择子单元的第二输入端获取第二传输数据;数据选择子单元根据顺序调整控制信号,将第一传输数据和第二传输数据在对应的输出端选择输出,其中,当顺序调整控制信号指示数据传输顺序倒置时,在第一输出端输出第一传输数据,在第二输出端输出第二传输数据,当顺序调整控制信号指示数据传输顺序正确时,在第一输出端输出第二传输数据,在第二输出端输出第一传输数据;

第一输出子单元在第二时钟信号为触发电平时,将第一输出子单元的输入端接收到的传输数据,通过第一输出子单元的输出端输出;

第二输出子单元,用于在第二时钟信号为触发电平时,将第二输出子单元的输入端接收到的传输数据,通过第二输出子单元的输出端输出。

其中,顺序调整控制信号根据突发顺序字段中的预设比特位的值确定的,预设比特位用于表征数据传输顺序是否存在倒置,突发顺序字段通过对读写命令解码获得。

在一些实施例中,顺序调整控制信号可以包括第一控制子信号和第二控制子信号,第一控制子信号和第二控制子信号互为反向信号。

数据选择子单元,可以包括:

第一数据选择器,包括第一数据输入端、第二数据输入端、第一控制端及第一选择输出端;第一数据输入端作为数据选择子单元的第一输入端,用于接收第一传输数据;第二数据输入端作为数据选择子单元的第二输入端,用于接收第二传输数据;第一控制端用于接收第一控制子信号;第一选择输出端作为数据选择子单元的第一输出端,用于在第一控制子信号为第二电平状态的情况下输出第一传输数据,以及在第一控制子信号为第三电平状态的情况下输出第二传输数据;

第二数据选择器,包括第三数据输入端、第四数据输入端、第二控制端及第二选择输出端,第三数据输入端与第一数据输入端连接,用于接收第一传输数据;第四数据输入端与第二数据输入端连接用于接收第二传输数据;第二控制端用于接收第二控制子信号;第二选择输出端作为数据选择子单元的第二输出端,用于在第二控制子信号为第二电平状态的情况下输出第一传输数据,以及在第二控制子信号为第三电平状态的情况下输出第二传输数据。

在一些实施例中,第一输出子单元,可以包括:

第一锁存器,可以设有第一输入端、第一同相输出端、第一反相输出端、第三控制端,第一输入端作为第一输出子单元的输入端,第三控制端作为第一输出子单元的控制端,第一同相输出端作为第一输出子单元的输出端。

在一些实施例中,第二输出子单元,可以包括:

第二锁存器,可以设有第二输入端、第二同相输出端、第二反相输出端、第四控制端,第二输入端作为第二输出子单元的输入端,第四控制端作为第二输出子单元的控制端,第二同相输出端作为第二输出子单元的输出端。

在一些实施例中,数据处理单元的输出端可以包括第三输出子端口和第四输出子端口,数据处理单元的控制端包括第一控制子端口和第二控制子端口,

数据处理单元,可以包括:

第一D触发器,可以设有第三输入端、第三同相输出端、第三反相输出端、第五控制端,第三输入端作为数据处理子单元的输入端,第三输入端用于接收在每个数据传输周期中串行传输的第i个比特和第i+n个比特;第五控制端用于接收第一时钟信号;第三同相输出端作为数据处理单元的第一输出端,用于输出第一传输数据;

第二D触发器,可以设有第四输入端、第四同相输出端、第四反相输出端、第六控制端,第四输入端连接第三同相输出端,第四输入端用于接收第一传输数据;第六控制端与第五控制端连接,用于接收第一时钟信号;第四同相输出端作为数据处理单元的第二输出端,用于输出第二传输数据。

在一些实施例中,写入数据或读出数据在一个数据传输周期中通过n条数据线从数据选择模块传输2n比特至校验模块,2n比特中的第n+1比特至第2n比特并行传输,第1比特至第n比特并行传输,第i个比特和第i+n个比特使用同一条数据线串行传输,n为大于或等于1的正整数,i为大于或等于1且小于或等于n的正整数;

数据选择模块可以包括n个并行设置的数据选择子模块。

其中,S1910可以包括:第i个数据选择子模块在写控制命令为第一电平状态时,将接收到的写入数据在每个数据传输周期中的第i个比特和第i+n个比特输出;或者,在读控制命令为第一电平状态时,将接收接到的读出数据在每个数据传输周期中的第i个比特和第i+n个比特输出。

在一些实施例中,第i个数据选择子模块可以包括:写入数据选择单元、读出数据选择单元和信号输出单元。

写入数据选择单元,可以包括写入数据控制端、写入数据输入端及写入数据输出端,写入数据控制端用于接收写控制命令;写入数据输入端用于接收第i写入子数据,第i写入子数据为写入数据在每个数据传输周期中传输第i个比特和第i+n个比特;写入数据选择单元用于响应写控制命令,在写入数据输出端输出第i写入子数据,其中,在写控制命令为第一电平状态时,输出第i写入子数据;

读出数据选择单元,可以包括读出数据控制端、读出数据输入端及读出数据输出端,读出数据控制端用于接收读控制命令;读出数据输入端用于接收第i读出子数据,第i读出子数据为读出数据在每个数据传输周期中连续传输第i个比特和第i+n个比特;读出数据选择单元用于响应读控制命令,在读出数据输出端输出第i读出子数据,其中,,在读控制命令为第一电平状态时,输出第i读出子数据;

信号输出单元,可以包括第一输入端、第二输入端和输出端,信号输出单元的第一输入端连接写入数据输出端,信号输出单元第二输入端连接读出数据输出端,信号输出单元的输出端用于输出第i写入子数据或第i读出子数据。

在一些实施例中,写入数据选择单元包括第一与门,第一与门包括第五输入端、第六输入端和第三输出端;第五输入端作为写入数据输入端;第六输出端作为写入数据控制端;第三输出端作为写入数据输出端;

读出数据选择单元包括第二与门,第二与门包括第七输入端、第八输入端和第四输出端;第七输入端作为读出数据输入端;第八输入端作为读出数据控制端;第四输出端作为读出数据输出端;

信号输出单元包括或非门和非门,其中,或非门包括第九输入端、第十输入端和第五输出端,第九输入端作为信号输出单元的第一输入端,第十输入端作为信号输出单元的第二输入端;非门包括第十一输入端和第六输出端,第十一输入端连接第五输出端,第六输出端作为信号输出单元的输出端。

在一些实施例中,数据输出模块可以包括第一输出子模块和第二输出子模块。

其中,第一输出子模块,包括写控制端、第一校验数据输入端和写入校验数据输出端。第二输出子模块,包括读控制端、第二校验数据输入端和读出校验数据输出端。

S1930可以包括:

写控制端接收写控制命令,第一校验数据输入端接收校验模块输出的写入校验数据或读出校验数据,写入校验数据输出端在写控制命令为第一电平状态时输出写入校验数据;

读控制端接收读控制命令,第二校验数据输入端接收校验模块输出的写入校验数据或读出校验数据,读出校验数据输出端在读控制命令为第一电平状态时输出读出校验数据。

在一些实施例中,第一输出子模块可以包括第三与门,第三与门包括第十二输入端、第十三输入端和第七输出端,第十二输入端作为第一校验数据输入端,第十三输入端作为写控制端,第七输出端为写入校验数据输出端;

第二输出子模块可以包括第四与门,第四与门包括第十四输入端、第十五输入端和第八输出端,第十四输入端作为第二校验数据输入端,第十五输入端作为读控制端,第八输出端作为读出校验数据输出端。

在一些实施例中,数据处理电路还可以包括步骤A2。

步骤A2,信号拼接模块获取读出校验数据以及读出数据,将读出校验数据和读出数据拼接得到待读出数据,输出待读出数据;

在一些实施例中,数据处理电路还可以包括步骤A3。

步骤A3,验证模块获取写入校验数据以及写入数据的基准校验数据,对写入校验数据与基准校验数据进行比较,得到写入数据的验证结果。

本申请实施例提供的数据处理方法,可以用于实现上述各装置实施例提供的数据处理电路,其实现原理和技术效果类似,为简介起见,在此不再赘述。

基于同一发明构思,本申请实施例还提供一种半导体存储器。半导体存储器可以包括数据处理电路以及半导体存储单元阵列。

其中,数据处理电路可以参见本申请实施例上述部分结合图1-图18的相关说明,在此不再赘述。

半导体存储器可以是诸如第四代双倍速率同步动态随机存储器(DDR4 SDRAM)、第四代低功耗双倍速率同步动态随机存储器(LPDDR4 SDRAM)、第五代双倍速率同步动态随机存储器(DDR5 SDRAM)、第五代低功耗双倍速率同步动态随机存储器(LPDDR4 SDRAM)等动态随机存储器中任意一种,对此不作具体限定。

需要说明的是,半导体存储器还可以是除动态随机存储器之外的其他存储器,对此不作具体限定。

在一个示例中,图20示出了本申请实施例提供的半导体存储器的结构示意图。如图20所示,半导体存储器2000可以包括数据处理电路2010和存储单元阵列2020。其中,虚线示出了写入数据的传输路径,实线示出了读出数据的传输路径。

具体地,写入数据可以经数据处理电路2010校验通过之后,存储至对应的存储单元阵列2020。读出数据可以经数据处理电路2011处理之后生成待读出数据进行输出。

本申请实施例所提供的半导体存储器,可以在写控制命令为第一电平状态时,通过数据选择模块接收写入数据之后,可以将其发送至校验模块进行校验处理,以及将校验处理得到的写入校验数据利用数据输出模块进行输出。以及,在读控制命令为第一电平状态时,通过数据选择模块接收读出数据之后可以利用校验模块对其进行校验处理,以及将校验处理得到的读出校验数据通过数据输出模块输出。由于无需利用不同的数据处理电路分别对写入数据和读出数据进行处理,仅通过一个数据处理电路可以根据写控制命令和读控制命令选择写入数据或读出数据进行校验处理、且该数据处理电路生成用于对写入数据进行正确性校验的写入校验数据或生成用于对读出数据进行正确性校验的读出校验数据,从而在兼顾半导体存储器尺寸的同时保证了数据读写的可靠性。

所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

需要明确的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。其中方法实施例描述得比较简单,相关之处请参见电路实施例的说明部分。本申请并不局限于上文所描述并在图中示出的特定步骤和结构。本领域的技术人员可以在领会本申请的精神之后,作出各种改变、修改和添加,或者改变步骤之间的顺序。并且,为了简明起见,这里省略对已知方法技术的详细描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的电路、方法和存储器,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些端口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

因此,本申请的保护范围应以权利要求的保护范围为准本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由所附的权利要求指出。

相关技术
  • 数据处理电路、方法及半导体存储器
  • 半导体存储器的刷新方法、刷新控制电路及半导体存储器
技术分类

06120114729295