CN108536610A - 管理装置、信息处理装置以及管理方法 - Google Patents

管理装置、信息处理装置以及管理方法 Download PDF

Info

Publication number
CN108536610A
CN108536610A CN201710759633.4A CN201710759633A CN108536610A CN 108536610 A CN108536610 A CN 108536610A CN 201710759633 A CN201710759633 A CN 201710759633A CN 108536610 A CN108536610 A CN 108536610A
Authority
CN
China
Prior art keywords
area
written
management information
management
data
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
CN201710759633.4A
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 CN108536610A publication Critical patent/CN108536610A/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/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • 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/1016Performance improvement
    • 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/7201Logical to physical mapping or translation of blocks or pages
    • 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/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • 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)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Read Only Memory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及管理装置、信息处理装置以及管理方法。管理非易失存储器的每个区域的改写次数。管理装置具有计数器存储部、第一管理信息存储部以及更新部。第一管理信息存储部存储关于预定个数的第一区域各自的第一管理信息。第一管理信息表示对应的第一区域所包含的多个第二区域的每一个第二区域是已写入还是未写入。响应于写入第一数据,更新部在关于被写入第一数据的第一区域即对象第一区域的第一管理信息示出的、被写入第一数据的第二区域即对象第二区域的状态为未写入的情况下,变更为已写入。更新部在对象第二区域的状态为已写入的情况下,更新关于对象第一区域的计数器值。

Description

管理装置、信息处理装置以及管理方法
技术领域
本发明的实施方式涉及管理装置、信息处理装置以及管理方法。
背景技术
NAND闪存等非易失存储器可改写的次数少。因此,管理非易失存储器的信息处理装置执行损耗均衡控制。具体而言,信息处理装置对非易失存储器的改写次数进行计数并储存到表格。然后,信息处理装置参照在表格中储存的值,以在非易失存储器的存储区域的整体中平均地写入数据的方式控制写入位置。信息处理装置通过执行这样的损耗均衡控制,能够延长非易失存储器的寿命。
另外,近年来,开发出被称为存储级存储器(storage class memory)的高速非易失存储器。存储级存储器以字节单位或者高速缓存行单位写入数据。因此,信息处理装置为了高精度地执行损耗均衡控制,必须以字节单位或者高速缓存存储器单位管理改写次数。但是,在这样管理改写次数的情况下,表格的尺寸变得非常大,信息处理装置必须具备非常大的存储器。
另一方面,例如,还考虑仅对页面单位的改写次数进行计数,而不对字节单位或者高速缓存存储器单位的改写次数进行计数的方法。但是,在用这样的方法管理改写次数的情况下,信息处理装置无法区分是针对页面内的不同字节或者高速缓存行的数据的写入还是针对同一字节或者高速缓存行的数据的写入,无法高精度地实现损耗均衡控制。
发明内容
本发明想要解决的课题在于以小的存储容量高精度地管理非易失存储器的每个区域的改写次数。
实施方式的管理装置管理非易失存储器。所述非易失存储器包括多个第一区域。所述多个第一区域各自包括多个第二区域。所述管理装置具有计数器存储部、第一管理信息存储部以及更新部。所述计数器存储部对于所述多个第一区域分别存储计数器值。所述第一管理信息存储部存储能够储存关于预定个数第一区域各自的第一管理信息的第一管理表格。所述更新部更新所述计数器值以及所述第一管理表格。所述第一管理信息表示对应的第一区域所包含的多个第二区域的每一个第二区域是已写入还是未写入。响应于对所述非易失存储器写入第一数据,在关于被写入所述第一数据的第一区域即对象第一区域的所述第一管理信息示出的、被写入所述第一数据的第二区域即对象第二区域的状态为未写入的情况下,所述更新部变更为已写入。在所述第一管理信息示出的所述对象第二区域的状态为已写入的情况下,所述更新部更新关于所述对象第一区域的所述计数器值。
根据上述管理装置,能够以小的存储容量高精度地管理非易失存储器的每个区域的改写次数。
附图说明
图1是示出信息处理装置的硬件结构的一个例子的图。
图2是示出存储器控制器具有的存取控制装置的结构的图。
图3是示出第一实施方式的非易失存储器的结构的图。
图4是示出第一实施方式的地址信息的一个例子的图。
图5是示出第一实施方式的管理装置的结构的图。
图6是示出第一实施方式的计数器表格的一个例子的图。
图7是示出第一实施方式的管理表格的一个例子的图。
图8是示出第一实施方式的由更新部实施的处理的流程的流程图。
图9是示出第一实施方式的管理信息生成处理的流程的流程图。
图10是示出第二实施方式的非易失存储器的结构的图。
图11是示出第二实施方式的地址信息的一个例子的图。
图12是示出第二实施方式的管理装置的功能结构的图。
图13是示出第二实施方式的计数器表格的一个例子的图。
图14是示出第二实施方式的第一管理表格的一个例子的图。
图15是示出第二实施方式的第二管理表格的一个例子的图。
图16是示出第二实施方式的由更新部实施的处理的流程的流程图。
图17是示出第二实施方式的第二管理信息生成处理的流程的流程图。
图18是示出第二实施方式的状态更新处理的流程的流程图。
图19是示出第二实施方式的第一管理信息生成处理的流程的流程图。
图20是能够进行一并写入时的管理装置的流程图。
图21是示出识别信息的变形例的图。
图22是示出信息处理装置的结构的第一变形例的图。
图23是示出信息处理装置的结构的第二变形例的图。
图24是示出信息处理装置的结构的第三变形例的图。
符号说明
10:信息处理装置;12:处理电路;14:非易失存储器;16:存储器控制器;18:存取控制装置;20:管理装置;28:请求受理部;30:请求队列;32:请求执行部;36:计数器存储部;38:管理信息存储部;40:更新部;52:第一管理信息存储部;54:第二管理信息存储部;70:非易失存储器模块
具体实施方式
以下,参照附图,对实施方式的信息处理装置10详细进行说明。本实施方式的信息处理装置10的目的在于以小的存储容量高精度地管理非易失存储器14中的每个区域的改写次数。
(第一实施方式)
图1是示出信息处理装置10的硬件结构的一个例子的图。信息处理装置10具备处理电路12、非易失存储器14以及存储器控制器16。
处理电路12具有一个或者多个处理器。处理器是例如CPU(Central ProcessingUnit,中央处理单元)。处理器也可以包括一个或者多个CPU内核。处理电路12执行程序来处理数据。处理电路12根据程序的执行,从非易失存储器14读出数据或者向非易失存储器14写入数据。
另外,处理电路12具有高速缓存存储器。处理电路12临时地存储在非易失存储器14中存储的数据。
非易失存储器14是即使停止供电也能够继续存储数据的存储器。非易失存储器14作为例如处理电路12的主存储器发挥功能。非易失存储器14能够以字节单位等小区域的单位写入数据。
非易失存储器14是例如MRAM(Magnetoresistive Random Access Memory,磁阻随机存取存储器)、PCM(Phase Change Memory,相变存储器)、PRAM(Phase Random AccessMemory,相位随机存取存储器)、PCRAM(Phase Change Random Access Memory,相变随机存取存储器)、ReRAM(Resistance Random Access Memory,电阻随机存取存储器)、FeRAM(Ferroelectric Random Access Memory,铁电随机存取存储器)、3D XPoint或者忆阻器(Memristor)等。非易失存储器14也可以是被称为所谓存储级存储器(SCM)的存储器。另外,非易失存储器14也可以是将多个半导体装置设置于一个基板或者框体等而成的模块。
存储器控制器16具有存取控制装置18和管理装置20。存取控制装置18处理来自处理电路12的针对非易失存储器14的存取请求。存取控制装置18响应于来自处理电路12的写入命令,将数据写入到非易失存储器14。另外,存取控制装置18响应于来自处理电路12的读出命令,从非易失存储器14读出数据。
管理装置20执行针对非易失存储器14的损耗均衡控制。具体而言,管理装置20接受在针对非易失存储器14写入数据时被写入数据的地址信息。管理装置20根据接受到的地址信息,管理非易失存储器14中的每个第一区域的数据的改写次数。第一区域是例如利用处理电路12的数据的管理单位(例如页面)。另外,第一区域也可以是利用处理电路12的数据的管理单位的预定数倍的单位等。
然后,管理装置20将非易失存储器14中的每个第一区域的数据的改写次数提供给存取控制装置18。存取控制装置18根据获取的改写次数,以在非易失存储器14中的整体的区域中平均地写入数据的方式,控制数据的写入位置。另外,管理装置20也可以将改写次数提供给通过在存储器控制器16的外部设置的装置或者处理电路12执行的操作系统等。在该情况下,接受到改写次数的装置根据获取的改写次数,以在非易失存储器14中的整体的区域中平均地写入数据的方式,控制数据的写入位置。
图2是与管理装置20一起示出存储器控制器16具有的存取控制装置18的结构的图。存取控制装置18包括请求受理部28、请求队列30以及请求执行部32。
请求受理部28接受来自处理电路12的向非易失存储器14的写入命令以及读出命令。请求受理部28将接受到的写入命令以及读出命令存储到请求队列30。请求队列30是例如先入先出型的存储器。
请求执行部32取出在请求队列30中存储的写入命令以及读出命令。请求执行部32在取出写入命令的情况下,在非易失存储器14中的指定的地址中写入数据。请求执行部32在取出读出命令的情况下,从非易失存储器14中的指定的地址读出数据,提供给请求受理部28。请求受理部28在接受到从非易失存储器14读出的数据的情况下,将接受到的数据返回给处理电路12。
管理装置20在从处理电路12被提供le写入命令的情况下,获取表示非易失存储器14中的被写入数据的位置的地址信息。管理装置20例如从请求受理部28接受地址信息,检测被写入数据的位置。另外,管理装置20在例如页面等中一并写入数据的情况下,也可以接受表示开头的写入位置的地址信息和数据尺寸,检测被写入数据的位置。另外,管理装置20也可以从请求队列30或者请求执行部32获取地址信息等。
图3是示出第一实施方式的非易失存储器14的结构的图。非易失存储器14包括多个第一区域。在第一实施方式中,第一区域是被称为页面的单位。页面是利用处理电路12的数据的管理单位。页面例如与操作系统所管理的虚拟存储装置的页面对应。页面可以是例如4K字节。
另外,多个第一区域各自包括多个第二区域。在第一实施方式中,第二区域是被称为高速缓存行的单位。高速缓存行与针对处理电路12内的高速缓存存储器的数据的改写单位对应。处理电路12以高速缓存行的单位对非易失存储器14改写数据。
高速缓存行是例如64字节。此外,第二区域也可以是比高速缓存行小的单位(例如字节单位)。
图4是示出第一实施方式的用于指定针对非易失存储器14的数据的写入目的地的地址信息的一个例子的图。管理装置20从存取控制装置18获取如图4所示的被分割成三个比特字段的地址信息。
地址信息的上位的比特字段表示被写入数据的页面(对象第一区域)的位置。地址信息的中位的比特字段表示对象第一区域中的、被写入数据的高速缓存行(对象第二区域)的位置。另外,地址信息的下位的比特字段表示对象第二区域中的、被写入数据的字节的位置。
因此,管理装置20通过获取所获取的地址信息中的特定的比特字段的值,能够确定被写入数据的页面(对象第一区域)以及高速缓存行(对象第二区域)。
图5是示出第一实施方式的管理装置20的结构的图。管理装置20包括计数器存储部36、管理信息存储部38以及更新部40。
计数器存储部36存储计数器表格。计数器表格储存关于非易失存储器14中包含的多个第一区域各自的、表示数据的改写次数的计数器值。关于计数器表格,将参照图6进一步进行说明。
管理信息存储部38存储管理表格。管理表格具有预定个数条目。能够在各个条目中储存管理信息。即,管理表格能够储存关于预定个数的第一区域各自的管理信息。管理表格能够储存的管理信息的数量少于非易失存储器14中包含的第一区域的数量。管理表格储存关于处理电路12最近存取过非易失存储器14的第一区域(激活的第一区域)的管理信息。管理表格在条目已满的情况下,删除例如最旧的管理信息(从存取起经过了最长时间的管理信息),储存新的管理信息。
管理信息表示对应的第一区域所包含的多个第二区域的每一个第二区域是已写入还是未写入。例如,管理信息在对应的第一区域中未存储数据的情况下,对应的第一区域所包含的多个第二区域的所有的状态被变更为未写入。关于管理信息,从对应的第一区域中未存储数据的状态起,在某一个第二区域中被写入数据的情况下,该第二区域的状态被设为已写入,其它写入区域的状态被设为未写入。此外,关于管理表格以及管理信息,将参照图7进一步进行说明。
更新部40更新在计数器表格中储存的各个计数器值以及在管理表格中储存的各个管理信息。更新部40在处理电路12对非易失存储器14写入数据的情况下,获取写入的数据的地址信息,根据获取的地址信息,更新计数器值以及地址信息。关于更新部40的具体的处理步骤,将参照图8以及图9进一步进行说明。
图6是示出第一实施方式的计数器表格的一个例子的图。计数器表格与识别非易失存储器14中包含的多个第一区域(页面)的识别信息(例如页面编号)分别对应地储存计数器值。
各个计数器值表示对应的第一区域被改写的次数的推测值。各个计数器值在工厂出厂时等初始时被设为例如0。各个计数器值通过更新部40被逐次增加1(递增)。
存取控制装置18或者操作系统等参照在计数器表格中储存的计数器值,执行损耗均衡控制以使所有页面的计数器值变得平均。
图7是示出第一实施方式的管理表格的一个例子的图。管理表格具有用于储存管理信息的预定个数条目。例如,在图7的例子中,管理表格具有64个条目。
各个条目储存管理信息。管理信息包括识别信息和映射信息。
识别信息是用于识别该管理信息管理的第一区域(页面)的编号(页面编号)。更新部40通过参照识别信息,能够判断该条目储存有管理哪一个第一区域的管理信息。
映射信息表示在对应的第一区域(页面)中包含的多个第二区域(高速缓存行)各自是已写入还是未写入。映射信息包括与在第一区域(页面)中包含的多个第二区域(高速缓存行)各自对应的比特。
例如,映射信息包括与高速缓存行编号对应的比特。例如,在一个页面内包括64个高速缓存行的情况下,映射信息包括64个比特。各个比特在例如为1的情况下,表示对应的高速缓存行为已写入。另外,各个比特在例如为0的情况下,表示对应的高速缓存行为未写入。
此外,管理表格也可以不是在所有条目中都储存管理信息。换言之,管理表格也可以具有未使用条目。
图8是示出第一实施方式的由更新部40实施的处理的流程的流程图。更新部40依照图8以及图9所示的流程图,更新计数器表格以及管理表格。
首先,在S11,更新部40检测是否要在非易失存储器14中进行数据的写入。更新部40在不进行写入的情况下(S11的“否”),使处理在S11待机,在要进行写入的情况下(S11的“是”),使处理进入到S12。
在S12,更新部40判断关于被写入写入对象的数据(第一数据)的第一区域即对象第一区域的管理信息是否存在于管理表格。例如,更新部40判断包括与在地址信息中包含的页面编号相同的页面编号的管理信息是否储存于管理表格。
在管理表格中不存在关于对象第一区域的管理信息时、例如包括与在地址信息中包含的页面编号相同的页面编号的管理信息未储存于管理表格时(S12的“否”),更新部40使处理进入到S13。在S13,更新部40执行管理信息生成处理。关于管理信息生成处理,将参照图9进行说明。更新部40在结束了管理信息生成处理的情况下,结束本流程,对下次写入进行待机。
在管理表格中存在关于对象第一区域的管理信息时、例如包括与在地址信息中包含的页面编号相同的页面编号的管理信息储存于管理表格时(S12的“是”),更新部40使处理进入到S14。
在S14,更新部40判断在关于对象第一区域的管理信息示出的被写入第一数据的第二区域即对象第二区域的状态是否为已写入。例如,更新部40参照与在地址信息中包含的页面编号对应的管理信息中的映射信息,判断与在地址信息中包含的高速缓存行编号对应的比特是否为1。
更新部40在对象第二区域的状态为未写入时、例如与在地址信息中包含的高速缓存行编号对应的比特是0时(S14的“否”),使处理进入到S15。在S15,更新部40将在关于对象第一区域的管理信息示出的对象第二区域的状态从未写入变更为已写入。例如,更新部40将对应的比特从0变更为1。由此,更新部40能够将被写入第一数据之后的非易失存储器14的状态反映到管理表格。更新部40在结束了S15的处理的情况下,结束本流程,对下次写入进行待机。
更新部40在关于对象第一区域的管理信息示出的对象第二区域的状态为已写入时、例如与在地址信息中包含的高速缓存行编号对应的比特是1时(S14的“是”),使处理进入到S16。在S16,更新部40将在关于对象第一区域的管理信息示出的对象第二区域以外的第二区域的状态变更为未写入。换言之,更新部40仅将关于对象第一区域的管理信息示出的对象第二区域设为已写入,将其它第二区域设为未写入。例如,更新部40仅将对应的比特设为1,将其它比特设为0。
由此,更新部40能够将针对对象第二区域写入第一数据之后的非易失存储器14的状态反映到管理表格。
更新部40在结束S16后,使处理进入到S17。在S17,更新部40更新关于对象第一区域的计数器值。例如,更新部40使计数器表格中的、与在地址信息中包含的页面编号对应的计数器值增加1。由此,更新部40能够更新对象第一区域的改写次数。
此外,更新部40也可以将S16和S17的处理反过来执行。更新部40在结束了S16以及S17的处理的情况下,结束本流程,对下次写入进行待机。
图9是示出第一实施方式的由更新部40实施的管理信息生成处理的流程的流程图。更新部40在图8的S13的管理信息生成处理中,执行图9所示的S21至S25的处理。
首先,在S21,更新部40判断在管理表格中是否有未使用条目。即,更新部40判断管理表格中是否存在未储存管理信息的条目。
在有未使用条目的情况下(S21的“是”),更新部40使处理进入到S22。在S22,更新部40在未使用条目中写入关于对象第一区域的管理信息。换言之,更新部40将包括识别对象第一区域的识别信息和仅将对象第二区域设为已写入且将其它区域设为未写入的映射信息的管理信息写入到未使用条目。例如,更新部40将在地址信息中包含的页面编号和仅将与在地址信息中包含的高速缓存行编号对应的比特设为1且将其它比特设为0的映射信息写入到未使用条目。
由此,更新部40能够将被写入第一数据之后的非易失存储器14的状态反映到管理表格。更新部40在结束了S22的处理的情况下,使处理返回到图8的流程。
在没有未使用条目的情况下(S21的“否”),更新部40使处理进入到S23。在S23,更新部40从管理表格中选择任意的使用中条目。例如,更新部40选择储存有最旧的管理信息的使用中条目。此外,更新部40也可以依照其它算法选择任意的使用中条目。
更新部40在结束S23后,使处理进入到S24。在S24,更新部40删除在选择出的使用中条目中写入的管理信息,写入关于对象第一区域的管理信息。换言之,更新部40在选择出的使用中条目中重写包括识别对象第一区域的识别信息和仅将对象第二区域设为已写入且将其它区域设为未写入的映射信息的管理信息。例如,更新部40在选择出的使用中条目中,重写在地址信息中包含的页面编号和仅将与在地址信息中包含的高速缓存行编号对应的比特设为1且将其它比特设为0的映射信息。
由此,更新部40能够从管理表格删除选择出的管理信息(例如最旧的管理信息),将新的管理信息储存到管理表格。然后,更新部40能够将被写入第一数据之后的非易失存储器14的状态反映到管理表格。
更新部40在结束S24后,使处理进入到S25。在S25,更新部40更新关于利用从管理表格删除了的管理信息管理的第一区域的计数器值。例如,更新部40使计数器表格中的、与在删除的管理信息中包含的页面编号对应的计数器值增加1。
通过执行S25的处理,更新部40能够假设为对于结束了使用管理表格的管理的第一区域追记数据,更新改写次数。由此,更新部40能够对于未被管理表格激活地管理的第一区域推测改写次数。
此外,更新部40也可以将S24和S25的处理反过来执行。更新部40在结束了S24以及S25的处理的情况下,使处理返回到图8的流程。
如以上所述,本实施方式的信息处理装置10存储比非易失存储器14中包含的第一区域的数量少的数量的管理信息。由此,根据本实施方式的信息处理装置10,能够减少管理表格的条目数,所以能够减少管理信息存储部38的存储容量。
进而,本实施方式的信息处理装置10对于未被管理表格管理的第一区域在从管理表格删除管理信息的定时更新计数器值。由此,根据本实施方式的信息处理装置10,能够高精度地推测关于非易失存储器14中包含的所有第一区域的改写次数。
(第二实施方式)
接下来,对第二实施方式的信息处理装置10进行说明。第二实施方式的信息处理装置10具有与第一实施方式大致相同的功能以及结构,所以对具有相同功能以及结构的块附加相同符号而省略详细的说明。
图10是示出第二实施方式的非易失存储器14的结构的图。第二实施方式的非易失存储器14包括多个第一区域。在第二实施方式中,第一区域是被称为块的单位。块可以是例如1M字节。
多个第一区域各自包括多个第二区域。在第二实施方式中,第二区域是被称为页面的单位。页面是例如4K字节。
多个第二区域各自包括多个第三区域。在第二实施方式中,第三区域是被称为高速缓存行的单位。高速缓存行是例如64字节。此外,第三区域也可以是比高速缓存行小的单位(例如字节单位)。
图11是示出第二实施方式的用于针对非易失存储器14指定数据的写入目的地的地址信息的一个例子的图。在第二实施方式中,管理装置20从存取控制装置18获取如图11所示的、被分割为4个比特字段的地址信息。
地址信息的最高位的比特字段表示被写入数据的块(对象第一区域)的位置。地址信息的正数第二位的比特字段表示对象第一区域中的、被写入数据的页面(对象第二区域)的位置。地址信息的正数第三位的比特字段表示对象第二区域中的、被写入数据的高速缓存行(对象第三区域)的位置。地址信息的正数第四位的比特字段表示对象第三区域中的、被写入数据的字节的位置。
因此,管理装置20通过获取所获取的地址信息中的特定的比特字段的值,能够确定被写入数据的块(对象第一区域)、页面(对象第二区域)以及高速缓存行(对象第三区域)。
图12是示出第二实施方式的管理装置20的功能结构的图。管理装置20包括计数器存储部36、第一管理信息存储部52、第二管理信息存储部54以及更新部40。
计数器存储部36存储计数器表格。关于计数器表格,将参照图13进一步进行说明。
第一管理信息存储部52存储第一管理表格。第一管理表格具有预定个数条目。在各个条目中能够储存第一管理信息。也就是说,第一管理表格能够储存关于预定个数的第一区域各自的第一管理信息。第一管理表格能够储存的第一管理信息的数量少于非易失存储器14中包含的第一区域的数量。第一管理表格储存关于处理电路12最近存取过非易失存储器14的第一区域(激活的第一区域)的第一管理信息。第一管理表格在条目已满的情况下,删除例如最旧的第一管理信息,储存新的第一管理信息。
第一管理信息表示对应的第一区域所包含的多个第二区域的每一个第二区域是已写入还是未写入。此外,关于第一管理表格以及第一管理信息,将参照图14进一步进行说明。
第二管理信息存储部54存储第二管理表格。第二管理表格具有预定个数条目。在各个条目中能够储存第二管理信息。换句话说,第二管理表格能够储存关于预定个数的第二区域各自的第二管理信息。第二管理表格能够储存的第二管理信息的数量少于非易失存储器14中包含的第二区域的数量。第二管理表格储存关于处理电路12最近存取过的第二区域(激活的第二区域)的第二管理信息。第二管理表格在条目已满的情况下,删除例如最旧的第二管理信息,储存新的第二管理信息。
第二管理信息表示在对应的第二区域中包含的多个第三区域各自是已写入还是未写入。此外,关于第二管理表格以及第二管理信息,将参照图15进一步进行说明。
更新部40更新在计数器表格中储存的各个计数器值、在第一管理表格中储存的各个第一管理信息以及在第二管理表格中储存的各个第二管理信息。关于更新部40的具体的处理步骤,将参照图16至图19进一步进行说明。
图13是示出第二实施方式的计数器表格的一个例子的图。计数器表格与识别非易失存储器14中包含的多个第一区域(块)的第一识别信息(例如块编号)各自对应地储存计数器值。
图14是示出第二实施方式的第一管理表格的一个例子的图。第一管理表格具有用于储存第一管理信息的预定个数条目。例如,在图14的例子中,第一管理表格具有64个条目。
各个条目储存第一管理信息。第一管理信息包括第一识别信息和第一映射信息。
第一识别信息是用于识别该第一管理信息管理的第一区域(块)的编号(块编号)。第一映射信息表示在对应的第一区域(块)中包含的多个第二区域(页面)各自是已写入还是未写入。第一映射信息包括与在第一区域(块)中包含的多个第二区域(页面)各自对应的比特。
例如,第一映射信息包括与在块中包含的页面编号对应的比特。各个比特在例如为1的情况下,表示对应的页面是已写入。另外,各个比特在例如为0的情况下,表示对应的页面是未写入。
此外,第一管理表格可以不是在所有条目中都储存第一管理信息。换言之,第一管理表格也可以具有未使用条目。
图15是示出第二实施方式的第二管理表格的一个例子的图。第二管理表格具有用于储存第二管理信息的预定个数条目。例如,在图15的例子中,第二管理表格具有64个条目。
各个条目储存第二管理信息。第二管理信息包括第二识别信息和第二映射信息。
第二识别信息是用于识别该第二管理信息管理的第二区域(页面)以及包括该第二区域的第一区域(块)的编号(块编号以及页面编号)。第二映射信息表示在对应的第二区域(页面)中包含的多个第三区域(高速缓存行)各自是已写入还是未写入。第二映射信息包括与在第二区域(页面)中包含的多个第三区域(高速缓存行)各自对应的比特。
例如,第二映射信息包括与在页面中包含的高速缓存行编号对应的比特。各个比特在例如是1的情况下,表示对应的高速缓存行为已写入。另外,各个比特在例如是0的情况下,表示对应的高速缓存行为未写入。
此外,第二管理表格可以不是在所有条目中都储存第二管理信息。即,第二管理表格也可以具有未使用条目。
图16是示出第二实施方式的由更新部40实施的处理的流程的流程图。更新部40依照图16至图19所示的流程图,更新计数器表格、第一管理表格以及第二管理表格。
首先,在S41,更新部40检测是否要在非易失存储器14中进行数据的写入。更新部40在不进行写入的情况下(S41的“否”),使处理在S41待机,在要进行写入的情况下(S41的“是”),使处理进入到S42。
在S42,更新部40判断关于被写入写入对象的数据(第一数据)的第二区域即对象第二区域的第二管理信息是否存在于第二管理表格。
在第二管理表格中不存在关于对象第二区域的第二管理信息的情况下(S42的“否”),更新部40使处理进入到S43。在S43,更新部40执行第二管理信息生成处理。关于第二管理信息生成处理,加你参照图17进行说明。更新部40在结束了第二管理信息生成处理的情况下,结束本流程,对下次写入进行待机。
在第二管理表格中存在关于对象第二区域的第二管理信息的情况下(S42的“是”),更新部40使处理进入到S44。在S44,更新部40参照关于对象第二区域的第二管理信息,判断被写入第一数据的第三区域即对象第三区域是否为已写入。
更新部40在对象第三区域的状态为未写入的情况下(S44的“否”),使处理进入到S45。在S45,更新部40将在关于对象第二区域的第二管理信息示出的对象第三区域的状态从未写入变更为已写入。由此,更新部40能够将写入第一数据之后的非易失存储器14的状态反映到第二管理表格。更新部40在结束了S45的处理的情况下,结束本流程,对下次写入进行待机。
更新部40在对象第三区域是已写入的情况下(S44的“是”),使处理进入到S46。在S46,更新部40将关于对象第二区域的第二管理信息示出的对象第三区域以外的状态变更为未写入。即,更新部40仅将关于对象第二区域的第二管理信息示出的对象第三区域设为已写入,将其它区域设为未写入。
由此,更新部40能够将在对象第三区域中写入第一数据之后的非易失存储器14的状态反映到第二管理表格。
更新部40在结束S46后,使处理进入到S47。在S47,更新部40执行更新针对关于包括对象第二区域的第一区域的第一管理信息示出的、对象第二区域的状态的状态更新处理。关于更新针对对象第二区域的状态的状态更新处理,将参照图18进一步进行说明。由此,更新部40能够将针对对象第二区域追记数据之后的状态反映到第一管理表格。
此外,更新部40也可以将S46和S47的处理反过来执行。更新部40在结束了S46以及S47的处理的情况下,结束本流程,对下次写入进行待机。
图17是示出第二实施方式的由更新部40实施的第二管理信息生成处理的流程的流程图。更新部40在图16的S43的第二管理信息生成处理中,执行图17所示的S51至S55的处理。
首先,在S51,更新部40判断在第二管理表格中是否有未使用条目。
在有未使用条目的情况下(S51的“是”),更新部40使处理进入到S52。在S52,更新部40在未使用条目中写入关于对象第二区域的第二管理信息。换言之,更新部40将包括识别对象第二区域的第二识别信息和仅将对象第三区域设为已写入且将其它区域设为未写入的第二映射信息的第二管理信息写入到未使用条目。
由此,更新部40能够将被写入第一数据之后的非易失存储器14的状态反映到第二管理表格。更新部40在结束了S52的处理的情况下,使处理返回到图16的流程。
在没有未使用条目的情况下(S51的“否”),更新部40使处理进入到S53。在S53,更新部40从第二管理表格中选择任意的使用中条目。例如,更新部40选择储存有最旧的第二管理信息的使用中条目。此外,更新部40也可以依照其它算法选择任意的使用中条目。
更新部40在结束S53后,使处理进入到S54。在S54,更新部40删除在选择出的使用中条目中写入的第二管理信息,写入关于对象第二区域的第二管理信息。换言之,更新部40在选择出的使用中条目中重写包括识别对象第二区域的第二识别信息和仅将对象第三区域设为已写入且将其它区域设为未写入的第二映射信息的第二管理信息。
由此,更新部40能够从第二管理表格删除选择出的第二管理信息,将新的第二管理信息储存到第二管理表格。另外,更新部40能够将被写入第一数据之后的非易失存储器14的状态反映到第二管理表格。
更新部40在结束S54后,使处理进入到S55。在S55,更新部40执行更新针对关于包括删除第二区域的第一区域的第一管理信息中的、删除第二区域的状态的状态更新处理。删除第二区域是被S54中的删除对象的第二管理信息管理的第二区域。关于更新针对删除第二区域的状态的状态更新处理,将参照图18进一步进行说明。
通过执行S55的处理,更新部40能够假设为对于结束了使用第二管理表格的管理的第二区域追记了数据,更新表示是否进行了写入的状态。由此,更新部40能够对于未被第二管理表格激活地管理的第二区域推测进行写入还是未写入。
此外,更新部40也可以将S54和S55的处理反过来执行。更新部40在结束了S54以及S55的处理的情况下,使处理返回到图16的流程。
图18是示出第二实施方式的由更新部40实施的状态更新处理的流程的流程图。更新部40在图16的S47以及图17的S55的状态更新处理中,执行图18所示的S62至S67的处理。
在S62,更新部40判断关于包括对象第二区域或者删除第二区域的第一区域(更新对象第一区域)的第一管理信息是否存在于第一管理表格。
在关于更新对象第一区域的第一管理信息不存在的情况下(S62的“否”),更新部40使处理进入到S63。在S63,更新部40执行第一管理信息生成处理。关于第一管理信息生成处理,将参照图19进行说明。更新部40在结束了第一管理信息生成处理的情况下,结束本流程,使处理返回到图16或者图17的流程。
在关于更新对象第一区域的第一管理信息存在的情况下(S62的“是”),更新部40使处理进入到S64。
在S64,更新部40判断关于更新对象第一区域的第一管理信息示出的、对象第二区域或者删除第二区域的状态是否为已写入。
更新部40在对象第二区域或者删除第二区域的状态为未写入的情况下(S64的“否”),使处理进入到S65。在S65,更新部40将关于更新对象第一区域的第一管理信息示出的、对象第二区域或者删除第二区域的状态从未写入变更为已写入。
由此,更新部40能够将写入第一数据之后的非易失存储器14的状态反映到第一管理表格。或者,更新部40能够将假设为在删除第二区域中写入有数据的情况下的非易失存储器14的推测状态反映到第一管理表格。更新部40在结束了S65的处理的情况下,结束本流程,使处理返回到图16或者图17的流程。
更新部40在对象第二区域或者删除第二区域的状态为已写入的情况下(S64的“是”),使处理进入到S66。在S66,更新部40将关于更新对象第一区域的第一管理信息中的对象第二区域或者删除第二区域以外的状态变更为未写入。即,更新部40仅将关于更新对象第一区域的第一管理信息中的对象第二区域或者删除第二区域设为已写入,将其它区域设为未写入。
由此,更新部40能够将在对象第二区域中写入第一数据之后的非易失存储器14的状态反映到第一管理表格。或者,更新部40能够将假设为在删除第二区域中写入有数据的情况下的非易失存储器14的推测状态反映到第一管理表格。
更新部40在结束S66后,使处理进入到S67。在S67,更新部40更新关于更新对象第一区域的计数器值。例如,更新部40使计数器表格中的、关于更新对象第一区域的计数器值增加1。由此,更新部40能够更新更新对象第一区域的改写次数。
此外,更新部40也可以将S66和S67的处理反过来执行。更新部40在结束了S66以及S67的处理的情况下,结束本流程,使处理返回到图16或者图17的流程。
图19是示出第二实施方式的由更新部40实施的第一管理信息生成处理的流程的流程图。更新部40在图18的S63的第一管理信息生成处理中,执行图19所示的S71至S75的处理。
首先,在S71,更新部40判断在第一管理表格中是否有未使用条目。
在有未使用条目的情况下(S71的“是”),更新部40使处理进入到S72。在S72,更新部40在未使用条目中写入关于更新对象第一区域的第一管理信息。换言之,更新部40将包括识别更新对象第一区域的第一识别信息和仅将对象第二区域或者删除第二区域设为已写入且将其它区域设为未写入的第一映射信息的第一管理信息写入到未使用条目。
由此,更新部40能够将在对象第三区域中写入第一数据之后的非易失存储器14的状态、或者假设为随着结束删除第二区域的管理而在删除第二区域中写入数据的状态反映到第一管理表格。更新部40在结束了S72的处理的情况下,使处理返回到图18的流程。
在没有未使用条目的情况下(S71的“否”),更新部40使处理进入到S73。在S73,更新部40从第一管理表格选择任意的使用中条目。例如,更新部40选择储存有最旧的第一管理信息的使用中条目。此外,更新部40也可以依照其它算法选择任意的使用中条目。
更新部40在结束S73后,使处理进入到S74。在S74,更新部40删除在选择出的使用中条目中写入的第一管理信息,写入关于更新对象第一区域的第一管理信息。例如,更新部40在选择出的使用中条目中重写包括识别更新对象第一区域的第一识别信息和仅将对象第三区域或者删除第二区域设为已写入且将其它区域设为未写入的第一映射信息的第一管理信息。
由此,更新部40能够从第一管理表格删除选择出的第一管理信息。另外,更新部40能够将在对象第三区域中写入第一数据之后的非易失存储器14的状态、或者假设为在删除第二区域中写入有数据的情况下的非易失存储器14的推测状态反映到第一管理表格。
更新部40在结束S74后,使处理进入到S75。在S75,更新部40更新关于被删除对象的第一管理信息管理的第一区域的计数器值。例如,更新部40使关于被删除对象的第一管理信息管理的第一区域的计数器值增加1。
通过执行S75,更新部40能够假设为对于结束了使用第一管理表格的管理的第一区域追记数据,更新改写次数。由此,更新部40能够对于未被第一管理表格激活地管理的第一区域推测改写次数。
此外,更新部40也可以将S74和S75的处理反过来执行。更新部40在结束了S74以及S75的处理的情况下,使处理返回到图18的流程。
如以上所述,第二实施方式的信息处理装置10使用尺寸不同的两个区域按树形结构分割非易失存储器14,管理损耗均衡所需的每个第一区域的改写次数。由此,根据信息处理装置10,即使在第三区域(高速缓存行)的数据尺寸与块的数据尺寸之差大的情况下,也能够高效地管理改写次数。
另外,信息处理装置10不限于尺寸不同的两个区域,也可以使用尺寸不同的三个以上的区域来管理损耗均衡所需的每个第一区域的改写次数。
(变形例)
以下,说明针对第一实施方式以及第二实施方式的变形例。
图20是能够以页面等单位一并写入数据时的管理装置20的流程图。处理电路12也可以使用DMA(Direct Memory Access,直接内存存取)等,按照第一区域(例如页面或者块)的单位一并写入数据。在这样能够针对第一区域一并写入数据的情况下,管理装置20也可以依照图20所示的流程进行处理。
首先,在S81,更新部40判断在非易失存储器14中是否要进行数据的写入。更新部40在不进行写入的情况下(S81的“否”),使处理在S81待机,在要进行写入的情况下(S81的“是”),使处理进入到S82。
在S82,更新部40判断是否以第一区域(例如页面或者块)的单位一并写入数据。在不一并写入数据时、即以第三区域(高速缓存行)的单位写入数据时(S82的“否”),更新部40使处理进入到图8的S12或者图16的S42。然后,以下更新部40执行在第一实施方式或者第二实施方式中说明的处理。
在一并写入数据时、即以第一区域(例如页面或者块)的单位写入数据时(S82的“是”),更新部40使处理进入到S83。
在S83,更新部40更新计数器表格中的、与被写入数据的第一区域对应的计数器值。例如,更新部40使对应的计数器值增加1。在该情况下,在多个第一区域中连续地写入数据的情况下,更新部40与各个第一区域的写入开始定时等同步地更新对应的计数器值。
接下来,在S84,更新部40判断管理写入有数据的第一区域(或者第一区域以及第二区域)的管理信息(或者第一管理信息以及第二管理信息)是否存在于管理表格(或者第一管理表格以及第二管理表格)。在对应的管理信息(或者第一管理信息以及第二管理信息)不存在的情况下(S84的“否”),更新部40结束本流程,对下次写入进行待机。
在对应的管理信息(或者第一管理信息以及第二管理信息)存在的情况下(S84的“是”),更新部40使处理进入到S85。在S85中,更新部40删除对应的管理信息(或者第一管理信息以及第二管理信息)。然后,在结束S85后,更新部40结束本流程,对下次写入进行待机。
通过执行以上的处理,管理装置20在以第一区域(例如页面或者块)的单位一并写入数据的情况下,能够容易地更新计数器表格以及管理表格。
图21是示出识别信息的变形例的图。在第一实施方式以及第二实施方式中,管理装置20使用页面编号来识别管理信息。也可以不是这样,而是管理装置20与利用TLB(Translation Lookaside Buffer,转译后备缓冲器)管理的地址对应地存储管理信息。
处理电路12具有被称为TLB的虚拟存储机构。TLB为了从虚拟地址向物理地址进行地址变换,存储表示页面中的逻辑地址与物理地址的对应的对应关系信息。但是,TLB由于保有的条目有限,所以根据需要更换对应关系信息。TLB例如优先地存储关于最近以高频度存取的页面的对应关系信息。
因此,管理装置20也可以将在TLB中存储有对应关系信息的页面存储到管理表格。例如,管理装置20存储具有与TLB的条目的数量相同的数量的条目的管理表格(或者第二管理表格)。然后,更新部40在从TLB的条目消除对应关系信息的定时,删除在对应的管理表格(或者第二管理表格)中存储的管理信息(或者第二管理信息)。在该情况下,更新部40执行与管理信息(或者第二管理信息)被重写为其它管理信息时同样的处理。此外,管理表格(或者第二管理表格)具有与TLB的条目相同的条目,所以也可以不包括储存识别信息的条目。
管理装置20通过这样在管理表格中储存管理信息,能够与处理电路12同步地高效地管理损耗均衡所需的每个第一区域的改写次数。
图22是示出信息处理装置10的结构的第一变形例的图。例如,处理电路12也可以在内部具备存储器控制器16。在该情况下,管理装置20与存储器控制器16一起设置于处理电路12的内部。另外,管理装置20也可以在处理电路12的内部与存储器控制器16分立地设置。
图23是示出信息处理装置10的结构的第二变形例的图。另外,例如,信息处理装置10也可以具备处理电路12和非易失存储器模块70。在该情况下,非易失存储器模块70具有非易失存储器14和存储器控制器16。在该情况下,管理装置20与存储器控制器16一起设置于非易失存储器模块70的内部。此外,管理装置20也可以在非易失存储器模块70的内部与存储器控制器16分立地设置。
图24是示出信息处理装置10的结构的第三变形例的图。另外,例如,信息处理装置10也可以与处理电路12、非易失存储器14以及存储器控制器16分立地还具备管理装置20。在该情况下,管理装置20被实现为以能够获取针对非易失存储器14的写入地址的方式连接的硬件装置。
以上,虽然说明了本发明的几个实施方式,但这些实施方式仅作为例子而提出,不意在限定发明的范围。这些新颖的实施方式能够以其它各种方式实施,能够在不脱离发明的主旨的范围内进行各种省略、置换、变更。这些实施方式和其变形包含于发明的范围和主旨,并且包含于权利要求书记载的发明和其等同的范围内。
此外,能够将上述实施方式总结为以下的技术方案。
技术方案1
一种管理非易失存储器的管理装置,其中,
所述非易失存储器包括多个第一区域,
所述多个第一区域各自包括多个第二区域,
所述管理装置具有:
计数器存储部,对于所述多个第一区域分别存储计数器值;
第一管理信息存储部,存储能够储存关于预定个数的第一区域各自的第一管理信息的第一管理表格;以及
更新部,更新所述计数器值以及所述第一管理表格,
所述第一管理信息表示对应的第一区域所包含的多个第二区域的每一个第二区域是已写入还是未写入,
响应于对所述非易失存储器写入第一数据,所述更新部
在关于被写入所述第一数据的第一区域即对象第一区域的所述第一管理信息示出的、被写入所述第一数据的第二区域即对象第二区域的状态为未写入的情况下,变更为已写入,
在所述第一管理信息示出的所述对象第二区域的状态为已写入的情况下,更新关于所述对象第一区域的所述计数器值。
技术方案2
根据技术方案1所述的管理装置,其中,
所述第一管理表格能够储存关于比所述非易失存储器包含的所述多个第一区域的数量少的数量的第一区域的所述第一管理信息。
技术方案3
根据技术方案1或者2所述的管理装置,其中,
所述更新部在所述第一管理表格中不存在关于所述对象第一区域的所述第一管理信息的情况下,执行管理信息生成处理,
在所述管理信息生成处理中,所述更新部
在所述第一管理表格中有未使用条目的情况下,在未使用条目中写入关于所述对象第一区域的所述第一管理信息,
在所述第一管理表格中没有未使用条目的情况下,删除在任意的使用中条目中写入的所述第一管理信息,写入关于所述对象第一区域的所述第一管理信息,
更新关于利用删除了的所述第一管理信息管理的第一区域的所述计数器值。
技术方案4
根据技术方案3所述的管理装置,其中,
所述更新部在所述第一管理表格中没有未使用条目的情况下,删除最旧的所述第一管理信息。
技术方案5
根据技术方案1至4中的任意一项所述的管理装置,其中,
所述多个第一区域各自是由处理电路执行的数据的管理单位,
所述多个第二区域各自是由所述处理电路执行的针对所述非易失存储器的数据的改写单位。
技术方案6
根据技术方案5所述的管理装置,其中,
所述处理电路具有临时地存储从所述非易失存储器读出的数据的高速缓存存储器,
所述多个第二区域各自是所述高速缓存存储器的高速缓存行的大小。
技术方案7
根据技术方案1至6中的任意一项所述的管理装置,其中,
在所述非易失存储器中,进行以第一区域为单位的数据的一并写入或者以第二区域为单位的数据的写入,
所述更新部在执行了以第一区域为单位的数据的一并写入的情况下,更新关于被写入了数据的第一区域的所述计数器值。
技术方案8
根据技术方案1至7中的任意一项所述的管理装置,其中,
所述第一管理表格储存关于利用虚拟存储机构管理的第一区域的所述第一管理信息,其中所述虚拟存储机构存储表示逻辑地址与物理地址的对应的对应关系信息,
所述更新部在由所述虚拟存储机构消除了所述对应关系信息的情况下,删除在所述第一管理表格中存储的对应的所述第一管理信息,更新关于利用删除了的所述第一管理信息管理的第一区域的所述计数器值。
技术方案9
根据技术方案1至8中的任意一项所述的管理装置,其中,
所述多个第二区域各自包括多个第三区域,
所述管理装置还具备第二管理信息存储部,该第二管理信息存储部存储能够储存关于预定个数的第二区域各自的第二管理信息的第二管理表格,
所述第二管理信息表示在对应的第二区域中包含的多个第三区域各自是已写入还是未写入,
响应于对所述非易失存储器写入所述第一数据,所述更新部
在关于所述对象第二区域的所述第二管理信息示出的、被写入所述第一数据的第三区域即对象第三区域的状态为未写入的情况下,变更为已写入,
在所述第二管理信息示出的所述对象第三区域的状态为已写入的情况下,执行更新关于包括所述对象第二区域的第一区域的所述第一管理信息示出的、所述对象第二区域的状态的状态更新处理。
技术方案10
根据技术方案9所述的管理装置,其中,
所述更新部在所述第二管理表格中不存在关于所述对象第二区域的所述第二管理信息的情况下,执行第二管理信息生成处理,
在所述第二管理信息生成处理中,所述更新部
在所述第二管理表格中有未使用条目的情况下,在未使用条目中写入关于所述对象第二区域的所述第二管理信息,
在所述第二管理表格中没有未使用条目的情况下,删除在任意的使用中条目中写入的所述第二管理信息,写入关于所述对象第二区域的所述第二管理信息,
执行更新关于包括利用删除对象的所述第二管理信息管理的第二区域即删除第二区域的第一区域的所述第一管理信息示出的、所述删除第二区域的状态的状态更新处理。
技术方案11
根据技术方案10所述的管理装置,其中,
在所述状态更新处理中,所述更新部
在关于包括所述对象第二区域或者所述删除第二区域的更新对象第一区域的所述第一管理信息示出的、所述对象第二区域或者所述删除第二区域的状态为未写入的情况下,变更为已写入,
在关于所述更新对象第一区域的所述第一管理信息示出的所述对象第二区域或者所述删除第二区域的状态为已写入的情况下,更新关于所述更新对象第一区域的所述计数器值。
技术方案12
根据技术方案11所述的管理装置,其中,
所述更新部在所述第一管理表格中不存在关于所述更新对象第一区域的所述第一管理信息的情况下,执行第一管理信息生成处理,
在所述第一管理信息生成处理中,所述更新部
在所述第二管理表格中有未使用条目的情况下,在未使用条目中写入关于所述更新对象第一区域的所述第一管理信息,
在所述第二管理表格中没有未使用条目的情况下,删除在任意的使用中条目中写入的所述第二管理信息,写入关于所述更新对象第一区域的所述第一管理信息,
更新关于利用删除对象的所述第一管理信息管理的第一区域的所述计数器值。
技术方案13
一种信息处理装置,具备处理电路、非易失存储器以及管理所述非易失存储器的管理装置,其中,
所述非易失存储器包括多个第一区域,
所述多个第一区域各自包括多个第二区域,
所述管理装置具有:
计数器存储部,对于所述多个第一区域分别存储计数器值;
第一管理信息存储部,存储能够储存关于预定个数的第一区域各自的第一管理信息的第一管理表格;以及
更新部,更新所述计数器值以及所述第一管理表格,
所述第一管理信息表示对应的第一区域所包含的多个第二区域的每一个第二区域是已写入还是未写入,
响应于对所述非易失存储器写入第一数据,所述更新部
在关于被写入所述第一数据的第一区域即对象第一区域的所述第一管理信息示出的、被写入所述第一数据的第二区域即对象第二区域的状态为未写入的情况下,变更为已写入,
在所述第一管理信息示出的所述对象第二区域的状态为已写入的情况下,更新关于所述对象第一区域的所述计数器值。
技术方案14
一种管理方法,在管理非易失存储器的管理装置中执行,其中,
所述非易失存储器包括多个第一区域,
所述多个第一区域各自包括多个第二区域,
所述管理装置具有:
计数器存储部,对于所述多个第一区域分别存储计数器值;以及
第一管理信息存储部,存储能够储存关于预定个数的第一区域各自的第一管理信息的第一管理表格,
所述第一管理信息表示对应的第一区域所包含的多个第二区域的每一个第二区域是已写入还是未写入,
响应于对所述非易失存储器写入第一数据,所述管理装置
在关于被写入所述第一数据的第一区域即对象第一区域的所述第一管理信息示出的、被写入所述第一数据的第二区域即对象第二区域的状态为未写入的情况下,变更为已写入,
在所述第一管理信息示出的所述对象第二区域的状态为已写入的情况下,更新关于所述对象第一区域的所述计数器值。

Claims (10)

1.一种管理装置,管理非易失存储器,其中,
所述非易失存储器包括多个第一区域,
所述多个第一区域各自包括多个第二区域,
所述管理装置具有:
计数器存储部,对于所述多个第一区域分别存储计数器值;
第一管理信息存储部,存储能够储存关于预定个数的第一区域各自的第一管理信息的第一管理表格;以及
更新部,更新所述计数器值以及所述第一管理表格,
所述第一管理信息表示对应的第一区域所包含的多个第二区域的每一个第二区域是已写入还是未写入,
响应于对所述非易失存储器写入第一数据,所述更新部
在关于被写入所述第一数据的第一区域即对象第一区域的所述第一管理信息示出的、被写入所述第一数据的第二区域即对象第二区域的状态为未写入的情况下,变更为已写入,
在所述第一管理信息示出的所述对象第二区域的状态为已写入的情况下,更新关于所述对象第一区域的所述计数器值。
2.根据权利要求1所述的管理装置,其中,
所述第一管理表格能够储存关于比所述非易失存储器包含的所述多个第一区域的数量少的数量的第一区域的所述第一管理信息。
3.根据权利要求1或者2所述的管理装置,其中,
所述更新部在所述第一管理表格中不存在关于所述对象第一区域的所述第一管理信息的情况下,执行管理信息生成处理,
在所述管理信息生成处理中,所述更新部
在所述第一管理表格中有未使用条目的情况下,在未使用条目中写入关于所述对象第一区域的所述第一管理信息,
在所述第一管理表格中没有未使用条目的情况下,删除在任意的使用中条目中写入的所述第一管理信息,写入关于所述对象第一区域的所述第一管理信息,
更新关于利用删除了的所述第一管理信息管理的第一区域的所述计数器值。
4.根据权利要求3所述的管理装置,其中,
所述更新部在所述第一管理表格中没有未使用条目的情况下,删除最旧的所述第一管理信息。
5.根据权利要求1至4中的任意一项所述的管理装置,其中,
所述多个第一区域各自是由处理电路执行的数据的管理单位,
所述多个第二区域各自是由所述处理电路执行的针对所述非易失存储器的数据的改写单位。
6.根据权利要求5所述的管理装置,其中,
所述处理电路具有临时地存储从所述非易失存储器读出的数据的高速缓存存储器,
所述多个第二区域各自是所述高速缓存存储器的高速缓存行的大小。
7.根据权利要求1至6中的任意一项所述的管理装置,其中,
在所述非易失存储器中,进行以第一区域为单位的数据的一并写入或者以第二区域为单位的数据的写入,
所述更新部在执行了以第一区域为单位的数据的一并写入的情况下,更新关于被写入了数据的第一区域的所述计数器值。
8.根据权利要求1至7中的任意一项所述的管理装置,其中,
所述第一管理表格储存关于利用虚拟存储机构管理的第一区域的所述第一管理信息,其中所述虚拟存储机构存储表示逻辑地址与物理地址的对应的对应关系信息,
所述更新部在由所述虚拟存储机构消除了所述对应关系信息的情况下,删除在所述第一管理表格中存储的对应的所述第一管理信息,更新关于利用删除了的所述第一管理信息管理的第一区域的所述计数器值。
9.一种信息处理装置,具备处理电路、非易失存储器以及管理所述非易失存储器的管理装置,其中,
所述非易失存储器包括多个第一区域,
所述多个第一区域各自包括多个第二区域,
所述管理装置具有:
计数器存储部,对于所述多个第一区域分别存储计数器值;
第一管理信息存储部,存储能够储存关于预定个数的第一区域各自的第一管理信息的第一管理表格;以及
更新部,更新所述计数器值以及所述第一管理表格,
所述第一管理信息表示对应的第一区域所包含的多个第二区域的每一个第二区域是已写入还是未写入,
响应于对所述非易失存储器写入第一数据,所述更新部
在关于被写入所述第一数据的第一区域即对象第一区域的所述第一管理信息示出的、被写入所述第一数据的第二区域即对象第二区域的状态为未写入的情况下,变更为已写入,
在所述第一管理信息示出的所述对象第二区域的状态为已写入的情况下,更新关于所述对象第一区域的所述计数器值。
10.一种管理方法,在管理非易失存储器的管理装置中执行,其中,
所述非易失存储器包括多个第一区域,
所述多个第一区域各自包括多个第二区域,
所述管理装置具有:
计数器存储部,对于所述多个第一区域分别存储计数器值;以及
第一管理信息存储部,存储能够储存关于预定个数的第一区域各自的第一管理信息的第一管理表格,
所述第一管理信息表示对应的第一区域所包含的多个第二区域的每一个第二区域是已写入还是未写入,
响应于对所述非易失存储器写入第一数据,所述管理装置
在关于被写入所述第一数据的第一区域即对象第一区域的所述第一管理信息示出的、被写入所述第一数据的第二区域即对象第二区域的状态为未写入的情况下,变更为已写入,
在所述第一管理信息示出的所述对象第二区域的状态为已写入的情况下,更新关于所述对象第一区域的所述计数器值。
CN201710759633.4A 2017-03-03 2017-08-30 管理装置、信息处理装置以及管理方法 Pending CN108536610A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017040993A JP6618941B2 (ja) 2017-03-03 2017-03-03 管理装置、情報処理装置および管理方法
JP2017-040993 2017-03-03

Publications (1)

Publication Number Publication Date
CN108536610A true CN108536610A (zh) 2018-09-14

Family

ID=63355192

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710759633.4A Pending CN108536610A (zh) 2017-03-03 2017-08-30 管理装置、信息处理装置以及管理方法

Country Status (4)

Country Link
US (1) US10719436B2 (zh)
JP (1) JP6618941B2 (zh)
CN (1) CN108536610A (zh)
TW (1) TW201833780A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114026506A (zh) * 2019-06-26 2022-02-08 三菱电机株式会社 可编程显示器及数据管理方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220050619A1 (en) * 2019-01-09 2022-02-17 Sony Semiconductor Solutions Corporation Access counting device, memory controller, and memory system

Citations (6)

* 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
US20070204128A1 (en) * 2003-09-10 2007-08-30 Super Talent Electronics Inc. Two-Level RAM Lookup Table for Block and Page Allocation and Wear-Leveling in Limited-Write Flash-Memories
US20070255889A1 (en) * 2006-03-22 2007-11-01 Yoav Yogev Non-volatile memory device and method of operating the device
JP2008146254A (ja) * 2006-12-07 2008-06-26 Sony Corp 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法
CN101539886A (zh) * 2008-03-21 2009-09-23 株式会社东芝 具有多个非易失性存储器器件的存储装置
CN102243613A (zh) * 2010-05-12 2011-11-16 西部数据技术公司 管理固态存储器中垃圾收集的系统和方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485595A (en) * 1993-03-26 1996-01-16 Cirrus Logic, Inc. Flash memory mass storage architecture incorporating wear leveling technique without using cam cells
JP4141391B2 (ja) * 2004-02-05 2008-08-27 株式会社日立製作所 ストレージサブシステム
JP2008146255A (ja) 2006-12-07 2008-06-26 Sony Corp 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法
JP4829202B2 (ja) * 2007-11-02 2011-12-07 株式会社日立製作所 記憶装置及びメモリ制御方法
JP5480913B2 (ja) * 2009-12-03 2014-04-23 株式会社日立製作所 記憶装置、およびメモリコントローラ
JP2012058879A (ja) * 2010-09-07 2012-03-22 Toshiba Corp オペレーティングシステム起動管理装置
US9141526B2 (en) * 2010-09-16 2015-09-22 International Business Machines Corporation Reclaiming units by searching units for a predetermined criterion and storing data from a valid subunit
US9256379B2 (en) * 2010-11-19 2016-02-09 Empire Technologies Development Llc Apparatus containing photoisomerization compound
WO2012137249A1 (en) * 2011-04-05 2012-10-11 Hitachi, Ltd. Storage apparatus and volume management method
US9312029B2 (en) * 2014-03-10 2016-04-12 Macronix International Co., Ltd. Memory device and associated controlling method
JP2016149051A (ja) * 2015-02-13 2016-08-18 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法

Patent Citations (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
US20070204128A1 (en) * 2003-09-10 2007-08-30 Super Talent Electronics Inc. Two-Level RAM Lookup Table for Block and Page Allocation and Wear-Leveling in Limited-Write Flash-Memories
US20070255889A1 (en) * 2006-03-22 2007-11-01 Yoav Yogev Non-volatile memory device and method of operating the device
JP2008146254A (ja) * 2006-12-07 2008-06-26 Sony Corp 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法
CN101539886A (zh) * 2008-03-21 2009-09-23 株式会社东芝 具有多个非易失性存储器器件的存储装置
US20090240870A1 (en) * 2008-03-21 2009-09-24 Kabushiki Kaisha Toshiba Storage apparatus with a plurality of nonvolatile memory devices
CN102243613A (zh) * 2010-05-12 2011-11-16 西部数据技术公司 管理固态存储器中垃圾收集的系统和方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114026506A (zh) * 2019-06-26 2022-02-08 三菱电机株式会社 可编程显示器及数据管理方法
CN114026506B (zh) * 2019-06-26 2022-06-07 三菱电机株式会社 可编程显示器及数据管理方法

Also Published As

Publication number Publication date
US20180253374A1 (en) 2018-09-06
US10719436B2 (en) 2020-07-21
JP2018147191A (ja) 2018-09-20
JP6618941B2 (ja) 2019-12-11
TW201833780A (zh) 2018-09-16

Similar Documents

Publication Publication Date Title
CN113138713B (zh) 存储器系统
US10430084B2 (en) Multi-tiered memory with different metadata levels
CN109726139A (zh) 存储器系统及控制方法
JP2020003838A (ja) メモリシステム
CN109791519A (zh) 具有集成计算引擎的非易失性存储系统和本地快速存储器的优化用途
US20140229654A1 (en) Garbage Collection with Demotion of Valid Data to a Lower Memory Tier
US11204705B2 (en) Retention-aware data tiering algorithm for hybrid storage arrays
CN101241472B (zh) 映射管理方法及系统
CN110389718A (zh) 存储系统及非易失性存储器的控制方法
CN107168884A (zh) 存储系统、信息处理系统及非易失性存储器的控制方法
CN107168640A (zh) 存储系统、信息处理系统及非易失性存储器的控制方法
CN107168885A (zh) 存储系统、信息处理系统及非易失性存储器的控制方法
US20120246397A1 (en) Storage device management device and method for managing storage device
CN108984420A (zh) 管理非易失性存储器(nvm)中的多个名称空间
CN110347338B (zh) 混合内存数据交换处理方法、系统及可读存储介质
CN109753234A (zh) 存储器系统及非易失性存储器的控制方法
CN110321249A (zh) 具有用于元数据的持久dram区域的ssd
CN106062724A (zh) 存储器模块上的数据管理
JP2021033848A (ja) メモリシステムおよび制御方法
KR20170052441A (ko) 중앙 집중 분산 시스템 및 그것의 동작 방법
CN109937449A (zh) 存储器管理
CN108986859A (zh) 具有可重写原地存储器的数据存储设备
CN108572923A (zh) 管理装置、信息处理装置以及管理方法
CN108536610A (zh) 管理装置、信息处理装置以及管理方法
CN112433957B (zh) 一种数据存取方法、数据存取系统及可读存储设备

Legal Events

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

Application publication date: 20180914