CN101727403A - 数据存储***、设备及方法 - Google Patents
数据存储***、设备及方法 Download PDFInfo
- Publication number
- CN101727403A CN101727403A CN200810171109A CN200810171109A CN101727403A CN 101727403 A CN101727403 A CN 101727403A CN 200810171109 A CN200810171109 A CN 200810171109A CN 200810171109 A CN200810171109 A CN 200810171109A CN 101727403 A CN101727403 A CN 101727403A
- Authority
- CN
- China
- Prior art keywords
- storage
- data
- storage medium
- buffer memory
- external unit
- 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
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据存储方法,通过数据存储***实现数据存储,所述数据存储***包括存储介质、外部设备及存储控制单元,所述外部设备包括至少两个缓冲内存和主处理模块;还包括步骤S1、主处理模块控制至少两个缓冲内存交替缓存外部设备向存储介质写入的数据;步骤S2、在至少一缓冲内存写满时,通过存储控制单元将缓冲内存缓存的数据写到存储介质。本发明还分别公开了一种数据存储***及数据存储设备。本发明有效提高了存储介质的写速度。
Description
技术领域
本发明涉及数据存储领域,具体涉及一种数据存储***、设备及方法。
背景技术
现有存储介质(例如硬盘、闪存等)对批量数据的一次写入速度很快,性能好。而在多次少量数据写入时,速度则很慢,性能也很差。
以闪存为例,闪存写数据的流程包括步骤:
步骤A、分析数据要写到闪存的哪个逻辑块,该逻辑块内的哪一页,以及页内的扇区;
步骤B、通过该逻辑块查找逻辑物理页映射表(即逻辑页和物理页之间映射关系的表),找到该逻辑块所对应的物理块(此处将该物理块定义为物理块A),通过逻辑物理页映射表找到一空块(此处将该空块定义为空块B);
步骤C、将要写的数据写入空块B中相应的物理页和扇区中;
步骤D、将物理块A中其他页和扇区的数据全部搬迁到空块B中的相应位置;
步骤E、修改逻辑物理页映射表将该逻辑块与空块B对应上,废除原来的对应关系;
步骤F、擦除物理块A并逻辑物理页映射表,将物理块A作为新的空块。
由以上步骤可以看出,如果在对闪存多次写入少量数据,每次都需要进行数据搬迁,这样不仅影响到数据的写速度,而且频繁的写入擦除会影响闪存的擦写寿命,进而影响到闪存的使用寿命。
现有技术中采用单个缓冲内存对多次少量写入存储介质中的数据先缓存,并在该缓冲内存数据写满时,将缓冲内存缓存的数据写到存储介质中。这种方法虽然可以避免对存储介质的频繁擦写,但由于需要将缓冲内存(写满状态下)的数据写到存储介质后,腾出缓冲内存,然后再继续将要写入存储介质的数据写到缓冲内存中,这样就大大降低了存储介质的写速度。
发明内容
本发明的目的之一是提供一种提高存储介质写速度的数据存储***、设备及方法。
本发明提供一种数据存储***,包括存储介质、存储控制单元和外部设备;所述外部设备包括至少两个缓冲内存和主处理模块;所述缓冲内存分别通过主处理模块与存储控制单元连接,在主处理模块的控制下交替缓存外部设备向存储介质写入的数据,并在存储控制单元的控制下将缓存的数据写入到存储介质中。
本发明还提供一种数据存储设备,所述数据存储设备与外部设备连接,所述数据存储设备包括存储介质、缓冲存储单元及存储控制单元;所述缓冲存储单元包括至少两个缓冲内存和缓冲控制模块;所述缓冲内存分别与缓冲控制模块、外部设备及存储控制单元连接,在缓冲控制模块的控制下交替缓存外部设备向存储介质写入的数据,并在存储控制单元的控制下将缓存的数据写入到存储介质中。
本发明还提供一种数据存储方法,通过数据存储***实现数据存储,所述数据存储***包括存储介质、外部设备及存储控制单元,所述外部设备包括至少两个缓冲内存和主处理模块;还包括步骤:
步骤S1、主处理模块控制至少两个缓冲内存交替缓存外部设备向存储介质写入的数据;
步骤S2、在至少一缓冲内存写满时,通过存储控制单元将缓冲内存缓存的数据写到存储介质。
本发明还提供一种数据存储方法,通过数据存储设备实现数据存储,所述数据存储设备包括存储介质、外部设备、存储控制单元及缓冲存储单元,所述缓冲存储单元包括至少两个缓冲内存和缓冲控制模块;还包括步骤:
步骤A1、缓冲控制模块控制至少两个缓冲内存交替缓存外部设备向存储介质写入的数据;
步骤A2、在至少一缓冲内存写满时,通过存储控制单元将缓冲内存缓存的数据写到存储介质。
本发明通过两个以上缓冲内存交替缓存外部设备向存储介质写入的数据,大大的提高存储介质的写速度。另外,将外部设备多次向存储介质写入的数据转化为一次性写入到存储介质中,减少了对存储介质的擦写次数,提高了存储介质的使用寿命。
附图说明
图1是本发明一实施例数据存储***的结构框图;
图2是本发明另一实施例数据存储***的结构框图;
图3是本发明一实施例数据存储设备的结构框图;
图4是本发明另一实施例数据存储设备的结构框图;
图5是本发明一实施例存储控制单元的结构框图;
图6是本发明一实施例数据存储方法的流程示意图;
图7是本发明一实施例主处理模块控制至少两个缓冲内存交替缓存外部设备向存储介质写入的数据的流程示意图;
图8是本发明一实施例将缓存的数据写到存储介质的流程示意图;
图9是本发明一实施例判断要写的数据是否能写入存储介质的流程示意图;
图10是本发明一实施例存储介质初始化的流程示意图;
图11是本发明一实施例对无效页空间进行回收的流程示意图;
图12是本发明又一实施例数据存储方法的流程示意图;
图13是本发明一实施例缓存控制模块控制至少两个缓冲内存交替缓存外部设备向存储介质写入的数据的流程示意图;
图14是本发明又一实施例在至少一缓冲内存写满时,通过存储控制单元将缓冲内存缓存的数据写到存储介质的流程示意图;
图15是本发明又一实施例判断要写的数据是否能写入存储介质的流程示意图
图16是本发明又一实施例存储介质初始化的流程示意图;
图17是本发明又一实施例对无效页空间进行回收处理的流程示意图;
图18是本发明一实施例对少于一个存储介质物理页的数据写入流程示意图;
图19是本发明一实施例存储介质中数据分布的结构示意图;
图20是本发明一实施例逻辑物理页映射及空页信息表的结构示意图;
图21是本发明一实施例存储介质逻辑页的结构示意图;
图22是本发明一实施例存储介质的生产流程的示意图。
本发明目的、功能及优点将结合实施例,参照附图做进一步说明。
具体实施方式
本发明实施例提供的存储***、设备及方法,通过两个以上缓冲内存交替缓存外部设备向存储介质写入的数据,一缓冲内存在将缓存的数据写到存储介质时,另一缓冲内存继续存储外部设备向存储介质写入的数据,大大的提高存储介质的写速度。另外,将外部设备多次向存储介质写入的数据转化为一次性写入到存储介质中,减少了对存储介质的擦写次数,提高了存储介质的使用寿命。
图1示出了本发明一实施例数据存储***,包括存储介质30、存储控制单元20和外部设备10。
所述外部设备10包括至少两个缓冲内存102和主处理模块101。所述缓冲内存102分别通过主处理模块101与存储控制单元20连接,在主处理模块101的控制下交替缓存外部设备10向存储介质30写入的数据,并在存储控制单元20的控制下将缓存的数据写入到存储介质30中。
在图1所示实施例的基础上,图2示出了本发明另一实施例数据存储***,包括存储介质30、存储控制单元20和外部设备10。
所述外部设备10包括至少两个缓冲内存102、主处理模块101和空间查询模块103。
所述缓冲内存102通过主处理模块101与存储控制单元20连接,在主处理模块101的控制下交替缓存外部设备10向存储介质30写入的数据,并在存储控制单元20的控制下将缓存的数据写入到存储介质30中。
所述主处理模块101控制一缓冲内存102缓存外部设备向存储介质写入的数据,在该缓冲内存写满时,切换到另一缓冲内存102继续缓存外部设备10向存储介质30写入的数据。具体工作过程将在所示实施例中进行详细的说明。所述主处理模块101在向一缓冲内存102写数据时,更新逻辑缓存信息表。
所述空间查询模块103,查询存储介质30的空间状况。查询存储介质30的空间状况包括总空间、有用空间及无效页空间。空间查询模块103由主机***调用,从而查询存储介质30的空间状况。相对于现有的空间状况查询(只能查询出总空间和已用空间)来说,本实施例还可以查询出无效页空间。
图3示出了本发明一实施例数据存储设备,所述数据存储设备与外部设备10连接,所述数据存储设备包括存储介质30、缓冲存储单元40及存储控制单元20。
所述缓冲存储单元40包括至少两个缓冲内存102和缓冲控制模块401。所述缓冲内存102分别与缓冲控制模块401、外部设备10及存储控制单元20连接,在缓冲控制模块401的控制下交替缓存外部设备10向存储介质30写入的数据,并在存储控制单元20的控制下将缓存的数据写入到存储介质30中。
在图3所示实施例的基础上,图4示出了本发明另一实施例数据存储设备,所述数据存储设备与外部设备10连接,所述数据存储设备包括存储介质30、缓冲存储单元40及存储控制单元20。
所述缓冲存储单元40包括至少两个缓冲内存102、缓冲控制模块401和空间查询模块103。
所述缓冲内存102分别与缓冲控制模块401、外部设备10及存储控制单元20连接,在缓冲控制模块401的控制下交替缓存外部设备10向存储介质30写入的数据,并在存储控制单元20的控制下将缓存的数据写入到存储介质30中。所述缓冲控制模块401在向一缓冲内存102写数据时,更新逻辑缓存信息表。
所述空间查询模块103,查询存储介质30的空间状况。查询存储介质30的空间状况包括总空间、有用空间及无效页空间。所述查询模块103发送空间查询命令,从而获知存储介质30的空间状况。所述空间查询模块103设置在外部设备10上,可被外部设备10调用,从而进行存储介质30的空间状况查询。在一实施例中,首先,外部设备10调用空间查询模块103,空间查询模块103发送查询空间命令给存储介质30,可发送采用USB SCSI协议的空间查询命令。
图5示出了本发明一实施例存储控制单元20,包括页表信息读取模块201和读写处理模块202。
所述页表信息读取模块201读取逻辑缓存信息表及逻辑物理页映射及空页信息表。
所述读写处理模块202与页表信息读取模块201连接,根据逻辑缓存信息表、逻辑物理页映射及空页信息表将缓存的数据写到存储介质30中。
在一实施例中,逻辑物理页映射及空页信息表是存放在存储介质30中的。图19示出了存储介质30中数据分布的情况。存储介质30的数据分布主要分5个区域。下面对此5个区域进行简单的介绍:
区域1:存放存储介质30基本信息,以及读写页基本信息表。所述基本信息包括:1、一些存储介质的属性,产品号,厂商等的信息;2、读写页基本信息表,该表示记录最开始的逻辑到物理的映射关系,以及空页起始地址和空页个数的信息情况。该区域是固定不变的,一般在生产后基本不动,存放在存储介质30的固定地方。该区域是不被以后的数据写入的。
区域2:存储有效数据的区域。存储从逻辑0到逻辑m页的有效数据,所述m>0。
区域3:存储无效页的区域。写存储介质30的操作过程中形成的一些无效页,又称为垃圾页。例如:被更新了的逻辑页,新的信息写到另外的物理页,该逻辑页对应的物理页,就成为了垃圾页。
区域4:存放逻辑物理页映射及空页信息表的区域,该区域是连续的。该表如图20所示,主要包括2部分:
1、逻辑页和物理页的对照关系表,记录0到记录m记录的是逻辑页和物理页的对照关系,所述m>1。其中,逻辑页的结构如图21所示。
2、空页物理页地址和空页个数等信息。
区域5:空页区域,即区域4的第2部分,为待写的空页部分。
在一实施例中,缓冲内存102的数据主要分布在2个区域。下面对2个区域进行介绍:
1、逻辑缓存信息表,即缓冲内存中的缓冲页与存储介质30中的逻辑页的对应关系表。逻辑缓存信息表是根据外部设备10的写命令建立起来的。
2、存储外部设备写入数据的区域。
外部设备10发送的写指令内容包括2部分:1、要写到存储介质30的逻辑页;2、要写的数据内容。缓冲内存102根据外部设备写指令中的逻辑页信息,建立起缓冲页和存储介质逻辑页的对应关系。
以上实施例提到的外部设备10包括计算机、PDA(Personal DigitalAssistant,个人数码助理)等。存储介质30包括硬盘、闪存等。
图6示出了本发明一实施例数据存储方法,通过数据存储***实现数据存储,所述数据存储***包括外部设备10、存储介质30,所述存储***还包括存储控制单元20,所述外部设备包括至少两个缓冲内存102和主处理模块101;还包括步骤:
步骤S1、主处理模块101控制至少两个缓冲内存102交替缓存外部设备10向存储介质30写入的数据;
步骤S2、在至少一缓冲内存102写满时,通过存储控制单元20将缓冲内存102缓存的数据写到存储介质30。
为了进一步对图6所示的数据存储方法进行说明,图7示出了本发明一实施例主处理模块101控制至少两个缓冲内存102交替缓存外部设备10向存储介质30写入的数据的流程,包括:
步骤S11、主处理模块101控制一缓冲内存102缓存外部设备10向存储介质30写入的数据,并更新逻辑缓存信息表。
步骤S12、在一缓冲内存102写满时,执行步骤S2;同时,主处理模块101控制另一缓冲内存102继续缓存外部设备10向存储介质30写入的数据,并更新逻辑缓存信息表。
步骤S13、在另一缓冲内存102写满时,执行步骤S2;同时,返回执行步骤S11。
在一实施例中,主处理模块10具有以下功能:1、判断缓冲内存102是否满。2、控制缓冲内存102交替缓存外部设备10向存储介质30写入的数据。
为了进一步对图6所示的数据存储方法进行说明,图8示出了本发明一实施例步骤S2在至少一缓冲内存102写满时,通过存储控制单元20将缓冲内存102缓存的数据写到存储介质30的流程,包括:
步骤S21、存储控制单元20读取逻辑缓存信息表、存储介质的逻辑物理页映射及空页信息表;
步骤S22、存储控制单元20根据逻辑缓存信息表、逻辑物理页映射及空页信息表将缓冲内存缓存的数据写到存储介质30中;
步骤S23、存储控制单元20更新逻辑物理页映射及空页信息表,并清空缓冲内存和逻辑缓存信息表。
因为存在逻辑缓存信息表中的逻辑页与逻辑物理页映射及空页信息表中的逻辑页对应关系,所以存储控制单元20可根据对应关系将缓冲页中的数据写到存储介质30中的物理页。
为了进一步对图6所示的数据存储方法进行说明,在步骤S1之前还包括步骤S0判断要写的数据是否能写入存储介质30中,图9示出了本发明一实施例判断要写的数据是否能写入存储介质30中的流程,包括:
步骤S01、外部设备10查询存储介质30的空间状况。
步骤S02、外部设备10根据空间状况判断要写的数据是否能在存储介质30中放得下,若放得下,则执行步骤S1;若放不下,则执行步骤S03。
步骤S03、外部设备10判断加上无效页空间后是否能放得下,若放得下,则对无效页空间进行回收处理;若放不下,则提示无存储空间,数据无法写入。
为了进一步对图6所示的数据存储方法进行说明,图10示出了本发明一实施例存储介质30初始化,包括:
步骤S011、外部设备10搜索存储介质30,找到逻辑物理页映射及空页信息表。
步骤S012、外部设备10根据逻辑物理页映射及空页信息表得出整个存储介质30的有效逻辑页和物理页的对应关系、空页的物理页地址。
以上步骤是通过外部设备10来操作执行,通过初始化得到的存储介质30的逻辑物理页映射及空页信息表,从而为以后的更新逻辑缓存信息表及写数据提供方便。
为了进一步对图6所示的数据存储方法进行说明,图11示出了本发明一实施例对无效页空间进行回收处理的流程,包括:
步骤S031、外部设备10发送无效页整理命令通知存储介质30需要整理无效页。
步骤S032、外部设备10通过逻辑物理页映射及空页信息表将存储介质中存储的有效数据集中搬迁到外部设备的另一个存储空间(例如,计算机的硬盘),同时修改逻辑物理页映射及空页信息表形成与搬迁到的存储空间相对应的逻辑物理页映射及空页信息表。
步骤S033、外部设备10将存储介质中存储介质基本信息及读写页基本信息表(区域1)之外的数据信息清除掉。
步骤S034、外部设备10将搬迁到外部设备另一存储空间中的有效数据按顺序批量的写入清除后的存储介质中。
步骤S035、根据步骤S032形成的逻辑物理页映射及空页信息表形成与存储介质30的存储空间相对应的逻辑物理页映射及空页信息表,并将该表写在存储介质30的存储空间中。
通过以上步骤可以完成对存储介质30无效页的回收处理,回收完成后通知外部设备10完成回收。通过无效页的整理,可降低存储介质30因使用产生无效页而导致存储容量的降低。
图12示出了本发明又一实施例数据存储方法,通过数据存储设备实现数据存储,所述数据存储设备包括外部设备10、存储介质30,其特征在于,所述数据存储设备还包括存储控制单元20及缓冲存储单元40,所述缓冲存储单元40包括至少两个缓冲内存102和缓冲控制模块401;还包括步骤:
步骤A1、缓冲控制模块401控制至少两个缓冲内存102交替缓存外部设备10向存储介质30写入的数据;
步骤A2、在至少一缓冲内存102写满时,通过存储控制单元20将缓冲内存102缓存的数据写到存储介质30。
为了进一步对图12所示的数据存储方法进行说明,图13示出了本发明一实施例缓存控制模块102控制至少两个缓冲内存102交替缓存外部设备10向存储介质30写入的数据的流程,包括:
步骤A11、缓存控制模块102控制一缓冲内存102缓存外部设备10向存储介质30写入的数据,并更新逻辑缓存信息表。
步骤A12、在一缓冲内存102写满时,执行步骤A2;同时,缓存控制模块102控制另一缓冲内存102继续缓存外部设备10向存储介质30写入的数据,并更新逻辑缓存信息表。
步骤A13、在另一缓冲内存102写满时,执行步骤A2;同时,返回执行步骤A11。
在一实施例中,缓存控制模块102具有以下功能:1、判断缓冲内存102是否满。2、控制缓冲内存102交替缓存外部设备10向存储介质30写入的数据。
为了进一步对图12所示的数据存储方法进行说明,图14示出了本发明一实施例在至少一缓冲内存102写满时,通过存储控制单元20将缓冲内存102缓存的数据写到存储介质30的流程,包括:
步骤A21、存储控制单元20读取逻辑缓存信息表、存储介质的逻辑物理页映射及空页信息表;
步骤A22、存储控制单元20根据逻辑缓存信息表、逻辑物理页映射及空页信息表将缓冲内存缓存的数据写到存储介质30中;
步骤A23、存储控制单元20更新逻辑物理页映射及空页信息表,并清空缓冲内存和逻辑缓存信息表。
为了进一步对图12所示的数据存储方法进行说明,在步骤A1之前还包括步骤S0判断要写的数据是否能写入存储介质30中,图15示出了本发明一实施例判断要写的数据是否能写入存储介质30中的流程,包括:
步骤A01、外部设备10查询存储介质30的空间状况。
步骤A02、外部设备10根据空间状况判断要写的数据是否能在存储介质30中放得下,若放得下,则执行步骤A1;若放不下,则执行步骤A03。
步骤A03、外部设备10判断加上无效页空间后是否能放得下,若放得下,则对无效页空间进行回收处理;若放不下,则提示无存储空间,数据无法写入。
为了进一步对图12所示的数据存储方法进行说明,图16示出了本发明一实施例存储介质30初始化,包括:
步骤A011、外部设备10搜索存储介质30,找到逻辑物理页映射及空页信息表。
步骤A012、外部设备10根据逻辑物理页映射及空页信息表得出整个存储介质30的有效逻辑页和物理页的对应关系、空页的物理页地址。
以上步骤是通过外部设备10来操作执行,通过初始化得到的存储介质30的逻辑物理页映射及空页信息表,从而为以后的更新逻辑缓存信息表及写数据提供方便。
为了进一步对图12所示的数据存储方法进行说明,图17示出了本发明一实施例对无效页空间进行回收处理的流程,包括:
步骤A031、外部设备10发送无效页整理命令通知存储介质30需要整理无效页。
步骤A032、外部设备10通过逻辑物理页映射及空页信息表将存储介质中存储的有效数据集中搬迁到外部设备10的另一个存储空间(例如,计算机的硬盘),同时修改逻辑物理页映射及空页信息表形成与搬迁到的存储空间相对应的逻辑物理页映射及空页信息表。
步骤A033、外部设备10将存储介质30中存储介质基本信息及读写页基本信息表(区域1)之外的数据信息清除掉。
步骤A034、外部设备10将搬迁到外部设备另一存储空间中的有效数据按顺序批量的写入清除后的存储介质中。
步骤A035、根据步骤A032形成的逻辑物理页映射及空页信息表形成与存储介质30的存储空间相对应的逻辑物理页映射及空页信息表,并将该表写在存储介质的存储空间中。
通过以上步骤可以完成对存储介质30无效页的回收处理,回收完成后通知外部设备10完成回收。通过无效页的整理,可降低存储介质因使用产生无效页而导致存储容量的降低。
为了进一步对本发明进行说明,图18示出了本发明一实施例对少于一个存储介质物理页的数据写入流程,包括步骤:
步骤B1、缓冲内存102接收外部设备10的写数据命令。
步骤B2、判断要写入的数据是否小于存储介质30的一物理页;若不小于,则直接缓存外部设备写入的数据,并将缓存的数据写入到存储介质30中。具体如何将缓存的数据写入到存储介质30中,在图8所示实施例中已经表述了,这里不再赘述;若小于,则执行步骤B3。
步骤B3、通过逻辑物理页映射及空页信息表找到逻辑页对应的物理页,并分析数据要写入物理页的哪个扇区。例如,分析出要写入物理页的X扇区。
步骤B4、将要写的数据写入缓冲内存缓冲页的相应扇区,即与步骤B3分析出来的扇区相对应的扇区,例如缓冲页中的B扇区;将存储介质30物理页其他扇区中的数据搬迁到缓冲内存102缓冲页其他相应的扇区。更新逻辑缓存信息表。
步骤S2、在至少一缓冲内存102写满时,将其缓存的数据写到存储介质30。
步骤S2在图8所示实施例中已经表述了,这里不再赘述。
通过执行步骤B1、步骤B2、步骤B3及步骤B4可以对写入数据不足一物理页的数据与存储介质30的物理页(即要写入的物理页)中的数据进行重新组织,然后再写入存储介质30中,从而完成了少于一个存储介质物理页的数据写入。
下面结合一实施例,对上述实施例所提到的存储介质30的生产流程进行说明,如图22所示,存储介质30的生产流程包括以下步骤:
步骤C1:首先扫描存储介质30找到好坏页的分布情况.并整理出一张好坏页分布信息表;
步骤C2:通过好坏页分布信息表整理出读写页基本信息表并增加一些其他的附加信息,比如厂商信息和其他的一些信息;
步骤C3:将读写页基本信息表和其他的附加信息写入存储介质30中的隐藏好页中(该区域以后使用过程中不被写入);
步骤C4:格式化存储介质30。
通过以上步骤完成存储介质30的生产。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (20)
1.一种数据存储方法,通过数据存储***实现数据存储,所述数据存储***包括存储介质、外部设备,其特征在于,所述存储***还包括存储控制单元,所述外部设备包括至少两个缓冲内存和主处理模块;还包括步骤:
步骤S1、主处理模块控制至少两个缓冲内存交替缓存外部设备向存储介质写入的数据;
步骤S2、在至少一缓冲内存写满时,通过存储控制单元将缓冲内存缓存的数据写到存储介质。
2.根据权利要求1所述的数据存储方法,其特征在于,所述步骤S1包括:
步骤S11、主处理模块控制一缓冲内存缓存外部设备向存储介质写入的数据,并更新逻辑缓存信息表;
步骤S12、在一缓冲内存写满时,执行步骤S2;同时,主处理模块控制另一缓冲内存继续缓存外部设备向存储介质写入的数据,并更新逻辑缓存信息表;
步骤S13、在另一缓冲内存写满时,执行步骤S2;同时,返回执行步骤S11。
3.根据权利要求1所述的数据存储方法,其特征在于,所述步骤S2包括步骤:
步骤S21、存储控制单元读取逻辑缓存信息表、存储介质的逻辑物理页映射及空页信息表;
步骤S22、存储控制单元根据逻辑缓存信息表、逻辑物理页映射及空页信息表将缓冲内存缓存的数据写到存储介质中;
步骤S23、存储控制单元更新逻辑物理页映射及空页信息表,并清空缓冲内存和逻辑缓存信息表。
4.根据权利要求1至3任一项所述的数据存储方法,其特征在于,所述步骤S1之前还包括:
步骤S0、外部设备判断要写的数据是否能写入存储介质中。
5.根据权利要求4所述的数据存储方法,其特征在于,所述步骤S0包括:
步骤S01、外部设备查询存储介质的空间状况;
步骤S02、外部设备根据空间状况判断要写的数据是否能在存储介质中放得下,若放得下,则执行步骤S1;若放不下,则执行步骤S03;
步骤S03、外部设备判断加上无效页空间后是否能放得下,若放得下,则对无效页空间进行回收处理;若放不下,则提示无存储空间,数据无法写入。
6.根据权利要求5所述的数据存储方法,其特征在于,所述步骤S03中对无效页空间进行回收处理包括:
步骤S031、外部设备发送无效页整理命令通知存储介质需要整理无效页;
步骤S032、外部设备通过逻辑物理页映射及空页信息表将存储介质中存储的有效数据搬迁到外部设备另一存储空间,同时修改逻辑物理页映射及空页信息表使其与外部设备另一存储空间对应;
步骤S033、外部设备将存储介质中存储介质基本信息及读写页基本信息表之外的数据信息擦除;
步骤S034、外部设备将外部设备另一存储空间中的有效数据按顺序批量的写入清除后的存储介质中;
步骤S035、外部设备修改与外部设备另一存储空间相对应逻辑物理页映射及空页信息表,使其与存储介质的存储空间相对应,并将该表写在存储介质的存储空间中。
7.一种数据存储方法,通过数据存储设备实现数据存储,所述数据存储设备包括存储介质、外部设备,其特征在于,所述数据存储设备还包括存储控制单元及缓冲存储单元,所述缓冲存储单元包括至少两个缓冲内存和缓冲控制模块;还包括步骤:
步骤A1、缓冲控制模块控制至少两个缓冲内存交替缓存外部设备向存储介质写入的数据;
步骤A2、在至少一缓冲内存写满时,通过存储控制单元将缓冲内存缓存的数据写到存储介质。
8.根据权利要求7所述的数据存储方法,其特征在于,所述步骤A1包括:
步骤A11、缓冲控制模块控制一缓冲内存缓存外部设备向存储介质写入的数据,并更新逻辑缓存信息表;
步骤A12、在一缓冲内存写满时,执行步骤A2;同时,缓冲控制模块控制另一缓冲内存继续缓存外部设备向存储介质写入的数据,并更新逻辑缓存信息表;
步骤A13、在另一缓冲内存写满时,执行步骤A2;同时,返回执行步骤A11。
9.根据权利要求7所述的数据存储方法,其特征在于,所述步骤S2包括步骤:
步骤A21、存储控制单元读取逻辑缓存信息表、存储介质的逻辑物理页映射及空页信息表;
步骤A22、存储控制单元根据逻辑缓存信息表和逻辑物理页映射及空页信息表将缓冲内存缓存的数据写到存储介质中;
步骤A23、存储控制单元更新逻辑物理页映射及空页信息表,并清空缓冲内存和逻辑缓存信息表。
10.根据权利要求7至9任一项所述的数据存储方法,其特征在于,所述步骤S1之前还包括:
步骤A0、外部设备判断要写的数据是否能写入存储介质中。
11.根据权利要求10所述的数据存储方法,其特征在于,所述步骤S0包括:
步骤A01、外部设备查询存储介质的空间状况;
步骤A02、外部设备根据空间状况判断要写的数据是否能在存储介质中放得下,若放得下,则执行步骤A1;若放不下,则执行步骤A03;
步骤A03、外部设备判断加上无效页空间后是否能放得下,若放得下,则对无效页空间进行回收处理;若放不下,则提示无存储空间,数据无法写入。
12.根据权利要求11所述的数据存储方法,其特征在于,所述步骤S03中对无效页空间进行回收处理包括:
步骤A031、外部设备发送无效页整理命令通知存储介质需要整理无效页;
步骤A032、外部设备通过逻辑物理页映射及空页信息表将存储介质中存储的有效数据搬迁到外部设备另一存储空间,同时修改逻辑物理页映射及空页信息表使其与外部设备另一存储空间对应;
步骤A033、外部设备将存储介质中存储介质基本信息及读写页基本信息表之外的数据信息擦除;
步骤A034、外部设备将外部设备另一存储空间中的有效数据按顺序批量的写入清除后的存储介质中;
步骤A035、外部设备修改与外部设备另一存储空间相对应逻辑物理页映射及空页信息表,使其与存储介质的存储空间相对应,并将该表写在存储介质的存储空间中。
13.一种数据存储***,包括存储介质、外部设备,其特征在于:
还包括存储控制单元;所述外部设备包括至少两个缓冲内存和主处理模块;
所述缓冲内存分别通过主处理模块与存储控制单元连接,在主处理模块的控制下交替缓存外部设备向存储介质写入的数据,并在存储控制单元的控制下将缓存的数据写入到存储介质中。
14.根据权利要求13所述的数据存储***,其特征在于,所述在主处理模块的控制下交替缓存外部设备向存储介质写入的数据是:
主处理模块控制一缓冲内存缓存外部设备向存储介质写入的数据,在该缓冲内存写满时,切换到另一缓冲内存继续缓存外部设备向存储介质写入的数据。
15.根据权利要求14所述的数据存储***,其特征在于,所述主处理模块进一步用于:
所述主处理模块在向一缓冲内存写数据时,更新逻辑缓存信息表。
16.根据权利要求13至15任一项任意项所述的数据存储***,其特征在于,所述存储控制单元包括:
页表信息读取模块和读写处理模块;
所述页表信息读取模块读取逻辑缓存信息表及逻辑物理页映射及空页信息表;
所述读写处理模块与页表信息读取模块连接,根据逻辑缓存信息表、逻辑物理页映射及空页信息表将缓存的数据写到存储介质中。
17.一种数据存储设备,所述数据存储设备与外部设备连接,所述数据存储设备包括存储介质,其特征在于,所述数据存储设备还包括:
缓冲存储单元及存储控制单元;
所述缓冲存储单元包括至少两个缓冲内存和缓冲控制模块;
所述缓冲内存分别与缓冲控制模块、外部设备及存储控制单元连接,在缓冲控制模块的控制下交替缓存外部设备向存储介质写入的数据,并在存储控制单元的控制下将缓存的数据写入到存储介质中。
18.权利要求17所述的数据存储***,其特征在于,所述缓冲内存在缓冲控制模块的控制下交替缓存外部设备向存储介质写入的数据是:
缓冲控制模块控制一缓冲内存缓存外部设备向存储介质写入的数据,在该缓冲内存写满时,切换到另一缓冲内存继续缓存外部设备向存储介质写入的数据。
19.根据权利要求18所述的数据存储***,其特征在于,所述缓冲控制模块进一步用于:
所述缓冲控制模块在向一缓冲内存写数据时,更新逻辑缓存信息表。
20.根据权利要求17至19任一项任意项所述的数据存储设备,其特征在于,所述存储控制单元包括:
页表信息读取模块和读写处理模块;
所述页表信息读取模块读取逻辑缓存信息表、逻辑物理页映射及空页信息表;
所述读写处理模块与页表信息读取模块连接,根据逻辑缓存信息表、逻辑物理页映射及空页信息表将缓存的数据写到存储介质中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810171109A CN101727403A (zh) | 2008-10-15 | 2008-10-15 | 数据存储***、设备及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810171109A CN101727403A (zh) | 2008-10-15 | 2008-10-15 | 数据存储***、设备及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101727403A true CN101727403A (zh) | 2010-06-09 |
Family
ID=42448319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810171109A Pending CN101727403A (zh) | 2008-10-15 | 2008-10-15 | 数据存储***、设备及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101727403A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929790A (zh) * | 2012-10-15 | 2013-02-13 | 株洲南车时代电气股份有限公司 | 一种数据存储***和方法 |
WO2013056420A1 (zh) * | 2011-10-18 | 2013-04-25 | 中联重科股份有限公司 | 搅拌站以及用于该搅拌站的数据存储方法、服务器、*** |
CN103164431A (zh) * | 2011-12-13 | 2013-06-19 | 北京神州泰岳软件股份有限公司 | 关系型数据库的数据存储方法和存储*** |
CN103401888A (zh) * | 2013-08-21 | 2013-11-20 | 杭州浦禾通信技术有限公司 | 多媒体数据的接收与处理方法和装置 |
CN104252421A (zh) * | 2013-06-25 | 2014-12-31 | 华为技术有限公司 | 缓存方法及装置 |
CN104281538A (zh) * | 2013-07-03 | 2015-01-14 | 联想(北京)有限公司 | 一种存储设备的扩容及快照方法和存储设备 |
CN105512054A (zh) * | 2015-12-09 | 2016-04-20 | 上海兆芯集成电路有限公司 | 主机接口控制器以及储存装置控制方法 |
CN105608020A (zh) * | 2015-12-09 | 2016-05-25 | 上海兆芯集成电路有限公司 | 主机接口控制器以及储存装置控制方法 |
CN103970674B (zh) * | 2013-01-30 | 2017-04-05 | 安凯(广州)微电子技术有限公司 | 一种物理块写入方法及*** |
CN109753480A (zh) * | 2018-12-28 | 2019-05-14 | 上海新储集成电路有限公司 | 一种片上***及其数据读写处理方法 |
CN111506252A (zh) * | 2019-01-30 | 2020-08-07 | 瑞昱半导体股份有限公司 | 快取存储器及快取存储器的管理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101026789A (zh) * | 2007-01-25 | 2007-08-29 | 苏州广达友讯技术有限公司 | 一种wap网络中ptt音频流的处理方法 |
CN101046771A (zh) * | 2006-03-29 | 2007-10-03 | 株式会社日立制作所 | 使用闪存的存储***及其平均读写方法和平均读写程序 |
-
2008
- 2008-10-15 CN CN200810171109A patent/CN101727403A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101046771A (zh) * | 2006-03-29 | 2007-10-03 | 株式会社日立制作所 | 使用闪存的存储***及其平均读写方法和平均读写程序 |
CN101026789A (zh) * | 2007-01-25 | 2007-08-29 | 苏州广达友讯技术有限公司 | 一种wap网络中ptt音频流的处理方法 |
Non-Patent Citations (1)
Title |
---|
赖礼居等: "位置相关信息服务移动终端缓存替换研究", 《微计算机信息(管控一体化)》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013056420A1 (zh) * | 2011-10-18 | 2013-04-25 | 中联重科股份有限公司 | 搅拌站以及用于该搅拌站的数据存储方法、服务器、*** |
CN103164431A (zh) * | 2011-12-13 | 2013-06-19 | 北京神州泰岳软件股份有限公司 | 关系型数据库的数据存储方法和存储*** |
CN103164431B (zh) * | 2011-12-13 | 2016-04-20 | 北京神州泰岳软件股份有限公司 | 关系型数据库的数据存储方法和存储*** |
CN102929790A (zh) * | 2012-10-15 | 2013-02-13 | 株洲南车时代电气股份有限公司 | 一种数据存储***和方法 |
CN103970674B (zh) * | 2013-01-30 | 2017-04-05 | 安凯(广州)微电子技术有限公司 | 一种物理块写入方法及*** |
CN104252421A (zh) * | 2013-06-25 | 2014-12-31 | 华为技术有限公司 | 缓存方法及装置 |
CN104281538A (zh) * | 2013-07-03 | 2015-01-14 | 联想(北京)有限公司 | 一种存储设备的扩容及快照方法和存储设备 |
CN104281538B (zh) * | 2013-07-03 | 2019-05-31 | 联想(北京)有限公司 | 一种存储设备的扩容及快照方法和存储设备 |
CN103401888A (zh) * | 2013-08-21 | 2013-11-20 | 杭州浦禾通信技术有限公司 | 多媒体数据的接收与处理方法和装置 |
CN105608020A (zh) * | 2015-12-09 | 2016-05-25 | 上海兆芯集成电路有限公司 | 主机接口控制器以及储存装置控制方法 |
CN105512054B (zh) * | 2015-12-09 | 2018-11-09 | 上海兆芯集成电路有限公司 | 主机接口控制器以及储存装置控制方法 |
CN105608020B (zh) * | 2015-12-09 | 2019-02-26 | 上海兆芯集成电路有限公司 | 主机接口控制器以及储存装置控制方法 |
CN105512054A (zh) * | 2015-12-09 | 2016-04-20 | 上海兆芯集成电路有限公司 | 主机接口控制器以及储存装置控制方法 |
CN109753480A (zh) * | 2018-12-28 | 2019-05-14 | 上海新储集成电路有限公司 | 一种片上***及其数据读写处理方法 |
CN111506252A (zh) * | 2019-01-30 | 2020-08-07 | 瑞昱半导体股份有限公司 | 快取存储器及快取存储器的管理方法 |
CN111506252B (zh) * | 2019-01-30 | 2023-08-15 | 瑞昱半导体股份有限公司 | 快取存储器及快取存储器的管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101727403A (zh) | 数据存储***、设备及方法 | |
US9405675B1 (en) | System and method for managing execution of internal commands and host commands in a solid-state memory | |
US8364931B2 (en) | Memory system and mapping methods using a random write page mapping table | |
CN101169751B (zh) | 具有闪存设备的***及其数据恢复方法 | |
US8386746B2 (en) | Storage unit management methods and systems | |
KR101663667B1 (ko) | 플래시 메모리의 주소 매핑에 의한 데이터 관리 방법 및 장치 | |
CA2673434C (en) | Memory device performance enhancement through pre-erase mechanism | |
CN102521160B (zh) | 写缓冲检测器、并行通道写入方法 | |
CN100541455C (zh) | 使用请求调页技术的***中减少页替换时间的方法和设备 | |
KR101826047B1 (ko) | 저장 장치 및 그 구동 방법 | |
CN100501868C (zh) | 基于NAND Flash存储器文件***的实现方法 | |
CN112231244B (zh) | 应用于SoftSIM的SIM卡文件擦写***、方法和可读存储介质 | |
CN1822217A (zh) | 将数据存储在非易失性高速缓冲存储器中的设备和方法 | |
CN104166634A (zh) | 一种固态盘***中的映射表缓存管理方法 | |
CN109671458A (zh) | 管理闪存模块的方法及相关的闪存控制器 | |
US20120311238A1 (en) | Memory apparatus | |
US20100318726A1 (en) | Memory system and memory system managing method | |
KR20200116704A (ko) | 메모리 시스템 및 그것의 동작방법 | |
KR20100115090A (ko) | 버퍼를 고려한 가비지 컬렉션 기법 | |
CN109240939B (zh) | 一种快速处理固态硬盘trim的方法 | |
CN106598493A (zh) | 一种固态硬盘地址映射表管理方法 | |
CN110309077B (zh) | 主机与设备协同工作的闪存转换层构建方法及装置 | |
US20090172269A1 (en) | Nonvolatile memory device and associated data merge method | |
CN113900586A (zh) | 存储器***及其操作方法 | |
CN101464836B (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100609 |