存储装置、高速缓存控制器及数据写入方法_3

文档序号:8257819阅读:来源:国知局
123从第一空区域列表Illb搜索参数S (Dl)所示的值以上的大小的空区域FA (步骤503)。
[0059]在本实施方式中,参数S (Dl)所不的值表不一个分区的大小(256KB)。在该情况下,MPU123搜索例如一个空分区来作为空区域FA。而且,MPU123判断空区域FA的搜索是否成功(步骤504)。
[0060]如果空区域(分区)FA的搜索成功(步骤504的是),则MPU123通过控制内存IF122而在NAND内存11的空区域FA写入数据Dl (步骤505)。在该情况下,MPU123将与搜索的空区域FA相关的信息从第一空区域列表Illb删除。
[0061]在本实施方式中,第一空区域列表Illb储存于NAND内存11的系统区域111中。因此,MPU123实际上在系统区域111内的空区域写入将与搜索的空区域FA相关的信息如上述那样删除的新的第一空区域列表111b。于是,系统区域111内的空区域也可使用第一空区域列表Illb来管理。此外,用于管理系统区域111内的空区域的空区域列表可与第一空区域列表Illb分别地储存于该系统区域111中。
[0062]MPU123在执行数据Dl的写入(步骤505)时,判断该写入是否成功(步骤506)。此处,数据Dl的写入正常完成,因此数据Dl的写入成功(步骤506的是)。在该情况下,MPU123在高速缓存管理表Illa登记用于将区域FA作为数据Dl的数据区域进行管理的分区管理信息(即、高速缓存目录信息)(步骤507)。在步骤507中,MPU123使对于来自主控制器27(MPU273)的第二写入请求的完成响应(B卩、写入完成响应)通过主机IF121而返回该主控制器27。在MPU123执行步骤507时,使写入处理结束。
[0063]主控制器27的MPU273在接收来自内存控制器12的主机IF121的完成响应时使对于来自主机的第一写入请求的完成响应通过HDC272而返回该主机。该完成响应例如不等待基于第一写入请求的后述的盘写入处理的完成地返回主机。
[0064]此处,对于步骤507的登记工作,以空区域FA是物理分区序号为N的分区N的情况为例来具体说明。首先,MPU123从参数LBA所示的开始理论地址提取理论分区序号。在本实施方式中,由理论地址的预定的上级地址(例如,理论地址的下级18位之外的上级地址)表示理论分区序号。在身上开始理论地址的例子中,提取X来作为理论分区序号。
[0065]于是,MPU123将理论分区序号X及分区状态信息(更具体地,为表示分区状态A的分区状态信息)与物理分区序号N相对应地在高速缓存管理表Illa登记。此外,MPU123将理论页序号O至127及页状态信息(更具体地,为表示页状态V的页状态信息)分别相对应于与物理分区序号N相对应的物理页序号O至127地在高速缓存管理表Illa登记。
[0066]这样,与物理分区N (更具体地,为储存于物理分区N的、理论分区X的数据Dl)相关的高速缓存目录信息在高速缓存管理表Illa中被更新为最新的状态。此时,如果将与理论分区X的旧数据相关的高速缓存目录信息在高速缓存管理表Illa登记,则使该高速缓存目录信息(即、旧高速缓存目录信息)无效化。
[0067]高速缓存目录信息的无效化如以下那样进行。首先,理论分区X的旧数据储存于物理分区序号为Y的物理分区Y。即、根据在高速缓存管理表Illa登记的、与理论分区X的旧数据相关的旧高速缓存目录信息(即、与物理分区Y相关的分区管理信息),来使理论分区序号X与物理分区序号Y相对应。在该情况下,MPU123将旧高速缓存目录信息的分区状态信息从表示状态A或B的信息更新为表示状态W的信息。
[0068]在本实施方式中,高速缓存管理表Illa储存于NAND内存11的系统区域111。因此,实际上,在步骤507中,将包括更新的高速缓存目录信息的新高速缓存管理表11 Ia写入系统区域111内的空区域。另一方面,使旧的高速缓存管理表Illa无效化。
[0069]再有,与上述例子不同,数据Dl的大小比一个分区的大小小,例如为两页的大小(4KB)。数据Dl的最初的理论页(第一理论页)的理论页序号为X0,下一理论页(第二理论页)的理论页序号为Xl (XI =XO + I)。第一理论页是理论分区序号为X的理论分区内的理论页,理论页序号XO由开始理论地址的预定的中位地址(例如,理论地址的下级18位的上级侧的7位)表示。即、理论页序号XO从开始理论地址提取。
[0070]再有,在数据Dl的大小是两页的大小的情况下,MPU123可在搜索的空区域FA(SP、物理分区序号为N的分区N)的两个空页(例如,页O及I)写入数据Dl。在该情况下,MPU123将理论页序号XO及Xl和页状态信息(更具体地,为表示页状态V的页状态信息)分别相对应于与物理分区序号N相对应的物理页序号O及I地在高速缓存管理表Illa登记。再有,在数据Dl的大小是两页大小的情况下,MPU123可搜索至少两个空页来作为空区域FA。
[0071]再有,在步骤507中,MPU123更新储存于RAM125中的访问计数表125a。在上述的例子中,MPU123与物理分区序号N相对应地更新储存于访问计数表125a的访问计数信息。SP、MPU123使与物理分区序号N相对应的访问计数信息的访问计数增加I,且在该访问计数信息中设定表示当前的时刻的时间戳。
[0072]其次,对于向空区域FA写入数据Dl失败的情况(步骤506的否)进行说明。在该情况下,MPU123例如将包括区域FA的物理分区(此处,为物理分区N)设为损坏分区以添加到损坏分区列表Illd (步骤S508)。BP,MPUl23将表示物理分区N的信息(例如,物理分区N的物理分区序号N)添加到损坏分区列表llld。此处,区域FA的大小比一个分区的大小小,且包括区域FA的物理分区内的其他区域Am的数据Dm储存于NAND内存11。在该情况下,在步骤508中,MPU123使在高速缓存管理表Illa登记的、与数据Dm (数据Dm的地址)相关的高速缓存目录信息无效化。该无效化等价于删除区域Am的数据Dm。MPU123在执行步骤508时返回步骤502。
[0073]其次,对于空区域FA的搜索失败的情况(步骤504的否)进行说明。在该情况下,MPU123为了确保空区域而执行以下的处理(步骤509至516)。
[0074]首先,MPU123参照高速缓存管理表Illa (更具体地,为高速缓存管理表Illa内的分区状态信息)(步骤509)。而且,MPU123搜索访问频率低且没有多重化的物理区域(分区)、即非多重化区域(分区)NMA (步骤510)。
[0075]访问频率低的物理区域(分区)指状态(分区状态)为A的物理区域(分区)、即仅访问一次的物理区域(分区)。另一方面,非多重化区域(分区)NMA指在一个理论区域(分区)仅分配一个物理区域(分区)的情况下的、该物理区域(分区)。与之相对,将在一个理论区域(分区)至少分配两个物理区域(分区)的情况下的、该至少两个物理区域(分区)称为多重化区域(分区)。
[0076]在本实施方式中,为了说明的简略化,搜索访问频率低的非多重化分区来作为非多重化区域NMA。该非多重化分区的搜索如以下那样进行。
[0077]首先,MPU123从高速缓存管理表Illa搜索与分区状态A相对应的物理分区序号(以下,称为第一物理分区序号)及理论分区序号的组。其次,MPU123搜索与搜索的理论分区序号相对应且与第一物理分区序号不同的第二物理分区序号。而且,如果第二物理分区序号的搜索失败,则MPU123判断为由第一物理分区序号所表示的物理分区是访问频率低的非多重化区域NMA。
[0078]再有,在多个非多重化区域NMA与分区状态A相对应的情况下,MPU123可选择在最早的时刻访问的非多重化区域NMA。即、MPU123参照访问计数表125a,从而可从与分区状态A相对应的多个非多重化区域NMA选择与表示最早时刻的时间戳相对应的非多重化区域NMA。此外,MPU123也可选择最初搜索的非多重化区域NMA。
[0079]其次,假设与分区状态A相对应的非多重化区域NMA不存在的情况。在该情况下,MPU123可从与分区状态B相对应的多个非多重化区域NMA选择与表示最早时刻的时间戳相对应的非多重化区域NMA。此外,MPU123也可通过参照访问计数表125a来从与分区状态A相对应的多个非多重化区域NMA选择与最小的访问计数相对应的非多重化区域NMA。
[0080]其次,对第二物理分区序号的搜索成功的情况进行说明。在该情况下,MPU123判断为由第一物理分区序号所示的物理分区不是非多重化区域NMA。于是,MPU123继续非多重化区域NMA的搜索。
[0081]这样,搜索非多重化区域NMA (步骤510)。在该情况下,MPU123将非多重化区域NMA的大小(此处,为256KB)代入参数S (Dn)(步骤511)。其次,MPU123参照第二空区域列表Illc (步骤512)。而且,MPU123从第二空区域列表Illc搜索参数S (Dn)所示的值以上的大小的两个空区域FAl及FA2 (步骤513)。
[0082]在本实施方式中,参数S (Dn)所示的值表示一个分区的大小(256KB)。在该情况下,MPU123搜索例如两个空分区来作为空区域FAl及FA2。而且,MPU123判断空区域FAl及FA2的搜索是否成功(步骤514)。
[0083]而且,如果空区域(分区)FAl及FA2的搜索成功(步骤514的是),MPU123通过控制内存IF122而在NAND内存11的空区域FAl及FA2两者写入数据Dn (步骤515)。即、MPU123将数据Dn在空区域FAl及FA2多重写入。
[0084]此外,在步骤515中,MPU123将与搜索到的空区域FAl及FA2相关的信息从第二空区域列表Illc删除。此外,在步骤515中,MPU123将在高速缓存管理表Illa登记的、与参数Dn相关的高速缓存目录信息更新。再有,在步骤515中,MPU123将与对应于空区域FAl的物理分区序号相对应地储存于访问计数表125a中的
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1