CN104571941A - 信息处理装置及其控制方法 - Google Patents
信息处理装置及其控制方法 Download PDFInfo
- Publication number
- CN104571941A CN104571941A CN201410528012.1A CN201410528012A CN104571941A CN 104571941 A CN104571941 A CN 104571941A CN 201410528012 A CN201410528012 A CN 201410528012A CN 104571941 A CN104571941 A CN 104571941A
- Authority
- CN
- China
- Prior art keywords
- data
- written
- flash memory
- write
- signal conditioning
- 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.)
- Granted
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
-
- 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
- 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/061—Improving I/O performance
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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
Abstract
本发明公开了一种信息处理装置及其控制方法。当将数据写入包括多个闪存的半导体存储器时,该信息处理装置确定要被写入的数据是否为特定数据(与完全擦除关联的数据),针对所述特定数据设置为使与所述数据相关的不必要数据能被擦除,以使得所述不必要数据不留存在所述半导体存储器中。在确定要被写入的所述数据不是所述特定数据的情况下,所述信息处理装置以交织有效的状态下进行数据写入处理。同时,在确定要被写入的数据是所述特定数据的情况下,所述信息处理装置以所述交织无效的状态进行数据写入处理。
Description
技术领域
本发明涉及一种安装有固态硬盘(solid-state drive,SSD)的信息处理装置及其控制方法。
背景技术
通常,图像形成装置采用如下结构:安装有硬盘驱动(hard disk drive,HDD)并且将程序、图像数据等存储在该HDD中。同时,近年来,在SSD的容量增加和成本降低方面已有进展,并且以移动PC为中心,SSD的普及快速进展。与HDD相比,SSD不仅具有能够高速随机存取的优点,还具有低功耗、高耐冲击性、重量轻以及节省空间的优点。特别地,在系统启动时,SSD不需要HDD中所需的诸如热启动(spin up)等的初始化操作,除了高速数据传送,SSD的启动时间显著缩短。另外,因为SSD不具有容易由于冲击而损坏的磁盘驱动部分,所以SSD不仅在耐冲击性方面具有优越性,还在耐热性方面也具有优越性。因此,SSD作为图像形成装置存储设备而备受关注。
然而,作为SSD中安装的存储设备,闪存的可写入次数存在上限。例如,单层单元(Single Level Cell,SLC)的可写入次数约为十万,多层单元(Multiple Level Cell,MLC)的可写入次数约为一万。另外,由于闪存的制造微小化,闪存可被重写的次数趋于下降。
为了解决闪存在可写入次数方面的限制,SSD上安装的闪存控制器通过将数据的写入平均分散到数据写入目的区域,使写入频率不集中于闪存的特定区域。该技术被成为“耗损均衡”(wear leveling)。另外,使用被称为“交织”(interleave)的技术,在该技术中闪存控制器将数据写入目的区域分散到多个闪存。利用这种技术,能够延长闪存(即,存储设备)的寿命。
同时,在图像形成装置中,对数据(例如图像数据)的安全保障的要求以及对隐私保护的要求非常高,并且存在完全擦除存储器中记录的假脱机数据(spool data)和已保存数据的要求。提出了如下技术:通过使用虚拟数据(dummy data)覆写被多次记录的、要被擦除数据的区域来消除残留的磁性,进行要在HDD中被擦除的数据的完全擦除(例如,参见日本特开第2004-153516号公报以及日本特开2006-023854号公报)。
与HDD不同,利用SSD,能够在单次重写中完全擦除要被擦除的数据。然而,利用正常写入处理,即使通过地址指定执行数据的擦除,但是由于上述耗损均衡,也无法进行要被擦除的数据的直接重写。因此,为了在SSD中将要被擦除的数据完全擦除,有必要进行支持完全擦除的特定写入处理。
然而,在SSD中安装的闪存中,由于其特性,因此仅能够以预定的块为单位进行数据的擦除。为此,存在如下问题:在对SSD中存储的数据进行完全擦除的情况下,系统性能由于数据擦除时的开销而严重下降。例如,在变得不必要数据的大小比SSD上安装的闪存的块大小更小的情况下,需要在将要被擦除的块中存储的除了要被擦除的数据之外的数据移存到另一块之后,进行要被擦除的块的删除处理。此外,在由于对多个芯片或存储体(bank)进行的交织而使数据被布置为分散在多个块上的情况下,为了擦除不必要数据,有必要对分散地布置数据的各块分别进行擦除处理。
发明内容
鉴于上述问题而作出本发明。本发明提供了如下技术,通过适当地控制交织的执行状态,防止在将数据写入包括多个闪存的半导体存储器时由于擦除不必要数据而导致的系统性能的劣化。
根据本发明的一个方面,提供了一种信息处理装置,所述信息处理装置包括:半导体存储器,其包括多个闪存;确定单元,其被构造为当将数据写入所述半导体存储器时,确定要被写入的所述数据是否为特定数据,针对所述特定数据设置为使与所述数据相关的不必要数据能被擦除,以使得所述不必要数据不留存在所述半导体存储器中;以及写入单元,其被构造为在确定要被写入的所述数据不是所述特定数据的情况下,以交织有效的状态将要被写入的所述数据写入所述半导体存储器;而在确定要被写入的所述数据是所述特定数据的情况下,以所述交织无效的状态将要被写入的所述数据写入所述半导体存储器,在所述交织方式下所述数据被分散地写入所述多个闪存。
根据本发明的另一方面,提供了一种信息处理装置的控制方法,所述信息处理装置包括具有多个闪存的半导体存储器,所述控制方法包括:当将数据写入所述半导体存储器时,确定要被写入的所述数据是否为特定数据,针对所述特定数据设置为使与所述数据相关的不必要数据能被擦除,使得所述不必要数据不留存在所述半导体存储器中;以及在确定要被写入的所述数据不是所述特定数据的情况下,以交织有效的状态将要被写入的所述数据写入所述半导体存储器,而在确定要被写入的所述数据是所述特定数据的情况下,以所述交织无效的状态将要被写入的所述数据写入所述半导体存储器,在所述交织方式下所述数据被分散地写入所述多个闪存。
根据以下(参照附图)对示例性实施例的描述,本发明的其他特征将变得清楚。
附图说明
图1是示出图像形成装置300的示例控制结构的框图。
图2是示出主控制器400的示例结构的框图。
图3是示出操作单元800的示例结构的图。
图4是示出SSD 413的示例结构的框图。
图5是示出在用于向SSD 413写入的数据写入处理时进行的控制交织执行状态的控制过程的流程图。
图6A至图6C是示出用于SSD 413中的数据写入处理的过程的流程图。
图7A和图7B是示出通过正常数据写入处理和支持完全擦除的数据写入处理在SSD 413中的存储区域的使用示例的图。
图8是示出当图像形成装置300关机时进行的SSD 413中的数据重新布置和不必要数据擦除的过程的流程图。
具体实施方式
下文中,将参照附图详细描述本发明的实施例。应注意,下面的实施例不旨在限制所附权利要求的范围,并且在实施例中描述的特征的所有组合未必都是本发明的解决方法所必不可少的。
<系统结构>
图1是示出根据本发明的实施例的图像形成装置300的示例控制结构的框图。在以下实施例中,将对作为本发明的信息处理装置的一个示例的图像形成装置300的示例给出说明。
图像形成装置300配备有整体控制图像形成装置300的主控制器400。原稿给送器控制器101、图像读取器控制器201、打印机控制器301、折叠设备控制器501、整理器控制器601、操作单元800、以及外部接口(I/F)451与主控制器400连接。
主控制器400基于从操作单元800或外部计算机453提供的指令来控制原稿给送器控制器101以及图像读取器控制器201。原稿给送器控制器101通过控制原稿给送器(未示出)将原稿给送到用于通过图像读取器(未示出)读取的读取位置。此外,图像读取器控制器201通过控制图像读取器、利用图像读取器读取原稿的图像来获取图像数据。打印机控制器301通过在主控制器400的控制下控制打印机(未示出)、根据图像数据利用例如电子照相处理对片材进行图像形成。
折叠设备控制器501以及整理器控制器601通过在主控制器400的控制下分别控制折叠装置(未示出)和整理器(未示出)对片材执行诸如折叠处理、装订处理或打孔处理的后处理。
外部I/F 451是与外部计算机453连接的I/F。主控制器400通过外部I/F 451与外部总线452连接,并且外部计算机453与外部总线452连接。外部总线452例如是网络或USB。
主控制器400经由外部I/F 451从外部计算机453接收打印数据,并通过控制打印机控制器301根据打印数据执行打印。此外,主控制器400将稍后说明的存储设备(图2的HDD 407或SSD 413)中记录的图像数据经由外部I/F 451发送到外部计算机453。
图2是示出主控制器400的示例结构的框图。主控制器400配备有两个CPU(CPU 401和CPU 408),操作系统(下文称为OS)在各CPU下进行操作。
CPU 401与总线桥404连接。CPU 401经由总线桥404进行与CPU408的通信。ROM 402、RAM 403、外部I/F控制器405、操作单元控制器406以及存储器控制器412与总线桥404连接。在ROM 402中存储CPU 401的初始启动程序。RAM 403临时保持CPU 401的控制数据,并且RAM 403用作在CPU 401的控制中涉及的算术运算的工作区域。
外部I/F控制器405与外部I/F 451连接,并且进行外部I/F 451的控制。操作单元控制器406与操作单元800连接,并且进行操作单元800的控制。存储器控制器412与作为存储设备的SSD 413和HDD 407连接。然而,由于HDD 407是可选的存储设备,因此可能有不存在HDD 407的情况。存储器控制器412控制SSD 413和HDD 407。
在SSD 413中,例如,存储包括在CPU 401和CPU 408下操作的OS的主程序。应注意,在主程序中,包括用于根据稍后说明的图5实现处理的程序。在HDD 407未连接到存储器控制器412的情况下,图像读取器和外部I/F 451获取的图像数据、以及根据操作单元800的操作编辑的图像数据被存储在SSD 413中。此外,在HDD 407未连接到存储器控制器412的情况下,诸如应用程序和用户偏好数据的数据被存储在SSD413中。应注意,在本实施例中,SSD 413用作闪存盘。
同时,在HDD 407连接到存储器控制器412的情况下,图像读取器和外部I/F 451获取的图像数据、以及根据操作单元800的操作编辑的图像数据被存储在HDD 407中。此外,诸如应用程序和用户偏好数据的数据被存储在HDD 407中。CPU 401和CPU 408能够经由存储器控制器412访问HDD 407。
CPU 408与总线桥404、ROM 409、RAM 410以及设备控制器411连接。在ROM 409中,存储CPU 408的初始启动程序。RAM 410临时保持CPU 408的控制数据,并且RAM 410用作在CPU 408的控制中涉及的算术运算的工作区域。设备控制器411负责原稿给送器控制器101、图像读取器控制器201、打印机控制器301、折叠设备控制器501以及整理器控制器601的控制。
图3是示出图像形成装置300的操作单元800的示例结构的图。操作单元800包括表面附有触摸面板的液晶显示器(LCD)900、数字小键盘801、开始键802、指南键805、复印模式键806、传真键807、文件键808、以及打印机键809。
操作画面被显示在LCD 900上。当用户按下操作画面上显示的键时,表示在触摸屏上按下的位置的位置信息从操作单元800传送到主控制器400。主控制器400根据该位置信息执行控制。
此外,用户能够例如使用数字小键盘801来输入复印份数。当用户在设置期望的条件后按下开始键802时,主控制器400开始例如复印操作或原稿读取操作。指南键805用于在LCD 900上显示关于键的功能的说明。复印模式键806用于进行复印。传真键807用于进行与传真相关的设置。文件键808用于输出文件数据。打印机键809用于当打印从外部装置(例如,外部计算机453)发送的图像数据时的设置等。
图4是示出SSD 413的示例结构的框图。如图4所示,SSD 413配备有闪速控制器1000以及半导体存储器1010,半导体存储器1010包括多个闪存1011。闪存控制器1000配设有存储器I/F 1001、内存控制器1002、CPU 1005以及RAM 1006。存储器I/F 1001与存储器控制器412连接,并且存储器I/F 1001是用于进行与存储器控制器412的通信的模块。在本实施例中,串行ATA(SATA:串行AT附件)I/F用作存储器I/F1001。
半导体存储器1010中包括的各闪存1011与内存控制器1002连接。内存控制器1002基于经由存储器I/F 1001接收到的命令从/向闪存1011读取/写入数据。CPU 1005通过将闪存1011中的一个中保存的控制固件加载到RAM 1006并且执行该控制固件来控制内存控制器1002。这样,如稍后将说明的,CPU 1005进行用于在如下两种写入处理之间切换的切换控制:在交织有效的状态下进行的向闪存1011的写入处理、以及在交织无效的状态下进行的向闪存1011的写入处理。
CPU 1005和内存控制器1002具有用于并行控制多个闪存1011的交织功能。已知存储体交织和芯片交织作为交织功能。在存储体交织方式下,在多个闪存1011中布置多个存储体,并且在共享数据总线和芯片地址的同时,通过芯片选择信号切换作为并行读取/写入的对象的存储体。同时,在芯片交织方式下,对于多个闪存芯片,通过芯片选择信号切换作为并行读取/写入的对象的芯片。通常,根据这些交织功能,作为交织对象的存储体或芯片的并行度越高,表面上能够进行的读取/写入越快。
(交织执行状态控制)
根据本实施例的图像形成装置300具有对SSD 413中存储的数据进行“完全擦除”的功能。“完全擦除”对应于如下操作:当向半导体存储器1010(SSD 413)写入数据后进行该数据的擦除时,擦除与该数据相关的不必要数据,从而使其不留存在半导体存储器1010(SSD 413)中。例如,在进行对SSD 413中存储的数据的完全擦除的情况下,图像形成装置300禁止从存储有变为不必要数据的SSD 413的块中读出数据,并且在随后适当的时间擦除该块中的数据。这样,除了防止在擦除处理后利用地址指定从块中读出数据之外,还实现了可靠地擦除该块中的数据,而不使该数据留存在SSD 413中。
然而,在进行这种完全擦除的情况下,如上文所述,在擦除不必要数据时,由于额外的处理需要,图像形成装置300的系统性能可能会严重劣化。因此根据本实施例的图像形成装置300适当地控制交织的执行状态,其中当数据被写入SSD 413(半导体存储器1010)时,将数据分散地写入多个闪存1011中。这样,能够防止由于擦除不必要数据而造成的系统性能的劣化。
更具体地,图像形成装置300(CPU 1005)根据要被写入半导体存储器1010的数据是否为与完全擦除相关的数据来控制交织的执行状态。这里,与完全擦除相关的数据对应于如下数据(特定数据):以使与该数据相关的不必要数据不留存在半导体存储器1010中的方式设置的该数据是可擦除的。当数据要被写入半导体存储器1010时,图像形成装置300确定要被写入的该数据是否为与完全擦除相关的数据。另外,在图像形成装置300确定要被写入的该数据不是与完全擦除相关的数据的情况下,图像形成装置300在交织有效的状态下进行(正常)数据写入处理。同时,在图像形成装置300(CPU 1005)确定要被写入的该数据是与完全擦除相关的数据的情况下,图像形成装置300在交织无效的状态下进行数据写入处理。
这样,在将与完全擦除相关的数据写入SSD 413的情况下,不执行所述交织,并且不将数据分散地存储在多个闪存1011中。为此,在擦除不必要数据时无需上述的额外的处理,并且能够防止由于不必要数据的擦除而造成的系统性能的劣化。同时,在将与完全擦除不相关的数据写入SSD 413的情况下,因为在交织有效的状态下执行正常写入处理,因此能够实现高速写入处理。
在交织无效状态的情况下,图像形成装置300可以将要被写入的数据写入例如闪存中任意一个的连续存储区域(块),而不是分散地写入多个闪存1011中。由此,能够将不必要数据从单个闪存集体擦除,这有效地实现了数据的完全擦除。
下面,将参照图5至图7B对实现上述处理的实施例给出具体说明。
图5是示出当进行用于向SSD 413写入的数据写入处理时由主控制器400的CPU 401执行的用于控制交织执行状态的控制过程的流程图。通过CPU 401将SSD 413或HDD 407中存储的程序加载到RAM 403并执行该程序来实现图5的流程图所示的各步骤的处理。
在步骤S101中,当CPU 401从在CPU 401下正在操作的OS中接收到用于向SSD 413写入的数据写入请求时,在步骤S102中,CPU 401确定图像形成装置300是否被设置为完全擦除模式(预定操作模式)。这里,完全擦除模式对应于如下操作模式:在将数据写入SSD 413(半导体存储器1010)后,数据的完全擦除是有效的。换句话说,完全擦除模式对应于如下操作模式:以使与写入SSD 413的数据相关的不必要数据不留存在SSD 413中的方式进行使不必要数据可擦除的操作。
在步骤S102中,在确定图像形成装置300被设置为完全擦除模式的情况下,CPU 401使处理进行到步骤S103。同时,在确定图像形成装置300未被设置为完全擦除模式的情况下,CPU 401使处理进行到步骤S106。
在步骤S103中,CPU 401确认要被写入SSD 413的数据的数据地址。这里,如稍后利用图7A和图7B所说明的,数据地址是在主控制器400中用于指定在SSD 413内布置的数据的、符合逻辑块寻址(Logical BlockAddressing,LBA)的地址。在步骤S104中,CPU 401确定针对要被写入的数据而指定的数据地址是否为预定范围内的地址。在针对要被写入的数据而指定的数据地址是预定范围内的地址的情况下,CPU 401使处理进行到步骤S105,而在针对要被写入的数据而指定的数据地址不是预定范围内的地址的情况下,使处理进行到步骤S106。
在本实施例中,在步骤S104中使用的数据地址的预定范围对应于针对SSD 413中的各闪存1011中的安全数据(特定数据)布置而预先布置的特定的分区(预定的存储区域)。在本实施例中,在针对该特定的分区进行数据写入处理的情况下,交织无效,而在针对其他分区进行数据写入处理的情况下,交织有效。因此,在步骤S104中,根据闪存的任意一个的特定的分区是否被指定为要被写入的数据的布置目的地,使处理进行到步骤S105或步骤S106。
在步骤S106中,CPU 401生成正常写入命令。另一方面,在步骤S105中,CPU 401通过在正常写入命令中设置表示要被写入的数据是与完全擦除相关的数据(特定数据)的完全擦除标记,来生成扩展的写入命令。应注意,在SATA或ATA标准存储器接口中,可以使用特征寄存器作为设置用于区分扩展的写入命令和正常写入命令的完全擦除标记的区域。
在步骤S105或步骤S106之后,在步骤S107中,CPU 401将生成的写入命令(正常写入命令或扩展的写入命令)以及要被写入SSD 413的数据经由存储器控制器412发送到SSD 413。这样,CPU 401向SSD 413执行数据写入。
注意,对于图5所示的虚线包围的步骤S103和步骤S104的处理,在稍后说明的步骤S202中可以执行替代处理。在这种情况下,不论步骤S102中确定结果,CPU 401都使处理进行到步骤S106,生成正常写入命令,并将该命令发送到SSD 413。
图6A至图6C是示出SSD 413中的数据写入处理的过程的流程图。通过SSD 413的CPU 1005将闪存1011中的一个中存储的程序加载到RAM 1006并执行该程序来实现图6A至图6C的流程图所示的各步骤的处理。
首先,如图6A所示,当将写入命令从存储器控制器412发送到SSD413时,在步骤S201中,CPU 1005经由快闪控制器1000中的存储器I/F1001接收写入命令。接下来,在步骤S202中,CPU 1005确定在接收到的数据写入命令中是否存在完全擦除标记,并且在确定存在完全擦除标记的情况下使处理进行到步骤S203,而在确定不存在完全擦除标记的情况下使处理进行到步骤S204。换句话说,在要被写入的数据是与完全擦除相关的数据(特定数据)的情况下,CPU 1005使处理进行到步骤S203,而在要被写入的数据不是与完全擦除相关的数据的情况下,CPU 1005使处理进行到步骤S204。
在步骤S203中,根据图6B所示的过程,CPU 1005通过支持完全擦除并且在交织无效的状态下进行的数据写入处理进行向闪存1011的数据写入。同时,在步骤S204中,根据图6C所示的过程,CPU 1005通过在交织无效的状态下进行的正常数据写入处理进行向闪存1011的数据写入。在步骤S203或步骤S204之后,CPU 1005结束数据写入。
这样,CPU 1005根据与步骤S102和步骤S104的确定结果相对应的写入命令,在交织无效或有效的状态下将要被写入的数据写入半导体存储器1010(闪存1011)。注意,在如上所述未执行步骤S103和步骤S104的处理的情况下,在步骤S202中执行替代处理。在这种情况下,与步骤S104类似,在步骤S202中,CPU 1005可以基于写入命令中包括的要被写入的数据的数据地址来执行确定处理,而不是确定写入命令中是否存在完全擦除标记。
此外,在从CPU 401发送到SSD 413的写入命令中,可以设置表示交织是否被禁止(无效)的交织禁止标记来替代上述完全擦除标记。在这种情况下,在步骤S202中,CPU 401可以确定接收到的数据写入命令中是否存在交织禁止标记,并且在确定存在交织禁止标记的情况下使处理进行到步骤S203,而在确定不存在交织禁止标记的情况下使处理进行到步骤S204。
(步骤S203的处理)
根据图6B所示的过程执行支持完全擦除的写入处理。首先,在步骤S211中,CPU 1005将在闪存1011的存储区域内要被重写的块中存在的、要被区别写入的数据临时存储到未使用的块中。
接下来,在步骤S212中,CPU 1005对在要被重写的块中未更新的数据、以及要被区别写入要被重写的块中的数据进行到新块的写入。在支持完全擦除的数据写入处理的情况下,当将数据写入SSD 413时,不执行交织。为此,在步骤S212中的写入处理中,数据被写入多个闪存1011的任意一个中(芯片或存储体)的连续区域,使得要被写入的数据处于连续布置的状态。
最后,在步骤S213中,CPU 1005进行表示针对存在不必要数据的块(即,重写之前的块以及临时保存了要被区别写入的数据的块)禁止读取的标记。这样,CPU 1005禁止从这些块中读出数据。因此,即使利用这些块的地址指定进行数据的读出,也仅能够读出虚拟数据。根据以上内容,支持完全擦除的数据写入处理结束。
(步骤S204的处理)
根据图6C所述的过程执行正常数据写入处理。首先,在步骤S221中,CPU 1005将在SSD 413(闪存1011)的存储区域内要被重写的块中存在的、要被区别写入的数据保存(添加)到用于保存不同数据的块中。
接下来,在步骤S222中,CPU 1005确定要被区别写入的数据大小是否超过块大小,并且在要被区别写入的数据大小未超过块大小的情况下,正常数据写入处理结束,并且在要被区别写入的数据大小超过块大小情况下,CPU 1005使处理进行到步骤S223。
在步骤S223中,CPU 1005对在要被重写的块中未更新的数据、要被区别写入的数据、以及超过块大小的部分的数据进行到新块的写入。在正常数据写入处理的情况下,当写入数据时执行交织。为此,在步骤S223中的写入处理中,将要被写入的数据同时写入多个芯片或存储体,从而处于分散布置要被写入的数据的状态。
最后,在步骤S224中,CPU 1005进行表示对于存在不必要数据的块(即,重写之前的块以及临时保存了要被区别写入的数据的块)是空白的块的标记。这样,CPU 1005通过设置未使用状态来使这些块能够用于其它用途。根据以上内容,正常数据写入处理结束。
图7A和图7B是示出通过正常数据写入处理和支持完全擦除的数据写入处理在SSD 413(半导体存储器1010)内的存储区域的使用示例的图。图7A表示进行正常数据写入处理的情况,图7B表示进行支持完全擦除的数据写入处理的情况。
图7A和图7B示出在SSD 413中使用两个闪存1011,并且各闪存1011的各行均代表可存储一个数据块的区域。在闪存1011内的系统区域中,存储由CPU 1005读出到RAM 1006并执行的程序。此外,在闪存1011内的数据区域中,存储由CPU 401和CPU 408使用的数据。对图7A和图7B所示的数据区域中存储的数据给予不同的值,并且这些值对应于用于在主控制器400中指定数据的、符合LBA的地址。
在图7A和图7B中,各闪存1011的数据区域均被划分为三个区域(分区)(区域1、2和3)。在区域1和区域2中,作为交织布置的对象的数据701被存储,即,在交织有效的状态下存储数据。为此,在区域1和区域2中,在物理上不同的块中分别存储奇数LBA数据和偶数LBA数据。在区域1和区域2中分别存储与LBA地址1-5000相对应的数据以及与LBA地址5001-8000相对应的数据。
同时,区域3对应于布置有作为连续布置的对象的数据702的、用于存储安全数据(特定数据)的分区。在区域3中存储作为连续布置的对象的数据702。如图7B所示,在交织无效的状态下,存储LBA地址连续的数据,从而在区域3中连续布置该数据。同时,在交织有效的状态下,如图7A所示,甚至在区域3中也在两个闪存1011中分散地存储LBA地址连续的数据。
这样,针对闪存1011中的各区域可以预先设置是否使交织无效(抑制)。换句话说,在图像形成装置300被设置为处于完全擦除模式的情况下,可以预定连续布置的LBA地址连续的数据的区域(区域3)。在这种情况下,针对该预定区域以外的区域(区域1和区域2),可以总是设置交织有效。可以在快闪控制器1000上预先进行该设置。
根据本实施例,针对存储与完全擦除相关的数据的区域,能够在避免系统性能劣化的同时,可靠地进行数据的集体擦除。同时,针对存储与完全擦除不相关的正常数据的区域,能够通过进行交织来实现高速数据写入处理。换句话说,因为当将数据写入SSD 413(半导体存储器1010)时能够适当地控制交织的执行状态,所以能够在避免系统性能由于擦除不必要数据而劣化的同时,实现高速数据写入。
(图像形成装置关机时的控制)
图8是示出图像形成装置300关机时进行的SSD 413中的数据重新布置和不必要数据擦除的过程的流程图。通过SSD 413的CPU 1005将闪存1011中的一个中存储的程序加载到RAM 1006并执行该程序来实现图8的流程图所示的各步骤的处理。
在步骤S301中,当SSD 413的CPU 1005从CPU 401接收到关机命令时(换句话说,指示关机),在步骤S302中,CPU 1005转变到关机序列。接下来,在步骤S303中,CPU 1005确定图像形成装置300中与完全擦除模式相关的设置是否改变。换句话说,CPU 1005在下次系统启动时确定是否将交织执行状态改变到与关机前的状态不同的状态。在步骤S303中,在CPU 1005确定与完全擦除模式相关的设置改变的情况下,处理进行到步骤S304,而在CPU 1005确定该设置未改变的情况下,处理进行到步骤S309。
在步骤S304中,CPU 1005获取闪存1011内与完全擦除对象区域相关的信息(完全擦除的对象的数据地址范围),以及表示完全擦除模式是否有效的信息。CPU 1005将获取的信息存储在闪存1011的系统区域。接下来,在步骤S305中,为了重新布置闪存1011内的各块中存储的数据,CPU 1005获取表示各块耗损度的耗损信息。
之后,在步骤S306中,CPU 1005读出闪存1011的系统区域中存储的信息,并且在下次启动时,确定该信息是否表示用于将交织执行状态从无效状态改变到有效状态的设置。这里,在CPU 1005在下次启动时确定该信息表示用于设置交织有效状态的设置的情况下,处理进行到步骤S307。同时,在CPU 1005在下次启动时确定该信息表示用于将交织执行状态从有效状态改变到无效状态的设置的情况下,处理进行到步骤S308。
在步骤S307至步骤S309中,根据改变后的交织执行状态,CPU 1005在图像形成装置300关机之前在多个闪存1011中重新布置所述多个闪存1011中布置的数据。
具体地,在步骤S307中,针对闪存1011内的完全擦除对象区域(图7A和图7B中的区域3),CPU 1005确定要在不同芯片或存储体的哪个空闲块中重新布置各块中所存储的数据。换句话说,通过将不同芯片或存储体中的块确定为各块的数据的重新布置的目的地,CPU 1005使要在空闲区域重新布置的数据分散在多个闪存1011中。
同时,在步骤S308在,针对闪存1011中的完全擦除对象区域(图7A和图7B中的区域3),CPU 1005确定数据重新布置目的地块,从而取消有效的交织。具体地,针对完全擦除对象区域,CPU 1005将块确定为各块的数据的重新布置的目的地,从而在相同芯片或存储体内的空闲块中的连续块中存储该数据。这样,可以是在多个闪存1011中的任意一个中连续的空闲区域中重新布置该数据的结构。
之后,在步骤S309中,针对更新前的块和更新中不同的块,CPU 1005进行将数据重新布置到(写入)在步骤S307或步骤S308确定的闪存1011内的重新布置目的地块中。当完成数据的写入时,CPU 1005使处理进行到步骤S310。在步骤S310中,在图像形成装置300关机之前,CPU 1005将在数据重新布置后留存在多个闪存1011中且被存储在存在禁止读出标记的块中的不必要数据集体擦除。当完成数据擦除时,CPU 1005完成处理。
在处理从步骤S303进行到步骤S309的情况下,CPU 1005将存在禁止读出标记的块中存储的不必要数据集体擦除,并且完成处理。
注意,不一定需要执行图8中虚线表示的步骤S305的处理。在CPU1005不执行步骤S305的处理(换句话说,不获取各块的耗损信息)的情况下,可以在步骤S307和步骤S308中将重新布置目的地仅确定为空闲块,而不考虑各块的耗损信息。同时,在CPU 1005获取各块的耗损信息的情况下,在步骤S307中确定重新布置目的地块,从而优先使用不同芯片/存储体中具有最低耗损度的块。此外,在步骤S308中,CPU 1005确定重新布置目的地块,从而优先使用包括较多具有低耗损度的块的芯片/存储体。
这样,利用图8所示的处理,能够根据交织执行状态来进行下次系统启动之后闪存1011内的数据布置。这样,能够避免由于在系统启动后擦除不必要数据而导致的系统性能的劣化。此外,通过基于闪存1011中的块的耗损度进行数据的重新布置,能够避免仅特定块被严重耗损的情况。
其他实施例
另外,可以通过读出并执行记录在存储介质(例如,非暂时性计算机可读存储介质)上的计算机可执行指令、以执行本发明的上述实施例中的一个或更多个实施例的功能的系统或装置的计算机,来实现本发明的各实施例,并且可以利用由通过例如读出并执行来自存储介质的计算机可执行指令、以执行上述实施例中的一个或更多个实施例的功能的系统或装置的计算机来执行的方法,来实现本发明的各实施例。计算机可以包括中央处理单元(CPU)、微处理单元(MPU)或其他电路中的一个或更多个,并且可以包括独立的计算机或独立的计算机处理器的网络。计算机可执行指令可以例如从网络或存储介质被提供给计算机。存储介质可以包括例如硬盘、随机存取存储器(RAM)、只读存储器(ROM)、分布式计算系统的存储器、光盘(例如压缩光盘(CD)、数字通用光盘(DVD)或蓝光光盘(BD)TM)、闪存设备、存储卡等中的一个或更多个。
虽然参照示例性实施例对本发明进行了描述,但是应当理解,本发明不局限于所公开的示例性实施例。应当对所附权利要求的范围给予最宽的解释,以使所述范围涵盖所有这些变型以及等同结构和功能。
Claims (11)
1.一种信息处理装置,所述信息处理装置包括:
半导体存储器,其包括多个闪存;
确定单元,其被构造为当将数据写入所述半导体存储器时,确定要被写入的所述数据是否为特定数据,针对所述特定数据设置为使与所述数据相关的不必要数据能被擦除,以使得所述不必要数据不留存在所述半导体存储器中;以及
写入单元,其被构造为在确定要被写入的所述数据不是所述特定数据的情况下,以交织有效的状态下将要被写入的所述数据写入所述半导体存储器,而在确定要被写入的所述数据是所述特定数据的情况下,以所述交织无效的状态将要被写入的所述数据写入所述半导体存储器,其中,在所述交织方式下所述数据被分散地写入所述多个闪存。
2.根据权利要求1所述的信息处理装置,其中,
在所述交织无效的状态下,所述写入单元将要被写入的所述数据写入所述多个闪存中的任意闪存中的连续存储区域。
3.根据权利要求1或2所述的信息处理装置,其中,
所述确定单元在所述信息处理装置被设置为预定操作模式的情况下,确定要被写入的所述数据是所述特定数据,而在所述信息处理装置未被设置为预定操作模式的情况下,确定要被写入的所述数据不是所述特定数据。
4.根据权利要求3所述的信息处理装置,其中,
所述预定的操作模式是用于进行如下操作的操作模式:在将所述数据写入所述半导体存储器后,使与所述数据相关的不必要数据能被擦除,以使得所述不必要数据不留存在所述半导体存储器中。
5.根据权利要求1或2所述的信息处理装置,其中,
所述确定单元在所述半导体存储器中包括的所述各闪存的预定存储区域被指定为要被写入的所述数据的布置目的地的情况下,确定要被写入的数据是所述特定数据,而在所述预定存储区域未被指定为所述布置目的地的情况下,确定要被写入的所述数据不是所述特定数据。
6.根据权利要求5所述的信息处理装置,其中,
所述预定存储区域是所述半导体存储器中包括的所述各闪存中针对所述特定数据的布置而预先布置的存储区域。
7.根据权利要求5所述的信息处理装置,其中,
所述确定单元基于针对要被写入的所述数据而指定的地址是否为针对所述预定存储区域中布置的数据而指定的预定范围内的地址,确定要被写入的所述数据是否为所述特定数据。
8.根据权利要求1或2所述的信息处理装置,所述信息处理装置还包括:
重新布置单元,其被构造为在指示所述信息处理装置关机、并且在所述信息处理装置下次启动时所述交织的执行状态改变为与所述关机之前的状态不同的状态的情况下,在所述关机之前,根据改变后的所述交织的执行状态将所述多个闪存中布置的数据重新布置在所述多个闪存中;以及
擦除单元,其被构造为在所述关机之前将所述重新布置单元重新布置后留存在所述多个闪存中的不必要数据集体擦除。
9.根据权利要求8所述的信息处理装置,其中,
所述重新布置单元在所述信息处理装置下次启动时、所述交织的执行状态从无效状态改变为有效状态的情况下,将所述多个闪存的任意闪存中的连续存储区域中布置的数据重新布置到所述多个闪存中分布的空闲区域;而在所述信息处理装置下次启动时、所述交织的执行状态从有效状态改变为无效状态的情况下,将所述多个闪存中的分散地布置的数据重新布置到所述多个闪存的任意闪存中的连续空闲区域。
10.根据权利要求9所述的信息处理装置,所述信息处理装置还包括:
获取单元,其被构造为获取表示所述多个闪存的存储区域中的各块的耗损度的耗损信息,
其中,所述重新布置单元优先将数据重新布置到由所述获取单元获取的耗损信息表示的耗损度低的块内的空闲区域。
11.一种信息处理装置的控制方法,所述信息处理装置包括具有多个闪存的半导体存储器,所述控制方法包括以下步骤:
当将数据写入所述半导体存储器时,确定要被写入的所述数据是否为特定数据,针对所述特定数据设置为使与所述数据相关的不必要数据能被擦除,以使得所述不必要数据不留存在所述半导体存储器中;以及
在确定要被写入的所述数据不是所述特定数据的情况下,以交织有效的状态将要被写入的所述数据写入所述半导体存储器,而在确定要被写入的所述数据是所述特定数据的情况下,以所述交织无效的状态将要被写入的所述数据写入所述半导体存储器,其中,在所述交织方式下所述数据被分散地写入所述多个闪存。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013-214136 | 2013-10-11 | ||
JP2013214136A JP6271939B2 (ja) | 2013-10-11 | 2013-10-11 | 情報処理装置及びその制御方法、並びにプログラム |
JPJP2013-214136 | 2013-10-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104571941A true CN104571941A (zh) | 2015-04-29 |
CN104571941B CN104571941B (zh) | 2018-01-16 |
Family
ID=52810644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410528012.1A Active CN104571941B (zh) | 2013-10-11 | 2014-10-09 | 信息处理装置及其控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9983834B2 (zh) |
JP (1) | JP6271939B2 (zh) |
CN (1) | CN104571941B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113641315A (zh) * | 2016-09-09 | 2021-11-12 | 佳能株式会社 | 信息处理装置以及控制信息处理装置的方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170344262A1 (en) * | 2016-05-25 | 2017-11-30 | SK Hynix Inc. | Data processing system and method for operating the same |
JP7305340B2 (ja) * | 2018-12-11 | 2023-07-10 | キヤノン株式会社 | 情報処理装置 |
JP7400215B2 (ja) * | 2019-05-23 | 2023-12-19 | オムロン株式会社 | 制御装置、データ不能化プログラム、および制御システム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5341339A (en) * | 1992-10-30 | 1994-08-23 | Intel Corporation | Method for wear leveling in a flash EEPROM memory |
US20100118614A1 (en) * | 2008-11-13 | 2010-05-13 | Jung Taek You | Semiconductor apparatus, data write circuit of semiconductor apparatus, and method of controlling data write circuit |
US7913032B1 (en) * | 2007-04-25 | 2011-03-22 | Apple Inc. | Initiating memory wear leveling |
US20120206466A1 (en) * | 2011-02-10 | 2012-08-16 | Qualcomm Incorporated | Data storage address assignment for graphics processing |
US20140006898A1 (en) * | 2012-07-02 | 2014-01-02 | Eran Sharon | Flash memory with random partition |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000285017A (ja) * | 1999-03-31 | 2000-10-13 | Seiko Epson Corp | 記憶装置 |
JP4082983B2 (ja) | 2002-10-30 | 2008-04-30 | シャープ株式会社 | 画像処理装置 |
EP1509035B1 (en) | 2002-05-30 | 2008-09-10 | Sharp Kabushiki Kaisha | Image processing device |
JP2006023854A (ja) | 2004-07-06 | 2006-01-26 | Sharp Corp | 情報処理装置、記憶装置、記憶制御装置及びプログラム |
US7409489B2 (en) * | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
JP2012019383A (ja) * | 2010-07-08 | 2012-01-26 | Panasonic Corp | 記録制御装置、半導体記録装置および記録システム |
JP5917163B2 (ja) * | 2011-01-27 | 2016-05-11 | キヤノン株式会社 | 情報処理装置、その制御方法及びプログラム並びに記憶媒体 |
-
2013
- 2013-10-11 JP JP2013214136A patent/JP6271939B2/ja active Active
-
2014
- 2014-09-29 US US14/499,712 patent/US9983834B2/en active Active
- 2014-10-09 CN CN201410528012.1A patent/CN104571941B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5341339A (en) * | 1992-10-30 | 1994-08-23 | Intel Corporation | Method for wear leveling in a flash EEPROM memory |
US7913032B1 (en) * | 2007-04-25 | 2011-03-22 | Apple Inc. | Initiating memory wear leveling |
US20100118614A1 (en) * | 2008-11-13 | 2010-05-13 | Jung Taek You | Semiconductor apparatus, data write circuit of semiconductor apparatus, and method of controlling data write circuit |
US20120206466A1 (en) * | 2011-02-10 | 2012-08-16 | Qualcomm Incorporated | Data storage address assignment for graphics processing |
US20140006898A1 (en) * | 2012-07-02 | 2014-01-02 | Eran Sharon | Flash memory with random partition |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113641315A (zh) * | 2016-09-09 | 2021-11-12 | 佳能株式会社 | 信息处理装置以及控制信息处理装置的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20150106550A1 (en) | 2015-04-16 |
US9983834B2 (en) | 2018-05-29 |
JP2015076070A (ja) | 2015-04-20 |
JP6271939B2 (ja) | 2018-01-31 |
CN104571941B (zh) | 2018-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8417869B2 (en) | Hybrid storage apparatus and hybrid storage medium controller and addressing method thereof | |
US8103820B2 (en) | Wear leveling method and controller using the same | |
JP5413572B2 (ja) | メモリストレージ装置及びその制御方法 | |
JP4912174B2 (ja) | ストレージシステム及び記憶管理方法 | |
US20110010489A1 (en) | Logical block management method for a flash memory and control circuit storage system using the same | |
US20090070517A1 (en) | Memory apparatus, memory control method, and program | |
US8589619B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
JP2009211192A (ja) | メモリシステム | |
JP5917163B2 (ja) | 情報処理装置、その制御方法及びプログラム並びに記憶媒体 | |
CN104571941A (zh) | 信息处理装置及其控制方法 | |
JP2011070365A (ja) | メモリシステム | |
US20150058531A1 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US11194481B2 (en) | Information processing apparatus and method for controlling information processing apparatus | |
US9378130B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
TWI454922B (zh) | 記憶體儲存裝置及其記憶體控制器與資料寫入方法 | |
US9948809B2 (en) | Image forming apparatus, memory management method for image forming apparatus, and program, using discretely arranged blocks in prioritizing information | |
US9442843B2 (en) | Information processing apparatus, method of controlling the same, and storage medium | |
US20120191938A1 (en) | Information processing apparatus and write control method | |
JP2019185350A (ja) | メモリシステム及びメモリシステムの制御方法 | |
US20150186058A1 (en) | Data storing method, memory control circuit unit and memory storage apparatus | |
US20110087828A1 (en) | Method for enhancing performance of accessing a flash memory, and associated memory device and controller thereof | |
KR100997819B1 (ko) | 정보 처리 장치 | |
US20160320973A1 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
CN107273041A (zh) | 存储装置以及该装置中的数据保存方法 | |
CN102216912B (zh) | 内存容量的配置方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |