一种数据传输控制器及其混合存储装置的制作方法

文档序号:6402173阅读:143来源:国知局
专利名称:一种数据传输控制器及其混合存储装置的制作方法
技术领域
本发明涉及计算机存储技术领域,尤其涉及用于在混合存储装置中在非易失性存储器与易失性存储器之间进行数据传输操作的一种数据传输控制器及其一种混合存储装置。
背景技术
基于闪存(Flash Memory)技术的NAND闪存正在逐渐取代机械式硬盘而成为大容量数据的存储介质。其具有多达十万次的读取/写入寿命,同时具有尺寸小、抗震性能好等优点。NAND闪存中的数据在进行读取/写入操作时,通常以页(Page)为单位进行读取/写入操作。一个页数据通常为2KB或者4KB ;—个块数据(Block)通常包括64个、128或256个页数据。基于非易失性存储器与易失性存储器相互结合配置的混合存储装置充分发挥了易失性存储器(DRAM)运算速度快、带宽大以及非易失性存储器(NANDRS)制造成本低、使用寿命长、存储容量大、抗震性好的优点,正在成为计算机存储技术领域中的前沿技术。但是现有技术中的混合存储装置中的数据传输控制器在控制数据在易失性存储器与非易失性存储器之间进行数据传输的过程中无法及时发现数据的传输错误,导致重要数据的丢失,从而导致混合存储装置的可靠性不好。同时现有技术中的混合存储装置中的数据传输控制器通常设置一个CPU,该CPU与连接易失性存储器、非易失性存储器的控制总线相连,用以控制数据在易失性存储器与非易失性存储器之间的传输,从而造成这种结构的数据传输控制器的制造成本加大。最后,在现有技术中的混合存储装置的数据传输控制器中,数据在易失性存储器与非易失性存储器相互传输的过程中缺乏自主性,因此需要通过加载于数据传输控制器中的软件,例如ECC (错误-检测纠正)来对数据在传输过程中的错误进行检查与纠正,但这势必会增加主机的负担。有鉴于此,有必要对现有技术中的数据传输控制器及其混合存储装置予以改进,以解决上述问题。

发明内容
本发明的一个发明目的在于克服现有技术中的不足,提供一种数据传输控制器,用以及时发现并纠正易失性存储器与非易失性存储器之间进行数据传输的过程中的传输错误,防止重要数据的丢失,提高数据在传输过程中的自主性。为实现上述发明目的,本发明公开了一种数据传输控制器,包括:命令发布模块,藕接到控制总线并接收队列命令;第一端口,藕接到数据总线;第二端口,藕接到一个非易失性存储器;
推送模块,接收命令发布模块所存储的队列命令并拆分成若干子队列命令;逻辑控制模块,依次接收子队列命令并拆分成若干页命令,并根据数据传输的方向分别发送页命令至第一端口或第二端口;缓冲存储器,被配置成临时存储在第一端口和第二端口之间传输的数据。作为本发明的进一步改进,所述命令发布模块与控制总线之间、第一端口与数据总线之间、以及第二端口与非易失性存储器之间被配置有接口总线。作为本发明的进一步改进,所述接口总线包括I2C、SMBUS。作为本发明的进一步改进,所述缓冲存储器包括至少一个FIFO存储器。作为本发明的进一步改进,所述数据传输控制器还包括一状态管理寄存器,所述状态管理寄存器自控制总线获取非易失性存储器的配置信息,并发送至命令发布模块。作为本发明的进一步改进,所述配置信息在推送模块中拆分成若干子配置信息,并将该子配置信息与经所述推送模块拆分队列命令所形成的多个子队列命令相互绑定,并发送至逻辑控制模块。作为本发明的进一步改进,所述逻辑控制模块将子配置信息拆分成若干页配置信息,并根据数据传输方向分别发送页配置信息至第一端口或者第二端口。作为本发明的进一步改进,所述页配置信息分别与页命令在第一端口或者第二端口中相互绑定,并以页为单位对易失性存储器及非易失性存储器进行数据访问。本发明的另一个发明目的在于克服现有技术中的不足,提供一种可靠性高、扩展性强并显著降低制造成本的混合存储装置。为实现上述发明目的,本发明公开了一种混合存储装置,包括:分别与控制总线、数据总线并行设置的多个数据传输控制器,该数据传输控制器分别连接一非易失性存储器,并通过数据总线并行连接多个易失性存储器;其中,所述数据传输控制器,包括:命令发布模块,藕接到控制总线并接收队列命令;第一端口,藕接到数据总线;第二端口,藕接到一个非易失性存储器;推送模块,接收命令发布模块所存储的队列命令并拆分成若干子队列命令;逻辑控制模块,依次接收子队列命令并拆分成若干页命令,并根据数据传输的方向分别发送页命令至第一端口或第二端口;缓冲存储器,被配置成临时存储在第一端口和第二端口之间传输的数据。作为本发明的进一步改进,所述非易失性存储器的容量大于或者等于易失性存储器的容量。与现有技术相比,本发明的有益效果是:在推送模块与逻辑控制模块中对队列命令和配置信息分别进行两次拆分,并将页命令与页配置信息相互绑定后以页为单位对易失性存储器、非易失性存储器进行数据传输。通过这种设置,可及时发现并纠正易失性存储器与非易失性存储器之间进行数据传输的过程中的传输错误,防止重要数据的丢失,有效地提高了数据在传输过程中的自主性;提高了混合存储装置的可靠性与扩展性;同时降低了混合存储装置的制造成本。


图1为实施例一中本发明一种数据传输控制器的结构示意图;图2为实施例一中的数据传输控制器将数据从易失性存储器传输至非易失性存储器的结构示意图;图3为实施例一中的数据传输控制器将数据从非易失性存储器传输至易失性存储器的结构示意图;图4为将队列命令Q拆分成mXn矩阵的页命令的示意图;图5为与图4中mXn矩阵的页命令相对应的页数据的示意图;图6为图1中所示的缓冲存储器的结构示意图;图7为实施例二中本发明一种数据传输控制器的结构示意图;图8为实施例三中本发明一种混合存储装置的结构示意图。
具体实施例方式下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。实施例一请参图1至图6所示的本发明一种数据传输控制器的一种实施方式。参图1所示,一种数据传输控制器100,其通过接口总线110分别与控制总线10、数据总线20相连。该数据传输控制器100可通过控制总线10获取队列命令Q ;并通过数据总线20获取自易失性存储器108向非易失性存储器107传输的数据D或者从非易失性存储器107向易失性存储器108传输的数据D。在本实施方式中,该数据传输控制器100包括:命令发布模块101,藕接到控制总线10并接收队列命令Q ;第一端口 104,藕接到数据总线20 ;第二端口 105,藕接到一个非易失性存储器107 ;推送模块102,接收寄存器101中所存储的队列命令Q并拆分成若干子队列命令(Qp Q2.....Qffl)后发送至逻辑控制模块103 ;逻辑控制模块103,依次接收子队列命
令(Q1、Q2.....Qm)并拆分成若干页命令(Qn、Q12-...Q1J,并根据数据传输的方向将页命令
(Q11 > Qi2-...QJ发送至第一端口 104或者第二端口 105 ;缓冲存储器106,被配置成临时存储在第一端口 104和第二端口 105之间传输的数据。具体的,该命令发布模块101由多个命令寄存器(未图示)所组成。作为优选的实施方式,所述非易失性存储器107为NAND闪存;所述易失性存储器108为动态随机存取存储器(DRAM)。需要说明的是,该非易失性存储器107也可为相变存储器(FCM)、强介电体存储器(FeRAM)、磁记录式随时写入读出存储器(MRAM)、双向统一存储器(OUM)或者电阻RAM(RRAM)。在本实施方式中,该数据总线20还可通过PC1-e接口 119与外围I/O 118相连,用以从外部获取需要向NAND闪存(非易失性存储器107)中写入数据或从NAND闪存(非易失性存储器107)中将数据写入与外围1/0118相连外部具有存储、通讯、数据处理功能的电子设备(未图示),例如:基于PC1-e接口 119的外部存储设备或通讯设备(如显卡、网卡、SSD)。在本实施方式中,所述命令发布模块101与控制总线10之间被配置有接口总线110,用以从控制总线10中获取队列命令Q ;所述第一端口 104与数据总线20之间、第二端口 105与非易失性存储器107之间同样分别设置相同的接口总线110,用以进行数据传输。具体的,该接口总线110包括I2C, SMBUS,并优选为SMBUS0 SMBUS(SystemManagement Bus)是一种二线制串行总线。其抛弃了传统的中央处理器中控制总线和数据总线的形式,因此通过接口总线110可传输数据信号(Data)、时钟信号(CLK)、地址信号(Address)。参图6所示,在本实施方式中,该缓冲存储器106包括至少一个FIFO存储器(1061、1062....106k),并优选为两个FIFO存储器。FIFO存储器是一种先进先出(First In First Out)存储器。在本实施方式中,在FIFO存储器中附加了表示缓存器状态(Buffer Full,缓存器已满;Buffer Empty,缓存器为空)的状态引脚(未图示)。通过状态引脚连接于FIFO存储器(1061、1062.…106k)的双方(即图6中的第一端口 1 04与第二端口 105)利用FIFO存储器(1061、1062....106k)的状态进行操作的控制。当从易失性存储器108向非易失性存储器107传输数据D的情况下,如果第二端口 105通过状态引脚探测到某一个FIFO存储器的状态为(Buffer Full,缓存器已满)时,该状态为(Buffer Full,缓存器已满)的FIFO存储器发送请求调用信号至第二端口 105,并通过第二端口 105立刻调用FIFO存储器中的数据。反之当数据从非易失性存储器107向易失性存储器108传输数据D时亦然。需要说明的是,存储于FIFO存储器(1061、1062....106k)中数据以页(Page)为基本操作单位。配合参照图4与图5所示,当某一大小的数据D从易失性存储器108传输至非易失性存储器107中或者数据从非易失性存储器107传输至易失性存储器108中的过程中,某一大小的数据D对应的队列命令Q在推送模块102中可被拆分成m个子队列命令(Q1^ Q2……Qffl),而每个子队列命令(Q^ Q2……Qffl)在逻辑控制模块103中又可被拆分成η个页命令,从而形成如图4所示的mXn矩阵的页命令。同时,主机50会将需要在易失性存储器108与非易失性存储器107之间需要传输的数据预先以页(Page)为大小,划分mXn矩阵的页数据。具体的,页命令的拆分首先取决于数据D的大小与非易失性存储器107的物理存储特性,例如:每一页数据(Page)为多少KB,每一块数据(Block)包括多少页(Page)。首先,我们对数据D从易失性存储器108传输至非易失性存储器107这一过程进行详细阐述。结合参照图1、图2所示,命令发布模块101通过接口总线110从控制总线10中获取某一大小的数据D对应的队列命令Q,然后发送至推送模块102中,推送模块102将队列命令Q拆分成m个子队列命令(Q1' Q2.....Qj。具体的,推送模块102首先发送第一个子队列命令Q1至逻辑控制模块103,接着逻辑控制模块103将第一个子队列命令Q1拆分成η个页命令(Qn、Q12......Qln)。逻辑控制模块103首先将第一个子队列命令Q1中的页命令Q11发送至第一端口104,第一端口 104将该页命令Q11通过接口总线110从易失性存储器108获取该页命令Qn所对应的页数据D11,并将该页命令Q11与页数据D11在第一端口 104中绑定后发送至缓冲存储器106中的FIFO存储器1061中。当页数据D11完成存储于FIFO存储器1061的操作后,第一端口 104向逻辑控制模块103反馈传输成功信号。接着,FIFO存储器1061发送请求调用信号至第二端口 105,第二端口 105调用FIFO存储器1061中页数据D11。接着,该逻辑控制模块103将第一个子队列命令Q1中的页命令Q12发送至第一端口 104,并通过缓冲存储器106、第二端口 105、接口总线110写入非易失性存储器107中,并循环往复地执行,直到将第一个子队列命令Q1所对应的所有页数据(Dn、D12....Dln)全部执行完毕。当第一子队列命令Q1执行完毕之后,逻辑控制模块103反馈传输成功信号至推送模块102,从执行第二个子队列命令Q2,依次类推直至完成执行队列命令Q,从而实现了将数据D从易失性存储器108传输至非易失性存储器107。若子队列命令Q1所对应的某一页数据Dlj未成功地存储于缓冲存储器106时,将该页数据Dlj所对应的页命令Qlj通过第一端口 104向逻辑控制模块103反馈传输失败信号;若子队列命令Q1所对应的某一页数据Du未成功地从缓冲存储器106发送至第二端口 105时,将该页数据Dlj所对应的页命令Qlj通过第二端口 105向逻辑控制模块103反馈传输失败信号。基于上述两种页数据Dlj传输失败的情况,逻辑控制模块103将该传输失败信号发送至推送模块102 ;由该 推送模块102将该传输失败的页命令Qlj所对应的子队列命令Q1重新发送至逻辑控制模块103中,并再次将子队列命令Q1拆分成η个页命令(Qn、Q12....Qln)并重新对子队列命令Q1中的η个页命令(Qn、Q12....Qln)所对应的页数据(Dn、D12....Dln)再次传输一遍,直至该队列命令Q1所对应的页数据(Dn、D12....Dln)成功地从易失性存储器108中传输非易失性存储器107中。具体的,在本实施方式中,该非易失性存储器107为NAND闪存。页数据(Dn、D12....Dln)组成NAND闪存中一个块数据Dp所以当数据D从DRAM(易失性存储器108)写入至NAND闪存(非易失性存储器107)时,可通过该数据传输控制器100针对数据D中的每一个块数据Di及属于该块数据Di的所有页数据(Dn、Di2....Din)的传输情况作实时监控,从而及时发现数据传输过程中的错误,防止重要数据在传输过程中的意外丢失,提高了易失性存储器108与非易失性存储器107之间进行数据传输的可靠性与稳定性。配合参图4、图5及图6所示,该缓冲存储器106包括多个FIFO存储器(1061、1062……106k)。当页数据Du存储于FIFO存储器1061之后,逻辑控制模块103将子队列命令Qi中的第二个页命令Qij+1发送至第一端口 104,并通过接口总线110获取页命令QiJ+1所对应的页数据0^+1。同时,第一端口 104会将页命令Qu+1所对应的页数据Du+1发送至FIFO存储器1062。在本实施方式中,当FIFO存储器1061中完成页数据Dij的存储操作时,FIFO存储器1061发送请求调用信号至第二端口 105,然后第二端口 105调取FIFO存储器1061中的页数据Du,并通过接口总线110发送至非易失性存储器107中。当第二端口 105将页数据Dij通过接口总线110写入非易失性存储器107之后,第二端口 105向逻辑控制模块103反馈传输成功的反馈信号。若第二端口 105未能将页数据Du通过接口总线110写入到非易失性存储器107的情况下,第二端口 105向逻辑控制模块103反馈数据传输失败信号,逻辑控制模块103将该传输失败信号发送至推送模块102 ;由该推送模块102将该传输失败的页数据所对应的页命令Qij所属的子队列命令Qi中所有的页命令(Qn、Qi2-...Qij> QiJ+1....Qin)所对应的页数据(Dn、Di2....DU、DU+1....Din)再次传输一遍,直至该队列命令Qi所对应的页数据(Dn、Di2....Dij^Dijtl....Din)成功地从易失性存储器108中写入非易失性存储器107中。在本实施方式中,所有的页数据(Dil、Di2....Dij^Dijtl....Din)构成了块数据Di ;所有的块数据(Dp D2....Dffl)构成了需要从易失性存储器108向非易失性存储器107传输的数据D。由于缓冲存储器106中包括多个FIFO存储器(1061、1062……106k),所以,当FIFO存储器1061保存页数据Du且该页数据Du未被第二端口 105所调用时,第一端口 104可将子队列命令Qi中的页命令Qij+1所对应的页数据Du+1绑定页命令Qu+1后,存储于FIFO存储器1062中。需要说明的是,页数据Dij从第一端口 104传输至FIFO存储器1061中的速度大于页数据Dij从FIFO存储器1061传输至第二端口 105的速度。所以,在缓冲存储器106中设置若干FIFO存储器(1061、1062……106k),以提高数据的传输效率。接下来,我们对数据D从非易失性存储器107传输至易失性存储器108这一过程进行详细阐述。结合参照图1、图3所示,命令发布模块101通过接口总线110从控制总线10中获取某一大小的数据D对应的队列命令Q,然后发送至推送模块102中,推送模块102将队列命令Q拆分成m个子队列命令(Q1' Q2.....Qj。具体的,推送模块102首先发送第一个子队列命令Q1至逻辑控制模块103,接着逻辑控制模块103将第一个子队列命令Q1拆分成η个页命令(Qn、Q12......Qln)。逻辑控制模块103首先将第一个子队列命令Q1中的页命令Q11发送至第二端口105,第二端口 105将该页命令Q11通过接口总线110从非易失性存储器107中获取该页命令Q11所对应的页数据D11 ;并将该页命令Q11与页数据D11在第二端口 105中绑定后发送至缓冲存储器106中的FIFO存储器1061中。当页数据D11完成存储于FIFO存储器1061的操作后,第二端口 105向逻辑控制模块103反馈传输成功信号。接着,该逻辑控制模块103将第一个子队列命令Q1中的页命令Q12发送至第二端口105,并通过缓冲存储器106、第一端口 104写入易失性存储器108中,并循环往复地执行,直到将第一个子队列命令Q1所对应的所有页数据(Dn、D12....Dln)全部执行完毕。当第一子队列命令Q1执行完毕之后,逻辑控制模块103反馈发送成功信号至推送模块102,从执行第二个子队列命令Q2,依次类推直至完成执行队列命令Q,从而实现了将数据D从非易失性存储器107传输至易失性存储器108。若子队列命令Q1所对应的某一页数据Dlj未成 功地存储于缓冲存储器106时,将该页数据Du所对应的页命令Qu通过第二端口 105向逻辑控制模块103反馈传输失败信号;若子队列命令Q1所对应的某一页数据Du未成功地从缓冲存储器106发送至第一端口 104时,将该页数据Dlj所对应的页命令Qlj通过第一端口 104向逻辑控制模块103反馈传输失败信号。基于上述两种页数据传输失败的情况,逻辑控制模块103将该发送失败信号发送至推送模块102 ;由该推送模块102将该传输失败的页命令Qlj所对应的子队列命令Q1重新发送至逻辑控制模块103中,并再次将子队列命令Q1拆分成η个页命令(Qn、Q12....Qln)并重新对子队列命令Q1中所有的页命令所对应的页数据(Dn、D12....Dln)再次传输一遍,直至该队列命令Q1所对应的页数据(Dn、D12....Dln)成功地从非易失性存储器107中写入易失性存储器108中。具体的,在本实施方式中,该非易失性存储器107为NAND闪存。页数据(Dn、D12....Dln)组成NAND闪存中一个块数据D1,所有的块数据(D1' D2....Dm)构成了需要从非易失性存储器107向易失性存储器108传输的数据D。所以当某一大数据D从非易失性存储器107传输至易失性存储器108时,可通过该数据传输控制器100针对数据D中的每一个块数据Di及属于该块数据Di的所有页数据(Dn、Di2....Din)的传输情况作实时监控,从而及时发现数据传输过程中的错误,防止数据在传输过程中的意外丢失,提高了易失性存储器108与非易失性存储器107之间进行数据传输的可靠性与稳定性。配合参图4、图5及图6所示,该缓冲存储器106包括多个FIFO存储器(1061、1062……106k)。当页数据Du存储于FIFO存储器1061之后,逻辑控制模块103将子队列命令Qi中的第二个页命令Qij+1发送至第二端口 105,并通过接口总线110获取页命令QiJ+1所对应的页数据0^+1。同时,第一端口 104会将页命令Qu+1所对应的页数据Du+1发送至FIFO存储器1062。在本实施方式中,当F IFO存储器1061中完成页数据Dij的存储操作时,FIFO存储器1061发送请求调用信号至第一端口 104,然后第一端口 104调取FIFO存储器1061中的页数据Du,并通过接口总线110发送至易失性存储器108中。当第一端口 104将页数据Dij写入易失性存储器108之后,第一端口 104向逻辑控制模块103反馈传输成功信号。若第一端口 104未能将页数据Dij写入到易失性存储器108的情况下,第一端口 104向逻辑控制模块103反馈数据传输失败信号,逻辑控制模块103将该传输失败信号发送至推送模块102 ;由该推送模块102将该传输失败的页数据所对应的页命令Qu所属的子队列命令Qi中所有的页命令(Qn、Qi2-...Qij> QiJ+1....Qin)所对应的页数据(Dn、Di2....Dij^Dijtl....Din)再次传输一遍,直至该队列命令Qi所对应的页数据(Dn、Di2....Dij,DiJ+1....Din)成功地从非易失性存储器107中写入易失性存储器108中。由于缓冲存储器106中包括多个FIFO存储器(1061、1062……106k),所以,当FIFO存储器1061保存页数据Du且该页数据Du未被第一端口 104所调用时,第二端口 105可将子队列命令Qi中的页命令Qij+1所对应的页数据Du+1绑定页命令Qu+1后,存储于FIFO存储器1062中。需要说明的是,页数据Dij从FIFO存储器1061传输至第一端口 104中的速度大于页数据Dij从第二端口 105传输至FIFO存储器1061的速度。所以,在缓冲存储器106中设置若干FIFO存储器(1061、1062……106k),以提高数据的传输效率。
实施例二请参图7所示的本发明一种数据传输控制器100的第二个实施例。配合参照图1所示,本实施例与实施一的主要区别在于,该数据传输控制器100还包括一个状态管理寄存器109,所述状态管理寄存器109通过接口总线110与控制总线10相连,控制总线10通过接口总线110与主机50相连,用以通过控制总线10获取非易失性存储器107中的配置信息,并发送至命令发布模块101。该状态管理寄存器109由若干个寄存器(Register)所组成。具体的,该配置信息包括:数据序列号、数据纠错码、数据溯源地信息、数据目标地信息、块数据的大小及页数据的大小。当NAND闪存(非易失性存储器107)与数据传输控制器100电性连接并对系统上电操作后,主机50会通过控制总线10自动获取NAND闪存(非易失性存储器107)中包括多少个块(Block)、每个块(Block)包括多少个页(Page),从而获取块数据的大小与页数据的大小。所述配置信息在推送模块102中拆分成若干子配置信息,并与经推送模块102拆分队列命令Q所形成的多个子队列命令(Q1、Q2....Qm)相互绑定,并发送至逻辑控制模块103。所述逻辑控制模块103将子配置信息拆分成若干页配置信息,并根据数据D传输方向分别发送页配置信息至第一端口 104或者第二端口 105。配合参照图4及图5所示,该页配置信息还分别逐个与页命令(Qn、Q12....QJ在第一端口 104或者第二端口 105中相互绑定,并以页为单位对易失性存储器108及易失性存储器107进行数据访问。当通过第一端口 104从易失性存储器108获取页数据(Dn、D12....DJ后发送至缓冲存储器106中。同理,当通过第二端口 105从非易失性存储器107获取页数据(Dn、D12....DJ后发送至缓冲存储器106中。通过该状态管理寄存器109可准确采集NAND闪存(非易失性存储器107)的物理存储特性,并通过页配置信息引导页数据(Dn、D12....DJ写入NAND闪存(非易失性存储器107)中或从NAND闪存(非易失性存储器107)读取页数据(Dn、D12....DJ并传输至易失性存储器108中。因此,当推送模块102及逻辑控制模块103分别对队列命令Q进行两次拆分后,将
所有的页命令(Qn、Q12......Qmn)与页配置信息进行绑定,从而可通过该页配置信息为从易
失性存储器108中向NAND闪存(非易失性存储器107)中传输的数据或者从NAND闪存(非易失性存储器107)向易失性存储器108中传输的数据提供寻址和引导作用,从而有效地提高了数据在非易失性存储器107与易失性存储器108的传输过程中的自主性。在本实施方式中,该易失性存储器108是动态随机存取存储器(DRAM)。实施例三请参图8所示的本发明一种混合存储装置200的一种实施方式。在本实施方式中,一种混合存储装置200,包括:分别与控制总线10、数据总线20并行设置的多个数据传输控制器100,该数据传输控制器100分别连接一非易失性存储器107a、107b,并通过数据总线20并行连接两个易失性存储器108a、108b。配合参照图1、图4及图5所示,在本实施方式中,该数据传输控制器100,包括:
命令发布t旲块101,親接到控制总线10并接收队列命令Q ;弟一纟而口 104,親接到数据总线20 ;第二端口 105,藕接到一个非易失性存储器108a、108b ;推送模块102,接收命令发布模块101所存储的队列命令Q并拆分成若干子队列命令(Q1A2....Qm);逻辑控制模块103,依次接收子队列命令(Qp Q2....Qm)并拆分成若干页命令(Qn、Q12....Qj,并根据数据D传输的方向分别发送页命令(Qn、Q12....QJ至第一端口 104或第二端口 105 ;缓冲存储器106,被配置成临时存储在第一端口 104和第二端口 105之间传输的数据。在本实施方式中,该数据传输控制器100通过接口总线110分别与控制总线10、数据总线20相连;数据传输控制器100通过接口总线110分别与非易失性存储器108a、108b相连。该接口总线110包括I2C、SMBUS,并优选为 SMBUSoSMBUSGystem Management Bus)是一种二线制串行总线。其抛弃了传统的中央处理器中控制总线和数据总线的形式,因此通过接口总线110可传输数据信号(Data)、时钟信号(CLK)、地址信号(Address)。具体的,所述非易失性存储器107a、107b为NAND闪存;所述易失性存储器108a、108b优选为动态随机存取存储器(DRAM)。需要说明的是,该非易失性存储器107a、107b也可为相变存储器(FCM)、强介电体存储器(FeRAM)、磁记录式随时写入读出存储器(MRAM)、双向统一存储器(OUM)或者电阻RAM(RRAM)。在本实施方式中,该数据总线20还可通过PC1-e接口 119与外围I/O 118相连,用以从外部获取需要向NAND闪存中写入数据或从NAND闪存中将数据写入与外围1/0118相连外部具有存储、通讯、数据处理功能的电子设备(未图示),例如:基于PC1-e接口 119的外部存储设备(如显卡、网卡、SSD)。在本实施方式中,可充分发挥动态随机存取存储器(DRAM)运算速度快、带宽大以及NAND闪存制造成本低、使用寿命长、存储容量大、抗震性好的优点。从而使该混合存储装置200在数据从易失性存储器108a、108b传输至非易失性存储器107a、107b或者从非易失性存储器107a、107b将数据传输至易失性存储器108a、108b的过程中形成多个并行的数据传输通道,从而提高了该混合存储装置200的数据传输效率。需要说明的是,在本实施方式中,该数据传输控制器100通过其内部设置的第二端口 105 (参图1所示)藕接到一个非易失性存储器107a、107b。当然,我们也可将第二端口 105藕接多个非易失性存储器107。作为优选的实施方式,所述非易失性存储器107的容量大于或者等于易失性存储器108的容量;更优选的,非易失性存储器107与易失性存储器108的容量相等。在本实施方式中,该混合存储装置200中的控制总线10中不需要连接设置CPU(未图示);因此,可显著地降低该混合存储装置200的制造成本。该数据传输控制器100中的命令发布模块101藕接到控制总线10并接收队列命令Q,然后在推送模块102中将队列命令Q拆分成与数据D中的块数据(DpD2....Dm)对应的若干子队列命令(Q1A2....Qm),并在逻辑控制模块103中将每个子队列命令(Q1A2....Qm)拆分成与每个块数据(Dp D2....Dm)中的页数据(Dn、D12....DJ对应的若干页命令(Qn、Q12....Qmn),并根据数据传输方向分别发送页命令(Q11、Q12....Qmn)至第一端口 104或者第二端口 105,并以页为单位对易失性存储器108或者非易失性存储器107进行数据访问。
然后,将页命令(Qn、Q12....QJ与页数据(Dn、D12....Dj在第一端口 104或者第二端口 105中相互绑定后,通过缓冲存储器106在易失性存储器108与非易失性存储器107之间进行数据传输,其具体实现方式详见实施例一,在此不再赘述。显而易见的是,我们可以在控制总线10与数据总线20之间并行连接更多数量的数据传输控制器100及非易失性存储器107,从而实现根据实际使用需要对该混合存储装置200进行一定地扩展,从而有效地提高了该混合存储装置200的扩展性。以上描述的各实施例仅仅是示意性的,本申请可用于众多通用或者专用的计算系统环境或者配置、或通讯系统环境或设备中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理系统、基于微处理器的系统、可编程的消费电子设备、小型计算机、大型计算机,或者包括以上任何系统或设备的分布式计算环境,以及交换机、路由
-nfr ο上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
权利要求
1.一种数据传输控制器,其特征在于,包括: 命令发布模块,藕接到控制总线并接收队列命令; 第一端口,藕接到数据总线; 第二端口,藕接到一个非易失性存储器; 推送模块,接收命令发布模块所存储的队列命令并拆分成若干子队列命令; 逻辑控制模块,依次接收子队列命令并拆分成若干页命令,并根据数据传输的方向分别发送页命令至第一端口或第二端口; 缓冲存储器,被配置成临时存储在第一端口和第二端口之间传输的数据。
2.根据权利要求1所述的数据传输控制器,其特征在于,所述命令发布模块与控制总线之间、第一端口与数据总线之间、以及第二端口与非易失性存储器之间被配置有接口总线。
3.根据权利要求2所述的数据传输控制器,其特征在于,所述接口总线包括I2C、SM[BUS。
4.根据权利要求1所述的数据传输控制器,其特征在于,所述缓冲存储器包括至少一个FIFO存储器。
5.根据权利要求1所述的数据传输控制器,其特征在于,所述数据传输控制器还包括一状态管理寄存器,所述状态管理寄存器自控制总线获取非易失性存储器的配置信息,并发送至命令发布模块。
6.根据权利要求1或 5所述的数据传输控制器,其特征在于,所述配置信息在推送模块中拆分成若干子配置信息,并将该子配置信息与经所述推送模块拆分队列命令所形成的多个子队列命令相互绑定,并发送至逻辑控制模块。
7.根据权利要求1或6所述的数据传输控制器,其特征在于,所述逻辑控制模块将子配置信息拆分成若干页配置信息,并根据数据传输方向分别发送页配置信息至第一端口或者第二端口。
8.根据权利要求1或7所述的数据传输控制器,其特征在于,所述页配置信息分别与页命令在第一端口或者第二端口中相互绑定,并以页为单位对易失性存储器及非易失性存储器进行数据访问。
9.一种混合存储装置,其特征在于,包括: 分别与控制总线、数据总线并行设置的多个数据传输控制器,该数据传输控制器分别连接一非易失性存储器,并通过数据总线并行连接多个易失性存储器;其中, 所述数据传输控制器,包括: 命令发布模块,藕接到控制总线并接收队列命令; 第一端口,藕接到数据总线; 第二端口,藕接到一个非易失性存储器; 推送模块,接收命令发布模块所存储的队列命令并拆分成若干子队列命令; 逻辑控制模块,依次接收子队列命令并拆分成若干页命令,并根据数据传输的方向分别发送页命令至第一端口或第二端口; 缓冲存储器,被配置成临时存储在第一端口和第二端口之间传输的数据。
10.根据权利要求9所述的混合存储装置,其特征在于,所述非易失性存储器的容量大于或者等于易失性存储 器的容量。
全文摘要
本发明属于计算机存储技术领域,其公开了一种数据传输控制器,包括命令发布模块,藕接到控制总线并接收队列命令;第一端口,藕接到数据总线;第二端口,藕接到一个非易失性存储器;推送模块,接收命令发布模块所存储的队列命令并拆分成若干子队列命令;逻辑控制模块,依次接收子队列命令并拆分成若干页命令,并根据数据传输的方向分别发送页命令至第一端口或第二端口;缓冲存储器,被配置成临时存储在第一端口和第二端口之间传输的数据。通过这种设置,有效地降低了易失性存储器与非易失性存储器之间进行数据传输的错误,防止了重要数据的丢失;提高了混合存储装置的可靠性与扩展性;同时降低了混合存储装置的制造成本。
文档编号G06F11/07GK103198039SQ201310135729
公开日2013年7月10日 申请日期2013年4月19日 优先权日2013年4月19日
发明者H·F·黄, 吴郎 申请人:无锡云动科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1