CN103354926B - 存储器控制器 - Google Patents

存储器控制器 Download PDF

Info

Publication number
CN103354926B
CN103354926B CN201180066429.5A CN201180066429A CN103354926B CN 103354926 B CN103354926 B CN 103354926B CN 201180066429 A CN201180066429 A CN 201180066429A CN 103354926 B CN103354926 B CN 103354926B
Authority
CN
China
Prior art keywords
sector
memory area
data
memory
group
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.)
Expired - Fee Related
Application number
CN201180066429.5A
Other languages
English (en)
Other versions
CN103354926A (zh
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN103354926A publication Critical patent/CN103354926A/zh
Application granted granted Critical
Publication of CN103354926B publication Critical patent/CN103354926B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency 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/10Providing a specific technical effect
    • G06F2212/1048Scalability
    • 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/7205Cleaning, compaction, garbage collection, erase control
    • 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

微型计算机(10)保持针对将所有扇区在规定条件之下划分为多个而得到的各扇区分区的每一个,对应了闪存存储器(20)中的、分别不同的存储器区域的群组定义表(132)。存储器控制部(120)参照群组定义表(132)来确定与指定的扇区对应的存储器区域,在该确定的存储器区域的范围内,检索与该指定的扇区对应的物理地址。另外,存储器控制部(120)在发生了与指定的扇区对应的数据的改写的情况下,在该存储器区域的范围内进行扇区的移动。

Description

存储器控制器
技术领域
本发明涉及向闪存存储器等非易失性的存储介质的访问技术。
背景技术
近年来,作为非易失性的存储介质的闪存存储器被用于个人计算机等信息处理装置、便携电话、数字照相机等各种电子设备。另外,关于向闪存存储器的访问技术,以往提出了各种技术(例如,专利文献1)。
专利文献1公开的存储卡具备闪存存储器、和对其进行控制的控制器,上述控制器具有从外部接受沿着地址增加的方向的数据写入命令,检测针对该接受的数据写入命令的写入时的最终写入位置的功能等。该控制器在检索与闪存存储器的扇区(逻辑数据)对应的物理地址时,参照表示扇区、和与其对应的闪存存储器的物理地址的关系的变换表。
专利文献1:日本特开2006-40264号公报
发明内容
但是,如专利文献1公开的技术那样,关于针对每个扇区立即判定对应的闪存存储器的物理地址的变换表,如果闪存存储器的大小大,则其大小增大。因此,在要求省存储器化的微型计算机系统等中,不容易采用上述变换表。
本发明是为了解决上述以往的问题而完成的,其目的在于提供一种不会导致所使用的表的大小增大,而能够高速访问与指定的扇区对应的、闪存存储器等可读写的存储介质的物理地址的存储器控制器。
为了达成上述目的,本发明提供一种存储器控制器,其特征在于,具备:存储器控制单元,访问可读写的非易失性存储器,按照为了该非易失性存储器用而构筑的文件系统中的扇区单位,进行数据的读入以及写入;以及表存储单元,存储表,该表针对将所有所述扇区在规定条件之下划分为多个而得到的各扇区分区的每一个,对应了所述非易失性存储器中的、分别不同的存储器区域;所述存储器控制单元参照所述表来确定与指定的扇区对应的所述存储器区域,在该确定的存储器区域的范围内,检索与该指定的扇区对应的物理地址,在发生了与所述指定的扇区对应的数据的改写的情况下,在该存储器区域的范围内进行扇区的移动。
根据本发明,参照将扇区分区和非易失性存储器中的存储器区域对应起来的表,检索与指定的扇区对应的物理地址,所以不会导致表的大小增大,实现处理的高速化。
附图说明
图1是示出具有作为本发明的一个实施方式的存储器控制器的功能的微型计算机的结构的框图。
图2是概略地示出图1的闪存存储器的存储器构造的图。
图3是示出文件系统定义表的一个例子的图。
图4是示出群组定义表的一个例子的图。
图5是示出本实施方式的闪存存储器中各群组的开头与物理地址的关系的图。
图6是示出数据读入处理的步骤的流程图。
图7是用于说明数据读入的具体例的图。
图8是示出数据写入处理的步骤的流程图。
图9是用于说明数据写入的具体例的图。
图10是示出空闲扇区确保处理的步骤的流程图。
图11是示出本实施方式的变形例中的群组定义表的一个例子的图。
图12是示出群组平滑化处理的步骤的流程图。
图13是示出群组平滑化处理后的群组定义表的一个例子的图。
符号说明
1:闪存存储器系统;10:微型计算机;100:应用程序处理部;110:文件系统管理部;120:存储器控制部;130:表存储部;131:文件系统定义表;132:群组定义表;20:闪存存储器;30:数据总线。
具体实施方式
以下,参照附图,详细说明本发明的一个实施方式的存储器控制器。
图1是示出包括具有作为本实施方式的存储器控制器的功能的微型计算机10、和闪存存储器20的闪存存储器系统1的概略结构的图。微型计算机10和闪存存储器20通过数据总线30连接。
微型计算机10搭载于各种电子设备、各种家电设备等,控制该设备整体的动作。微型计算机10硬件上包括微处理器、ROM(ReadOnlyMemory)、RAM(RandomAccessMemory)、存储器接口、晶体振荡器等时钟源(都未图示)等。
微型计算机10如图1所示,功能上具备应用程序处理部100、文件系统管理部110、存储器控制部120、以及表存储部130。文件系统管理部110、存储器控制部120以及表存储部130承担作为本发明的存储器控制器的功能。
应用程序处理部100执行依照ROM等中存储的、用于实现该设备的功能的各种应用程序软件程序的处理。文件系统管理部110管理为了闪存存储器20用而构筑的文件系统。存储器控制部120根据经由文件系统管理部110的来自应用程序处理部100的要求,访问闪存存储器20,进行各种处理(数据的读出、写入等)。
表存储部130存储用于定义该文件系统的各种表。在本实施方式中,在表存储部130中,存储了文件系统定义表131、和群组定义表132。在后面详述这些表。
闪存存储器20的存储器区域如图2所示,由多个块构成。块(删除块)是数据的删除中的处理单位。作为文件系统中的数据的管理单位的扇区表示将块针对每规定大小(例如,520字节)分割而得到的区域,包括“扇区编号”区域、“扇区状态”区域、以及“数据”区域。
在“扇区编号”区域中,储存针对该文件系统管理的每个扇区分配的编号(扇区编号)。在本实施方式中,对各扇区,分配了从1开始的序列号。
在“扇区状态”区域中,存储表示该扇区的利用状态(扇区状态)的信息。通过参照该“扇区状态”区域,判别该扇区是“未使用”、“使用中”或者“削除”中的哪一个状态。例如,在块被刚刚删除之后,该块的所有扇区表示“未使用”。在“数据”区域中,存储与“扇区编号”区域中储存的扇区编号对应的数据。
存储器控制部120在访问与由文件系统管理部110指定的扇区编号对应的、闪存存储器20中储存的数据的情况下,按照扇区单位(例如,520字节)依次扫描闪存存储器20的存储器区域,访问“扇区编号”区域中储存的扇区编号与指定的扇区编号一致、并且“扇区状态”区域中储存的信息表示“使用中”的扇区的“数据”区域。
另外,在对闪存存储器20新写入数据的情况下,存储器控制部120确保与由文件系统管理部110指定的数据大小对应的1个或者多个“未使用”扇区,进行该数据的写入。
另外,在数据的改写时,存储器控制部120向和与指定的扇区编号对应的“使用中”扇区不同的“未使用”扇区,写入数据和扇区编号,并且将扇区状态变更为“使用中”。另外,将原来的扇区的扇区状态变更为“削除”。
文件系统定义表131如图3所示,包括“开始地址”项目、“开始扇区”项目、“驱动器大小”项目、“群组扇区数”项目等。
在“开始地址”中,储存闪存存储器20的存储器区域中的开头地址(在本实施方式中,0x0000000)。在“开始扇区”中,储存扇区编号的开始编号(在本实施方式中为1)。在“驱动器大小”中,储存由该文件系统管理的闪存存储器20的最大存储器容量(在本实施方式中,19.2MB)。
在“群组扇区数”中,设定在由规定数的连续的块构成的一个群组中该文件系统可利用的扇区数。在本实施方式中,在文件系统的构筑时,如图2所示,对闪存存储器20的全部块,从开头依次,针对连续的每3个块进行分组,并附加用于识别各个群组的群组编号(在本实施方式中,从0开始的序列号)。在本实施方式中,设为在一个群组中,能够利用252扇区。
群组定义表132如图4所示,包括“群组编号”项目、“开始地址”项目、“开始扇区”项目等。
在“群组编号”中,储存各群组的群组编号。在“开始地址”中,储存闪存存储器20中的与该群组对应的存储器区域的开头的物理地址。在本实施方式中,各块的大小是64KB,各群组的大小是64×3KB=192KB。各群组、与其开头的物理地址的关系成为图5所示。
在“开始扇区”中,储存在与该群组对应的扇区(即,可利用的扇区)内,其扇区编号最新(最小)的编号。例如,如图4所示,在群组编号0的群组的“开始扇区”中,储存1,在群组编号1的群组的“开始扇区”中,储存253。
从图4所示的群组定义表132的内容判断出:在本实施方式中,例如,在群组编号0的群组中,分配闪存存储器20的0x0000000~0x002FFFF的存储器区域,可利用扇区编号是1~252的扇区。
关于以上的文件系统定义表131以及群组定义表132,在闪存存储器20的使用开始时、换言之闪存存储器20用的文件系统构筑时,由文件系统管理部110、存储器控制部120等生成并保存到表存储部130。
接下来,说明在如以上那样构成的闪存存储器系统1中,从闪存存储器20读入(读出)数据的动作。图6是示出由微型计算机10的文件系统管理部110以及存储器控制部120执行的数据读入处理的步骤的流程图。通过从应用程序处理部100将数据读入要求通知到文件系统管理部110而开始数据读入处理。另外,在该数据读入要求中,应用程序处理部100指定成为读入对象的文件的名称(文件名)。
文件系统管理部110参照未图示的文件信息表来取得与指定的文件名对应的扇区编号(步骤S101)。该文件信息表是将文件名和扇区编号对应起来的表,保存到表存储部130。另外,在文件大小大而无法仅储存到一个扇区的“数据”区域的情况下,该文件被分割为多个数据而分别储存到不同的扇区。因此,在该情况下,在文件信息表中,即使是同一文件,针对所分割的每个数据,也对应起来不同的扇区编号。
文件系统管理部110对存储器控制部120通知所取得的扇区编号,指示对应的数据的读入。
存储器控制部120取得与从文件系统管理部110通知的扇区编号对应的群组编号(步骤S102)。此处,存储器控制部120参照文件系统定义表131而取得与该扇区编号对应的群组编号。具体而言,存储器控制部120将该扇区编号除以文件系统定义表131的“群组扇区数”的储存值。然后,其结果得到的商成为与该扇区编号对应的群组编号。
例如,在指定的扇区编号是265的情况下,对应的群组编号成为265/252=1。
接下来,存储器控制部120参照群组定义表132,取得与所取得的群组编号对应的“开始地址”的储存值(即,开头的物理地址)(步骤S103)。在本例子中,在群组编号是1的情况下,对应的物理地址成为0x0030000。
存储器控制部120访问闪存存储器20,从所取得的物理地址表示的存储器区域,按照扇区单位(例如,520字节)朝向下方向(后方的块的方向)依次扫描,搜索与该扇区编号一致、并且是“使用中”的扇区(步骤S104)。如果通过该搜索发现了相应的扇区(步骤S105:“是”),则存储器控制部120从该扇区的“数据”区域读入数据(步骤S106)。
存储器控制部120对文件系统管理部110供给所读入的数据,并且通知数据的读入完成了的意思。如果接收到上述通知,则文件系统管理部110对应用程序处理部100供给由存储器控制部120读入的数据而作为所要求的文件(步骤S107),并且通知数据的读入完成了的意思,本处理结束。
另外,如上所述,在将从应用程序处理部100要求的文件分割并储存到了多个不同的扇区的情况下,文件系统管理部110使存储器控制部120将上述数据的读入动作进行该分割数的量。然后,文件系统管理部110在合并所读入的多个分割数据而恢复为原来的文件之后,供给到应用程序处理部100。
图7示出通过上述数据读入处理,读入扇区编号是265的扇区的数据的情况的例子。在该情况下,存储器控制部120从位于群组1的开头(此处,块3的开头)地址(0x0030000)的扇区(扇区编号是289)开始相应扇区的搜索。然后,读入从开头起第3个扇区(扇区编号是265)的数据。
图8是示出由微型计算机10的文件系统管理部110以及存储器控制部120执行的数据写入处理的步骤的流程图。通过从应用程序处理部100将数据写入要求通知到文件系统管理部110而开始数据写入处理。应用程序处理部100在该数据写入要求中,指定成为写入对象的文件的名称(文件名)、写入数据、以及其大小。
另外,对于文件的新写入,进行与以往大致同样的处理,所以在以下的处理中,说明数据的改写。但是,在新写入时,在分割储存文件的情况下,优选针对属于同一群组的扇区储存各分割数据。
文件系统管理部110参照未图示的上述文件信息表来取得与指定的文件名对应的扇区编号(步骤S201)。文件系统管理部110将扇区编号、和应写入的数据通知到存储器控制部120。
存储器控制部120参照文件系统定义表131,取得与从文件系统管理部110通知的扇区编号对应的群组编号(步骤S202)。然后,存储器控制部120参照群组定义表132,取得与所取得的群组编号对应的“开始地址”的储存值(物理地址)(步骤S203)。
存储器控制部120访问闪存存储器20,从所取得的物理地址表示的存储器区域,按照扇区单位朝向下方向,依次扫描,而检查与该群组对应的全部块中的扇区的状态。然后,判定“未使用”扇区(空闲扇区)的数量是否为规定数以上(步骤S204)。
其结果,在空闲扇区的数量低于规定数的情况下(步骤S204:“否”),存储器控制部120执行后述空闲扇区确保处理(步骤S205)。另一方面,在空闲扇区的数量是规定数以上的情况(步骤S204:“是”)、在执行上述空闲扇区确保处理之后,存储器控制部120从之前取得的物理地址(该群组的开头地址)表示的存储器区域,按照扇区单位朝向下方向依次扫描,搜索与该扇区编号一致、并且是“使用中”的扇区、即储存了旧数据的扇区(步骤S206)。如果通过该搜索发现了相应的扇区(步骤S207:“是”),则存储器控制部120将该扇区的状态变更为“削除”(步骤S208)。
另外,存储器控制部120从该群组的开头地址,依次朝向下方向,搜索“未使用”扇区,向所发现的“未使用”扇区写入该数据(步骤S209)。具体而言,存储器控制部120向所发现的“未使用”扇区的“数据”区域,写入上述通知的数据,并且在该扇区的“扇区编号”区域中储存上述通知的扇区编号,将扇区状态变更为“使用中”。
存储器控制部120对文件系统管理部110通知数据的写入完成了的意思。由此,文件系统管理部110对应用程序处理部100通知数据的写入完成了的意思(步骤S210),本处理结束。
另外,在从应用程序处理部100进行了写入要求的文件的大小大、而需要分割储存到多个不同的扇区的情况下,文件系统管理部110将该文件的分割数据、和对应的扇区编号依次通知到存储器控制部120,将上述数据的写入动作进行该分割数的量。
图9示出通过上述数据写入处理,在扇区编号是265的扇区的数据的改写(更新)中,通过存储器控制部120写入新数据“DAT-124”的情况。在该情况下,存储器控制部120检索扇区编号是265的扇区,使储存了旧数据(“DAT-123”)的该扇区的“扇区状态”成为“削除”。然后,存储器控制部120搜索空闲扇区,向所发现的空闲扇区的“数据”区域写入“DAT-124”,并且在“扇区编号”中储存265,将“扇区状态”变更为“使用中”。
接下来,参照图10的流程图,说明上述空闲扇区确保处理。首先,存储器控制部120从属于该群组的块内,决定作为删除对象的块(删除对象块)(步骤S301)。此处,存储器控制部120在该群组中,将扇区状态成为“削除”的扇区最多的块决定为删除对象块。
接下来,存储器控制部120将属于所决定的删除对象块的所有“使用中”扇区拷贝到属于该群组的其他块的“未使用”扇区(步骤S302)。然后,存储器控制部120删除该删除对象块(步骤S303)。
如以上说明,本实施方式的微型计算机(存储器控制器)在访问闪存存储器中的、指定的扇区编号的扇区时,使用定义了扇区的范围与闪存存储器的物理地址的范围的对应关系的表。因此,能够缩小所检索的范围,高效地发现相应扇区,实现处理的高速化。
另外,在上述表中,未针对每个扇区而对应起来物理地址,所以即使闪存存储器的容量大,也能够防止表的增大化。因此,即使是要求省存储器化的微型计算机等,也易于应用本发明。
另外,本发明不限于上述实施方式,当然能够在不脱离本发明的要旨的范围内实现各种变更。
例如,属于一个群组的块数是任意的,也可以是2个,也可以是4个以上。
另外,在上述实施方式的微型计算机10中,也可以还具备对块的删除动作次数、改写次数进行平滑化的功能。以下说明具备上述功能的实施方式1的微型计算机10(存储器控制器)的变形例。
在该情况下,在微型计算机10保持的群组定义表132中,如图11所示,新追加“GC(garbagecollection,废料收集)次数”项目。微型计算机10的存储器控制部120在上述空闲扇区确保处理时,将所发生的扇区的拷贝次数(即,数据的写入次数)加到该群组的“GC次数”的储存值。在本变形例中,群组编号与对应的物理地址的关系被适宜变更。另外,预先决定的群组编号(在本例子中,99)的群组被用作后述临时群组。
图12是示出该变形例中的存储器控制部120执行的群组平滑化处理的步骤的流程图。存储器控制部120在规定的定时(例如,针对每规定时间、仅接着空闲扇区确保处理之后等),执行该群组平滑化处理。
首先,存储器控制部120检查群组定义表132,判定是否存在“GC次数”的储存值(累积次数)超过预先设定的GC的最大次数的群组(最大次数群组)(步骤S401)。其结果,在不存在最大次数群组的情况下(步骤S401:“否”),结束本处理。另一方面,在存在最大次数群组的情况下(步骤S401:“是”),存储器控制部120将属于该最大次数群组、并且是“使用中”的全部扇区拷贝到与临时群组(即,群组编号99的群组)对应的块(步骤S402)。
接下来,存储器控制部120删除属于拷贝源的群组、即最大次数群组的全部块(步骤S403)。接下来,存储器控制部120搜索“GC次数”的储存值最小的群组(最小次数群组)(步骤S404)。然后,存储器控制部120将属于该搜索出的最小次数群组、并且是“使用中”的全部扇区拷贝到之前删除了的块(即属于原来的最大次数群组的块)(步骤S405)。
接下来,存储器控制部120删除属于拷贝源的群组、即最小次数群组的全部块(步骤S406)。该删除了的多个块将属于下次的临时群组。然后,存储器控制部120更新群组管理表132(步骤S407)。此处,参与该拷贝的群组的“开始地址”以及“GC次数”被变更。
此处,说明在群组定义表132是图11所示的内容,预先设定的GC的最大次数是400次,群组编号0的群组的GC次数最小这样的条件之下,执行了上述群组平滑化处理的情况。
在上述情况下,首先,属于群组编号1的群组、并且是“使用中”的全部扇区被拷贝到与群组编号99的群组对应的块。然后,在属于群组编号1的群组的全部块被删除了之后,向上述块,拷贝属于群组编号0的群组、并且是“使用中”的全部扇区。在该拷贝之后,属于群组编号0的群组的全部块被删除。然后,通过这些群组间拷贝,所变更的内容被反映到群组定义表132。图13示出执行群组平滑化处理后的群组定义表132的内容。
这样,通过具备对块的删除动作次数、改写次数进行平滑化的功能,能够延长闪存存储器的寿命。
另外,本发明能够不脱离本发明的广义的精神和范围而实现各种实施方式以及变形。另外,上述实施方式用于说明本发明而未限定本发明的范围。即,本发明的范围并非基于实施方式而基于权利要求书。另外,在权利要求书的范围内以及与其等同的发明的意义的范围内实施的各种变形被视为本发明的范围内。
产业上的可利用性
本发明适用于利用闪存存储器等可读写的存储介质的各种电子设备。

Claims (5)

1.一种存储器控制器,其特征在于,具备:
存储器控制单元,访问可读写的非易失性存储器,按照为了该非易失性存储器用而构筑的文件系统中的扇区单位,进行数据的读入以及写入;以及
表存储单元,存储表,该表针对将所有所述扇区在规定条件之下划分为多个而得到的各扇区分区的每一个,对应了所述非易失性存储器中的、由规定数的删除块构成的、分别不同的存储器区域和对通过执行废料收集而发生的扇区的移动次数进行累积而得到的累积次数,
所述存储器控制单元参照所述表来确定与指定的扇区对应的所述存储器区域,在该确定的存储器区域的范围内,检索与该指定的扇区对应的物理地址;在发生了与所述指定的扇区对应的数据的改写的情况下,在所述确定的存储器区域的范围内进行扇区的移动;在进行数据的写入时,判定属于所述确定的存储器区域的空闲扇区的数量是否为规定数以上,在小于规定数的情况下,选择成为删除对象的删除块,执行使所选择的删除对象的删除块中的使用中状态的全部扇区移动到所述确定的存储器区域内的其他删除块的所述废料收集,在执行该废料收集之后,删除所述删除对象的删除块,
根据所述累积次数,变更所述表中的、所述扇区分区与所述存储器区域的对应关系。
2.根据权利要求1所述的存储器控制器,其特征在于,
在所述表中,所述扇区分区表示所有所述扇区的扇区编号顺序中的每规定数的分区。
3.根据权利要求1或者2所述的存储器控制器,其特征在于,
所述存储器控制单元在进行数据的写入时,在属于所述确定的存储器区域的空闲扇区的数量小于规定数的情况下,从属于所述确定的存储器区域的全部删除块内,将削除状态的扇区最多的块决定为所述删除对象的删除块。
4.根据权利要求1或2所述的存储器控制器,其特征在于,
所述存储器控制单元在所述累积次数超过了规定次数的情况下,变更所述表中的、所述扇区分区与所述存储器区域的对应关系。
5.一种存储器访问方法,其特征在于,包括:
存储器控制步骤,访问可读写的非易失性存储器,按照为了该非易失性存储器用而构筑的文件系统中的扇区单位,进行数据的读入以及写入,
在所述存储器控制步骤中,
参照表来确定与指定的扇区对应的存储器区域,在该确定的存储器区域的范围内,检索与该指定的扇区对应的物理地址,其中,该表是针对将所有所述扇区在规定条件之下划分为多个而得到的各扇区分区的每一个,对应了所述非易失性存储器中的、由规定数的删除块构成的、分别不同的所述存储器区域和对通过执行废料收集而发生的扇区的移动次数进行累积而得到的累积次数的表;
在发生了与所述指定的扇区对应的数据的改写的情况下,在所述确定的存储器区域的范围内进行扇区的移动;
在进行数据的写入时,判定属于所述确定的存储器区域的空闲扇区的数量是否为规定数以上,在小于规定数的情况下,选择成为删除对象的所述删除块,执行使所选择的删除对象的删除块中的使用中状态的全部扇区移动到所述确定的存储器区域内的其他删除块的所述废料收集,在执行该废料收集之后,删除所述删除对象的删除块,
根据所述累积次数,变更所述表中的、所述扇区分区与所述存储器区域的对应关系。
CN201180066429.5A 2011-01-31 2011-01-31 存储器控制器 Expired - Fee Related CN103354926B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/051959 WO2012104974A1 (ja) 2011-01-31 2011-01-31 メモリコントローラ

Publications (2)

Publication Number Publication Date
CN103354926A CN103354926A (zh) 2013-10-16
CN103354926B true CN103354926B (zh) 2016-04-06

Family

ID=46602219

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180066429.5A Expired - Fee Related CN103354926B (zh) 2011-01-31 2011-01-31 存储器控制器

Country Status (5)

Country Link
US (1) US9286204B2 (zh)
EP (1) EP2672389B1 (zh)
JP (1) JP5452735B2 (zh)
CN (1) CN103354926B (zh)
WO (1) WO2012104974A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10509770B2 (en) 2015-07-13 2019-12-17 Samsung Electronics Co., Ltd. Heuristic interface for enabling a computer device to utilize data property-based data placement inside a nonvolatile memory device
US11461010B2 (en) 2015-07-13 2022-10-04 Samsung Electronics Co., Ltd. Data property-based data placement in a nonvolatile memory device
KR102411290B1 (ko) 2017-10-24 2022-06-22 삼성전자주식회사 선택적으로 퍼지 동작을 수행하도록 구성되는 호스트 장치 및 스토리지 장치를 포함하는 스토리지 시스템

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
KR101174308B1 (ko) 2002-10-28 2012-08-16 쌘디스크 코포레이션 비휘발성 저장 시스템들에서 자동 웨어 레벨링
US20040109376A1 (en) * 2002-12-09 2004-06-10 Jin-Shin Lin Method for detecting logical address of flash memory
JP4347707B2 (ja) * 2004-01-09 2009-10-21 パナソニック株式会社 情報記録媒体のフォーマット方法および情報記録媒体
JP2006040264A (ja) 2004-06-21 2006-02-09 Toshiba Corp メモリカードの制御方法および不揮発性半導体メモリの制御方法
WO2005124530A2 (en) 2004-06-21 2005-12-29 Kabushiki Kaisha Toshiba Method for controlling memory card and method for controlling nonvolatile semiconductor memory
US7509474B2 (en) * 2005-06-08 2009-03-24 Micron Technology, Inc. Robust index storage for non-volatile memory
US7831783B2 (en) * 2005-12-22 2010-11-09 Honeywell International Inc. Effective wear-leveling and concurrent reclamation method for embedded linear flash file systems
JP4840415B2 (ja) * 2008-07-22 2011-12-21 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4821845B2 (ja) 2008-12-22 2011-11-24 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US8688894B2 (en) * 2009-09-03 2014-04-01 Pioneer Chip Technology Ltd. Page based management of flash storage

Also Published As

Publication number Publication date
EP2672389B1 (en) 2019-02-27
WO2012104974A1 (ja) 2012-08-09
EP2672389A1 (en) 2013-12-11
JPWO2012104974A1 (ja) 2014-07-03
JP5452735B2 (ja) 2014-03-26
CN103354926A (zh) 2013-10-16
US20130311716A1 (en) 2013-11-21
US9286204B2 (en) 2016-03-15
EP2672389A4 (en) 2014-07-02

Similar Documents

Publication Publication Date Title
CN102511044B (zh) 一种数据删除方法及装置
CN102693184B (zh) 处理具有非易失性存储器的系统的动态和静态数据
CN101526923B (zh) 一种数据处理方法、装置和闪存存储系统
CN103154950B (zh) 重复数据删除方法及装置
KR101663667B1 (ko) 플래시 메모리의 주소 매핑에 의한 데이터 관리 방법 및 장치
US20070233941A1 (en) Method for initializing and operating flash memory file system and computer-readable medium storing related program
CN101241472B (zh) 映射管理方法及系统
CN103064797B (zh) 数据处理方法和虚拟机管理平台
CN105787037B (zh) 一种重复数据的删除方法及装置
CN102096561B (zh) 分层数据存储处理方法、装置以及存储设备
CN107391774A (zh) 基于重复数据删除的日志文件系统的垃圾回收方法
CN104423894A (zh) 数据储存装置以及快闪存储器控制方法
AU2016397188B2 (en) Storage system and system garbage collection method
CN115951839A (zh) 分区命名空间固态硬盘的数据写入方法、装置及电子设备
JP5183662B2 (ja) メモリ制御装置及びメモリ制御方法
CN103389942A (zh) 控制装置、存储装置及存储控制方法
CN103354926B (zh) 存储器控制器
CN107229421B (zh) 视频数据存储系统的创建、文件写入和读取方法及装置
US20070005929A1 (en) Method, system, and article of manufacture for sector mapping in a flash device
CN101131649A (zh) 设有闪存的装置的只读存储器升级速度改善方法
CN105630406A (zh) 利用mram作为编辑缓存区的存储系统及编辑缓存方法
CN103354925A (zh) 存储器控制器
CN101625902B (zh) 半导体存储介质的寿命获取方法、系统及装置
JP5253471B2 (ja) メモリコントローラ
CN110795034A (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160406

Termination date: 20200131

CF01 Termination of patent right due to non-payment of annual fee