CN103489482A - 信息处理设备、方法和程序 - Google Patents

信息处理设备、方法和程序 Download PDF

Info

Publication number
CN103489482A
CN103489482A CN201310211574.9A CN201310211574A CN103489482A CN 103489482 A CN103489482 A CN 103489482A CN 201310211574 A CN201310211574 A CN 201310211574A CN 103489482 A CN103489482 A CN 103489482A
Authority
CN
China
Prior art keywords
page
rewrites
data
threshold value
storage area
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
CN201310211574.9A
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Publication of CN103489482A publication Critical patent/CN103489482A/zh
Pending legal-status Critical Current

Links

Images

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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)

Abstract

本发明涉及信息处理设备、方法和程序。提供一种信息处理设备,包括重写次数管理部件,所述重写次数管理部件被配置成管理包含在具有重写次数上限的非易失性主存储设备中的页面的重写次数,和数据处理部件,所述数据处理部件被配置成当发出把写入数据写入预定页面的指令,并且所述预定页面的重写次数达到比主存储设备的重写次数的上限小的阈值时,把所述写入数据写入不同于所述预定页面的另一个页面,所述另一个页面未保存有效数据,并且具有未达到所述阈值的重写次数。

Description

信息处理设备、方法和程序
技术领域
本技术涉及信息处理设备、方法和程序,更具体地说,涉及使得能够改善具有重写次数上限的非易失性存储器的利用效率的信息处理设备、方法和程序。
背景技术
在现有技术中,提出了与在具有重写次数上限的非易失性存储器中,恰当地利用存储器的每个区域的存储器管理有关的技术。
例如,作为上述技术,存在一种把包括虚拟地址和物理地址的映射信息的页表保存在存储器上,并利用页表管理存储器的技术(例如,参见未经审查的日本专利申请公开No.2010-186477)。
在这种技术中,映射信息包括存储器上的每个页面的写入次数信息,根据写入次数信息,管理数据存储位置。具体地,当存储器上的页面的写入次数达到耐久限度时,该页面的数据被移动到另一个页面,并按照所述移动,更新映射信息。
发明内容
然而,在上述技术中,难以高效地利用存储器。
如上所述,在具有重写次数上限的非易失性存储器中,当存储器的预定页面的写入次数达到就耐久限度来说的寿命终点时,之后难以把数据写入该页面。即,难以利用该页面。例如,如果频繁发生对存储器上的特定页面的写入,那么该页面会比其它页面更早地达到其寿命的终点,从而每当频繁发生对相同页面的写入时,存储器的可用容量会减小。
因而,即使当整个存储器的利用次数较低,存储器的可用存储容量也不足,从而难以使用以前使用过的应用程序。
当对于存储器上的每个页面的数据的写入次数存在偏差时,存储器的利用效率降低。
理想的是改善具有重写次数上限的非易失性存储器的利用效率。
按照本公开的实施例,提供一种信息处理设备,包括重写次数管理部件,所述重写次数管理部件被配置成管理包含在具有重写次数上限的非易失性主存储设备中的页面的重写次数,和数据处理部件,所述数据处理部件被配置成当发出把写入数据写入预定页面的指令,并且所述预定页面的重写次数达到比主存储设备的重写次数的上限小的阈值时,把所述写入数据写入不同于所述预定页面的另一个页面,所述另一个页面未保存有效数据,并且具有未达到所述阈值的重写次数。
所述信息处理设备还包括阈值更新部件,所述阈值更新部件被配置成当所有页面的重写次数大于或等于所述阈值时,计算大于所述阈值,并且小于或等于所述上限的新阈值,并更新所述阈值。
所述阈值更新部件通过相加对于所述上限指定的固定值和所述阈值,计算新阈值。
当发出把写入数据写入所述预定页面的指令,并且所述预定页面的重写次数和未保存有效数据的所述页面的重写次数达到阈值时,数据处理部件可从保存有效数据的页面中,搜索具有未达到所述阈值的重写次数的页面,并把保存在搜索到的页面中的数据移动到未保存有效数据的页面。
在移动搜索到的页面的数据之后,数据处理部件可把写入数据写入所述搜索到的页面中。
页面的重写次数可被保存在主存储设备中。
页面的重写次数可被保存在为该页面唯一指定的位置中,或者保存在根据页面位置,利用计算操作获得的位置中。
信息处理设备还可包括转换信息管理部件,所述转换信息管理部件被配置成向页面分配虚拟页号,并管理指示页面的虚拟页号和物理页号之间的对应性的逻辑-物理转换信息。
当预定虚拟页号被分配给所述预定页面,并且所述预定虚拟页号已被指定为写入目的地的写入数据被写入另一个页面时,转换信息管理部件可把预定虚拟页号的分配从所述预定页面改变到所述另一个页面。
页面的重写次数被保存在与逻辑-物理转换信息不同的区域中。
逻辑-物理转换信息和/或阈值可被保存在页面中。
按照本公开的实施例,提供一种信息处理方法,包括管理包含在具有重写次数上限的非易失性主存储设备中的页面的重写次数,和当发出把写入数据写入预定页面的指令,并且所述预定页面的重写次数达到比主存储设备的重写次数的上限小的阈值时,把所述写入数据写入不同于所述预定页面的另一个页面,所述另一个页面未保存有效数据,并且具有未达到所述阈值的重写次数。
按照本公开的实施例,提供一种程序,所述程序使计算机执行以下步骤:管理包含在具有重写次数上限的非易失性主存储设备中的页面的重写次数,和当发出把写入数据写入预定页面的指令,并且所述预定页面的重写次数达到比主存储设备的重写次数的上限小的阈值时,把所述写入数据写入不同于所述预定页面的另一个页面,所述另一个页面未保存有效数据,并且具有未达到所述阈值的重写次数。
按照上面说明的本技术的实施例,能够改善具有重写次数上限的非易失性存储器的利用效率。
附图说明
图1是图解说明信息处理系统的结构例子的示图;
图2是图解说明管理信息存储部分的结构例子的示图;
图3是图解说明数据存储部分和重写次数存储部分之间的对应关系的示图;
图4是图解说明次数信息存储部分的布置例子的示图;
图5是图解说明主存储器管理控制部分的结构例子的示图;
图6是图解说明管理信息的初始状态的示图;
图7是图解说明初始状态下的数据写入处理的流程图;
图8是图解说明管理信息的更新的示图;
图9是图解说明当主要管理信息未被更新时的数据写入处理的流程图;
图10是图解说明管理信息的更新的示图;
图11是图解说明其中页面的重写次数达到阈值的管理信息的例子的示图;
图12是图解说明当重写次数达到阈值时的数据写入处理的流程图;
图13是图解说明管理信息的更新的示图;
图14是图解说明其中在虚拟页号已被分配的状态下,数据存储位置和空页面的重写次数都已达到阈值的管理信息的例子的示图;
图15是图解说明当数据存储位置和空页面的重写次数都已达到阈值时的数据写入处理的流程图;
图16是图解说明管理信息的更新的示图;
图17是图解说明管理信息的更新的示图;
图18是图解说明其中所有页面的重写次数都已达到阈值的管理信息的例子的示图;
图19是图解说明阈值更新处理的流程图;
图20是图解说明管理信息的更新的示图;
图21是图解说明信息处理系统的另一个结构例子的示图;
图22是图解说明信息处理系统的另一个结构例子的示图;
图23是图解说明信息处理系统的另一个结构例子的示图;
图24是图解说明主存储器的结构例子的示图;
图25是图解说明计算机的结构例子的示图。
具体实施方式
下面参考附图,详细说明本公开的优选实施例。注意在本说明书和附图中,功能和结构基本相同的构成元件用相同的附图标记表示,这些构成元件的重复说明被省略。
下面参考附图,详细说明本技术的实施例。
(第一实施例)
[本技术的特征]
首先,说明本技术的特征。
本技术涉及其中在主存储器中,使用具有重写次数上限的非易失性存储器的系统。在该系统中,主存储器的预定区域被分成都具有1个或多个字节的任意的大小单元,并且是按所述大小单元管理的。
另外,下面,被分成预定的大小单元的主存储器的每个区域被称为页面,每个页面的量值,即,主存储器的分割的大小单元被称为页面大小。另外,本技术中使用的主存储器是主存储设备,主存储设备由执行程序的处理单元直接访问,能够从其读取数据或者把数据写入其中,处理单元能够随机地访问主存储设备的每个区域。
特别地,适用于上述系统的本技术具有以下特征(1)-(5)。
(1)为主存储器的每个页面,保持关于页面的重写次数的信息。
(2)相对于主存储器的重写次数的上限MX,指定小于或等于所述上限MX的多个阈值th,并且按阈值th的升序,利用阈值th管理主存储器。
(3)当重写次数达到就预定页面(移动源页面)而论在使用的阈值时,移动源页面的数据被移动到未保存有效数据的另一个页面(移动目的地页面)。
(4)当移动目的地页面的重写次数大于或等于阈值th时,搜索其中保存有效数据,并且其重写次数小于阈值th的页面,通过搜索获得的页面的数据被移动到移动目的地页面,搜索中获得的页面被设定成新的移动目的地页面。
(5)当主存储器内的所有页面的重写次数都达到使用中的阈值th时,利用大于阈值th的下一个阈值th,管理主存储器。
按照上述特征(1)-(5),能够在划分成页面大小单元的主存储器内,平均每个区域(页面)的重写次数,从而改善主存储器的利用效率。因而,能够延长具有重写次数上限的非易失性存储器(主存储器)的寿命,结果延长利用所述主存储器的系统的寿命。
另外,为了实现具有特征(1)-(5)的系统,必须保持包括关于每个页面的重写次数的信息或逻辑-物理转换信息的管理信息。这里,逻辑-物理转换信息是表示指示主存储器上的实际页面位置的物理地址(物理页号)和页面的虚拟地址(虚拟页号)之间的对应性的信息。
管理信息可被设定成被保存在主存储器中,或者被保存在另一个存储器中。例如,当管理信息被保存在主存储器中时,对于已应用本技术的系统来说,通过进一步包括下述特征(6)和(7),能够进一步改善主存储器的利用效率。
(6)关于每个页面的重写次数的信息被保存在主存储器中。
(7)关于页面的重写次数的信息的存储位置被设定成能够在对于每个页面的计算运算中计算的位置,或者对于每个页面唯一地指定的位置。于是,保存关于重写次数的信息的区域被设定成具有能够保存重写次数的上限MX的值的大小的区域。
按照上面的特征(6)和(7),能够减小与主存储器的管理有关的信息的大小。
例如,在上述未经审查的日本专利申请公开No.2010-186477中说明的技术中,需要指示每个页面的写入次数信息的存储位置的指针,应在页表内确保保存指针的位置。从而,页表的数据大小增大,其中能够保存存储器上的其它数据的区域减小。于是,每个区域的数据的重写增大,存储器的寿命降低。
另一方面,按照本技术中的特征(6)和(7),即使当不存在指示关于页面的重写次数的信息的存储位置的信息时,也能够指定关于重写次数的信息的存储位置,从而能够减小管理信息的大小。
从而,由于能够确保其中可按管理信息的大小的缩减量保存其它数据的更大区域,因此能够改善主存储器的利用效率,从而进一步延长主存储器的寿命。
另外,由于在上述未经审查的日本专利申请公开No.2010-186477中说明的技术中,写入次数信息被包含在映射信息中,因此每当写入次数信息被更新时,都在其中保存映射信息的区域中进行重写,因而该区域的寿命被缩短。
另一方面,在本技术中,通过分离包含在管理信息中的逻辑-物理转换信息的存储位置,和关于页面的重写次数的信息的存储位置,并单独地管理上述信息,能够减小除关于页面的重写次数的信息以外的逻辑-物理转换信息等的更新频率。从而,能够延长主存储器的寿命。
[信息处理系统的结构例子]
下面,说明应用本技术的具体实施例。图1是图解说明应用本技术的信息处理系统的实施例的结构例子的示图。
图1的信息处理系统被设置在其中使用具有重写次数上限的非易失性存储器作为主存储器(主存储设备)的任意信息处理设备中,该信息处理系统包括控制部分11、主存储器12和总线13。
在信息处理系统中,控制部分11利用作为具有重写次数上限的非易失性存储器的主存储器12作为主存储设备,并通过总线13,直接并且随机地访问主存储器12,而不需要驱动器等。
通过总线13,连接到主存储器12的控制部分11在预定处理被执行时,从主存储器12读取数据或者把数据写入主存储器12,或者管理主存储器12。在控制部分11中,设置中央处理器(CPU)21和主存储器管理控制部分22。
CPU21通过执行保存在主存储器12的程序,进行各种处理,并在处理被执行时,通过主存储器管理控制部分22,把数据写入主存储器12。
主存储器管理控制部分22管理主存储器12,按照CPU21的指令,访问主存储器12的任意区域,以便从该区域读取数据或者把数据写入该区域。
主存储器12是对其设置重写次数上限MX的非易失性存储器,起信息处理系统的主存储器(主存储设备)的作用。在主存储器12中,设置程序存储部分31和数据存储部分32。
程序存储部分31包括主存储器12上的其中保存将由CPU21执行的程序的区域,保存在程序存储部分31中的程序通过总线13,被读取到控制部分11。
数据存储部分32被分成均具有预定页面大小的多个页面,并被管理,在数据存储部分32中,设置管理信息存储部分41。
管理信息存储部分41包括其中保存逻辑-物理转换信息,或者包括每个页面的重写次数的管理信息的区域,所述逻辑-物理转换信息指示指定数据存储部分32的每个页面的物理页号和虚拟页号之间的对应性。保存在管理信息存储部分41中的管理信息由主存储器管理控制部分22管理。
另外,使CPU21能够执行各种处理的数据被保存在除数据存储部分32的管理信息存储部分41以外的区域(页面)中。当CPU21执行处理时,主存储器管理控制部分22把数据写入每个页面。
[管理信息]
下面,说明保存在管理信息存储部分41中的管理信息。
例如,在如图2中图解所示的管理信息存储部分41中,设置主要管理信息存储部分61和重写次数存储部分62,作为保存包含在管理信息中的信息的区域。
主要管理信息存储部分61是其中保存诸如包含在管理信息中的逻辑-物理转换信息之类的主要信息的区域。在主要管理信息存储部分61中,设置逻辑-物理转换信息存储部分71、空物理页号存储部分72、阈值存储部分73和上限存储部分74。
逻辑-物理转换信息存储部分71是其中保存逻辑-物理转换信息的区域。在逻辑-物理转换信息存储部分71中,设置其中保存充当逻辑-物理转换信息的数据存储部分32的各个页面的物理页号(物理地址)的物理页号存储部分FA-0~FA-m。下面,当不必区分物理页号存储部分FA-0~FA-m时,物理页号存储部分FA-0~FA-m也被简单地称为物理页号存储部分FA。
例如,数据存储部分32被分成多个页面,各个页面之中,除充当重写次数存储部分62的页面之外,剩余的页面被设定成利用物理页号PPA0~PPAn指定的(n+1)个页面。
另外,除非下面另外说明,否则当仅仅提及页面时,该页面将被连续地描述成利用物理页号PPA0~PPAn指定的(n+1)个页面中的各个页面。
假定对于数据存储部分32的(n+1)个页面,能够分配最多虚拟页号VPPA0~VPPAm的总共(m+1)(这里,m≤n)个虚拟页号(虚拟页面地址)。
这里,虚拟页号是为了不使诸如程序之类的高阶层或操作系统(OS)意识到其中通过平均页面的重写次数保存数据的各个页面的物理页号的分布而定义的虚拟页号。
在逻辑-物理转换信息存储部分71中,对齐地设置物理页号存储部分FA,物理页号存储部分FA保存图中从上部到下部,按照虚拟页号VPPA0-VPPAm的顺序,已被分配虚拟页号的各个页面的物理页号。
从而,按照逻辑-物理转换信息存储部分71中的物理页号存储部分FA的位置,知道哪个虚拟页号被分配给由保存在物理页号存储部分FA中的物理页号指定的页面。在逻辑-物理转换信息存储部分71中,包括保存在物理页号存储部分FA中的物理页号的信息变成逻辑-物理转换信息。
另外,在主要管理信息存储部分61的空物理页号存储部分72中,保存数据存储部分32的各个页面之中,未保存有效数据的页面(下面也称为空页面)的一个物理页号,作为空物理页号。
这里,空页面是其中保存非必需数据,或者其中未保存数据的页面。换句话说,未被分配虚拟页号,并且其中未保存管理信息的页面在此时成为空页面。
例如,在空物理页号存储部分72中,保存一些空页面之中,满足预定条件的一个空页面的物理页号,作为空物理页号。
空页号被保存在空物理页号存储部分72中,并且由于以下原因,如上所述确保一个空页面。即,这是因为当虚拟页号新近被分配给空页面,或者数据被移动时,预先保持充当虚拟页号的分配目的地,或者数据移动目的地的页面的位置信息(物理页号)。
在阈值存储部分73中,保存根据主存储器12的重写次数的上限MX计算的阈值th,并利用阈值th,控制对每个页面的虚拟页号的分配。另外,当所有页面的重写次数都达到阈值th时,更新阈值th。例如,每当阈值th被更新为重写次数的上限MX的10%的值,20%的值,…,90%的值,和100%的值时,阈值th被增大,直到上限MX为止。
此外,在主要管理信息存储部分61的上限存储部分74中,保存主存储器12的重写次数的预定上限MX。
下面,包括保存在主要管理信息存储部分61中的逻辑-物理转换信息,空物理页号,阈值th,和重写次数的上限MX的信息被称为包含在管理信息中的主要管理信息。
另外,数据存储部分32上的每个页面的重写次数被保存在管理信息存储部分41的重写次数存储部分62中。具体地,在重写次数存储部分62中,设置其中保存利用物理页号PPA0-PPAn指定的各个页面的重写次数的次数信息存储部分NU-0~NU-n。
例如,利用物理页号PPA0指定的页面的重写次数被保存在次数信息存储部分NU-0中。另外,当不必单独地区分次数信息存储部分NU-0~NU-n时,次数信息存储部分NU-0~NU-n被简单地称为次数信息存储部分NU。
[数据存储部分的数据结构]
顺便提及,利用物理页号PPA0~PPAn指定的页面PG-0~PG-n设置在如图3中图解所示的数据存储部分32中。例如,每个页面的大小,即,页面大小为4KB等。
另外在下面,当不必单独地区分页PG-0~PG-n时,页PG-0~PG-n被简单地称为页PG。
另外,次数信息存储部分NU-0~NU-n分别与页面PG-0~PG-n关联。这里,每个次数信息存储部分NU的布置位置是能够根据与次数信息存储部分NU对应的页面PG的物理页号指定的位置。
即,次数信息存储部分NU具有由利用与次数信息存储部分NU对应的页面PG的物理页号,通过计算运算计算的值指定的位置,或者对于页面PG的物理页号,唯一地指定的位置。另外,次数信息存储部分NU的大小是能够保存重写次数的上限MX的值的大小。
例如,当主存储器12是非易失性RAM(NVRAM)时,如在图4的上部中图解所示,可知道数据存储部分32上的每个页面PG的布置区域,和次数信息存储部分NU的布置区域。另外,图4的与图3对应的部分被赋予相同的附图标记,并适当地省略其说明。
在这个例子中,从数据存储部分32的头部开始,顺序对齐地布置页面PG-0~PG-n,在页面PG-n之后,顺序对齐地布置次数信息存储部分NU-0~NU-n。从而,次数信息存储部分NU被设定成设置在包括于数据存储部分32的各个页面之中,不同于页面PG的各个页面中。
在这种情况下,包括各个页面PG中的保存主要管理信息的页面PG(即,充当主要管理信息存储部分61的页面PG)和次数信息存储部分NU的区域变成管理信息存储部分41的区域。
另外,尽管上面说明了其中设置包含在数据存储部分32中的次数信息存储部分NU的情况,不过,次数信息可不被设置在页面区域中。在这种情况下,例如,确保具有固定大小的预定区域,作为次数信息存储部分NU,除数据存储部分32的次数信息存储部分NU外的区域被分成均具有页面大小的量值的区域,一个分割区域是一个页面PG。
于是,例如,如在图4的下部中图解所示,从数据存储部分32的头部开始,交替地布置页面PG和次数信息存储部分NU。在这个例子中,由于紧接在页面PG之后,布置其中保存与页面PG相关的重写次数的次数信息存储部分NU,因此能够根据页面PG的位置,指定对应的次数信息存储部分NU的位置。另外,每个页面PG内的区域可被设定成次数信息存储部分NU。
[主存储器管理控制部分的结构例子]
下面说明图1的主存储器管理控制部分22的更详细的结构例子。图5是图解说明图1的主存储器管理控制部分22的结构例子的示图。
图5的主存储器管理控制部分22包括数据处理部件101、转换信息管理部件102、空页面搜索部分103、阈值更新部件104和重写次数管理部件105。
数据处理部件101按照CPU21的指令,控制对数据存储部分32的页面PG的数据写入,或者从页面PG的数据读取。转换信息管理部件102管理保存在逻辑-物理转换信息存储部分71中的逻辑-物理转换信息。
空页面搜索部分103从页面PG中,搜索满足预定条件的空页面,或者管理空物理页号存储部分72。阈值更新部件104根据保存在上限存储部分74中的上限,计算阈值th,或者管理阈值存储部分73。重写次数管理部件105管理重写次数存储部分62。
[初始状态下的数据写入处理的说明]
下面,说明图1的信息处理系统的操作。
例如,主存储器12的初始状态,即,其中控制部分11不进行对主存储器12的数据写入的状态是图6中图解所示的状态。另外,图6的对应于图2或3的部分被赋予相同的附图标记,并且其说明被适当省略。
在图6的例子中,在数据存储部分32中设置8个页面PG-0~PG-7。即,图6中图解所示的初始状态是其中图3中的页面PG-n的整数n为n=7的情况。
在图6中,主要管理信息已被保存在页面PG-0和PG-1中,这两个页面充当主要管理信息存储部分61的区域。从而,“1”作为重写次数,被保存在对应于页面PG-0和PG-1的次数信息存储部分NU-0和NU-1中。
另外,按照每个页面PG的重写次数,保存在数据存储部分32的页面PG中的主要管理信息被移动到另一个页面PG,但是假定主存储器管理控制部分22不断地识别主要管理信息的存储位置。
另一方面,其它页面PG-2~PG-7处于数据尚未被写入的状态,从而,在对应于各个页面的次数信息存储部分NU-2和NU-7中,保存“0”作为重写次数。
另外,在主要管理信息存储部分61的逻辑-物理转换信息存储部分71中,为5个虚拟页号VPPA0-VPPA4,设置物理页号存储部分FA-0~FA-4。
在这个例子中,在各个物理页号存储部分FA中,还未保存物理页号。即,当前状态是其中虚拟页号VPPA0-VPPA4未被分配给任何页面的状态。
由于在图6中图解所示的逻辑-物理转换信息存储部分71中,设置5个物理页号存储部分FA,因此CPU21能够把除管理信息以外的数据保存在5个页面中。
例如,在数据存储部分32中,设置8个页面PG,其中的2个页面用于保存主要管理信息。于是,由于在数据存储部分32中,必须确保至少一个空页面,因此通过从页面的总数8中,减去必需页面的数目3(=2+1)而获得的页面的数目5是用于保存数据的页面的数目。
另外,在数据存储部分32中,确保具有最小的物理页号的空页面,作为新数据的存储目的地(虚拟页号的分配目的地)或者数据移动目的地。于是,空页面的物理页号PPA2被保存在空物理页号存储部分72中。
在阈值存储部分73中,数值“100000”被保存为根据主存储器12的重写次数的上限MX计算的阈值th。此外,在上限存储部分74中,数值“1000000”被保存为主存储器12的重写次数的预定上限MX。
另外,在本例中,初始状态下的阈值th为“100000”,它是对应于上限MX=1000000的10%的值。之后,对于每次更新,假定阈值th被增大对应于上限MX=1000000的10%的值“100000”。换句话说,初始状态下的阈值th是小于上限MX的值。当更新阈值时,把预定的固定值和阈值th相加,从而产生新的阈值th。
如果在数据存储部分32处于图6中图解所示的初始状态时,CPU21通过主存储器管理控制部分22访问程序存储部分31,并执行保存在程序存储部分31中的程序,那么进行各种处理。此时,如果CPU21发出把新数据写入数据存储部分32的指令,那么在初始状态下开始数据写入处理。
下面参考图7的流程图和图8,说明信息处理系统在初始状态下的数据写入处理。
在步骤S11,主存储器管理控制部分22的数据处理部件101按照CPU21的指令,把从CPU21供给的数据写入数据存储部分32的空页面。
例如,数据处理部件101参考在图6中图解所示的初始状态下的空物理页号存储部分72,并把数据写入用保存在空物理页号存储部分72中的物理页号PPA2指定的页面PG-2中。
从而,用物理页号PPA2指定的页面PG-2处于数据已被写入的状态,如图8中图解所示。在图8中,在页面PG-2中记载了文字“未擦除”,页面PG-2处于已保存数据的状态。
在步骤S12,重写次数管理部件105通过递增其中已被写入数据的物理页号为PPA2的页面PG-2的重写次数,更新重写次数。即,重写次数管理部件105把保存在与页面PG-2对应的次数信息存储部分NU-2中的重写次数加1。
从而,保存在次数信息存储部分NU-2中的页面PG-2的重写次数从图6中图解所示的状态,即,重写次数“0”被变成图8中图解所示的状态,即,重写次数“1”。
从而,如果如上所述把新数据写入空页面,并更新该页面的重写次数,那么向数据已被写入的该页面分配虚拟页号(虚拟页面地址)。
即,在步骤S13,转换信息管理部件102向数据已被写入的页面分配虚拟页号。
例如,图6的初始状态是其中在逻辑-物理转换信息存储部分71的任何物理页号存储部分FA中,都未保存物理页号,从而先前未分配虚拟页号的状态。
于是,转换信息管理部件102把具有最小编号的虚拟页号VPPA0分配给数据已被写入的页面PG-2。
具体地,转换信息管理部件102通过把页面PG-2的物理页号PPA2,写入与虚拟页号VPPA0对应的物理页号存储部分FA-0,把PPA2设定成与虚拟页号VPPA0对应的物理页号。从而,在图6的初始状态下,未被写入物理页号的物理页号存储部分FA-0处于已被写入物理页号PPA2的状态,如图8中图解所示。
从而,当数据被写入先前一直是空页面的页面PG-2时,空页面搜索部分103搜索新的空页面。
即,在步骤S14,空页面搜索部分103搜索新的空页面,并更新保存在空物理页号存储部分72中的物理页号。
具体地,空页面搜索部分103把保存在空物理页号存储部分72中的物理页号加1,并且当利用递增之后的物理页号指定的页面PG是空页面时,结束递增。于是在此时,保存在物理页号存储部分72中的物理页号是更新之后的空页面的物理页号。
这里,通过参考逻辑-物理转换信息,能够指定递增的物理页号的页面PG是否是空页面。在逻辑-物理转换信息存储部分71的每个物理页号存储部分FA中,保存虚拟页号被分配给的页面PG的物理页号。于是,其物理页号未被保存在物理页号存储部分FA中,并且其中未保存主要管理信息的页面PG被认为是空页面。
通过递增物理页号,能够搜索比先前保存在空物理页号存储部分72中的物理页号大,并且最接近于空物理页号存储部分72的物理页号的物理页号的空页面。
由于在图6中图解所示的初始状态下,物理页号PPA2被保存在空物理页号存储部分72中,因此空页面搜索部分103把物理页号PPA2加1,从而如图8中图解所示地设定物理页号PPA3。
在这种情况下,递增后的物理页号PPA3未被保存在图8的逻辑-物理转换信息存储部分71的各个物理页号存储部分FA中。另外,主要管理信息的存储位置是物理页号PPA0和PPA1的页面PG,而在物理页号PPA3中未保存任何主要管理信息。即,物理页号PPA3是其中未保存有效数据的空页面。
于是,空页面搜索部分103停止物理页号的递增,把其中未分配任何数据的物理页号PPA3设定为保存在空物理页号存储部分72中的物理页号。
另外,当保存在空物理页号存储部分72中的物理页号被递增时,递增前的物理页号是最后的物理页号。在这种情况下,递增的物理页号是最小的最初物理页号。例如,由于在图6中,最后的物理页号为“PPA7”,并且最初的物理页号为“PPA0”,因此当对物理页号PPA7进行递增时,递增后的物理页号是物理页号PPA0。
返回图7的流程图的说明,由于按照步骤S13和S14的处理,充当主要管理信息存储部分61的页面PG的数据已被更新,因此页面PG的重写次数被更新。
即,在步骤S15,重写次数管理部件105把其中保存主要管理信息的利用物理页号PPA0和PPA1指定的页面PG-0和PG-1的重写次数加1。
从而,保存在次数信息存储部分NU-0和NU-1中的重写次数被加1,从而从图6的初始状态下的重写次数“1”更新为如图8中图解所示的重写次数“2”。
当主要管理信息的存储目的地的页面PG的重写次数被更新时,结束初始状态下的数据写入处理。此时,数据存储部分32、重写次数存储部分62和主要管理信息存储部分61的状态从图6中图解所示的状态被变成图8中图解所示的状态。
在图8的例子中,数据被写入物理页号PPA2的页面PG-2中,虚拟页号VPPA0被分配给页面PG-2。另外,新的空页面的物理页号PPA3被保存在空物理页号存储部分72中,保存在其中数据已被写入或更新的页面PG的次数信息存储部分NU-0、NU-1和NU-2中的重写次数被递增。
如上所述,当信息处理系统保持每个页面PG的重写次数,并进行对于页面PG的数据的写入时,页面PG的重写次数被更新。
如上所述,通过保持每个页面PG的重写次数,并且必要时,把数据移动到另一个页面PG,能够平均每个页面PG的重写次数,从而延长主存储器12的寿命。另外,通过与其中保持其它数据的页面PG分离地设置其中保持每个页面PG的重写次数的区域,能够进一步降低每个页面PG的重写次数,从而延长主存储器12的寿命。
[当没有主要管理信息被更新时的数据写入处理的说明]
另外,如果从图8中图解所示的状态起,CPU21进一步指令主存储器管理控制部分22指定虚拟页号VPPA0,并写入数据,那么当没有主要管理信息被更新时,开始数据写入处理。
下面,参考图9的流程图和图10,说明当信息处理系统不更新主要管理信息时的数据写入处理。
在步骤S41,数据处理部件101把从CPU21供给的数据,写入利用由CPU21指定的虚拟页号VPPA0指定的页面PG。例如,在图8中图解所示的状态下,物理页号PPA2被保存在与虚拟页号VPPA0对应的物理页号存储部分FA-0中。于是,数据处理部件101把数据写入利用物理页号PPA2指定的页面PG-2中。
在步骤S42,重写次数管理部件105通过递增已被写入数据的物理页号PPA2的页面PG-2的重写次数,更新重写次数。即,重写次数管理部件105把保存在与页面PG-2对应的次数信息存储部分NU-2中的重写次数加1。
按照上述数据写入和重写次数递增,数据存储部分32和重写次数存储部分62的状态从图8中图解所示的状态变成图10中图解所示的状态。在图10中,进行从图8中图解所示的状态起,保存在页面PG-2中的数据的更新,从而使按照所述更新,保存在次数信息存储部分NU-2中的重写次数加1,从“1”变成“2”。
另外,在这种情况下,由于主要管理信息不被重写,因此其中保存主要管理信息的页面PG-0和PG-1的重写次数不被更新。
如果数据被写入指定的虚拟页号的页面PG,并且页面PG的重写次数被更新,那么当主要管理信息未被更新时,结束数据写入处理。
从而,如果指定了虚拟页号,并且发出了写入数据的指令,那么信息处理系统把数据写入利用虚拟页号指定的页面PG,并递增重写次数。此时,当主要管理信息未被重写时,维持而不更新其中保存主要管理信息的页面PG的重写次数。
[当重写次数达到阈值时的数据写入处理的说明]
此外,假定从图10中图解所示的状态起,数据被频繁地写入页面PG-2中,并且页面PG-2的重写次数达到阈值th。
这种情况下,使数据存储部分32和重写次数存储部分62的状态从图10中图解所示的状态变成图11中图解所示的状态。在图11中,保存在次数信息存储部分NU-2中的重写次数是与保存在阈值存储部分73中的阈值th相同的数值“100000”。
如果当利用虚拟页号VPPA0指定的页面PG-2的重写次数已达到阈值th时,进一步指定相同的虚拟页号VPPA0,并且发出数据的写入指令,那么开始当重写次数达到阈值时的数据写入处理。
下面,将参考图12的流程图和图13,说明当重写次数达到阈值时,信息处理系统的数据写入处理。
在步骤S71,数据处理部件101把从CPU21供给的数据写入利用保存在空物理页号存储部分72中的物理页号PPA3指定的空页面,即,页面PG-3。
例如,当在图11中图解所示的状态下,CPU21指定虚拟页号VPPA0,并发出数据写入指令时,数据处理部件101参照与逻辑-物理转换信息存储部分71的虚拟页号VPPA0对应的物理页号存储部分FA-0。
在图11中,可以看出已发出把数据写入利用数据存储部分32的物理页号PPA2指定的页面PG-2的指令,因为物理页号PPA2已被保存在物理页号存储部分FA-0中。
随后,数据处理部件101比较保存在作为图11中的数据的写入目的地的页面PG-2的次数信息存储部分NU-2中的重写次数“100000”,和保存在阈值存储部分73中的阈值th的值“100000”。由于重写次数和阈值th之间的比较结果指出页面PG-2的重写次数达到阈值th,因此难以把数据写入页面PG-2。
于是,数据处理部件101把从CPU21供给的数据保存在空页面,而不是页面PG-2中。即,数据处理部件101参考空物理页号存储部分72,把从CPU21供给的数据写入利用保存在空物理页号存储部分72中的物理页号PPA3指定的页面PG-3。
实现从如图11中图解所示的在物理页号PPA3的页面PG-3中未保存数据的状态,到如图13中图解所示的数据已被保存在物理页号PPA3的页面PG-3的状态的转变。在图13中,在页面PG-3中记载了文字“(未擦除)”,从而页面PG-3处于已被写入数据的状态。
在步骤S72,重写次数管理部件105递增具有数据已被写入其中的物理页号的页面PG-3的重写次数。即,重写次数管理部件105把保存在与页面PG-3对应的次数信息存储部分NU-3中的重写次数加1。
从而,使保存在次数信息存储部分NU-3中的页面PG-3的重写次数从图11中图解所示的状态,即,重写次数“0”变成图13中图解所示的状态,即,重写次数“1”。
从而,如果数据被写入空页面,并且该页面的重写次数被更新,那么虚拟页号(虚拟页面地址)被分配给数据已被写入的页面。
即,在步骤S73,转换信息管理部件102把虚拟页号分配给数据已被写入的页面。
例如,在步骤S71,发出把数据写入虚拟页号VPPA0的指令。顺便提及,由于当前难以把数据写入利用虚拟页号VPPA0指定的页面PG-2,因此指定的数据被写入作为空页面的页面PG-3。于是,必须改变虚拟页号VPPA0的分配,以致虚拟页号VPPA0被分配给数据已被写入的页面PG-3。
于是,转换信息管理部件102把由CPU21指定的虚拟页号VPPA0作为数据写入目的地,分配给数据已被实际写入的页面PG-3。
具体地说,转换信息管理部件102通过把页面PG-3的物理页号PPA3写入与虚拟页号VPPA0对应的物理页号存储部分FA-0内,改变虚拟页号VPPA0的分配。
从而,使保存在与虚拟页号VPPA0对应的物理页号存储部分FA-0中的物理页号从图11中图解所示的状态变成图13中图解所示的状态。即,使保存在物理页号存储部分FA-0中的物理页号从物理页号PPA2变成物理页号PPA3。
在步骤S74,空页面搜索部分103搜索新的空页面,并更新保存在空物理页号存储部分72中的物理页号。在步骤S74,进行和图7的步骤S14相同的处理。
具体地,空页面搜索部分103通过把保存在空物理页号存储部分72中的物理页号加1,搜索新的空页面。例如,由于在图11中图解所示的状态下,物理页号PPA3被保存在空物理页号存储部分72中,因此空页面搜索部分103把物理页号PPA3加1,从而如图13中图解所示地设定物理页号PPA4。
在图13中,递增后的物理页号PPA4未被保存在逻辑-物理转换信息存储部分71的每个物理页号存储部分FA中。另外,主要管理信息的存储位置是物理页号PPA0和PPA1的页面PG,在物理页号PPA4中未保存主要管理信息。即,物理页号PPA4是其中未保存有效数据的空页面。
于是,空页面搜索部分103停止物理页号的递增,把其中未分配任何数据的物理页号PPA4设定成保存在空物理页号存储部分72中的物理页号。
返回图12的流程图的说明,由于按照步骤S73和S74的处理,充当主要管理信息存储部分61的页面PG的数据已被更新,因此页面PG的重写次数被更新。
即,在步骤S75,重写次数管理部件105把其中保存主要管理信息的利用物理页号PPA0和PPA1指定的页面PG-0和PG-1的重写次数加1。
从而,保存在次数信息存储部分NU-0和NU-1中的重写次数被加1,从而从图11中图解所示的状态的重写次数“2”更新到如图13中图解所示的重写次数“3”。
如果主要管理信息的存储目的地的页面PG的重写次数被更新,那么当重写次数达到阈值时,结束数据写入处理。此时,使数据存储部分32、重写次数存储部分62和主要管理信息存储部分61的状态从图11中图解所示的状态变成图13中图解所示的状态。
在图13的例子中,数据被写入物理页号PPA3的页面PG-3,虚拟页号VPPA0被分配给页面PG-3。另外,新的空页面的物理页号PPA4被保存在空物理页号存储部分72中,保存在其中数据已被写入或更新的页面PG的次数信息存储部分NU-0、NU、1和NU-3中的重写次数被递增。
另外,在图13中,在逻辑-物理转换信息存储部分71的各个物理页号存储部分FA中,未保存物理页号PPA2,并且在物理页号PPA2的页面PG-2中,未保存主要管理信息。于是,在图13中图解所示的状态下,页面PG-2是其中未保存有效数据的空页面。
如上所述,如果数据已被写入预定页面PG,那么当页面PG的重写次数达到阈值th时,信息处理系统把数据写入其中未保存有效数据,并且重写次数未达到阈值th的空页面。于是,信息处理系统按照数据的写入,改变虚拟页号的分配。
如上所述,当页面PG的重写次数达到阈值th时,通过把数据写入另一个页面PG,能够平均每个页面PG的重写次数,从而改善具有重写次数上限的非易失性主存储器12的利用效率。于是,能够延长主存储器12的寿命,从而延长利用主存储器12的信息处理系统的寿命。
[当数据存储位置和空页面的重写次数都已达到阈值时的数据写入处理的说明]
另外,假定从图13中图解所示的状态起,把数据写入每个页面PG,随后,数据被频繁写入页面PG-3,并且页面PG-3的重写次数达到阈值th。
这种情况下,使数据存储部分32、重写次数存储部分62和主要管理信息存储部分61的状态改变成图4中图解所示的状态。
在图14中,物理页号PPA7和物理页号PPA3-PPA6被保存在逻辑-物理转换信息存储部分71的物理页号存储部分FA-0~FA-4中。即,所有的虚拟页号VPPA0-VPPA4都已被分配给页面PG。
换句话说,达到其中在所有页面PG之中,充当空页面的页面PG仅仅是保存在空物理页号存储部分72中的物理页号的页面PG的状态。
另外,具有虚拟页号VPPA1被分配给的物理页号PPA3的页面PG-3的重写次数,即,保存在次数信息存储部分NU-3中的重写次数是和保存在阈值存储部分73中的阈值th相同的数值“100000”。
同样地,具有保存在空物理页号存储部分72中的物理页号PPA2的页面PG-2的重写次数,即,保存在次数信息存储部分NU-2中的重写次数是和保存在阈值存储部分73中的阈值th相同的数值。
在上述状态下,指定虚拟页号VPPA1,并发出数据写入指令。即,假定在所有虚拟页号都已被分配的状态下,发出数据写入指令,不存在充当空页面的其它页面PG,并且数据存储目的地和空页面,即,页面PG-3和PG-2的重写次数都达到阈值th。
这种情况下,在信息处理系统中,当数据存储位置和空页面的重写次数都已达到阈值时,进行数据写入处理。
下面参考图15的流程图及图16和17,说明当数据存储位置和空页面的重写次数都已达到阈值时,信息处理系统中的数据写入处理。
在步骤S101,数据处理部件101通过参考重写次数存储部分62的次数信息存储部分NU,搜索重写次数最小的页面PG。
例如,当在图14中图解所示的状态下,CPU21指定虚拟页号VPPA1,并发出数据写入指令时,数据处理部件101参考与逻辑-物理转换信息存储部分71的虚拟页号VPPA-1对应的物理页号存储部分FA-1。
在图14中,可以看出已发出把数据写入利用数据存储部分32的物理页号PPA3指定的页面PG-3的指令,因为物理页号PPA3已被保存在物理页号存储部分FA-1中。
随后,数据处理部件101比较保存在图14中,作为数据的写入目的地的页面PG-3的次数信息存储部分NU-3中的重写次数“100000”,和保存在阈值存储部分73中的阈值th的值“100000”。由于重写次数和阈值th之间的比较结果指出页面PG-3的重写次数达到阈值th,因此难以把数据写入页面PG-3。
于是,数据处理部件101参考空物理页号存储部分72,并指定与保存在空物理页号存储部分72中的物理页号PPA2对应的页面PG-2。于是,数据处理部件101比较保存在页面PG-2的次数信息存储部分NU-2中的重写次数“100000”,和保存在阈值存储部分73中的阈值th的值“100000”。由于重写次数和阈值th之间的比较结果指出页面PG-2的重写次数达到阈值th,因此难以把数据写入页面PG-2。
此外,达到其中有效数据也已被保存在除页面PG-2和PG-3外的所有其它页面中的状态。
如上所述,当难以把数据写入作为空页面确保的页面PG-2,以及与指定的虚拟页号VPPA1对应的页面PG-3时,搜索充当新的空页面的可写入数据的页面PG。
即,数据处理部件101参考重写次数存储部分62的次数信息存储部分NU,从所有页面PG之中,搜索作为新的空页面的次数最小的页面PG。
另外更详细地说,充当新的空页面的页面PG的重写次数必须小于阈值th。另外,即使充当新的空页面的页面PG的重写次数小于阈值th,该页面PG可能也不是重写次数最小的页面PG。
在图14的例子中,具有保存在次数信息存储部分NU中的最小重写次数的页面是重写次数为“1”的页面PG-4~PG-7。例如,数据处理部件101从页面PG中,选择具有最小的物理页号的页面PG-4,作为充当新的空页面的页面PG。页面PG-4的重写次数小于阈值th,从而数据可写入其中。
在步骤S102,数据处理部件101把保存在利用通过搜索获得的物理页号PPA4指定的页面PG-4中的数据复制(移动)到当前作为空页面确保的页面PG-2。
从而,通过把页面PG-4的数据复制到目前作为空页面的页面PG-2,重写次数最小的页面PG-4被设定成可用作新的空页面。
在步骤S103,重写次数管理部件105递增数据被写入(复制)到的具有物理页号PPA2的页面PG-2的重写次数。即,重写次数管理部件105把保存在对应于页面PG-2的次数信息存储部分NU-2中的重写次数加1。
从而,使保存在次数信息存储部分NU-2中的页面PG-2的重写次数从图14中图解所示的状态,即,重写次数“100000”变成图16中图解所示的状态,即,重写次数“100001”。
从而,当充当空页面的页面PG的数据现在被复制到该空页面,并且复制目的地的页面PG的重写次数被更新时,把数据的复制源的虚拟页号分配给复制目的地的页面PG。
即,在步骤S104,转换信息管理部件102改变对于数据被复制到的页面PG的虚拟页号的分配。
例如,在图14的例子中,虚拟页号VPPA2被分配给的页面PG-4的数据被复制到目前作为空页面的页面PG-2,以便把页面PG-4设定成空页面。于是,必须按照数据的复制,把虚拟页号VPPA2的分配目的地从当前页面PG-4改变成页面PG-2。
于是,转换信息管理部件102把页面PG-2的物理页号PPA2写入与虚拟页号VPPA2对应的物理页号存储部分FA-2中。
从而,使保存在对应于虚拟页号VPPA2的物理页号存储部分FA-2中的物理页号从图14中图解所示的状态变成图16中图解所示的状态。即,使保存在物理页号存储部分FA-2中的物理页号从物理页号PPA4变成物理页号PPA2。结果,使虚拟页号VPPA2的分配目的地从当前页面PG-4变成页面PG-2。
在步骤S105,空页面搜索部分103把保存在空物理页号存储部分72中的物理页号改变成充当新的空页面的页面PG的物理页号。
从而,保存在空物理页号存储部分72中的物理页号从图14中图解说明的状态被重写为图16中图解所示的状态。即,使保存在空物理页号存储部分72中的物理页号从物理页号PPA2变成物理页号PPA4。
在步骤S106,重写次数管理部件105把利用物理页号PPA0和PPA1指定的其中保存主要管理信息的页面PG-0和PG-1的重写次数加1。
从而,使保存在次数信息存储部分NU-0和NU-1中的重写次数加1,从图14中图解所示的状态的重写次数“7”变成如图16中图解所示的重写次数“8”。
按照步骤S101-S106的上述处理,使数据存储部分32、重写次数存储部分62和主要管理信息存储部分61的状态从图14中图解所示的状态变成图16中图解所示的状态。
在图16的例子中,保存在物理页号PPA4的页面PG-4中的数据被复制到物理页号PPA2的页面PG-2,从而使虚拟页面VPPA2的分配目的地从页面PG-4变成页面PG-2。
另外,新的空页面的物理页号PPA4被保存在空物理页号存储部分72中,保存在其中数据被写入或更新的页面PG的次数信息存储部分NU-0、NU-1和NU-2中的重写次数被递增。
由于按照上述处理,具有小于阈值th的重写次数的页面PG-4能够被确保为新的空页面,因此,CPU21的写入指令的数据被写入页面PG-4。
即,在步骤S107,数据处理部件101把从CPU21供给的数据写入由保存在空物理页号存储部分72中的物理页号PPA4指定的空页,即,页面PG-4。
CPU21的写入指令的数据最初应被写入与指定的虚拟页号VPPA1对应的页面PG-3。不过,由于如上所述,页面PG-3的重写次数已达到阈值th,因此数据被写入新近确保为空页面的页面PG4中。
在步骤S108,重写次数管理部件105递增数据已被写入的具有物理页号PPA4的页面PG-4的重写次数。即,重写次数管理部件105把保存在与页面PG-4对应的次数信息存储部分NU-4中的重写次数加1。
从而,保存在次数信息存储部分NU-4中的页PG-4的重写次数从图16中所示的状态,即,重写次数“1”被改变成图17中所示的状态,即,重写次数“2”。
从而,如果数据被写入该空页面,并且该页面的重写次数被更新,那么向数据已被写入其中的页面分配虚拟页号。
即,在步骤S109,转换信息管理部件102把虚拟页号分配给数据已被写入的页面中。
例如,由于在步骤S107,已把作为写入目的地,为其指定了虚拟页号VPPA1的数据保存在作为空页面的页面PG-4中,因此转换信息管理部件102把虚拟页号VPPA1的分配目的地改变成页面PG-4。
具体地,转换信息管理部件102通过把页面PG-4的物理页号PPA4写入对应于虚拟页号VPPA1的物理页号存储部分FA-1中,把虚拟页号VPPA1的分配目的地从页面PG-3改变成页面PG-4。
从而,使保存在对应于虚拟页号VPPA1的物理页号存储部分FA-1中的物理页号从图16中图解所示的状态变成图17中图解所示的状态。即,使保存在物理页号存储部分FA-1中的物理页号从物理页号PPA3变成物理页号PPA4。
从而,当数据被写入空页面时,空页面搜索部分103搜索新的空页面。
即,在步骤S110,空页面搜索部分103搜索新的空页面,并更新保存在空物理页号存储部分72中的物理页号。在步骤S110,进行和图7的步骤S14相同的处理。
具体地说,空页面搜索部分103通过把保存在空物理页号存储部分72中的物理页号加1,搜索新的空页面。例如,由于在图16中图解所示的状态下,物理页号PPA4被保存在空物理页号存储部分72中,因此空页面搜索部分103递增物理页号PPA4,并如图17中图解所示地设定物理页号PPA3。
在这个例子中,当物理页号为PPA7时,由于在物理页号PPA5-PPA7的页面PG中保存有有效数据,因此进一步进行递增,从而设定物理页号PPA0。另外,由于在物理页号PPA0-PPA2中也保存有有效数据,因此物理页号被设定成进一步递增到PPA3。
此时,由于在物理页号PPA3中未保存有效数据,即,未向物理页号PPA3分配虚拟页号,并且其中没有保存主要管理信息,因此物理页号PPA3是新的空页面。
返回图15的流程图的说明,页面PG的重写次数被更新,因为按照步骤S109和S110的处理,充当主要管理信息存储部分61的页面PG的数据已被更新。
即,在步骤S111,重写次数管理部件105把其中保存主要管理信息的利用物理页号PPA0和PPA1指定的页面PG-0和PG-1的重写次数加1。
从而,保存在次数信息存储部分NU-0和NU-1中的重写次数被加1,从而从在图16中图解所示的状态下的重写次数“8”被更新为如图17中图解所示的重写次数“9”。
如果主要管理信息的存储目的地的页面PG的重写次数被更新,那么当数据存储位置和空页面的重写次数都已达到阈值时,结束数据写入处理。此时,使数据存储部分32、重写次数存储部分62和主要管理信息存储部分61的状态从图16中图解所示的状态变成图17中图解所示的状态。
在图17的例子中,数据被写入物理页号PPA4的页面PG-4中,虚拟页号VPPA1被分配给页面PG-4。另外,新的空页面的物理页号PPA3被保存在空物理页号存储部分72中,保存在其中已写入或更新数据的各个页面的次数信息存储部分NU-0、NU-1和NU-4中的重写次数被递增。
如上所述,当在所有虚拟页号都已被分配的状态下,已把数据写入预定页面PG时,那么在页面PG的重写次数和空页面的重写次数都已达到阈值th的情况下,信息处理系统确保新的空页面。于是,信息处理系统把数据写入新近确保的空页面中。
如上所述,当数据被写入的页面PG和空页面的重写次数都达到阈值th时,通过把重写次数最小的页面PG设定为新的空页面,能够平均每个页面PG的重写次数。从而,能够改善具有重写次数上限的非易失性主存储器12的利用效率,从而延长主存储器12的寿命。另外,结果还能够延长利用主存储器12的信息处理系统的寿命。
[阈值更新处理的说明]
此外,从图17中图解所示的状态起,把数据写入各个页面PG,所有页面PG的重写次数都达到阈值th,数据存储部分32、重写次数存储部分62和主要管理信息存储部分61的状态变成图18中图解所示的那些状态。
在图18中,保存在重写次数存储部分62的次数信息存储部分NU中的每个页面PG的重写次数变成大于或等于保存在阈值存储部分73中的阈值th的值。
当如上所述,所有页面PG的重写次数都达到阈值th时,信息处理系统进行根据保存在上限存储部分74中的主存储器12的重写次数的上限MX,计算新阈值的阈值更新处理。下面参考图19的流程图和图20,说明信息处理系统的阈值更新处理。
在步骤S141,阈值更新部件104根据保存在上限存储部分74中的上限MX,和保存在阈值存储部分73中的当前阈值th,计算新阈值th。
例如,阈值更新部件104通过把上限MX乘以预定常数A,然后相加从乘法结果获得的值和当前阈值th,计算新阈值th。这里,由于阈值th被递增与上限MX的10%对应的值,因此常数A的值为1/10。
于是,由于在图18的例子中,上限MX为“1000000”,当前阈值th为“100000”,(MX×A)+th=1000000×0.1+100000=200000,因此算出新阈值th的值“200000”。
在步骤S142,通过把利用阈值更新部件104计算的新阈值th保存在阈值存储部分73中,更新阈值th,然后结束阈值更新处理。
例如,当在图18中图解所示的状态下算出新阈值th的值“200000”时,使保存在阈值存储部分73中的值从图18中的情况的值“100000”变成如图20中图解所示的“200000”。
当阈值th被更新时,那么在所有页面PG的重写次数达到更新的新阈值th以前,利用新阈值th,并进行上述各个处理。于是,当每个页面PG的写入次数达到阈值th时,进行阈值更新处理,从而进一步更新阈值。
从而,当每个页面PG的重写次数大于或等于阈值th时,信息处理系统根据重写次数的上限MX,和当前阈值th,计算新阈值th,并更新阈值th。通过如上所述更新阈值th,能够平均各个页面PG的重写次数,从而改善主存储器12的利用效率。从而,能够延长主存储器12或者信息处理系统的寿命。
另外,尽管上面说明了其中按对应于上限MX的10%的值,递增阈值th的例子,不过,可以用任何方法指定阈值th。例如,初始阈值th的值可以是上限MX的50%的值,从而可按照第一阈值th的更新,把阈值th设定成上限MX的值。在这种情况下,由于按照第一阈值的更新,把阈值th设定成上限MX,因此阈值th只被更新一次。
另外,虽然上面说明了其中以页面为单位,管理数据存储部分32的各个区域的例子,不过,可以为具有不同大小的各个区域,保持和管理重写次数。
<第一实施例的变形例1>
[信息处理系统的结构]
另外,虽然上面说明了其中在主存储器12内,设置保存程序的程序存储部分31的情况,不过,将由CPU21执行的程序的存储位置可以是任何位置,并不局限于在主存储器12内。
例如,当程序被保存在不同于主存储器12的另一个存储器中时,如图21中所示地构成信息处理系统。另外,图21的对应于图1的部分被赋予相同的附图标记,并适当地省略其说明。
图21中图解说明的信息处理系统包括控制部分11、主存储器12、总线13和程序存储部分201。控制部分11、主存储器12和程序存储部分201由总线13相互连接。
在该信息处理系统中,不设置程序存储区,在具有重写次数上限的非易失性主存储器12中,只设置数据存储部分32。于是,管理信息存储部分41被设置在数据存储部分32中。
另外,连接到总线13的程序存储部分201是非易失性存储器,将由CPU21执行的程序被保存在程序存储部分201中。
在控制部分11中,设置CPU21、主存储器管理控制部分22和非易失性存储器管理控制部分211,非易失性存储器管理控制部分211访问程序存储部分201。即,非易失性存储器管理控制部分211从程序存储部分201读取程序,CPU21执行由非易失性存储器管理控制部分211读取的程序。
<第一实施例的变形例2>
[信息处理系统的结构]
另外,在信息处理系统中,管理信息可被保存在不同于主存储器12的存储器中。在这种情况下,如图22中图解所示地构成信息处理系统。另外,图22的对应于图21的各个部分被赋予相同的附图标记,并适当地省略其说明。
图22中图解所示的信息处理系统包括控制部分11、主存储器12、总线13和非易失性存储器241。控制部分11、主存储器12和非易失性存储器241由总线13相互连接。
在该信息处理系统中,不设置程序存储区,在具有重写次数上限的非易失性主存储器12中,只设置数据存储部分32。于是,在数据存储部分32中,不保存主存储器12的管理信息,只保存当CPU21执行各种处理时,要被访问的数据。于是,在数据存储部分32的各个页面PG中,不保存管理信息。
另外,连接到总线13的非易失性存储器241是其中重写次数不受限制的非易失性存储器,在非易失性存储器241中设置管理信息存储部分251和程序存储部分252。
在管理信息存储部分251中,保存包括上述主要管理信息,和数据存储部分32的每个页面PG的重写次数的主存储器12的管理信息。另外,将由CPU21执行的程序被保存在程序存储部分252中。
在控制部分11中,设置CPU21、主存储器管理控制部分22和非易失性存储器管理控制部分211。在控制部分11中,主存储器管理控制部分22访问主存储器12,非易失性存储器管理控制部分211访问非易失性存储器241。
通过访问非易失性存储器241的管理信息存储部分251,非易失性存储器管理控制部分211参考或者更新管理信息,并读取保存在程序存储部分252中的程序。
在这种信息处理系统中,由于非易失性存储器管理控制部分211访问保存在管理信息存储部分251中的管理信息,因此在非易失性存储器管理控制部分211中,提供图15的转换信息管理部件102到重写次数管理部件105的功能。
另外,在本例中,由于管理信息被保存在重写次数不受限制的非易失性存储器241中,因此其重写次数被平均的对象变成只有包含在主存储器12的数据存储部分32中的各个页面PG。
另外,虽然在图22的例子中,说明了其中在管理信息存储部分251中保存管理信息的例子,不过可以只把管理信息之中的主要管理信息保存在管理信息存储部分251中,充当管理信息的重写次数可被保存在数据存储部分32中。在这种情况下,主要管理信息存储部分61被设置在管理信息存储部分251中,而重写次数存储部分62被设置在数据存储部分32中。
<第一实施例的变形例3>
[信息处理系统的结构]
此外,在信息处理系统中,由CPU21执行的程序可被保存在控制部分11中。在这种情况下,如图23中图解所示地构成信息处理系统。另外,图23的对应于图1的部分被赋予相同的附图标记,并适当地省略其说明。
在图23的信息处理系统中,在控制部分11内,设置保存将由CPU21执行的程序的程序存储部分281。于是,通过访问程序存储部分281,CPU21直接执行所述程序。
另外,在主存储器12中,不设置用于保存程序的区域,只设置数据存储部分32。于是,其中保存管理信息的管理信息存储部分41被设置在数据存储部分32中。
<第二实施例>
[主存储器的结构]
此外,虽然上面说明了其中设置主存储器12,和进行主存储器12的管理等的控制部分11的信息处理系统,不过,可以提供管理主存储器的结构,或者进行数据访问等的结构。
在这种情况下,例如,如图24中图解所示地构成主存储器。另外,图24的与图1对应的部分被赋予相同的附图标记,并适当省略其说明。
图24的主存储器301包括CPU21、存储器管理控制部分311、总线13和存储器部分312。CPU21、存储器管理控制部分311和存储器部分312由总线13互连。
存储器部分312是具有重写次数上限的非易失性存储器,在存储器部分312中,设置程序存储部分31和数据存储部分32。另外,在数据存储部分32中,还设置管理信息存储部分41。
存储器管理控制部分311对应于图1的主存储器管理控制部分22,通过总线13访问存储器部分312的程序存储部分31或数据存储部分32,并且必要时,向CPU21供给从存储器部分312读取的数据等。即,在存储器管理控制部分311中,设置与图5的数据处理部件101到重写次数管理部件105相同的结构。
CPU21通过总线13,从存储器管理控制部分311接收数据或程序的供给,并且必要时,指令存储器管理控制部分311写入或者读取存储器部分312。
上述一系列的处理可用硬件执行,不过也可用软件执行。当用软件执行所述一系列的处理时,构成所述软件的程序被安装到计算机中。这里,表述“计算机”包括其中并入专用硬件的计算机,和当安装各种程序时,能够实现各种功能的通用个人计算机等。
图25是表示利用程序,进行上述一系列的处理的计算机的硬件结构例子的方框图。
在计算机中,CPU501、只读存储器(ROM)502和随机存取存储器(RAM)503通过总线504相互连接。
输入/输出接口505也连接到总线504。输入部分506、输出部分507、存储部分508、通信部分509和驱动器510连接到输入/输出接口505。
输入部分506由键盘、鼠标、麦克风等构成。输出部分507由显示器、扬声器等构成。存储部分508由硬盘、非易失性存储器等构成。通信部分509由网络接口等构成。驱动器510驱动可拆卸介质511,比如磁盘、光盘、磁光盘、半导体存储器等。
在如上所述构成的计算机中,作为一个例子,CPU501把保存在存储部分508中的程序,经输入/输出接口505和总线5104,载入RAM503中,以便实现图1中的主存储器管理控制部分22等,并执行该程序,以实现前面说明的一系列处理。
将由计算机(CPU501)执行的程序是通过保存在作为套装介质等的可拆卸介质511中提供的。另外,可通过有线或无线传输介质,比如局域网、因特网或数字卫星广播,提供程序。
在计算机中,通过把可拆卸介质511装入驱动器510中,能够通过输入/输出接口505,把程序安装到存储部分508中。还能够利用通信部分509,从有线或无线传输介质接收程序,并把程序安装到存储部分508中。作为另一种备选方案,程序可被预先安装在ROM502或者存储部分508中。
应注意计算机执行的程序可以是按照与在本说明书中说明的顺序相应的时序处理的程序,或者并行地或者地必要的时刻(比如当调用时)处理的程序。
本技术的实施例并不局限于上述实施例。本领域的技术人员应明白,根据设计要求和其它因素,可以产生各种修改、组合、子组合和变更,只要它们在所附的权利要求或其等同物的范围之内。
例如,本公开可以采用通过经由网络,利用多个设备分担和结合一种功能,进行处理的云计算结构。
此外,利用上述流程图说明的各个步骤可由一个设备执行,或者可由多个设备分担地执行。
另外,在多个处理包含在一个步骤中的情况下,包含在所述一个步骤中的多个处理可由一个设备执行,或者可由多个设备分担地执行。
另外,还可如下构成本技术。
(1)一种信息处理设备,包括:
重写次数管理部件,所述重写次数管理部件被配置成管理包含在具有重写次数上限的非易失性主存储设备中的页面的重写次数;和
数据处理部件,所述数据处理部件被配置成当发出把写入数据写入预定页面的指令,并且所述预定页面的重写次数达到比主存储设备的重写次数的上限小的阈值时,把所述写入数据写入不同于所述预定页面的另一个页面,所述另一个页面未保存有效数据,并且具有未达到所述阈值的重写次数。
(2)按照(1)所述的信息处理设备,还包括:
阈值更新部件,所述阈值更新部件被配置成当页面的重写次数大于或等于所述阈值时,计算大于所述阈值,并且小于或等于所述上限的新阈值,并更新所述阈值。
(3)按照(2)所述的信息处理设备,其中所述阈值更新部件通过相加对于所述上限指定的固定值和所述阈值,计算新阈值。
(4)按照(1)-(3)任意之一所述的信息处理设备,其中当发出把写入数据写入所述预定页面的指令,并且所述预定页面的重写次数和未保存有效数据的所述页面的重写次数达到阈值时,数据处理部件从保存有效数据的页面中,搜索具有未达到所述阈值的重写次数的页面,并把保存在搜索到的页面中的数据移动到未保存有效数据的页面。
(5)按照(4)所述的信息处理设备,其中在移动搜索到的页面的数据之后,数据处理部件把写入数据写入所述搜索到的页面中。
(6)按照(1)-(5)任意之一所述的信息处理设备,其中页面的重写次数被保存在主存储设备中。
(7)按照(6)所述的信息处理设备,其中页面的重写次数被保存在为该页面唯一指定的位置中,或者保存在根据页面位置,利用计算操作获得的位置中。
(8)按照(1)-(7)任意之一所述的信息处理设备,还包括:
转换信息管理部件,所述转换信息管理部件被配置成向页面分配虚拟页号,并管理指示页面的虚拟页号和物理页号之间的对应性的逻辑-物理转换信息。
(9)按照(8)所述的信息处理设备,其中当预定虚拟页号被分配给所述预定页面,并且所述预定虚拟页号已被指定为其写入目的地的写入数据被写入另一个页面时,转换信息管理部件把预定虚拟页号的分配从所述预定页面改变到所述另一个页面。
(10)按照(8)或(9)所述的信息处理设备,其中页面的重写次数被保存在与逻辑-物理转换信息不同的区域中。
(11)按照(10)所述的信息处理设备,其中逻辑-物理转换信息和/或阈值被保存在页面中。
本公开包含与在2012年6月7日向日本专利局提交的日本优先权专利申请JP2012-129671中公开的主题相关的主题,该专利申请的整个内容在此引为参考。

Claims (13)

1.一种信息处理设备,包括:
重写次数管理部件,所述重写次数管理部件被配置成管理包含在具有重写次数上限的非易失性主存储设备中的页面的重写次数;和
数据处理部件,所述数据处理部件被配置成当发出把写入数据写入预定页面的指令,并且所述预定页面的重写次数达到比主存储设备的重写次数的上限小的阈值时,把所述写入数据写入不同于所述预定页面的另一个页面,所述另一个页面未保存有效数据,并且具有未达到所述阈值的重写次数。
2.按照权利要求1所述的信息处理设备,还包括:
阈值更新部件,所述阈值更新部件被配置成当所有页面的重写次数大于或等于所述阈值时,计算大于所述阈值并且小于或等于所述上限的新阈值,并更新所述阈值。
3.按照权利要求2所述的信息处理设备,其中所述阈值更新部件通过相加对于所述上限指定的固定值和所述阈值,计算新阈值。
4.按照权利要求1所述的信息处理设备,其中当发出把写入数据写入所述预定页面的指令,并且所述预定页面的重写次数和未保存有效数据的页面的重写次数达到阈值时,数据处理部件从保存有效数据的页面中,搜索重写次数未达到所述阈值的页面,并把保存在所搜索到的页面中的数据移动到未保存有效数据的页面。
5.按照权利要求4所述的信息处理设备,其中在移动所搜索到的页面的数据之后,数据处理部件把写入数据写入所搜索到的页面中。
6.按照权利要求5所述的信息处理设备,其中页面的重写次数被保存在主存储设备中。
7.按照权利要求6所述的信息处理设备,其中页面的重写次数被保存在为所述页面唯一指定的位置中,或者保存在根据页面位置利用计算操作获得的位置中。
8.按照权利要求1所述的信息处理设备,还包括:
转换信息管理部件,所述转换信息管理部件被配置成向页面分配虚拟页号,并管理指示页面的虚拟页号与物理页号之间的对应性的逻辑-物理转换信息。
9.按照权利要求8所述的信息处理设备,其中当预定虚拟页号被分配给所述预定页面,并且所述预定虚拟页号已被指定为写入目的地的写入数据被写入其他页面时,转换信息管理部件把所述预定虚拟页号的分配从所述预定页面改变到所述其他页面。
10.按照权利要求9所述的信息处理设备,其中页面的重写次数被保存在与所述逻辑-物理转换信息的区域不同的区域中。
11.按照权利要求10所述的信息处理设备,其中所述逻辑-物理转换信息和所述阈值中的至少一个被保存在页面中。
12.一种信息处理方法,包括:
管理包含在具有重写次数上限的非易失性主存储设备中的页面的重写次数;和
当发出把写入数据写入预定页面的指令,并且所述预定页面的重写次数达到比主存储设备的重写次数的上限小的阈值时,把所述写入数据写入不同于所述预定页面的另一个页面,所述另一个页面未保存有效数据,并且具有未达到所述阈值的重写次数。
13.一种程序,所述程序使计算机执行以下步骤:
管理包含在具有重写次数上限的非易失性主存储设备中的页面的重写次数;
和当发出把写入数据写入预定页面的指令,并且所述预定页面的重写次数达到比主存储设备的重写次数的上限小的阈值时,把所述写入数据写入不同于所述预定页面的另一个页面,所述另一个页面未保存有效数据,并且具有未达到所述阈值的重写次数。
CN201310211574.9A 2012-06-07 2013-05-31 信息处理设备、方法和程序 Pending CN103489482A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-129671 2012-06-07
JP2012129671A JP2013254357A (ja) 2012-06-07 2012-06-07 情報処理装置および方法、並びにプログラム

Publications (1)

Publication Number Publication Date
CN103489482A true CN103489482A (zh) 2014-01-01

Family

ID=49716221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310211574.9A Pending CN103489482A (zh) 2012-06-07 2013-05-31 信息处理设备、方法和程序

Country Status (3)

Country Link
US (1) US9146859B2 (zh)
JP (1) JP2013254357A (zh)
CN (1) CN103489482A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110392885A (zh) * 2017-04-07 2019-10-29 松下知识产权经营株式会社 增大了使用次数的非易失性存储器

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11307986B1 (en) * 2021-06-10 2022-04-19 The Florida International University Board Of Trustees Machine learning based tiered memory systems and methods

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
US7035967B2 (en) * 2002-10-28 2006-04-25 Sandisk Corporation Maintaining an average erase count in a non-volatile storage system
JP2007331356A (ja) * 2006-06-19 2007-12-27 Ricoh Co Ltd 画像形成装置
US7876616B2 (en) * 2007-11-12 2011-01-25 Cadence Design Systems, Inc. System and method for wear leveling utilizing a relative wear counter
US8122179B2 (en) * 2007-12-14 2012-02-21 Silicon Motion, Inc. Memory apparatus and method of evenly using the blocks of a flash memory
US8275928B2 (en) * 2008-05-15 2012-09-25 Silicon Motion, Inc. Memory module and method for performing wear-leveling of memory module using remapping, link, and spare area tables
KR20100091544A (ko) 2009-02-10 2010-08-19 삼성전자주식회사 메모리 시스템 및 그 마모도 관리 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110392885A (zh) * 2017-04-07 2019-10-29 松下知识产权经营株式会社 增大了使用次数的非易失性存储器
CN110392885B (zh) * 2017-04-07 2023-08-04 松下知识产权经营株式会社 增大了使用次数的非易失性存储器

Also Published As

Publication number Publication date
JP2013254357A (ja) 2013-12-19
US9146859B2 (en) 2015-09-29
US20130332661A1 (en) 2013-12-12

Similar Documents

Publication Publication Date Title
CN102096639B (zh) 用于修剪在非易失性闪速介质上的数据的方法
US20120215965A1 (en) Storage Device and Computer Using the Same
CN110781096B (zh) 用于通过预测需求时间来执行垃圾收集的设备和方法
US20170336992A1 (en) Method, device, and program for managing a flash memory for mass storage
CN101154190B (zh) 映射信息管理设备和方法
CN103154950A (zh) 重复数据删除方法及装置
US20080235306A1 (en) Garbage collection in nonvolatile memories using data attributes, computer program products and methods of operating the same
CN101617299A (zh) 数据库管理方法
US10168940B2 (en) Data storage using SLC and TLC memory banks and data maintenance method thereof
CN104866428A (zh) 数据存取方法和数据存取装置
CN104346294A (zh) 基于多级缓存的数据读/写方法、装置和计算机系统
CN103677653B (zh) 一种基于ssd的数据处理方法及电子设备
CN102428449A (zh) 数据存储装置中的后台无用单元收集的主机控制
JP2007199905A (ja) 半導体記憶装置の制御方法
CN103186622B (zh) 一种全文检索系统中索引信息的更新方法以及装置
CN103577513A (zh) 藉延迟节点实例化以缓存xml信息集的系统和/或方法
CN104423894A (zh) 数据储存装置以及快闪存储器控制方法
CN103744614A (zh) 固态硬盘访问的方法及其固态硬盘
CN104484283A (zh) 一种降低固态硬盘写放大的方法
CN101025711B (zh) 控制闪存的设备和方法
CN103488523A (zh) 一种页的访问方法和页的访问装置、服务器
CN103389942A (zh) 控制装置、存储装置及存储控制方法
CN103365784A (zh) 内存回收与分配的方法及装置
US8131917B2 (en) Storing a driver for controlling a memory
CN104516929A (zh) 用于文件系统的方法和装置

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: 20140101