CN104571939A - 存储装置、高速缓存控制器及数据写入方法 - Google Patents

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

Info

Publication number
CN104571939A
CN104571939A CN201410052122.5A CN201410052122A CN104571939A CN 104571939 A CN104571939 A CN 104571939A CN 201410052122 A CN201410052122 A CN 201410052122A CN 104571939 A CN104571939 A CN 104571939A
Authority
CN
China
Prior art keywords
storage medium
data
memory
cache
region
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
Application number
CN201410052122.5A
Other languages
English (en)
Inventor
柿木格
青木正寿
日高文利
中尾香织
横山智树
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Publication of CN104571939A publication Critical patent/CN104571939A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/222Non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明能极力防止非易失性存储介质的实际存储容量的下降。根据实施方式,存储装置具备:非易失性的第一存储介质;非易失性的第二存储介质;高速缓存控制器;和主控制器。与所述第一存储介质相比,所述第二存储介质的访问速度低且所述第二存储介质的存储容量大。所述主控制器基于来自主机装置的访问请求来控制所述高速缓存控制器,且对所述第二存储介质进行访问。所述高速缓存控制器将应储存于所述第一存储介质的数据基于对所述第一存储介质访问的结果来在检测到存储性能劣化的至少两个区域多重写入。

Description

存储装置、高速缓存控制器及数据写入方法
本申请基于日本专利申请No.2013-220317号(申请日:2013年10月23日提交的)并要求其优先权。该在先申请的全部内容通过引用并入此处。
技术领域
本发明涉及存储装置、高速缓存控制器及向非易失性存储介质写入数据的数据写入方法。
背景技术
近年来,开发了具备访问速度及存储容量不同的多种(例如两种)非易失性存储介质的存储装置。作为此类存储装置的代表,已知有混合驱动器(ハイブリッドドライブ)。混合驱动器通常具备第一非易失性存储介质和与第一非易失性存储介质相比访问速度较低且存储容量较大的第二非易失性存储介质。
第一非易失性存储介质使用例如NAND闪存那样的半导体内存。公知NAND闪存为每单位容量的单价高但能进行高速访问非易失性存储介质。第二非易失性存储介质使用例如磁盘那样的盘介质。公知盘介质为访问速度低但每单位容量的单价便宜的非易失性存储介质。因此,混合驱动器通常使用盘介质(更具体地,为包括盘介质的盘驱动器)来作为主要存储器,并使用NAND闪存(更具体地,为比盘介质访问速度高的NAND闪存)来作为高速缓存器。这样,能使混合驱动器整体的访问速度高速化。
在此类混合驱动器中,NAND闪存的区域(存储区域)比盘介质的区域更频繁地被访问。NAND闪存的区域(更具体地,为区域的存储性能)取决于对该区域的访问(更具体地,为数据的写入/读出)频率而劣化。因此,在将NAND闪存用作高速缓存器的混合驱动器中,该NAND闪存的区域容易劣化。
发明内容
现有技术将因劣化而发生读取错误的NAND闪存的区域作为不能使用的区域(所谓的损坏区域)来处置。因此,在损坏区域的数量增加时,NAND闪存(高速缓存器)的实际存储容量下降。于是,命中高速缓存率(キャッシュヒット率)下降,混合驱动器整体的性能下降。
本发明要解决的问题是提供能极力防止非易失性存储介质的实际存储容量的下降的存储装置、高速缓存控制器及向非易失性存储介质写入数据的数据写入方法。
根据实施方式,一种存储装置,具备:非易失性的第一存储介质;非易失性的第二存储介质;高速缓存控制器;和主控制器。与所述第一存储介质相比,所述第二存储介质的访问速度低且所述第二存储介质的存储容量大。所述主控制器基于来自主机装置的访问请求来控制所述高速缓存控制器,且对所述第二存储介质进行访问。所述高速缓存控制器将应储存于所述第一存储介质的数据基于对所述第一存储介质访问的结果来在检测到存储性能劣化的至少两个区域多重写入。
根据实施方式,一种高速缓存控制器,适用于以下的存储装置,该存储装置具备:非易失性的第一存储介质;和非易失性的第二存储介质,其与所述第一存储介质相比访问速度低且存储容量大,该高速缓存控制器的特征在于,具备:处理器,将所述第一存储介质作为高速缓存器来控制;第一接口控制器,其控制主控制器和所述处理器之间的信号的发送及接收,该主控制器基于来自主机装置的访问请求来控制所述高速缓存控制器并基于所述访问请求来访问所述第二存储介质;和第二接口控制器,其在所述处理器的控制下对所述第一存储介质访问,所述处理器将应储存于所述第一存储介质的数据基于对所述第一存储介质访问的结果来在检测到存储性能劣化的至少两个区域多重写入。
根据实施方式,一种数据写入方法,适用于高速缓存控制器并向所述第一存储介质写入数据,该高速缓存控制器装备于存储装置,该存储装置具备:非易失性的第一存储介质;非易失性的第二存储介质,其与所述第一存储介质相比访问速度低且存储容量大;和主控制器,其基于来自主机装置的访问请求来对所述第二存储介质进行访问,该高速缓存控制器在基于所述访问请求而由所述主控制器所进行的控制下将所述第一存储介质作为高速缓存器进行控制,该数据写入方法的特征在于,将应储存于所述第一存储介质的数据基于对所述第一存储介质访问的结果来在检测到存储性能劣化的至少两个区域多重写入。
附图说明
图1是表示实施方式涉及的混合驱动器的典型构成的方框图。
图2是表示图1所示的NAND闪存的存储区域的典型格式的概念图。
图3是表示图1所示的内存控制器所具备的RAM的存储区域的典型格式的概念图。
图4是表示图2所示的高速缓存管理表的数据结构的例子的图。
图5是表示由图1所示的内存控制器执行的写入处理的典型步骤的流程图。
图6是表示由图1所示的内存控制器执行的读取处理的典型步骤的流程图。
具体实施方式
下面参照附图来说明实施方式。
图1是表示实施方式涉及的混合驱动器的典型构成的方框图。混合驱动器具备访问速度及存储容量不同的多种、例如两种非易失性存储介质(即、第一非易失性存储介质及第二非易失性存储介质)。在本实施方式中,使用NAND闪存(以下称为NAND内存)11来作为第一非易失性存储介质,且使用磁盘介质(以下称为盘)21来作为第二非易失性存储介质。盘21的访问速度及存储容量与NAND内存11的访问速度及存储容量相比访问速度较低且存储容量较大。
图1所示的混合驱动器的构成包括:固态驱动器那样的半导体驱动器单元10;和硬盘驱动器单元(以下称为HDD)20。半导体驱动器单元10包括NAND内存11和内存控制器12。
内存控制器12根据来自主控制器27的访问请求(例如,写入请求及读取请求)来控制对NAND内存11的访问。在本实施方式中,NAND内存11由于从主机装置(以下称为主机)对混合驱动器的访问的高速化而用作储存最近访问的数据用的高速缓存器(高速缓存)。主机将图1所示的混合驱动器用作自身的存储装置。
内存控制器12包括:主机接口控制器(以下称为主机IF)121;内存接口控制器(以下称为内存(メモリ)IF)122;微处理器单元(MPU)123;只读内存(只读存储器)(ROM)12;和随机内存(随机存取存储器)(RAM)125。主机IF(第一接口控制器)121与主控制器27连接。主机IF121接收从主控制器27(更具体地,为主控制器27的后述MPU273)传输的信号,并向该主控制器27发送信号。具体地,主机IF121接收从主控制器27传输的命令(写入命令、读取命令等)并将该接收的命令送至MPU123。此外,主机IF121使对于从主控制器27传输的命令的来自MPU123的响应返回主控制器27。另外,主机IF121控制主控制器27和MPU123之间的数据传输。内存IF(第二接口控制器)122与NAND内存11连接,并在MPU123的控制下对NAND内存11访问。
MPU123基于从主控制器27传输的命令来根据第一控制程序执行用于对NAND内存11进行访问的处理(例如,写入处理或读取处理)。在本实施方式中,第一控制程序预先储存于ROM124中。再有,也可使用能改写的非易失性ROM、例如快闪ROM,来代替ROM124。RAM125的存储区域的一部分用作MPU123的工作区域。RAM125的存储区域的另一部分用于储存后述的访问计数表(アクセスカウンタテーブル)125a。
0HDD20包括:盘21;头22;主轴电机(SPM)23;致动器24;驱动器集成电路(IC)25;头IC26;主控制器27;快闪ROM(FROM)28;和RAM29。盘21在例如其一个面具备磁记录数据的记录面。盘21通过SPM23而高速旋转。SPM23由从驱动器IC25供给的驱动电流(或驱动电压)驱动。
盘21(更具体地,为盘21的记录面)具备例如同心圆状的多个轨道。再有,盘21当然也可具备螺旋状地配置的多个轨道。头(头浮动体)22与盘21的记录面对应地配置。头22安装于从致动器24的臂伸出的悬架的前端。致动器24具有成为该致动器24的驱动源的音圈电机(VCM)240。VCM240由从驱动器IC25供给的驱动电流驱动。头22通过致动器24由VCM240驱动而在盘21上移动以在该盘21的半径方向上描绘圆弧。
在图1中的构成中,假设了具备单个盘21的HDD20。但是,盘21也可以是层叠配置多个盘21的HDD。此外,在图1的构成中,盘21在其一个面具备记录面。但是,盘21也可以在其两面具备记录面,且在该两记录面分别对应地配置头。
驱动器IC25根据主控制器27(更具体地,主控制器27内的MPU273)的控制来驱动SPM23和VCM240。通过由驱动器IC25驱动VCM240,而使头22位于盘21的目标轨道。
头IC26也被称为前置放大器。头IC26固定于例如致动器24的预定部位,且经柔性印刷电路基板(FPC)与主控制器27电连接。但是,在图1中,根据作图的情况,头IC26配置于从致动器24离开的部位。
头IC26使由头22的读取元件读取的信号(即读取信号)增益。头IC26还将从主控制器27(更具体地,为主控制器27内的R/W信道271)输出的写入数据转换为写入电流,并将该写入电流向头22的写入元件输出。
主控制器27通过例如将多个要素在单个芯片集成的大规模集成电路(LSI)来实现。主控制器27包括:读取/写入(R/W)信道271;硬盘控制器(HDC)272;和MPU273。
R/W信道271处理与读取/写入相关的信号。即、R/W信道271将由头IC26增益的读取信号转换为数字数据,并从该数字数据译码读取数据。R/W信道271还将经MPU273从HDC272传输的写入数据符号化,并将给该已符号化的的写入数据向头IC26传输。
HDC272经主机接口(存储器接口)30与主机连接。主机及图1所示的混合驱动器可装备于个人计算机、摄像机、音乐播放器、移动终端、移动电话或打印机装置那样的电子设备中。
HDC272作为接收从主机传输的信号并向主机传输信号的主机接口控制器发挥功能。具体地,HDC272接收从主机传输的命令(写入命令、读取命令等),而将接收的命令送至MPU273。此外,HDC272控制主机和该HDC272之间的数据传输。HDC272还作为经MPU273、R/W信道271、头IC26及头22来控制向盘21写入数据以及从盘21读取数据的盘接口控制器发挥功能。
MPU273根据来自主机的访问请求(写入请求或读取请求)来控制经内存控制器12的对NAND内存11的访问和经R/W信道271、头IC26及头22的对盘21的访问。该控制根据第二控制程序来执行。在本实施方式中,第二控制程序储存于FROM28中。RAM29的存储区域的一部分用作MPU273的工作区域。
再有,也可以的是,初始程序装入程序(IPL)储存于FROM28中,第二控制程序储存于21中。在该情况下,在混合驱动器的电源接通时,只要MPU273执行IPL,从而第二控制程序从盘21加载到FROM28或RAM29即可。
图2是表示图1所示的NAND内存11的存储区域的典型格式的概念图。如图2所示,NAND内存11的存储区域被划分为系统区域111及高速缓存区域112。即、NAND内存11具备系统区域111和高速缓存区域112。系统区域111用于储存系统(例如,内存控制器12)为了进行管理而使用的信息。高速缓存区域112用于储存由主机最近访问的数据。NAND内存11的存储区域包括M个分区(ブロック)(即、物理分区)。在NAND内存11中,在该分区以单位方式将数据一并删去。即、分区是删去数据的单位。
系统区域111的构成包括物理分区序号为0至N-1的N个(N<M)物理分区。高速缓存区域112的构成包括物理分区序号为N至M-1的M-N个物理分区。通常,M-N相对于N足够大。
系统区域111的一部分用于储存高速缓存管理表111a、第一空区域列表111b、第二空区域列表111c及损坏分区列表111d。在以下的说明中,高速缓存管理表111a有时也简记为表111a。此外,第一空区域列表111b、第二空区域列表111c及损坏分区列表111d有时也分别简记为列表111b、列表111c及列表111d。
如公知那样,在NAND内存11中,在已经储存数据的区域,不能复写新的数据(更新数据)。因此,表111a的系统区域111内的区域在该表111a每次更新时都改变。即、将更新的表(新表)111a写于与储存旧表111a的区域不同的区域。对于列表111b、111c及111d的系统区域111内的位置也同样。
表111a、列表111b、111c及111d的、系统区域111内的位置及大小的信息储存于RAM125的第一区域及盘21的第二区域。在本实施方式中,在盘21的第二区域储存的信息在混合驱动器的电源接通时通过MPU273的控制而被读出,经主机IF121及MPU123加载于RAM125的第一区域。在表111a、列表111b、111c及111d的、系统区域111内的位置改变的情况下,MPU123及MPU273分别更新RAM125的第一区域内的对应的位置信息及盘21的第二区域内的对应的位置信息。
高速缓存管理表111a用于储存管理NAND内存11的高速缓存区域112内的各分区用的分区管理信息。在本实施方式中,该分区管理信息用作与在高速缓存区域112内的各分区(预定大小的区域)储存的数据的地址(存储地点)相关的高速缓存目录信息。高速缓存目录信息包括用于管理所述数据的物理地址和所述数据的理论地址的对应的信息。所述数据的物理地址(此处,为物理分区序号)表示储存有该数据的NAND内存11内的分区(区域)的位置。所述数据的理论地址(此处,为理论分区序号)表示该数据的理论地址空间内的位置(存储地点)。对于高速缓存管理表111a的数据结构将在后面叙述。
第一空区域列表111b用于登记高速缓存区域112内的第一类型的空区域。即、第一空区域列表111b用作管理第一类型的空区域用的第一管理信息。第一类型的空区域指正常的空区域。第二空区域列表111c用于登记高速缓存区域112内的第二类型的空区域。即、第二空区域列表111c用作管理第二类型的空区域用的第二管理信息。第二类型的空区域指曾经发生读取错误的空区域。损坏分区列表111d用于登记不能使用的分区(物理分区)、即损坏分区(区域)。即、损坏分区列表111d用作管理损坏分区用的第三管理信息。
图3是表示图1所示的内存控制器12所具有的RAM125的存储区域的典型格式的概念图。RAM125的存储区域的一部分用于储存访问计数表125a。访问计数表125a用于将高速缓存区域112的M-N个分区的每个的访问计数信息与该分区的物理分区序号相对应地储存。访问计数信息包括访问计数和时间戳(タイムスタンプ)。
访问计数表示向对应的物理分区序号的分区访问的次数。访问计数的初期值是零。时间戳表示例如访问对应的物理分区序号的分区的当前的时刻。
访问计数表125a在混合驱动器的电源切断时通过MPU123的控制而从RAM125读出,以向主控制器27传输。主控制器27的MPU273将访问计数表125a保存于盘21的第三区域。保存于第三区域的访问计数表125a在混合驱动器的电源接通时通过MPU273的控制而被读出,经主机IF121及MPU123加载于RAM125。
图4表示图2所示的高速缓存管理表111a的数据结构的例子。高速缓存管理表111a用于将高速缓存区域112的M-N个分区的每个的访问管理信息与该分区的物理分区序号相对应地储存。分区管理信息包括理论分区序号及分区状态信息。
理论分区序号表示分配了对应的物理分区序号的分区的理论分区。理论分区指通过将从主机识别的理论地址空间以与物理分区相同的大小划分而得到的区域(理论区域)。分区状态信息表示对应的物理分区序号的分区的状态。在本实施方式中,分区状态信息所表示的分区状态是W、A及B中任一种。分区状态W表示对应的分区的数据是无效的。分区状态A表示向对应的物理分区序号的分区访问的次数是1。分区状态B表示向对应的物理分区序号的分区访问的次数是2以上。
这样,分区管理信息是用于管理对应的物理分区序号的分区的信息。该分区管理信息表示对应的物理分区序号的分区和分配了该分区的理论分区的对应。因此,分区管理信息也可以称为管理在对应的理论分区储存的数据的NAND内存11的存储地点用的高速缓存目录信息。于是,在以下的说明中,有时也将分区管理信息称为高速缓存目录信息。
高速缓存区域112的分区的每个皆由多个页、例如128页(物理页)构成。在该情况下,理论分区也由128页(理论页)构成。在本实施方式中,一个分区是256比特(KB),一页是2KB。
高速缓存管理表111a还用于在高速缓存区域112的M-N个分区的每个且在该分区的每页将该每页的页管理信息与该分区的物理分区序号及该每页的物理页序号相对应地储存。即、分区管理信息(高速缓存目录信息)包括对应的分区的每页的页管理信息。页管理信息包括理论页序号及页状态信息。
理论页序号表示分配了对应的物理分区序号及物理分区序号的页(物理页)的理论页(理论分区内的理论页)。即、理论页序号表示在对应的物理页储存的数据的理论地址空间内的位置(存储地点)。因此,页管理信息也用作高速缓存目录信息。
页状态信息表示对应的物理页的状态。页状态信息所示的页状态是IV及V中任一个。页状态IV表示对应的页的数据为无效的。页状态V表示对应的页的数据为有效的。
其次,对于图1的混合驱动器的动作,以从主机向该驱动器发出写入请求(命令)的情况为例,参照图5来进行说明。图5是由混合驱动器的内存控制器12(更具体地,内存控制器12的MPU123)执行的写入处理的典型步骤的流程图。
首先,主机经主机接口30向图1所示的混合驱动器发出第一写入请求。该第一写入请求包括开始理论地址和表示应写入的数据(写入数据)D1的大小的大小信息。在本实施方式中,从主机向混合驱动器访问的最小单位是两页(即、4KB)。但是,在下面,为了简化说明,主机以分区为单位访问混合驱动器。此处,开始理论地址表示理论分区序号为X的理论分区X的开始位置,数据D1的大小是一个分区的大小(256KB)。
图1所示的混合驱动器的主控制器27的HDC272接收来自主机的第一写入请求(命令)。HDC272还从主机接收由第一写入请求指定的写入数据D1。
接收的第一写入请求由HDC272送至主控制器27的MPU273。于是,MPU273将第二写入请求及写入数据D1送出到内存控制器12。与第一写入请求同样,第二写入请求包括开始理论地址和表示写入数据D1的大小的大小信息。即、第二写入请求与接收的第一写入请求对应。
内存控制器12根据来自MPU273的第二写入请求而作为高速缓存控制器发挥功能。即、内存控制器12通过将NAND存储器11作为高速缓存来控制而执行第二写入请求。
首先,第二写入请求在由内存控制器12的主机IF121接收后,由该主机IF121送至内存控制器12的MPU123。于是,MPU123以由图5的流程图所示的步骤如以下那样执行用于将由第二写入请求指定的数据D1写入NAND内存11的高速缓存区域112的写入处理(即、高速缓存写入处理)。
MPU123首先在参数LBA代入开始理论地址,且在参数S(D1)代入数据D1的大小(步骤501)。其次,MPU123参照在NAND内存11的系统区域111储存的第一空区域列表111b(步骤502)。而且,MPU123从第一空区域列表111b搜索参数S(D1)所示的值以上的大小的空区域FA(步骤503)。
在本实施方式中,参数S(D1)所示的值表示一个分区的大小(256KB)。在该情况下,MPU123搜索例如一个空分区来作为空区域FA。而且,MPU123判断空区域FA的搜索是否成功(步骤504)。
如果空区域(分区)FA的搜索成功(步骤504的是),则MPU123通过控制内存IF122而在NAND内存11的空区域FA写入数据D1(步骤505)。在该情况下,MPU123将与搜索的空区域FA相关的信息从第一空区域列表111b删除。
在本实施方式中,第一空区域列表111b储存于NAND内存11的系统区域111中。因此,MPU123实际上在系统区域111内的空区域写入将与搜索的空区域FA相关的信息如上述那样删除的新的第一空区域列表111b。于是,系统区域111内的空区域也可使用第一空区域列表111b来管理。此外,用于管理系统区域111内的空区域的空区域列表可与第一空区域列表111b分别地储存于该系统区域111中。
MPU123在执行数据D1的写入(步骤505)时,判断该写入是否成功(步骤506)。此处,数据D1的写入正常完成,因此数据D1的写入成功(步骤506的是)。在该情况下,MPU123在高速缓存管理表111a登记用于将区域FA作为数据D1的数据区域进行管理的分区管理信息(即、高速缓存目录信息)(步骤507)。在步骤507中,MPU123使对于来自主控制器27(MPU273)的第二写入请求的完成响应(即、写入完成响应)通过主机IF121而返回该主控制器27。在MPU123执行步骤507时,使写入处理结束。
主控制器27的MPU273在接收来自内存控制器12的主机IF121的完成响应时使对于来自主机的第一写入请求的完成响应通过HDC272而返回该主机。该完成响应例如不等待基于第一写入请求的后述的盘写入处理的完成地返回主机。
此处,对于步骤507的登记工作,以空区域FA是物理分区序号为N的分区N的情况为例来具体说明。首先,MPU123从参数LBA所示的开始理论地址提取理论分区序号。在本实施方式中,由理论地址的预定的上级地址(例如,理论地址的下级18位之外的上级地址)表示理论分区序号。在身上开始理论地址的例子中,提取X来作为理论分区序号。
于是,MPU123将理论分区序号X及分区状态信息(更具体地,为表示分区状态A的分区状态信息)与物理分区序号N相对应地在高速缓存管理表111a登记。此外,MPU123将理论页序号0至127及页状态信息(更具体地,为表示页状态V的页状态信息)分别相对应于与物理分区序号N相对应的物理页序号0至127地在高速缓存管理表111a登记。
这样,与物理分区N(更具体地,为储存于物理分区N的、理论分区X的数据D1)相关的高速缓存目录信息在高速缓存管理表111a中被更新为最新的状态。此时,如果将与理论分区X的旧数据相关的高速缓存目录信息在高速缓存管理表111a登记,则使该高速缓存目录信息(即、旧高速缓存目录信息)无效化。
高速缓存目录信息的无效化如以下那样进行。首先,理论分区X的旧数据储存于物理分区序号为Y的物理分区Y。即、根据在高速缓存管理表111a登记的、与理论分区X的旧数据相关的旧高速缓存目录信息(即、与物理分区Y相关的分区管理信息),来使理论分区序号X与物理分区序号Y相对应。在该情况下,MPU123将旧高速缓存目录信息的分区状态信息从表示状态A或B的信息更新为表示状态W的信息。
在本实施方式中,高速缓存管理表111a储存于NAND内存11的系统区域111。因此,实际上,在步骤507中,将包括更新的高速缓存目录信息的新高速缓存管理表111a写入系统区域111内的空区域。另一方面,使旧的高速缓存管理表111a无效化。
再有,与上述例子不同,数据D1的大小比一个分区的大小小,例如为两页的大小(4KB)。数据D1的最初的理论页(第一理论页)的理论页序号为X0,下一理论页(第二理论页)的理论页序号为X1(X1=X0+1)。第一理论页是理论分区序号为X的理论分区内的理论页,理论页序号X0由开始理论地址的预定的中位地址(例如,理论地址的下级18位的上级侧的7位)表示。即、理论页序号X0从开始理论地址提取。
再有,在数据D1的大小是两页的大小的情况下,MPU123可在搜索的空区域FA(即、物理分区序号为N的分区N)的两个空页(例如,页0及1)写入数据D1。在该情况下,MPU123将理论页序号X0及X1和页状态信息(更具体地,为表示页状态V的页状态信息)分别相对应于与物理分区序号N相对应的物理页序号0及1地在高速缓存管理表111a登记。再有,在数据D1的大小是两页大小的情况下,MPU123可搜索至少两个空页来作为空区域FA。
再有,在步骤507中,MPU123更新储存于RAM125中的访问计数表125a。在上述的例子中,MPU123与物理分区序号N相对应地更新储存于访问计数表125a的访问计数信息。即、MPU123使与物理分区序号N相对应的访问计数信息的访问计数增加1,且在该访问计数信息中设定表示当前的时刻的时间戳。
其次,对于向空区域FA写入数据D1失败的情况(步骤506的否)进行说明。在该情况下,MPU123例如将包括区域FA的物理分区(此处,为物理分区N)设为损坏分区以添加到损坏分区列表111d(步骤S508)。即、MPU123将表示物理分区N的信息(例如,物理分区N的物理分区序号N)添加到损坏分区列表111d。此处,区域FA的大小比一个分区的大小小,且包括区域FA的物理分区内的其他区域Am的数据Dm储存于NAND内存11。在该情况下,在步骤508中,MPU123使在高速缓存管理表111a登记的、与数据Dm(数据Dm的地址)相关的高速缓存目录信息无效化。该无效化等价于删除区域Am的数据Dm。MPU123在执行步骤508时返回步骤502。
其次,对于空区域FA的搜索失败的情况(步骤504的否)进行说明。在该情况下,MPU123为了确保空区域而执行以下的处理(步骤509至516)。
首先,MPU123参照高速缓存管理表111a(更具体地,为高速缓存管理表111a内的分区状态信息)(步骤509)。而且,MPU123搜索访问频率低且没有多重化的物理区域(分区)、即非多重化区域(分区)NMA(步骤510)。
访问频率低的物理区域(分区)指状态(分区状态)为A的物理区域(分区)、即仅访问一次的物理区域(分区)。另一方面,非多重化区域(分区)NMA指在一个理论区域(分区)仅分配一个物理区域(分区)的情况下的、该物理区域(分区)。与之相对,将在一个理论区域(分区)至少分配两个物理区域(分区)的情况下的、该至少两个物理区域(分区)称为多重化区域(分区)。
在本实施方式中,为了说明的简略化,搜索访问频率低的非多重化分区来作为非多重化区域NMA。该非多重化分区的搜索如以下那样进行。
首先,MPU123从高速缓存管理表111a搜索与分区状态A相对应的物理分区序号(以下,称为第一物理分区序号)及理论分区序号的组。其次,MPU123搜索与搜索的理论分区序号相对应且与第一物理分区序号不同的第二物理分区序号。而且,如果第二物理分区序号的搜索失败,则MPU123判断为由第一物理分区序号所表示的物理分区是访问频率低的非多重化区域NMA。
再有,在多个非多重化区域NMA与分区状态A相对应的情况下,MPU123可选择在最早的时刻访问的非多重化区域NMA。即、MPU123参照访问计数表125a,从而可从与分区状态A相对应的多个非多重化区域NMA选择与表示最早时刻的时间戳相对应的非多重化区域NMA。此外,MPU123也可选择最初搜索的非多重化区域NMA。
其次,假设与分区状态A相对应的非多重化区域NMA不存在的情况。在该情况下,MPU123可从与分区状态B相对应的多个非多重化区域NMA选择与表示最早时刻的时间戳相对应的非多重化区域NMA。此外,MPU123也可通过参照访问计数表125a来从与分区状态A相对应的多个非多重化区域NMA选择与最小的访问计数相对应的非多重化区域NMA。
其次,对第二物理分区序号的搜索成功的情况进行说明。在该情况下,MPU123判断为由第一物理分区序号所示的物理分区不是非多重化区域NMA。于是,MPU123继续非多重化区域NMA的搜索。
这样,搜索非多重化区域NMA(步骤510)。在该情况下,MPU123将非多重化区域NMA的大小(此处,为256KB)代入参数S(Dn)(步骤511)。其次,MPU123参照第二空区域列表111c(步骤512)。而且,MPU123从第二空区域列表111c搜索参数S(Dn)所示的值以上的大小的两个空区域FA1及FA2(步骤513)。
在本实施方式中,参数S(Dn)所示的值表示一个分区的大小(256KB)。在该情况下,MPU123搜索例如两个空分区来作为空区域FA1及FA2。而且,MPU123判断空区域FA1及FA2的搜索是否成功(步骤514)。
而且,如果空区域(分区)FA1及FA2的搜索成功(步骤514的是),MPU123通过控制内存IF122而在NAND内存11的空区域FA1及FA2两者写入数据Dn(步骤515)。即、MPU123将数据Dn在空区域FA1及FA2多重写入。
此外,在步骤515中,MPU123将与搜索到的空区域FA1及FA2相关的信息从第二空区域列表111c删除。此外,在步骤515中,MPU123将在高速缓存管理表111a登记的、与参数Dn相关的高速缓存目录信息更新。再有,在步骤515中,MPU123将与对应于空区域FA1的物理分区序号相对应地储存于访问计数表125a中的访问计数信息和与对应于空区域FA2的物理分区序号相对应地储存于访问计数表125a中的访问计数信息更新。而且,MPU123将非多重化区域NMA添加到第一空区域列表111b(步骤516)。这样,空区域的数量(即、空区域的存储容量)增加。
在非多重化区域NMA是非多重化区域分区的本实施方式中,MPU123在将该非多重化区域NMA在第一空区域列表111b登记时,将该非多重化区域NMA的数据删去。这样,该非多重化区域NMA能作为空区域使用。与之相对,非多重化区域NMA为物理分区内的一部分区域Aa。在该情况下,如果物理分区内的剩余区域Ab已在第一空区域列表111b登记,则MPU123将该物理分区的数据一并删去。另一方面,如果物理分区内的区域Ab没有在第一空区域列表111b登记,则MPU123等待将该区域Ab在第一空区域列表111b登记而将该物理分区的数据一并删去。
MPU123在执行步骤516时返回步骤502。另一方面,如果空区域FA1及FA2的搜索失败(步骤514的否),MPU123删除多重化区域NMA的数据Dn(步骤517)。具体地,MPU123使在高速缓存管理表111a登记的、与数据Dn相关的高速缓存目录信息无效化。而且,MPU123将非多重化区域NMA添加到第一空区域列表111b(步骤516),然后返回步骤502。
再有,主控制器27的MPU273在将与第一写入请求对应的第二写入请求送出到内存控制器12时,开始基于第一写入请求的盘写入处理。即、MPU273控制驱动器IC25以使头22位于由开始理论地址指定的盘21上的目标轨道。而且,MPU273在头22位于目标轨道的状态下经R/W信道271及头IC26由头22将数据D1写入。
其次,对于图1的混合驱动器的工作,以从主机向该驱动器发送读取请求(命令)的情况为例,参照图6进行说明。图6是表示由混合驱动器的内存控制器12(更具体地,为内存控制器12的MPU123)执行的读取处理的典型步骤的流程图。
首先,主机向图1所示的混合驱动器发出第一写入请求。该第一写入请求包括开始理论地址和表示应读出的数据(读出数据)D的大小的大小信息。此处,开始理论地址表示理论分区序号为Y的理论分区Y的开始位置,数据D的大小为一个分区的大小。
来自主机的第一读取请求(命令)在由主控制器27的HDC272接收后由该HDC272送至MPU273。于是,MPU273将第二读取请求送出到内存控制器12。第二读取请求与第一读取请求同样地包括开始理论地址和表示读出数据D的大小的信息。即、第二读取请求与接收的第一读取请求对应。由MPU273送出的第二读取请求在由内存控制器12的主机IF121接收后由该主机IF121送至内存控制器12的MPU123。
于是,MPU123以由图6的流程图所示的步骤如以下那样执行用于将由第二读取请求指定的数据D从NAND内存11的高速缓存区域112读出的读取处理(即、缓存读取处理)。
首先,MPU123向参数LBA代入开始理论地址,且向参数S(D)代入数据D的大小(步骤601)。其次,MPU123基于参数LBA所表示的开始理论地址来参照高速缓存管理表111a(步骤602)。该步骤602的详情如下。
首先,MPU123从参数LBA所示的开始理论地址提取理论分区序号。在上述开始理论地址的例子中,提取Y来作为理论分区序号。MPU123基于提取的理论分区序号Y来参照高速缓存管理表111a。而且,MPU123从高速缓存管理表111a搜索包括提取的理论分区序号Y的有效高速缓存目录信息(即、表示分区状态A或B的高速缓存目录信息)。
再有,在本实施方式中,高速缓存目录信息与物理分区序号相对应地在高速缓存管理表111a登记。因此,基于物理分区序号来检索高速缓存目录信息的情况下,能进行高速检索。与之相对,在如上述那样基于理论分区序号来检索高速缓存目录信息的情况下,难以进行高速检索。于是,将理论分区序号(理论地址)转换为物理分区序号(物理地址)所使用的地址转换表也可储存于系统区域111中。在地址转换表中,在每个理论分区登记表示理论分区序号和物理分区序号的对应的地址转换信息。在该情况下,MPU123可在将高速缓存目录信息在高速缓存管理表111a登记时将与该高速缓存目录信息对应的地址转换信息在地址转换表登记。
再有,MPU123在通过参照高速缓存管理表111a来执行高速缓存目录信息检索时(步骤602),向步骤603前进。在步骤603中,MPU123通过能否检索到目标的高速缓存目录信息来判断数据D(即、由第二读取请求指定的数据D)是否储存于NAND内存11中。在数据D储存于NAND内存11中的命中高速缓存的情况下(步骤603的是),MPU123向步骤604前进。
在步骤604中,MPU123判断数据D是否已在NAND内存11中多重化。该判断以下面的步骤来进行。首先,MPU123基于所述提取的理论分区序号Y来参照高速缓存管理表111a。而且,MPU123从高速缓存管理表111a检索包括提取的理论分区序号且与由步骤602检索的高速缓存目录信息(以下称为第一高速缓存目录信息)不同的有效高速缓存目录信息(以下称为第二高速缓存目录信息)。MPU123通过是否能检索到该第二高速缓存目录信息来判断数据D是否已多重化。
而且,如果数据D没有多重化(步骤604的否),MPU123向步骤605前进。在步骤605中,MPU123通过控制内存IF122来从第一高速缓存目录信息所示的物理分区读出数据D。内存IF122通过数据D的读出来向MPU123通知是否检测到不能进行出错修正的错误(即、读取错误)。此外,在没有检测到读取错误的情况下,内存IF122将正常读出的数据D向MPU123传输。
MPU123基于来自内存IF122的所述通知而判断在数据D的读出中是否发生读取错误(步骤606)。而且,如果没有发生读取错误(步骤606的否),则MPU123将正常读出的数据D由主机IF121向主控制器27(MPU273)传输(步骤607)。即、主机IF121使用对于来自主控制器27的第二读取请求的完成响应(即、读取完成响应)来使数据D返回该主控制器27。
此外,在步骤607中,MPU123根据该分区状态信息所示的分区状态A或B来更新高速缓存管理表111a内的第一高速缓存目录信息的分区状态信息。即、如果分区状态信息表示分区状态A,则MPU123更新该分区状态信息以使该分区状态信息表示分区状态B。与之相对,如果分区状态信息表示分区状态B,则MPU123阻止该分区状态信息的更新。这样,在NAND内存11的系统区域111中,能防止高速缓存管理表111a的更新(即、写入)频繁发生而使该系统区域111劣化。
再有,在步骤607中,MPU123更新访问计数表125a。即、MPU123在访问计数表125a中使与第一高速缓存目录信息中的物理分区序号相对应的访问计数增加1且将表示当前时刻的时间戳与该物理分区序号相对应地登记。这样,MPU123结束读取处理。
主控制器27的MPU273在接收来自主控制器12的主机IF121的读取完成响应时由HDC272将数据D向主机传输。即、HDC272使用对于来自主机的第一读取请求的完成响应来使数据D返回该主机。
其次,对将数据D多重化的情况(步骤604的是)进行说明。在图4所示的高速缓存管理表111a的例子中,理论分区序号为Y的理论分区Y的数据D在物理分区序号为N+1的物理分区N+1和物理分区序号为N+3的物理分区N+3多重储存。这样,在将数据D多重化的情况下(步骤604的是),MPU123向步骤608前进。物理分区N+1及N+3是如从上述写入处理的说明所知那样从第二空区域列表111c搜索而在数据D的多重写入使用的分区。即、物理分区N+1及N+3是在过去发生读取错误时在第二空区域列表111c登记,然后用于数据D的多重写入的分区。
在步骤608中,MPU123从多重储存数据D的NAND内存11内的区域(此处,为物理分区N+1及N+3)选择一个区域(例如,物理分区N+1)。于是,MPU123向步骤605前进。在步骤605中,MPU123从NAND内存11内的已选择的区域(物理分区N+1)读出数据D。MPU123判断在数据D的读出中读取错误是否发生(步骤606)。
其次,对在数据D的读出中发生读取错误的情况(步骤606的是)进行说明。在该情况下,MPU123在发生读取错误的区域(即、检测到读取错误的储存有数据D的区域)添加到第二空区域列表111c(步骤609)。因此,如果在来自步骤608中选择的物理分区N+1的数据D的读出中发生读取错误,则将该物理分区N+1再次添加到第二空区域列表111c。
其次,判断储存有数据D的未选择的区域是否存在(步骤610)。在来自物理分区N+1的数据D的读出中发生读取错误的本实施方式中,物理分区N+3作为未选择的区域而存在(步骤610的是)。在该情况下,MPU123返回步骤604。而且,MPU123从步骤604向步骤608前进,选择物理分区N+3,然后从该物理分区N+3读出数据D(步骤605)。
物理分区N+1及N+3是如上述那样在过去发生读取错误的分区。该物理分区N+1及N+3在现有技术中作为损坏分区(即、不能使用的分区)而在损坏分区列表111d登记,以不用于数据储存。与之相对,在本实施方式中,物理分区N+1及N+3作为用于数据的多重化的分区(多重化存储区域)而在第二空区域列表111c登记。
因此,根据本实施方式,能防止伴随读取错误的发生而使高速缓存区域112的存储容量单纯地减少。即、根据本实施方式,通过将发生读取错误的两个物理分区用于数据的多重化(二重化)而能将假想的损坏分区的数量减为一个(1/2)。
在本实施方式中,在物理分区N+1及N+3两者,多重写入数据D。假想内存控制器12(MPU123)执行从该物理分区N+1及N+3分别读出数据D的动作ROa及ROb的情况。在读出动作ROa及Rob中发生读取错误的概率PEa及PEb(0<PEa<1,0<PEb<1)高。但是,在两读出动作的任一个中,读取错误发生的概率PE(PE=PEa·PEb)比PEa及PEb低(PE<PEa,PE<PEb)。
即,根据本实施方式,通过使用物理分区N+1及N+3的数据D的多重化,而能提高该数据D的读出成功的概率Ps。这样,能提高从作为高速缓存使用的NAND内存11的数据读出的性能(即、读取缓存性能)。NAND内存11中,读取干扰所引起的读取错误与读取的次数成比例地发生。因此,在本实施方式中,在该读取错误中特别能发挥效果。再有,所述概率Ps由1-PE(即、1-PEa·PEb)表示。
在本实施方式中,数据D在从第二空区域列表111c搜索的两个物理分区(空区域)多重写入。但是,数据D也可在三个以上的物理分区中多重写入。在该情况下,数据写入的性能下降,且高速缓存管理表111a的更新次数增加,然而能进一步提高数据D的读出成功的概率。
此处,在来自物理分区N+3的数据D的读出时没有发生读取错误(步骤606的否)。在该情况下,MPU123向步骤607前进。在步骤607中,MPU123如上述那样通过主机IF121向主控制器27传输数据D。
与之相对,如果在从物理分区N+3读出数据D时发生读取错误(步骤606的是),则MPU123再次向步骤609前进。在步骤609中,MPU123将物理分区N+3再次添加到第二空区域列表111c。此时,储存有数据D的未选择的区域不存在(步骤610的否)。在该情况下,MPU123向步骤611前进。
在步骤S611中,MPU123将表示在来自主控制器27的第二读取请求所表示的数据D的读出中发生错误的响应(错误响应)通过主机IF121而答复该主控制器27。这样,MPU123结束读取处理。此外,MPU123在数据D没有储存于NAND内存11中的未命中高速缓存的情况下(步骤603的否),执行步骤611。
再有,主控制器27的MPU273在将与第一读取请求对应的第二读取请求送出到内存控制器12时开始基于第一读取请求的盘读取处理。即、MPU273控制驱动器IC25以使头22位于由开始理论地址指定的盘21上的目标轨道。而且,MPU273在头22位于目标轨道的状态下由头22读出数据D。
在盘读取处理的途中,在完成响应从主控制器12返回的情况下,MPU273强制结束盘读取处理。与之相对,在盘读取处理的途中,在从主控制器12返回错误响应的情况下,MPU273继续盘读取处理。在该情况下,MPU273将在盘读取处理中读取的数据D由HDC272传输到主机。此外,MPU273将用于指示在NAND内存11写入在盘读取处理中读取的数据D的写入请求(更具体地,为与所述第二写入请求相当的写入请求)送出到主控制器12。MPU123基于该写入请求来执行上述那样的写入处理(高速缓存写入处理)。但是,在此处,将数据D写入NAND内存11。
再有,在错误响应从内存控制器12返回的情况下,MPU273可开始盘读取处理。在该情况下,对于来自主机的第一读取请求的响应性下降,但是,可使MPU273的控制简化。
在上述实施方式中,表111a、列表111b、111c及111d储存于NAND内存11中。但是,也可将表111a、列表111b、111c及111d储存于RAM125中。在该情况下,由于混合驱动器的电源的突然切断,表111a的内容和列表111b、111c及111d的内容有可能消失。在发生该消失时,MPU123不能从NAND内存11读出目标的数据(例如数据D)。但是,数据D也可储存于盘21中。因此,数据D通过上述盘读取处理而从该盘21读出。因而,虽然混合驱动器对于来自主机的第一读取请求的响应性能临时下降,但是,主控制器27能将数据D返回该主机以作为对于该第一读取请求的响应。
在将表111a和列表111b、111c及111d储存于RAM125的构成中,在切断混合驱动器的电源时,这些也可保存于盘21的第三区域中。此外,在上述实施方式中,储存于NAND内存11的系统区域111中的表111a和列表111b、111c及111d在混合驱动器的电源接通时可从该NAND内存11加载到RAM125中来使用。在该情况下,储存于RAM125中的表111a和列表111b、111c及111d在将混合驱动器的电源切断时可保存于NAND内存11,且使NAND内存11内的旧表111a和旧列表111b、111c及111d无效化。在该构成中,可将访问计数信息在表(高速缓存管理表)111a登记。在该情况下,不需要访问计数表125a。
根据以上说明的至少一个实施方式,通过有效利用发生读取错误的存储区域而能极力防止非易失性存储介质的实质存储容量的下降。
虽然说明了本发明的几个实施方式,但是,这些实施方式仅为例示,并不意在限定本发明的范围。这些新颖的实施方式能以其他各种方式实施,在不脱离发明主旨的范围内,可进行各种省略、替换、改变。这些实施方式和/或其变形包含于发明的范围和主旨内,且包含于请求保护的范围记载的发明及其均等的范围内。

Claims (7)

1.一种存储装置,其特征在于,
具备:
非易失性的第一存储介质;
非易失性的第二存储介质,其与所述第一存储介质相比访问速度低且存储容量大;
高速缓存控制器,其将所述第一存储介质作为高速缓存器进行控制;和
主控制器,其基于来自主机装置的访问请求来控制所述高速缓存控制器,且对所述第二存储介质访问,
所述高速缓存控制器将应储存于所述第一存储介质的数据基于对所述第一存储介质访问的结果来在检测到存储性能劣化的至少两个区域多重写入。
2.根据权利要求1所述的存储装置,其特征在于,
所述高速缓存控制器在根据来自所述主机装置的读取请求而由所述主控制器请求在所述至少两个区域多重写入的数据的读出的情况下,依次执行从所述至少两个区域读出所述请求的数据的读取动作,并将读出成功的数据返回所述主控制器。
3.根据权利要求2所述的存储装置,其特征在于,
所述高速缓存控制器使用第一管理信息来管理所述第一存储介质内的空区域,
所述高速缓存控制器在根据来自所述主机装置的写入请求而由所述主控制器请求写入的情况下,从所述第一管理信息搜索用于写入所述请求的数据的区域。
4.根据权利要求3所述的存储装置,其特征在于,
所述高速缓存控制器使用第二管理信息来管理检测到所述劣化的区域,
所述高速缓存控制器在从所述第一管理信息搜索区域失败的情况下在所述第一存储介质中选择储存有数据的非多重化区域,
所述高速缓存控制器将在所述选择的非多重化区域储存的数据作为所述应储存的数据而在所述至少两个区域多重写入,
所述高速缓存控制器在所述多重写入后将所述选择的非多重化区域作为空区域添加到所述第一管理信息。
5.根据权利要求4所述的存储装置,其特征在于,
所述高速缓存控制器在所述第一非易失性存储介质内的预定大小的区域的每个管理在所述第一非易失性存储介质写入的数据的储存地点和向该储存地点访问的状况,
所述高速缓存控制器在从所述第一管理信息搜索区域失败的情况下基于所述管理的访问状况来选择所述非多重化区域。
6.一种高速缓存控制器,适用于以下的存储装置,该存储装置具备:非易失性的第一存储介质;和非易失性的第二存储介质,其与所述第一存储介质相比访问速度低且存储容量大,该高速缓存控制器的特征在于,
具备:
处理器,其将所述第一存储介质作为高速缓存器进行控制;
第一接口控制器,其控制主控制器和所述处理器之间的信号的发送及接收,该主控制器基于来自主机装置的访问请求来控制所述高速缓存控制器并基于所述访问请求来访问所述第二存储介质;和
第二接口控制器,其在所述处理器的控制下对所述第一存储介质访问,
所述处理器将应储存于所述第一存储介质的数据基于对所述第一存储介质访问的结果来在检测到存储性能劣化的至少两个区域多重写入。
7.一种数据写入方法,适用于高速缓存控制器以向所述第一存储介质写入数据,该高速缓存控制器装备于存储装置,该存储装置具备:非易失性的第一存储介质;非易失性的第二存储介质,其与所述第一存储介质相比访问速度低且存储容量大;和主控制器,其基于来自主机装置的访问请求来对所述第二存储介质访问,该高速缓存控制器在基于所述访问请求而由所述主控制器所进行的控制下将所述第一存储介质作为高速缓存器进行控制,该数据写入方法的特征在于,
将应储存于所述第一存储介质的数据基于对所述第一存储介质访问的结果来在检测到存储性能劣化的至少两个区域多重写入。
CN201410052122.5A 2013-10-23 2014-02-14 存储装置、高速缓存控制器及数据写入方法 Pending CN104571939A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013-220317 2013-10-23
JP2013220317A JP2015082240A (ja) 2013-10-23 2013-10-23 ストレージ装置、キャッシュコントローラ、及び不揮発性記憶媒体にデータを書き込む方法

Publications (1)

Publication Number Publication Date
CN104571939A true CN104571939A (zh) 2015-04-29

Family

ID=52827221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410052122.5A Pending CN104571939A (zh) 2013-10-23 2014-02-14 存储装置、高速缓存控制器及数据写入方法

Country Status (3)

Country Link
US (1) US20150113208A1 (zh)
JP (1) JP2015082240A (zh)
CN (1) CN104571939A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106372007A (zh) * 2015-07-23 2017-02-01 Arm 有限公司 缓存使用率估计
CN106502577A (zh) * 2015-09-07 2017-03-15 龙芯中科技术有限公司 存储空间的写入加速方法、装置和系统
CN108628545A (zh) * 2017-03-23 2018-10-09 爱思开海力士有限公司 数据存储装置及其操作方法
CN113495678A (zh) * 2020-04-01 2021-10-12 荣耀终端有限公司 一种dm缓存的分配方法及装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150138528A (ko) * 2014-05-29 2015-12-10 삼성전자주식회사 플래시 메모리를 기반으로 하는 스토리지 시스템 및 그것의 동작 방법
US10466908B2 (en) * 2015-08-25 2019-11-05 Toshiba Memory Corporation Memory system that buffers data before writing to nonvolatile memory
US11024382B2 (en) * 2019-08-29 2021-06-01 Micron Technology, Inc. Fully associative cache management

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101425337A (zh) * 2007-10-29 2009-05-06 芯邦科技(深圳)有限公司 一种闪存数据存储方法和装置
US20110106804A1 (en) * 2009-11-04 2011-05-05 Seagate Technology Llc File management system for devices containing solid-state media
CN102576333A (zh) * 2009-10-05 2012-07-11 马维尔国际贸易有限公司 非易失性存储器中的数据高速缓存
US20120246540A1 (en) * 2011-03-24 2012-09-27 Samsung Electronics Co., Ltd. Memory controller, devices including the same, and operating method thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090150721A1 (en) * 2007-12-10 2009-06-11 International Business Machines Corporation Utilizing A Potentially Unreliable Memory Module For Memory Mirroring In A Computing System
US9772948B2 (en) * 2012-07-06 2017-09-26 Seagate Technology Llc Determining a criterion for movement of data from a primary cache to a secondary cache
US8996935B2 (en) * 2012-12-07 2015-03-31 International Business Machines Corporation Memory operation of paired memory devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101425337A (zh) * 2007-10-29 2009-05-06 芯邦科技(深圳)有限公司 一种闪存数据存储方法和装置
CN102576333A (zh) * 2009-10-05 2012-07-11 马维尔国际贸易有限公司 非易失性存储器中的数据高速缓存
US20110106804A1 (en) * 2009-11-04 2011-05-05 Seagate Technology Llc File management system for devices containing solid-state media
US20120246540A1 (en) * 2011-03-24 2012-09-27 Samsung Electronics Co., Ltd. Memory controller, devices including the same, and operating method thereof

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106372007A (zh) * 2015-07-23 2017-02-01 Arm 有限公司 缓存使用率估计
CN106372007B (zh) * 2015-07-23 2022-04-19 Arm 有限公司 缓存使用率估计
CN106502577A (zh) * 2015-09-07 2017-03-15 龙芯中科技术有限公司 存储空间的写入加速方法、装置和系统
CN108628545A (zh) * 2017-03-23 2018-10-09 爱思开海力士有限公司 数据存储装置及其操作方法
CN108628545B (zh) * 2017-03-23 2021-05-07 爱思开海力士有限公司 数据存储装置及其操作方法
CN113495678A (zh) * 2020-04-01 2021-10-12 荣耀终端有限公司 一种dm缓存的分配方法及装置
CN113495678B (zh) * 2020-04-01 2022-06-28 荣耀终端有限公司 一种dm缓存的分配方法及装置

Also Published As

Publication number Publication date
US20150113208A1 (en) 2015-04-23
JP2015082240A (ja) 2015-04-27

Similar Documents

Publication Publication Date Title
CN104571939A (zh) 存储装置、高速缓存控制器及数据写入方法
US7516296B2 (en) Flash memory storage device and read/write method
EP1895418B1 (en) Nonvolatile memory device, method of writing data, and method of reading out data
KR101166980B1 (ko) 메모리 시스템 및 정보 처리 장치
US10776153B2 (en) Information processing device and system capable of preventing loss of user data
JP4932427B2 (ja) 記憶装置及び記憶方法
US8904092B2 (en) Identifying a location containing invalid data in a storage media
US7681008B2 (en) Systems for managing file allocation table information
US20090103203A1 (en) Recording apparatus and control circuit
US20100185806A1 (en) Caching systems and methods using a solid state disk
US20080028132A1 (en) Non-volatile storage device, data storage system, and data storage method
US11232037B2 (en) Using a first-in-first-out (FIFO) wraparound address lookup table (ALT) to manage cached data
US9208101B2 (en) Virtual NAND capacity extension in a hybrid drive
US9122586B2 (en) Physical-to-logical address map to speed up a recycle operation in a solid state drive
JP2009020986A (ja) ディスク・ドライブ装置及びディスク・ドライブ装置において不揮発性半導体メモリ領域上のデータを管理するテーブルを保存する方法
CN102667740A (zh) 将数据存储装置分区与物理数据扇区的边界对齐
US20090132757A1 (en) Storage system for improving efficiency in accessing flash memory and method for the same
US9189392B1 (en) Opportunistic defragmentation during garbage collection
CN110515550B (zh) 一种sata固态硬盘冷热数据分离的方法及其装置
US8345370B2 (en) Magnetic disk drive and refresh method for the same
US8271721B2 (en) Data writing method and data storage device
CN104794066A (zh) 存储装置及选择写入数据的存储区域的方法
US20140258591A1 (en) Data storage and retrieval in a hybrid drive
CN100578650C (zh) 新型智能磁带机的数据处理方法
US20170090768A1 (en) Storage device that performs error-rate-based data backup

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150429

WD01 Invention patent application deemed withdrawn after publication