存储装置和存储系统的制作方法

文档序号:6355761阅读:184来源:国知局
专利名称:存储装置和存储系统的制作方法
技术领域
本发明涉及允许进行外部访问的存储装置和采用该存储装置的存储系统。
背景技术
存储装置的典型实例为闪速存储器。在用作存储系统的计算机系统中,为了将数据保存在用作存储部的闪速存储器中,还应用在计算机系统中的主机装置将数据写入闪速存储器(参照日本专利公开第 2007-058840 号)。闪速存储器包括均用于存储数据的高速缓存块。如果高速缓存块不足,则为了确保可用的高速缓存块,需要对闪速存储器执行无用单元收集(gartage collection)操作。在无用单元收集操作中,将存储在包括用于存储数据的高速缓存块的多个逻辑块中的有效数据转移至单个逻辑块,然后,初始化包括在逻辑块中的高速缓存块。因此,已经进行了无用单元收集操作的高速缓存块均可被释放,以作为可以用于存储新数据的高速缓存块。

发明内容
然而,通常根据在存储装置中的存储区域的状态执行无用单元收集操作。通常通过执行存储装置的固件来执行无用单元收集操作,而与作为对存储装置的访问的、均通过主机装置所进行的访问无关。因此,在存储装置执行无用单元收集操作的同时,作为对存储装置的访问的、通过主机装置所进行的访问在一些情况下可能进入超时状态。例如当高速缓存块的数量超过作为对存储装置的访问的通过主机装置所进行的写入访问中的规定数量时,存储装置在写入访问的期间内对包括高速缓存块的多个块执行无用单元收集操作。另外,在存储装置已对包括高速缓存块的块执行无用单元收集操作以后,存储装置将访问完成通知信号发送至主机装置,作为对写入访问的应答。另外,由于存储装置必须对包括高速缓存块的多个块执行无用单元收集操作,所以消耗较长时间来完成无用单元收集操作。因此,由于执行无用单元收集操作,延迟了作为对通过主机装置所进行的写入访问(其作为对存储装置的访问)的应答的、通过存储装置发送至主机装置的访问完成通知信号。结果,作为对存储装置的访问的、通过主机装置所进行的写入访问进入超时状态。对于上述原因,由于执行无用单元收集操作,需要该存储装置能够防止对存储装置的外部访问进入超时状态。根据本发明的第一实施方式,提供了一种存储装置,包括输入/输出部,被配置为输入并且输出与外部访问相关的数据;存储器,用于通过将输入/输出部所输入的输入数据分配给多个区域同时利用用于临时存储输入数据的高速缓存区域来存储该输入数据;以及控制部,被配置为基于外部访问进行对存储器的访问,并且在基于外部访问而对存储器进行的访问时,对包括高速缓存区域的区域执行无用单元收集操作,以释放高速缓存区域。控制部在基于外部访问对存储器进行的访问时,通过将无用单元收集操作划分为多个无用单元收集子操作,而对包括高速缓存区域的区域执行无用单元收集操作,并且在无用单元收集子操作中的每两个相邻无用单元收集子操作之间的时间对外部访问进行应答。在根据本发明的第一实施方式的存储装置中,通过将无用单元收集操作划分为多个无用单元收集子操作,而在基于外部访问对存储器进行的访问期间对多个高速缓存区域执行无用单元收集操作。另外,每当完成无用单元收集子操作时,控制部将完成信号发送至主机装置作为对外部访问的应答。因此,即使在外部访问期间对多个高速缓存区域执行无用单元收集操作,存储区域也能够利用适当时间发送完成信号,作为对外部访问的应答。根据本发明的第二实施方式,提供了一种存储系统,包括主机系统;以及主机装置可访问的存储装置。该存储装置具有输入/输出部,被配置为输入并且输出与通过主机装置所进行的外部访问相关的数据;存储器,用于通过将输入/输出部所输入的输入数据分配给多个区域同时利用用于临时存储输入数据的高速缓存区域来存储该输入数据;以及控制部,被配置为基于外部访问进行对存储器的访问,并且在基于外部访问而对存储器进行的访问时,对包括高速缓存区域的区域执行无用单元收集操作,以释放高速缓存区域。控制部在基于外部访问对存储器进行的访问时,通过将无用单元收集操作划分为多个无用单元收集子操作,而对包括高速缓存区域的区域执行无用单元收集操作,并且在无用单元收集子操作中的每两个相邻无用单元收集子操作之间的时间对外部访问进行应答。由于执行无用单元收集操作,所以本发明能够防止外部访问进入超时状态。


图1是示出了根据本发明的实施方式的存储卡的框图;图2是示出了非易失性存储器的存储区域的结构的说明图;图3是为了释放高速缓存块所执行的无用单元收集操作的说明图;图4是示出了采用图1中所示的存储卡的相机系统的大致构造的框图;图5示出了根据第一实施方式而执行以将数据存储在存储卡中的操作序列的示图;图6示出了根据典型比较例的构造而执行以将数据存储在存储卡中的操作序列的示图;以及图7示出了根据第二实施方式而执行以将数据存储在存储卡中的操作序列的示图。
具体实施例方式下文将通过参照

了本发明的实施方式。以如下配置的章节描述了实施方式。1 第一实施方式(在划分为多个无用单元收集子操作的无用单元收集操作期间发送写入完成信号作为应答的典型实例)2 第二实施方式(在划分为多个无用单元收集子操作的无用单元收集操作期间发送写入进行中信号(write-in-progress signal)作为应答并且在完成所有无用单元收集子操作时发送写入完成信号作为应答的典型实例)1 第一实施方式存储卡和主机装置的构造图1是示出了根据本发明的实施方式的存储卡1的物理框图。在图1中所示的存储卡1采用D I/O部(装置输入/输出)部11、处理器12、内部RAM 13、缓冲RAM 14以及非易失性存储器15。在图1中所示的存储卡1被设计为通过将该卡1连接至主机装置而使用的卡。为了更详细说明,通常将存储卡1设计为记忆棒(memory-stick,注册商标)卡或者SD卡。在任一情况下,存储卡1可以安装在主机装置上以及从主机装置卸下。非易失性存储器15通常为诸如NAND型闪速存储器的非易失性半导体存储器。图2是示出了非易失性存储器15的存储区域结构的说明图。非易失性存储器15具有均包括多个物理页22的多个物理块21。每个物理页22 具有均用于存储数据的多个单元。另外,非易失性存储器15允许对每个物理页22单元执行数据写入操作和数据读取操作。除此以外,非易失性存储器15允许对每个物理块21单元执行数据写入操作(或者初始化处理)。即使切断非易失性存储器15的电源,非易失性存储器15也保持写入其上的数据。应注意,通过初始化处理将NAND型闪速存储器的每个单元初始化为预定值(例如,1)。此外,在数据写入操作中,将另一值(例如,0)写入每个单元。用作存储卡1的控制部16的在存储卡1中采用的处理器12以多个逻辑块31来管理非易失性存储器15的所有存储区域。逻辑块31被配置为包括k个前述的物理块21,其中符号k表示至少等于1的整数。作为具有任意确定的固定长度的写入数据的、位于由主机装置( 所使用的地址的数据被写入通过逻辑地址所表示的相同逻辑块31中。如果不能将数据另外写入由地址所表示的逻辑块31,则存储卡1获取作为用于临时存储数据的逻辑块的高速缓存块,并且将数据写入高速缓存块以被临时存储在高速缓存块中。应注意,限制了非易失性存储器15的存储区域的大小。因此,同样地,也限制了表示形成非易失性存储器15的存储区域的一部分的高速缓存块的数量的高速缓存块计数。因此,如果使用在存储卡1中的数量得以限制的所有高速缓存块,从而使得需要在将数据写入例如在存储范围内的地址的操作时获取用于另一存储范围的高速缓存块,则存储卡1执行无用单元收集操作。通过这种无用单元收集操作,初始化并且释放已经使用的高速缓存块。
另外,将存储在包括高速缓存块的多个逻辑块中的有效数据保留在单个逻辑块中。高速缓存块的无用单元收集操作图3是为了释放高速缓存块32所执行的无用单元收集操作的以下描述中所参考的说明图。在图3中,在分配给逻辑块31-1的地址处的数据已经存储在逻辑块31-1和与逻辑块31-1相对应的高速缓存块32中。在这种情况下,如果执行无用单元收集操作,则存储在逻辑块31-1和高速缓存块 32中的有效数据复制到另一逻辑块31-2,以被存储在另一逻辑块31-2中,作为单条数据。随着近年来在非易失性存储器15的领域中所进行的发展,块的大小日益增大。因此,在呈现实时特性所需的存储系统中,由于物理块和逻辑块的大大增加的尺寸,执行无用单元收集操作消耗的时间变长。结果,存在不满足对通过主机装置所发出的指令的应答所提供的时间限制的情况。例如,当在执行通过主机装置所发出的写入访问指令时执行无用单元收集操作以释放所使用的高速缓存块32时,存在在对通过主机装置所发出的写入访问指令的应答所提供的时间限制(其表示写入操作已完成)之前,不能将该应答发送至主机装置的情况。图4是示出了采用图1中所示的存储卡1的相机系统3的大致构造的框图。在图4中所示的相机系统3采用了图1中所示的存储卡1和用作主机装置的相机装置2。在图4中所示的相机装置2采用画面拍摄部(CAM)41、操作部(KEY)42、显示部 (DISP) 43, CPU 44、存储器(MEM) 45、主机输入/输出部(H I/O) 46和用于将这些组件彼此连接的系统总线47。画面拍摄部41通常具有CMOS传感器、CXD等。画面拍摄部41生成包括画面和声音/语音的移动画面数据,将传送移动画面数据的信号提供给CPU 44。操作部42通常具有画面拍摄按钮和方向键。操作部42将根据操作按钮或者键的信号提供给CPU 44。显示部43通常具有TFT显示单元或者有机EL显示单元。显示部43从CPU 44接收画面信号并且基于画面信号显示画面。将存储器45用于存储数据和要由CPU 44执行的程序。CPU 44读入预先存储在存储器45中的程序并执行该程序。通过执行该程序,CPU 44用作相机装置2的控制部16。控制部16通过管理画面拍摄部41、显示部43以及主机输入/输出部46这些部件来执行控制。主机输入/输出部46具有连接器。可以将存储卡1附接至连接器或者与连接器分离。主机输入/输出部46根据符合诸如PCI Express规格或者USB规格的通信方法与装置输入/输出部11交换数据。主机装置进行对存储卡1的访问,以将数据写入存储卡1或者从存储卡1读出数据。将在图1中所示的存储卡1置于主机输入/输出部46的插槽或者端口中并且可以从该插槽或者端口中去除该存储卡1。在相机装置2中采用的CPU 44通常控制画面拍摄部41以拍摄移动画面并将拍摄的移动画面的数据存储在存储卡1中。这时,在相机装置2中采用的CPU 44进行对存储卡 1的写入访问。另外,相机装置2通常从存储卡1中读出图像数据并且在显示部43上显示该图像数据。这时,在相机装置2中采用的CPU 44进行对存储卡1的读取访问。在图1中所示的装置输入/输出部11连接至主机输入/输出部46。主机输入/输出部46根据符合诸如PCI Express规格或者USB3. 0规格的高速串行数据通信方法与装置输入/输出部11交换数据。例如,在通过主机装置( 所进行的写入访问时,装置输入/输出部11从主机输入/输出部46接收写入命令、写入数据和/或其他信息。装置输入/输出部11将写入访问成功完成通知信号发送至主机输入/输出部46作为应答信号。另一方面,在通过主机装置( 所进行的读取访问时,装置输入/输出部11从主机输入/输出部46接收读命令和/或其他信息。装置输入/输出部11将读取数据和读取访问完成通知信号发送至主机输入/输出部46作为应答信号。缓冲RAM 14通常为SRAM或者DRAM。缓冲RAM 14连接至装置输入/输出部11、非易失性存储器15以及处理器12。装置输入/输出部11将已经从主机装置( 接收且最终要被写入至非易失性存储器15的写入数据写入至缓冲RAM 14。写入缓冲RAM 14中的写入数据根据由处理器12所执行的控制而最终被转移至非易失性存储器15。另一方面,由主机装置( 所请求的从非易失性存储器15所读出的读取数据也根据由处理器12所执行的控制而从非易失性存储器15转移至缓冲RAM 14。转移至缓冲RAM 14的读取数据通过装置输入/输出部11来读出。内部RAM 13也通常为SRAM或者DRAM。内部RAM 13连接至非易失性存储器15和处理器12。内部RAM 13用于存储用于将在通过主机装置( 所进行的写入访问或者读取访问(作为对存储卡1的访问)中所指定的逻辑地址转换为在非易失性存储器15中的物理地址的地址转换表。因此,该地址转换表还称作逻辑/物理转换表。处理器12连接至装置输入/输出部11、内部RAM 13、缓冲RAM 14以及非易失性存储器15。处理器12采用CPU 44和存储器45。处理器12的CPU 44读取预先存储在存储器45中的固件程序并且执行该程序。以这种方法,处理器12用作存储卡1的控制部16。控制部16通过装置输入/输出部11与主机装置通信,并且解释从主机装置所接收的访问命令,以根据访问命令执行处理。当在例如写入访问时通过装置输入/输出部11接收新的写入地址时,控制部16执行新的写入地址的写入操作。在写入处理中,控制部16利用逻辑/物理转换表以指定与写入地址(逻辑地址) 相对应的物理地址。随后,控制部16在将写入数据从缓冲RAM 14转移至物理地址的请求(请求写入数据的转移)中,指定物理地址。结果,在非易失性存储器15中,存储写入数据作为预定地址的数据。另外,控制部16还更新逻辑/物理转换表。出于同样原因,例如当在读取访问时通过装置输入/输出部11接收新的读取地址时,控制部16执行用于新的读取地址的读取操作。在读取操作时,控制部16利用逻辑/物理转换表,以获得用于作为逻辑地址的新的读取地址的最近物理地址。控制部16通知非易失性存储器15该最近物理地址并且将从非易失性存储器15 中的最近物理地址所读出的最近读取数据从非易失性存储器15转移至缓冲RAM 14。最后,装置输入/输出部11从缓冲RAM 14读出读取数据并且将该数据提供给主机装置⑵。控制部16通过利用非易失性存储器15的一些存储区域来管理多个高速缓存块 32。如果在将新的写入数据存入存储卡1的写入操作时无法获取需要的高速缓存块 32,则控制部16执行无用单元收集操作,以释放所使用的高速缓存块32。在为了释放所使用的高速缓存块32而执行的无用单元收集操作中,控制部16把存储在高速缓存块32中的有效数据与存储在与高速缓存块32相对应的逻辑块31中的有效数据结合起来,并且将作为结合的结果所获得的数据存储在另一逻辑块31-2中。然后, 控制部16更新逻辑/物理转换表。随后,控制部16初始化已经进行了无用单元收集操作的高速缓存块32和逻辑块 31。因此,释放高速缓存块32,以作为可以写入新的数据的可用高速缓存块32。控制部16获取该释放的高速缓存块32并且将新的写入数据存储在高速缓存块32 中。接下来,下文中,说明了由根据第一实施方式的存储卡1所执行的操作。以下,以当主机装置(2)进行对存储卡1的写入访问时由存储卡1执行的操作为例来描述操作。在写入访问时对高速缓存块所执行的无用单元收集操作。图5示出了根据第一实施方式而执行以将数据存储在存储卡1中的操作序列的示图。在图5中,示出了主机装置(2)、在存储卡1中采用的控制部16以及非易失性存储器15。在图5中,时间轴从示图的顶部开始以垂直方向定向。应注意,在图5中所示的操作序列为典型序列,其中,为了释放高速缓存块32,主机装置( 通过将无用单元收集操作划分为无用单元收集子操作GCl和GC2来对具有4页大小的数据执行无用单元收集操作。
在对存储卡1的写入访问时,在步骤STl,在主机装置( 中采用的CPU 44向存储卡1发出写入命令。该写入命令从主机输入/输出部46发送至装置输入/输出部11,并且由实际上为处理器12的控制部16来接收。接收到该写入命令,控制部16在接下来的步骤ST2向主机装置( 发出数据请求。将该数据请求从装置输入/输出部11发送至主机输入/输出部46,并且由在主机装置O)中采用的CPU 44来接收。然后,在接下来的步骤ST3处,主机装置( 将写入数据输出至存储卡1。将写入数据从主机输入/输出装置46发送至装置输入/输出部11并且存储在缓冲RAM 14中。当将写入数据存储在缓冲RAM 14中的时候,控制部16开始转移写入数据的操作。在接下来的步骤ST4,控制部16参考逻辑/物理转换表,以对非易失性存储器15 指定要存储写入数据的物理块的物理地址。这时,如果在包括在非易失性存储器15中的物理地址(其用作要存储写入数据的物理地址)中不存在保持为初始状态的有效物理页22,则控制部16获取对应于逻辑地址的高速缓存块32,并且指定包括在高速缓存块32中的物理地址。然后,在接下来的步骤ST5,非易失性存储器15从缓冲RAM 14读取写入数据以将写入数据存储在指定的物理地址中。当完成将写入数据存储在非易失性存储器15中的写入操作的时候,操作序列的流程前进至接下来的步骤ST6,在步骤ST6,非易失性存储器15向控制部16提供通知控制部16写入操作已经完成的写入操作完成信号。当控制部16通知将第一写入数据存储在非易失性存储器15中的写入操作已经完成时,操作序列的流程前进至接下来的步骤ST7,在步骤ST7,控制部16向主机装置(2)发出接下来的写入数据的请求。在接下来的步骤ST8,主机装置( 为存储卡1提供接下来的写入数据。将接下来的写入数据存储在缓冲RAM 14中。在接下来的步骤ST9,作为写入数据的接下来的写入目的地,例如,控制部16指定高速缓存块32的物理地址。然后,在接下来的步骤ST10,非易失性存储器15从缓冲RAM 14读出接下来的写入数据,以将写入数据存储在指定的高速缓冲块32中。当将接下来的写入数据存储在非易失性存储器15中的写入操作完成的时候,操作序列的流程前进至接下来的步骤STl 1,在步骤STl 1,非易失性存储器15向控制部16提供通知控制部16写入操作已经完成的写入操作完成信号。然后,在图5中所示的典型操作序列中,在步骤ST11,完成将第二写入数据存储在非易失性存储器15中的第二写入操作的时间点处,未使用的高速缓冲块不再可用。在这种情况下,控制部16实施无用单元收集操作,以释放高速缓存块32。例如,当高速缓冲块32的数量超过在通过主机装置( 所进行的写入访问时的规定数量时,控制部16还在写入访问期间中对包括高速缓存块32的多个块执行无用单元收集操作。在为了释放高速缓存块32所执行的无用单元收集操作中,首先,控制部16执行无用单元收集子操作GCl。在无用单元收集子操作GCl中,控制部16对存储在包括高速缓存块32的多个块中的一些有效数据执行复制操作。为了更详细说明,在接下来的步骤ST12,控制部16进行要对于一页有效数据执行的将数据复制到逻辑块31-2的内部处理的请求。这一页有效数据为高速缓存块32和与高速缓存块32相对应的逻辑块31的数据。因此,如上所述,在非易失性存储器15中,将作为一页有效数据的指定数据从高速缓存块31-2或者逻辑块31复制到用作新的和未使用的逻辑块的另一逻辑块31-2。当在该复制操作中已经将高速缓存块32或者逻辑块31的所有有效数据复制到逻辑块31-2时, 在非易失性存储器15中,在接下来的步骤S T13,初始化高速缓存块32或者逻辑块31。当完成复制操作和初始化的时候,在接下来的步骤ST14,非易失性存储器15向控制部16提供完成信号。然后,控制部16将用于重新存储有效数据的逻辑块31-2登记在逻辑/物理转换表中。当完成高速缓存块32和逻辑块31的第一页的复制操作的时候,控制部16开始接下来的有效页(尚未经处理)的复制操作。为了更详细说明,在接下来的步骤ST15,控制部16进行要对作为接下来的有效页的第二页的有效数据执行的内部处理的请求。然后,在接下来的步骤ST16,在非易失性存储器15中,对第二页的有效数据执行复制操作和所需的初始化。随后,在接下来的步骤ST17,非易失性存储器15将完成信号输出至控制部16。然后,控制部16更新逻辑/物理转换表。当完成两页的高速缓存块32的无用单元收集操作的时候,控制部暂停无用单元收集子操作GCl。然后,在接下来的步骤ST18,控制部16将写入完成应答信号发送至主机装置(2)。在主机装置O)中采用的CPU 44从存储卡1接收写入完成应答信号。因此,主机装置O)能够判定已经正常完成存储发送至存储卡1的写入数据的写入操作。在将写入完成应答信号发送至主机装置O)以后,控制部16执行第二无用单元收集子操作GC2。以这种方式,控制部16重新开始无用单元收集操作。在无用单元收集子操作GC2中,执行包括高速缓存块32的多个块的所有剩余的有效数据的复制操作。为了更详细说明,在接下来的步骤ST19,控制部16进行要对用于高速缓存块32和逻辑块31的有效的第三页数据执行的内部处理的请求。然后,在接下来的步骤ST20,在非易失性存储器15中,对有效的第三页数据执行复制操作和所需的初始化。随后,在接下来的步骤ST21,非易失性存储器15将完成信号输出至控制部16。
然后,控制部16更新逻辑/物理转换表。随后,在接下来的步骤ST22,控制部16进行要对用于高速缓存块32和逻辑块31 的有效的第四页数据执行的内部处理的请求。然后,在接下来的步骤ST23,在非易失性存储器15中,对有效的第四页数据执行复制操作和所需的初始化。随后,在接下来的步骤ST24,非易失性存储器15将完成信号输出至控制部16。然后,控制部16更新逻辑/物理转换表。通过如上所述执行多个无用单元收集子操作,在通过主机装置( 所进行的写入访问的期间中,控制部16执行无用单元收集操作,以释放高速缓存块32。通过这种操作,初始化并且释放多个高速缓存块32。在典型比较例的构造中在写入访问期间对高速缓存块所执行的无用单元收集操作接下来,以下描述说明了在典型比较例的构造中所执行的无用单元收集操作。应注意,在以下描述中,为了便于说明,与第一实施方式中采用的各对应部件相同的元件通过与这些对应部件相同的参考数字和相同的参考名称来表示。图6示出了在典型比较例的构造中被执行以存储数据的操作序列的示图。在图6中,示出了主机装置(2)、在存储卡1中采用的控制部16以及非易失性存储器15。在图6中,时间轴从示图的顶部开始以垂直方向定向。应注意,与图5类似地,在图6中所示的操作序列为典型序列,其中,为了释放高速缓存块32,主机装置( 通过单个无用单元收集操作GC来对具有四页大小的数据执行无用单元收集操作。在图6中的典型比较例的构造中,当控制部16从主机装置(2)接收到写入命令时,控制部16向主机装置( 发出写入命令的写入数据的请求。在步骤STl至步骤STll,从主机装置( 接收写入数据,并且将该写入数据在从缓冲RAM 14转移至非易失性存储器15之前存储在缓冲RAM 14中。另外,当由于第二写入操作,未使用的高速缓存块32不再可用时,控制部16在通过主机装置( 所进行的写入访问的期间中执行无用单元收集操作,以释放高速缓存块 32。在步骤ST12至步骤STM,控制部16执行高速缓存块32和与高速缓存块32相对应的逻辑块31中的四页有效数据的复制操作。另外,控制部16初始化高速缓存块32和与高速缓存块32相对应的逻辑块31,释放高速缓存块32。随后,在步骤ST31,控制部16将写入访问成功完成通知信号发送至主机装置(2), 作为应答信号。如上所述,在第一实施方式中,在主机装置( 进入要从存储卡1接收的写入完成应答信号的超时状态之前,存储卡1能够将写入完成应答信号发送至主机装置(2)。因此,根据第一实施方式,在用于将如图4中所示的移动画面实时存储在存储卡1 中的存储系统中,由于在写入访问期间中执行了无用单元收集操作以释放高速缓存块32, 所以不存在主机装置( 进入要从存储卡1接收的写入完成应答信号的超时状态的情况。
也就是说,在第一实施方式中,通过利用诸如NAND型闪速存储器的非易失性半导体存储器45作为用于存储移动画面的存储部,可以通过该实施方式实现实时系统。如上所述,在第一实施方式中,为了释放高速缓存块32,在作为对存储器45的访问的主机装置O)中所进行的访问的期间中,通过将无用单元收集操作划分为多个无用单元收集子操作,来执行无用单元收集操作。另外,在多个无用单元收集子操作中的每两个相邻无用单元收集子操作之间的时
间,响应于通过主机装置( 所进行的访问,控制部16将操作完成信号发送至主机装置 ⑵。因此,在第一实施方式中,即使在通过主机装置( 进行的访问的期间中,执行无用单元收集操作而释放高速缓存块32,存储卡1也能够响应于适当定时(timing)的访问将操作完成信号发送至主机装置(2)。结果,在第一实施方式中,由于在访问期间中执行了无用单元收集操作以释放高速缓存块32,所以不存在主机装置( 进入要从存储卡1接收的写入完成应答信号的超时状态的情况。2:第二实施方式存储卡和主机装置的构造在第二实施方式中采用的存储卡1和主机装置(2)的构造分别与在第一实施方式中采用的、并且通过参照用作图1至图4的示图而在此前已经描述的存储卡1和主机装置 (2)的构造相同的构造。为了以上原因,在第二实施方式中所采用的存储卡1和主机装置(2)的构造中,与第一实施方式中采用的各对应部件相同的元件通过与这些对应部件相同的参考数字和相同的参考名称来表示。然而,在第二实施方式中为了释放高速缓存块32通过控制部16所执行的无用单元收集操作与在第一实施方式中为了释放高速缓存块32通过控制部16所执行的无用单元收集操作不同。为了更详细说明,在第二实施方式的情况下,存储卡1在多个无用单元收集子操作中的每两个相邻的无用单元收集子操作之间的时间,将操作进行中应答信号发送至主机装置O),并且在完成执行所有的无用单元收集子操作的时候,将写入操作完成应答信号发送至主机装置(2)。应注意,存储卡1还可以在多个无用单元收集子操作中的每两个相邻无用单元收集子操作之间的时间,将写入操作完成应答信号发送至主机装置O),并且在完成执行所有无用单元收集子操作的时候,将另一应答信号发送至主机装置( 。利用定时由存储卡1发送至主机装置( 的每一应答信号所传达的信息可以根据采用存储卡1的存储系统和主机装置⑵适当改变。在写入访问时对高速缓存块所执行的无用单元收集操作接下来,如下说明了根据第二实施方式通过存储卡1所执行的操作。下文中所述的操作为在主机装置( 进行对存储卡1的写入访问的典型情况下所执行的操作。图7示出了根据第二实施方式而执行以将数据存储在存储卡1中的操作序列的图表。在图7中,示出了主机装置(2)、在存储卡1中采用的控制部16以及非易失性存储器15。在用作图7的示图中,时间轴从示图的顶部开始以垂直方向定向。应注意,在图7中所示的操作序列为典型序列,其中,为了释放高速缓存块32,主机装置( 通过将无用单元收集操作划分为无用单元收集子操作GCl至GC4而对具有四页大小的数据执行无用单元收集操作。在图7中,当控制部16从主机装置( 接收写入命令时,控制部16向主机装置 (2)发出写入命令的写入数据的请求。在步骤STl至STll,从主机装置( 接收写入数据, 并且将该写入数据在从缓冲RAM 14转移至非易失性存储器15之前存储在缓冲RAM 14中。另外,当由于第二写入操作,未使用的高速缓存块32不再可用时,在通过主机装置(2)所进行写入访问的期间中,控制部16执行无用单元收集操作,以释放高速缓存块32。在为了释放高速缓存块32所执行的无用单元收集操作中,首先,控制部16执行如下第一无用单元收集子操作GCl。在步骤ST12,控制部16进行要对一页的有效数据执行的、 将数据复制到逻辑块31-2的内部处理的请求。这一页的有效数据为高速缓存块32和与高速缓存块32相对应的逻辑块31的数据。因此,在非易失性存储器15中,将作为一页的有效数据的指定数据从高速缓存块 32或者逻辑块31复制到用作新的未使用逻辑块的另一逻辑块31-2。当在该复制操作中已经将高速缓存块32或者逻辑块31的所有有效数据复制到逻辑块31-2中时,在非易失性存储器15中,在接下来的步骤ST13初始化高速缓存块32或者逻辑块31。当完成复制操作和初始化的时候,非易失性存储器15在接下来的步骤ST14将完成信号提供给控制部16。然后,控制部16更新逻辑/物理转换表。在已经完成执行第一无用单元收集子操作GCl之后,控制部16暂停无用单元收集操作。然后,在接下来的步骤ST14,控制部16将写入操作进行中应答信号发送至主机装置⑵。在将写入操作进行中应答信号发送至主机装置O)以后,控制部16重新开始用于释放高速缓存块32的无用单元收集操作。在步骤ST15至ST17,控制部16执行第二无用单元收集子操作GC2。在已经完成执行第二无用单元收集子操作GC2之后,控制部16再次暂停无用单元收集操作。然后,在接下来的步骤ST42,控制部16将写入操作进行中应答信号发送至主机装置⑵。在将写入操作进行中应答信号发送至主机装置( 之后,控制部16重新开始用于释放高速缓存块32的无用单元收集操作。控制部16执行第三无用单元收集子操作。在已经完成执行第三无用单元收集子操作之后,控制部16再次暂停无用单元收集操作。然后,控制部16将写入操作进行中应答信号发送至主机装置(2)。在将写入操作进行中应答信号发送至主机装置O)以后,控制部16重新开始用于释放高速缓存块32的无用单元收集操作。在步骤ST22至STM,控制部16执行第四无用单元收集子操作。在已经完成执行第四无用单元收集子操作之后,控制部16停止无用单元收集操作。然后,在步骤ST43,控制部16将写入完成应答信号发送至主机装置O)。通过如上所述执行组成无用单元收集操作的多个无用单元收集子操作,控制部16 能够执行无用单元收集操作以处理多个高速缓存块32。在无用单元收集操作中,初始化并且释放高速缓存块32。如上所述,在第二实施方式中,为了释放高速缓存块32,在作为对存储器45的访问的在主机装置O)中所进行的访问的期间中,通过将无用单元收集操作划分为多个无用单元收集子操作来执行无用单元收集操作。另外,在多个无用单元收集子操作中的每两个相邻无用单元收集子操作的时间, 控制部16将写入操作进行中应答信号和写入完成应答信号发送至主机装置(2)。因此,在第二实施方式的情况下,即使在通过主机装置( 所进行的访问期间中执行无用单元收集操作以释放高速缓存块32,也可以防止主机装置(2)照原样保留在未从存储卡1接收到应答信号的状态。结果,在第二实施方式中,由于在访问期间中执行了无用单元收集操作以释放高速缓存块32,所以不存在主机装置( 进入要从存储卡1接收的写入完成应答信号的超时状态的情况。上述实施方式的各个构造仅是本发明的典型的优选实例。也就是说,本发明的实例决不限于这些实施方式。换句话说,实施方式可改变为各种的任何修改和/或重新设计的版本,只要这些修改和/或重新设计的版本在不偏离本发明的本质的范围内。例如,在上述实施方式中,控制部16通过将无用单元收集操作划分为多个无用单元收集子操作而执行无用单元收集操作,以释放高速缓存块32。作为另一实例,控制部16还可以通过将无用单元收集操作划分为多个无用单元收集子操作而执行无用单元收集操作,以释放多个高速缓存块32。如前所述,在上述实施方式中,控制部16在通过主机装置( 所进行的写入访问的期间中执行分割的无用单元收集操作以处理高速缓存块。然而,可以将该实施方式改变为如下的典型修改版本。例如,控制部16还可以在通过主机装置( 所进行的读取访问的期间中执行分割的无用单元收集操作以处理高速缓存块。在上述实施方式中,一个处理器12基于通过主机装置( 所进行的访问执行控制处理和无用单元收集操作。然而,可以将该实施方式改变为如下的典型修改版本。例如,控制部16还可以通过利用专用处理器执行控制处理,并且通过利用除该专用处理器以外的处理器来执行无用单元收集操作。在上述实施方式中,存储卡1利用NAND型闪速存储器以用作非易失性存储器15。 然而,可以将该实施方式改变为如下的典型修改版本。例如,存储卡1还可以利用NOR型闪速存储器以用作非易失性存储器15。在上述实施方式中,存储卡1用作卡型的存储装置。然而,可以将该实施方式改变为如下的典型修改版本。例如,作为存储装置,还可利用USB存储器、内嵌在主机装置中的SSD存储器、eMMC 存储器等。在上述实施方式中,将相机装置2用作主机装置。然而,可以将该实施方式改变为如下典型修改版本。例如,作为主机装置,还可利用计算机、移动电话、电子设备、PDA、导航装置、再生
装置等。在上述实施方式中,连接至装置输入/输出部11的主机输入/输出部46根据符合诸如PCI Express规格或者USB3. 0规格的通信方法与装置输入/输出部11交换数据。 然而,可以将该实施方式改变为如下典型修改版本。例如,装置输入/输出部11还可以通过短距离无线通信等与主机输入/输出部46 交换数据。本申请包含于2010年3月17日向日本专利局提交的日本在先专利申请JP 2010-060208中所公开的主题,其全部内容结合于此作为参考。本领域的技术人员应当理解,根据设计要求和其他因素,可以进行各种修改、组合、子组合和变形,均应包含在所附权利要求或其等同物的范围之内。
权利要求
1.一种存储装置,包括输入/输出部,被配置为输入并且输出与外部访问相关的数据; 存储器,用于通过将所述输入/输出部所输入的输入数据分配给多个区域的同时利用用于临时存储所述输入数据的高速缓存区域来存储所述输入数据;以及控制部,被配置为基于所述外部访问进行对所述存储器的访问,并且在基于所述外部访问而对所述存储器进行的访问时,对包括所述高速缓存区域的所述多个区域执行无用单元收集操作,以释放所述高速缓存区域,其中, 所述控制部在基于所述外部访问对所述存储器进行的访问时,通过将所述无用单元收集操作划分为多个无用单元收集子操作,而对包括所述高速缓存区域的所述多个区域执行所述无用单元收集操作,以及在所述多个无用单元收集子操作中的每两个相邻无用单元收集子操作之间的时间对所述外部访问进行应答。
2.根据权利要求1所述的存储装置,其中,所述控制部将所述存储器的所述多个区域中的一些区域用作所述高速缓存区域;以及当所述高速缓存区域的数量超过规定数量时,所述控制部在基于所述外部访问对所述存储器所进行的所述访问时对包括所述高速缓存区域的所述多个区域执行所述无用单元收集操作。
3.根据权利要求1所述的存储装置,其中,所述控制部在所述多个无用单元收集子操作中的每两个相邻无用单元收集子操作之间的时间对所述外部访问进行应答,以表示访问处理完成;以及在对所述外部访问进行应答以表示访问处理完成以后,所述控制部执行所述多个无用单元收集子操作中的剩余的无用单元收集子操作。
4.根据权利要求1所述的存储装置,其中,所述控制部在所述多个无用单元收集子操作中的每两个相邻无用单元收集子操作之间的定时和在执行所述多个无用单元收集子操作中的最后一个无用单元收集子操作之后的定时对所述外部访问进行应答。
5.一种存储系统,包括 主机装置;以及所述主机装置可访问的存储装置,其中, 所述存储装置具有输入/输出部,被配置为输入并且输出与由所述主机装置所进行的外部访问相关的数据;存储器,用于通过将所述输入/输出部所输入的输入数据分配给多个区域的同时利用用于临时存储所述输入数据的高速缓存区域来存储所述输入数据;以及控制部,被配置为基于所述外部访问进行对所述存储器的访问,并且在基于所述外部访问而对所述存储器进行的访问时,对包括所述高速缓存区域的所述多个区域执行无用单元收集操作,以释放所述高速缓存区域,以及所述控制部在基于所述外部访问对所述存储器进行的访问时,通过将所述无用单元收集操作划分为多个无用单元收集子操作,而对包括所述高速缓存区域的所述多个区域执行所述无用单元收集操作,以及在所述多个无用单元收集子操作中的每两个相邻无用单元收集子操作之间的时间对所述外部访问进行应答。
全文摘要
本发明提供了存储装置和存储系统,该存储装置包括输入/输出部,被配置为输入并且输出与外部访问相关的数据;存储器,用于通过将输入/输出部所输入的输入数据分配给多个区域同时利用用于临时存储输入数据的高速缓存区域来存储该输入数据;以及控制部,被配置为基于外部访问进行对存储器的访问,并且在基于外部访问而对存储器进行的访问时,对包括高速缓存区域的区域执行无用单元收集操作,以释放高速缓存区域。
文档编号G06F12/02GK102193866SQ201110057080
公开日2011年9月21日 申请日期2011年3月9日 优先权日2010年3月17日
发明者川村景太, 麻生伸吾 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1