信息处理装置、半导体存储装置及半导体存储装置的控制方法

文档序号:6374345阅读:117来源:国知局
专利名称:信息处理装置、半导体存储装置及半导体存储装置的控制方法
技术领域
本发明的实施方式涉及包括主机装置和半导体存储装置的信息处理装置及半导体存储装置。
背景技术
在SSD(Solid state drive,固态驱动器)等的半导体存储装置中,例如,在SSD内的缓冲器(存储器)等存储逻辑物理变换表(MMU 以下,也存在由L2P标记的情况)的情况较多。这个情况下,随着SSD的存储容量增大,存在存储逻辑物理变换表的缓冲器的容量及面积呈增大的倾向。还有,由于需要确保用于在缓冲器存储逻辑物理变换表所需的容量,存在制造成本也呈增大的倾向。在聚集多个运算处理器的GPU (Graphical Processing Unit,图形处理单元)等中,有在多个运算处理器间共享一个存储器的称为UMA(Unified Memory Architecture,统一存储器架构)的技术。在UMA中,可以使存储器成本降低。

发明内容
本发明的实施方式提供缓冲器的容量及面积很小并且降低制造成本的半导体存储装置及使用其的信息处理装置。本发明的实施方式涉及的信息处理装置包括主机装置、和经由总线与上述主机装置连接的半导体存储装置。上述主机装置包括主存储器。上述半导体存储装置包括存储第I逻辑物理变换表及数据的非易失性半导体存储器、存储作为上述第I逻辑物理变换表的一部分的第2逻辑物理变换表的存储部、和参照上述第2逻辑物理变换表对上述非易失性半导体存储器进行访问的控制部。在上述主存储器上复制上述第I逻辑物理变换表的至少一部分。在上述第2逻辑物理变换表未登记通过上述控制部访问的逻辑地址或物理地址的情况下,将上述主存储器上的第3逻辑物理变换表的一部分复制到上述第2逻辑物理变换表。根据本发明的实施方式,能提供缓冲器的容量及面积很小并且降低制造成本的半导体存储装置及使用其的信息处理装置。


图I是示出包括第I实施方式涉及的半导体存储装置的信息处理装置的一例的方块图。图2是示出第I实施方式涉及的非易失性存储器的块的一例的等效电路图。图3是示出第I实施方式涉及的启动工作的一例的流程图。图4是示出第I实施方式涉及的启动工作包括的启动执行工作的一例的流程图。图5是示出第I实施方式涉及的TLB工作的一例的流程图。图6是示出第I实施方式涉及的DMA工作的一例的流程图。图7是示出第2实施方式涉及的TLB工作的一例的流程图。图8是示出第2实施方式涉及的启动执行工作的一例的流程图。图9是示出第3实施方式涉及的信息处理装置的构成的一例的方块图。图10是示出第3实施方式涉及的写处理的信息处理装置的工作的一例的流程图。图11是示出第3实施方式涉及的写处理的半导体存储装置及信息处理装置的工作的一例的流程图。图12是示出第3实施方式涉及的读处理的半导体存储装置及信息处理装置的工作的一例的流程图。
具体实施例方式以下,一边参照附图,一边关于各实施方式进行说明。再者,在以下的说明中,关于基本上或实际上相同的功能及构成要素,附加相同符号,需要时进行相应地说明。[第I实施方式]< I.构成例〉1-1.全部构成的例子首先,关于包含第I实施方式涉及的SSD装置的存储器系统的全部构成例,用图I进行说明。如图I所示,第I实施方式涉及的信息处理装置包括SSD装置10和主机装置20。所谓SSD(Solid state drive,固态驱动器)装置是包括适用与HDD (Hard disc drive,硬盘驱动器)装置相同的接口而得到的非易失性存储器的装置。在第I实施方式,半导体存储装置以SSD装置10为例来说明,但是不限于SSD装置10。作为信息处理装置,例如,包括个人计算机、便携电话、摄像装置等。SSD装置10包括非易失性存储器(NVM)ll、TLB14、缓冲存储器15、ECC(ErrorCorrecting Code,纠错码)部16、主总线接口 17、DMA控制器18、和SSD控制器19。在非易失性存储器11,存储OS (Operation System,操作系统)12、逻辑物理变换表(L2P) 13。在第I实施方式中,作为非易失性存储器(NVM) 11,适用NAND型闪存。NAND型闪存包括多个块(Block),以页为单位进行数据的读出、写入,稍后说明其细节。NAND型闪存包括,例如,启动(Boot)区域11-1、其他的大容量的管理区域(或普通区域)11-2。再者,非易失性存储器11不限于NAND型闪存,也可以是MRAM(Magnetoresistive Random AccessMemory,磁阻随机存取存储器),NOR型闪存等。启动区域11-1从固定的地址开始,例如,为IG字节单位左右的容量的区域。还有,启动区域ll-ι保持Boot R0M/BI0S类似的启动程序。管理区域是普通的用户不能访问的区域,普通区域是普通的用户可以访问的区域。
0S12存储于NAND型闪存的管理区域11_2,作为主机装置20的控制程序起作用。在这个0S12,包括用于向主存储器23复制逻辑物理变换表13并驱动SSD的驱动程序。
逻辑物理变换表(L2P) 13是使外部的主机装置20访问NAND型闪存11时使用的逻辑块地址(LBA =Logical block address)和NAND闪存11内的实际的物理块地址(PBA Physical block address)对应的信息。逻辑块地址(LBA)是主机装置20发出并且在主机装置20侧管理的块地址。物理块地址(PBA)是NAND闪存11侧的实际的块地址。TLB (Translation look-aside buffer,转换后备缓冲器)14是高速缓存逻辑物理变换表13的一部分的缓冲存储器。缓冲存储器15是用于存储作为非易失性存储器11的NAND型闪存的输入及输出的小容量的数据的缓冲存储器。例如,缓冲存储器15是SRAM (Static random access memory,静态随机存取存储器)等构成的数kB 数百kB量级左右的存储器,也可以是寄存器等。缓冲存储器15也可在内置于NAND型闪存11的情况下省略。ECC部16进行非易失性存储器11的读出数据的错误检查,在有错误的情况下修正错误。主总线接口 17是图I的总线(PCle) 50的主总线,包括DMA控制器18。DMA控制器18控制SSD装置10和主机装置20的主存储器23之间的数据传送。DMA控制器18具备将多个块的数据,经过总线50,依次传送至主机装置20的功能等。SSD控制器19控制上述说明的构成,控制SDD装置10的全部的工作。还有,SSD控制器19,在读出工作时,按照读出命令,参照TLB14,将逻辑块地址变换为物理块地址,读出在这个物理块地址存储的数据。还有,SSD控制器19,在写入工作时,按照写入命令,参照TLB14,将逻辑块地址变换为物理块地址,向这个物理块地址写入数据。主机装置20包括外围接口 21、主存储器接口 22、主存储器23、和处理器25。外围接口 21是与作为外围设备的SSD装置10的接口,作为总线50的桥起作用。
主存储器接口 22是主存储器23的接口。主存储器23是存储主机装置20的数据的主存储装置。在第I实施方式中,作为主存储器23,例如使用DRAM (Dynamic random access memory,动态随机存取存储器)。还有,第I实施方式涉及的主存储器23存储上述逻辑物理变换表13的拷贝(副本)。关于逻辑物理变换表13的拷贝的细节将后述。处理器25控制上述说明的构成,控制主机装置20的工作。作为处理器25,能采用例如中央运算装置(CPU)、微处理器单元(MPU)、数字信号处理器(DSP)等。1-2. NAND型闪存的说明接着,关于图I中的非易失性存储器11,用图2更加详细地说明。在这里,在一例中列举说明构成NAND型闪存的块BI的等效电路。由于块BI中的存储单元一并进行数据消除,所以块BI是数据消除单位。块BI包括在字线方向(WL direction, WL方向)排列的多个存储单元元件MU(memory cell unit)。存储单元元件MU包括在与字线方向交叉的位线方向(BLdirection, BL方向)排列并将电流路径串联连接的包括8个存储单元(memory cell)MCO MC7的NAND串(存储单元串)、与NAND串的电流路径的一端连接的源极侧的选择晶体管SI、与NAND串的电流路径的另一端连接的漏极侧的选择晶体管S2。第I实施方式中,存储单元元件MU包括8个存储单元MCO MC7,但是,存储单元元件MU的存储单元是2个以上即可,不限于8个。例如,存储单元元件MU的存储单元也可以是56个,32个等。源极侧的选择晶体管SI的电流路径的另一端与源极线SL连接。漏极侧的选择晶体管S2的电流路径的另一端与各存储单元元件MU相对应,设置在存储单元元件MU的上方,与在位线方向延伸的位线BLm-I连接。字线WLO WL7在字线方向延伸,与字线方向的多个存储单元的控制栅电极CG共同连接。选择门线SGS在字线方向延伸,与字线方向的多个选择晶体管SI共同连接。选择门线SGD也在字线方向延伸,与字线方向的多个选择晶体管S2共同连接。在每个字线WLO WL7上,存在页(PAGE)。例如,如以图2中的虚线围绕所示,在字线WL7上,存在页7(PAGE7)。由于对于每页进行数据读出工作、数据写入工作,所以页是 数据读出单位、数据写入单位。〈2.工作〉2-1.启动流程接着,关于包含第I实施方式涉及的SSD装置10的存储器系统的启动工作,采用图3的流程图进行说明。再者,在以下的工作中,以平行四边形表示的步骤,表示经由总线50进行的步骤。如图3所示,首先,在步骤Sll时,主机装置20的处理器25读出在SSD装置10的非易失性存储器11中的启动区域11-1存储的启动程序。继续,在步骤S12时,处理器25采用从启动区域11-1读出的启动程序,执行启动。关于这个启动执行的细节,在下面的图4进行说明。继续,在步骤S13时,执行被装载的0S12,结束这个启动工作(End)。2-2.启动执行流程接着,关于包含第I实施方式涉及的SSD装置10的存储器系统的启动执行工作,采用图4的流程图进行说明。这个图4与上述图3中的步骤S12中的启动执行相对应。首先,如图4所示,在步骤S21时,主机装置20的处理器25执行主存储器23的使用声明,在主存储器23中确保用于存储逻辑物理变换表13的拷贝的区域。继续,在步骤S22时,处理器25将经由总线50传送的逻辑物理变换表13的拷贝存储在主存储器23的上述确保了的区域。第I实施方式中,关于逻辑物理变换表13的全部向主存储器23复制的例子进行说明,但是,仅逻辑物理变换表13的一部分也可以向主存储器23复制。关于仅这个逻辑物理变换表13的一部分向主存储器23复制的情况的细节在第2实施方式中进行说明。继续,在步骤S23时,处理器25,同样,经由总线50传送及装载0S12,结束这个启动执行流程(End)。2-3. TLB 流程接着,关于包含第I实施方式涉及的SSD装置10的存储器系统的TLB工作,采用图5的流程图进行说明。TLB工作中,能使用通过上述启动工作向主机装置20的主存储器23传送的逻辑物理变换表13的拷贝。
如图5所示,首先,在步骤S31时,SSD装置10的SSD控制器19判定在TLB14上是否存在对应的逻辑地址。在TLB14有对应的逻辑地址,即TLB失败(miss)未发生的情况下(否),结束这个工作(End)。另一方面,在TLB14没有对应的逻辑地址,即TLB失败发生的情况下(是),向下面的步骤S32前进。继续,在步骤S32时,SSD控制器19设定上述TLB失败发生的失败信息及对应的逻辑地址。继续,在步骤S33时,SSD控制器19向主机装置20发送中断。然后,SSD装置10成为待机状态,直到有来自主机装置20的SSD启动的指示为止。继续,在步骤S34时,主机装置20的处理器25收到来自SSD装置10的中断,执行以下的处理。
首先,在步骤S35时,处理器25取得设定的已传送的失败信息及上述对应的逻辑地址。继续,在步骤S36时,处理器25参照在主存储器23中存储的逻辑物理变换表13的拷贝。继续,在步骤S37时,处理器25取得与该逻辑地址相对应的物理地址。继续,在步骤S38时,处理器25向SSD装置10传送取得的上述逻辑地址和与其对应的物理地址,向成为待机状态的SSD装置10给予启动指示。继续,在步骤S39时,SSD装置10的SSD控制器19收到来自主机装置20的上述启动指示,从待机状态再次开始启动。继续,在步骤S40时,SSD控制器19按LRU (Least recently used,最近最少使用)或随机地选择TLB14的项目。LRU最好从访问的旧的项目选择。继续,在步骤S41时,SSD控制器19取得从主机装置20传送的上述对应的逻辑地址及物理地址。继续,在步骤S42时,SSD控制器19对步骤S40中选择的TLB14的项目设定(置换,拷贝)逻辑地址及物理地址,并结束这个工作(End)。2-1. DMA 流程接着,关于包含第I实施方式涉及的SSD装置10的存储器系统的DMA (Dynamicmemory access,动态存储器存取)工作,采用图6的流程图进行说明。这个TLB工作,采用通过上述启动工作向主机装置20传送的逻辑物理变换表13的拷贝来进行,与上述TLB流程相对应。如图6所示,首先,在步骤S51时,主机装置20的处理器25参照逻辑物理变换表13的拷贝设定需要的多个逻辑地址。继续,在步骤S52时,处理器25传送选择的上述逻辑地址,向SSD装置10给予启动指示。然后,主机装置20成为待机状态,直到有来自SSD装置10的中断的指示为止。继续,在步骤S53时,SSD装置10的SSD控制器19收到主机装置20的启动指示,使SSD装置10启动。继续,在步骤S54时,SSD控制器19取得传送的上述逻辑地址。继续,在步骤S55时,SSD控制器19参照在TLB14存储的逻辑物理变换表13,通过主总线接口 17,依次传送(DMA)在与上述逻辑地址相对应的物理地址存储的数据。这里,可对上述传送进行读出和写入的双方。继续,在步骤S56时,SSD控制器19向主机装置20给予表示上述传送的数据的结束的中断。继续,在步骤S57时,主机装置20的处理器25收到中断,从待机状态再次开始中断工作。继续,在步骤S58时,处理器25在读出的情况下采用传送的数据,在写入的情况下继续原处理,以结束这个工作(End)。< 3.作用效果〉根据第I实施方式涉及的半导体存储装置及包含其的系统(信息处理装置),至少 能得到下列(I)至(2)的效果。(I)能降低SSD装置10的缓冲存储器15的容量及面积如上述,第I实施方式涉及的SSD装置10的SSD控制器19经由总线50,向主机装置20传送逻辑物理变换表13的拷贝。继续,主机装置20的处理器25执行主存储器23的使用声明,在作为其主存储器23的DRAM中确保用于存储逻辑物理变换表13的拷贝的区域(S21)。继续,处理器25将经由总线50传送的逻辑物理变换表13的拷贝存储在主存储器23的上述确保了的区域(S22)。继续,处理器25装载作为经由总线50传送的主机装置20的控制程序的0S12,结束这个启动执行流程。其结果,逻辑物理变换表13的拷贝配置在主机装置20的主存储器23上。在主机装置20的主存储器23存储的逻辑物理变换表13的拷贝,例如,根据需要可在如图5所示的上述TLB工作中使用。例如,在主存储器23存储的逻辑物理变换表13的拷贝,在TLB14中没有对应的逻辑地址,即TLB失败发生的情况(是)等下,可根据需要使用。此时,不需要参照逻辑物理地址变换表(L2P)主体13。因此,与在SSD装置10侧设置大量的缓冲器的情况基本上相同的高速工作成为可能。并且,在没有那样的缓冲器的状态下,可通过大幅减少的硬件实现。在第I实施方式中,能降低用于存储SSD装置10的逻辑物理变换表13的缓冲存储器15的容量及占有面积。即使在主机装置20的主存储器23上配置逻辑物理变换表13的拷贝的构成的情况下,在第I实施方式中,优选地,在SSD装置10侧具备要求TLB、DMA、ECC等的高速性的处理。如果与作为电路规模全部存储逻辑物理变换表13的缓冲存储器相比,执行这些处理的电路极小。(2)能降低制造成本与作为主机装置20的主存储器23的DRAM相比,缓冲存储器15的制造成本是高价的。本例中,如上述,降低用于存储SSD装置10的逻辑物理变换表13的缓冲器15的容量及占有面积,将逻辑物理变换表13的拷贝配置于主机装置20的主存储器23。为此,能降低制造成本。[第2实施方式]
接着,关于第2实施方式进行说明。第2实施方式的存储器系统具有与如图I所示的第I实施方式的存储器系统相同的构成。第I实施方式中,在主存储器23保持逻辑物理变换表13的拷贝。对此,第2实施方式中,在主存储器23保持逻辑物理变换表13的一部分的拷贝的点,与上述第I实施方式不同。并且,第2实施方式中,如后述,启动执行工作和TLB流程与第I实施方式不同。以下,在第2实施方式的说明中,省略与上述第I实施方式重复的部分的细节的说明。<TLB 流程 >首先,参照图7关于第2实施方式的TLB工作进行说明。本实施方式的TLB工作中,对于如第I实施方式的图5所示的TLB工作,仅步骤S36不相同。S卩,第I实施方式中,由于在主存储器23中具有逻辑物理地址变化表(L2P) 13的拷贝,所以在步骤S36不会L2P失败。然而,第2实施方式中,由于在主存储器23未存储 L2P13的一部分的拷贝,所以在步骤S36有L2P失败发生的情况。因此,第2实施方式中,L2P失败发生的情况的处理变成必要,步骤S36的工作依据如图7(A)-(B)所示的流程来执行。如图7所示,首先,在步骤S61时,主机装置20的处理器25判定在主存储器23中复制的逻辑物理变换表(L2P)13的一部分是否存在。如果在主存储器23中复制的逻辑物理变换表(L2P) 13的一部分存在的情况下(是),结束这个流程(End)。如果判定在上述步骤S61时在主存储器23中复制的逻辑物理变换表(L2P) 13的一部分不存在的情况下(否),继续,在步骤S62时,处理器25判定主存储器23的拷贝区域的空闲是否存在。如果在主存储器23的拷贝区域的空闲存在的情况下(是),继续至步骤S64。在上述步骤S62时判定主存储器23的拷贝区域的空闲不存在的情况下(否),继续,在步骤S63时,处理器25依据上述LRU选择主存储器23的拷贝,并腾空那个区域。继续,在步骤S64时,处理器25从SSDlO取得对应的逻辑物理地址变换表(L2P)13。继续,在步骤S65时,处理器25在主存储器23中设置的空闲区域设定上述取得的逻辑物理地址变换表(L2P) 13,结束这个流程(B)。<启动执行流程>接着,参照图8,关于第2实施方式的启动执行工作进行说明。第2实施方式的启动执行工作,与如第I实施方式的图4所示的启动执行工作相比,在省略L2P拷贝(图4的步骤22)步骤的点不同。首先,在步骤S71时,主机装置20的处理器25执行主存储器23的使用声明,在主存储器23中确保用于存储逻辑物理变换表13的拷贝的区域。继续,在步骤S72时,处理器25装载经由总线50传送的0S12。此时,由于在主存储器23未存储逻辑物理变换表13的拷贝,所以在主存储器23中L2P失败发生。由此,即使在启动工作时L2P失败发生的情况下,通过执行前述的图7的处理,可解除L2P失败。〈作用效果〉在第2实施方式涉及的半导体存储装置及包含其的系统(信息处理装置)中,至少能得到上述(I)及(2)的效果。并且,在第2实施方式中,可以根据需要适用上述的构成及工作。[第3实施方式]第3实施方式涉及的信息处理装置包括主机装置、半导体存储装置。主机装置包括主存储器和第I控制部。上述第I控制部将对上述半导体存储装置的写请求分离为写命令和与上述写命令对应的写数据,向上述半导体存储装置输出写命令,使写数据存储于上述主存储器。上述半导体存储装置包括非易失性半导体存储器和第2控制部。上述第2控制部接收从上述主机装置传送的上述写命令,在该写命令的执行时向半导体存储装置传送在上述主存储器存储的该写命令相对应 的写数据,并向上述非易失性半导体存储器写入。在图9,示出第3实施方式的信息处理装置的构成的一例。信息处理装置包括主机装置(以下,简称主机)30、和作为主机30的存储装置起作用的存储器系统(半导体存储装置)40。存储器系统40也可以是按eMMC (Embedded Multi Media Card,嵌入多媒体卡)规格兼容的组装用途的闪存、SSD(Solid State Drive,固态驱动器)等。信息处理装置为,例如,个人计算机、便携式电话、摄像装置等。存储器系统40包括作为非易失性半导体存储器的NAND闪存41、NAND接口 44、DMA控制器45、缓冲存储器46、ECC电路47、存储控制器48、存储接口 49。NAND闪存41包括将多个存储单元以矩阵状排列的存储单元阵列。各个的存储单元使用上位页及下位页,可以多值存储。NAND闪存41将多个作为数据消除的单元的块排列而构成。并且,各块通过多个页构成。各页是数据的写入及读出的单位。NAND闪存41通过例如多个存储器芯片构成。NAND闪存41存储从主机30发送的用户数据、存储器系统40的管理信息、主机30中使用的0S43。0S43作为主机30的控制程序起作用。逻辑物理变换表(L2P表)42是使主机30访问存储器系统40时使用的逻辑块地址(LBA Logical block address)和NAND闪存41内的物理地址(块地址+页地址+页内存储位置)对应的地址变换信息。在此之后,在NAND闪存41存储的L2P表42称为L2P主体。NAND接口 44基于存储控制器48的控制对NAND闪存41执行数据及管理信息的读/写。缓冲存储器46能用作用于存储向NAND闪存41写的数据或者从NAND闪存41读的数据的缓冲器。还有,缓冲存储器46存储将从主机30输入的写请求、读请求等相关的命令排队的命令队列46a、和后述的主机30的主存储器33中高速缓存的L2P信息的标签信息46b。例如,缓冲存储器46由SRAM或DRAM等构成,但是,也可由寄存器等构成。ECC电路47对于要从缓冲存储器46传送并在NAND闪存41写的数据,进行ECC处理(错误修正处理)的编码处理,将编码结果附加至数据并向NAND接口 44输出。还有,ECC电路47对于经由NAND接口 44从NAND闪存41读的数据,进行在ECC处理的解码处理(使用错误修正符号的错误修正处理),向缓冲存储器46输出错误修正后的数据。DMA控制器45控制NAND接口 44、ECC电路47、缓冲存储器46之间的数据传送。再者,也可通过DMA控制器45进行主机30的存储接口 34内的寄存器34a和缓冲存储器46之间的数据传送,但是,第3实施方式中,寄存器34a和缓冲存储器46之间的数据传送,由存储接口 49进行。存储接口 49是用于将存储器系统40与主机30连接的接口。存储接口 49具有控制主机30的存储接口 34内的寄存器34a和存储器系统40的缓冲存储器46之间的数据传送的功能。存储控制器48的功能通过执行固件来实现。存储控制器48总体地控制与总线60连接的存储器系统40内的各构成要素。存储器系统40中,逻辑地址(LBA)和物理地址(NAND闪存41的存储位置)的关系并非静态地决定,而是在数据的写入时动态地关联。例如,在复写相同的LBA的数据的情况下,进行如下的处理。在逻辑地址Al分配块大小的有效的数据,使用NAND闪存41的块BI,作为存储区域。在从主机30接收复写逻辑地址Al的块大小的更新数据的命令的情况下,确保NAND闪存41的未使用的I个空闲块(设为块B2),在那个空闲块写入从主机30接收的数据。此后,将逻辑地址Al和块B2关联。其结果,块B2成为在内部包括有效数据的活动块。在块BI保存的数据变为无效,块BI成为空闲块。 这样,存储器系统40中,即使是相同的逻辑地址Al的数据,作为实际的记录区域使用的块在每次写入时也变化。再者,在块大小的更新数据的写入中,必须在写入处进行块变化,但是,在不满足块大小的更新数据写入中,将更新数据写入至相同的块。例如,在更新不满足块大小的页数据的情况下,在该块内,将相同的逻辑地址的旧页数据无效化,将重新写入的最新的页数据作为有效页来管理。若块内的全部数据被无效化,则该块作为空闲块而释放。还有,在存储器系统40中执行块处理。存储器系统40中,在数据的消除单位(块)和数据的管理单位不同的情况下,若NAND闪存41的改写前进,则通过无效(不是最新)的数据,块成为穿孔(perforated)的状态。若这样的穿孔的状态的块增加,实际可以使用的块变少,变得不能有效利用NAND闪存41的存储区域。在那里,例如,在NAND闪存41的空闲块比规定的阈值少的情况下,聚集有效的最新的数据,在不同的块上执行重写的压缩、垃圾收集等的块整理,确保空闲块。还有,存储器系统40在进行页内的一部分扇区的更新时等,读取NAND闪存41的存储数据,施加变更,执行向NAND闪存41写回的读、修改、写(RMW)。在RMW处理中,首先,从NAND闪存41读包含更新扇区的页或块,将读的数据与从主机30接收的写数据合并。并且,在NAND闪存41的新的页或新的块上写入这个合并数据。主机30包括处理器31、主存储器接口 32、主存储器33、存储接口 34,和连接这些的总线36。主存储器接口 32是用于将主存储器33连接到总线36的接口。主存储器33是处理器31可以直接访问的主存储器,第3实施方式中,使用DRAM(Dynamic random access memory,动态随机存取存储器)。主存储器33,除了作为处理器31使用的主存储器的功能之外,能用作L2P高速缓存33a、写高速缓存33b的存储区域。还有,主存储器33也能用作作业区域33c。L2P高速缓存33a是在存储器系统40的NAND闪存41中存储的L2P主体42的一部分或全部。存储器系统40的存储控制器48使用在主存储器33高速缓存的L2P高速缓存33a和在NAND闪存41存储的L2P主体42,进行在访问NAND闪存41中存储的数据时的地址解析。在写高速缓存33b,暂时地保存从主机30向存储器系统40写入的写数据。作业区域33c是向NAND闪存41写入数据时的工作区域,具体地,在执行前述的块的处理、RMW等时使用。存储接口 34是用于与存储器系统40连接的接口。存储接口 34具有DMA控制器35和寄存器34a。DMA控制器35执行在主存储器33的L2P高速缓存33a、写高速缓存33b、作业区域33c和存储接口 34内的寄存器34a之间的数据传送控制。处理器31是控制主机30的工作的处理器,执行从NAND闪存41向主存储器33装载的0S43。在0S43中,包括控制存储器系统40的设备驱动器43a。设备驱动器43a若接受来自0S43或0S43上的应用对存储器系统40的写请求,则将写请求分离为写命令和写数据。在命令中,包括识别命令的种类(读、写等)的字段、指定先前LBA的字段、指定数据长的字段等。并且,设备驱动器43a经由存储接口 34向存储器系统40直接发送命令。另一方面,设备驱动器43a在主存储器33的写高速缓存33b中临时存储分离后的数据。·
图10是示出接受写请求时的设备驱动器43a的工作次序的一例。设备驱动器43a若接受来自0S43或0S43上的应用对存储器系统40的写请求,则将写请求分离为命令和数据(步骤S100)。接着,设备驱动器43a经由存储接口 34向存储器系统40直接发送命令。还有,设备驱动器43a在主存储器33的写高速缓存33b中临时存储分离后的数据(步骤S110)。关于在写高速缓存33b高速缓存的数据,随后,通过存储器系统40的存储控制器48的控制,向存储器系统40侧传送。图11示出接收写命令时的存储器系统40侧的工作次序的一例。在存储器系统40处接收从主机30发送的写命令(步骤S200)。将接收的写命令通过存储接口 49设定于缓冲存储器46的命令队列46a (步骤S210)。存储控制器48若可以按照在命令队列46a设定的该写命令的执行顺序执行该写命令(步骤S220),则判定写命令包括的LBA是否为未写入状态(步骤S230)。在这里,若LBA是未写入状态,则与这个LBA相对应的有效的数据是未存储于NAND闪存41的状态。LBA是否为未写入状态的判定,具体地,例如以以下的次序进行。S卩,存储控制器48判定写命令包括的LBA是否命中(hit)标签彳目息46b,未命中的情况下判定是否命中在NAND闪存41存储的L2P主体42。再者,标签信息46b是登记在主机30的主存储器33的L2P高速缓存33b中高速缓存的L2P信息的数据,可以通过检索标签信息46b,对L2P高速缓存33b判定是否存储与LBA相对应的L2P信息。在通过这样的标签信息46b和L2P主体42的检索,判定LBA未命中的情况下(步骤S230 :是),存储控制器48对主机30的DMA控制器35输出用于从写高速缓存33b传送与写命令相对应的写数据的数据传送指令(步骤S240)。接收这个数据传送指令的DMA控制器35,从主存储器33的写高速缓存33b向存储接口 34的寄存器34a传送在主存储器33的写高速缓存33b存储的写数据。若将数据设定于这个寄存器34a,从存储接口 34向存储接口 49通知这个旨意,收到这个通知的存储接口 49向缓冲存储器46传送在寄存器34a设定的写数据(步骤S250)。由于存储控制器48能特定在主存储器33上的写高速缓存33b存储的写数据的存储位置,所以在写命令中也可以包含在主存储器33的存储位置。还有,存储控制器48也可通过将写高速缓存33b设为FIFO结构或环形缓冲器结构来特定在写数据的存储位置。总之,写数据对FIFO结构的写高速缓存33b,按写命令发生的顺序来设定。由于写命令中包含数据长,所以如果存储控制器48识别FIFO结构的写高速缓存33b的初始地址,则在每次接收写命令时,通过各数据长与地址相加,能掌握写数据在主存储器33上的存储位置。若通过步骤S250的处理将写数据设定于缓冲存储器46,则存储控制器48,在由ECC电路47符号化写数据ECC之后,经由NAND接口 44,向NAND闪存的空闲块写入(步骤S350)。此后,以向这个空闲块对应附加由写命令指定的LBA的方式,更新L2P高速缓存33a、标签信息46b、以及L2P主体42 (步骤S360)。再者,关于L2P主体42,并非在每次对NAND闪存41的写入时更新,所以也可以定期地更新。L2P高速缓存33a的更新如下进行。存储控制器48,在用缓冲存储器46构成新的L2P信息后,将其标签信息追加到缓冲存储器46的标签信息46b,将该旨意通知给存储接口49,并且对主机30的DMA控制器35输出用于传送L2P信息的传送指令。由此,存储接口 49在存储接口 34的寄存器34a中设定由缓冲存储器46制作的新的L2P信息。DMA控制器35向主存储器33传送在寄存器34a设定的L2P信息,在L2P高速缓存33a中高速缓存L2P信肩、O
另一方面,在步骤S230,在写命令包括的LBA命中标签信息46b的情况下(步骤S230 :否),存储控制器48对主机30的DMA控制器35输出L2P信息的传送指令。由此,DMA控制器35从主存储器33向存储接口 34的寄存器34a传送在主存储器33的L2P高速缓存33a存储的命中了的L2P信息。如前述,若将数据设定于寄存器34a,则从存储接口 34向存储接口 49通知这个旨意,收到这个通知的存储接口 49向缓冲存储器46传送在寄存器34a设定的L2P信息。存储控制器48使用向缓冲存储器46传送的L2P信息进行地址解析。接着,存储控制器48从NAND闪存41读出包括与通过地址解析得到的LBA相对应的物理地址中存储的数据的页或块,并向缓冲存储器46传送(步骤S260)。接着,存储控制器48对主机30的DMA控制器35输出用于传送在写高速缓存33b存储的写数据的数据传送指令(步骤S270)。接收这个数据传送指令的DMA控制器35从主存储器33向存储接口34的寄存器34a传送在主存储器33的写高速缓存33b存储的写数据。在这个寄存器34a设定的数据,与上述相同,通过存储接口 49向缓冲存储器46传送(步骤S280)。接着,存储控制器48在缓冲存储器46上合成从NAND闪存41读出并向缓冲存储器46写入的数据和从写高速缓存33b传送并向缓冲存储器46写入的数据(步骤S290)。若这个合成结束,则存储控制器48向存储接口 49通知其旨意,并且对主机30的DMA控制器35输出用于传送数据的传送指令(步骤S300)。由此,存储接口 49将由缓冲存储器46合成的数据设定于存储接口 34的寄存器34a。DMA控制器35向主存储器33传送在寄存器34a设定的合成数据,向作业区域33c存储这个合成数据(步骤S310)。之后,存储控制器48判定数据的合成处理是否结束(步骤S320),在数据合成处理未结束的情况下,按步骤S260 S310的次序反复,直到数据合成处理结束为止。这样,在主存储器33的作业区域33c上制作尽可能多的块单元的数据。若合成处理结束,存储控制器48对主机30的DMA控制器35传送用于传送在主存储器33的作业区域33c存储的合成数据的数据传送指令(步骤S330)。接收这个数据传送指令的DMA控制器35从主存储器33向存储接口 34的寄存器34a传送在主存储器33的作业区域33c存储的合成数据。在这个寄存器34a设定的数据,与上述相同,通过存储接口49向缓冲存储器46传送(步骤S340)。
若通过步骤S340的处理将合成数据设定于缓冲存储器46,则存储控制器48,在由ECC电路47符号化写数据ECC之后,经由NAND接口 44,向NAND闪存41的空闲块写入(步骤S350)。此后,存储控制器48以向这个空闲块对应附加LBA并使旧的活动块无效化的方式,更新L2P高速缓存33a、标签信息46b、以及L2P主体42 (步骤S360)。再者,在合成处理通过从主存储器33向缓冲存储器46进行I次的数据传送而结束的情况下,也可向NAND闪存41直接写入由缓冲存储器46合成的数据。图12是示出接收读命令时的存储器系统40侧的工作次序的一例。在经由存储接口 49由存储器系统40接收读命令的情况下,通过存储接口 49将接收的读命令设定于缓冲存储器46的命令队列46a (步骤S400)。若这个读命令成为可以执行的状态,则存储控制器48对标签信息46b检测读命令包括的LBA (步骤S410),判定读命令包括的LBA是否命中标签信息46b (步骤S420)。在命中的情况下(步骤S420 :是),存储控制器48对主机30的DMA控制器35输出L2P传送指令(步骤S430)。由此,DMA控制器35从主存储器33向存储接口 34的寄存器34a传送在主存储器33的L2P高速缓存33a存储的命中了的L2P信息。·在寄存器34a设定的L2P信息,与上述相同,通过存储接口 49向缓冲存储器46传送(步骤S440)。存储控制器48使用向缓冲存储器46传送的L2P信息,进行地址解析。即,存储控制器48从L2P信息取得与LBA相对应的物理地址,从NAND闪存41读与取得的物理地址相对应的数据。ECC电路47经由NAND接口 44对从NAND闪存41读的数据,进行ECC处理的解码处理,向缓冲存储器46输出错误修正后的数据。之后,存储控制器48向主机30输出在缓冲存储器46存储的读数据。另一方面,在步骤S420,在读命令包括的LBA未命中标签信息46b的情况下(步骤S420 :否),存储控制器48向缓冲存储器46读在NAND闪存41存储的L2P主体的一部分或全部并检索(步骤S460)。在LBA对L2P主体未命中的情况下,结束读处理,向主机30返回错误。在LBA对L2P主体命中的情况下(步骤S470),存储控制器48采用命中的L2P信息进行地址解析。即,存储控制器48从L2P信息取得与LBA对应附加的物理地址,从NAND闪存41读与取得的物理地址相对应的数据。ECC电路27经由NAND接口 44,对从NAND闪存41读的数据进行ECC处理的解码处理,向缓冲存储器46输出错误修正后的数据。之后,存储控制器48向主机30输出在缓冲存储器46存储的读数据(步骤S480)。存储控制器28指示存储接口 49,以向存储接口 34的寄存器34a传送向缓冲存储器46读出的L2P主体42中与读命令包含的LBA相对应的L2P信息、或与包括读命令中包含的LBA的周边LBA相对应的L2P信息,并且对主机30的DMA控制器35输出用于传送L2P信息的传送指令。由此,存储接口 49将在缓冲存储器46缓冲的L2P信息设定于存储接口34的寄存器34a。DMA控制器35向主存储器33传送在寄存器34a设定的L2P信息,将这个L2P信息高速缓存在L2P高速缓存中。伴随于此,存储控制器48更新缓冲存储器46的标签信息46b。再者,在主存储器33上形成的作业区域33c也可用作进行前述的块处理、RMW等时的工作区。还有,第3实施方式中,尽管在存储器系统40侧具有L2P高速缓存33a的标签信息46b,但是,存储器系统40也可不具有标签信息46b,而直接检索L2P高速缓存33a。还有,尽管存储器系统40的存储接口 49进行寄存器34a和缓冲存储器46之间的数据传送,但是,也可向存储控制器48进行这个数据传送。还有,也可在主存储器33和缓冲存储器46之间进行直接数据传送。这样,在第3实施方式中,主机30的主存储器33能用作写高速缓存33b和L2P高速缓存33a的存储区域。由此,能谋求缓冲存储器46的存储容量的降低。并且,第3实施方式中,在写请求时,分离成写命令和写数据,向主机30的主存储器33存储写数据,向存储器系统的缓冲存储器46存储写命令。并且,在存储器系统40中,在写命令的执行时,从主机30的主存储器33读出写数据,进行向NAND闪存41的写入。由此,相比于未分离成写命令和写数据的情况,能降低主机30和存储器系统40之间的接口带宽。总之,在未分离成写命令和写数据的情况下,写请求时,从主机向存储器系统传送写命令及写数据,接着,存储器系统分离成写命令和写数据,向主机30的主存储器33传送分离后的写数据。并且,存储器系统,在写命令的执行时,从主机的主存储器读出写数据,向NAND闪存进行写入。这个情况下,对一次的写请求,写数据成为在主机和存储器系统之间的总线3次传送,使接口带宽增加。对此,根据本实施方式的构成,能解决那样的课题。再者,在存储器系统40的启动时,也可以向主机30的主存储器33装载在NAND闪 存41存储的L2P主体42。还有,在存储器系统40侧,设置L2P信息的一次高速缓存,在主机30的主存储器23设置L2P信息的二次高速缓存,在对一次高速缓存、二次高速缓存未命中的情况下,也可以检索向NAND闪存31存储的L2P主体32。还有,第3实施方式中,由于在主存储器33上设置了存储器系统40的存储控制器48使用的作业区域33c,所以能降低用于在存储器系统40侧的作业区域的缓冲的容量及专用面积。如以上说明,在第3实施方式中,不会增大主机30和存储器系统40间的接口带宽,可使存储器系统40的缓冲存储器46的容量降低。尽管说明了本发明的几个实施方式,但是,这些实施方式仅作为例子示出,不意图限定发明的范围。这些新的实施方式可通过其他的各种方式来实施,在不越出发明的主旨的范围,能进行各种的省略、调换、变更。这些实施方式及其变形包含于发明的范围、要旨中,并且包含于权利要求的范围记载的发明及其均等的范围内。
权利要求
1.一种信息处理装置,其特征在于,上述信息处理装置包括主机装置和半导体存储装置, 上述主机装置包括主存储器; 上述半导体存储装置包括 存储第I地址变换信息及数据的非易失性半导体存储器; 存储作为上述第I地址变换信息的一部分的第2地址变换信息的存储部;和 参照上述第2地址变换信息对上述非易失性半导体存储器进行访问的控制部, 作为上述第I地址变换信息的一部分或全部的第3地址变换信息存储于上述主存储器上,上述控制部对上述非易失性半导体存储器进行访问时,在上述第2地址变换信息中未存储参照对象的地址变换信息的情况下,上述控制部使用上述第3地址变换信息。
2.如权利要求I所述的信息处理装置,其特征在于,上述控制部,在使用上述第3地址变换信息的情况下,参照从上述第3地址变换信息向上述第2地址变换信息传送的参照对象的地址变换信息。
3.如权利要求2所述的信息处理装置,其特征在于,上述半导体存储装置还包括DMA控制器; 上述DMA控制器从上述第3地址变换信息向上述第2地址变换信息传送地址变换信肩、O
4.如权利要求I所述的信息处理装置,其特征在于,上述主机装置,确保在上述主机装置的启动时上述主存储器上的区域,读出在上述非易失性半导体存储器存储的第I地址变换信息的一部分或全部,并在该区域作为上述第3地址变换信息来存储。
5.如权利要求I所述的信息处理装置,其特征在于,上述控制部,在上述第2地址变换信息中未存储参照对象的地址变换信息的情况下,对上述主机装置进行中断,从在上述主机装置的上述主存储器存储的上述第3地址变换信息取得参照对象的地址变换信息。
6.如权利要求I所述的信息处理装置,其特征在于,上述主机装置,在由上述控制部参照的地址变换信息未存储于上述主存储器上的情况下,从在上述非易失性半导体存储器存储的第I非易失性半导体存储器取得。
7.一种半导体存储装置,其特征在于,包括 存储第I地址变换信息及数据的非易失性半导体存储器; 存储作为上述第I地址变换信息的一部分的第2地址变换信息的存储部;和 参照上述第2地址变换信息对上述非易失性半导体存储器进行访问的控制部, 上述控制部对上述非易失性半导体存储器进行访问时,在上述第2地址变换信息中未存储参照对象的地址变换信息的情况下,上述控制部参照从半导体存储装置的外部取得的参照对象的地址变换信息,对上述非易失性半导体存储器进行访问。
8.如权利要求7所述的半导体存储装置,还包括DMA控制器; 上述DMA控制器从半导体存储装置的外部取得参照对象的地址变换信息。
9.一种信息处理装置,其特征在于,上述信息处理装置包括主机装置和半导体存储装置, 上述主机装置包括主存储器;和 第I控制部,将对上述半导体存储装置的写请求分离成写命令和与上述写命令相对应的写数据,向上述半导体存储装置输出写命令,将写数据存储于上述主存储器; 上述半导体存储装置包括 非易失性半导体存储器;和 第2控制部,接收从上述主机装置传送的上述写命令,在上述写命令的执行时,从上述主存储器取得与上述写命令相对应的写数据,向上述非易失性半导体存储器写入。
10.如权利要求9所述的信息处理装置,其特征在于, 在上述非易失性半导体存储器中存储第I地址变换信息, 在上述主存储器中存储作为上述第I地址变换信息的一部分或全部的第2地址变换信息, 上述第2控制部在上述写命令的执行时使用在上述主存储器保持的地址变换信息,将上述写命令中包括的逻辑地址变换为物理地址。
11.如权利要求10所述的信息处理装置,其特征在于,上述第2控制部接收从上述主机装置传送的读命令,在上述读命令的执行时,使用在上述主存储器存储的第2地址变换信息,将上述读命令中包括的逻辑地址变换为物理地址。
12.如权利要求9所述的信息处理装置,其特征在于,上述第2控制部,在上述写命令执行时,将上述主存储器作为作业区域使用。
13.如权利要求10所述的信息处理装置,其特征在于, 上述半导体存储装置包括缓冲存储器, 在上述缓冲存储器中,存储在上述主存储器存储的第2地址变换信息的标签信息,上述第2控制部通过参照上述标签信息判别在上述第2地址变换信息中是否存储有参照对象的地址变换信息。
14.一种半导体存储装置的控制方法,其特征在于,上述半导体存储装置包括非易失性半导体存储器,上述半导体存储装置的控制方法包括 用命令队列管理从半导体存储装置的外部接收的写命令; 在上述写命令的执行时,从上述半导体存储装置的外部取得与上述写命令相对应的写数据;和 将上述写数据存储于上述非易失性半导体存储器。
15.如权利要求14所述的半导体存储装置的控制方法,其特征在于, 向上述半导体存储装置的外部输出在上述非易失性半导体存储器中存储的地址变换信息的一部分或全部, 在上述写命令的执行时,参照在上述半导体存储装置的外部配置的地址变换信息,将上述写命令中包括的逻辑地址变换为物理地址。
16.如权利要求15所述的半导体存储装置的控制方法,其特征在于, 将向上述半导体存储装置的外部输出的地址变换信息作为标签信息来管理; 通过参照上述标签信息,判断在上述半导体存储装置的外部是否存储有参照对象的地址变换信息。
全文摘要
本发明的实施方式的信息处理装置包括主机装置和半导体存储装置。上述主机装置包括主存储器。上述半导体存储装置包括非易失性半导体存储器、存储部和控制部。上述非易失性半导体存储器存储第1逻辑物理变换表及数据。上述存储部存储作为上述第1逻辑物理变换表的一部分的第2逻辑物理变换表。上述控制部参照上述第2逻辑物理变换表对上述非易失性半导体存储器进行访问。在上述主存储器上复制上述第1逻辑物理变换表的至少一部分。在上述第2逻辑物理变换表未登记通过上述控制部访问的逻辑地址或物理地址的情况下,将上述主存储器上的第3逻辑物理变换表的一部分复制到上述第2逻辑物理变换表。
文档编号G06F3/06GK102915208SQ20121027262
公开日2013年2月6日 申请日期2012年8月1日 优先权日2011年8月1日
发明者国松敦, 前田贤一 申请人:株式会社 东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1