用于生成用以由于错误而重新访问存储驱动器的非易失性半导体存储器的描述符的装置...的制作方法_5

文档序号:9476192阅读:来源:国知局
03不可识别的"出界"时。被标识为DES_FIFO_AroR_WRAPPED的第四字段指 示描述符是否已经封装环形存储器。例如,缓冲器或FIFO寄存器可W被用作环形存储器使 得在填充缓冲器或FIFO寄存器时,剩余的数据被写入在缓冲器或FIFO寄存器的开始处的 数据上。作为结果,如果描述符大于缓冲器或FIFO寄存器,则描述符的最后部分可W被写 入在缓冲器或FIFO寄存器中的描述符的开始部分上。
[0148] 图9的上述任务旨在为说明性示例;取决于应用,所述任务可W顺序地、同步地、 同时地、连续地、在交叠的时间段期间或W不同顺序被执行。此外,取决于实施方式和/或 事件的次序,所述任务中的任何任务可W不被执行或被跳过。
[0149] 图13和图14分别图不了固件描述符540的不例和模板550的不例。固件描述 符540可W由图1的NVSM控制模块27来生成。固件描述符540和模板550可W被存储在 图1的存储器94中。在示出的示例中,固件描述符540针对多层单元实施例被生成,其中 NVSM12的单元包含S层单元灯LC)。TLC中的每个TLC可W能够存储多个数据位。
[0150] 在示出的示例中,固件描述符540包括多个字段,诸如字段SRC_PTR、SRC_LEN、 PRMT_R0W_NUM。固件描述符540可W指示哪些字段要包括在由图1的描述符生成模块103 生成的硬件(或第二)描述符中,诸如字段SC0、SC8、SC9和SC5。如所示出的,固件描述符 540可W包括用于通道和/或设备标识符CH/DEVID的值、组命令识别符TRACK_ID、控制参 数DQ0和/或对应于字段SCO、SC8、SC9和S巧的地址。
[0151]固件描述符540还可W包括用于更新模板550中的对应的描述符值的值。例如, 固件描述符540的字节0-3对应于模板550的字段SC8。作为另一示例,固件描述符540的 字节4-19包括用于模板550的字段DQ0-3的值。可W针对模板550中的前四个描述符中 的每个描述符提供用于字段DQ0-3的值。固件描述符540还可W包括具有用于字段S巧的 起始行地址的字节(例如,字节20-23)。
[0152] 如所示出的,模板550包括用于5个描述符中的每个描述符的字段。模板550可W 包括用于每个描述符的任意数量的字段并且可W具有用于任意数量的描述符的值。此外, 可W使用模板550和/或与模板550中的描述符相关联的值来生成任何数量的描述符。可 W经由字段SRC_PTR和SRC_LEN来指示基于模板550和/或模板550的一部分生成的描述 符的数量。模板550可W是由用户定义的、预定的和/或由NVSM控制模块27生成并被存 储在存储器94中。
[0153] 对于TLC读取,可W在发出读取(或第五)描述符(例如,DES5)之前执行针对 NVSM12的多达四个电压基准(VRE巧阔值调整。出于运个原因,模板550可W包括用于 VREF调整的描述符值。可W针对四个VREF调整来分别使用在模板550中提供的用于描述 符DES1-4的描述符值。描述符值DES1-4可W包括具有值DQ0的控制参数字段SC9,其可W 用于指示相应的VREF。在示出的示例中,未使用控制参数字段DQ1-3。作为示例,NVSM控 制模块27可W生成具有针对存储单元的相应的上位、中位和低位的VREF调整值的固件描 述符。VREF调整值可W提供用于确定存储单元的状态的阔值。在每个存储单元两位的示例 中,VREF调整值可W提供针对存储单元〇〇、〇1、1〇、11的阔值。阔值用于在检测到的对应于 存储单元的状态的电压之间进行区分W确定存储单元的位值。
[0154] 如所示出的,基于模板550来生成的描述符可W是通用描述符和/或灵活描述符。 描述符中的每个描述符可W包括源控制字段SRC_CT化,诸如字段SCO、SC8、SC9和SC5。如W 上描述的,SCO字段可W指示通道CH和/或设备DEV。如W上描述的,SC8字段可W指示组 命令(或磁道)标识符。洗5字段可W指示数据被存储在NVSM12中的起始行地址START_ R0W_AroR。描述符值DES1-5的字段SC0、SC8、SC9、SC5中的值是输入参数索引值,其可W从 固件描述符获得并且可W替换模板中的对应的值。例如,如果如由第一描述符值DES1指示 的字段DQ0等于4,则针对第一描述符值DES1的字段DQ0-3由输入参数字节4-7来替换。 [01巧]描述符生成模块103基于在模板550中提供的描述符值DES1-5和固件描述符540 中的输入命令参数来生成五个描述符,所述输入命令参数诸如存储在字节4-19中的输入 命令参数。在示出的示例中,存储在字节4-19中的VREF是输入命令参数。其他输入命令 参数(W上公开了其示例)可W经由固件描述符540来被提供并且在模板550中被更新。
[0156] 公开的实施例允许模板和/或描述符被重新使用。作为示例,为了重新使用第四 描述符值DES4,NVSM控制模块27可W设定字段SCR_PTRW指向第四描述符值DES4并设定 字段SRC_LEN= 2。运可W被完成W使用相同的模板550中的相同的值来生成两个描述符。
[0157] 图15图示了重新访问方法。尽管主要关于图1的示例来描述图15的任务,但是 所述任务可W被应用到本公开内容的其他实施例。可W迭代地执行所述任务。此外,尽管 主要关于从NVSM读取数据来描述上述任务,但是所述任务可W被修改为向NVSM写入和/ 或重新写入数据。
[0158] 所述方法可W在600开始。在602,NVSM控制模块27接收和/或检测对来自主机 设备13的访问请求信号的接收。在604,NVSM控制模块27基于访问请求信号使用固件92 来生成一个或多个固件(或第一)描述符。固件描述符可W被生成W从NVSM12读取数据 和/或向NVSM12写入数据。在606,NVSM控制模块27向存储器94和/或描述符生成模 块103发送固件描述符和/或向描述符生成模块103发送描述符命令信号。固件描述符可 W直接被提供到描述符生成模块103或者可W经由命令管理模块60间接地被提供到描述 符生成模块103。描述符命令信号和/或固件描述符可W用于触发命令管理模块60W发起 描述符处理并启用例如模块11、48、50、103和107。对固件描述符的存储和/或传输可^触 发命令管理模块60。任务602-606可W类似于W上关于图9描述的任务502-506。
[0159] 在607,命令管理模块60可W解析固件描述符并启用接口管理控制系统26的模块 11、48、50、103和107。命令管理模块60可^启用如下的模块11、48、50、103和107。命令 管理模块60可W向接口管理模块50发送描述符类型位册_3畑W指示固件描述符正在与 硬件描述符或重新访问描述符相反地被传输。出于运个原因,命令管理模块60不针对重新 访问描述符触发链表模块107。描述符类型位HW_RRD指示被提供的描述符的类型(例如, 固件、硬件或重新访问)。运向接口管理模块50指示在哪里发送具有如下面在任务617描 述的状态信息的响应信号。ECC模块48基于来自命令管理模块60的分配块ID来获取来自 存储器94的链表。
[0160] 命令管理模块60针对固件描述符并且为了加载信息的目的标识新分配块W监控 和初始化针对分配块和/或分配块的组中的每个分配块的重新访问计数CNT。重新访问计 数CNT可W被设定等于零。加载的信息可W包括默认模板、重新访问模板、控制信息或设及 对固件描述符的执行和对应的数据的传输的其他信息。重新访问计数可W由重新访问模块 11用于标识当前的重新访问事件。
[0161] 在608,描述符生成模块103生成如W上在图5的任务510-518中描述的硬件(或 第二描述符)或取决于是否要执行一个或多个重新访问事件来生成重新访问描述符(第= 描述符)。在第一访问事件要被执行和/或重新访问事件不要被执行时生成第二描述符。 第二描述符不是重新访问描述符。描述符生成模块103在要执行重新访问事件时生成第= 描述符。针对一页或多页和/或一个或多个分配块来生成第=描述符。重新访问描述符 FIFO指针可W被移动到下一描述符W在任务609之前被执行。
[0162] 在609,NVSM控制模块27和/或描述符生成模块103触发命令管理模块60W开 始对硬件描述符或重新访问描述符的处理。命令管理模块60接收第二描述符或第=描述 符并且检查W下的可用性:用于编程(或写入)操作的数据;或用于读取操作的空间可用 性。空间可用性可W是指接口管理模块50的FIFO中可用的空间。如W上示出的,命令管 理模块60能够从NVSM控制模块27和描述符生成模块103接收命令(例如,固件描述符、 硬件描述符、W及如下面进一步描述的重新访问描述符)。
[0163] 在610,命令管理模块60向ECC模块48发送开始信号AU_STARTW发起ECC编码 和/或解码。在612,命令管理模块60向链表模块107发送请求信号^C_REQW准备用于 一个或多个分配块的链表。链表模块107可W被提供有和/或可W访问用于准备链表的信 息。信息可W由命令管理模块60来提供并且可W包括地址、分配块格式和每页的分配块的 数量。在614,命令管理模块60在发送请求信号化C_REQ的同时还可W向接口管理模块50 发送触发信号SET_DESW触发NVSM12的对应的操作。可W在执行任务612的同时执行任 务 614。
[0164] 在616,在完成对第二描述符或第S描述符的执行之后,接口管理模块50和/或 ECC模块48 (i)处理由于对第二描述符或第S描述符的执行而传输的数据,并且(ii)针对 传输的分配块和/或分配块的组中的每个分配块生成状态信息(例如,描述符ID、NVSM参 数更新、W及错误信息)。作为示例,参数更新可W包括电压基准化ef变化或其他NVSM控 制信息变化。可W由接口管理模块50来指示参数变化。错误信息可W指示错误的类型、错 误的数量、是否存在错误和/或是否没有错误存在。错误信息可W指示完成了描述符的执 行并且没有错误存在。可W经由接口管理模块50和/或ECC模块48指示错误信息。
[016引在617,报告状态信息。接口管理模块50和ECC模块48可W向重新访问模块11、NVSM控制模块27和/或命令管理模块60报告状态信息。接口管理模块50可W向重新访 问模块11、ECC模块48和/或命令管理模块60报告状态信息。状态信息可W基于描述符 类型位册_服0并且包括描述符状态信息和控制参数的当前状态,诸如电压基准化ef的当 前状态。描述符状态信息可W包括设及执行的硬件描述符和/或重新访问描述符的信息。 运可W包括针对当前访问事件的:描述符ID;分配块ID;是否完成对描述符中的每个描述 符的执行的指示;是否存在与执行描述符中的每个描述符相关联的任何错误的指示;和/ 或是否存在与作为执行描述符的结果而传输的数据相关联的任何错误的指示。
[0166]ECC模块48可W提供状态针对每个分配块或分配块的组的更新和/或对应的信 号。状态更新和/或对应的信号可W包括数据错误更新AU_FA比、分配块出传输更新AU_ DONEW及第一重新访问信号REACCESS1。ECC模块48可W向重新访问模块11报告第一重 新访问信号REACCESS1W在已经满足用于执行重新访问事件的条件并且尚未超过针对一 个或多个分配块的重新访问事件的最大数量时触发重新访问事件。存储器94中的重新访 问信息FIFO109可W存储是否要执行重新访问事件的指示。数据错误更新AILFAIL指示 是否存在与传输的数据相关联的错误。在对NVSM12的访问期间和/或在ECC模块48中 执行的编码或解码期间可能已经发生错误。分配块传输更新AU_D0NE,AU_D0肥指示是否完 成分配块的传输和/或ECC模块48是否完成处理并传输分配块。
[0167] 重新访问模块11可W在完成重新访问事件之后向状态FIF0110发送重新访问状 态更新。NVSM控制模块27可W经由固件92来检查存储在状态FIFO110中的重新访问状 态。
[0168] 在618,命令管理模块60监控由ECC模块48和/或接口管理模块50生成的状态信 息并将其存储到存储器94中的状态FIFO110中。命令管理模块60可W监控状态FIFO110 并在某些条件(例如,完成了对一个或多个硬件描述符的生成和/或执行、已经检测到一个 或多个分配块错误等等)存在时中断NVSM控制模块27。中断可W基于在110从接口管理模 块50接收到的状态信息。命令管理模块60可W向重新访问模块11和/或ECC模块48发 送指示是否要针对一个或多个分配块执行重新访问事件的第二重新访问信号REACCESS2。 第二重新访问信号REACCESS2可W基于来自NVSM控制模块27的控制信号。
[0169] 在620,NVSM控制模块27在执行固件92的同时可W设置、选择和/或改变重新访 问模板,其可W被存储为存储器94中的模板106的一部分。重新访问模板可W与用于生成 硬件描述符的模板(例如,关于图9的方法描述的模板)相同、相似、或不同。不同的重新 访问模板可W用于与NVSM12中的一个或多个存储单元和/或一个或多个地址相关联的每 个相继的重新访问事件。作为示例,如果重新访问尝试的最大数量是4,则可W使用4个不 同的模板,针对每个重新访问尝试一个模板。作为备选,NVSM控制模块27和/或描述符生 成模块103可W在重新访问事件之间调整相同的模板。对模板的使用和/或调整增大了校 正错误的潜力。用于重新访问事件的模板的参数可W是不同的和/或经调整的。例如,在 对应的描述符和模板中提供的诸如电压基准化ef的上述控制参数可W是不同的和/或被 调整为更好地确定存储单元的状态。可W基于状态信息来更新重新访问模板的参数。
[0170] 用于与NVSM12的相同的存储单元和/或地址相关联的相继重新访问事件的模板 被称为一组模板。每组模板可W与描述符和对应数据的流相关联。作为示例,可W并行执 行和传输预定数量的(例如,16个)描述符和对应数据的流。
[0171] 尽管任务620被示出为在任务618之后并且响应于状态信息而被执行,但是任务 620可W在任务618之前被执行并且可W不基于状态信息而被执行。例如,可W在604执行 任务620和/或重新访问模板可W是预定的并被存储在存储器中。
[0172] 在622,重新访问模块11监控状态信息。可W在执行任务618、620的同时执行任 务622。可W在ECC模块48和接口管理模块50更新状态信息之后执行任务622。
[0173] 在624,重新访问模块11确定:(i化CC模块48 (被标识为逻辑域)是否完成处理 分配块,W及(ii)接口管理模块50(被标识为物理域)是否完成执行硬件描述符和/或重 新访问描述符。如果逻辑域和物理域被完成,则执行任务626,否则执行任务617-622中的 一个或多个任务。
[0174] 在626,重新访问模块11确定是否存在要被重新访问的一个或多个分配块和/或 是否存在要被执行的一个或多个重新访问事件。在存在要被执行的一个或多个重新访问事 件时执行任务628,否则执行任务634。
[0175] 在628,重新访问模块11确定重新访问计数CNT是否大于针对对应的分配块允许 的重新访问事件的最大数量。如果重新访问计数CNT大于最大数量,则可W执行任务634, 否则执行任务629。
[0176] 分配块ID、重新访问计数W及最大数量可W被存储在重新访问信息FIFO109中 并且由重新访问模块11访问和更新。ECC模块48还可W访问重新访问信息FIFO109W 确定分配块是否已经通过(即,没有重新访问事件要被执行)或失败(即,满足执行重新访 问事件的条件)。重新访问模块11可W针对每个分配块和/或分配块的组执行多达最大 数量的重新访问事件
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1