CN103425589A - 控制装置、存储装置以及存储控制方法 - Google Patents
控制装置、存储装置以及存储控制方法 Download PDFInfo
- Publication number
- CN103425589A CN103425589A CN2013101730399A CN201310173039A CN103425589A CN 103425589 A CN103425589 A CN 103425589A CN 2013101730399 A CN2013101730399 A CN 2013101730399A CN 201310173039 A CN201310173039 A CN 201310173039A CN 103425589 A CN103425589 A CN 103425589A
- Authority
- CN
- China
- Prior art keywords
- data
- less
- physical
- unit
- size
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/04—Addressing variable-length words or parts of words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了控制装置、存储装置以及存储控制方法,该控制装置包括控制单元,被配置以如此方式来执行控制:在响应于写入请求将数据写入到第一非易失性存储器中经受处理并作为执行擦除操作的单位的物理区域中的情况下;并且在请求写入的数据的末端与第一非易失性存储器中作为执行写入操作的最小单位的物理区域之间的边界不一致的情况下,大小小于最小单位的第一数据存储在预定的临时存储区域中;以及之后在请求将由与第一数据相同的逻辑地址所指定的第二数据写入的情况下,第一数据和第二数据被组合并被写入至经受处理的物理区域中。
Description
技术领域
本发明涉及控制装置、存储装置以及非易失性存储器的存储控制方法,更具体地,涉及在请求写入的数据末端不匹配非易失性存储器中执行写入操作的最小单位的物理区域之间边界的情况下所执行的处理。
背景技术
使用非易失性存储器(诸如NAND型闪速存储器)的存储装置变得越来越广泛地使用。非易失性存储器用在存储卡、固态驱动器(SSD)、嵌入式多媒体卡(eMMC)等中,用于例如各种类型的电子装置、信息处理装置。
日本未审查专利申请公开第2009-70098号、第2007-334852号、第2007-193838号以及第2007-58840号公开了使用闪速存储器的存储装置。
物理地址被用作非易失性存储器中物理存储区域中的地址。通过使用该物理地址,来设置物理块、物理页以及物理扇区。多个物理扇区组成物理页,而多个物理页组成物理块。
以每物理块的方式执行擦除操作(擦除),而可以每物理页的方式执行写入操作(编程)以及读出操作(读出)。
主机装置使用逻辑地址来指定地址。具有逻辑地址的逻辑块和逻辑页与上述的物理地址相关。因此,在请求存取实际的闪速存储器的情况下,逻辑地址转换成物理地址,并通过该物理地址来存取实际的闪速存储器。
这里,通过主机装置请求写入至存储装置的数据,不具有每次都匹配非易失性存储器的物理页(该物理页是执行写入操作的最小单位)之间边界的末端。
在请求写入的数据末端不匹配物理页之间边界的情况下,该数据的末尾部分是具有大小小于物理页的数据(以下,如此数据被称为小于页面大小的数据)。因为执行写入操作的最小单位是上述的物理页,所以,在继小于页面大小的数据的地址之后的逻辑地址所指定的数据(即,继小于页面大小的数据之后的数据),是稍后请求要被写入的情况下,如何写入所请求要写入的数据的头部(该头部的大小也小于物理页的大小)是一个问题。
在现有方法中,被设计成:不管请求写入的数据末端是否匹配物理页之间的边界,请求写入的数据的整体写入到经受处理的物理块中。之后,在写入数据的末端不匹配物理页之间的边界并且写入数据之后的数据被请求写入的情况下,因为存在执行写入操作的最小单位是物理页的规则,所以,已写入的小于页面大小的数据与所请求要写入的小于页面大小的数据(其为请求要写入的数据的头部)相结合。然后,将具有物理页大小的结合后数据新写入另一物理页中。
发明内容
在上述现有方法中,在请求写入数据末端不匹配物理页之间边界的情况下,将数据的末端部分、小于页面大小的数据写入到经受处理的物理块中。之后,在与小于页面大小的数据成对的数据(即,由与小于页面大小的数据相同的逻辑地址所指定的数据)被请求写入的情况下,通过该数据与小于页面大小的数据结合所获得的数据,被写入另一物理页中,结合后的数据具有物理页的大小。
然而,在如此的现有方法中,如上所述,因为通过组合小于页面大小的数据片所获得的数据被新写入另一物理页中,组合后的数据具有物理页的大小,所以发生了很多次碎片收集。
因为发生了很多次碎片收集,所以,存在的问题在于处理速度降低以及执行碎片收集的装置的寿命缩短。
鉴于上述的情况而做出本技术。在写入具有不匹配物理区域(执行写入操作的最小单位)之间边界的末端的数据的情况下,期望减少发生碎片收集次数,并防止处理速度降低以及执行碎片收集的装置寿命的缩短。
根据本技术的实施方式,在本技术中提供了一种具有以下结构的控制装置。
即,本技术中的控制装置包括控制单元,被配置为以以下方式来执行控制:在响应于写入请求将数据写入到第一非易失性存储器中经受处理并作为执行擦除操作的单位的物理区域中的情况下;并且在请求写入的所述数据的末端与所述第一非易失性存储器中作为执行写入操作的最小单位的物理区域之间的边界不一致的情况下,大小小于所述最小单位的数据存储在预定的临时存储区域中;以及之后在请求将由与大小小于所述最小单位的所述数据相同的逻辑地址所指定的数据写入的情况下,通过将由相同逻辑地址所指定的所述数据与存储在所述预定的临时存储区域中大小小于所述最小单位的所述数据相结合所获得的数据写入至经受处理的所述物理区域中。
此外,根据本技术的执行方式,在本技术中提供了一种具有以下结构的存储装置。
即,在本技术中的该存储装置包括第一非易失性存储器。
此外,本技术中的存储装置包括控制单元,控制单元,被配置为以以下方式来执行控制:在响应于写入请求将数据写入到第一非易失性存储器中经受处理并作为执行擦除操作的单位的物理区域中的情况下;并且在请求写入的所述数据的末端与所述第一非易失性存储器中作为执行写入操作的最小单位的物理区域之间的边界不一致的情况下,大小小于所述最小单位的数据存储在预定的临时存储区域中;以及之后在请求将由与大小小于所述最小单位的所述数据相同的逻辑地址所指定的数据写入的情况下,通过将由相同逻辑地址所指定的所述数据与存储在所述预定的临时存储区域中大小小于所述最小单位的所述数据相结合所获得的数据写入至经受处理的所述物理区域中。
如上所述,在不同于现有方法的本技术方法中,在请求写入具有不匹配物理区域之间边界的末端的数据,并且该数据包括大小小于最小单位的数据的情况下,具有大小小于最小单位的数据不写入到经受处理的物理区域中,而是写入到预定的临时存储区域中。此后,在请求写入由与大小小于最小单位的数据相同的逻辑地址所指定数据的情况下,由大小小于最小单位的数据相同的逻辑地址所指定的数据与大小小于最小单位并存储在预定的临时存储区域中的数据相结合所获得的数据被写入到经受处理的物理区域中。
与现有的方法不同,在这样的本技术中,现有方法中由于将大小小于最小单位的数据写入到经受处理的物理区域中所执行的碎片收集次数可被减少。可减少发生碎片收集的次数,并可因此减小处理速度的降低,以及减小执行碎片收集的装置的寿命的缩短。
在本技术中,在具有不匹配非易失性存储器的物理区域之间边界的末端的数据被写入的情况下,可减少发生碎片收集的次数,并可减小处理速度的降低,以及减小执行碎片收集的装置的寿命的缩短
附图说明
图1是示出了根据实施方式的存储装置的内部结构的框图;
图2是示意性示出了根据实施方式的物理块和物理页之间关系的示图;
图3是用于描述现有方法的示图,在该现有方法中,不允许在相同物理块中存在具有相同逻辑地址的物理页;
图4是用于描述现有方法的示图,在该现有方法中,允许在相同物理块中存在具有相同逻辑地址的物理页;
图5是用于描述作为第一实施方式的写入方法的示图;
图6是示出了小于页面大小的数据管理信息的结构示例的示图;
图7是示出了产生小于页面大小的数据管理信息的步骤的流程图;
图8是示出了在第一实施方式中写入数据时所执行的处理的流程图;以及
图9是用于描述作为第二实施方式的写入方法的示图。
具体实施方式
接下来,将描述本技术中的实施方式。
第一实施方式
图1是示出了作为根据本发明实施方式的存储装置示例的存储卡1的内部结构的框图。
存储卡1连接至主机装置2,并用作存储装置。该主机装置2可以是各种类型的电子装置以及信息处理装置中的一种,这些装置的示例包括诸如个人计算机、数码相机、视频相机、音频播放器,视频播放器、游戏机,便携式电话或个人数字助理(PDA)等的信息终端。
存储卡1包括控制单元11、内部随机存取存储器(RAM)12、设备接口13、缓冲器RAM14、闪速存储器15以及非易失性(NV)存储器16。
控制单元11包括中央处理单元(CPU),并执行存储卡1中所有的控制操作。因此,控制单元11顺序地执行内部RAM12中所存储的指令代码。控制单元11主要响应于从主机装置2所发的送命令来执行数据写入和数据读出。因此,控制单元11控制设备接口13发送数据至和接收数据自主机装置2的操作、控制缓冲器RAM14的写入数据和读出数据的操作以及控制存取闪速存储器15的操作。
内部RAM12包括例如静态随机存取存储器(SRAM)。内部RAM12用以存储由控制单元11所执行的程序(固件),并用作工作区域。
设备接口13执行至和自主机装置2的通信。
缓冲器RAM14用以缓冲至和自主机装置2的传输数据(要被写入的数据以及要被读出的数据)。
闪速存储器15是非易失性存储器。在此示例中,使用NAND型闪速存储器。
NV存储器16是其中存储有在各种类型的处理中由控制单元11所使用的数据的非易失性存储器。
在要写入数据的情况下,作为存储卡1的基本操作,除了写入请求之外,还从主机装置2发送写入地址(逻辑地址)、要被写入的数据、数据的大小。
从主机装置2所发送的数据由设备接口13接收,并由缓冲器RAM14缓冲。在控制单元11所执行的控制下,数据写入到闪速存储器15中。控制单元11根据写入请求、写入地址以及数据大小,控制这些操作。
在数据要被读出的情况下,除读出请求外,还从主机装置2发送读出地址(逻辑地址)以及数据大小。基于读出地址和数据大小,控制单元11从闪速存储器15读出被请求的数据,并由缓冲器RAM14来缓冲被读出的数据。另外,控制单元1对缓冲的读出数据执行错误校正处理等。然后,读出数据从缓冲器RAM14传送至设备接口13,并发送至主机装置2。
在闪速存储器15中,物理地址用作物理存储区域中的地址。通过使用物理地址来设置物理块、物理页以及物理扇区。多个物理扇区组成物理页,并且多个物理页组成物理块。
图2是示意性示出了物理块和物理页之间关系的示图。
在此实施方式中,物理块包含128个物理页。
这里,每个物理页被划分成多个物理扇区,其在图2中未示出。
以每物理块方式执行擦除操作(擦除)。可以每物理页方式执行写入操作(编程)以及读出操作(读出)。即,物理块是作为执行擦除操作的最小单位(最小擦除单位)的物理区域,而物理页是作为执行写入操作的最小单位(最小写入单位)的物理区域。
主机装置2使用逻辑地址来指定地址。由逻辑地址所指定的逻辑块、逻辑页以及逻辑扇区与上述的物理地址相关。即,控制单元11通过将逻辑地址与物理地址相关,来产生逻辑和物理地址管理信息。在控制单元11从主机装置2接收存取请求的情况下,控制单元11通过参照逻辑和物理地址管理信息,将主机装置2所指定的逻辑地址转化成对应的物理地址。控制单元11通过使用最终的物理地址,执行闪速存储器15的实际存取操作。
接下来,由主机装置2请求要写入或读取的数据(通过主机装置2使用逻辑地址管理的数据)在以下被称为“主机数据”
现有的通常写入方法包括不允许在相同物理块中存在具有相同逻辑地址的物理页的写入方法,如图3中所示。
在图3中,假定在经受处理(写入处理)的物理块(称为物理块M)中尚未存储任何东西。
此外,在图3中,假定要写入经受处理的物理块M中的主机数据之中,由逻辑地址0、1、2、3和4以及逻辑地址5的前一半(以下称为逻辑地址5-1)所指定的数据在第一写入请求中被请求写入,并且,由逻辑地址5的后一半(以下称为逻辑地址5-2)以及逻辑地址6至逻辑地址127所指定的数据在第二写入请求中被请求写入。即,假定末端不匹配物理页之间边界的数据在第一写入请求中被请求写入,而随后的数据(由随后的逻辑地址所指定的数据)在第二写入请求中被请求写入。
在响应于写入主机数据的第一写入请求的情况下,如图3中由<1>所标示的,请求要写入的主机数据(逻辑地址0至5-1),从图3中由<2>所标示的第一物理页(具有物理页编号0的物理页)顺序地写入到物理块M中。
即,在物理块中,物理页从第一物理页(具有物理页编号0的物理页)来顺序地使用。
作为如此写入处理的结果,大小小于物理页的数据(以下,这种数据被称为小于页面大小的数据),被存储在物理块M的最后使用的物理页中。
这里,如上所述,在物理块的物理页从具有物理页编号0的物理页顺序地使用的条件下,上述“最后使用的物理页”是在此时间点时执行最近数据写入处理的物理页。
假定在执行图3中由<2>所示处理后,如图3中<3>所标示,发出了写入主机数据的第二写入请求。
由逻辑地址5-2所指定的数据,是第二写入请求中请求要被写入的数据的头部。因为执行写入操作的最小单位是物理页,所以不可能将逻辑地址5-2所指定的数据写入到具有逻辑页编号5的物理页中,该物理页存储有逻辑地址5-1所指定的小于页面大小的数据。
此外,在图3中的情况下,不允许在相同物理块中存在具有相同逻辑地址的物理页。因此,也不可能将逻辑地址5-2所指定的数据写入到物理块M中。
然后,在此情况下,将响应于第一写入请求的、由逻辑地址0到4所指定并存储在物理块M中的数据(即,除小于页面大小的数据外的主机数据),从如图3中由<4>所标示的第一物理页首先顺序地写入到物理块N(新准备的)中,以响应于图3中由<3>所标示的第二写入请求。
然后,如图3中<5>所标示,由逻辑地址5-1所指定的数据(其是响应于第一写入请求所执行处理的结果而所获得的小于页面大小的数据),被读取、被暂时存储并与在第二写入请求中请求要被写入的数据的头部相结合。结合后的数据写入到物理块N的随后物理页中。
结果,当满足了不允许在相同物理块中存在具有相同逻辑地址的物理页的条件时,可适当地处理小于页面大小的数据。
然而,以图3中所示的现有方法,每次处理小于页面大小的数据时,必需将小于页面大小的数据复制到新准备的物理块N中。即,发生了碎片收集。
如上所述,以图3中所示的现有方法,发生了很多次碎片收集。结果,处理速度降低并且执行碎片收集的装置的寿命会缩短。
图4示出了作为允许在相同物理块中存在具有相同逻辑地址的物理页的情况下的另一现有方法的写入方法。
在图4中,同样假定在经受处理(写入处理)的物理块M中尚未存储任何东西,并且在第一写入请求中请求写入由逻辑地址0到逻辑地址5-1所指定的数据,以及在第二写入请求中请求写入由逻辑地址5-2到逻辑地址127所指定的数据。
同样在此情况下,响应于图4中由<1>所标示的用于写入主机数据的第一写入请求,请求写入的主机数据(逻辑地址0到逻辑地址5-1)从如图4中由<2>所标示的第一物理页顺序地写入到物理块M中。即,同样在此情况下,将小于页面大小的数据(逻辑地址5-1)存储在物理块M中在此时间点时最后使用的物理页中。
接下来,发出了图4中由<3>所标示的第二写入请求。因为在图4中所示的方法中,允许在相同物理块中存在具有相同逻辑地址的物理页,所以,可将小于页面大小的数据(逻辑地址5-2)写入到物理块M中。在这里,逻辑地址5-2是第二写入请求中请求要写入的数据的头部。
然后,在此情况下,如由图4中<4>所标示,首先响应于图4中由<3>所标示的第二写入请求,读取小于页面大小的数据(逻辑地址5-1),其为在具有物理页编号5的物理页中所存储的、并产生于响应第一写入请求所执行的处理的小于页面大小的数据。被读取的小于页面大小的数据与第二写入请求中所请求写入的数据相结合。结合后的数据写入到物理块M中随后的物理页,其为此时间点时继最后使用的物理页之后。
注意,在此情况下的第二写入请求中,请求写入了多达逻辑地址127的主机数据。此外,因为执行擦除操作的单位是物理块,所以,不可能重写具有物理页编号5的物理页中所存储的小于页面大小的数据、产生于响应第一写入请求所执行的处理的小于页面大小的数据。
因此,在图4中由<4>所示的主机数据写入到物理块M中的情况下,不可能写入第二写入请求中所请求要写入的数据之中的数据(逻辑地址127),其要被写入到物理块M中的最后物理页中。
因此,如图4中<5>所示,除物理块M外,需要准备另一新物理块(物理块N)。由逻辑地址0到逻辑地址4所指定的、存储在物理块M中的具有物理页编号0到物理页编号4的物理页中的数据,以及由逻辑地址5到逻辑地址126所指定的存储在物理块M中具有物理页编号6到物理页编号127的物理页中的数据被读取。然后,将逻辑地址0到逻辑地址126所指定的读取数据从其第一物理页顺序地写入到物理块N中,而将逻辑地址127所指定的数据写入到物理块N中的最后物理页(物理页编号127)。
结果,由随后逻辑地址所指定的数据可存储在一个物理块中。
根据图4中所示的现有方法,不同于图3中所示的现有方法,允许在相同物理块中存在具有相同逻辑地址的物理页。因此,每次处理小于页面大小的数据,不会发生碎片收集;然而,在完成具有物理块大小以及由随后逻辑地址所指定的数据的写入之前,必须将物理块中所存储的数据最少复制到另一物理块中一次。因此,发生了碎片收集。
因此,即使在图4所示的现有方法中,在处理中也发生了相对多次的碎片收集。结果,对于图4中所示的现有方法,仍然存在着处理速度降低以及执行碎片收集的装置的寿命缩短的问题。
鉴于上述的情况而做出第一实施方式。在数据的末端不匹配物理区域(执行写入操作的最小单位)之间边界的情况下,期望减少发生碎片收集次数,并防止处理速度降低以及装置寿命缩短。
图5是用于描述作为第一实施方式的写入方法的示图。
在不同于现有方法的第一实施方式中,在请求写入的数据的末端不匹配物理区域之间边界并包括小于页面大小的数据的情况下,该小于页面大小的数据不被写入到经受处理的物理块中。该小于页面大小的数据暂时存储在预定的临时存储区域中。之后,在请求写入由与上述小于页面大小的数据相同的逻辑地址(相同页地址)指定的数据的情况下,由相同逻辑地址所指定的数据与预定的临时存储区域中所存储的小于页面大小的数据相结合,并且结合后的数据写入到经受处理的物理块中。
接下来,将使用示例来描述根据第一实施方式的写入方法。
在图5中,假定在第一写入请求中,请求写入由逻辑地址0到逻辑地址5-1所指定的主机数据,如图5中<1>所标示。
这里,同样在此情况下,假定在经受处理的物理块M中尚未存储任何东西。
在第一实施方式中,响应于图5中<1>所示的第一写入请求,如图5中<2>所标示,由逻辑地址0到逻辑地址5-1所指定的数据之中,除逻辑地址5-1所指定的数据(小于页面大小的数据)之外的数据,从具有物理页编号0的物理页顺序地写入到物理块M中。
然后,逻辑地址5-1所指定的数据(小于页面大小的数据),被写入到闪速存储器15所准备的物理块N中。
这里,物理块N是为了临时存储这种小于页面大小的数据而由控制单元11所准备的物理块。接下来,这种物理块也被称为“临时块”。
然后,假定在发出图5中<1>所示的第一写入请求后,如图5中<3>所示,继第一写入请求中所请求的主机数据的逻辑地址之后的逻辑地址所指定的主机数据,被请求写入。如图5中所示,由<3>所示的主机数据是由逻辑地址5-2到逻辑地址127所指定的数据。
响应于图5中<3>所示的写入请求,如图5中<4>所示,首先读取在充当临时块的物理块N中所存储的小于页面大小的数据(逻辑地址5-1),然后,被读取的小于页面大小的数据与图5中<3>所示的主机数据中所存在的小于页面大小的数据(逻辑地址5-2)相结合。结合后的数据写入到具有物理页编号5的物理页中,其为此时间点时继最后使用的物理页之后的物理页。然后,图5中<3>所示的其余主机数据(逻辑地址6到逻辑地址127),以顺序的方式写入物理块M中具有物理页编号6到物理页编号127的随后物理页中。
这里,以下为做出确认而再次声明。如上所述,从继最后使用的物理页之后的物理页来写入数据的原因是,物理块中的物理页被假定从具有物理页编号0的物理页顺序地使用。
如上所述,在第一实施方式中,在末端不匹配物理区域之间边界的数据被请求写入并包括小于页面大小的数据的情况下,该小于页面大小的数据被写入到闪速存储器15中所准备的临时块中。之后,由与小于页面大小的数据相同逻辑地址所指定的数据被请求写入的情况下,由相同逻辑地址所指定的数据,与预定的临时存储区域中临时存储的小于页面大小的数据相结合,并且,结合后的数据写入到经受处理的物理块中。
在不同于现有方法的第一实施方式中,小于页面大小的数据不写入到经受处理的物理块中。因此,比较于现有方法,可减少发生碎片收集的次数。因此,可减少处理速度的降低以及执行碎片收集的装置的寿命的缩短。
这里,在末端不匹配物理页之间边界的数据被请求写入并包括小于页面大小的数据,并且之后请求写入与该小于页面大小的数据成对的数据(即,由与该小于页面大小的数据相同逻辑地址所指定的数据)的情况下,根据第一实施方式,搜寻这里所讨论的用于该小于页面大小的数据的临时块。为了在此情况下加速此搜寻,在第一实施方式中,产生用于管理临时块中小于页面大小的数据的存储状态的小于页面大小的数据管理信息。
图6示出了小于页面大小的数据管理信息的结构示例。
如图6中所示,小于页面大小的数据管理信息是逻辑地址和物理页编号彼此相关的信息。更具体地,小于页面大小的数据管理信息,是在临时块中所存储的小于页面大小的数据的逻辑地址,与关于临时块中存储有小于页面大小的数据的物理页编号的信息相关的信息。
控制单元11产生这种小于页面大小的数据管理信息,并将该小于页面大小的数据管理信息存储在例如NV存储器16或闪速存储器15的预定存储器中。
在控制单元11识别临时块中由对象逻辑地址所指定的小于页面大小的数据的位置的情况下(小于页面大小的数据是否存在以及小于页面大小的数据存储在何处),控制单元11参照小于页面大小的数据管理信息。如果未使用这种小于页面大小的数据管理信息,那么,有必要顺序地读取临时块中所存储的小于页面大小的数据片,并获得关于小于页面大小的数据片中的每一个的逻辑地址的信息。然而,根据第一实施方式,其中,根据小于页面大小的数据管理信息,来识别作为对象数据的小于页面大小的数据的位置,不必顺序地读取临时块中所存储的小于页面大小的数据片。结果,可缩短用于搜寻作为对象数据的小于页面大小的数据所需要的处理时间。
图7是示出了用于产生上述小于页面大小的数据管理信息的处理的流程图。
这里,控制单元11根据在例如闪速存储器15或NV存储器16的预定存储器中所存储的程序,执行图7中所示的处理以及图8中所示的后续处理。
在图7中,在步骤S101,控制单元11首先执行临时块中的读取操作,并在步骤S102获得小于页面大小的数据(临时块中所存储的小于页面大小的数据)的逻辑地址。此后,在步骤S103,控制单元11基于关于所获得逻辑地址的信息,产生小于页面大小的数据管理信息。即,通过将关于在步骤S102中所获得的小于页面大小的数据的逻辑地址的信息与关于存储了小于页面大小的数据的临时块中物理页编号的信息相关,来产生小于页面大小的数据管理信息。
在步骤S104,控制单元11将如上所述所产生的小于页面大小的数据管理信息,存储在预定存储器中。如上所述,期望存储有小于页面大小的数据管理信息的存储器示例是NV存储器16、闪速存储器15等。
这里,为了加快搜寻的速度,期望每次将小于页面大小的数据写入到临时块中时,执行如图7中所示用于产生小于页面大小的数据管理信息的处理。
可选地,还可使用一种方法,其中,至少当控制单元1启动时,执行用于产生小于页面大小的数据管理信息的处理。
可选地,还可使用一种方法,其中,每n次将小于页面大小的数据写入到临时块中时(n是大于或等于2的自然数),执行用于产生小于页面大小的数据管理信息的处理。
在每次将小于页面大小的数据写入到临时块中执行用于产生小于页面大小的数据管理信息的处理的情况下,不必每个情况都来执行图7中所示的作为用于产生小于页面大小的数据管理信息的处理的处理。在每次将小于页面大小的数据写入到临时块中而执行图7中所示处理的情况下,每次执行这种写入处理,需要重新构建临时块中所存储的所有小于页面大小的数据的逻辑地址和物理地址之间的关系。在这点上,图7中所示的处理可认为是无效率的。因此,在每次将小于页面大小的数据写入到临时块中而执行图7中所示处理的情况下,可使用一种方法,其中,将新写入到临时块中的小于页面大小的数据的逻辑地址和物理地址之间的关系,添加至现有小于页面大小的数据管理信息。
这里,在使用图7中所示的用于重新构建临时块中所存储的所有小于页面大小的数据的逻辑地址和物理地址之间关系的处理情况下,可提高小于页面大小的数据管理信息对抗例如数据损坏的可靠性。
图8示出了写入主机数据时要执行的处理。
在图8中,在步骤S201,响应于写入主机数据的写入请求、从主机装置2所发送的写入请求,控制单元11获得要被写入的主机数据、其逻辑地址等。
具体地,经由设备接口13,控制单元11将从主机装置2发送的主机数据临时存储在缓冲器RAM14中。此外,控制单元11获得要写入的主机数据的逻辑地址以及经由设备接口13所接收的写入请求中的其数据量。
此后,在步骤S202,控制单元11确定是否存在小于页面大小的数据。即,基于关于在步骤S201中所获得主机数据的数据量的信息,确定主机数据是否包括小于页面大小的数据(即,此时所请求写入的主机数据的末端是否不匹配物理页之间的边界)。
如果在步骤S202中,确定此时所请求写入的主机数据的末端匹配物理页之间的边界,并且获得了表示主机数据不具有小于页面大小的数据的否定结果,那么该处理进行至步骤S203。在步骤S203,控制单元11写入该主机数据。即,在此情况下,控制单元11将该主机数据从继最后使用的物理页之后的物理页顺序地写入到经受处理的物理块中。
另一方面,如果在步骤S202中,确定此时请求写入的主机数据的末端不匹配物理页之间的边界,并且获得了表示主机数据包括小于页面大小的数据的肯定结果,那么该步骤进行至步骤S204。在步骤S204中,控制单元11参照小于页面大小的数据管理信息。在步骤S205,控制单元11确定匹配逻辑地址所指定的小于页面大小的数据是否存储在临时块中。即,控制单元11确定与步骤S202中所检测到小于页面大小的数据相同的逻辑地址(逻辑页地址)所指定的小于页面大小的数据是否存储在临时块中。
在步骤S205,如果获得了表示在临时块中没有存储有匹配地址所指定的小于页面大小的数据的否定结果,那么该处理进行至步骤S206。在步骤S206,控制单元11将步骤S202中所检测到的小于页面大小的数据写入到临时块中。然后,在步骤S208,控制单元11写入其余的主机数据。通过以上描述应理解,从继最后使用的物理页之后的物理页,将其余的主机数据写入到经受处理的物理块中的物理页。
另一方面,在步骤S205,如果获得了表示在临时块中存储有匹配地址所指定的小于页面大小的数据的肯定结果,那么该处理进行至步骤S207。在步骤S207,控制单元11将临时块中所存储的小于页面大小的数据与此时的小于页面大小的数据(步骤S202中所检测的小于页面大小的数据)相结合,并将结合后的数据写入到一个物理页中。然后,在步骤S208,控制单元11写入其余的主机数据。
与现有方法不同,通过执行图8中所示的处理,可减少碎片收集的次数。结果,可减小处理速度的降低,以及减少执行碎片收集的装置的寿命的缩短。
第二实施方式
接下来,将描述第二实施方式。
在第二实施方式中,小于页面大小的数据不写入到闪速存储器15的临时块中,而是写入到闪速存储器15外部的预定存储器中。
具体地,在此示例中,小于页面大小的数据写入到NV存储器16中。
图9示出了根据第二实施方式的写入方法。
作为示例,图9示出了类似于图5中所示的上述情况的请求写入主机数据的情况。从图9和图5之间的比较显然的是,第二实施方式与第一实施方式的不同之处在于:小于页面大小的数据存储在NV存储器16中,该小于页面大小的数据包括在写入请求中请求写入的数据中,并具有不匹配物理页之间的边界的末端。
这里,以下为做出确认而再次声明。在此情况下,产生用于管理NV存储器16中所存储的小于页面大小的数据的信息,作为小于页面大小的数据管理信息。具体地说,控制单元11在此情况下产生通过将NV存储器16中所存储的每个小于页面大小的数据的逻辑地址与存储了小于页面大小的数据的NV存储器16中的物理地址相关的信息,作为小于页面大小的数据管理信息。
此外,当此情况下执行写入处理时,执行类似于图8中所示的处理,其中,用“NV存储器16”来替换步骤S205、步骤S206以及步骤S207中的短语“临时块”。
根据第二实施方式,可防止闪速存储器15的大部分存储容量(即,用于用户数据的存储容量)被用以临时存储小于页面大小的数据。
变形例
以上,已描述了根据本发明的实施方式;然而,本发明不应限于所述的示例。
例如,在实施例中使用了存储卡1;然而,本发明也可以适用于对于分离安装有闪速存储器15和控制单元11的情况。
这里,对于各种存储器卡、SSD、eMMC等,本发明可以是适用的。
此外,作为示例,以上已描述了本发明应用至具有NAND型闪速存储器的存储装置的情况;然而,本发明可优选地应用至将数据写入到其中作为执行擦除操作的单位的物理块大小大于物理页的NV存储器中的情况,物理页是执行写入操作的最小单位。要被使用的NV存储器的类型不应限于NV型闪速存储器。
此外,本发明可具有以下结构。
(1)一种控制装置包括控制单元,被配置为以以下方式来执行控制:在响应于写入请求将数据写入到第一非易失性存储器中经受处理并作为执行擦除操作的单位的物理区域中的情况下;并且在请求写入的所述数据的末端与所述第一非易失性存储器中作为执行写入操作的最小单位的物理区域之间的边界不一致的情况下,大小小于所述最小单位的数据存储在预定的临时存储区域中;以及之后在请求将由与大小小于所述最小单位的所述数据相同的逻辑地址所指定的数据写入的情况下,通过将由相同逻辑地址所指定的所述数据与存储在所述预定的临时存储区域中大小小于所述最小单位的所述数据相结合所获得的数据写入至经受处理的所述物理区域中。
(2)在根据(1)所述的控制装置中,所述控制单元基于大小小于所述最小单位的所述数据的逻辑地址的信息,产生数据管理信息,所述数据管理信息用于管理大小小于所述最小单位并存储在所述预定的临时存储区域中的所述数据的存储状态。
(3)根据(1)或(2)所述的控制装置中,第一非易失性存储器中的物理区域被设定为预定的临时存储区域,并且所述控制单元将大小小于所述最小单位的所述数据存储在所述物理区域中。
(4)根据(1)或(2)所述的控制装置中,第一非易失性存储器外部的第二非易失性存储器被设定为预定的临时存储区域,并且所述控制单元将大小小于所述最小单位的所述数据存储在所述第二非易失性存储器中。
(5)根据(1)至(4)中任一项所述控制装置中,所述控制单元对所述第一非易失性存储器执行写入控制,其中所述第一非易失性存储器是NAND型闪速存储器。
本发明包含于2012年5月17日向日本专利局提交的日本在先专利申请JP2012-113031中所公开的主题,将其全部内容结合于此作为参考。
本领域的技术人员应当理解,根据设计要求和其他因素,可以进行各种修改、组合、子组合和变形,只要它们在所附权利要求或其等同物的范围之内。
Claims (8)
1.一种控制装置,包括:
控制单元,被配置为以以下方式来执行控制:在响应于写入指示而将数据写入到作为第一非易失性存储器中的对象的擦除操作的物理单位中的情况下;并且在被指示写入的所述数据的末端与所述第一非易失性存储器中写入操作的物理最小单位之间的边界不一致的情况下,大小小于所述写入操作的物理最小单位的数据存储在预定的临时存储区域中;以及之后在指示将由与大小小于所述最小单位的所述数据相同的逻辑地址所指定的数据写入的情况下,通过将由相同逻辑地址所指定的所述数据与存储在所述预定的临时存储区域中大小小于所述最小单位的所述数据相结合所获得的数据写入至作为所述对象的所述擦除操作的物理单位中。
2.根据权利要求1所述的控制装置,
其中,所述控制单元基于大小小于所述最小单位的所述数据的逻辑地址的信息,产生数据管理信息,所述数据管理信息用于管理大小小于所述最小单位并存储在所述预定的临时存储区域中的所述数据的存储状态。
3.根据权利要求1所述的控制装置,
其中,所述第一非易失性存储器中的所述擦除操作的物理单位被设定为所述预定的临时存储区域,以及
其中,所述控制单元将大小小于所述最小单位的所述数据存储在所述擦除操作的物理单位中。
4.根据权利要求1所述的控制装置,
其中,所述第一非易失性存储器外部的第二非易失性存储器,被设定为所述预定的临时存储区域,以及
其中,所述控制单元将大小小于所述最小单位的所述数据存储在所述第二非易失性存储器中。
5.根据权利要求1所述的控制装置,
其中,所述控制单元对所述第一非易失性存储器执行写入控制,其中所述第一非易失性存储器是NAND型闪速存储器。
6.根据权利要求2所述的控制装置,
其中,所述数据管理信息是所述逻辑地址和所述物理区域彼此相关的信息。
7.一种存储装置,包括:
第一非易失性存储器;以及
控制单元,被配置为以以下方式来执行控制:在响应于写入指示而将数据写入到作为第一非易失性存储器中的对象的擦除操作的物理单位中的情况下;并且在被指示写入的所述数据的末端与所述第一非易失性存储器中写入操作的物理最小单位之间的边界不一致的情况下,大小小于所述写入操作的物理最小单位的数据存储在预定的临时存储区域中;以及之后在指示将由与大小小于所述最小单位的所述数据相同的逻辑地址所指定的数据写入的情况下,通过将由相同逻辑地址所指定的所述数据与存储在所述预定的临时存储区域中大小小于所述最小单位的所述数据相结合所获得的数据写入至作为所述对象的所述擦除操作的物理单位中。
8.一种控制方法,包括:
以以下方式来执行控制:在响应于写入指示而将数据写入到作为第一非易失性存储器中的对象的擦除操作的物理单位中的情况下;并且在被指示写入的所述数据的末端与所述第一非易失性存储器中写入操作的物理最小单位之间的边界不一致的情况下,大小小于所述写入操作的物理最小单位的数据存储在预定的临时存储区域中;以及之后在指示将由与大小小于所述最小单位的所述数据相同的逻辑地址所指定的数据写入的情况下,通过将由相同逻辑地址所指定的所述数据与存储在所述预定的临时存储区域中大小小于所述最小单位的所述数据相结合所获得的数据写入至作为所述对象的所述擦除操作的物理单位中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012113031A JP5983019B2 (ja) | 2012-05-17 | 2012-05-17 | 制御装置、記憶装置、記憶制御方法 |
JP2012-113031 | 2012-05-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103425589A true CN103425589A (zh) | 2013-12-04 |
Family
ID=49582285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013101730399A Pending CN103425589A (zh) | 2012-05-17 | 2013-05-10 | 控制装置、存储装置以及存储控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9483396B2 (zh) |
JP (1) | JP5983019B2 (zh) |
CN (1) | CN103425589A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106886496A (zh) * | 2015-12-15 | 2017-06-23 | 意法半导体(鲁塞)公司 | 存储空间管理方法和设备 |
CN109918381A (zh) * | 2019-03-13 | 2019-06-21 | 北京百度网讯科技有限公司 | 用于存储数据的方法和装置 |
CN110097898A (zh) * | 2018-01-29 | 2019-08-06 | 三星电子株式会社 | 页面大小感知调度方法和非暂时性计算机可读记录介质 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6034183B2 (ja) * | 2012-12-27 | 2016-11-30 | 株式会社東芝 | 半導体記憶装置 |
KR101703984B1 (ko) * | 2014-07-18 | 2017-02-09 | 주식회사 큐램 | 메모리 처리 방법, 및 메모리 처리 시스템 |
US11347637B2 (en) | 2014-10-30 | 2022-05-31 | Kioxia Corporation | Memory system and non-transitory computer readable recording medium |
US10102118B2 (en) * | 2014-10-30 | 2018-10-16 | Toshiba Memory Corporation | Memory system and non-transitory computer readable recording medium |
US10331551B2 (en) | 2014-12-29 | 2019-06-25 | Toshiba Memory Corporation | Information processing device and non-transitory computer readable recording medium for excluding data from garbage collection |
US10338983B2 (en) | 2016-12-30 | 2019-07-02 | EMC IP Holding Company LLC | Method and system for online program/erase count estimation |
US11069418B1 (en) | 2016-12-30 | 2021-07-20 | EMC IP Holding Company LLC | Method and system for offline program/erase count estimation |
US10289550B1 (en) | 2016-12-30 | 2019-05-14 | EMC IP Holding Company LLC | Method and system for dynamic write-back cache sizing in solid state memory storage |
US10403366B1 (en) * | 2017-04-28 | 2019-09-03 | EMC IP Holding Company LLC | Method and system for adapting solid state memory write parameters to satisfy performance goals based on degree of read errors |
US10290331B1 (en) | 2017-04-28 | 2019-05-14 | EMC IP Holding Company LLC | Method and system for modulating read operations to support error correction in solid state memory |
JP7435470B2 (ja) * | 2018-12-19 | 2024-02-21 | ソニーグループ株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
JP7366795B2 (ja) * | 2020-02-14 | 2023-10-23 | キオクシア株式会社 | メモリシステムおよび制御方法 |
KR20220073306A (ko) * | 2020-11-26 | 2022-06-03 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05151068A (ja) * | 1991-11-29 | 1993-06-18 | Toshiba Corp | メモリカード装置 |
US8108590B2 (en) * | 2000-01-06 | 2012-01-31 | Super Talent Electronics, Inc. | Multi-operation write aggregator using a page buffer and a scratch flash block in each of multiple channels of a large array of flash memory to reduce block wear |
JP4713867B2 (ja) * | 2004-09-22 | 2011-06-29 | 株式会社東芝 | メモリコントローラ,メモリ装置及びメモリコントローラの制御方法 |
JP5162846B2 (ja) | 2005-07-29 | 2013-03-13 | ソニー株式会社 | 記憶装置、コンピュータシステム、および記憶システム |
JP5076411B2 (ja) | 2005-11-30 | 2012-11-21 | ソニー株式会社 | 記憶装置、コンピュータシステム |
EP1895418B1 (en) * | 2005-12-09 | 2015-04-01 | Panasonic Corporation | Nonvolatile memory device, method of writing data, and method of reading out data |
US7428610B2 (en) * | 2006-02-14 | 2008-09-23 | Atmel Corporation | Writing to flash memory |
JP2008033788A (ja) * | 2006-07-31 | 2008-02-14 | Matsushita Electric Ind Co Ltd | 不揮発性記憶装置、データ記憶システム、およびデータ記憶方法 |
US7953954B2 (en) * | 2007-01-26 | 2011-05-31 | Micron Technology, Inc. | Flash storage partial page caching |
JP4537420B2 (ja) | 2007-04-02 | 2010-09-01 | 株式会社リコー | Simd型マイクロプロセッサ |
JP4356782B2 (ja) | 2007-09-12 | 2009-11-04 | ソニー株式会社 | メモリ装置、メモリ制御方法、およびプログラム |
US20120089765A1 (en) * | 2010-10-07 | 2012-04-12 | Huang Shih-Chia | Method for performing automatic boundary alignment and related non-volatile memory device |
JP5319723B2 (ja) * | 2011-03-24 | 2013-10-16 | 株式会社東芝 | メモリシステムおよびプログラム |
US9898402B2 (en) * | 2011-07-01 | 2018-02-20 | Micron Technology, Inc. | Unaligned data coalescing |
US20130031301A1 (en) * | 2011-07-29 | 2013-01-31 | Stec, Inc. | Backend organization of stored data |
US8924631B2 (en) * | 2011-09-15 | 2014-12-30 | Sandisk Technologies Inc. | Method and system for random write unalignment handling |
KR20130096881A (ko) * | 2012-02-23 | 2013-09-02 | 삼성전자주식회사 | 플래시 메모리 장치 |
-
2012
- 2012-05-17 JP JP2012113031A patent/JP5983019B2/ja not_active Expired - Fee Related
-
2013
- 2013-05-06 US US13/888,038 patent/US9483396B2/en active Active
- 2013-05-10 CN CN2013101730399A patent/CN103425589A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106886496A (zh) * | 2015-12-15 | 2017-06-23 | 意法半导体(鲁塞)公司 | 存储空间管理方法和设备 |
CN110097898A (zh) * | 2018-01-29 | 2019-08-06 | 三星电子株式会社 | 页面大小感知调度方法和非暂时性计算机可读记录介质 |
CN110097898B (zh) * | 2018-01-29 | 2022-10-18 | 三星电子株式会社 | 页面大小感知调度方法和非暂时性计算机可读记录介质 |
CN109918381A (zh) * | 2019-03-13 | 2019-06-21 | 北京百度网讯科技有限公司 | 用于存储数据的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US9483396B2 (en) | 2016-11-01 |
US20130311712A1 (en) | 2013-11-21 |
JP5983019B2 (ja) | 2016-08-31 |
JP2013239099A (ja) | 2013-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103425589A (zh) | 控制装置、存储装置以及存储控制方法 | |
US6711663B2 (en) | Algorithm of flash memory capable of quickly building table and preventing improper operation and control system thereof | |
US8769232B2 (en) | Non-volatile semiconductor memory module enabling out of order host command chunk media access | |
CN109062827B (zh) | 闪存控制装置、闪存控制***以及闪存控制方法 | |
US8174912B2 (en) | Systems and methods for circular buffering control in a memory device | |
US8510502B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
US20090193058A1 (en) | System and method for providing copyback data integrity in a non-volatile memory system | |
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
US11269722B2 (en) | Apparatus for diagnosing memory system and operating method thereof | |
US11354192B2 (en) | Data storage devices and methods for firmware failure prevention | |
US8429339B2 (en) | Storage device utilizing free pages in compressed blocks | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
US20150058531A1 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
KR20160074025A (ko) | 데이터 저장 장치의 동작 방법 | |
CN108108261A (zh) | 数据存储装置及其操作方法 | |
US9037781B2 (en) | Method for managing buffer memory, memory controllor, and memory storage device | |
CN112673356B (zh) | 快速非易失性存储装置恢复技术 | |
CN110083305B (zh) | 存储器***及其操作方法 | |
US9575883B2 (en) | Control device, storage device, and storage control method | |
US20130067141A1 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
US20110087828A1 (en) | Method for enhancing performance of accessing a flash memory, and associated memory device and controller thereof | |
CN103389943A (zh) | 控制装置、存储装置及存储控制方法 | |
CN112084118A (zh) | 数据存储装置及其操作方法 | |
US11055231B2 (en) | Data storage devices and data processing methods of skipping editing of fields in H2F table when consecutive addresses are present in F2H table | |
US11915048B2 (en) | Method of scheduling jobs in storage device using pre-defined time and method of operating storage system including the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20131204 |