CN103744614B - 固态硬盘访问的方法及其固态硬盘 - Google Patents
固态硬盘访问的方法及其固态硬盘 Download PDFInfo
- Publication number
- CN103744614B CN103744614B CN201310695406.1A CN201310695406A CN103744614B CN 103744614 B CN103744614 B CN 103744614B CN 201310695406 A CN201310695406 A CN 201310695406A CN 103744614 B CN103744614 B CN 103744614B
- Authority
- CN
- China
- Prior art keywords
- data
- storage pool
- solid state
- hard disc
- state hard
- 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
Links
- 239000007787 solid Substances 0.000 title claims abstract description 95
- 238000000034 method Methods 0.000 title claims abstract description 30
- 239000010813 municipal solid waste Substances 0.000 claims description 56
- 230000004048 modification Effects 0.000 claims description 14
- 238000012986 modification Methods 0.000 claims description 14
- 230000005012 migration Effects 0.000 claims description 12
- 238000013508 migration Methods 0.000 claims description 12
- 230000007246 mechanism Effects 0.000 claims description 9
- 239000011800 void material Substances 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 5
- 238000000151 deposition Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 claims description 2
- 230000009471 action Effects 0.000 claims 1
- 238000013507 mapping Methods 0.000 description 13
- 238000007726 management method Methods 0.000 description 11
- 238000013500 data storage Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000005194 fractionation Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明适用于存储技术领域,本发明提供一种固态硬盘访问的方法及其固态硬盘,所述方法包括如下步骤:创建步骤:在固态硬盘的存储空间创建多个预定大小的存储池;存储步骤:在所述存储池中写入数据,并为写入数据的所述存储池配置关键字;访问步骤:通过所述关键字在对应的存储池中访问所述数据。借此,本发明实现了提高固态硬盘读写访问的灵活性和效率。
Description
技术领域
本发明涉及存储技术领域,尤其涉及一种固态硬盘访问的方法及其固态硬盘。
背景技术
当前固态硬盘的使用方式如下,固态硬盘存在FTL(Flash translation layer,地址转换层)管理逻辑页地址(LPA,Logical Page Address)到物理页地址(PPA,PhysicalPage Address)的映射表,固态硬盘在操作系统内被注册为块设备,并格式化为固定的文件系统,文件系统管理文件到逻辑地址的映射关系(LBA,LogicalBlock Address)。数据访问时,文件系统下发LBA,FTL将LBA转化为LPA,然后在将LPA转化为PPA,最终找到用户数据。该方法首先要将固态硬盘在系统内进行注册设备、格式化等操作,同时存在地址关系的多次映射,访问效率较低,灵活性不足。
综上可知,现有的固态硬盘访问技术在实际使用上,显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种固态硬盘访问的方法及其固态硬盘,以提高固态硬盘读写访问的灵活性和效率。
为了实现上述目的,本发明提供一种固态硬盘访问的方法,其特征在于,所述方法包括如下步骤:
创建步骤:在固态硬盘的存储空间创建多个预定大小的存储池;
存储步骤:在所述存储池中写入数据,并为写入数据的所述存储池配置关键字;
访问步骤:通过所述关键字在对应的存储池中访问所述数据。
根据所述的方法,在所述创建步骤中,在所述固态硬盘的存储空间创建多个不同大小的存储池;
每个所述存储池的大小大于或等于一个闪存页的大小。
根据所述的方法,所述存储步骤包括:
接收用户在所述固态硬盘写入数据的请求以及对存储池指定的指令,将所述数据写入用户指定的存储池;
为写入所述数据的存储池配置与所述存储池的物理地址对应的关键字;
建立所述关键字与所述存储池的物理地址的关系映射列表;
所述访问步骤包括:
接收用户对数据的访问请求,并通过所述数据的关键字在所述关系映射列表查找对应的物理地址;
在所述物理地址下读取对应的所述数据。
根据所述的方法,所述方法还包括:
修改步骤:根据用户对所述存储池存储的数据进行修改的请求,对所述存储池存储的数据进行修改,并且调整所述关系映射列表;和/或
垃圾回收步骤:根据预设的垃圾回收机制,对所述存储池执行垃圾回收。
根据所述的方法,所述修改步骤包括:
接收用户对写入的所述数据进行修改的指令,对所述数据及其对应的关键字进行修改;
从所述数据修改前存储的存储池中划分出新的物理地址存储修后的数据,并更新所述关系映射列表;
所述垃圾回收步骤包括:
接收用户释放或改写任一所述关键字对应的数据的指令,将在所述关键字对应的物理地址下存储的数据设置为无效;
当所述存储池的物理块中的数据全部无效时,将所述物理块擦除;或者
当所述存储池的物理块中存在低于预设阈值大小的有效数据时,将所述有效数据迁移到新的物理地址中,并修改所述有效数据对应的物理地址,并将所述有效数据迁移前存储的物理块擦除;
在到达预设的所述固态硬盘的垃圾回收阈值时,启动所述固态硬盘的垃圾回收。
为了实现本发明的另一发明目的,本发明还提供了一种固态硬盘,包括:
创建模块,用于在固态硬盘的存储空间创建多个预定大小的存储池;
存储模块,用于在所述存储池中写入数据,并为写入数据的所述存储池配置关键字;
访问模块,通过所述关键字在对应的存储池中访问所述数据。
根据所述的固态硬盘,所述创建模块在所述固态硬盘的存储空间创建多个不同大小的存储池;
每个所述存储池的大小大于或等于一个闪存页的大小。
根据所述的固态硬盘,所述存储模块包括:
写入子模块,用于接收用户在所述固态硬盘写入数据的请求以及对存储池指定的指令,将所述数据写入用户指定的存储池;
匹配字模块,用于为写入所述数据的存储池配置与所述存储池的物理地址对应的关键字;
建立子模块,用于建立所述关键字与所述存储池的物理地址的关系映射列表;
所述访问模块包括:
接收子模块,用于接收用户对数据的访问请求,并通过所述数据的关键字在所述关系映射列表查找对应的物理地址;
读取子模块,用于在所述物理地址下读取对应的所述数据。
根据所述的固态硬盘,所述固态硬盘还包括:
修改模块:根据用户对所述存储池存储的数据进行修改的请求,对所述存储池存储的数据进行修改,并且调整所述关系映射列表;和/或
垃圾回收模块:根据预设的垃圾回收机制,对所述存储池执行垃圾回收。
根据所述的固态硬盘,所述修改模块包括:
修改子模块,用于接收用户对写入的所述数据进行修改的指令,对所述数据对应的关键字进行修改;
更新子模块,用于从所述数据修改前存储的存储池中划分出新的物理地址存储修后的数据,并更新所述关系映射列表;
所述垃圾回收模块包括:
设置子模块,用于接收用户释放或改写任一所述关键字对应的数据的指令,将在所述关键字对应的物理地址下存储的数据设置为无效;
擦除子模块,用于当所述存储池的物理块中数据全部无效时,将所述物理块擦除;或者
迁移子模块,用于当所述存储池的物理块中存在低于预设阈值大小的有效数据时,将所述有效数据迁移到新的物理地址中,并修改所述有效数据对应的物理地址,并将所述有效数据迁移前存储的物理块擦除;
回收子模块,用于在到达预设的所述固态硬盘的垃圾回收阈值时,启动所述固态硬盘的垃圾回收。
本发明提出了固态硬盘访问的方法及其固态硬盘,该方法通过用户通过定义关键字申请固定大小的存储空间,存储空间写入数据;读取数据时,通过关键字进行获取已写入的数据;数据无效时,用户主动删除该关键字,该空间由系统回收;固态硬盘系统维护用户关键字与闪存物理地址的映射关系;存储池按照大小分级管理;在固态硬盘系统空间不足时,启动垃圾回收机制释放闪存页或块,将其再次加入分配池。实现用户直接访问和控制存储资源,减少文件系统以及多次地址映射开销,提高闪存读写访问的灵活性和效率。
附图说明
图1是本发明第一实施例提供的固态硬盘结构示意图;
图2是本发明第二、三、四实施例提供的固态硬盘结构示意图;
图3是本发明第五实施例提供的固态硬盘访问的方法流程图;
图4是本发明一个实施例提供的固态硬盘结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1,在本发明的第一实施例中,提供了一种固态硬盘100,包括:
创建模块10,用于在固态硬盘100的存储空间创建多个预定大小的存储池;
存储模块20,用于在所述存储池中写入数据,并为写入数据的所述存储池配置关键字;
访问模块30,通过所述关键字在对应的存储池中访问所述数据。
在本发明的第一实施例中,提供的固态硬盘100包括创建模块10、存储模块20以及访问模块30。首先,通过创建模块10创建多个预定大小的存储池;这些存储池的大小可以根据用户存储数据的要求进行设定。在用户写入数据时,通过存储模块20将该数据写入多个存储池的一个或者多个,并且为已经写入数据的存储池配置关键字,该关键字是唯一的。最后在用户需要访问数据时,通过访问模块30输入该数据的关键字,由关键字查找到对应的数据所存储的存储池,在该存储池中读取相应的数据。优选的,创建模块10在固态硬盘100的存储空间创建多个不同大小的存储池;每个所述存储池的大小大于或等于一个闪存页的大小。即每个存储池的大小是不同的,例如在固态硬盘100上创建不同级别的存储池,每个存储池存放不同大小的数据块如512B、1KB、4KB、8KB、1MB等,存储池占用最小空间不小于一个闪存页。用户可自定义存储池中数据块大小,数据块大小为512B*(2^x),其中x为非负整数。
参见图2,在本发明的第二实施例中,存储模块20包括:
写入子模块21,用于接收用户在所述固态硬盘100写入数据的请求以及对存储池指定的指令,将所述数据写入用户指定的存储池;
匹配子模块22,用于为写入所述数据的存储池配置与所述存储池的物理地址对应的关键字;
建立子模块23,用于建立所述关键字与所述存储池的物理地址的关系映射列表;
所述访问模块30包括:
接收子模块31,用于接收用户对数据的访问请求,并通过所述数据的关键字在所述关系映射列表查找对应的物理地址;
读取子模块32,用于在所述物理地址下读取对应的所述数据。
在该实施例中,写入子模块21接收用户在所述固态硬盘100写入数据的请求,并且用户还根据其写入数据的需求,指定将该数据存储于固态硬盘100中已划分的哪个存储池中。匹配子模块22将写入的数据的存储池的物理地址配置关键字,该关键字是唯一的,并且建立子模块23将建立关键字与所述存储池的物理地址的关系映射列表,多个存储池与其对应的关键字的映射信息均显示在该关系映射列表种。该关键字可以是字母或字母组合或者是数字组合,当然也可以是中文或者是字符串,例如:abc、123a、财务数据等。用户在进行固态硬盘100存储数据访问时,接收子模块31将接收用户对已存储的数据的访问请求,并通过所述数据的关键字在所述关系映射列表查找对应的物理地址;最后,由读取子模块32在所述物理地址下读取对应的数据。
参见图2,在本发明的第三实施例中,固态硬盘100还包括:
修改模块40,根据用户对所述存储池存储的数据进行修改的请求,对所述存储池存储的数据进行修改,并且调整所述关系映射列表;和/或
垃圾回收模块50,根据预设的垃圾回收机制,对所述存储池执行垃圾回收。
在该实施例中,在用户需要对存储池存储的数据进行修改时,将通过修改模块40所述存储池存储的数据进行修改,在修改的过程中,需要将修改后的数据存储到新的物理地址中去,因此需要调整所述关系映射列表,以使后续数据的读取提供准确的关系映射列表信息。并且,在多次删除及修改数据的过程中,将会不断的产生垃圾,因此,可以预设垃圾回收机制,在达到需要执行垃圾回收条件时,通过垃圾回收模块50对所述存储池执行垃圾回收。
参见图2,在本发明的第四实施例中,修改模块40包括:
修改子模块41,用于接收用户对写入的所述数据进行修改的指令,对所述数据及其对应的关键字进行修改;
更新子模块42,用于从所述数据修改前存储的存储池中划分出新的物理地址存储修后的数据,并更新所述关系映射列表;
所述垃圾回收模块50包括:
设置子模块51,用于接收用户释放或改写任一所述关键字对应的数据的指令,将在所述关键字对应的物理地址下存储的数据设置为无效;
擦除子模块52,用于当所述存储池的物理块中数据全部无效时,将所述物理块擦除;或者
迁移子模块53,用于当所述存储池的物理块中存在低于预设阈值大小的有效数据时,将所述有效数据迁移到新的物理地址中,并修改所述有效数据对应的物理地址,并将所述有效数据迁移前存储的物理块擦除;
回收子模块54,用于在到达预设的所述固态硬盘100的垃圾回收阈值时,启动所述固态硬盘100的垃圾回收。
在该实施例中,修改子模块41接收用户对写入的所述数据进行修改的指令,对所述数据进行修改,并且还将修改该数据对应的关键字;更新子模块42将从所述数据修改前存储的存储池中划分出新的物理地址存储修后的数据,并更新所述关系映射列表,增加记录修改后的数据所对应的物理地址。另一方面,设置子模块51接收用户释放或改写任一所述关键字对应的数据的指令,将在所述关键字对应的物理地址下存储的数据设置为无效;由此保证有效数据的正常访问。当所述存储池的物理块中的数据全部无效时,擦除子模块52将所述物理块擦除,以提供更多有效的存储空间供用户使用。当所述存储池的物理块中存在低于预设阈值大小的有效数据时,迁移子模块53将所述有效数据迁移到新的物理地址中,并修改所述有效数据对应的物理地址,并将所述有效数据迁移前存储的物理块擦除;由此保证了有效数据的正常访问,同时也将无效物理块中进行擦除,以及时的进行固态硬盘100的垃圾回收。回收子模块54在到达预设的所述固态硬盘100的垃圾回收阈值时,启动所述固态硬盘100的垃圾回收。例如,预设定时每周对固态硬盘100进行一次垃圾回收;或者是在预设固态硬盘100可用的存储空间剩余达到预设的20%时进行垃圾回收操作,将无效的物理块进行擦除。
在上述多个实施例中,不需要将固态硬盘100在系统内注册为块设备及创建文件系统,同时不存在多次地址映射,用户通过自定义的关键字,通过一级映射关系访问数据,提高了访问数据的效率和灵活性。并且固态硬盘100的多个模块可以是内置于固态硬盘100的软件单元,硬件单元或软硬件结合单元。
参见图3,在本发明的第五实施例中,提供了固态硬盘访问的方法,所述方法包括如下步骤:
步骤S301中,创建模块10在固态硬盘100的存储空间创建多个预定大小的存储池;该步骤为创建步骤;
步骤S302中,存储模块20在所述存储池中写入数据,并为写入数据的所述存储池配置关键字;该步骤为存储步骤;
步骤S303中,访问模块30通过所述关键字在对应的存储池中访问所述数据。该步骤为访问步骤。
在该实施例中,用户可以通过创建模块10可以定义关键字,并申请固定大小的存储空间,存储模块20在存储空间写入数据;访问模块30读取数据时,通过关键字进行获取已写入的数据;该方法实现用户直接访问和控制存储资源,减少文件系统以及多次地址映射开销,提高闪存读写访问的灵活性和效率,以及提高数据读写访问效率,用户可根据应用特点以灵活高效的方式控制数据存储和访问。
在本发明的第六实施例中,所述步骤S301中,创建模块10在所述固态硬盘100的存储空间创建多个不同大小的存储池;
每个所述存储池的大小大于或等于一个闪存页的大小。
在该实施例中,用户可定制的存储池数据块大小级别;根据用户的不同需求将固态硬盘的存储空间划分为多个不同大小的存储池,当然也可以将多个存储池划分为同样大小的。
在本发明的第七实施例中,所述存储步骤包括:
写入子模块21接收用户在所述固态硬盘100写入数据的请求以及对存储池指定的指令,将所述数据写入用户指定的存储池;
匹配子模块22为写入所述数据的存储池配置与所述存储池的物理地址对应的关键字;
建立子模块23建立所述关键字与所述存储池的物理地址的关系映射列表;
所述访问步骤包括:
接收子模块31接收用户对数据的访问请求,并通过所述数据的关键字在所述关系映射列表查找对应的物理地址;
读取子模块32在所述物理地址下读取对应的所述数据。
在该实施例中,通过键值对保存关键字到闪存物理地址映射关系。在访问数据时通过关键字对固态硬盘数据进行读写访问。
在本发明的第八实施例中,所述方法还包括:
修改步骤:修改模块40根据用户对所述存储池存储的数据进行修改的请求,对所述存储池存储的数据进行修改,并且调整所述关系映射列表;和/或
垃圾回收步骤:垃圾回收模块50根据预设的垃圾回收机制,对所述存储池执行垃圾回收。
在本发明的第九实施例中,所述修改步骤包括:
修改子模块41接收用户对写入的所述数据进行修改的指令,对所述数据对应的关键字进行修改;
更新子模块42从所述数据修改前存储的存储池中划分出新的物理地址存储修后的数据,并更新所述关系映射列表;
所述垃圾回收步骤包括:
设置子模块51接收用户释放或改写任一所述关键字对应的数据的指令,将在所述关键字对应的物理地址下存储的数据设置为无效;
当所述存储池的物理块中的数据全部无效时,擦除子模块52将所述物理块擦除;或者
当所述存储池的物理块中存在低于预设阈值大小的有效数据时,迁移子模块53将所述有效数据迁移到新的物理地址中,并修改所述有效数据对应的物理地址,并将所述有效数据迁移前存储的物理块擦除;
在到达预设的所述固态硬盘100的垃圾回收阈值时,回收子模块54启动所述固态硬盘100的垃圾回收。
由于用户写入数据时,需要指定数据存放的存储池。同时需要申请关键字,分配存储的物理地址,该关键字与物理地址的映射管理,将被记录和保存下来;存储池分配闪存物理地址用于写入用户数据;当存储池中的有效页被使用完时,自动对存储池进行扩容。因此,在该实施例中,用户改写数据时,根据该数据的原关键字进行改写,存储池会分配新的物理地址,并更新该键值对;用户读取数据时,根据该数据的关键字,获取对应的物理地址读取数据。写入数据时,通过获取的物理地址,调用驱动程序接口,下发写命令,将数据写到对应的物理地址;读取数据时,通过获取的物理地址,调用驱动程序接口,下发读命令,读取对应物理地址的数据。
另外,当用户释放或改写某个关键字数据时,对应的物理地址数据设置为无效;设置垃圾回收阈值,如剩余空间不足10%时,启动垃圾回收;当闪存物理块数据全部无无效时,该物理块会被擦除,重新作为空闲块被存储池利用;当物理块存在少量有效数据时,该数据被搬移到新的物理地址中,并修改该数据对应的键值对,搬移后该物理块再被擦除。优选的,当系统上电时,从固态硬盘读取信息,恢复存储池信息,并恢复键值对映射关系。
参见图4,在本发明的一个实施例中,提供的固态硬盘100包括:存储池管理模块101、键值对管理模块102、读写访问模块103、垃圾回收模块50以及上电恢复模块105。其中,存储池管理模块101在固态硬盘上创建不同级别的存储池,每个存储池存放不同大小的数据块如512B、1KB、4KB、8KB、1MB等,存储池占用最小空间不小于一个闪存页;用户可自定义存储池中数据块大小,数据块大小为512B*(2^x),其中x为非负整数;用户写入数据时,需要指定数据存放的存储池。存储池分配闪存物理地址用于写入用户数据;当存储池中的有效页被使用完时,自动对存储池进行扩容。该存储池管理模块101实现创建模块10和/或存储模块20的功能。
在用户写入新数据时,需要申请关键字,由存储池管理模块101分配存储的物理地址,该关键字与物理地址的映射管理,将被键值对管理模块102记录和保存下来;用户改写数据时,根据该数据的原关键字进行改写,存储池会分配新的物理地址,并更新该键值对;用户读取数据时,根据该数据的关键字,获取对应的物理地址读取数据。该键值对管理模块102实现修改模块40和/或存储模块20的对关键字及物理地址管理的功能。
读写访问模块103在写入数据时,通过获取的物理地址,调用驱动程序接口,下发写命令,将数据写到对应的物理地址;读取数据时,读写访问模块103通过获取的物理地址,调用驱动程序接口,下发读命令,读取对应物理地址的数据。该读写访问模块103实现访问模块30的功能。
当用户释放或改写某个关键字数据时,垃圾回收模块50将对应的物理地址数据设置为无效;设置垃圾回收阈值,如剩余空间不足10%时,启动垃圾回收;当闪存物理块数据全部无无效时,该物理块会被擦除,重新作为空闲块被存储池利用;当物理块存在少量有效数据时,该数据被搬移到新的物理地址中,并修改该数据对应的键值对,搬移后该物理块再被擦除。当固态硬盘100系统上电时,上电恢复模块105从固态硬盘读取信息,恢复存储池信息,并恢复键值对映射关系。
因此,该实施例提供的固态硬盘100是通过一级映射关系直接读写固态存储设备;通过键值对保存关键字到闪存物理地址映射关系,通过关键字对固态硬盘数据进行读写访问;用户可定制的存储池数据块大小级别;存储池根据数据多少可自动扩容。能够提高数据读写访问效率,用户可根据应用特点以灵活高效的方式控制数据存储和访问。
综上所述,本发明提出了固态硬盘访问的方法及其固态硬盘,该方法通过用户通过定义关键字申请固定大小的存储空间,存储空间写入数据;读取数据时,通过关键字进行获取已写入的数据;数据无效时,用户主动删除该关键字,该空间由系统回收;固态硬盘系统维护用户关键字与闪存物理地址的映射关系;存储池按照大小分级管理;在固态硬盘系统空间不足时,启动垃圾回收机制释放闪存页或块,将其再次加入分配池。实现用户直接访问和控制存储资源,减少文件系统以及多次地址映射开销,提高闪存读写访问的灵活性和效率。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (8)
1.一种固态硬盘访问的方法,其特征在于,所述方法包括如下步骤:
创建步骤:在固态硬盘的存储空间创建多个预定大小的存储池;
存储步骤:在所述存储池中写入数据,并为写入数据的所述存储池配置关键字;
访问步骤:通过所述关键字在对应的存储池中访问所述数据;
所述存储步骤包括:
接收用户在所述固态硬盘写入数据的请求以及对存储池指定的指令,将所述数据写入用户指定的存储池;
为写入所述数据的存储池配置与所述存储池的物理地址对应的关键字;
建立所述关键字与所述存储池的物理地址的关系映射列表;
所述方法还包括:
修改步骤:根据用户对所述存储池存储的数据进行修改的请求,对所述存储池存储的数据进行修改,并且调整所述关系映射列表;和/或
垃圾回收步骤:根据预设的垃圾回收机制,对所述存储池执行垃圾回收;
所述垃圾回收步骤包括:
接收用户释放或改写任一所述关键字对应的数据的指令,将在所述关键字对应的物理地址下存储的数据设置为无效;
当所述存储池的物理块中的数据全部无效时,将所述物理块擦除;或者
当所述存储池的物理块中存在低于预设阈值大小的有效数据时,将所述有效数据迁移到新的物理地址中,并修改所述有效数据对应的物理地址,并将所述有效数据迁移前存储的物理块擦除;
在到达预设的所述固态硬盘的垃圾回收阈值时,启动所述固态硬盘的垃圾回收。
2.根据权利要求1所述的方法,其特征在于,在所述创建步骤中,在所述固态硬盘的存储空间创建多个不同大小的存储池;
每个所述存储池的大小大于或等于一个闪存页的大小。
3.根据权利要求1所述的方法,其特征在于,所述访问步骤包括:
接收用户对数据的访问请求,并通过所述数据的关键字在所述关系映射列表查找对应的物理地址;
在所述物理地址下读取对应的所述数据。
4.根据权利要求1所述的方法,其特征在于,所述修改步骤包括:
接收用户对写入的所述数据进行修改的指令,对所述数据及其对应的关键字进行修改;
从所述数据修改前存储的存储池中划分出新的物理地址存储修后的数据,并更新所述关系映射列表。
5.一种固态硬盘,其特征在于,包括:
创建模块,用于在固态硬盘的存储空间创建多个预定大小的存储池;
存储模块,用于在所述存储池中写入数据,并为写入数据的所述存储池配置关键字;
访问模块,通过所述关键字在对应的存储池中访问所述数据;
所述存储模块包括:
写入子模块,用于接收用户在所述固态硬盘写入数据的请求以及对存储池指定的指令,将所述数据写入用户指定的存储池;
匹配字模块,用于为写入所述数据的存储池配置与所述存储池的物理地址对应的关键字;
建立子模块,用于建立所述关键字与所述存储池的物理地址的关系映射列表;
所述固态硬盘还包括:
修改模块:根据用户对所述存储池存储的数据进行修改的请求,对所述存储池存储的数据进行修改,并且调整所述关系映射列表;和/或
垃圾回收模块:根据预设的垃圾回收机制,对所述存储池执行垃圾回收;
所述垃圾回收模块包括:
设置子模块,用于接收用户释放或改写任一所述关键字对应的数据的指令,将在所述关键字对应的物理地址下存储的数据设置为无效;
擦除子模块,用于当所述存储池的物理块中数据全部无效时,将所述物理块擦除;或者
迁移子模块,用于当所述存储池的物理块中存在低于预设阈值大小的有效数据时,将所述有效数据迁移到新的物理地址中,并修改所述有效数据对应的物理地址,并将所述有效数据迁移前存储的物理块擦除;
回收子模块,用于在到达预设的所述固态硬盘的垃圾回收阈值时,启动所述固态硬盘的垃圾回收。
6.根据权利要求5所述的固态硬盘,其特征在于,所述创建模块在所述固态硬盘的存储空间创建多个不同大小的存储池;
每个所述存储池的大小大于或等于一个闪存页的大小。
7.根据权利要求5所述的固态硬盘,其特征在于,所述访问模块包括:
接收子模块,用于接收用户对数据的访问请求,并通过所述数据的关键字在所述关系映射列表查找对应的物理地址;
读取子模块,用于在所述物理地址下读取对应的所述数据。
8.根据权利要求6所述的固态硬盘,其特征在于,所述修改模块包括:
修改子模块,用于接收用户对写入的所述数据进行修改的指令,对所述数据对应的关键字进行修改;
更新子模块,用于从所述数据修改前存储的存储池中划分出新的物理地址存储修后的数据,并更新所述关系映射列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310695406.1A CN103744614B (zh) | 2013-12-17 | 2013-12-17 | 固态硬盘访问的方法及其固态硬盘 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310695406.1A CN103744614B (zh) | 2013-12-17 | 2013-12-17 | 固态硬盘访问的方法及其固态硬盘 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103744614A CN103744614A (zh) | 2014-04-23 |
CN103744614B true CN103744614B (zh) | 2017-07-07 |
Family
ID=50501635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310695406.1A Expired - Fee Related CN103744614B (zh) | 2013-12-17 | 2013-12-17 | 固态硬盘访问的方法及其固态硬盘 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103744614B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104376099A (zh) * | 2014-11-25 | 2015-02-25 | 贵州电力试验研究院 | 一种基于闪存的文件系统的实现方法和实现装置 |
KR102013430B1 (ko) | 2015-12-03 | 2019-08-22 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 어레이 컨트롤러, 솔리드 스테이트 디스크, 및 데이터를 기록하기 위해 솔리드 스테이트 디스크를 제어하는 방법 |
US11287973B2 (en) | 2016-02-02 | 2022-03-29 | Samsung Electronics Co., Ltd. | Polymorphic storage devices |
US10423331B2 (en) * | 2016-02-02 | 2019-09-24 | Samsung Electronics Co., Ltd. | Polymorphic storage devices |
CN106648910A (zh) * | 2016-10-13 | 2017-05-10 | 记忆科技(深圳)有限公司 | 一种提高固态硬盘中双核间通信效率的方法 |
CN106681935A (zh) * | 2016-12-29 | 2017-05-17 | 郑州云海信息技术有限公司 | 一种固态硬盘垃圾回收方法 |
CN109144885B (zh) * | 2017-06-27 | 2022-04-29 | 北京忆恒创源科技股份有限公司 | 固态存储设备的垃圾回收方法与固态存储设备 |
CN109857239B (zh) * | 2017-11-29 | 2022-04-08 | 浙江宇视科技有限公司 | 存储控制方法及装置 |
CN108089821A (zh) * | 2017-12-20 | 2018-05-29 | 福建星海通信科技有限公司 | 一种微控制器数据存储管理的方法 |
CN108108309A (zh) * | 2017-12-29 | 2018-06-01 | 苏州大学 | 涉及多nand闪存的并行访问方法、固态硬盘和计算机 |
CN108021515A (zh) * | 2017-12-29 | 2018-05-11 | 苏州大学 | Mlc nand闪存关键数据的存储方法、固态硬盘和计算机 |
CN108763102B (zh) * | 2018-05-31 | 2021-10-29 | 郑州云海信息技术有限公司 | 一种固态硬盘的垃圾回收方法及装置 |
CN114168082B (zh) * | 2021-12-10 | 2023-07-04 | 深圳忆联信息系统有限公司 | 避免ssd空闲块耗尽的方法、装置、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043732A (zh) * | 2010-12-30 | 2011-05-04 | 成都市华为赛门铁克科技有限公司 | 一种缓存分配方法及装置 |
CN103020550A (zh) * | 2012-12-03 | 2013-04-03 | 记忆科技(深圳)有限公司 | 一种固态硬盘及其安全访问方法、固态硬盘系统 |
CN103019887A (zh) * | 2012-12-12 | 2013-04-03 | 华为技术有限公司 | 数据备份方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013114624A (ja) * | 2011-11-30 | 2013-06-10 | Hitachi Ltd | ストレージシステム及びプール容量縮小の制御方法 |
-
2013
- 2013-12-17 CN CN201310695406.1A patent/CN103744614B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043732A (zh) * | 2010-12-30 | 2011-05-04 | 成都市华为赛门铁克科技有限公司 | 一种缓存分配方法及装置 |
CN103020550A (zh) * | 2012-12-03 | 2013-04-03 | 记忆科技(深圳)有限公司 | 一种固态硬盘及其安全访问方法、固态硬盘系统 |
CN103019887A (zh) * | 2012-12-12 | 2013-04-03 | 华为技术有限公司 | 数据备份方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103744614A (zh) | 2014-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103744614B (zh) | 固态硬盘访问的方法及其固态硬盘 | |
KR100980309B1 (ko) | 호스트 디바이스 및 메모리 시스템 | |
CN103164346B (zh) | 使用lba位图的方法与系统 | |
CN102511044B (zh) | 一种数据删除方法及装置 | |
US8364931B2 (en) | Memory system and mapping methods using a random write page mapping table | |
JP3708047B2 (ja) | フラッシュメモリの管理方法 | |
KR101002978B1 (ko) | 플래시 메모리 관리 시스템 및 방법 | |
JP5530012B2 (ja) | 記憶装置のためのストレージアドレス再マッピングのための方法およびシステム | |
JP4988215B2 (ja) | 複数のマッピング技法を採用した適応型フラッシュメモリ制御装置及びそれを含むフラッシュメモリシステム | |
US7461198B2 (en) | System and method for configuration and management of flash memory | |
US7487303B2 (en) | Flash memory device and associated data merge method | |
JP4832521B2 (ja) | フラッシュメモリメディアにおけるデータ管理方法 | |
TW201818249A (zh) | 操作對多重名稱空間進行管理的儲存裝置的方法 | |
JP2009244962A (ja) | メモリシステム | |
CN104268095A (zh) | 一种存储器及基于该存储器进行数据读/写操作的方法 | |
JP2010026933A (ja) | メモリシステム、ホスト装置 | |
CN103294604A (zh) | 闪存器件和使用闪存器件的电子设备 | |
CN103365786B (zh) | 数据存储方法、装置和系统 | |
KR100854032B1 (ko) | 메모리 시스템 및 그것의 데이터 저장 방법 | |
CN107908571A (zh) | 一种数据写入方法、闪存装置及存储设备 | |
US20090132757A1 (en) | Storage system for improving efficiency in accessing flash memory and method for the same | |
KR102648391B1 (ko) | 메모리 내의 데이터를 액세스하는 방법과 이를 이용하는 메모리 장치 | |
US11307979B2 (en) | Data storage device and non-volatile memory control method | |
JP2007220107A (ja) | 不揮発性メモリのマッピング情報管理装置及び方法 | |
CN104915265B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170707 |