存储器控制器、数据存储装置及数据写入方法

文档序号:10614166阅读:577来源:国知局
存储器控制器、数据存储装置及数据写入方法
【专利摘要】实施方式提出有效地进行写入数据和奇偶校验数据的传送的技术。实施方式所涉及的存储器控制器具备:存储体控制器(11),其具备将针对存储体#1的多个命令排队并具有与多个命令的各个相对应的标志的排队部,且按顺序执行多个命令;数据控制器(12),其在多个命令之中被执行的预定命令是针对存储体#1内的多个物理地址之中的一个物理地址的写入命令时,将写入数据传送至存储体#1;以及奇偶校验控制器(13),其根据与预定命令相对应的标志的值,生成用于恢复写入数据的奇偶校验数据,直到预定命令完成为止。
【专利说明】存储器控制器、数据存储装置及数据写入方法
[0001]关联申请
[0002]本申请享有以日本专利申请2015-47184号(申请日:2015年3月10日)为基础申请的优先权。本申请通过参照该基础申请,包含基础申请的全部的内容。
技术领域
[0003]实施方式涉及存储器控制器、数据存储装置及数据写入方法。
【背景技术】
[0004]作为数据存储装置的存储部的非易失性半导体存储器、例如NAND闪速存储器,具备通过生成与写入数据相对应的奇偶校验数据而在写入数据非期望地消失时恢复写入数据的功能。另外,若使该奇偶校验数据与写入数据一起存储于非易失性半导体存储器内,则即使在写入后也能够保护写入数据。
[0005]例如,考虑包含在一个存储单元可以存储η位数据(η是2以上的自然数)的η值单位(n-level cell)的多值(mult1-level)非易失性半导体存储器。在该情况下,一个物理地址(one physical addresses)内的 η 个逻辑地址(n-logical addresses)的写入数据可以通过存储器控制器内的η个奇偶校验生成电路恢复。
[0006]另一方面,为了使一个物理地址内的η个逻辑地址的写入完成,需要η次写入(First to n-th stages:第一至第η阶段)。在该情况下,存储器控制器在各个写入中反复向非易失性半导体存储器传送相同写入数据。因此,η个逻辑地址所涉及的奇偶校验数据基于该η次写入中的一个写入数据而生成。
[0007]但是,近年,由于使写入速度提高等理由,重新研究在多值非易失性半导体存储器中,对多个物理地址(各物理地址具备η个逻辑地址)的写入顺序。
[0008]在该情况下,存储器控制器内的奇偶校验数据的生成及从存储器控制器向非易失性半导体存储器的写入数据及奇偶校验数据的传送若不能分别良好配合,则无法进行这些数据的有效传送,结果写入速度会降低。

【发明内容】

[0009]实施方式提出有效地进行写入数据和奇偶校验数据的传送的技术。
[0010]根据实施方式,存储器控制器具备:存储体控制器,其具备将针对存储体的多个命令排队并具有与上述多个命令的各个相对应的第I标志的排队部,并按顺序执行上述多个命令;数据控制器,其在上述多个命令之中被执行的预定命令是针对上述存储体内的多个物理地址之中的一个物理地址的写入命令时,将写入数据传送至上述存储体;以及奇偶校验控制器,其根据与上述预定命令相对应的上述第I标志的值,生成用于恢复上述写入数据的奇偶校验数据,直到上述预定命令完成为止。针对各物理地址的写入通过多个阶段执行,在上述多个物理地址包含于最初的奇偶校验组内时,恢复上述多个物理地址的写入数据的奇偶校验数据在上述多个阶段之中最初的阶段生成,在上述多个物理地址包含于上述最初的奇偶校验组以外的奇偶校验组内时,恢复上述多个物理地址的写入数据的奇偶校验数据在上述多个阶段的任一阶段生成。
【附图说明】
[0011]图1是表示第I实施方式所涉及的存储器控制器的图。
[0012]图2是表示存储体控制器的例子的图。
[0013]图3是表示数据写入方法的例子的图。
[0014]图4是表示数据写入方法的例子的图。
[0015]图5是表示第2实施方式所涉及的存储器控制器的图。
[0016]图6是表示存储体控制器的例子的图。
[0017]图7是表示命令的执行步骤的例子的图。
[0018]图8是表示命令的执行步骤的例子的图。
[0019]图9是表示生成奇偶校验数据的定时的例子的图。
[0020]图10是表示生成奇偶校验数据的定时的例子的图。
[0021]图11是表示生成奇偶校验数据的定时的例子的图。
[0022]图12是表示便携式计算机的例子的图。
[0023]图13是表示数据存储装置的例子的图。
[0024]图14是表示混合型数据存储装置的例子的图。
【具体实施方式】
[0025]以下,参照【附图说明】实施例。
[0026]1.第I实施例
[0027](I)存储器控制器
[0028]图1表示第I实施例所涉及的存储器控制器。图2表示存储体控制器的例子。
[0029]存储器控制器10具备存储体控制器11、数据控制器12、奇偶校验控制器13及存储接口控制器14。
[0030]存储体控制器11例如如图2所示,具备:将针对存储器例如NAND闪速存储器的存储体#0的多个命令CO?C31排队的排队部Ila ;按照顺序执行多个命令CO?C31的处理部 Ilb0
[0031]排队部Ila具有与多个命令CO?C31的各个相对应的标志Fl、F2。
[0032]标志Fl确定在条目的执行中是否生成奇偶校验数据。S卩,在标志Fl为有效、例如“ I ”时,在条目的执行中生成奇偶校验数据,在标志Fl为非无效、例如“O”时,在条目的执行中不生成奇偶校验数据。
[0033]在图2的例子中,在由排队部Ila排队后的命令CO?C31中,与命令C0、C1、C3对应的标志Fl为有效。从而,在命令CO、Cl、C3的执行中,分别生成奇偶校验数据。
[0034]标志F2确定是否将奇偶校验数据写入于存储体#0内。S卩,在标志F2为有效、例如“ I ”时,将奇偶校验数据写入于存储体#0内,在标志F2为无效、例如“O”时,不将奇偶校验数据写入于存储体#0内。
[0035]在图2的例子中,在命令CO?C31中,与命令C6对应的标志F2为有效。从而,在命令C6中,奇偶校验数据被写入于存储体#0内。
[0036]数据控制器12在执行的条目、例如图2的命令CO是针对存储体#0内的多个物理地址中的一个物理地址的写入命令时,将来自数据缓冲器(例如,DRAM、MRAM等)15的写入数据传送至存储器16内的存储体#0。
[0037]另外,数据控制器12在执行的条目、例如图2的命令C6是奇偶校验数据的写入命令且与命令C6相对应的标志F2为有效时,在命令C6中,将奇偶校验数据传送至存储体#0。
[0038]奇偶校验控制器13在多个命令CO?C31中与执行的条目相对应的标志Fl为有效时,在该命令的执行中,生成用于恢复对存储体#0传送的写入数据的奇偶校验数据。
[0039]这里,在存储器16是在一个存储单元可以存储η位数据(η是2以上的自然数)的η值存储器时,存储体#0内的多个物理地址分别以例如可以存储η页数据的方式具备η个逻辑地址。
[0040]另外,奇偶校验控制器13具备η个奇偶校验保持电路13-1、13-2、…13_n。SP,奇偶校验控制器13可以通过η个奇偶校验保持电路13-1、13-2、…13_η保持恢复针对η个物理地址的写入数据(η值)的η个奇偶校验数据。
[0041 ] 存储接口控制器14在存储器控制器10与存储器16之间,控制数据的发送/接收。例如,在数据写入中,存储接口控制器14对存储器16内的存储体#0发送写入数据。另外,在数据读出中,存储接口控制器14接收来自存储器16内的存储体#0的读出数据。
[0042]存储器16也可以具有多个存储体。在该情况下,多个存储体可以分别是一个非易失性半导体存储器(I芯片)内的一个块。另外,多个存储体也可以分别是不同的多个非易失性半导体存储器(多个芯片)。
[0043](2)数据写入方法
[0044]图3及图4分别表示由图1的存储器控制器进行的数据写入方法的例子。
[0045]该数据写入方法适用于例如一个存储体具备多个奇偶校验组、多个奇偶校验组分别具备η个物理地址(η是2以上的自然数)且η个物理地址分别具备η个逻辑地址的情况。
[0046]这里,所谓奇偶校验组,是指多个物理地址的组。多个物理地址既可以连续(例如
0、1、2、…),也可以不连续(例如0、2、4、…)。
[0047]用于恢复针对这多个物理地址的写入数据的奇偶校验数据汇总存储在一个物理地址。从而,在一个物理地址包含η个逻辑地址的情况下,期望一个奇偶校验组包含η个物理地址。
[0048]以下,为了使说明简单,说明η为3的情况、即一个奇偶校验组具备3个物理地址,且3个物理地址分别具备3个逻辑地址的情况。
[0049]在该情况下,针对多个物理地址PAO?ΡΑ9的各个的数据写入,通过第I至第3阶段完成。
[0050]在第I至第3阶段的各个中,将包含下位页数据、中位页数据及上位页数据的3页数据从存储器控制器传送至存储器内的存储体。这意味着为了结束针对一个物理地址的数据写入,要将3页数据分3次传送至存储器内的存储体。
[0051]首先,若发布写入命令,则生成奇偶校验组(图4的步骤ST11)。
[0052]存储体控制器11根据生成奇偶校验组的请求,生成奇偶校验组。在本例中,存储体控制器11以一个奇偶校验组包含3个物理地址的方式分组。例如,如图3所示,奇偶校验组PGO包含3个物理地址PA0、PA1、PA2,奇偶校验组PGl包含3个物理地址PA4、PA5、PA6。
[0053]此后,存储体控制器11按顺序执行在排队部内排队后的多个条目(命令CO?C26) ο
[0054]命令CO是针对物理地址PAO的写入命令。从而,在执行的条目为命令CO时,将要向物理地址PAO写入的3页数据传送至存储器内的存储体(第I阶段)。
[0055]命令Cl是针对物理地址PAl的写入命令。从而,在执行的条目为命令Cl时,将要向物理地址PAl写入的3页数据传送至存储器内的存储体(第I阶段)。
[0056]命令C2是针对物理地址PAO的写入命令。从而,在执行的条目为命令C2时,将要向物理地址PAO写入的3页数据传送至存储器内的存储体。(第2阶段)。
[0057]命令C3是针对物理地址PA2的写入命令。从而,在执行的条目为命令C3时,将要向物理地址PA2写入的3页数据传送至存储器内的存储体(第I阶段)。
[0058]命令C4是针对物理地址PAl的写入命令。从而,在执行的条目为命令C4时,将要向物理地址PAl写入的3页数据传送至存储器内的存储体(第2阶段)。
[0059]命令C5是针对物理地址PAO的写入命令。从而,在执行的条目为命令C5时,将要向物理地址PAO写入的3页数据传送至存储器内的存储体(第3阶段)。
[0060]这里,确认执行的条目是否是针对最初的奇偶校验组PGO内的物理地址的写入命令(图4的步骤ST12)。
[0061]在执行的条目是针对最初的奇偶校验组PGO内的物理地址的写入命令时,在该奇偶校验组PGO内的全部物理地址PA0、PA1、PA2的第I阶段,生成奇偶校验数据(图4的步骤 ST13)ο
[0062]例如,如图2所示,在执行的条目为命令CO时,通过将与命令CO相对应的标志Fl设为有效,在命令CO的执行中(第I阶段),生成用于恢复对物理地址PAO写入的3页数据的奇偶校验数据。
[0063]同样,在执行的条目为命令Cl、C3时,通过分别将与命令Cl、C3相对应的标志Fl设为有效,在命令C1、C3的执行中(第I阶段),分别生成用于恢复对物理地址PA1、PA2写入的3页数据的奇偶校验数据。
[0064]此后,确认是否将与在命令C0、C1、C3的执行中所生成的最初的奇偶校验组PGO有关的3个奇偶校验数据存储在存储体内(图4的步骤ST14)。
[0065]在这3个奇偶校验数据存储在存储体内时,执行这3个奇偶校验数据的编排(program)(图 4 的步骤 ST15)。
[0066]例如,如图3所示,这3个奇偶校验数据存储于一个物理地址PA3内的3个逻辑地址。
[0067]S卩,在命令C6、C10、C14中,与物理地址PAO、PAl、PA2有关的奇偶校验数据被写入于物理地址PA3。
[0068]另外,与最初的奇偶校验组PGO有关的全部奇偶校验数据的写入在命令C6、C10、C14的全部完成时完成。
[0069]这里,在本例中,在针对奇偶校验组PGO内的全部物理地址PA0、PA1、PA2的数据写入完成之前,可以开始最初的奇偶校验组PGO的奇偶校验数据的写入。例如,奇偶校验数据的写入命令C6、ClO在针对奇偶校验组PGO内的物理地址PAO、PA1、PA2的最后的写入命令Cll之前执行。
[0070]另外,在本例中,在奇偶校验组PGO的全部奇偶校验数据的写入完成之前,可以开始针对下一奇偶校验组PGl内的物理地址PA4、PA5的数据写入。例如,针对奇偶校验组PGl内的物理地址PA4、PA5的写入命令C9、C12、C13在奇偶校验组PGO的最后的奇偶校验数据的写入命令C14之前执行。
[0071]但是,在执行的条目为命令C9、C12、C13时,如后所述,在这些命令C9、C12、C13的执行中,无法生成奇偶校验组PGl的奇偶校验数据。
[0072]这是因为,直到奇偶校验组PGO的奇偶校验数据的写入完成为止,奇偶校验控制器必须保持奇偶校验组PGO的奇偶校验数据。
[0073]S卩,在执行的条目是针对最初的奇偶校验组PGO以外的奇偶校验组内的物理地址的写入命令时,确认是否将之前的奇偶校验组的奇偶校验数据存储在存储器的存储体内(图4的步骤ST12及ST17) ο
[0074]在之前的奇偶校验组的奇偶校验数据存储在存储器的存储体内时,以该之前的奇偶校验组的全部奇偶校验数据的写入完成为条件,许可下一奇偶校验组的奇偶校验数据的生成(图4的步骤ST18)。
[0075]例如,如图3所示,奇偶校验组PGO的奇偶校验数据的写入在命令C14完成时完成。从而,奇偶校验组PGl的奇偶校验数据的生成在命令C15或其以后执行。
[0076]这里,在执行的条目是针对最初的奇偶校验组PGO以外的奇偶校验组PGl内的物理地址的写入命令时,在奇偶校验组PGl内的最初的物理地址PA4的第3阶段、奇偶校验组PGl内的下一物理地址PA5的第2阶段、奇偶校验组PGl内的最后的物理地址PA6的第I阶段,分别生成奇偶校验数据(图4的步骤ST19)。
[0077]例如,如图3所示,在执行的条目为命令C15时,通过将与命令C15相对应的标志Fl设为有效,在命令C15的执行中(第I阶段),生成用于恢复对物理地址PA6写入的3页数据的奇偶校验数据。
[0078]同样,在执行的条目为命令C16、C17时,通过将与命令C16、C17相对应的标志Fl分别设为有效,在命令C16、C17的执行中(第2或第3阶段),分别生成用于恢复对物理地址PA5、PA4写入的3页数据的奇偶校验数据。
[0079]此后,确认是否将在命令C15、C16、C17的执行中所生成的3个奇偶校验数据存储于存储体内(图4的步骤ST14)。
[0080]在这3个奇偶校验数据存储在存储体内时,执行这3个奇偶校验数据的编排(图4的步骤ST15)。
[0081 ] 例如,如图3所示,这3个奇偶校验数据存储于一个物理地址PA7内的3个逻辑地址。
[0082]S卩,在命令C18、C22、C26中,与物理地址PA4、PA5、PA6有关的奇偶校验数据被写入于物理地址PA7。
[0083]然后,在确认了最后的奇偶校验组的奇偶校验数据的写入完成后,本例的数据写入工作完成(图4的步骤ST16)。
[0084]另外,在本例中,包含物理地址PAO?PA2的奇偶校验组PGO的奇偶校验数据存储于物理地址PA3,包含物理地址PA4?PA6的奇偶校验组PGl的奇偶校验数据存储于物理地址 PA70
[0085]但是,不限于此,这些奇偶校验组PGO、PGl的奇偶校验数据也可以存储于物理地址PA3、PA7以外的区域(同一存储体内的其他物理地址、不同存储体内的物理地址、不同非易失性半导体存储器内的物理地址等)。
[0086]根据以上的数据写入工作,可有效地进行写入数据和奇偶校验数据的传送。
[0087]例如,在上述的例子中,关于最初的奇偶校验组PG0,用于恢复针对物理地址PAO?PA2的写入数据的奇偶校验数据的生成全部在第I阶段执行。在该情况下,全部的奇偶校验数据的生成在命令C3完成时完成,从命令C4可以开始奇偶校验数据的写入。
[0088]另外,关于最初的奇偶校验组PGO以外的奇偶校验组PGl,用于恢复针对物理地址PA4?PA6的写入数据的奇偶校验数据的生成在相互不同的阶段(第1、第2或第3阶段)执行。在该情况下,全部的奇偶校验数据的生成在命令C17完成时完成,从命令C18可以开始奇偶校验数据的写入。
[0089]这样的数据写入方法特别是在可以同时访问多个存储体的多通道系统中,在继用户数据的编排之后进行奇偶校验数据的编排的情况下有效。关于此,在应用例中进行说明。
[0090](4)总结
[0091]根据第I实施例,能够有效地进行写入数据和奇偶校验数据的传送。
[0092]2.第2实施例
[0093](I)存储器控制器
[0094]图5表示第2实施例所涉及的存储器控制器。图6表示存储体控制器的例子。
[0095]第2实施例若与第I实施例相比,则在于存储器控制器10对应于可以同时访问存储器16内的多个存储体#0、#1的多通道系统这一点。以下,仅说明与第I实施例不同的部分,对于与在第I实施例中说明的要素相同的要素,通过赋予相同符号,省略其详细的说明。
[0096]另外,在本例中,多个存储体#0、#1的数量为2个,但是并不限于此,也可以是3个以上。
[0097]存储器控制器10具备存储体控制器11、数据控制器12、奇偶校验控制器13及存储接口控制器14。
[0098]存储体控制器11例如如图6所示,具备:将针对存储器(例如NAND闪速存储器)16的存储体#0的多个命令CO?C31排队的排队部Ila ;将针对存储器16的存储体#1的多个命令CO?C31排队的排队部Ilc ;按照顺序执行在排队部IlaUlc中排队了的多个命令CO?C31的处理部lib。
[0099]排队部11a、Ilc分别具有与多个命令CO?C31的各个相对应的标志Fl、F2。
[0100]标志Fl确定在条目的执行中是否生成奇偶校验数据。标志F2确定是否将奇偶校验数据写入于存储体#0、#1内。关于标志F1、F2,由于在第I实施例中进行了说明,所以省略这里的说明。
[0101]在第2实施例中,处理部Ilb在写入工作中,可以并行进行对多个存储体#0、#1的数据传送。但是,处理部Ilb对于针对多个存储体#0、#1之中的一个的命令的执行,根据除其以外的剩余存储体的命令的执行状况,将其停止/重新开始。
[0102]例如,处理部Ilb对于针对多个存储体#0、#1之中的一个的奇偶校验数据的生成定时,根据除其以外的剩余存储体的奇偶校验数据的生成/传送状况,使其改变。另外,处理部Ilb对于针对多个存储体#0、#1之中的一个的奇偶校验数据的生成,根据除其以外的剩余存储体的奇偶校验数据的生成/传送状况,使其停止/重新开始。
[0103](2)命令的执行步骤
[0104]图7及图8分别表示由图5的存储器控制器进行的命令的执行步骤的例子。
[0105]如图7所示,首先,确认是否有排队的条目(步骤ST21)。在有排队的条目时,确定要执行的条目(步骤ST22)。在没有条目时,结束处理。
[0106]要执行的条目由图7的步骤ST22(图8所示的子例程)确定。
[0107]如图8所示,在有针对存储体#0的条目且存储体#0为就绪状态时,针对存储体#0的条目成为执行候补(步骤ST31)。
[0108]但是,以针对存储体#0的条目不是等待命令为条件。另外,即使针对存储体#0的条目是等待命令,但在其等待时间结束且有针对存储体#0的下一条目时,其下一条目成为执行候补(步骤ST32)。
[0109]另外,在有针对存储体#1的条目且存储体#1为就绪状态时,针对存储体#1的条目成为执行候补(步骤ST33)。
[0110]但是,以针对存储体#1的条目不是等待命令为条件。另外,即使针对存储体#1的条目是等待命令,但在其等待时间结束且有针对存储体#1的下一条目时,其下一条目成为执行候补(步骤ST34)。
[0111]另外,确认存储体#0、#1的优先顺序(步骤ST35)。
[0112]在存储体#0优先时,针对存储体#0的条目成为要执行的条目(步骤ST36)。相对于此,在存储体#1优先时,针对存储体#1的条目成为要执行的条目(步骤ST39)。
[0113]另外,在步骤ST33及ST34,在为否时,要执行的条目由存储体#0确定(从步骤ST33或ST34到步骤ST36的路径)。
[0114]在没有针对存储体#0的条目、存储体#0为忙状态或针对存储体#0的条目为等待命令且其等待时间未结束时,确认是否有针对存储体#1的条目(从步骤ST31或ST32到步骤ST37的路径)。
[0115]在有针对存储体#1的条目且存储体#1为就绪状态时,针对存储体#1的条目成为要执行的条目(步骤ST37)。
[0116]但是,以针对存储体#1的条目不是等待命令为条件。另外,即使针对存储体#1的条目是等待命令,但在其等待时间结束且有针对存储体#1的下一条目时,其下一条目成为要执行的条目(步骤ST38)。
[0117]另外,在没有要执行的条目时,反复该子例程直到发现要执行的条目为止。
[0118]要执行的条目被确定,则返回到图7的流程。
[0119]然后,如图7所示,确认要执行的条目是写入命令还是读出命令(步骤ST23、ST27)。
[0120]在要执行的条目是写入命令时,以其是生成奇偶校验数据的条目(例如,图6的标志Fl为有效)为条件,通过奇偶校验控制器生成奇偶校验数据(步骤ST24、ST25)。
[0121]另外,与其并行地,执行数据写入(步骤ST26)。
[0122]另一方面,在要执行的条目为读出命令时,以其是生成奇偶校验数据的条目为条件,通过奇偶校验控制器生成奇偶校验数据(步骤ST28、ST29)。
[0123]另外,与其并行地,执行数据读出(步骤ST30)。
[0124]在要执行的条目不是写入命令且也不是读出命令时,将该要执行的条目(命令)传送至存储器(步骤ST31)。
[0125](3)生成奇偶校验数据的定时的例子
[0126]说明存储器控制器控制多个存储体时的、生成奇偶校验数据的定时的例子。
[0127]图9至图11表示生成奇偶校验数据的定时的例子。
[0128]这些图分别与图3对应。另外,这些图中,箭头表示命令CO?C26的执行顺序。
[0129]在图9的例子中,存储体#1内的奇偶校验组PGl中的奇偶校验数据的生成,在存储体#0内的奇偶校验组PGO的奇偶校验数据的编排完成后进行。S卩,在存储体#1内的奇偶校验组PGl中,生成奇偶校验数据的定时根据存储体#0内的奇偶校验组PGO的奇偶校验数据的编排的状况而变化。
[0130]例如,存储体#0内的奇偶校验组PGO的奇偶校验数据的编排在执行的条目是针对存储体#0的命令C14时完成。从而,在针对存储体#0的命令C14的执行完成之后,在存储体#1内最初执行的命令是C15时,存储体#1内的奇偶校验组PGl的奇偶校验数据的生成在命令C15或其以后开始。
[0131]在图10的例子中,与图9的例子同样,存储体#1内的奇偶校验组PGl的奇偶校验数据的生成在存储体#0内的奇偶校验组PGO的奇偶校验数据的编排完成之后进行。
[0132]但是,在本例中,存储体#1内的奇偶校验组PGl的奇偶校验数据的生成用命令C9、C12、C15进行,针对存储体#1的命令C9的执行暂时停止,直到存储体#0内的奇偶校验组PGO的奇偶校验数据的编排完成为止、即直到针对存储体#0的命令C14的执行完成为止。
[0133]例如,存储体#0内的奇偶校验组PGO的奇偶校验数据的编排在执行的条目是针对存储体#0的命令C14时完成。从而,直到针对存储体#0的命令C14的执行完成为止,都暂时停止针对存储体#1的命令C9的执行,且在针对存储体#0的命令C14的执行完成之后,开始针对存储体#1的命令C9的执行。
[0134]在图11的例子中,存储体#0内的奇偶校验组PGO的奇偶校验数据的编排在存储体#1内的奇偶校验组PGO的全部奇偶校验数据生成之后进行。即,在生成存储体#0内的奇偶校验组PGO的全部奇偶校验数据、生成存储体#1内的奇偶校验组PGO的全部奇偶校验数据之后,开始存储体#0内的奇偶校验组PGO的奇偶校验数据的编排。
[0135]例如,存储体#0内的奇偶校验组PGO的奇偶校验数据的编排从针对存储体#0的命令C6开始。从而,直到存储体#1内的奇偶校验组PGO的全部奇偶校验数据生成为止,SP直到针对存储体#1的命令C3的执行完成为止,暂时停止针对存储体#0的命令C6的执行,且在针对存储体#1的命令C3的执行完成之后,开始针对存储体#0的命令C6的执行。
[0136]如上所述,在各存储体#0、#1中,通过控制生成/编排奇偶校验数据的定时,能够同时进行多个存储体#0、#1内的奇偶校验组的奇偶校验数据的生成。
[0137](4)总结
[0138]根据第2实施例,能够有效地进行写入数据和奇偶校验数据的传送。
[0139]3.应用例
[0140]以下,说明可以应用上述第I及第2实施例的数据存储装置及具备其的计算机系统的例子。
[0141]图12表示搭载了数据存储装置的便携式计算机的例子。
[0142]便携式计算机200具备主体201和显示单元202。显示单元202具备显示器外壳203和收置于该显示器外壳203的显示装置204。
[0143]主体201具备框体205、键盘206、作为定点设备的触摸板207。框体205包含主电路基板、ODD (Optical Disk Device,光盘设备)单元、卡槽208、数据存储装置209等。
[0144]卡槽208设置在框体205的侧面。用户可以从框体205的外部向卡槽208插入追加装置210。
[0145]数据存储装置209例如是SSD(Solid state drive:固态驱动器)。SSD可以作为HDD (Hard disk drive:硬盘驱动器)的置换,在安装于便携式计算机200内部的状态下使用,也可以作为追加装置210使用。数据存储装置209包含上述的第I及第2实施例中的存储器控制器及由其控制的非易失性半导体存储器。
[0146]图13表示数据存储装置的例子。
[0147]数据存储装置209是SSD,具备主机接口 501、存储器控制器502、非易失性半导体存储器503、数据缓冲器504。
[0148]主机接口 501作为主机400与数据存储装置209的接口而起作用。主机400具备CPU401和系统存储器402。
[0149]非易失性半导体存储器503是例如NAND闪速存储器。数据缓冲器504是例如DRAM, MRAM等。S卩,数据缓冲器504只要是比作为存储器的非易失性半导体存储器503更高速的随机存取存储器即可。
[0150]存储器控制器502控制对非易失性半导体存储器503的数据的读出、写入及擦除。
[0151]图14表示混合型数据存储装置的例子。
[0152]数据存储装置209具备非易失性半导体存储器503和HDD209b。HDD209b具备主机接口 601、RWC (读写通道)602、放大器603、磁盘604、盘驱动装置605、具有磁头的致动器606。
[0153]盘驱动装置605使磁盘604旋转。放大器603对由致动器606内的磁头读取的信号进行放大。RWC602在读出时,对主机接口 601传送来自放大器603的信号,在写入时,对放大器603传送来自主机接口 601的信号。
[0154]主机400控制对非易失性半导体存储器503的数据读出/写入/擦除工作及对HDD209b的数据读出/写入/擦除工作。上述第I及第2实施例中的数据写入在例如选择了非易失性半导体存储器503时执行。
[0155]另外,对非易失性半导体存储器503的数据读出/写入/擦除工作也可以不由主机400、而通过主机接口 601控制。
[0156]上述的第I及第2实施例也可以应用于搭载了 NAND闪速存储器的存储卡。另夕卜,作为可以应用上述第I及第2实施例的存储系统,除了上述以外,还有便携电话机、PDA (Personal Digital Assistant:个人数字助理)、数字照相机、数字摄像机等。
[0157]4.总结
[0158]以上,根据实施方式,可以有效地进行写入数据和奇偶校验数据的传送。
[0159]虽然说明了本发明的几个实施方式,但是这些实施方式只是作为例子而呈现的,而并非要限定发明的范围。这些新实施方式能够以其他各种方式实施,在不脱离发明的要旨的范围,可以进行各种省略、置换、改变。这些实施方式和/或其变形包含于发明的范围和/或主旨,并且包含于权利要求的范围所记载的发明及其均等的范围。
【主权项】
1.一种存储器控制器,具备: 存储体控制器,其具备将针对存储体的多个命令排队并具有与上述多个命令的各个相对应的第I标志的排队部,并按顺序执行上述多个命令; 数据控制器,其在上述多个命令之中被执行的预定命令是针对上述存储体内的多个物理地址之中的一个物理地址的写入命令时,将写入数据传送至上述存储体;以及 奇偶校验控制器,其根据与上述预定命令相对应的上述第I标志的值,生成用于恢复上述写入数据的奇偶校验数据,直到上述预定命令完成为止, 其中,针对各物理地址的写入通过多个阶段执行, 在上述多个物理地址包含于最初的奇偶校验组内时,恢复上述多个物理地址的写入数据的奇偶校验数据在上述多个阶段之中最初的阶段生成, 在上述多个物理地址包含于上述最初的奇偶校验组以外的奇偶校验组内时,恢复上述多个物理地址的写入数据的奇偶校验数据在上述多个阶段的任一阶段生成。2.权利要求1所述的存储器控制器,其中, 上述排队部具有与上述多个命令的各个相对应的第2标志,上述数据控制器根据与上述预定命令相对应的上述第2标志的值,将上述奇偶校验数据传送至上述存储体内。3.权利要求2所述的存储器控制器,其中, 上述多个物理地址的各个具备第I至第η逻辑地址,η是2以上的自然数, 上述预定命令是针对上述多个物理地址之中的一个物理地址内的上述第I逻辑地址的写入命令, 上述写入数据包含针对全部的上述第I至第η逻辑地址的写入数据,且被传送至上述多个物理地址之中的上述一个物理地址η次。4.一种数据存储装置,具备: 非易失性半导体存储器;以及 控制上述非易失性半导体存储器的存储器控制器, 其中,上述存储器控制器具备: 存储体控制器,其具备将针对存储体的多个命令排队并具有与上述多个命令的各个相对应的第I标志的排队部,并按顺序执行上述多个命令; 数据控制器,其在上述多个命令之中被执行的预定命令是针对上述存储体内的多个物理地址之中的一个物理地址的写入命令时,将写入数据传送至上述存储体;以及 奇偶校验控制器,其根据与上述预定命令相对应的上述第I标志的值,生成用于恢复上述写入数据的奇偶校验数据,直到上述预定命令完成为止, 针对各物理地址的写入通过多个阶段执行, 在上述多个物理地址包含于最初的奇偶校验组内时,恢复上述多个物理地址的写入数据的奇偶校验数据在上述多个阶段之中最初的阶段生成, 在上述多个物理地址包含于上述最初的奇偶校验组以外的奇偶校验组内时,恢复上述多个物理地址的写入数据的奇偶校验数据在上述多个阶段的任一阶段生成。5.一种数据写入方法,其是针对存储体内的多个物理地址的各个具有多个逻辑地址时的上述多个物理地址的数据写入方法,包括: 针对各物理地址的写入通过多个阶段执行; 在上述多个物理地址包含于最初的奇偶校验组内时,恢复上述多个物理地址的写入数据的奇偶校验数据在上述多个阶段之中最初的阶段生成;以及 在上述多个物理地址包含于上述最初的奇偶校验组以外的奇偶校验组内时,恢复上述多个物理地址的写入数据的奇偶校验数据在上述多个阶段的任一阶段生成。
【文档编号】G06F11/10GK105976869SQ201510502267
【公开日】2016年9月28日
【申请日】2015年8月14日
【发明人】市岛旬, 吉田贤治, 鹰居赖治, 山崎进, 坪井则文
【申请人】株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1