CN108572923A - 管理装置、信息处理装置以及管理方法 - Google Patents
管理装置、信息处理装置以及管理方法 Download PDFInfo
- Publication number
- CN108572923A CN108572923A CN201710759641.9A CN201710759641A CN108572923A CN 108572923 A CN108572923 A CN 108572923A CN 201710759641 A CN201710759641 A CN 201710759641A CN 108572923 A CN108572923 A CN 108572923A
- Authority
- CN
- China
- Prior art keywords
- page
- access
- access processing
- processing
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及管理装置、信息处理装置以及管理方法。延长非易失性存储部的寿命。实施方式的管理装置管理由处理电路对第一存储部以及包括多个页面的非易失性存储部进行的数据的读出和写入。管理装置具备设定存储部、存取处理部以及管理部。设定存储部存储表示关于多个页面中的各个页面执行第一存取处理或者第二存取处理中的哪一个的存取方法。管理部在被设定为第二存取处理的第三页面的品质为基准值以下的情况下,将针对第三页面的存取方法从第二存取处理变更为第一存取处理。
Description
技术领域
本发明的实施方式涉及管理装置、信息处理装置以及管理方法。
背景技术
NAND闪存等非易失性存储器可改写的次数少。因此,具备非易失性存储器的信息处理装置针对非易失性存储器进行损耗平衡控制。例如,信息处理装置管理按页面单位的数据的改写次数,针对在非易失性存储器中包含的多个页面平均地写入数据。由此,信息处理装置能够延长非易失性存储器的寿命。
但是,近年来,开发出被称为存储级存储器的高速的非易失性存储器。存储级存储器除了按页面单位的数据的改写,还能够进行按比页面小的例如字节单位的数据的改写。
但是,存储级存储器在针对某个特定的字节的数据的改写集中的情况下,尽管针对页面内的其它字节的数据的改写少,该页面的改写次数增加。因此,在具备存储级存储器的信息处理装置中,需要以使改写不集中到页面内的特定的字节的方式,针对存储级存储器高效地进行存取。
发明内容
本发明想要解决的课题在于延长非易失性存储部的寿命。
实施方式的管理装置管理由处理电路对第一存储部以及包括多个页面的非易失性存储部进行的数据的读出和写入。所述管理装置具备设定存储部、存取处理部以及管理部。所述设定存储部存储存取方法,该存取方法表示关于所述多个页面中的各个页面,执行针对从所述非易失性存储部传送到所述第一存储部的数据进行写入及读出的第一存取处理或者针对在所述非易失性存储部中存储的数据直接进行写入及读出的第二存取处理中的哪一个。所述存取处理部在针对被设定为所述第一存取处理的第一页面接受到写入或者读出的请求的情况下,执行所述第一存取处理,在针对被设定为所述第二存取处理的第二页面接受到写入或者读出的请求的情况下,执行所述第二存取处理。所述管理部在被设定为所述第二存取处理的第三页面的品质为基准值以下的情况下,将针对所述第三页面的存取方法从所述第二存取处理变更为所述第一存取处理。
根据上述管理装置,能够延长非易失性存储部的寿命。
附图说明
图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是示出信息处理装置的结构的第一变形例的图。
图26是示出信息处理装置的结构的第二变形例的图。
图27是示出信息处理装置的结构的第三变形例的图。
(符号说明)
10:信息处理装置;12:处理电路;14:第一存储部;16:非易失性存储部;18:存储器控制器;26:设定存储部;28:存取处理部;36:计数器存储部;38:管理信息存储部;40:更新部;50:管理部;60:要素存储器;70:模式切换部;80:非易失性存储模块。
具体实施方式
以下,参照附图,详细说明实施方式的信息处理装置10。此外,以下,说明多个实施方式,但对具有大致相同功能以及结构的块附加相同符号,在第二实施方式以后省略重复的内容的说明。
(第一实施方式)
图1是示出信息处理装置10的硬件结构的一个例子的图。信息处理装置10具备处理电路12、第一存储部14、非易失性存储部16以及存储器控制器18。
处理电路12具有一个或者多个处理器。处理器例如是CPU(Central ProcessingUnit,中央处理单元)。处理器也可以包括一个或者多个CPU核。处理电路12执行程序来处理数据。处理电路12根据程序的执行,从第一存储部14或者非易失性存储部16读出数据、或者在第一存储部14或者非易失性存储部16中写入数据。
另外,处理电路12具有L1数据高速缓存、L1命令高速缓存、L2高速缓存以及L3高速缓存等分级的高速缓存存储器。处理电路12使用这样的高速缓存存储器,临时地存储在非易失性存储部16中存储的数据。处理电路12例如在分级的高速缓存中的最下层的高速缓存(最后一级高速缓存)中出现高速缓存缺失的情况下,以高速缓存行单位存取第一存储部14或者非易失性存储部16来读出或者写入所需的数据。
此外,处理电路12只要能够执行数据处理,则可以是任意的电路。例如,处理电路12也可以是在GPGPU(General-purpose computing on Graphics Processing Unit,图形处理单元上的通用计算)中利用的GPU(Graphics Processing Unit,图形处理单元)。另外,处理电路12也可以是FPGA(Field Programmable Gate Array,现场可编程门阵列)等加速器。
第一存储部14是被用作由处理电路12利用的作业区域的主存储装置。第一存储部14例如是在停止电源的供给时存储的数据消失的易失性存储部。第一存储部14例如是DRAM(Dynamic Random Acces Memory,动态随机存取存储器)。此外,第一存储部14也可以是能够与DRAM同样地高速存取的MRAM(Magnetoresistive Random Acces Memory,磁阻式随机存取存储器)等非易失性存储器。
非易失性存储部16是即使停止电源的供给也能够继续存储数据的存储器。非易失性存储部16例如也可以与第一存储部14一起作为处理电路12的主存储器发挥功能。
非易失性存储部16例如包括容量比DRAM大的大容量高速非易失性存储器(non-volatile Memory)。非易失性存储部16例如是MRAM、PCM(Phase Change Memory,相变存储器)、PRAM(Phase Random Access Memory,相位随机存取存储器)、PCRAM(Phase ChangeRandom Access Memory,相变随机存取存储器)、ReRAM(Resistance Change RandomAccess Memory,电阻变化随机存取存储器)、FeRAM(Ferroelectric Random AccessMemory,铁电随机存取存储器)、3DXPoint或者Memristor等。非易失性存储部16也可以是被称为所谓存储级存储器(SCM)的存储器。另外,非易失性存储部16也可以是在一个基板或者框体等设置多个半导体装置的模块。
非易失性存储部16相比于第一存储部14,容量更大。另外,非易失性存储部16是与第一存储部14的存取速度等同或者稍慢的程度。另外,非易失性存储部16的待机电力是零或者待机电力比第一存储部14非常少。作为一个例子,非易失性存储部16是存取延迟为10n秒至几μ秒左右之间的存储器。
非易失性存储部16能够以字节单位等小区域单位写入以及读出数据。因此,处理电路12能够通过加载命令或者贮存命令,直接对非易失性存储部16进行存取。例如,处理电路12以例如高速缓存行单位等直接对非易失性存储部16进行存取。此外,非易失性存储部16也可以针对待机电力非常低且能够以字节单位等小区域单位存取的易失性存储器持续接入电力来实现。
另外,非易失性存储部16包括多个页面。页面是由处理电路12处理的数据的管理单位的数据区域。非易失性存储部16还能够以页面单位进行数据的写入以及读出。
存储器控制器18作为管理利用处理电路12针对第一存储部14以及非易失性存储部16读出和写入数据的管理装置发挥功能。存储器控制器18处理来自处理电路12的针对第一存储部14以及非易失性存储部16的存取请求。即,存储器控制器18根据来自处理电路12的写入命令,将数据写入到第一存储部14或者非易失性存储部16。另外,存储器控制器18根据来自处理电路12的读出命令,从第一存储部14或者非易失性存储部16读出数据,将读出的数据提供给处理电路12。
另外,存储器控制器18执行针对非易失性存储部16的损耗平衡控制。更具体而言,存储器控制器18管理非易失性存储部16中的每个区域的数据的改写次数。然后,存储器控制器18根据每个区域的改写次数,以在非易失性存储部16中的整体的区域中平均地写入数据的方式,控制数据的写入位置。
图2是示出第一实施方式的存储器控制器18的结构的图。图3是示出第一实施方式的变换表格的一个例子的图。图4是示出第一实施方式的未使用表格的一个例子的图。图5是示出第一存取处理以及第二存取处理的内容的图。图6是示出计数器表格的一个例子的图。
存储器控制器18具有设定存储部26、存取处理部28、计数器存储部36、更新部40以及管理部50。
设定存储部26存储变换表格和未使用表格。
变换表格例如如图3所示,关于处理电路12进行了存取请求的各个页面(激活的页面),存储请求地址和第一存储部14或者非易失性存储部16中的对应的页面编号的对应关系。即,变换表格存储表示与由处理电路12处理的请求地址对应的数据存储于第一存储部14或者非易失性存储部16中的哪一个页面的映射信息。
进而,变换表格存储表示关于处理电路12进行了存取请求的各个页面中的、表示非易失性存储部16的页面编号的页面执行第一存取处理或者第二存取处理中的哪一个的存取方法。
第一存取处理是针对从非易失性存储部16传送到第一存储部14的数据,进行写入以及读出的方法。第二存取处理是针对在非易失性存储部16中存储的数据直接进行写入以及读出的方法。
未使用表格如图4所示,存储表示关于在非易失性存储部16中包含的多个页面中的、处理电路12未进行存取请求的各个页面(非激活的页面)执行第一存取处理或者第二存取处理中的哪一个的存取方法。
因此,针对在非易失性存储部16中包含的所有页面中的各页面,通过变换表格或者未使用表格中的某一个,设定存取方法。此外,变换表格以及未使用表格不限于如图3以及图4所示的结构,也可以是其它结构。
存取处理部28处理来自处理电路12的针对第一存储部14以及非易失性存储部16的存取请求。即,存储器控制器18根据来自处理电路12的写入命令,将数据写入到第一存储部14或者非易失性存储部16。另外,存储器控制器18根据来自处理电路12的读出命令,从第一存储部14或者非易失性存储部16读出数据,将读出的数据提供给处理电路12。
在此,存取处理部28在针对被设定为第一存取处理的第一页面接受到写入或者读出的请求的情况下,针对非易失性存储部16,执行第一存取处理。
例如,如图5所示,在第一存取处理中,存取处理部28传送在非易失性存储部16中的第一页面中存储的所有数据,存储到第一存储部14。由此,第一存储部14能够存储在非易失性存储部16中的第一页面中存储的数据的拷贝。接下来,在第一存取处理中,存取处理部28针对在第一存储部14中存储的、从非易失性存储部16传送的数据,进行读出和写入。例如,存取处理部28针对从非易失性存储部16传送到第一存储部14的数据,以比页面小的尺寸(例如处理器的高速缓存行尺寸)进行数据的读出和写入。然后,在第一存取处理中,存取处理部28在第一存储部14的空闲容量消失而无法从非易失性存储部16向第一存储部14传送数据的情况以及判断为不需要在第一存储部14中预先存储的情况等下,将传送到第一存储部14的数据写回到非易失性存储部16中的第一页面。
此外,存取处理部28也可以将传送到第一存储部14的数据写回到第一页面(相同的位置)以外。例如,存取处理部28在第一存取处理中,将从非易失性存储部16传送到第一存储部14的数据写回到作为未与任何请求地址对应起来的未使用页面的、并且被设定为第一存取处理、并且、改写次数为预定值以下的页面即可。由此,存取处理部28能够执行减小每个页面的改写次数的间隔的损耗平衡控制,抑制特定的页面的品质劣化。
另外,存取处理部28在针对被设定为第二存取处理的第二页面接受到写入或者读出的请求的情况下,针对非易失性存储部16,执行第二存取处理。
例如,如图5所示,在第二存取处理中,存取处理部28针对非易失性存储部16中的第二页面,进行直接读出和写入。例如,存取处理部28以比页面小的尺寸进行数据的读出和写入。
这样,存取处理部28通过两种存取方法,对非易失性存储部16进行存取。例如,在执行对存储器存取的局部性高的应用的情况下,存取处理部28通过第一存取处理,存取在非易失性存储部16中存储的页面。由此,存取处理部28在执行对存储器存取的局部性高的应用的情况下,能够针对相同页面更高速地进行处理。
另外,例如,在如随机存取执行对存储器存取的局部性低的处理的情况下,存取处理部28通过第一存取处理,存取在非易失性存储部16中存储的页面。由此,存取处理部28在执行局部性低的处理的情况下,能够去掉从非易失性存储部16向第一存储部14的传送处理的开销(overhead),高效地进行处理。这样,存取处理部28通过使用第一存取处理以及第二存取处理这两种存取方法,能够实现处理的高效化。
计数器存储部36存储计数器表格。计数器表格储存关于在非易失性存储部16中包含的多个页面中的各个页面的、表示数据的改写次数的计数器值。
例如,计数器表格如图6所示,与在非易失性存储部16中包含的多个页面的编号对应地,存储计数器值。计数器值表示对应的页面被改写的次数。计数器值在工厂出厂时等初始时,例如设为0,每当被改写时增加(递增)1。此外,计数器表格不限于图6所示的结构,也可以是其它结构。
更新部40更新在计数器表格中存储的计数器值。更新部40在存取处理部28在非易失性存储部16中写入数据的情况下,取得写入的数据的地址信息,根据取得的地址信息,更新计数器值。
管理部50根据在计数器存储部36中存储的每个页面的计数器值,执行针对非易失性存储部16的损耗平衡控制。管理部50以在非易失性存储部16中的整体的区域中平均地写入数据的方式,控制被写入数据的页面。
在此,管理部50判断被设定为第二存取处理的第三页面的品质是否为基准值以下。例如,管理部50在被设定为第二存取处理的第三页面的写入次数为预定值以上的情况下,判断为品质为基准值以下即可。另外,管理部50在从被设定为第二存取处理的第三页面读出的数据的错误比特数为预定值以上的情况下,判断为品质为基准值以下即可。另外,管理部50并非使用写入次数或者错误比特数,而也可以通过其它方法,判断为品质为基准值以下。由于劣化以及摩耗等而产生品质降低。品质是基准值以下是指,换言之例如,劣化(的程度)或者摩耗(的程度)是基准值以上。管理部50通过检测错误比特数、或者检测改写次数,能够判断品质劣化。
管理部50在被设定为第二存取处理的第三页面的品质为基准值以下的情况下,将针对第三页面的存取方法从第二存取处理变更为第一存取处理。
进而,管理部50在第三页面的品质为基准值以下的情况下,将被设定第二存取处理且未使用、并且改写次数满足预先确定的基准的页面选择为第四页面。例如,管理部50参照计数器表格以及未使用表格,选择第四页面。改写次数满足预先确定的基准的页面例如既可以是改写次数最小的页面,也可以是改写次数为预先确定的次数以下的页面。
另外,管理部50在第三页面的品质为基准值以下的情况下,使在第三页面中存储的数据移动到被设定为第二存取处理的第四页面。进而,管理部50从在设定存储部26中存储的未使用表格删除第四页面,在变换表格中登记第四页面。然后,管理部50针对在变换表格中登记的第四页面,将与第三页面对应起来的请求地址对应起来。
进而,管理部50将第三页面变更为未与任何请求地址对应起来的未使用页面。例如,管理部50从变换表格删除第三页面,在未使用表格中登记第三页面。
图7是示出第一实施方式的管理部50的处理的流程图。管理部50例如执行图7所示的处理。
首先,在S11中,管理部50判断被设定为第二存取处理的第三页面的品质是否为基准值以下。判断的定时可以是任意的定时。
例如,管理部50也可以在被设定为第二存取处理的第三页面的写入次数被更新的定时,判断写入次数是否为预定值以上。另外,管理部50也可以在从第三页面读出数据的定时,判断读出的数据的错误比特数是否为预定值以上。
管理部50在第三页面的品质并非基准值以下的情况下(S11的“否”),结束本流程。管理部50在第三页面的品质为基准值以下的情况下(S11的“是”),使处理进入到S12。
在S12中,管理部50执行设定变更处理。参照图8,说明设定变更处理。管理部50在结束设定变更处理后,结束本流程。
图8是示出第一实施方式的设定变更处理的流程图。图9是示出第一实施方式中的变换表格以及未使用表格的变更例的图。
管理部50在图7的S12的设定变更处理中,执行图8所示的S21~S25的处理。
首先,在S21中,管理部50选择第四页面。具体而言,管理部50参照在设定存储部26中存储的未使用表格,检测作为未使用页面的、并且存取方法被设定为第二存取处理的一个以上的页面。然后,管理部50参照在计数器存储部36中存储的计数器表格,选择检测到的一个以上的页面中的、改写次数满足预先确定的基准的页面。改写次数满足预先确定的基准的页面既可以是改写次数最小的页面,也可以是改写次数为预先确定的次数以下的页面。
接下来,在S22中,管理部50对非易失性存储部16进行存取,使在第三页面中存储的数据移动到被设定为第二存取处理的第四页面。例如,管理部50读出在第三页面中存储的数据,写入到第四页面。然后,管理部50如图9所示,删除未使用表格中的第四页面(页面编号“0052”)的条目,在变换表格中新追加第四页面的条目。
接下来,在S23中,管理部50针对第四页面,将与第三页面对应起来的请求地址对应起来。例如,如图9所示,管理部50在变换表格中追加的第四页面的条目中,存储在第三页面的条目中存储的请求地址(“1101”)。
接下来,在S24中,管理部50将第三页面变更为未与任何请求地址对应起来的未使用页面。例如,如图9所示,管理部50删除变换表格中的第三页面(页面编号“0001”)的条目,在未使用表格中新追加第三页面的条目。
接下来,在S25中,管理部50将针对第三页面的存取方法从第二存取处理变更为第一存取处理。例如,管理部50如图9所示,将未使用表格中的第三页面的条目中的存取方法,从第二存取处理变更为第一存取处理。
然后,管理部50在结束S25的处理后,使处理返回到图7的流程。
图10是示出通过进行了纠错的比特数判断品质的情况的管理部50的处理的流程图。管理部50也可以通过进行了纠错的比特数,判断被设定为第二存取处理的页面的品质是否为基准值以下。在该情况下,管理部50执行图10所示的S31~S35的处理。
首先,在S31中,管理部50判断是否发出了针对被设定为第二存取处理的第三页面的读出请求。在未发出相应的读出请求的情况下(S31的“否”),管理部50使处理在S31中待机。在发出了相应的读出请求的情况下(S31的“是”),管理部50使处理进入到S32。
接下来,在S32中,管理部50判断针对从第三页面读出的数据通过ECC(ErrorCheck and Correct Memory,错误检查和纠正存储器)进行了纠错的比特数是否为预定数以上。
管理部50在能够通过ECC纠正三比特量的错误的情况下,例如,判断是否发生了两比特(或者一比特)的错误。另外,例如,管理部50在能够通过ECC纠正两比特量的错误的情况下,例如,判断是否发生了一比特的错误。即,管理部50判断是否发生了比能够通过ECC纠正错误的最大的比特小的比特数相当量的错误。由此,管理部50能够在达到改写次数的界限值之前,将第三页面的存取方法从第二存取处理变更为第一存取处理。
在通过ECC进行了纠错的比特数并非预定数以上的情况下(S32的“否”),管理部50使处理进入到S33。在S33中,管理部50使存取处理部28针对第三页面继续进行第二存取处理。
在通过ECC进行了纠错的比特数为预定数以上的情况下(S32的“是”),管理部50使处理进入到S34。在S34中,管理部50执行图8的S21~S25所示的设定变更处理。在结束S34的处理后,管理部50使处理进入到S35。在S35中,管理部50使存取处理部28,针对第四页面继续进行第二存取处理。
然后,管理部50在结束S33或者S35的处理后,结束本流程。
(效果)
在执行第一存取处理的情况下,更新部40能够以页面单位管理向非易失性存储部16的改写次数。因此,在管理部50中,如果以使例如向特定的页面的改写不集中的方式,向非易失性存储部16写回数据,则能够容易地执行平均化。另外,在执行第一存取处理的情况下,根据来自处理电路12的存取请求,存取传送到第一存储部14的数据,所以管理部50能够减少针对非易失性存储部16的改写次数。
另一方面,在执行第二存取处理的情况下,根据来自处理电路12的所有存取请求,改写非易失性存储部16,所以管理部50存在针对某个特定的字节的改写集中,针对非易失性存储部16的改写次数变多的可能性。因此,在大量执行了第二存取处理的情况下,非易失性存储部16在短时间内达到改写次数的界限值的可能性高。
但是,管理部50在第三页面的品质为基准值以下的情况下,将针对第三页面的存取方法从第二存取处理变更为第一存取处理。由此,管理部50能够将接近改写次数的界限值的第三页面切换为减少改写次数的存取方法。因此,管理部50能够使改写次数更平均化,延长非易失性存储部16的寿命。
进而,管理部50在第三页面的品质为基准值以下的情况下,使在第三页面中存储的数据移动到被设定为第二存取处理的第四页面,所以能够用相同存取方法继续进行从处理电路12发出的存储器存取。进而,管理部50将改写次数比较少的页面选择为第四页面,所以能够使改写次数更平均化,延长非易失性存储部16的寿命。
如以上所述,根据第一实施方式的信息处理装置10,能够高效地对非易失性存储部16进行存取来延长非易失性存储部16的寿命。
(第二实施方式)
图11是示出第二实施方式的管理部50的处理的流程图。在第二实施方式中,管理部50例如执行图11所示的S41~S45的处理。
首先,在S41中,管理部50判断是否发出了针对被设定为第二存取处理的第三页面的读出请求。在未发出相应的读出请求的情况下(S41的“否”),管理部50使处理在S41中待机。在发出了相应的读出请求的情况下(S41的“是”),管理部50使处理进入到S42。
接下来,在S42中,管理部50判断针对从第三页面读出的数据通过ECC进行了纠错的比特数是否为预定数以上。在通过ECC进行了纠错的比特数并非预定数以上的情况下(S42的“否”),管理部50使处理进入到S43。在S43中,管理部50使存取处理部28针对第三页面继续进行第二存取处理。
在通过ECC进行了纠错的比特数为预定数以上的情况下(S42的“是”),管理部50使处理进入到S44。在S44中,管理部50将针对第三页面的存取方法从第二存取处理变更为第一存取处理。在结束S44的处理后,管理部50使处理进入到S45。在S45中,管理部50使存取处理部28针对第三页面继续进行第一存取处理。
然后,管理部50在结束S43或者S45的处理后,结束本流程。
如以上所述,在第二实施方式中,管理部50在被设定为第二存取处理的第三页面的品质为基准值以下的情况下,将针对第三页面的存取方法从第二存取处理变更为第一存取处理。但是,管理部50不使在第三页面中存储的数据移动到被设定为第二存取处理的第四页面。
因此,管理部50无法用相同存取方法继续进行从处理电路12发出的存储器存取。但是,管理部50将针对第三页面的存取方法从第二存取处理变更为第一存取处理,所以至少能够将接近改写次数的界限值的第三页面以后切换为减少改写次数的存取方法。
如以上所述,根据第二实施方式的信息处理装置10,能够使针对非易失性存储部16的改写次数平均化,延长非易失性存储部16的寿命。
(第三实施方式)
图12是示出第三实施方式的非易失性存储部16的图。非易失性存储部16包括多个页面。在第三实施方式中,多个页面中的各个页面包括多个子页面中的各子页面。
子页面是由处理电路12处理数据的管理单位即可。处理电路12能够以子页面单位,写入以及读出数据。此外,在本实施方式中,称为子页面,但也可以是其它名称。
图13是示出第三实施方式的变换表格的一个例子的图。第三实施方式的变换表格如图13所示,关于各个页面,存储针对页面整体的存取方法或者针对包含的多个子页面中的各子页面的存取方法中的某一个。另外,在变换表格中,例如,关于对针对页面整体的存取方法设定的页面,存储与该页面对应的请求存取。另外,在变换表格中,在设定了针对子页面的存取方法的情况下,存储与该子页面对应的请求地址。
因此,在第三实施方式中,管理部50能够针对页面的整体设定执行第一存取处理还是执行第二存取处理。进而,管理部50能够关于未针对页面整体设定存取方法的页面,设定针对包含的各个子页面执行第一存取处理还是执行第二存取处理。此外,变换表格不限于图13所示的结构,也可以是其它结构。
图14是示出第三实施方式的未使用表格的一个例子的图。第三实施方式的未使用表格如图14所示,关于在非易失性存储部16中包含的多个页面中的、处理电路12未进行存取请求的各个页面或者各个子页面,存储存取方法。
例如,在未使用表格中,如果页面整体未使用、且针对在该页面中包含的所有子页面的存取方法相同,则存储针对该页面的整体的存取方法。另外,在未使用表格中,关于一部分的子页面未使用的页面或者存取方法针对每个子页面不同的页面,不存储针对页面整体的存取方法而存储每个子页面的存取方法。此外,未使用表格不限于如图14所示的结构,也可以是其它结构。
图15是示出第三实施方式的设定变更处理的流程图。图16是示出第三实施方式中的变换表格以及未使用表格的变更例的图。
第三实施方式的管理部50在图7的S12的设定变更处理中,执行图15所示的S51~S58的处理。
首先,在S51中,管理部50确定在第三页面中包含的多个子页面中的品质为基准值以下的第一子页面。例如,将通过ECC进行了纠错的比特数为预定值以上的子页面确定为第一子页面。
接下来,在S52中,管理部50选择第二子页面。例如,管理部50将被设定第二存取处理且未使用、并且改写次数满足预先确定的基准的子页面选择为第二子页面。改写次数满足预先确定的基准的子页面既可以是改写次数最小的子页面,也可以是改写次数为预先确定的次数以下的子页面。
接下来,在S53中,管理部50使在第一子页面中存储的数据移动到被设定为第二存取处理的第二子页面。例如,管理部50读出在第一子页面中存储的数据,写入到第二子页面。进而,管理部50如图16所示,删除未使用表格中的第二子页面(页面编号以及子页面编号“0052/3”)的条目,在变换表格中新追加第二子页面的条目。进而,管理部50在变换表格中,新追加第三页面中的、第一子页面以外的子页面(页面编号以及子页面编号“0001/0”、“0001/1”、“0001/2”)的条目。
接下来,在S54中,管理部50针对第二子页面,将与第一子页面对应起来的请求地址对应起来。例如,如图16所示,管理部50在变换表格中追加的第二子页面的条目中,存储与第一子页面对应起来的请求地址(“1101/3”)。
接下来,在S55中,管理部50针对第三页面中的、第一子页面以外的子页面,将请求地址对应起来。例如,如图16所示,管理部50在变换表格中追加的第三页面中的第一子页面以外的子页面的条目中,存储请求地址(“1101/0”、“1101/1”、“1101/2”)。
接下来,在S56中,管理部50将第一子页面变更为未与任何请求地址对应起来的未使用子页面。例如,如图16所示,管理部50删除变换表格中的第三页面(页面编号以及子页面编号“0001/整体”)的条目,在未使用表格中新追加第一子页面(页面编号以及子页面编号“0001/3”)的条目。
接下来,在S57中,管理部50将针对第一子页面的存取方法从第二存取处理变更为第一存取处理。例如,管理部50如图16所示,将未使用表格中的第一子页面的条目中的存取方法从第二存取处理变更为第一存取处理。
接下来,在S58中,管理部50将针对第三页面中的、第一子页面以外的子页面的存取方法设定为第二存取处理。例如,管理部50如图16所示,将变换表格中的第一子页面以外的子页面(页面编号以及子页面编号“0001/0”、“0001/1”、“0001/2”)的条目中的存取方法设定为第二存取处理。
然后,管理部50在结束S58的处理后,使处理返回到图7的流程。
在非易失性存储部16的容量变大时,变换表格的尺寸也变大,地址变换效率变差。为了减小变换表格,必须减小页面的尺寸。但是,在页面的尺寸大时,在从第二存取处理切换到第一存取处理的情况下,大量包括改写次数少的区域的可能性变高。因此,在第三实施方式中,管理部50在从第二存取处理切换到第一存取处理的情况下,以比页面小的子页面的尺寸进行切换,关于改写次数少的区域,在第二存取处理中进行存取。由此,第三实施方式的管理部50能够将最小限的区域切换为第二存取处理,高效地延长非易失性存储部16的寿命。
(第四实施方式)
图17是示出第四实施方式的非易失性存储部16的结构的图。第四实施方式的非易失性存储部16能够单独地更换,包括分别设定了优先级的多个要素存储器60。
要素存储器60是在物理上集中的单位的存储器,既可以是一个半导体存储器,也可以是如插入到一个插槽的DIMM(Dual Inline Memory Module,双列直插式存储器模块)的存储器基板。另外,在各个要素存储器60中设定的优先级能够由管理部50识别即可,所以也可以各个要素存储器60不存储优先级。
图18是示出第四实施方式的第四页面的选择处理的流程图。在选择第四页面的情况下,管理部50选择多个要素存储器60中的、作为改写次数满足预定条件的要素存储器60的并且优先级最高的要素存储器60,从选择出的要素存储器60中选择第四页面。
例如,管理部50在选择第四页面的情况下,执行图18所示的S61~S64的处理。
首先,在S61中,管理部50选择优先级最高的要素存储器60。接下来,在S62中,管理部50判断选择出的要素存储器60中的平均的改写次数是否为预定值以下。此外,管理部50也可以判断改写次数的总和是否为预定值以下。例如,也可以在处理电路12中执行的操作系统监视各个要素存储器60中的改写次数,选择满足条件的要素存储器60。在该情况下,管理部50从处理电路12取得是否满足条件(例如改写次数的平均是否为预定值以下)的信息。
在平均的改写次数并非预定值以下的情况下(S62的“否”),管理部50使处理进入到S63。在S63中,管理部50选择优先级第二高的要素存储器60,使处理进入到S62。在该情况下,在S62中,管理部50针对选择出的要素存储器60执行同样的处理,直至选择平均的改写次数为预定值以下的要素存储器60,反复进行S62以及S63的处理。
在平均的改写次数为预定值以下的情况下(S62的“是”),管理部50使处理进入到S64。在S64中,管理部50从选择出的要素存储器60中选择第四页面。在该情况下,管理部50以使要素存储器60内的改写次数平均化的方式,选择第四页面。
通过以上的处理,管理部50能够选择第四页面。此外,管理部50即使在选择第三实施方式的第二子页面的情况下,也可以执行同样的处理。
第四实施方式的信息处理装置10通过这样选择第四页面,能够从优先级高的要素存储器60起依次使用。由此,信息处理装置10例如在需要更换要素存储器60的情况下,能够不将全部的要素存储器60一并更换,而更换一部分的要素存储器60。此外,信息处理装置10也可以将平均的使用次数超过预定数的要素存储器60切换为经由例如设备接口等连接的存储设备用。
(第五实施方式)
图19是示出第五实施方式的存储器控制器18的结构的图。第五实施方式的存储器控制器18还具有模式切换部70。
模式切换部70在信息处理装置10达到预定状态以前设定为第一模式,在达到预定状态之后切换为第二模式。然后,模式切换部70将当前的模式提供给存取处理部28。例如,模式切换部70在从开始使用信息处理装置10到预先确定的定时的期间(第一期间)中,设定为第一模式。然后,模式切换部70在从开始使用信息处理装置10起经过预先确定的定时之后的期间(第二期间)中,设定为第二模式。
图20是示出第二模式下的存取处理部28的处理的流程的流程图。在第二模式、即达到预定状态之后的第二期间中,例如,存取处理部28执行图20所示的S71至S76所示的处理。
首先,在S71中,存取处理部28判断是否检测到针对非易失性存储部16的存取请求(读出请求或者写入请求)。在未检测到存取请求的情况下(S71的“否”),存取处理部28使处理在S71中待机。在检测到存取请求的情况下(S71的“是”),存取处理部28使处理进入到S72。
在S72中,存取处理部28判断存取目的地的页面是否被设定为第一存取处理。在被设定为第一存取处理的情况下(S72的“是”),存取处理部28使处理进入到S73。然后,在S73中,存取处理部28执行第一存取处理。即,在第二模式中,在针对被设定为第一存取处理的第一页面接受到写入或者读出的请求的情况下,存取处理部28执行第一存取处理。
在未被设定为第一存取处理的情况(S72的“否”)、即被设定为第二存取处理的情况下,存取处理部28使处理进入到S74。在S74中,存取处理部28判断存取请求是否为读出请求。
在接受到读出请求的情况下(S74的“是”),存取处理部28在S75中,执行第二存取处理。即,在第二模式中,针对被设定为第二存取处理的第二页面接受到读出的请求的情况下,存取处理部28执行第二存取处理。
在未接受到读出请求的情况、即接受到写入请求的情况下(S74的“否”),存取处理部28在S76中,执行第一存取处理。即,在第二模式中,针对被设定为第二存取处理的第二页面接受到写入的请求的情况下,存取处理部28执行第一存取处理。然后,存取处理部28在结束S73或者S74后,结束本流程。
此外,存取处理部28也可以不在S76中代替执行第一存取处理而执行写入。即,在该情况下,在第二模式中,针对被设定为第二存取处理的第二页面接受到写入的请求的情况下,存取处理部28不进行写入。
在将被设定为第二存取处理的页面的存取方法变更为第一存取处理后,最终地,被设定为第二存取处理的页面消失。在本实施方式中,模式切换部70在被设定为第二存取处理的页面消失之前的阶段中,从第一模式切换为第二模式。在第二模式中,存取处理部28能够通过第二存取处理读出。但是,在第二模式中,存取处理部28针对被设定为第二存取处理的页面,在第一存取处理中进行写入(或者不进行写入)。
由此,存取处理部28能够在第二模式中,减少如产生存取方法的切换的写入。但是,存取处理部28能够至少通过第二存取处理继续读出。
此外,从第一模式切换到第二模式的定时例如是针对非易失性存储部16的改写次数的总数超过预先确定的阈值的时间点即可。另外,切换定时也可以是将存取方法从第二存取处理变更为第一存取处理的页面的数量超过阈值的时间点。另外,切换定时也可以是可选择的第四页面的数量低于预定数的时间点。另外,切换定时也可以是某个物理量超过阈值的时间点。
另外,切换定时也可以是从开始使用信息处理装置10起经过预定的时间的时间点。另外,切换定时也可以是从由处理电路12执行的应用或者操作系统接受到预定的通知的时间点。
例如,利用机械学习中的深度学习的嵌入机器等在从机器使用开始起一定期间内,进行深度学习的网络或者神经网络的训练。在这样的机器中应用信息处理装置10的情况下,处理电路12在训练期间中,使网络等的数据存储到非易失性存储部16,所以在第二存取处理中进行数据的更新。但是,在结束训练期间之后,处理电路12不向非易失性存储部16写入。
其中,处理电路12即使在结束训练期间之后,为了执行认识处理,通过第二存取处理读出数据。因此,模式切换部70也可以在训练期间中设定为第一模式,在结束训练之后的期间中设定为第二模式。由此,存取处理部28能够在训练期间中,在非易失性存储部16中通过第二存取处理进行写入,能够在训练期间中,从非易失性存储部16通过第二存取处理进行读出。
(第六实施方式)
图21是示出第六实施方式的存储器控制器18的结构的图。第六实施方式的存储器控制器18还具有管理信息存储部38。
管理信息存储部38存储管理表格。管理表格具有预定个的条目。能够在各个条目中,储存管理信息。即,管理表格能够储存关于预定个的第一区域(页面)的各个的管理信息。管理表格可储存的管理信息的数量比在非易失性存储部16中包含的第一区域的数量少。管理表格储存关于处理电路12最近存取过非易失性存储部16的第一区域(激活的第一区域(激活的页面))的管理信息。管理表格在条目众多的情况下,删掉例如最旧的管理信息(从存取起经过最长时间的管理信息),储存新的管理信息。
管理信息表示在对应的第一区域中包含的多个第二区域(高速缓存行)中的各区域是已写入还是未写入。例如,在管理信息中,在对应的第一区域中存储的数据中未写入任何数据的情况下,在对应的第一区域中包含的多个第二区域的所有状态成为未写入。在管理信息中,在未写入任何数据的第一区域中包含的任意个第二区域中写入数据的情况下,该第二区域的状态成为已写入,其它写入区域的状态成为未写入。此外,参照图22,进一步说明管理表格以及管理信息。
更新部40更新在计数器表格中储存的各个计数器值以及在管理表格中储存的各个管理信息。更新部40在处理电路12在非易失性存储部16中写入数据的情况下,取得写入的数据的地址信息,根据取得的地址信息,更新计数器值以及地址信息。参照图23以及图24,进一步说明更新部40的具体的处理步骤。
图22是示出第六实施方式的管理表格的一个例子的图。管理表格具有用于储存管理信息的预定个的条目。例如,在图22的例子中,管理表格具有64个条目。
各个条目储存管理信息。管理信息包括识别信息和映射信息。
识别信息是用于识别该管理信息管理的第一区域(页面)的编号(页面编号)。更新部40通过参照识别信息,能够判断该条目储存管理哪一个第一区域的管理信息。
映射信息表示在对应的第一区域(页面)中包含的多个第二区域(高速缓存行)中的各区域是已写入还是未写入。映射信息包括与在第一区域(页面)中包含的多个第二区域(高速缓存行)中的各区域对应的比特。
例如,映射信息包括与高速缓存行编号对应的比特。例如,在一个页面内包括64个高速缓存行的情况下,映射信息包括64个比特。各个比特在例如是1的情况下,表示对应的高速缓存行是已写入。另外,各个比特在例如是0的情况下,表示对应的高速缓存行是未写入。
此外,管理表格不在所有条目中储存管理信息即可。即,管理表格也可以具有未使用条目。
图23是示出第六实施方式的由更新部40实施的处理的流程的流程图。更新部40依照图23以及图24所示的流程图,更新计数器表格以及管理表格。
首先,在S111中,更新部40检测是否在非易失性存储部16中进行数据的写入。更新部40在不进行写入的情况下(S111的“否”),使处理在S111中待机,在进行写入的情况下(S111的“是”),使处理进入到S112。
在S112中,更新部40判断关于作为被写入写入对象的数据(第一数据)的第一区域的对象第一区域(对象页面)的管理信息是否存在于管理表格。例如,更新部40判断包括与在地址信息中包含的页面编号相同的页面编号的管理信息是否储存于管理表格。
在管理表格中不存在关于对象第一区域的管理信息的情况、例如包括与在地址信息中包含的页面编号相同的页面编号的管理信息未储存于管理表格的情况下(S112的“否”),更新部40使处理进入到S113。在S113中,更新部40执行管理信息生成处理。参照图24,说明管理信息生成处理。更新部40在结束了管理信息生成处理的情况下,结束本流程,对接下来的写入进行待机。
在管理表格中存在关于对象第一区域的管理信息的情况、例如包括与在地址信息中包含的页面编号相同的页面编号的管理信息储存于管理表格的情况下(S112的“是”),更新部40使处理进入到S114。
在S114中,更新部40判断在关于对象第一区域的管理信息中示出的作为被写入第一数据的第二区域的对象第二区域的状态是否为已写入。例如,更新部40参照与在地址信息中包含的页面编号对应的管理信息中的映射信息,判断与在地址信息中包含的高速缓存行编号对应的比特是否为1。
更新部40在对象第二区域的状态是未写入的情况、例如与在地址信息中包含的高速缓存行编号对应的比特是0的情况下(S114的“否”),使处理进入到S115。在S115中,更新部40将在关于对象第一区域的管理信息中示出的对象第二区域的状态从未写入变更为已写入。例如,更新部40将对应的比特从0变更为1。由此,更新部40能够将被写入第一数据之后的非易失性存储部16的状态反映到管理表格。更新部40在结束了S115的处理的情况下,结束本流程,对接下来的写入进行待机。
更新部40在关于对象第一区域的管理信息中示出的对象第二区域的状态是已写入的情况、例如与在地址信息中包含的高速缓存行编号对应的比特是1的情况下(S114的“是”),使处理进入到S116。在S116中,更新部40将在关于对象第一区域的管理信息中示出的对象第二区域以外的第二区域的状态变更为未写入。即,更新部40仅使在关于对象第一区域的管理信息中示出的对象第二区域成为已写入,使其它第二区域成为未写入。例如,更新部40仅使对应的比特成为1,使其它比特成为0。
由此,更新部40能够将针对对象第二区域写入第一数据之后的非易失性存储部16的状态反映到管理表格。
更新部40在结束S116后,使处理进入到S117。在S117中,更新部40更新关于对象第一区域的计数器值。例如,更新部40使计数器表格中的、与在地址信息中包含的页面编号对应的计数器值增加1。由此,更新部40能够更新对象第一区域的改写次数。
此外,更新部40也可以将S116和S117的处理反过来执行。更新部40在结束了S116以及S117的处理的情况下,结束本流程,对接下来的写入进行待机。
图24是示出第六实施方式的由更新部40实施的管理信息生成处理的流程的流程图。更新部40在图23的S113中的管理信息生成处理中,执行图24所示的S121至S125的处理。
首先,在S121中,更新部40判断在管理表格中是否有未使用条目。即,更新部40判断未储存管理信息的条目是否存在于管理表格。
在有未使用条目的情况下(S121的“是”),更新部40使处理进入到S122。在S122中,更新部40在未使用条目中写入关于对象第一区域的管理信息。即,更新部40将包括识别对象第一区域的识别信息和仅使对象第二区域成为已写入且使其它区域成为未写入的映射信息的管理信息写入到未使用条目。例如,更新部40将在地址信息中包含的页面编号和仅使与在地址信息中包含的高速缓存行编号对应的比特成为1且使其它比特成为0的映射信息写入到未使用条目。
由此,更新部40能够将被写入第一数据之后的非易失性存储部16的状态反映到管理表格。更新部40在结束了S122的处理的情况下,使处理返回到图23的流程。
在没有未使用条目的情况下(S121的“否”),更新部40使处理进入到S123。在S123中,更新部40从管理表格,选择任意个使用中条目。例如,更新部40选择储存有最旧的管理信息的使用中条目。此外,更新部40也可以依照其它算法选择任意个使用中条目。
更新部40在结束S123后,使处理进入到S124。在S124中,更新部40删掉在选择出的使用中条目中写入的管理信息,写入关于对象第一区域的管理信息。即,更新部40在选择出的使用中条目中,盖写包括识别对象第一区域的识别信息和仅使对象第二区域成为已写入且使其它区域成为未写入的映射信息的管理信息。例如,更新部40在选择出的使用中条目中,盖写在地址信息中包含的页面编号和仅使与在地址信息中包含的高速缓存行编号对应的比特成为1且使其它比特成为0的映射信息。
由此,更新部40能够从管理表格删掉选择出的管理信息(例如最旧的管理信息),将新的管理信息储存到管理表格。然后,更新部40能够将被写入第一数据之后的非易失性存储部16的状态反映到管理表格。
更新部40在结束S124后,使处理进入到S125。在S125中,更新部40更新关于利用从管理表格删掉的管理信息管理的第一区域的计数器值。例如,更新部40使计数器表格中的、与在删掉的管理信息中包含的页面编号对应的计数器值增加1。
通过执行S125的处理,更新部40能够假设为关于结束了使用管理表格的管理的第一区域追记数据,更新改写次数。由此,更新部40能够关于未利用管理表格积极地进行管理的第一区域,推测改写次数。
此外,更新部40也可以将S124和S125的处理反过来执行。更新部40在结束了S124以及S125的处理的情况下,使处理返回到图23的流程。
如以上所述,本实施方式的信息处理装置10存储比在非易失性存储部16中包含的第一区域(页面)的数量少的数量的管理信息。由此,根据本实施方式的信息处理装置10,能够减少管理表格的条目数,所以能够减少管理信息存储部38的存储容量。
进而,本实施方式的信息处理装置10关于未利用管理表格管理的第一区域,在从管理表格删掉管理信息的定时,更新计数器值。由此,根据本实施方式的信息处理装置10,能够高精度地推测关于在非易失性存储部16中包含的所有第一区域(页面)的改写次数。
(变形例)
图25是示出信息处理装置10的结构的第一变形例的图。例如,第一变形例的处理电路12在内部具备存储器控制器18。第一变形例的第一存储部14以及非易失性存储部16设置于该处理电路12的外部。
图26是示出信息处理装置10的结构的第二变形例的图。例如,第二变形例的处理电路12在内部具备存储器控制器18。第二变形例的处理电路12在内部还具备第一存储部14。第一存储部14例如也可以是处理器内的SRAM(Static Random Access Memory,静态随机存取存储器)。
图27是示出信息处理装置10的结构的第三变形例的图。例如,信息处理装置10也可以具备处理电路12和非易失性存储模块80。在该情况下,非易失性存储模块80具有非易失性存储部16和存储器控制器18。
以上,虽然说明了本发明的几个实施方式,但这些实施方式仅为例示,未限定发明的范围。这些新的实施方式能够以其它各种方式实施,能够在不脱离发明的要旨的范围内,进行各种省略、置换、变更。这些实施方式、其变形包含于发明的范围、要旨,并且包含于权利要求记载的发明和其均等的范围内。
此外,能够将上述实施方式总结为以下的技术方案。
技术方案1
一种管理装置,管理由处理电路对第一存储部以及包括多个页面的非易失性存储部进行的数据的读出和写入,其中,具备:
设定存储部,存储存取方法,该存取方法表示关于所述多个页面中的各个页面,执行针对从所述非易失性存储部传送到所述第一存储部的数据进行写入及读出的第一存取处理或者针对在所述非易失性存储部中存储的数据直接进行写入及读出的第二存取处理中的哪一个;
存取处理部,在针对被设定为所述第一存取处理的第一页面接受到写入或者读出的请求的情况下,执行所述第一存取处理,在针对被设定为所述第二存取处理的第二页面接受到写入或者读出的请求的情况下,执行所述第二存取处理;以及
管理部,在被设定为所述第二存取处理的第三页面的品质为基准值以下的情况下,将针对所述第三页面的存取方法从所述第二存取处理变更为所述第一存取处理。
技术方案2
根据技术方案1所述的管理装置,其中,
所述存取处理部
在所述第一存取处理中,针对从所述非易失性存储部中的所述第一页面传送到所述第一存储部的数据进行读出和写入,将传送到所述第一存储部的数据写回到所述非易失性存储部,
在所述第二存取处理中,针对所述非易失性存储部中的所述第二页面,直接读出和写入数据。
技术方案3
根据技术方案1或者2所述的管理装置,其中,
所述管理部在所述第三页面的品质为基准值以下的情况下,使在所述第三页面中存储的数据移动到被设定为所述第二存取处理的第四页面。
技术方案4
根据技术方案3所述的管理装置,其中,
所述设定存储部关于被从所述处理电路进行了数据的读出或者写入的各个页面,存储被从所述处理电路请求的请求地址,
所述管理部
针对所述第四页面,将与所述第三页面对应起来的请求地址对应起来,
将所述第三页面变更为未与任何请求地址对应起来的未使用页面。
技术方案5
根据技术方案1至4中的任意一项所述的管理装置,其中,
所述管理部在所述第三页面的改写次数为预定值以上的情况下,将针对所述第三页面的存取方法从所述第二存取处理变更为所述第一存取处理。
技术方案6
根据技术方案1至4中的任意一项所述的管理装置,其中,
所述管理部在从所述第三页面读出的数据的错误比特数为预定值以上的情况下,将针对所述第三页面的存取方法从所述第二存取处理变更为所述第一存取处理。
技术方案7
根据技术方案3所述的管理装置,其中,
还具备计数器存储部,该计数器存储部关于在所述非易失性存储部中包含的所述多个页面中的各个页面,存储改写次数,
所述管理部将被设定所述第二存取处理且未使用、并且改写次数满足预先确定的基准的页面选择为所述第四页面。
技术方案8
根据技术方案1至7中的任意一项所述的管理装置,其中,
所述存取处理部在所述第一存取处理中,将从所述非易失性存储部传送到所述第一存储部的数据,写回到如下页面,该页面是未与任何请求地址对应起来的未使用页面,并且被设定为所述第一存取处理且改写次数为预定值以下。
技术方案9
根据技术方案1所述的管理装置,其中,
所述多个页面中的各个页面包括多个子页面,
所述设定存储部关于所述多个页面中的各个页面,存储针对页面整体的存取方法或者针对包含的所述多个子页面中的各子页面的存取方法,
所述管理部在页面整体被设定为所述第二存取处理的所述第三页面的品质为基准值以下的情况下,使在所述第三页面中包含的所述多个子页面中的品质为基准值以下的第一子页面中存储的数据移动到被设定为所述第二存取处理的第二子页面,
将所述第一子页面的存取方法设定为所述第一存取处理,
将在所述第三页面中包含的所述第一子页面以外的各个子页面的存取方法设定为所述第二存取处理。
技术方案10
根据技术方案9所述的管理装置,其中,
所述设定存储部关于被从所述处理电路进行了数据的读出或者写入的各个页面或者各个子页面,存储对应的请求地址,
在所述管理部中,
针对所述第二子页面,将与所述第一子页面对应起来的所述请求地址对应起来,
针对所述第三页面中的所述第一子页面以外的各个子页面,将对应的所述请求地址对应起来,
将所述第一子页面变更为未与任意的所述请求地址对应起来的未使用子页面。
技术方案11
根据技术方案3所述的管理装置,其中,
所述非易失性存储部能够单独地更换,包括分别设定了优先级的多个要素存储器,
所述管理部选择所述多个要素存储器中的、改写次数满足预定条件的要素存储器且优先级最高的要素存储器,从选择出的要素存储器中选择所述第四页面。
技术方案12
根据技术方案1至11中的任意一项所述的管理装置,其中,
在达到预定状态以前的第一期间中,所述存取处理部在针对被设定为所述第一存取处理的所述第一页面接受到写入或者读出的请求的情况下,执行所述第一存取处理,在针对被设定为所述第二存取处理的所述第二页面接受到写入或者读出的请求的情况下,执行所述第二存取处理,
在达到所述预定状态以后的第二期间中,
在所述存取处理部中,
在针对被设定为所述第一存取处理的所述第一页面接受到写入或者读出的请求的情况下,执行所述第一存取处理,
在针对被设定为所述第二存取处理的所述第二页面接受到写入的请求的情况下,执行所述第一存取处理,
在针对被设定为所述第二存取处理的所述第二页面接受到读出的请求的情况下,执行所述第二存取处理。
技术方案13
根据技术方案1至11中的任意一项所述的管理装置,其中,
在达到预定状态以前的第一期间中,所述存取处理部在针对被设定为所述第一存取处理的所述第一页面接受到写入或者读出的请求的情况下,执行所述第一存取处理,在针对被设定为所述第二存取处理的所述第二页面接受到写入或者读出的请求的情况下,执行所述第二存取处理,
在达到所述预定状态以后的第二期间中,
在所述存取处理部中,
在针对被设定为所述第一存取处理的所述第一页面接受到写入或者读出的请求的情况下,执行所述第一存取处理,
在针对被设定为所述第二存取处理的所述第二页面接受到写入的请求的情况下,不执行写入,
在针对被设定为所述第二存取处理的所述第二页面接受到读出的请求的情况下,执行所述第二存取处理。
技术方案14
根据技术方案5所述的管理装置,其中,还具有:
计数器存储部,关于在所述非易失性存储部中包含的所述多个页面中的各个页面,存储计数器值;
管理信息存储部,存储能够储存关于预定个的页面中的各页面的管理信息的管理表格;以及
更新部,更新所述计数器值及所述管理表格,
所述多个页面中的各个页面包括多个第二区域,
所述管理信息表示在对应的页面中包含的所述多个第二区域中的各区域是已写入还是未写入,
根据针对所述非易失性存储部的第一数据的写入,
在所述更新部中,
在关于作为被写入所述第一数据的页面的对象页面的所述管理信息中示出的、作为被写入所述第一数据的第二区域的对象第二区域的状态是未写入的情况下,变更为已写入,
在所述管理信息中示出的所述对象第二区域的状态是已写入的情况下,更新关于所述对象页面的所述计数器值。
技术方案15
一种管理装置,管理由处理电路对第一存储部以及包括多个页面的非易失性存储部进行的数据的读出和写入,其中,
在达到预定状态以前的第一期间中,以所述页面的尺寸或者比所述页面小的尺寸在所述非易失性存储部中进行写入,
在达到所述预定状态以后的第二期间中,以所述页面的尺寸在所述非易失性存储部中进行写入。
技术方案16
根据技术方案15所述的管理装置,其中
在所述第一期间中,所述处理电路执行机械学习中的训练,
在所述第二期间中,所述处理电路执行使用通过所述机械学习训练而得到的数据的认识处理。
技术方案17
一种信息处理装置,具备:
处理电路;
第一存储部,通过所述处理电路进行数据的读出和写入;
非易失性存储部,通过所述处理电路进行数据的读出和写入,包括多个页面;
设定存储部,存储存取方法,该存取方法表示关于所述多个页面中的各个页面,执行针对从所述非易失性存储部传送到所述第一存储部的数据进行写入及读出的第一存取处理或者针对在所述非易失性存储部中存储的数据直接进行写入及读出的第二存取处理中的哪一个;
存取处理部,在针对被设定为所述第一存取处理的第一页面接受到写入或者读出的请求的情况下,执行所述第一存取处理,在针对被设定为所述第二存取处理的第二页面接受到写入或者读出的请求的情况下,执行所述第二存取处理;以及
管理部,在被设定为所述第二存取处理的第三页面的品质为基准值以下的情况下,将针对所述第三页面的存取方法从所述第二存取处理变更为所述第一存取处理。
技术方案18
一种管理方法,是管理由处理电路对第一存储部以及包括多个页面的非易失性存储部进行的数据的读出和写入的管理装置中的管理方法,其中,
所述管理装置具备:
设定存储部,存储存取方法,该存取方法表示关于所述多个页面中的各个页面,执行针对从所述非易失性存储部传送到所述第一存储部的数据进行写入及读出的第一存取处理或者针对在所述非易失性存储部中存储的数据直接进行写入及读出的第二存取处理中的哪一个;以及
存取处理部,在针对被设定为所述第一存取处理的第一页面接受到写入或者读出的请求的情况下,执行所述第一存取处理,在针对被设定为所述第二存取处理的第二页面接受到写入或者读出的请求的情况下,执行所述第二存取处理,
在被设定为所述第二存取处理的第三页面的品质为基准值以下的情况下,将针对所述第三页面的存取方法从所述第二存取处理变更为所述第一存取处理。
Claims (10)
1.一种管理装置,管理由处理电路对第一存储部以及包括多个页面的非易失性存储部进行的数据的读出和写入,其中,所述管理装置具备:
设定存储部,存储存取方法,该存取方法表示关于所述多个页面中的各个页面,执行针对从所述非易失性存储部传送到所述第一存储部的数据进行写入及读出的第一存取处理或者针对在所述非易失性存储部中存储的数据直接进行写入及读出的第二存取处理中的哪一个;
存取处理部,在针对被设定为所述第一存取处理的第一页面接受到写入或者读出的请求的情况下,执行所述第一存取处理,在针对被设定为所述第二存取处理的第二页面接受到写入或者读出的请求的情况下,执行所述第二存取处理;以及
管理部,在被设定为所述第二存取处理的第三页面的品质为基准值以下的情况下,将针对所述第三页面的存取方法从所述第二存取处理变更为所述第一存取处理。
2.根据权利要求1所述的管理装置,其中,
所述存取处理部在所述第一存取处理中,针对从所述非易失性存储部中的所述第一页面传送到所述第一存储部的数据进行读出和写入,将传送到所述第一存储部的数据写回到所述非易失性存储部,在所述第二存取处理中,针对所述非易失性存储部中的所述第二页面,直接读出和写入数据。
3.根据权利要求1或者2所述的管理装置,其中,
所述管理部在所述第三页面的品质为基准值以下的情况下,使在所述第三页面中存储的数据移动到被设定为所述第二存取处理的第四页面。
4.根据权利要求3所述的管理装置,其中,
所述设定存储部关于被从所述处理电路进行了数据的读出或者写入的各个页面,存储被从所述处理电路请求的请求地址,
所述管理部针对所述第四页面,将与所述第三页面对应起来的请求地址对应起来,将所述第三页面变更为未与任何请求地址对应起来的未使用页面。
5.根据权利要求1至4中的任意一项所述的管理装置,其中,
所述管理部在所述第三页面的改写次数为预定值以上的情况下,将针对所述第三页面的存取方法从所述第二存取处理变更为所述第一存取处理。
6.根据权利要求1至4中的任意一项所述的管理装置,其中,
所述管理部在从所述第三页面读出的数据的错误比特数为预定值以上的情况下,将针对所述第三页面的存取方法从所述第二存取处理变更为所述第一存取处理。
7.根据权利要求3所述的管理装置,其中,
还具备计数器存储部,该计数器存储部关于在所述非易失性存储部中包含的所述多个页面中的各个页面,存储改写次数,
所述管理部将被设定所述第二存取处理且未使用、并且改写次数满足预先确定的基准的页面选择为所述第四页面。
8.根据权利要求1至7中的任意一项所述的管理装置,其中,
所述存取处理部在所述第一存取处理中,将从所述非易失性存储部传送到所述第一存储部的数据写回到如下页面,该页面是未与任何请求地址对应起来的未使用页面,并且被设定为所述第一存取处理且改写次数为预定值以下。
9.一种信息处理装置,具备:
处理电路;
第一存储部,通过所述处理电路进行数据的读出和写入;
非易失性存储部,通过所述处理电路进行数据的读出和写入,包括多个页面;
设定存储部,存储存取方法,该存取方法表示关于所述多个页面中的各个页面,执行针对从所述非易失性存储部传送到所述第一存储部的数据进行写入及读出的第一存取处理或者针对在所述非易失性存储部中存储的数据直接进行写入及读出的第二存取处理中的哪一个;
存取处理部,在针对被设定为所述第一存取处理的第一页面接受到写入或者读出的请求的情况下,执行所述第一存取处理,在针对被设定为所述第二存取处理的第二页面接受到写入或者读出的请求的情况下,执行所述第二存取处理;以及
管理部,在被设定为所述第二存取处理的第三页面的品质为基准值以下的情况下,将针对所述第三页面的存取方法从所述第二存取处理变更为所述第一存取处理。
10.一种管理方法,是管理由处理电路对第一存储部以及包括多个页面的非易失性存储部进行的数据的读出和写入的管理装置的管理方法,其中,
所述管理装置具备:
设定存储部,存储存取方法,该存取方法表示关于所述多个页面中的各个页面,执行针对从所述非易失性存储部传送到所述第一存储部的数据进行写入及读出的第一存取处理或者针对在所述非易失性存储部中存储的数据直接进行写入及读出的第二存取处理中的哪一个;以及
存取处理部,在针对被设定为所述第一存取处理的第一页面接受到写入或者读出的请求的情况下,执行所述第一存取处理,在针对被设定为所述第二存取处理的第二页面接受到写入或者读出的请求的情况下,执行所述第二存取处理,
在被设定为所述第二存取处理的第三页面的品质为基准值以下的情况下,将针对所述第三页面的存取方法从所述第二存取处理变更为所述第一存取处理。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017045240A JP6538741B2 (ja) | 2017-03-09 | 2017-03-09 | 管理装置、情報処理装置および管理方法 |
JP2017-045240 | 2017-03-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108572923A true CN108572923A (zh) | 2018-09-25 |
Family
ID=63445465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710759641.9A Pending CN108572923A (zh) | 2017-03-09 | 2017-08-30 | 管理装置、信息处理装置以及管理方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10235049B2 (zh) |
JP (1) | JP6538741B2 (zh) |
CN (1) | CN108572923A (zh) |
TW (1) | TW201833781A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114629632A (zh) * | 2020-12-14 | 2022-06-14 | 丰田自动车株式会社 | 车载系统、通信方法以及非暂时性存储介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7143232B2 (ja) * | 2019-01-29 | 2022-09-28 | キオクシア株式会社 | メモリシステムおよび制御方法 |
WO2021030750A1 (en) | 2019-08-14 | 2021-02-18 | Supermem, Inc. | Computing memory systems |
JP7438924B2 (ja) * | 2020-12-15 | 2024-02-27 | 株式会社東芝 | 情報処理装置、方法及びプログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007272635A (ja) * | 2006-03-31 | 2007-10-18 | Toshiba Corp | メモリシステム及びコントローラ |
US20160041760A1 (en) * | 2014-08-08 | 2016-02-11 | International Business Machines Corporation | Multi-Level Cell Flash Memory Control Mechanisms |
CN105808444A (zh) * | 2015-01-19 | 2016-07-27 | 株式会社东芝 | 存储装置及非易失性存储器的控制方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008146255A (ja) | 2006-12-07 | 2008-06-26 | Sony Corp | 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法 |
US8724381B2 (en) * | 2008-03-11 | 2014-05-13 | Agere Systems Llc | Methods and apparatus for storing data in a multi-level cell flash memory device with cross-page sectors, multi-page coding and per-page coding |
US9846641B2 (en) * | 2012-06-18 | 2017-12-19 | International Business Machines Corporation | Variability aware wear leveling |
JP2016085677A (ja) * | 2014-10-28 | 2016-05-19 | 富士通株式会社 | メモリ管理方法、メモリ管理プログラム及び情報処理装置 |
US9672905B1 (en) * | 2016-07-22 | 2017-06-06 | Pure Storage, Inc. | Optimize data protection layouts based on distributed flash wear leveling |
-
2017
- 2017-03-09 JP JP2017045240A patent/JP6538741B2/ja active Active
- 2017-08-16 US US15/678,226 patent/US10235049B2/en active Active
- 2017-08-30 TW TW106129470A patent/TW201833781A/zh unknown
- 2017-08-30 CN CN201710759641.9A patent/CN108572923A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007272635A (ja) * | 2006-03-31 | 2007-10-18 | Toshiba Corp | メモリシステム及びコントローラ |
US20160041760A1 (en) * | 2014-08-08 | 2016-02-11 | International Business Machines Corporation | Multi-Level Cell Flash Memory Control Mechanisms |
CN105808444A (zh) * | 2015-01-19 | 2016-07-27 | 株式会社东芝 | 存储装置及非易失性存储器的控制方法 |
Non-Patent Citations (1)
Title |
---|
王党辉等: "延长相变存储器寿命的写操作Cache及其调度策略", 《西北工业大学学报》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114629632A (zh) * | 2020-12-14 | 2022-06-14 | 丰田自动车株式会社 | 车载系统、通信方法以及非暂时性存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20180260127A1 (en) | 2018-09-13 |
TW201833781A (zh) | 2018-09-16 |
JP2018151687A (ja) | 2018-09-27 |
JP6538741B2 (ja) | 2019-07-03 |
US10235049B2 (en) | 2019-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103985411B (zh) | 待调度验证的非易失性写入缓冲器数据保留 | |
CN109791519A (zh) | 具有集成计算引擎的非易失性存储系统和本地快速存储器的优化用途 | |
CN104798055B (zh) | 存储器控制器、数据存储装置和存储器控制方法 | |
CN108572923A (zh) | 管理装置、信息处理装置以及管理方法 | |
CN106997324A (zh) | 非易失性存储器模块、具有其的计算系统及其操作方法 | |
US11204705B2 (en) | Retention-aware data tiering algorithm for hybrid storage arrays | |
CN106971754A (zh) | 非易失性存储器设备、包括其的存储装置和操作其的方法 | |
KR20100113083A (ko) | 셀당 단일 비트 nand 플래시 메모리를 에뮬레이팅하기 위한 셀당 다수 비트 nand 플래시 메모리에 대한 제어기 | |
US10559376B2 (en) | Data storage device with rewriteable in-place memory | |
CN107977320A (zh) | 存储系统及其损耗均衡方法 | |
CN109727627A (zh) | 组读取刷新 | |
US11449431B2 (en) | Data storage device with rewritable in-place memory | |
KR102138767B1 (ko) | 제자리에 다시쓰기 가능한 메모리를 갖는 데이터 저장 디바이스 | |
CN107919152A (zh) | 数据存储装置及其操作方法 | |
CN108536610A (zh) | 管理装置、信息处理装置以及管理方法 | |
CN108806745A (zh) | 存储系统及其操作方法 | |
CN105378849B (zh) | 非易失性半导体存储装置及其改写方法 | |
CN108984111B (zh) | 具有可重写原地存储器的数据存储设备 | |
US11899590B2 (en) | Intelligent cache with read destructive memory cells | |
CN111475328A (zh) | 包括多个控制器的存储器系统 | |
KR20180104263A (ko) | 전반적인 건강상태 파악을 위한 대표 페이지를 갖는 비휘발성 메모리 시스템 및 그 비휘발성 메모리 시스템에서의 건강 상태 파악 방법 | |
US11868621B2 (en) | Data storage with multi-level read destructive memory | |
US20240296085A1 (en) | Write and retire pages in qlc nand blocks | |
US20220027234A1 (en) | Fast cache with intelligent copyback |
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: 20180925 |