用于生成去向和来自存储驱动器的非易失性半导体存储器的数据传送的描述符的装置和方法

文档序号:9438855阅读:439来源:国知局
用于生成去向和来自存储驱动器的非易失性半导体存储器的数据传送的描述符的装置和方法
【专利说明】用于生成去向和来自存储驱动器的非易失性半导体存储器 的数据传送的描述符的装置和方法
[0001] 相关申请的夺叉引用
[0002] 本申请要求于2013年12月18日提交的美国专利申请No. 14/132,810的优先权, 以及于2013年11月5日提交的美国临时申请No. 61/900, 104和于2012年12月19日提 交的美国临时申请No. 61/739, 386的权益。上述申请的公开内容通过引用方式整体并入于 此。
技术领域
[0003] 本公开涉及非易失性半导体存储器访问系统,并且更具体地涉及用于非易失性半 导体存储器的数据传送控制系统。
【背景技术】
[0004] 本文中提供的背景描述是为了总体上给出本公开的上下文的目的。当前提名的发 明人的工作(到工作被描述在此背景部分中的程度)以及在提交时可能无法以其他方式 有资格作为现有技术的说明书各方面,既不明确也不暗示地被承认为抵触本公开的现有技 术。
[0005] 非易失性半导体存储器(NVSM)驱动器(例如,闪存驱动器)包括NVSM并且基于 数据页的大小进行操作。例如,去向和来自NVSM传送的数据被分组成数据集。数据集中的 每个数据集的长度等于一个或多个数据页的长度。数据页可具有例如8千字节(KB)的长 度。
[0006] 例如,NVSM驱动器可以包括NVSM接口、缓冲器管理模块、错误纠正码(ECC)模块、 接口管理模块和NVSM控制模块。NVSM接口可以与主机进行通信。在NVSM接口和主机之间 传送数据。缓冲器管理模块在数据被存储在NVSM中之前从主机接收数据,并且在数据被传 送向主机之前从NVSM接收数据。ECC模块编码向NVSM提供的数据,并且解码从NVSM接收 的数据。接口管理模块控制在ECC模块和NVSM之间的数据传送。
[0007] 响应于从主机接收的访问请求信号,NVSM控制模块生成描述符。例如,描述符可 以指示是否要执行读操作或编程(即写)操作、要传送的数据量、以及NVSM中要访问的地 址。ECC模块和接口管理模炔基于描述符进行操作。
[0008] 接口控制模块经由多个通道(例如,每NVSM芯片8通道)与NVSM通信,并且包括 用于通道中的每个通道的先进先出(FIFO)寄存器。在读和编程操作期间按序列访问FIFO 寄存器。FIFO寄存器中的每个FIFO寄存器的大小等于一个或多个数据页的大小。
[0009] 在编程操作期间,在数据被存储在NVSM中之前,ECC模块以基于页的格式向接口 控制模块传送数据。ECC模块可以向FIFO寄存器中的每个FIFO寄存器传送一个或多个数 据页(M页),其中M是大于或等于1的整数。ECC模块向FIFO寄存器中的每个FIFO寄存器 传送的页数取决于该NVSM驱动器的页格式。针对传送的M页的每个集,生成单个描述符。 [0010] 例如,如果ECC模块在具有单页格式的NVSM驱动器中进行操作,则1个数据页被 传送向FIFO寄存器中的每个FIFO寄存器。在这一示例中,FIFO寄存器中的每个FIFO寄 存器的大小等于1个数据页的大小。如果ECC模块在具有双页格式的NVSM驱动器中进行 操作,则2个数据页被传送向FIFO寄存器中的每个FIFO寄存器,并且FIFO寄存器中的每 个FIFO寄存器的大小等于2个数据页的大小。在向下一(或随后)FIFO寄存器传送数据 之前,M个数据页被传送向当前FIFO寄存器。针对读操作,逆向执行上述数据传送。
[0011] 因为数据不会被传送向下一 FIFO寄存器直到当前FIFO寄存器接收M个数据页, 所以可能导致数据传送延迟。这些延迟可以在FIFO寄存器中的一个或多个处经历,并且可 以随着更高阶的页格式而增加。页格式的阶指的是在单个数据传送事件期间传送的页数。 数据传送事件指的是向NVSM的通道之一传送数据或从NVSM的通道之一传送数据。例如,在 具有2页格式的NVSM驱动器中,如果由于ECC模块和第一通道之间的速度差异"瓶颈"出现 在第一 FIFO寄存器处,则延迟会出现在第一 FIFO寄存器以及所有随后FIFO寄存器处。由 于两个数据页被传送向单个FIFO寄存器,当第一数据页延迟时,第二数据页会被延迟。而 且,向第一 FIFO寄存器传送第二数据页中的延迟会延迟向继第一 FIFO寄存器后的FIFO寄 存器的数据传送。

【发明内容】

[0012] 提供了存储驱动器,并且其包括第一模块、第二模块、第三模块、第四模块和第五 模块。第一模块被配置为控制在主机设备和存储驱动器之间的数据块传送。第二模块被配 置为向存储驱动器中的非易失性半导体存储器传送数据块以及从存储驱动器中的非易失 性半导体存储器传送数据块。第三模块被配置为生成第一描述符,第一描述符描述在第二 模块和非易失性半导体存储器之间的数据块的传送。第四模块被配置为根据第一描述符生 成第二描述符。第二描述符中的每个第二描述符对应于数据块中的相应数据块。第五模块 被配置为基于第二描述符生成指令信号。第二模块被配置为基于指令信号在第一模块和非 易失性半导体存储器之间传送数据块。
[0013] 在其它特征中,第四模块被配置为:访问模板;基于第一描述符中的参数,更新模 板中的字段;以及根据模板,生成第二描述符。在其它特征中,第四模块被配置为用参数替 换模板的字段的值。
[0014] 在其它特征中,参数包括用于控制非易失性半导体存储器的控制参数。第四模块 被配置为生成第二描述符中的包括控制参数的一些第二描述符以及第二描述符中的不包 括控制参数的其它第二描述符。
[0015] 在其它特征中,模板包括用于第二描述符的独立磁盘冗余阵列值。第四模块被配 置为生成第二描述符,以分别包括独立磁盘冗余阵列值。第二模块被配置为基于独立磁盘 冗余阵列值在第一模块和非易失性半导体存储器之间传送数据块。
[0016] 在其它特征中,模板包括用于第二描述符中的每个第二描述符的通道值和存储器 设备值。第二模块被配置为根据通道值和存储器设备值在相应通道上向非易失性半导体存 储器传送数据的部分以及从非易失性半导体存储器传送数据的部分。
[0017] 在其它特征中,第一描述符是固件描述符。第二描述符是硬件描述符。
[0018] 在其它特征中,第三模块被配置为执行固件以生成第一描述符。第四模块包括电 子电路,其中电子电路被配置为根据第一描述符生成第二描述符。
[0019] 在其它特征中,提供了方法,并且其包括:控制在主机设备和存储驱动器之间的数 据块传送;生成第一描述符,以向存储驱动器中的非易失性半导体存储器传送数据块或从 存储驱动器中的非易失性半导体存储器传送数据块;根据第一描述符,生成第二描述符,其 中第二描述符中的每个第二描述符对应于数据块中的相应数据块;基于第二描述符生成指 令信号;以及基于指令信号,在主机设备和非易失性半导体存储器之间传送数据块。
[0020] 在其它特征中,方法进一步包括:访问模板;基于第一描述符中的参数,更新模板 中的字段;以及根据模板,生成第二描述符。
[0021] 在其它特征中,方法进一步包括:用参数替换模板的字段的值,其中参数包括用于 控制非易失性半导体存储器的控制参数;生成第二描述符中的包括控制参数的一些第二描 述符;以及生成第二描述符中的不包括控制参数的其它第二描述符。
[0022] 在其它特征中,第一描述符是固件描述符;以及第二描述符是硬件描述符。在其它 特征中,方法进一步包括:执行固件以生成第一描述符;以及经由电子电路,根据第一描述 符生成第二描述符。
[0023] 在其它特征中,提供了控制系统,并且其包括控制模块,控制模块被配置为基于用 于数据传送事件中的每个数据传送事件的至少两个描述符来控制在接口管理模块和非易 失性半导体存储器之间的数据块的数据传送事件。非易失性半导体存储器为数据传送事件 中的读事件或编程事件做准备。接口管理模块和非易失性半导体存储器被配置为在固态存 储器驱动器内进行操作。命令管理模块被配置为基于至少两个描述符生成参数信号。接口 管理模块被配置为基于参数信号生成指令信号,并且向非易失性半导体存储器传输指令信 号,以执行读事件或编程事件。
[0024] 在其它特征中,数据传送事件中的每个数据传送事件包括传送数据页。数据页的 大小等于数据块中的至少两个数据块的大小。基于至少两个描述符中的相应描述符来传送 数据块中的至少两个数据块。
[0025] 在其它特征中,数据传送事件中的每个数据传送事件包括传送数据页。在其它特 征中,接口管理模块被配置为生成用于数据传送事件中的每个数据传送事件的触发指令 集,以发起数据块的传送。
[0026] 在其它特征中,至少两个描述符的数目等于针对数据传送事件中的每个数据传送 事件生成的触发指令集的数目。在其它特征中,在针对数据传送事件中的每个数据传送事 件的准备时段之前,接口管理模块被配置为生成触发指令集。继准备时段之后,接口管理模 块被配置为生成读指令集或编程指令集。数据传送事件中的每个数据传送事件包括触发指 令集中的至少一个以及读指令集或编程指令集中的至少一个。
[0027] 在其它特征中,至少两个描述符中的每个描述符指示分配块大小、非易失性半导 体存储器的地址、以及数据传送事件是读事件、编程事件还是擦除事件。
[0028] 在其它特征中,参数信号的比特指示要传送的数据量、非易失性半导体存储器的 地址、以及数据传送事件是读事件、编程事件还是擦除事件。
[0029] 在其它特征中,参数信号是第一参数信号。命令管理模块被配置为基于至少两个 描述符生成第二参数信号。错误纠正码模块被配置为基于第二参数信号向接口管理模块传 送数据块以及从接口管理模块传送数据块。
[0030] 在其它特征中,接口管理模块包括先进先出寄存器。错误纠正码模块被配置为向 先进先出寄存器散布数据块。先进先出寄存器中的每个先进先出寄存器的大小小于数据页 的大小。
[0031] 在其它特征中,提供了固态存储器驱动器,并且其包括控制系统、缓冲器管理模块 和错误纠正码模块。缓冲器管理模块被配置为:从与固态存储器驱动器通信的主机接收主 机数据扇区,基于主机数据扇区生成第一驱动器数据扇区,接收第二驱动器数据扇区,并且 向主机传输主机数据扇区。错误纠正码模块被配置为从缓冲器管理模块向接口管理模块传 送第一驱动器数据扇区并且从接口管理模块向缓冲器管理模块传送第二驱动器数据扇区。
[0032] 本公开的适用性的其它方面将从详细描述、权利要求和附图中变得显而易见。详 细描述和具体示例旨在仅用于说明的目的,而非旨在于限制本公开的范围。
【附图说明】
[0033] 本公开将从详细描述和附图中变得被更充分地理解,其中:
[0034] 图1是根据本公开的并入接口管理控制系统的NVSM存储系统的功能框图;
[0035] 图2是根据本公开的接口管理控制系统的一部分的功能框图;
[0036] 图3是图示根据本公开的用于基于页的传送的单页读事件的时序图;
[0037] 图4是图示根据本公开的用于基于页的传送的单页编程事件的时序图;
[0038] 图5是图示根据本公开的使用多个描述符的多页读事件的时序图;
[0039] 图6是图示根据本公开的使用多个描述符的多页编程操作的时序图;
[0040] 图7是根据本公开的图示具有页大小传送的多页编程事件的接口管理控制系统 的一部分的功能框图;
[0041] 图8是图示根据本公开的具有与传送的分配块相同数目的描述符的读事件的时 序图;
[0042] 图9是图示根据本公开的具有比传送的分配块更多的描述符的读事件的时序图;
[0043] 图10是图示根据本公开的具有多个指令集的多分配块读事件的时序图;
[0044] 图11是图示根据本公开的具有与传送的分配块相同数目的描述符的编程事件的 时序图;
[0045] 图12是图示根据本公开的具有比传送的分配块更多的描述符的编程事件的时序 图;
[0046] 图13是图示根据本公开的具有多个指令集的多分配块读事件的时序图;
[0047] 图14是根据本公开的图示具有分配块大小传送的基于分配块的编程事件的接口 管理控制系统的一部分的功能框图;
[0048] 图15是根据本公开的并入多个编码器和解码器的接口管理控制系统的一部分的 功能框图;
[0049] 图16图示根据本公开的操作NVSM存储系统和NVSM驱动器的方法;
[0050] 图17是根据本公开的并入描述符生成模块的NVSM存储系统的一部分的功能框 图;
[0051] 图18是图示根据本公开的每分配单元的固件描述符的生成的框图;
[0052] 图19是图示根据本公开的每分配单元的硬件描述符的生成的框图;
[0053] 图20图示根据本公开的描述符生成方法;
[0054] 图21图示根据本公开的由NVSM控制模块生成的固件描述符的示例;
[0055] 图22图示用于图21的固件描述符的控制行的示例;
[0056] 图23图示根据本公开的状态寄存器的示例;
[0057] 图24图示根据本公开的固件描述符的示例;
[0058] 图25图示根据本公开的模板的示例;以及
[0059] 图26图示根据本公开的用于独立磁盘冗余阵列(RAID)的硬件描述符的生成。
【具体实施方式】
[0060] 在以下描述中,术语"非易失性半导体存储器(NVSM) "可以指的是相变存储器 (PCM)、电可擦除可编程只读存储器(EEPROM)、只读存储器(ROM)和/或随机存取存储器 (RAM)。EEPROM的一对示例是NAND闪速存储器和NOR闪速存储器。
[0061] 而且,在以下描述中术语"主机"可以指的是向NVSM驱动器传送数据和/或从NVSM 驱动器访问数据的设备。NVSM驱动器可以是闪存驱动器、通用串行总线(USB)驱动器、固态 存储器驱动器等。
[0062] 例如,主机可以指的是计算机、相机、手持式设备、便携式设备、蜂窝电话、打印机、 个人数据助理、电子记事本、电视、显示器、电器、监控系统等。计算机的示例是台式计算机、 膝上型计算机、电子记事本等。电器的示例是洗衣机、烘干机、冰箱等。NVSM驱动器包括 NVSM,并且可以不包括诸如硬盘驱动器盘片之类的旋转磁存储介质。监控系统的示例包括 防盗监控器、烟雾检测系统、婴儿监控器等。
[0063] 此外,本文中公开了诸如模块、网络设备和电路部件之类的各种系统元件。系统元 件的布置的示例被公开,并且包括邻近元件和非邻近元件。邻近元件被示出为直接彼此连 接。非邻近元件被示出为间接彼此连接。
[0064] 图1示出非易失性半导体存储器(NVSM)存储系统10。NVSM存储系统10包括主 机12 (或主机侧)和NVSM驱动器14 (或NVSM侧)。主机12包括主机控制模块16和主机 接口 18。NVSM驱动器14经由NVSM驱动器接口 20与主机12通信。NVSM驱动器14包括 NVSM驱动器接口 20、接收路径22、传输路径24、接口管理控制系统26和NVSM 28。NVSM驱 动器接口 20与主机接口 18通信。接收路径22和传输路径24在NVSM驱动器接口 20和 NVSM 28之间传送数据。接口管理控制系统26包括NVSM控制模块27。NVSM控制模块27 控制去向和来自NVSM 28的数据传送。
[0065] 接口管理控制系统26基于预定、选择和/或确定大小的数据分配块(或分配单元 (AU))进行操作。这不像其基于单个固定的块大小进行操作的传统NVSM驱动器。在传统 NVSM中,单个块大小等于数据页的大小。
[0066] 在本公开中,数据的分配块指的是由NVSM驱动器14设置并且用于在NVSM驱动器 14的设备和/或模块之间传送数据的数据量(或大小边界)。去向和来自NVSM 28的每个 数据传送事件包括一个或多个数据分配块。数据传送事件可以是编程事件或读事件。分配 块的大小可以是相同的或不同的:对于不同的读事件;对于不同的编程事件;和/或在读事 件和编程事件之
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1