数据传输装置、存储器控制装置和存储器系统的制作方法

文档序号:6736909阅读:160来源:国知局
专利名称:数据传输装置、存储器控制装置和存储器系统的制作方法
技术领域
本发明涉及能够存取非易失性存储器等并具有错误校正功能的数据传输装置、存储器控制装置和存储器系统。
背景技术
为了增加写入到存储器的数据的可靠性,使用图16所示的错误校正码(ECC)。特别是,在非易失性存储器中,如果在写入数据之后重复读取该数据或存储时间增加,则由于位损毁的原因,存储的数据可能劣化,或者不能读取正确的数据。为此,用于控制非易失性存储器的存储器控制器在写入数据的同时将错误校正码 (ECC)添加到写入数据,并在读取时进行错误检测和校正,由此提高数据可靠性。同时,如果在读取数据中出现错误,则错误的校正过程需要一定的时段,从而在校正完成之前难以从存储器控制器向外部输出数据,因而延迟了数据的输出。在这种情况下,如果存在随后的数据,则等待数据的输出。于是,数据读取性能降低。随着作为一类非易失性存储器的NAND闪速存储器在制造过程中逐年小型化,其数据可靠性下降。因此,存储器控制器需要具有更高校正能力的错误校正电路。然而,如图17所示,由于更高的错误校正能力或用于应用ECC的更大数据单位的原因,用于错误校正过程的时间增加。当在读取数据中出现错误时,进一步降低了数据读取性能。日本未审查专利申请公开公报No. 2000-57063披露了一种用于改善读取数据的性能的技术,在该技术中,设置多个缓冲器RAM,在进行错误校正的同时将下一数据读取到空的缓冲器。然而,在上述技术中,以从存储器读取的数据的顺序进行错误校正,并将数据传输到主机系统装置。因此,如果出现错误校正,则到主机系统的数据传输不可避免地受到延迟。

发明内容
鉴于以上问题,本发明期望提供一种即使在进行错误校正时仍能够降低数据传输延迟时间和传输数据所需时间的数据传输装置、存储器控制装置和存储器系统。根据本发明的实施例,提供了一种数据传输装置,所述数据传输装置包括第二存储器装置,其存储从第一存储器装置传输的数据,所述第一存储器装置存储附有错误校正码的数据;错误检测单元,其使用校正之前的数据和所述错误校正码来检测错误;错误校正单元,其基于来自所述错误检测单元的错误信息和错误检测信号获得错误位置,并基于错误位置信息和所述第二存储器装置的写入有含有错误的数据的地址来校正错误数据;数据信息存储区域,其包括多个区域,所述多个区域用于存储作为数据传输源的所述第一存储器装置的第一存储器地址、作为数据传输目的地的所述第二存储器装置的第二存储器地址、用于表示是否在传输数据中检测到错误的错误信号和用于表示所述第二存储器装置中存储的数据在完成所述错误校正之后是否有效的有效信号;以及控制单元,其输出第二存储器有效地址,所述第二存储器有效地址是所述第二存储器装置存储的数据中有效数据的存储器地址,所述控制单元从所述第二存储器装置的所述第二存储器有效地址读取数据,并且所述控制单元传输所读取的数据和所述第一存储器装置的与所述第二存储器有效地址相对应的地址。根据本发明的另一实施例,提供了一种存储器控制装置,所述存储器控制装置包括至少一个数据传输装置,其与第一存储器装置之间进行数据传输;及存储器控制器,其进行至少与主机设备之间的传输控制,其中,所述数据传输装置包括第二存储器装置,其存储从第一存储器装置传输的数据,所述第一存储器装置存储附有错误校正码的数据;错误检测单元,其使用校正之前的数据和所述错误校正码来检测错误;错误校正单元,其基于来自所述错误检测单元的错误信息和错误检测信号获得错误位置,并基于错误位置信息和所述第二存储器装置的写入有含有错误的数据的地址来校正错误数据;数据信息存储区域,其包括多个区域,所述多个区域用于存储作为数据传输源的所述第一存储器装置的第一存储器地址、作为数据传输目的地的所述第二存储器装置的第二存储器地址、用于表示是否在传输数据中检测到错误的错误信号和用于表示所述第二存储器装置中存储的数据在完成所述错误校正之后是否有效的有效信号;及第一控制单元,其输出第二存储器有效地址,所述第二存储器有效地址是所述第二存储器装置存储的数据中有效数据的存储器地址,所述第一控制单元从所述第二存储器装置的所述第二存储器有效地址读取数据,并且所述第一控制单元传输所读取的数据和所述第一存储器装置的与所述第二存储器有效地址相对应的地址,所述存储器控制器包括地址控制单元,其从所述主机设备接收读取命令、将读取逻辑地址转换成第一存储器物理地址、并将所述物理地址转换成逻辑地址;及传输控制系统,其在向所述主机设备输出数据时也传输逻辑地址,并在具有所述读取命令要求的大小的数据的传输完成时将用于表示数据传输完成的中断信号通知给主机。根据本发明的又一实施例,提供了一种存储器系统,所述存储器系统包括主机设备;第一存储器装置,其存储附有错误校正码的数据;及存储器控制装置,其进行所述主机设备和所述第一存储器装置之间的数据传输控制,其中,所述存储器控制装置具有至少一个数据传输装置,其与第一存储器装置之间进行数据传输;及存储器控制器,其进行至少与主机设备之间的传输控制,其中,所述数据传输装置包括第二存储器装置,其存储从第一存储器装置传输的数据,所述第一存储器装置存储附有错误校正码的数据;错误检测单元,其使用校正之前的数据和所述错误校正码来检测错误;错误校正单元,其基于来自所述错误检测单元的错误信息和错误检测信号获得错误位置,并基于错误位置信息和所述第二存储器装置的写入有含有错误的数据的地址来校正错误数据;数据信息存储区域,其包括多个区域,所述多个区域用于存储作为数据传输源的所述第一存储器装置的第一存储器地址、作为数据传输目的地的所述第二存储器装置的第二存储器地址、用于表示是否在传输数据中检测到错误的错误信号和用于表示所述第二存储器装置中存储的数据在完成所述错误校正之后是否有效的有效信号;及第一控制单元,其输出第二存储器有效地址,所述第二存储器有效地址是所述第二存储器装置存储的数据中有效数据的存储器地址,所述第一控制单元从所述第二存储器装置的所述第二存储器有效地址读取数据,并且所述第一控制单元传输所读取的数据和所述第一存储器装置的与所述第二存储器有效地址相对应的地址,所述存储器控制器包括地址控制单元,其从所述主机设备接收读取命令、将读取逻辑地址转换成第一存储器物理地址、并将所述物理地址转换成逻辑地址;及传输控制系统,其在向所述主机设备输出数据时也传输逻辑地址,并在具有所述读取命令要求的大小的数据的传输完成时将用于表示数据传输完成的中断信号通知给主机。根据本发明的上述实施例,即使在进行错误校正时,仍能够降低数据传输延迟时间和传输数据所需时间。


图1表示通过应用本发明第一实施例的数据传输装置获得的存储器系统的结构。图2是表示本发明第一实施例的读取第一存储器装置并控制读取数据信息存储区域的过程的流程图。图3是表示本发明第一实施例的从外部读取第二存储器单元的数据的过程的流程图。图4A 图4E表示在读取本发明第一实施例的第一存储器装置期间读取数据信息存储区域的条件。图5是表示通过应用本发明第二实施例的数据传输装置获得的存储器系统的结构。图6表示NAND闪速存储器的基本特性。图7表示命令格式示例。图8表示通过应用本发明第三实施例的数据传输装置获得的存储器系统的结构。图9表示通过应用本发明第四实施例的数据传输装置获得的存储器系统的结构。图10表示通过应用本发明第五实施例的数据传输装置获得的存储器系统的结构。图11表示PCI Express中使用的包格式。图12表示本发明第五实施例的存储器控制器和主机设备之间的数据传输以及存储器控制器和非易失性存储器之间的数据传输。图13表示通过应用本发明第六实施例的数据传输装置获得的存储器系统的结构。图14表示本发明实施例的无错误数据首先输出的效果。图15表示本发明实施例的在设置多个非易失性存储器I/F的情况下无错误数据首先输出的效果。图16表示为了提高写入到存储器的数据的可靠性而使用错误校正码(ECC)的情况。
图17表示用于应用ECC的数据单位增大的情况。
具体实施例方式在下文中,将参照

本发明的实施例。按照下述顺序进行说明。1.第一实施例2.第二实施例3.第三实施例4.第四实施例5.第五实施例6.第六实施例1.第一实施例图1表示通过应用本发明第一实施例的数据传输装置获得的存储器系统的结构。存储器系统10包括数据传输装置100和第一存储器装置200。本发明实施例的数据传输装置100从第一存储器装置200读取数据,并将数据传输到外部。数据传输装置100包括第一存储器装置接口(I/F)控制单元101、校正码生成单元102、错误校正单元103、错误检测单元104、第二存储器单元写入控制单元105和作为第二存储器装置的第二存储器单元106。数据传输装置100包括第二存储器单元读取控制单元107、读取数据信息存储区域控制单元108和读取数据信息存储区域109。读取数据信息存储区域109存储第二存储器单元106的地址(第二存储器地址112)和第一存储器装置200的存储器地址(第一存储器地址113),第二存储器单元106存储有从第一存储器装置200读取的数据。读取数据信息存储区域109存储错误标志110和有效标志111,错误标志110表示在读取自第一存储器装置200的数据中检测到错误,有效标志111表示第二存储器单元106中存储的数据在完成错误校正之后是有效的。当将数据写入到第一存储器装置200时,数据传输装置100从外部侧接收写入地址和数据,错误校正码(ECC)生成单元102生成用于写入数据的错误校正码(ECC)。另外,在数据传输装置100中,第一存储器装置I/F控制单元101控制存储器接口,并将写入数据和错误校正码(ECC)写入第一存储器装置200。这里,将参照图2说明直到将数据从第一存储器装置200读取到第二存储器单元106的过程。图2是表示本发明第一实施例的读取第一存储器装置并控制读取数据信息存储区域的过程的流程图。当从第一存储器装置200读取数据时,数据传输装置100从外部侧接收读取地址RADR和数据大小DSZ (步骤000)。如果读取数据信息存储区域109中存在具有设定成“无效”的有效标志111和设定成“否”的错误标志Iio的区域,则在第二存储器单元106中存在空区域。如果在第二存储器单元106中存在空区域(步骤001),则第一存储器装置I/F控制单元101控制存储器接口,以从第一存储器装置200的读取地址接收数据。将读取数据写入到第二存储器单元106的由读取数据信息存储区域控制单元108 指定的地址(步骤002和步骤00 ,并使用错误检测单元104并行检查读取数据中的错误。如果在读取数据中没有检测到错误(步骤004中的“否”),则将第一存储器装置读取地址、错误检测处理完成和未检测到错误通知给读取数据信息存储区域控制单元108。在读取数据信息存储区域控制单元108接收到第一存储器装置读取地址M1RADR、 错误检测处理完成EDE和未检测到错误信号时,进行下述处理。将与第二存储器单元106的写入地址中的被指定地址相对应的有效标志111设定成“有效”,将错误标志110设定成“否”,将第一存储器装置200的读取地址设定成第一存储器地址113,将第二存储器装置106的写入读取数据的地址设定成第二存储器地址112(步骤 005)。这里,写入到第一存储器地址113的地址和第二存储器单元106的写入地址在用于应用ECC的数据单位中匹配。例如,如果用于应用ECC的单位是512个字节,则写入地址是0x200的倍数,且该地址的最低的9位设定成0。同时,如果在读取数据中检测到错误(步骤004中的“是”),则将第一存储器装置读取地址M1RADR、错误检测处理完成EDE和检测到错误信号SED通知给读取数据信息存储区域控制单元108。在读取数据信息存储区域控制单元108接收到第一存储器装置读取地址、错误检测处理完成和检测到错误时,进行下述处理。将与第二存储器单元106的写入地址中指定的地址相对应的有效标志111设定成 “无效”,将错误标志110设定成“是”,将第一存储器装置200的读取地址设定成第一存储器地址113,将第二存储器单元106的写入读取数据的地址设定成第二存储器地址112(步骤 006)。接下来,将说明数据传输装置100中的错误校正过程。在错误校正单元103接收到错误检测时,存储错误信息和第一存储器装置读取地址M1RADR,进行错误检测,并将数据校正所需的第一存储器装置读取地址输出到读取数据信息存储区域控制单元108。这里,错误信息是指出错位组值(syndrome value) 0另外,错误校正单元103具有用于存储多条错误信息和第一存储器装置读取地址 MlRADR的区域。在读取数据信息存储区域控制单元108接收到需要进行数据校正的第一存储器装置读取地址(数据校正第一存储器地址)时,进行下述处理。读取数据信息存储区域控制单元108计算与来自读取数据信息存储区域109的第一存储器地址113的数据校正第一存储器地址相对应的第二存储器地址112。另外,读取数据信息存储区域控制单元108将用于数据校正的第二存储器地址和用于声明校正的信号(校正指令信号)输出到第二存储器单元写入控制单元105。在第二存储器单元写入控制单元105接收到待校正的数据的第二存储器地址及校正指令信号时,从第二存储器地址读取待校正的数据。另外,第二存储器单元写入控制单元105将这些数据及通过反转“0”和“1”获得的数据写入到第二存储器单元106,并将写入完成通知给读取数据信息存储区域控制单元108。读取数据信息存储区域控制单元108将与读取数据信息存储区域109之中的已完成校正的第二存储器地址112相对应的错误标志110设定成“否”,并将有效标志111设定成“有效”。接下来,将参照图3说明从外部读取第二存储器单元106的数据的过程。图3是表示本发明第一实施例的从外部读取第二存储器单元106的数据的过程的流程图。如果存在如下第二存储器地址112,则读取数据信息存储区域控制单元108进行下述处理(步骤100),即,在该第二存储器地址112中,读取数据信息存储区域109的有效标志111被设定成“有效”。读取数据信息存储区域控制单元108将第二存储器单元106的读取地址及读取请求输出到第二存储器单元读取控制单元107(步骤101)。第二存储器单元读取控制单元107接收读取请求,并从指定的第二存储器单元106读取及输出数据。读取地址从读取数据信息存储区域控制单元108输出(步骤102)。在完成数据的读取时,第二存储器单元读取控制单元107将读取完成通知给读取数据信息存储区域控制单元108(步骤103)。另外,读取数据信息存储区域控制单元108接收读取完成的通知,并将与第二存储器单元106的读取地址相对应的有效标志111设定成“无效”(步骤104)。另外,并行进行在来自第一存储器装置200的读取数据中存在错误的情况下的错误校正过程以及从第一存储器装置200读取下一数据的过程。通过使用读取数据信息存储区域控制单元108,基于读取数据信息存储区域109中是否存在具有设定成“否”的错误标志110和设定成“无效”的有效标志111的第二存储器地址112,来确定上述第二存储器单元106中的空区域(图2中的步骤001)。如果存在空区域,则将其第二存储器地址112通知给第二存储器单元写入控制单元105,并将读取自第一存储器装置200的数据写入到第二存储器单元106。图4A 图4E表示本发明第一实施例的在从第一存储器装置200读取数据时读取数据信息存储区域109的详细状态。具体地,如图4A所示,以512个字节为一个块的形式(在下文中,称作扇区),将错误校正码(ECC)添加到第一存储器装置200中所存储的数据。在从第一存储器装置200的地址0x10000开始的2KB数据的范围内,扇区SCTl (地址 0x10200)中存在错误且扇区 SCTO (0x10000)、SCT2 (0x10400)和 SCT3 (0x10600)中不存在错误的情况下,进行下述过程。在从第一存储器装置200的地址0x10000开始读取四个扇区的数据的情况下,能够确定第二存储器单元106的被写入从第一存储器装置200读取的数据的地址(0x0000)。接着,从第一存储器装置200读取扇区SCT0。在这种情况下,由于不存在错误,所以将读取数据信息存储区域109的错误标志110设定成“否”,并将有效标志111设定成“有效”。将第二存储器地址112设定成“0x0000”,并将第一存储器地址113设定成“0x10000”(图 4B)。如果检测到具有设定成“有效”的有效标志111的读取数据信息,则读取数据信息存储区域控制单元108向第二存储器单元读取控制单元107输出第二存储器地址
112“0x0000”。第二存储器单元读取控制单元107从第二存储器地址112 “0x0000”读取与一个扇区相对应的数据,且读取数据信息存储区域控制单元108输出第一存储器地址
113“0x10000”。如果完全读取了一个扇区的数据,则第二存储器单元读取控制单元107将读取完成通知给读取数据信息存储区域控制单元108。读取数据信息存储区域控制单元108将第二存储器地址112 “0x0000”的有效标志111设定成“无效”。在从第二存储器单元106读取数据的同时,从第一存储器装置200读取扇区SCTl 的数据。确定第二存储器单元106的被写入从第一存储器装置200读取的扇区SCTl的数据的地址(0x0200),并从第一存储器装置200的地址“0x10200”读取扇区SCTl的数据。由于这些数据中包括错误,所以通过错误检测单元104检测出错误。如图4C所示, 读取数据信息存储区域109的错误标志110设定成“是”,有效标志111设定成“无效”。另外,第二存储器地址112设定成“0x0200”,第一存储器地址113设定成“0x10200”。在这个状态下,由于不存在具有设定成“有效”的有效标志111的数据,所以没有对第二存储器单元106进行数据的读取。错误校正单元103从错误检测单元104接收错误校正信息(出错位组),并进行错误校正。在错误校正的同时,从第一存储器装置200读取扇区SCT2的数据。确定第二存储器单元106的被写入从第一存储器装置200读取的扇区SCT2的数据的地址(0x0400),并从第一存储器装置200的地址“0x10400”读取扇区SCT2的数据。由于这些数据中不存在错误,所以如图4D所示,读取数据信息存储区域109的错误标志110设定成“否”,有效标志111设定成“有效”。另外,第二存储器地址112设定成 “0x0400”,第一存储器地址113设定成“0x10400”。在图4D的状态下,由于没有完成第二存储器地址112 “0x0200”的数据的校正,所以首先读取第二存储器地址112 “0x0400”的数据。在使用错误校正单元103进行错误校正的同时,从第一存储器装置200读取扇区 SCT3的数据。在完成第二存储器地址112 “0x0200”的数据的校正时,将被校正的第一存储器装置200的地址通知给读取数据信息存储区域控制单元108。读取数据信息存储区域控制单元108对包括待校正的第一存储器地址的第一存储器地址113进行搜索,并检测与第一存储器地址113 “0x10200”相对应的第二存储器地址112 “0x0200”。将从待校正的第一存储器地址减去第一存储器地址113 “0x10200”获得的值,与第二存储器地址112 “0x0200”相加,得到的值与校正指令信号一起输出到第二存储器单元写入控制单元105作为校正地址。第二存储器单元写入控制单元105从第二存储器单元106读取接收自读取数据信息存储区域控制单元108的校正地址的数据,然后通过反转数据并将数据再次写入相同的地址来进行数据校正。在多个位中存在错误的情况下,进行前述过程,直至完成所有位的校正。在完成校正数据的写入时,第二存储器单元写入控制单元105将写入完成通知给读取数据信息存储区域控制单元108。读取数据信息存储区域控制单元108将与那个地址相对应的错误标志110设定成“否”。在完成第二存储器地址112 “0x0200”的数据的错误校正,并完成从第一存储器装置200读取扇区SCT3的数据之后,直至完成从第二存储器地址112 “0x0400”的数据的读取,以下述方式进行该过程。具体地,读取数据信息存储区域109具有图4E所示的状态,顺序读取第二存储器地址112 “0x0200”和“0x0600”的两个扇区的数据,使得与已完成读取的第二存储器地址 112相对应的有效标志111设定成“无效”。2.第二实施例图5表示通过应用本发明第二实施例的数据传输装置获得的存储器系统的结构。根据第二实施例,第一存储器装置200是非易失性存储器,存储器系统IOA连接到主机设备300。在作为一类非易失性存储器200的NAND闪速存储器中,经常使用将来自主机设备 300的地址(在下文中,称为逻辑地址)转换成存储器地址(在下文中,称为物理地址)并存取NAND闪速存储器的技术(在下文中,称为逻辑-物理转换)。根据第二实施例,本发明应用到使用逻辑-物理转换的系统。图6表示NAND闪速存储器的基本特性。如图6所示,NAND闪速存储器200是能够以页PG为单位读取和写入数据的装置。 可根据装置的类型,将页大小设定成2KB、4KB、8KB等。由于禁止重写,所以如果一旦没有移除数据,则不能够再次写入数据。仅以块为单位移除数据,单个块BLK包括多个页。在本发明第二实施例的存储器系统IOA中,数据传输装置100包含在存储器控制器中,并将下述元件加入到第一实施例的结构中。基本上,存储器控制装置包括数据传输装置100和存储器控制器。存储器系统IOA还包括逻辑/物理地址控制单元120、存取大小存储单元121、主机I/F数据传输大小存储单元122和读取数据计数器123。另外,存储器系统IOA还包括用于构成存储器控制器126的读取数据传输完成通知单元124、主机I/F控制单元125、命令处理单元127、目的地址初始值存储单元1 和目的地址生成单元129。在存储器系统IOA中,存储器控制器1 连接到主机设备300。图7表示命令格式示例。命令格式CMDF包括操作码0P、逻辑地址LADR和传输数据大小TDS。在数据读取期间,主机设备300在目的地址初始值存储单元128中创建传输读取数据的目的地址的初始地址。将主机设备300读取的数据的逻辑地址和大小作为读取命令(图7)通知给存储器控制器126。
例如,通过从主机设备300的寄存器存取,将命令设定在命令处理单元127的内部
寄存器中。命令处理单元127接收读取命令,并将读取大小存储在存取大小存储单元121中。另外,命令处理单元127将待存取的逻辑地址输出到逻辑/物理地址控制单元120和目的地址生成单元129。另外,命令处理单元127从逻辑/物理地址控制单元120接收物理地址,并存取非易失性存储器200。当读取数据分布在多个页上时,通过多次生成物理地址来存取非易失性存储器200。主机I/F数据传输大小存储单元122限定一次性传输到主机设备300的数据的大小(主机I/F数据传输大小)。读取数据计数器123对读取数据进行计数。当读取数据从存储器控制器1 传输到主机设备300时,存储器控制器1 充当用于进行数据传输的总线主控器(bus master) 0从非易失性存储器(第一存储器装置)200读取数据的过程、将数据写入第二存储器单元106的过程及使用第二存储器单元读取控制单元107对读取数据进行读取的过程与第一实施例的这些过程相同。这里,将说明添加到读取数据的地址的生成。首先,通过使用逻辑/物理地址控制单元120将对应于读取数据的物理地址(第一存储器地址)转换成逻辑地址,并将其输出到目的地址生成单元129。目的地址生成单元129生成主机设备300的添加到读取数据的目的地址。基于以下信息生成主机设备300中的添加到读取数据的目的地。基于存储在目的地址初始值存储单元128中的目的地址、通过使用命令接收的逻辑地址和与读取数据相对应的逻辑地址生成目的地。另外,基于来自读取数据计数器123的读取数据的计数值和来自主机I/F数据传输大小存储单元122的主机I/F数据传输大小来生成目的地。具体地,目的地址生成单元1 将对应于读取数据的逻辑地址的值与通过使用命令接收的逻辑地址相减,并将目的地址初始值存储单元128中存储的地址的值相加到相减结果,以输出作为主机地址的结果。在读取数据的计数值到达主机I/F传输大小,且来自逻辑/物理地址控制单元120的逻辑地址保持为先前的逻辑地址的情况下,目的地址生成单元1 将主机I/F数据传输大小相加到目前的主机地址。另外,目的地址生成单元1 将新的主机地址输出到主机I/F控制单元125。在来自逻辑/物理地址控制单元120的逻辑地址变化的情况下,目的地址生成单元1 将对应于读取数据的逻辑地址的值与通过使用命令获得的逻辑地址相减。目的地址生成单元1 将目的地址初始值存储单元128中存储的地址的值相加到相减结果,并将其作为主机地址输出。如果根据读取数据计数器123的计数值检测到与存取大小存储单元121的存取大小及来自主机的读取大小相对应的数据的传输已完成,则读取数据传输完成通知单元124将该事件通知给主机I/F控制单元125。主机I/F控制单元125接收读取数据和读取数据的地址,并将它们转换成主机I/F的协议。所转换的数据和地址被传输到主机设备300。在完成传输与读取请求的大小相对应的数据时,为主机产生中断信号。3.第三实施例图8表示通过应用本发明第三实施例的数据传输装置获得的存储器系统的结构。第三实施例的存储器系统IOB在以下方面不同于第二实施例的存储器系统10A。具体地,第三实施例的存储器系统IOB额外具有读取数据信息存储区域控制单元 108的功能和传输模式选择单元130的功能。读取数据信息存储区域控制单元108具有优先权模式和连续模式。在优先权模式中,选择具有设定成“有效”的有效标志111的地址作为具有更高优先权的读取地址。在连续模式中,当将来自第一存储器装置(非易失性存储器)200的数据写入到第二存储器单元106时,根据第二存储器单元106的地址顺序写入数据。在读取时,依照第二存储器单元106的地址顺序选择读取地址。传输模式选择单元130具有设定优先权模式和连续模式中的哪个模式用于传输数据的功能,这可根据主机设备300设置。4.第四实施例图9表示通过应用本发明第四实施例的数据传输装置获得的存储器系统的结构。第四实施例的存储器系统IOC在以下方面不同于第二实施例的存储器系统10A。具体地,第四实施例的存储器系统IOC具有多个对应于数据传输装置100的数据传输单元100C和多个非易失性存储器200,存储器控制器1 额外还具有数据传输单元选择单元131。另外,存储器系统IOC具有选择哪个数据传输单元100C用于将数据输出到主机I/F控制单元125的功能。除第一实施例中描述的功能之外,数据传输单元100C的读取数据信息存储区域控制单元108还具有以下功能。在将读取请求发送给第二存储器单元读取控制单元107之前,读取数据信息存储区域控制单元108将输出请求输出到数据传输单元选择单元131。在从数据传输单元选择单元131接收到输出允许之后,读取数据信息存储区域控制单元108将读取请求发送给第二存储器单元读取控制单元107。数据传输单元选择单元131将目前选择的数据传输单元100C通知给逻辑/物理地址控制单元120。逻辑/物理地址控制单元120基于目前选择的数据传输单元100C生成逻辑地址,并生成物理地址。5.第五实施例图10表示通过应用本发明第五实施例的数据传输装置获得的存储器系统的结构。第五实施例的存储器系统IOD是通过将第四实施例的存储器系统IOC的概念进行下位化获得的。主机设备300的接口是作为串行传输I/F示例的PCI Express I/F。PCI Express能够以2.5(ibpS (第一代)高速串行传输、通过使用协议进行数据通信等。PCI Express广泛用作个人计算机(PC)或内置装置的内部总线,或用作Express Card总线。图11表示PCI Express中使用的包的格式。在PCI Express中,将TLP头401添加到数据。根据本发明的实施例,当读取数据从存储器控制器1 传输到主机设备300时,目的地址设定成TLP头401的地址,且读取数据设定成数据有效负荷(data pay load) 402 0图12说明了如下情况下的数据传输流根据第五实施例进行图4所示例说明的第一存储器装置200的数据读取示例。图12示出了主机设备300和存储器控制器1 之间的数据传输及存储器控制器126和非易失性存储器200之间的数据传输。通过PCI Express I/F将读取数据的目的地址(0x00000)从主机设备300传输(设定)到存储器控制器126。另外,还传输读取命令、逻辑地址0x10000以及具有2KB数据大小的各条信息。存储器控制器1 通过所接收的逻辑地址0x00000获得作为物理地址的块BLKlO和页PGO,并将读取命令和包括块BLKlO和页PGO的物理地址传输到非易失性存储器200。作为响应,非易失性存储器200将读取数据传输到存储器控制器126。存储器控制器1 进行控制,以便将512字节的数据记录在第二存储器单元106中、首先输出不存在错误的数据、并对待校正的数据进行数据校正。获得的数据被传输到主机设备300。已结合第一实施例详细说明了具体过程,这里将不再重复说明。6.第六实施例图13表示通过应用本发明第六实施例的数据传输装置获得的存储器系统的结构。根据第六实施例,存储器控制器和非易失性存储器安装在ExpressCard上,从而构成存储器卡400。图14表示第六实施例的通过首先输出无错误数据获得的效果。图15表示第六实施例的在设置多个非易失性存储器I/F的情况下通过首先输出无错误数据获得的效果。根据上述实施例,能够获得以下效果。如图14和图15所示,与相关技术相比,即使当错误校正占用很长的时间,也能够通过首先输出连续的无错误数据来降低传输数据所需的时间。根据本发明的实施例,主机在优先权模式和连续模式之间切换,其中,在优先权模式中,到主机设备的数据传输从经历错误校正的数据开始进行,在连续模式中,到主机的数据传输与从存储器的读取一样连续进行。因此,通过为不能够以优先权模式(该模式不连续读取数据)传输数据的主机设备选择连续模式,能够为各种类型的主机设备作准备。上文详细说明的方法可被实施为遵循前述顺序的程序且可由如中央处理单元(CPU)等计算机执行。上述程序可存储在诸如半导体存储器、磁盘、光盘和软(注册商标)盘等记录媒体中,或可配置成存取设有该记录媒体的计算机并执行前述程序。本领域技术人员应当理解,依据设计要求和其它因素,可以在本发明所附的权利要求或其等同物的范围内进行各种修改、组合、次组合及改变。
权利要求
1.一种数据传输装置,其包括第二存储器装置,其存储从第一存储器装置传输的数据,所述第一存储器装置存储附有错误校正码的数据;错误检测单元,其使用校正之前的数据和所述错误校正码来检测错误; 错误校正单元,其基于来自所述错误检测单元的错误信息和错误检测信号获得错误位置,并基于错误位置信息和所述第二存储器装置的写入有含有错误的数据的地址来校正错误数据;数据信息存储区域,其包括多个区域,所述多个区域用于存储作为数据传输源的所述第一存储器装置的第一存储器地址、作为数据传输目的地的所述第二存储器装置的第二存储器地址、用于表示是否在传输数据中检测到错误的错误信号和用于表示所述第二存储器装置中存储的数据在完成所述错误校正之后是否有效的有效信号;以及控制单元,其输出第二存储器有效地址,所述第二存储器有效地址是所述第二存储器装置存储的数据中有效数据的存储器地址,所述控制单元从所述第二存储器装置的所述第二存储器有效地址读取数据,并且所述控制单元传输所读取的数据和所述第一存储器装置的与所述第二存储器有效地址相对应的地址。
2.如权利要求1所述的数据传输装置,其中,所述控制单元以下述方式进行控制在当接收到数据读取请求时,所述数据信息存储区域的所述有效信号表示无效、所述错误信号表示未检测到错误,这表明所述第二存储器装置中存在空区域的情况下,确定所述第二存储器装置的写入地址,并将所述读取数据写入到所述第二存储器装置,在所述读取数据的错误检查的结果表明没有检测到错误的情况下,与被指定为所述第二存储器装置的写入地址的地址相对应的所述有效信号设定成“有效”,所述错误信号设定成“否”,所述第一存储器装置的已被读取的地址和所述第二存储器装置的写入地址设定在所述第一存储器地址中,在所述读取数据的错误检查的结果表明检测到错误的情况下,与被指定为所述第二存储器装置的写入地址的地址相对应的所述有效信号设定成“无效”,所述错误信号设定成 “是”,所述第一存储器装置的已被读取的地址和所述第二存储器装置的写入地址设定在所述第一存储器地址中。
3.如权利要求1所述的数据传输装置,其中,所述控制单元以下述方式进行控制在当从所述第二存储器装置读取数据时,所述数据信息存储区域中存在具有表示有效的所述有效信号的第二存储器地址的情况下,输出读取请求和所述第二存储器装置的读取地址、从地址被指定的所述第二存储器装置读取数据,并输出所述数据和对应于所述第二存储器地址的所述第一存储器地址,且在完成所述数据的读取时,与所述数据信息存储区域的所述第二存储器装置的所述读取地址相对应的所述有效信号设定成“无效”。
4.一种存储器控制装置,其包括至少一个数据传输装置,其与第一存储器装置之间进行数据传输;及存储器控制器,其进行至少与主机设备之间的传输控制, 其中,所述数据传输装置包括第二存储器装置,其存储从第一存储器装置传输的数据,所述第一存储器装置存储附有错误校正码的数据;错误检测单元,其使用校正之前的数据和所述错误校正码来检测错误;错误校正单元,其基于来自所述错误检测单元的错误信息和错误检测信号获得错误位置,并基于错误位置信息和所述第二存储器装置的写入有含有错误的数据的地址来校正错误数据;数据信息存储区域,其包括多个区域,所述多个区域用于存储作为数据传输源的所述第一存储器装置的第一存储器地址、作为数据传输目的地的所述第二存储器装置的第二存储器地址、用于表示是否在传输数据中检测到错误的错误信号和用于表示所述第二存储器装置中存储的数据在完成所述错误校正之后是否有效的有效信号;及第一控制单元,其输出第二存储器有效地址,所述第二存储器有效地址是所述第二存储器装置存储的数据中有效数据的存储器地址,所述第一控制单元从所述第二存储器装置的所述第二存储器有效地址读取数据,并且所述第一控制单元传输所读取的数据和所述第一存储器装置的与所述第二存储器有效地址相对应的地址,所述存储器控制器包括地址控制单元,其从所述主机设备接收读取命令、将读取逻辑地址转换成第一存储器物理地址、并将所述物理地址转换成逻辑地址;及传输控制系统,其在向所述主机设备输出数据时也传输逻辑地址,并在具有所述读取命令要求的大小的数据的传输完成时将用于表示数据传输完成的中断信号通知给主机。
5.如权利要求4所述的存储器控制装置,其中,所述第一控制单元以下述方式进行控制在当接收到数据读取请求时,所述数据信息存储区域的所述有效信号表示无效、所述错误信号表示未检测到错误,这表明所述第二存储器装置中存在空区域的情况下,确定所述第二存储器装置的写入地址,并将所述读取数据写入到所述第二存储器装置,在所述读取数据的错误检查的结果表明没有检测到错误的情况下,与被指定为所述第二存储器装置的写入地址的地址相对应的所述有效信号设定成“有效”,所述错误信号设定成“否”,并设定读取到所述第一存储器地址的所述第一存储器装置的地址,在所述读取数据的错误检查的结果表明检测到错误的情况下,与被指定为所述第二存储器装置的写入地址的地址相对应的所述有效信号设定成“无效”,所述错误信号设定成“是”,并将所述第一存储器装置的已被读取的地址设定在所述第一存储器地址中。
6.如权利要求4所述的存储器控制装置,其中,所述第一控制单元以下述方式进行控制以从所述第二存储器装置读取数据在所述数据信息存储区域中存在具有表示有效的所述有效信号的第二存储器地址的情况下,输出读取请求和所述第二存储器装置的读取地址,从地址被指定为输出数据和所述读取逻辑地址的所述第二存储器装置读取数据,且在完成所述数据的读取时,与所述数据信息存储区域的所述第二存储器装置的所述读取地址相对应的所述有效信号设定成“无效”。
7.如权利要求4 6中任一项所述的存储器控制装置,其中,所述存储器控制器包括目的地址存储单元,其存储目的地址的初始值,所述目的地址被指定用于将所述读取数据返回到所述主机设备;命令处理单元,其从所述主机设备接收读取命令,并通过分析所述命令输出读取的所述第一存储器装置的地址,所述读取命令具有读取地址和读取大小;地址控制单元,其将读取逻辑地址转换成第一存储器物理地址,并将所述物理地址转换成逻辑地址;接口控制单元,其基于所述命令处理单元通知的物理地址控制所述第一存储器装置的接口并读取数据;目的地址生成单元,其生成被指定用于将所述读取数据返回到所述主机设备的地址的初始值、与所述读取数据相对应的逻辑地址、及所述主机设备的目的地址,所述目的地址用于返回从所述读取命令指定的所述读取地址读取的数据;传输控制系统,其在将所述读取数据输出到所述主机设备时也传输所述目的地址,并在完成传输具有所述读取命令要求的大小的数据时将用于表示数据传输完成的中断信号通知给主机。
8.如权利要求4 6中任一项所述的存储器控制装置,其中,所述存储器控制器在所述数据传输装置和所述第一存储器装置之间包括多个接口,并具有选择所述数据传输装置的功能以从所述数据传输装置接收输出请求并进行数据传输。
9.如权利要求4 6中任一项所述的存储器控制装置,其中,所述数据传输装置具有连续模式和优先权模式,在所述连续模式中,数据以在所述第二存储器装置中存储的顺序传输,在所述优先权模式中,所述数据信息存储区域中的具有设定成“有效”的有效信号的地址被选择为具有较高优先权的读取地址,并且设定所述连续模式和所述优先权模式中的哪个模式用于传输数据。
10.一种存储器系统,其包括 主机设备;第一存储器装置,其存储附有错误校正码的数据;及存储器控制装置,其进行所述主机设备和所述第一存储器装置之间的数据传输控制, 其中,所述存储器控制装置具有至少一个数据传输装置,其与第一存储器装置之间进行数据传输;及存储器控制器,其进行至少与主机设备之间的传输控制, 其中,所述数据传输装置包括第二存储器装置,其存储从第一存储器装置传输的数据,所述第一存储器装置存储附有错误校正码的数据;错误检测单元,其使用校正之前的数据和所述错误校正码来检测错误; 错误校正单元,其基于来自所述错误检测单元的错误信息和错误检测信号获得错误位置,并基于错误位置信息和所述第二存储器装置的写入有含有错误的数据的地址来校正错误数据;数据信息存储区域,其包括多个区域,所述多个区域用于存储作为数据传输源的所述第一存储器装置的第一存储器地址、作为数据传输目的地的所述第二存储器装置的第二存储器地址、用于表示是否在传输数据中检测到错误的错误信号和用于表示所述第二存储器装置中存储的数据在完成所述错误校正之后是否有效的有效信号;及第一控制单元,其输出第二存储器有效地址,所述第二存储器有效地址是所述第二存储器装置存储的数据中有效数据的存储器地址,所述第一控制单元从所述第二存储器装置的所述第二存储器有效地址读取数据,并且所述第一控制单元传输所读取的数据和所述第一存储器装置的与所述第二存储器有效地址相对应的地址,所述存储器控制器包括地址控制单元,其从所述主机设备接收读取命令、将读取逻辑地址转换成第一存储器物理地址、并将所述物理地址转换成逻辑地址;及传输控制系统,其在向所述主机设备输出数据时也传输逻辑地址,并在具有所述读取命令要求的大小的数据的传输完成时将用于表示数据传输完成的中断信号通知给主机。
11.如权利要求10所述的存储器系统,其中,所述存储器控制器包括目的地址存储单元,其存储目的地址的初始值,所述目的地址被指定用于将所述读取数据返回到所述主机设备;命令处理单元,其从所述主机设备接收读取命令,并通过分析所述命令输出读取的所述第一存储器装置的地址,所述读取命令具有读取地址和读取大小;地址控制单元,其将读取逻辑地址转换成第一存储器物理地址,并将所述第一存储器物理地址转换成逻辑地址;接口控制单元,其基于所述命令处理单元通知的物理地址控制所述第一存储器装置的接口并读取数据;目的地址生成单元,其生成被指定用于将所述读取数据返回到所述主机设备的地址的初始值、与所述读取数据相对应的逻辑地址、及所述主机设备的目的地址,所述目的地址用于返回从所述读取命令指定的所述读取地址读取的数据;传输控制系统,其在将所述读取数据输出到所述主机设备时也传输所述目的地址,并在完成传输具有所述读取命令要求的大小的数据时将用于表示数据传输完成的中断信号通知给主机。
12.如权利要求10或11所述的存储器系统,其中,所述数据传输装置具有连续模式和优先权模式,在所述连续模式中,数据以在所述第二存储器装置中存储的顺序传输,在所述优先权模式中,所述数据信息存储区域中的具有设定成“有效”的有效信号的地址被选择为具有较高优先权的读取地址,并且所述主机设备设定所述连续模式和所述优先权模式中的哪个模式用于传输数据。
13.如权利要求10或11所述的存储器系统,其中,所述主机设备和所述存储器控制器通过串行传输接口彼此连接。
全文摘要
本发明涉及数据传输装置、存储器控制装置和存储器系统。该数据传输装置包括第二存储器装置,其存储从第一存储器装置传输的数据;错误检测单元;错误校正单元;数据信息存储区域,其包括多个区域,多个区域用于存储第一存储器装置的第一存储器地址、第二存储器装置的第二存储器地址、表示是否在传输数据中检测到错误的错误信号和表示第二存储器装置中存储的数据在完成错误校正之后是否有效的有效信号;以及控制单元,其输出第二存储器有效地址,从第二存储器装置的第二存储器有效地址读取数据,并传输所读取的数据和第一存储器装置的与第二存储器有效地址相对应的地址。本发明在进行错误校正时仍能够降低数据传输延迟时间和数据传输所需时间。
文档编号G11C29/42GK102568603SQ20111037805
公开日2012年7月11日 申请日期2011年11月24日 优先权日2010年12月17日
发明者越山润一 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1