CN101655819A - 对半导体存储介质进行空块回收的方法、***及设备 - Google Patents
对半导体存储介质进行空块回收的方法、***及设备 Download PDFInfo
- Publication number
- CN101655819A CN101655819A CN 200810145886 CN200810145886A CN101655819A CN 101655819 A CN101655819 A CN 101655819A CN 200810145886 CN200810145886 CN 200810145886 CN 200810145886 A CN200810145886 A CN 200810145886A CN 101655819 A CN101655819 A CN 101655819A
- Authority
- CN
- China
- Prior art keywords
- physical block
- piece
- subregion
- storage medium
- semiconductor storage
- 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
Images
Landscapes
- Memory System (AREA)
Abstract
本发明涉及半导体存储领域,提供了一种对半导体存储介质进行空块回收的方法、***及设备。其中,所述方法包括以下步骤:A.遍历半导体存储介质中需回收空块的分区,并从所述分区中查询占用额外物理块的逻辑块;B.将所述额外物理块中的有效页搬迁到指定的迁入物理块中;C.将所述额外物理块擦除,并放入空块池。本发明将逻辑块内所有额外物理块中的有效页汇集到指定的迁入物理块中,然后将这些额外物理块擦除并放入空块池,通过提高回收效率提高了半导体存储设备的数据存取速度。
Description
技术领域
本发明涉及半导体存储领域,更具体地说,涉及一种对半导体存储介质进行空块回收的方法、***及设备。
背景技术
随着社会的不断发展和进步,人们接触到的信息越来越多,存储和管理这些信息也越来越重要,而随着生活和工作的节奏加快,人们对存储设备的要求也越来越高。
对于半导体存储设备而言,例如闪存设备,一般包含多个闪存介质。闪存介质包括若干个存储块,每个存储块由多个页构成。在闪存介质中按顺序分配给存储块的地址称为物理地址,而在使用过程中所具有的划分块的虚构地址称为逻辑地址。逻辑地址与物理地址之间通过映射的方法进行对应和转换,由映射信息组成地址映射表,而由逻辑块地址与物理块地址之间通过映射关系建立的地址映射表称为块地址映射表。
为了更有效地对闪存介质进行管理,可以将一个闪存介质的存储空间从逻辑上划分成若干个分区,每个分区包含若干个逻辑块。通过扫描闪存介质各分区中的逻辑块对应存储块的物理地址,生成分区地址映射表。对于一个含有8192个物理块的闪存介质,若每个分区包含256个块,则可以分成32个分区。但由于闪存介质块的特性,有些块是坏块,这会损失掉一部分空间。因此在划分分区时,只有在当前分区分配满块时才将剩余的块分配给下一下分区,比如,若8192个块中只有8100个有效块用于逻辑分区,则仍然可以分成32个分区,只是前面31个分区分别包含256个逻辑块,而第32个分区只包含164个逻辑块。上述分区地址映射表存放于闪存介质各分区中相应的备用块内。通过将备用块的分区地址映射表读出至RAM(Random Access Memory,随机存取内存)内,进行逻辑地址和物理地址之间的转换,从而实现闪存介质内的数据读写操作。通过分区方式实现闪存介质数据存储方法,具有提高数据存取速度的优点,例如,当闪存介质针对记录于存储块中的数据进行写操作时,需要生成新的分区地址映射表,只需将新的分区地址映射表存放于该分区的备用块中用于更新旧的分区地址映射表即可。同样,在下次数据操作且需要切换到该分区的分区地址映射表时,无需针对该分区内的每个块进行扫描,再根据每个块的物理地址动态生成相应的分区地址映射表,只需将更新后的分区地址映射表从相应的备用块中读出即可。
由于闪存介质在使用之前所有的有效物理块都是空块(即不包含数据的物理块),因此在对有效物理块进行逻辑地址和物理地址的映射时,保留一定数量的空块不建立映射关系,并由此构成一个集合,称之为空块池。该空块池用于记录闪存介质中空块的使用情况,其中包括空块池中空块的数量以及与空块对应的物理地址,实际上,空块池在此可以作一个缓存看待。闪存介质在初始化时,分区地址映射表中的逻辑地址和物理地址是一对一的映射关系。但是闪存介质在数据存储的过程中,为了加快存储速度,需要消耗空块池中的空块用于存储数据,此时部分逻辑块可能会同时占有两个或两个以上物理块,这些多占用的物理块即称为额外物理块,分区中所有逻辑块占用额外物理块的总和就是该分区占有的额外物理块,其中逻辑块对应的额外物理块从空块池中取得。逻辑块对应的额外物理块越多,空块池中的空块数量越少。由于当前闪存设备中存在大量逻辑块占用额外物理块的情形,使得空块数量减少,而在闪存设备中进行空间回收的效率低下,严重限制了闪存设备的存取速度,而对于包括闪存在内的所有半导体存储设备而言,均存在上述问题。
因此需要一种对半导体存储介质进行空块回收的方法,从而能够提高半导体存储设备的存取速度。
发明内容
本发明的目的之一在于提供一种对半导体存储介质进行空块回收的方法、***及设备,旨在解决现有技术由于半导体存储设备中空间回收效率低下,导致存取速度较低的问题。
为了实现发明目的,所述对半导体存储介质进行空块回收的***,包括主机和与其相连的半导体存储设备,所述半导体存储设备包括控制器及与其相连的半导体存储介质,所述控制器包括:
回收查询单元,遍历所述半导体存储介质中需回收空块的分区,并从所述分区中查询占用额外物理块的逻辑块;
空块回收单元,与回收查询单元相连并进行数据交互,将所述额外物理块中的有效页搬迁到指定的迁入物理块中,并将额外物理块擦除后置入空块池。
为了更好地实现发明目的,所述进行空块回收的半导体存储设备,包括控制器及与其相连的半导体存储介质,所述控制器包括:
回收查询单元,遍历所述半导体存储介质中需回收空块的分区,并从所述分区中查询占用额外物理块的逻辑块;
空块回收单元,与回收查询单元相连并进行数据交互,将所述额外物理块中的有效页搬迁到指定的迁入物理块中,并将额外物理块擦除后置入空块池。
为了更好地实现发明目的,还提供了一种对半导体存储介质进行空块回收的方法,所述半导体存储设备包括半导体存储介质,所述方法包括以下步骤:
A.遍历半导体存储介质中需回收空块的分区,并从所述分区中查询占用额外物理块的逻辑块;
B.将所述额外物理块中的有效页搬迁到指定的迁入物理块中;
C.将所述额外物理块擦除,并放入空块池。
由上可知,本发明与现有技术的区别在于,将逻辑块内所有额外物理块中的有效页汇集到指定的迁入物理块中,然后将这些额外物理块擦除并放入空块池,从而迅速获得更多的有效存储空间,因此提高了半导体存储设备的数据存取速度。
附图说明
图1是本发明其中一个实施例中对半导体存储介质进行空块回收的***结构图;
图2是本发明其中一个实施例中半导体存储设备内的控制器的结构图;
图3是本发明其中一个实施例中控制器内回收查询单元的结构图;
图4是本发明其中一个实施例中控制器内空间回收单元的结构图;
图5是本发明其中一个实施例中对半导体存储介质进行空块回收的方法流程图;
图6是本发明其中一个实施例中对半导体存储介质进行空块回收的方法流程图;
图7是本发明其中一个实施例中对半导体存储介质进行空块回收的方法流程图;
图8是本发明其中一个实施例中对半导体存储介质进行空块回收的方法流程图;
图9是本发明其中一个实施例中对半导体存储介质进行空块回收的方法流程图;
图10是基于图9所示的实施例对半导体存储介质进行空块回收的方法流程图;
图11是本发明其中一个实施例中对半导体存储介质进行空块回收的方法流程图;
图12是基于图11所示的实施例对半导体存储介质进行空块回收的方法流程图。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
具体实施方式
在本发明中,半导体存储设备内的控制器包括回收查询单元和空块回收单元。首先遍历半导体存储介质中需回收空块的分区,并从所述分区中查询占用额外物理块的逻辑块;然后将所述额外物理块中的有效页搬迁到指定的迁入物理块中;最后将所述额外物理块擦除,并放入空块池。本发明能够在半导体存储设备中迅速获得更多的有效存储空间,因此提高了半导体存储设备的数据存取速度。
图1示出了本发明其中一个实施例中对半导体存储介质进行空块回收的***结构,该***包括主机1、半导体存储设备2。半导体存储设备2包括控制器21、内存22和多个半导体存储介质23。应当说明的是,本发明所有图示中各设备之间的连接关系是为了清楚阐释其信息交互及控制过程的需要,因此应当视为逻辑上的连接关系,而不应仅限于物理连接。另外需要说明的是,各功能模块之间的通信方式可以采取多种,本发明的保护范围不应限定为某种特定类型的通信方式。
图2示出了本发明其中一个实施例中半导体存储设备2内的控制器21的结构,该控制器21包括回收查询单元211、空块回收单元212。其中:
(1)回收查询单元211,遍历半导体存储介质23中需回收空块的分区,并从该分区中查询占用额外物理块的逻辑块。
(2)空块回收单元212,与回收查询单元211相连并进行数据交互,将额外物理块中的有效页搬迁到指定的迁入物理块中,并将额外物理块擦除后置入空块池。
图3示出了本发明其中一个实施例中控制器21内回收查询单元211的结构,该回收查询单元211包括分区查询模块2111和逻辑块查询模块2112,其中:
(1)分区查询模块2111,根据半导体存储介质23中各分区占用的物理块数量,查询需回收空块的分区。如果空块池中空块不足,就要回收逻辑块中的额外物理块。所谓空块不足,是个相对的概念,在执行写操作的过程中,空块可能被不断取走,越来越少,当少于预先设定的空块下限时则视为空块不足。比如说空块池总共有100个空块,设定5个为预留的空块下限,当空块池空块少于5个时就判断为空块不足,需要回收空块。
(2)逻辑块查询模块2112,与分区查询模块2111相连并进行数据交互,从所述需回收空块的分区中查询占用额外物理块的逻辑块。在本发明中,占用额外物理块的逻辑块可包括:占用额外物理块最多且有效页最少的逻辑块,及占用额外物理块且可执行块内回收的逻辑块。空块回收单元212对不同的情况处理方式有所不同,将在后面的内容中详细阐述。
图4示出了本发明其中一个实施例中控制器21内空间回收单元212的结构,该空块回收单元212包括迁入指定模块2121、数据迁移模块2122和数据擦除模块2123,其中:
(1)迁入指定模块2121,用于在所述占用额外物理块的逻辑块中指定一个迁入物理块。本发明中,迁入物理块可有多种类型,例如,指定一空块作为迁入物理块,或者指定具有富余空间的物理块作为迁入物理块。
在一个实施例中,当逻辑块查询模块2112查询并确定的是占用额外物理块最多且有效页最少的逻辑块,迁入指定模块2121则***一空块作为迁入物理块。
在另一实施例中,当逻辑块查询模块2112查询并确定的是占用额外物理块且可执行块内回收的逻辑块,迁入指定模块2121则指定该逻辑块内具有富余空间的物理块作为迁入物理块。
(2)数据迁移模块2122,与迁入指定模块2121相连并进行数据交互,将额外物理块中的有效页搬迁到指定的迁入物理块中。
(3)数据擦除模块2123,与数据迁移模块2122相连并进行数据交互,将所述额外物理块擦除并放入空块池中。
图5示出了本发明其中一个实施例中对半导体存储设备2进行空块回收的方法流程,该半导体存储设备2的结构如图2所示,包括控制器21、内存22和多个半导体存储介质23。该方法流程包括以下步骤:
在步骤S501中,控制器21遍历半导体存储介质23中需回收空块的分区,并从所述分区中查询占用额外物理块的逻辑块。
在步骤S502中,将额外物理块中的有效页搬迁到指定的迁入物理块中。
在步骤S503中,将额外物理块擦除,并放入空块池。
图6示出了本发明其中一个实施例中对半导体存储介质23进行空块回收的方法流程。
在步骤S601中,控制器21根据半导体存储介质23内的各分区占用的物理块数量,判定需回收空块的分区。
在步骤S602中,控制器21遍历半导体存储介质23中需回收空块的分区,并从所述分区中查询占用额外物理块的逻辑块。该步骤S602的具体实现过程与步骤S501一致,将在后面内容中详述阐述。
在步骤S603中,将所述额外物理块中的有效页搬迁到指定的迁入物理块中。该步骤S603的具体实现过程与步骤S502一致,将在后面内容中详述阐述。
在步骤S604中,将所述额外物理块擦除,并放入空块池。该步骤S604的具体实现过程与步骤S503一致,将在后面内容中详述阐述。
本发明可在多种条件下执行空块回收,包括空闲状态时,或者写操作的过程中。如下图7、图8的实施例是半导体存储设备2处于写操作状态时的空块回收过程,其中图7是先回收后写,图8是先写后回收。
图7示出了本发明其中一个实施例中对半导体存储设备2进行空块回收的方法流程。该实施例展示了在其中一个应用场景,即半导体存储设备2收到主机1发送的写命令时进行空块回收的情形,具体过程如下:
在步骤S701中,半导体存储设备2接收到主机1发送的写命令。
在步骤S702中,半导体存储设备2利用其控制器21判断是否空块不足,需要回收空块:若是,则执行步骤S703;若否,则执行步骤S707。
如果空块池中空块不足,就要回收逻辑块中的额外物理块。所谓空块不足,是个相对的概念,在执行写操作的过程中,空块可能被不断取走,越来越少,当少于预先设定的空块下限时则视为空块不足。比如说空块池总共有100个空块,设定5个为预留的空块下限,当空块池空块少于5个时就判断为空块不足,需要回收空块。
在步骤S703中,控制器21利用其回收查询单元211判定需要回收空块的分区。
在步骤S704中,控制器21进一步利用回收查询单元211遍历分区内的逻辑块,并查询占用额外物理块的逻辑块。
在步骤S705中,控制器21利用其空块回收单元212将额外物理块中的有效页搬迁到指定的迁入物理块中。
在步骤S706中,空块回收单元212将额外物理块擦除并置入空块池中。
在步骤S707中,控制器21执行写操作。
在写操作完成之后,当前逻辑块中可能会出现不包含有效数据的物理块,即无效块。因此可进一步包括对无效块进行回收的步骤,如下:
在步骤S708中,写操作完成后,控制器21再次利用其回收查询单元211检查当前逻辑块中是否有无效块:若有,则执行步骤S709;若无,则结束。
在步骤S709中,空块回收单元212将该无效块擦除,并放入空块池中。
在该实施例中,先回收后执行写操作,增加回收无效块的步骤,优点在于,不用搬迁数据,只要擦除操作,速度非常快,因此可以大大提高回收的效率。
图8示出了本发明其中一个实施例中对半导体存储设备2进行空块回收的方法流程。该实施例是先执行写操作再回收,具体过程如下:
在步骤S801中,半导体存储设备2接收到主机1发送的写命令。
在步骤S802中,半导体存储设备2利用其控制器21判断是否空块不足,需要回收空块:若是,则执行步骤S803;若否,则执行步骤S807。在本发明中,当前物理块剩余的空间放不下这次写操作的数据,就需要取空块进行操作。
在步骤S803中,控制器21从空块池中取出空块,放到当前要进行写操作的逻辑块中,准备进行写操作。
在步骤S804中,判断物理块是否已经占满了当前逻辑块。用户可以设定一个逻辑块最多可以占用几个物理块,比如说5个,那当这个逻辑块包含了5个物理块时,表示物理块已经占满了当前逻辑块。
在步骤S805中,控制器21为当前逻辑块置上占用状态标志,等写操作完成后再对此逻辑块进行回收。
在步骤S806中,执行写操作。
在步骤S807中,根据步骤S805的结果判断是否需要进行写操作后的回收操作:若是,则进行写操作后回收。在一个实施例中,可将逻辑块内除当前待写的物理块外,其它物理块里的有效数据都搬迁到当前待写的物理块中,然后将其它物理块擦除后放入空块池,并更新映射表。该步骤S807的具体过程与前述图7中步骤S705、S706一致,此处不再赘述。
在步骤S807中,控制器21判断写操作是否执行完毕:若是,则结束写操作;若否,则继续执行步骤S801。
在该实施例中,先写操作再回收,大大减少了需要搬迁的数据。
上述图7、图8的实施例示出了写操作时的回收情况,应当说明的是,本发明并不限于在写操作时启动空块回收,在半导体存储设备2处于空闲状态时也可执行。具体过程如下:(1)在程序运行中,不断检测半导体存储设备2是否处于空闲状态。半导体存储设备2处于空闲状态是指其在设定的时间内都没有接收到主机1发送下来的读写命令,不用进行读写操作。判断半导体存储设备2是否处于空闲状态可以通过计数器,用户先设定一个值,半导体存储设备2不进行读写操作时计数器会计数,当达到设定的值时,就可判定半导体存储设备2处于空闲状态。(2)若处于空闲状态,则判断是否需要执行空块回收。用户可设定一个下限值,当空块池中的空块数量小于这个值时就需要进行空闲回收。后续步骤则与步骤S703-S706一致,此处不再赘述。
图9示出了本发明其中一个实施例中对半导体存储介质23进行空块回收的方法流程。
在步骤S901中,控制器21遍历半导体存储介质23中需回收空块的分区,并从分区中查询占用额外物理块最多且有效页最少的逻辑块。
在步骤S902中,在所述逻辑块中置入一空块作为迁入物理块,并将额外物理块中的有效页均搬迁到该迁入物理块中。
在步骤S903中,将额外物理块擦除并置入空块池中。
本实施例是通过指定一空块作为迁入物理块的方式,对占用额外物理块最多且有效页最少的逻辑块进行回收。回收占用物理块最多且有效页最少的逻辑块,可以在最短的时间回收最多的物理块。
图10是基于图9所示实施例对半导体存储介质23进行空块回收的方法流程。
在步骤S1001中,先将分区内的逻辑块号初始化,即把第一个逻辑块号赋值为0,从第一个逻辑块起开始遍历这个分区。
在步骤S1002中,根据映射表信息判断该逻辑块是否占用两个以上物理块:若是,该逻辑块才可以进行回收,则执行步骤S1003;若否,则执行步骤S1005。
在步骤S1003中,置上可回收标志,说明已经找到了可以回收的逻辑块。
在步骤S1004中,比较以前的记录,记下占用块最多且有效页最少的逻辑块。所谓占用块最多且有效页最少的逻辑块,需将占用块数量和有效页数量以一定的权重进行计算得到。
在步骤S1005中,将逻辑块号加1。
在步骤S1006中,判断是否已经遍历完这个分区中的所有逻辑块,即当前逻辑块号是否大于分区内逻辑块数:若是,则执行步骤S1007;若否,则返回执行步骤S1002,继续循环。
在步骤S1007中,根据步骤S1003的结果判断是否已经找到了可以回收的逻辑块:若是,则执行步骤S1008;若否,则返回未回收到空块的结果,并结束。
在步骤S1008中,从空块池中取出一个空块,放入步骤S1004记录的占用物理块最多并且有效页最少的逻辑块中。
在步骤S1009中,利用***的空块回收该逻辑块中的额外物理块,将这些额外物理中的有效页都搬迁到这个空块中,并将这些额外物理都擦除后放入空块池中,更新映射表信息。
图11示出了本发明其中一个实施例中对半导体存储介质23进行空块回收的方法流程。该实施例是进行逻辑块内的回收,具体包括:
在步骤S1101中,控制器21遍历半导体存储介质23中需回收空块的分区,并从所述分区中查询占用额外物理块且可执行块内回收的逻辑块;
在步骤S1102中,指定具有富余空间的当前待写物理块为迁入物理块,并将额外物理块中的有效页均搬迁到该迁入物理块中;
在步骤S1103中,将额外物理块擦除并置入空块池中。
本实施例进行的逻辑块内回收,搬迁数据量小,回收速度快。
图12是基于图11所示实施例中对半导体存储介质23进行空块回收的方法流程。
在步骤S1201中,先将分区内的逻辑块号初始化,即把第一个逻辑块号赋值为0,从第一个逻辑块起开始遍历这个分区。
在步骤S1202中,根据映射表信息判断该逻辑块是否占用两个以上物理块:若是,该逻辑块才可以进行回收,则执行步骤S1203;若否,则执行步骤S1206。
在步骤S1203中,判断该逻辑块是否可以执行逻辑块内回收:若是,则执行步骤S1204;若否,则执行步骤S1206。在本实施例中,当该逻辑块内当前待写的物理块剩余的物理空间,可以放得下该逻辑块其它物理块中某个物理块包含的有效数据时,判断为可以执行逻辑块内回收。
在步骤S1204中,置上标志,说明已经找到了可以回收的逻辑块。
在步骤S1205中,记下待回收的有效页最小的逻辑块以及对应的有效页数。
在步骤S1206中,将逻辑块号加1,
在步骤S1207中,判断是否已经遍历完这个分区中的所有逻辑块,也即当前逻辑块号是否大于分区内的逻辑块数:若是,则执行步骤S1208,若否,则回到步骤S1202。
在步骤S1208中,根据步骤S1204的结果判断是否已经找到了可以回收的逻辑块:若找到,则执行步骤S1209进行逻辑块内的空块回收;若没有找到,则结束。
在步骤S1209中,将额外物理块中的有效页均搬迁到该逻辑块内具有富余空间的待写物理块中。在一个实施例中,优先将包含最少有效数据的物理块里的有效数据搬迁到当前待写的物理块中。
在步骤S1210中,将额外物理块擦除后放入空块池,并更新映射表。
在上述所有步骤执行完毕后,可返回结果,回收到了空块。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (14)
1、一种对半导体存储介质进行空块回收的***,包括主机和与其相连的半导体存储设备,所述半导体存储设备包括控制器及与其相连的半导体存储介质,其特征在于,所述控制器包括:
回收查询单元,遍历所述半导体存储介质中需回收空块的分区,并从所述分区中查询占用额外物理块的逻辑块;
空块回收单元,与回收查询单元相连并进行数据交互,将所述额外物理块中的有效页搬迁到指定的迁入物理块中,并将额外物理块擦除后置入空块池。
2、根据权利要求1所述的对半导体存储介质进行空块回收的***,其特征在于,所述回收查询单元包括:
分区查询模块,根据所述半导体存储介质中各分区占用的物理块数量,查询需回收空块的分区;
逻辑块查询模块,与分区查询模块相连并进行数据交互,从所述需回收空块的分区中查询占用额外物理块的逻辑块。
3、根据权利要求1所述的对半导体存储介质进行空块回收的***,其特征在于,所述空块回收单元包括:
迁入指定模块,用于在所述占用额外物理块的逻辑块中指定迁入物理块;
数据迁移模块,与迁入指定模块相连并进行数据交互,将所述额外物理块中的有效页搬迁到所述迁入物理块中;
数据擦除模块,与数据迁移模块相连并进行数据交互,将所述额外物理块擦除并放入空块池中。
4、一种进行空块回收的半导体存储设备,包括控制器及与其相连的半导体存储介质,其特征在于,所述控制器包括:
回收查询单元,遍历所述半导体存储介质中需回收空块的分区,并从所述分区中查询占用额外物理块的逻辑块;
空块回收单元,与回收查询单元相连并进行数据交互,将所述额外物理块中的有效页搬迁到指定的迁入物理块中,并将额外物理块擦除后置入空块池。
5、根据权利要求4所述的进行空块回收的半导体存储设备,其特征在于,所述回收查询单元包括:
分区查询模块,根据所述半导体存储介质中各分区占用的物理块数量,查询需回收空块的分区;
逻辑块查询模块,与分区查询模块相连并进行数据交互,从所述需回收空块的分区中查询占用额外物理块的逻辑块。
6、根据权利要求4所述的进行空块回收的半导体存储设备,其特征在于,所述空块回收单元包括:
迁入指定模块,用于在所述占用额外物理块的逻辑块中指定迁入物理块;
数据迁移模块,与迁入指定模块相连并进行数据交互,将所述额外物理块中的有效页搬迁到所述迁入物理块中;
数据擦除模块,与数据迁移模块相连并进行数据交互,将所述额外物理块擦除并放入空块池中。
7、一种对半导体存储介质进行空块回收的方法,所述半导体存储设备包括半导体存储介质,其特征在于,所述方法包括以下步骤:
A.遍历半导体存储介质中需回收空块的分区,并从所述分区中查询占用额外物理块的逻辑块;
B.将所述额外物理块中的有效页搬迁到指定的迁入物理块中;
C.将所述额外物理块擦除,并放入空块池。
8、根据权利要求7所述的对半导体存储介质进行空块回收的方法,其特征在于,所述步骤A之前还包括:
A0.根据所述半导体存储介质的各分区占用的物理块数量,判定需回收空块的分区。
9、根据权利要求8所述的对半导体存储介质进行空块回收的方法,其特征在于,所述判定需回收空块的分区的步骤的启动时刻包括:
所述半导体存储设备处于空闲状态时,或者在写操作中需要回收空块时。
10、根据权利要求7所述的对半导体存储介质进行空块回收的方法,其特征在于,所述步骤B中的迁入物理块包括:
空块,或具有富余空间的当前待写物理块。
11、根据权利要求10所述的对半导体存储介质进行空块回收的方法,其特征在于,所述方法包括以下步骤:
A’.遍历半导体存储介质中需回收空块的分区,并从所述分区中查询占用额外物理块最多且有效页最少的逻辑块;
B’.在所述逻辑块中置入一空块作为迁入物理块,并将额外物理块中的有效页均搬迁到该迁入物理块中;
C’.将额外物理块擦除并置入空块池中。
12、根据权利要求10所述的对半导体存储介质进行空块回收的方法,其特征在于,所述方法包括以下步骤:
A”.遍历半导体存储介质中需回收空块的分区,并从所述分区中查询占用额外物理块且可执行块内回收的逻辑块;
B”.指定具有富余空间的当前待写物理块为迁入物理块,并将额外物理块中的有效页均搬迁到该迁入物理块中;
C”.将额外物理块擦除并置入空块池中。
13、根据权利要求9所述的对半导体存储介质进行空块回收的方法,其特征在于,在所述写操作中回收空块包括如下情况:
先回收空块,后执行写操作;以及
先执行写操作,后回收空块。
14、根据权利要求13所述的对半导体存储介质进行空块回收的方法,其特征在于,在执行写操作之后包括:
查询当前逻辑块中的无效块,并将查询到的无效块擦除后置入空块池中。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101458863A CN101655819B (zh) | 2008-08-18 | 2008-08-18 | 对半导体存储介质进行空块回收的方法、***及设备 |
HK10108091.9A HK1141604A1 (en) | 2008-08-18 | 2010-08-24 | Method, system and apparatus for carrying out empty block reclamation for semiconductor storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101458863A CN101655819B (zh) | 2008-08-18 | 2008-08-18 | 对半导体存储介质进行空块回收的方法、***及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101655819A true CN101655819A (zh) | 2010-02-24 |
CN101655819B CN101655819B (zh) | 2012-11-28 |
Family
ID=41710113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101458863A Active CN101655819B (zh) | 2008-08-18 | 2008-08-18 | 对半导体存储介质进行空块回收的方法、***及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101655819B (zh) |
HK (1) | HK1141604A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622307A (zh) * | 2012-02-27 | 2012-08-01 | 记忆科技(深圳)有限公司 | 硬盘数据的操作方法和硬盘控制器 |
CN102841849A (zh) * | 2011-05-19 | 2012-12-26 | 国际商业机器公司 | 用于操作计算机化存储器的方法和*** |
CN105278876A (zh) * | 2015-09-23 | 2016-01-27 | 华为技术有限公司 | 一种固态硬盘的数据擦除方法及装置 |
CN113625973A (zh) * | 2021-08-30 | 2021-11-09 | 深圳市得一微电子有限责任公司 | 数据写入方法、装置、电子设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7039788B1 (en) * | 2002-10-28 | 2006-05-02 | Sandisk Corporation | Method and apparatus for splitting a logical block |
-
2008
- 2008-08-18 CN CN2008101458863A patent/CN101655819B/zh active Active
-
2010
- 2010-08-24 HK HK10108091.9A patent/HK1141604A1/xx unknown
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102841849A (zh) * | 2011-05-19 | 2012-12-26 | 国际商业机器公司 | 用于操作计算机化存储器的方法和*** |
CN102841849B (zh) * | 2011-05-19 | 2015-10-28 | 国际商业机器公司 | 用于操作计算机化存储器的方法和*** |
US9218277B2 (en) | 2011-05-19 | 2015-12-22 | International Business Machines Corporation | Wear leveling |
US9274944B2 (en) | 2011-05-19 | 2016-03-01 | International Business Machines Corporation | Wear leveling |
CN102622307A (zh) * | 2012-02-27 | 2012-08-01 | 记忆科技(深圳)有限公司 | 硬盘数据的操作方法和硬盘控制器 |
CN102622307B (zh) * | 2012-02-27 | 2016-03-30 | 记忆科技(深圳)有限公司 | 硬盘数据的操作方法和硬盘控制器 |
CN105278876A (zh) * | 2015-09-23 | 2016-01-27 | 华为技术有限公司 | 一种固态硬盘的数据擦除方法及装置 |
WO2017050028A1 (zh) * | 2015-09-23 | 2017-03-30 | 华为技术有限公司 | 一种固态硬盘的数据擦除方法及装置 |
CN105278876B (zh) * | 2015-09-23 | 2018-12-14 | 华为技术有限公司 | 一种固态硬盘的数据擦除方法及装置 |
CN113625973A (zh) * | 2021-08-30 | 2021-11-09 | 深圳市得一微电子有限责任公司 | 数据写入方法、装置、电子设备及计算机可读存储介质 |
CN113625973B (zh) * | 2021-08-30 | 2024-01-16 | 得一微电子股份有限公司 | 数据写入方法、装置、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101655819B (zh) | 2012-11-28 |
HK1141604A1 (en) | 2010-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101458613B (zh) | 一种混合分级阵列的实现方法、混合分级阵列和存储*** | |
CN101169751B (zh) | 具有闪存设备的***及其数据恢复方法 | |
CN100498740C (zh) | 一种数据缓存处理方法、***及数据缓存装置 | |
CN101784993B (zh) | 使用闪存作为存储器的设备及其操作方法 | |
CN100541455C (zh) | 使用请求调页技术的***中减少页替换时间的方法和设备 | |
CN101980177B (zh) | 一种操作Flash的方法和装置 | |
KR20080086828A (ko) | 메모리 관리 장치 및 방법, 및 메모리 관리시스템 | |
CN106155915A (zh) | 数据存储的处理方法及装置 | |
WO2017149592A1 (ja) | ストレージ装置 | |
CN103425600A (zh) | 一种固态盘闪存转换层中的地址映射方法 | |
KR20100089229A (ko) | 플래시 메모리의 주소 매핑에 의한 데이터 관리 방법 및 장치 | |
CN101268449A (zh) | 信息记录媒体访问装置以及数据记录方法 | |
CN107256196A (zh) | 基于闪存阵列的支持零拷贝的缓存***及方法 | |
CN106815152A (zh) | 一种优化页级闪存转换层的方法 | |
CN101655819B (zh) | 对半导体存储介质进行空块回收的方法、***及设备 | |
CN103744614A (zh) | 固态硬盘访问的方法及其固态硬盘 | |
CN109671458A (zh) | 管理闪存模块的方法及相关的闪存控制器 | |
CN107463333B (zh) | 网络硬盘空间的回收方法、装置和*** | |
KR20160106240A (ko) | 반도체 장치 및 그 동작 방법 | |
CN105975215A (zh) | 一种基于Ondemand算法的STL映射表管理方法 | |
CN110955488A (zh) | 一种持久性内存的虚拟化方法及*** | |
CN106055679A (zh) | 一种多层次缓存感知型索引方法 | |
CN106844222A (zh) | 固态硬盘的数据处理的方法和设备 | |
CN101539887B (zh) | 快闪存储器管理方法与计算机*** | |
CN112000426A (zh) | 一种数据处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1141604 Country of ref document: HK |
|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1141604 Country of ref document: HK |