CN102722455B - 一种闪存设备中数据存储的方法及装置 - Google Patents

一种闪存设备中数据存储的方法及装置 Download PDF

Info

Publication number
CN102722455B
CN102722455B CN201210160252.1A CN201210160252A CN102722455B CN 102722455 B CN102722455 B CN 102722455B CN 201210160252 A CN201210160252 A CN 201210160252A CN 102722455 B CN102722455 B CN 102722455B
Authority
CN
China
Prior art keywords
data
written
sample storehouse
logical address
write
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.)
Active
Application number
CN201210160252.1A
Other languages
English (en)
Other versions
CN102722455A (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.)
Shenzhen Netcom Electronics Co Ltd
Original Assignee
Shenzhen Netcom Electronics Co Ltd
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 Shenzhen Netcom Electronics Co Ltd filed Critical Shenzhen Netcom Electronics Co Ltd
Priority to CN201210160252.1A priority Critical patent/CN102722455B/zh
Publication of CN102722455A publication Critical patent/CN102722455A/zh
Priority to PCT/CN2013/075259 priority patent/WO2013174210A1/zh
Priority to TW102117711A priority patent/TWI521518B/zh
Application granted granted Critical
Publication of CN102722455B publication Critical patent/CN102722455B/zh
Active 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/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本发明适用于存储器的数据存储技术领域,提供了一种闪存设备中数据存储的方法及装置,所述方法包括:接收主机系统发送的写指令,所述写指令包含有待写入的数据以及所述待写入数据写入闪存的逻辑地址;判断所述待写入数据是否之前已写入;若否,根据所述逻辑地址写入所述待写入数据;若是,不执行所述写指令,将所述逻辑地址指向所述之前已写入的与所述待写入数据相同的数据保存的逻辑地址。通过本发明,可有效减少对闪存的写操作,进而减少对闪存块的擦除操作,避免闪存的频繁磨损,提高闪存设备的使用性能,延长闪存设备的使用寿命。

Description

一种闪存设备中数据存储的方法及装置
技术领域
本发明属于存储器的数据存储技术领域,尤其涉及一种闪存设备中数据存储的方法及装置。
背景技术
随着信息技术的发展,越来越多的信息系统(例如:MP3、数码相机、智能电视机等)需要内置可擦写的非易失存储介质来存储数据。而在现有的非易失存储介质中,闪存因其体积小、功耗低、不易受物理破坏等优点,在业界得到了广泛的应用。
虽然闪存具有可写入、可擦除以及断电后仍可保存数据等诸多优点。然而,由于闪存在进行数据存储时,需要采用“写入—擦除—再写入”的方式进行,即对闪存中同一闪存块执行一次“写入”操作后,要更新其中的数据,必须做一次“擦除”后,才能“再写入”同一闪存块。而每个闪存块的擦除次数是有限的,如果其“擦除”的次数超过限定值(例如10000次)后就会出现磨损,可能导致该闪存块不能存储数据或者存储的数据丢失,影响闪存的使用性能,降低闪存的使用寿命。
发明内容
本发明实施例的目的在于提供一种闪存设备中数据存储的方法,以解决现有闪存设备在进行数据存储时闪存块擦写次数过多,导致闪存块磨损严重,减少闪存设备使用寿命的问题。
本发明实施例是这样实现的,一种闪存设备中数据存储的方法,所述方法包括:
接收主机系统发送的写指令,所述写指令包含有待写入的数据以及所述待写入数据写入闪存的逻辑地址;
判断所述待写入数据是否之前已写入;
若否,根据所述逻辑地址写入所述待写入数据;
若是,不执行所述写指令,将所述逻辑地址指向所述之前已写入的与所述待写入数据相同的数据保存的逻辑地址。
本发明实施例的另一目的在于提供一种闪存设备中数据存储的装置,所述装置包括:
指令接收单元,用于接收主机系统发送的写指令,所述写指令包含有待写入的数据以及所述待写入数据写入闪存的逻辑地址;
判断单元,用于判断所述待写入数据是否之前已写入;
写入单元,用于在所述判断单元判断结果为否时,根据所述逻辑地址写入所述待写入数据;
指向单元,用于在所述判断单元判断结果为是时,不执行所述写指令,将所述逻辑地址指向所述之前已写入的与所述待写入数据相同的数据保存的逻辑地址。
从上述技术方案可以看出,本发明实施例在接收到写指令后,先判断所述写指令中的待写入数据是否之前已写入过,若是,则不执行所述写指令,只需将所述写指令中的逻辑地址指向之前已写入的与所述待写入数据相同的数据保存的逻辑地址,从而有效减少对闪存的写操作,进而减少对闪存块的擦除操作,避免闪存的频繁磨损,提高闪存的使用性能,延长闪存设备的使用寿命,具有较强的实用性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的闪存设备中数据存储方法所适用的系统场景图;
图2是本发明实施例二提供的闪存设备中数据存储方法的实现流程图;
图3是本发明实施例三提供的闪存设备中数据存储方法的实现流程图;
图4是本发明实施例四提供的闪存设备中数据存储方法的实现流程图;
图5是本发明实施例五提供的闪存设备中数据存储方法的实现流程图;
图6是本发明实施例六提供的闪存设备中数据存储装置的组成结构图;
图7是本发明实施例七提供的闪存设备中数据存储装置的组成结构图;
图8是本发明实施例八提供的闪存设备中数据存储装置的组成结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明实施例一提供的闪存设备中数据存储方法所适用的系统场景示意图,为了便于说明,仅示出了与本实施例相关的部分。
如图1所示,该系统包括主机系统1以及闪存设备2。
其中,所述主机系统1为电脑系统,包括微处理器11、随机存取存储器RAM12、数据传输接口13以及输入或输出装置14。
所述主机系统1通过所述数据传输接口13与所述闪存设备2连接。用户通过输入/输出装置14发出写指令给所述微处理器11,所述微处理器11通过数据传输接口13将所述写指令发送所述闪存设备2,所述写指令中包含所述RAM12中的待写入数据以及所述待写入数据写入闪存的逻辑地址。
所述闪存设备2在接收到所述写指令后,判断所述写指令中的待写入数据是否之前已写入过,若是,则不执行所述写指令,只需将所述写指令中的逻辑地址指向之前已写入的与所述待写入数据相同的数据保存的逻辑地址,否则将所述写指令中的待写入数据根据所述逻辑地址写入所述闪存设备2。
在本实施例中,所述主机系统为可存储数据的任意系统,例如电脑系统、数码相机、摄影机、通信装置、音讯播放器、视讯播发器等系统。
需要说明的是,本实施例提供的系统场景只用于解释本发明,并不限定本发明的保护范围。
实施例二:
图2示出了本发明实施例二提供的闪存设备中数据存储方法的实现流程,该方法过程详述如下:
在步骤S201中,接收主机系统发送的写指令。
在本实施例中,所述写指令包括但不限于以下信息:待写入的数据以及所述待写入数据写入闪存的逻辑地址。所述主机系统为可存储数据的任意系统,例如电脑系统、数码相机、摄影机、通信装置、音讯播放器、视讯播发器等系统。
在步骤S202中,判断所述待写入数据是否之前已写入,若判断结果为“是”,则执行步骤S204,若判断结果为“否”,执行步骤S203。
在本实施例中,为了减少对闪存的写操作,在执行所述写指令之前,判断所述闪存中是否已经存在所述待写入数据,即判断所述待写入数据是否之前已写入过,若是则执行步骤S204,否则执行步骤S203。
在步骤S203中,执行写指令,根据所述逻辑地址写入所述待写入数据,即将所述待写入数据存储至与所述逻辑地址对应的物理地址。
在步骤S204中,不执行所述写指令,将所述逻辑地址指向所述之前已写入的与所述待写入数据相同的数据保存的逻辑地址。
在本实施例中,在所述写指令中的待写入数据之前已写入过,即已存在于闪存中时,不执行所述写指令,只将所述写指令中的逻辑地址指向之前已写入的与所述待写入数据相同的数据保存的逻辑地址,并提醒用户该数据已写入过,从而有效减少对闪存的写操作,进而减少对闪存块的擦除操作,避免闪存的频繁磨损,提高闪存设备的使用性能,延长闪存设备的使用寿命。
实施例三:
图3示出了本发明实施例三提供的闪存设备中数据存储方法的实现流程,该方法过程详述如下:
在步骤S301中,创建样本库,所述样本库中包含有已写入的数据以及与所述数据对应的逻辑地址。
优选的是,所述样本库为一静态样本库,所述样本库中包含经常写入的数据及所述数据对应的逻辑地址,如表一所示。其中,所述经常写入的数据为已写入且写入次数大于预设值(例如5次)的数据:
  数据值   保存的逻辑地址
  00   0X00000001
  FF   0X00000110
  55   0X00001001
  AA   0X00010010
  …   …
表一
在步骤S302中,接收主机系统发送的写指令,所述写指令包含有待写入的数据以及所述待写入数据写入闪存的逻辑地址。
在步骤S303中,判断所述样本库中是否存在与所述待写入数据相同的数据,如果判断结果为“是”,则执行步骤S305,如果判断结果为“否”,则执行步骤S304;
优选的是,判断所述静态样本库中是否存在与所述待写入数据相同的数据,如果判断结果为“是”,则执行步骤S305,如果判断结果为“否”,则执行步骤S304;
在步骤S304中,执行写指令,根据所述逻辑地址写入所述待写入数据;
在步骤S305中,不执行所述写指令,将所述逻辑地址指向所述之前已写入的与所述待写入数据相同的数据保存的逻辑地址。
例如,当所述待写入数据为AA时,根据表一可知其已存在于闪存中,则将其逻辑地址指向表一中AA对应的逻辑地址0X00010010。
在本实施例中,根据预先建立的静态样本库来判断所述待写入数据是否之前已写入,由于该静态样本库中只包含经常性写入的数据,从而可有效提高判断的效率。
需要说明的是,本实施例的步骤S301可以置于步骤S302之后,只需在步骤S303判断之前创建样本库即可。
作为本发明的另一优选实施例,所述方法还包括:
当所述待写入数据之前未写入,且所述闪存当前剩余的存储空间小于预先设定的临界值时,删除所述样本库中没有逻辑地址对应的数据。
例如,数据AA为样本库中的数据,其对应保存的逻辑地址为0X00010010;待写入数据66,其写入闪存的逻辑地址也为0X00010010,与所述样本库比较发现,待写入数据66之前未写入过,则将待写入数据66及其对应的逻辑地址0X00010010保存至所述样本库,之前的数据AA保存的逻辑地址因为写入了新的数据66,则数据AA没有了对应的逻辑地址。在这种情况下,当闪存当前剩余的存储空间小于预先设定的临界值时,则将数据AA继续保留在样本库中,否则删除数据AA。
需要说明的是,本实施例中的所述设定的临界值大于或者等于待写入数据需要的存储空间,因为每次的待写入数据需要的存储空间很小,如果等到存储空间小于待写入数据的大小时,再释放样本库中无效数据占用的空间则会降低写入效率。
实施例四:
图4示出了本发明实施例四提供的闪存设备中数据存储方法的实现流程,该方法过程详述如下:
在步骤S401中,创建样本库,所述样本库为动态样本库,所述动态样本库中包含有已写入数据的特征值以及与所述已写入数据对应的逻辑地址。
在步骤S402中,接收主机系统发送的写指令,所述写指令包含有待写入的数据以及所述待写入数据写入闪存的逻辑地址。
在步骤S403中,获取所述待写入数据的特征值。
在本实施例中,所述待写入数据的特征值可以通过哈希算法或者其他类似算法获取。
在步骤S404中,判断所述动态样本库中是否存在与所述待写入数据的特征值相同的特征值,如果判断结果为“是”,则执行步骤S406,如果判断结果为“否”,则执行步骤S405;
在步骤S405中,执行写指令,根据所述逻辑地址写入所述待写入数据;
在步骤S406中,不执行所述写指令,将所述逻辑地址指向所述之前已写入的与所述待写入数据相同的数据保存的逻辑地址,并将该待写入数据的特征值及该待写入数据对应的逻辑地址存储至所述动态样本库。
在本实施例中,将所述动态样本库中不包含的特征值以及该特征值所对应数据所保存的逻辑地址存储至所述动态样本库。
本实施例通过一动态样本库来判断所述待写入数据是否之前已写入,由于该动态样本库中包含所有已写入的数据,从而可有效提高判断的准确率。
需要说明的是,本实施例的步骤S401可以置于步骤S402之后,只需在步骤S404判断之前创建动态样本库即可。
实施例五:
图5示出了本发明实施例五提供的闪存设备中数据存储方法的实现流程,该方法过程详述如下:
在步骤S501中,创建样本库,所述样本库包含静态样本库和动态样本库,所述静态样本库中包含有已写入且写入次数大于预设值的数据以及与所述数据对应的逻辑地址,所述动态样本库中包含有已写入数据的特征值以及与所述已写入数据对应的逻辑地址。
在步骤S502中,接收主机系统发送的写指令,所述写指令包含有待写入的数据以及所述待写入数据写入闪存的逻辑地址。
在步骤S503中,获取所述待写入数据的特征值。
在步骤S504中,判断所述静态样本库中是否存在与所述待写入数据相同的数据,如果判断结果为“是”,则执行步骤S507,如果判断结果为“否”,则执行步骤S505。
在步骤S505中,判断所述动态样本库中是否存在与所述待写入数据的特征值相同的特征值,如果判断结果为“是”,则执行步骤S507,如果判断结果为“否”,则执行步骤S506;
在步骤S506中,执行写指令,根据所述逻辑地址写入所述待写入数据;
在步骤S507中,不执行所述写指令,将所述逻辑地址指向所述之前已写入的与所述待写入数据相同的数据保存的逻辑地址,并将该待写入数据的特征值及该待写入数据对应的逻辑地址存储至所述动态样本库。
本实施例通过创建的静态样本库和动态样本库来判断所述待写入数据是否之前已写入,即保证了判断的效率又能保证判断的准确率。
需要说明的是,本实施例的步骤S501可以置于步骤S502之后,只需在步骤S504判断之前创建动态样本库即可。
实施例六:
图6示出了本发明实施例六提供的闪存设备中数据存储装置的组成结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该闪存设备中数据存储装置可以应用于存储设备中,可以是运行于存储设备内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到存储设备中或者运行于存储设备的应用系统中。
该闪存设备中数据存储装置包括指令接收单元61、判断单元62、写入单元63以及指向单元64。其中,各单元的具体功能如下:
指令接收单元61,用于接收主机系统发送的写指令,所述写指令包含有待写入的数据以及所述待写入数据写入闪存的逻辑地址;
判断单元62,用于判断所述待写入数据是否之前已写入;
写入单元63,用于在所述判断单元62判断结果为否时,根据所述逻辑地址写入所述待写入数据;
指向单元64,用于在所述判断单元62判断结果为是时,不执行所述写指令,将所述逻辑地址指向所述之前已写入的与所述待写入数据相同的数据保存的逻辑地址。
为了保证判断的效率,优选的是,所述装置还包括:
样本库创建单元65,用于创建样本库,所述样本库中包含有已写入的数据以及与所述数据对应的逻辑地址;
优选的是,所述样本库为静态样本库,所述静态样本库中包含有已写入且写入次数大于预设值的数据以及与所述数据对应的逻辑地址。
所述判断单元62具体用于,判断所述样本库中是否存在与所述待写入数据相同的数据。
优选的是,所述判断单元62具体用于,判断所述静态样本库中是否存在与所述待写入数据相同的数据。
优选的是,所述装置还包括:
删除单元66,用于在所述判断单元62判断结果为否,且所述闪存当前剩余的存储空间小于预先设定的临界值时,删除所述样本库中没有逻辑地址对应的数据。
本实施例提供的闪存设备中数据存储装置可以使用在前述对应的闪存设备中数据存储方法,详情参见上述闪存设备中数据存储方法实施例二和三的相关描述,在此不再赘述。
实施例七:
图7示出了本发明实施例七提供的闪存设备中数据存储装置的组成结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该闪存设备中数据存储装置可以应用于存储设备中,可以是运行于存储设备内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到存储设备中或者运行于存储设备的应用系统中。
该闪存设备中数据存储装置包括样本库创建单元71、指令接收单元72、获取单元73、判断单元74、写入单元75以及指向单元76。其中,各单元的具体功能如下:
样本库创建单元71,用于创建样本库,所述样本库为动态样本库,所述动态样本库中包含有已写入数据的特征值以及与所述已写入数据对应的逻辑地址;
指令接收单元72,用于接收主机系统发送的写指令,所述写指令包含有待写入的数据以及所述待写入数据写入闪存的逻辑地址;
获取单元73,用于获取所述待写入数据的特征值;
判断单元74,用于判断所述动态样本库中是否存在与所述待写入数据的特征值相同的特征值;
写入单元75,用于在所述判断单元74判断结果为否时,根据所述待写入数据写入闪存的逻辑地址写入所述待写入数据,并将该待写入数据的特征值及该待写入数据对应的逻辑地址存储至所述动态样本库;
指向单元76,用于在所述判断单元74判断结果为是时,不执行所述写指令,将所述逻辑地址指向所述之前已写入的与所述待写入数据相同的数据保存的逻辑地址。
优选的是,所述装置还包括:
删除单元77,用于在所述判断单元74判断结果为否,且所述闪存当前剩余的存储空间小于预先设定的临界值时,删除所述样本库中没有逻辑地址对应的数据。
本实施例提供的闪存设备中数据存储装置可以使用在前述对应的闪存设备中数据存储方法,详情参见上述闪存设备中数据存储方法实施例四的相关描述,在此不再赘述。
实施例八:
图8示出了本发明实施例八提供的闪存设备中数据存储装置的组成结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该闪存设备中数据存储装置可以应用于存储设备中,可以是运行于存储设备内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到存储设备中或者运行于存储设备的应用系统中。
该闪存设备中数据存储装置包括样本库创建单元81、指令接收单元82、获取单元83、判断单元84、写入单元85以及指向单元86。其中,各单元的具体功能如下:
样本库创建单元81,用于创建样本库,所述样本库包含静态样本库和动态样本库,所述静态样本库中包含有已写入且写入次数大于预设值的数据以及与所述数据对应的逻辑地址,所述动态样本库中包含有已写入数据的特征值以及与所述已写入数据对应的逻辑地址;
指令接收单元82,用于接收主机系统发送的写指令,所述写指令包含有待写入的数据以及所述待写入数据写入闪存的逻辑地址;
获取单元83,用于获取所述待写入数据的特征值;
所述判断单元84包括第一判断模块841以及第二判断模块842:
所述第一判断模块841用于判断所述静态样本库中是否存在与所述待写入数据相同的数据;
第二判断模块,用于在所述第一判断模块841判断结果为否时,判断所述动态样本库中是否存在与所述待写入数据的特征值相同的特征值;
写入单元85,用于在所述第二判断模块842判断结果为否时,根据所述待写入数据写入闪存的逻辑地址写入所述待写入数据,并将该待写入数据的特征值及该待写入数据对应的逻辑地址存储至所述动态样本库;
指向单元86,用于在所述第一判断模块841或第二判断模块842判断结果为是时,不执行所述写指令,将所述逻辑地址指向所述之前已写入的与所述待写入数据相同的数据保存的逻辑地址。
优选的是,所述装置还包括:
删除单元87,用于在所述第二判断模块842判断结果为否,且所述闪存当前剩余的存储空间小于预先设定的临界值时,删除所述样本库中没有逻辑地址对应的数据。
本实施例提供的闪存设备中数据存储装置可以使用在前述对应的闪存设备中数据存储方法,详情参见上述闪存设备中数据存储方法实施例五的相关描述,在此不再赘述。
本领域普通技术人员可以理解为上述实施例六、七、八所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元和模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
综上所述,本发明实施例在接收到写指令后,可以通过多种方式判断所述写指令中的待写入数据是否之前已写入过,在判定所述待写入数据之前已写入过时,则不执行所述写指令,只需将所述写指令中的逻辑地址指向之前已写入的与所述待写入数据相同的数据保存的逻辑地址,从而有效减少对闪存的写操作,进而减少对闪存块的擦除操作,避免闪存的频繁磨损,提高闪存的使用性能,延长闪存设备的使用寿命,具有较强的实用性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种闪存设备中数据存储的方法,其特征在于,所述方法包括:
创建样本库,所述样本库中包含有已写入的数据以及与所述数据对应的逻辑地址;
接收主机系统发送的写指令,所述写指令包含有待写入的数据以及所述待写入数据写入闪存的逻辑地址;
判断所述样本库中是否存在与所述待写入数据相同的数据;
若否,根据所述逻辑地址写入所述待写入数据,并在所述闪存当前剩余的存储空间小于预先设定的临界值时,删除所述样本库中没有逻辑地址对应的数据;
若是,不执行所述写指令,将所述逻辑地址指向所述之前已写入的与所述待写入数据相同的数据保存的逻辑地址。
2.如权利要求1所述的方法,其特征在于,所述样本库为静态样本库,所述静态样本库中包含有写入次数大于预设值的数据以及与所述数据对应的逻辑地址。
3.如权利要求1所述的方法,其特征在于,所述样本库为动态样本库,所述动态样本库包含有已写入数据的特征值以及与所述已写入数据对应的逻辑地址;
所述方法在判断所述待写入数据是否之前已写入的步骤之前,还包括:
获取所述待写入数据的特征值;
所述判断所述待写入数据是否之前已写入具体包括:
判断所述动态样本库中是否存在与所述待写入数据的特征值相同的特征值。
4.如权利要求1所述的方法,其特征在于,所述样本库包含静态样本库和动态样本库;
所述静态样本库中包含有写入次数大于预设值的数据以及与所述数据对应的逻辑地址,所述动态样本库中包含有已写入数据的特征值以及与所述已写入数据对应的逻辑地址;
所述方法在判断所述待写入数据是否之前已写入的步骤之前,还包括:
获取所述待写入数据的特征值;
所述判断所述待写入数据是否之前已写入具体包括:
判断所述静态样本库中是否存在与所述待写入数据相同的数据;
若否,判断所述动态样本库中是否存在与所述待写入数据的特征值相同的特征值。
5.如权利要求3或4所述的方法,其特征在于,所述方法还包括:
在所述动态样本库中不存在与所述待写入数据的特征值相同的特征值时,根据所述待写入数据写入闪存的逻辑地址写入所述待写入数据,并将该待写入数据的特征值及该待写入数据对应的逻辑地址存储至所述动态样本库。
6.一种闪存设备中数据存储的装置,其特征在于,所述装置包括:
样本库创建单元,用于创建样本库,所述样本库中包含有已写入的数据以及与所述数据对应的逻辑地址;
指令接收单元,用于接收主机系统发送的写指令,所述写指令包含有待写入的数据以及所述待写入数据写入闪存的逻辑地址;
判断单元,用于判断所述样本库中是否存在与所述待写入数据相同的数据;
写入单元,用于在所述判断单元判断结果为否时,根据所述逻辑地址写入所述待写入数据;
指向单元,用于在所述判断单元判断结果为是时,不执行所述写指令,将所述逻辑地址指向所述之前已写入的与所述待写入数据相同的数据保存的逻辑地址;
所述装置还包括:
删除单元,用于在所述判断单元判断结果为否,且所述闪存当前剩余的存储空间小于预先设定的临界值时,删除所述样本库中没有逻辑地址对应的数据。
7.如权利要求6所述的装置,其特征在于,所述样本库为静态样本库,所述静态样本库中包含有写入次数大于预设值的数据以及与所述数据对应的逻辑地址。
8.如权利要求6所述的装置,其特征在于,所述样本库为动态样本库,所述动态样本库中包含有已写入数据的特征值以及与所述已写入数据对应的逻辑地址;
所述装置还包括:
获取单元,用于获取所述待写入数据的特征值;
所述判断单元具体用于,判断所述动态样本库中是否存在与所述待写入数据的特征值相同的特征值。
9.如权利要求6所述的装置,其特征在于,所述样本库包含静态样本库和动态样本库;
所述静态样本库中包含有写入次数大于预设值的数据以及与所述数据对应的逻辑地址,所述动态样本库中包含有已写入数据的特征值以及与所述已写入数据对应的逻辑地址;
所述装置还包括:
获取单元,用于获取所述待写入数据的特征值;
所述判断单元包括:
第一判断模块,用于判断所述静态样本库中是否存在与所述待写入数据相同的数据;
第二判断模块,用于在所述第一判断模块判断结果为否时,判断所述动态样本库中是否存在与所述待写入数据的特征值相同的特征值。
10.如权利要求8或9所述的装置,其特征在于,所述写入单元具体用于,在所述动态样本库中不存在与所述待写入数据的特征值相同的特征值时,根据所述待写入数据写入闪存的逻辑地址写入所述待写入数据,并将该待写入数据的特征值及该待写入数据对应的逻辑地址存储至所述动态样本库。
CN201210160252.1A 2012-05-22 2012-05-22 一种闪存设备中数据存储的方法及装置 Active CN102722455B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201210160252.1A CN102722455B (zh) 2012-05-22 2012-05-22 一种闪存设备中数据存储的方法及装置
PCT/CN2013/075259 WO2013174210A1 (zh) 2012-05-22 2013-05-07 一种闪存设备中数据存储的方法及装置
TW102117711A TWI521518B (zh) 2012-05-22 2013-05-20 快閃記憶體設備中數據儲存之方法及裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210160252.1A CN102722455B (zh) 2012-05-22 2012-05-22 一种闪存设备中数据存储的方法及装置

Publications (2)

Publication Number Publication Date
CN102722455A CN102722455A (zh) 2012-10-10
CN102722455B true CN102722455B (zh) 2015-01-28

Family

ID=46948227

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210160252.1A Active CN102722455B (zh) 2012-05-22 2012-05-22 一种闪存设备中数据存储的方法及装置

Country Status (3)

Country Link
CN (1) CN102722455B (zh)
TW (1) TWI521518B (zh)
WO (1) WO2013174210A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722455B (zh) * 2012-05-22 2015-01-28 深圳市江波龙电子有限公司 一种闪存设备中数据存储的方法及装置
CN103049388B (zh) * 2012-12-06 2015-12-23 深圳市江波龙电子有限公司 一种分页存储器件的压缩管理方法及装置
CN103049387B (zh) * 2012-12-06 2015-12-09 深圳市江波龙电子有限公司 一种分页存储器件的压缩管理方法及装置
CN103648053A (zh) * 2013-12-23 2014-03-19 乐视致新电子科技(天津)有限公司 在智能电视中连接远程存储设备的方法和装置
CN105354152B (zh) * 2014-08-19 2018-06-26 华为技术有限公司 非易失性存储器及磨损均衡方法
CN104461754B (zh) * 2014-12-10 2018-06-19 福州瑞芯微电子股份有限公司 一种监控eMMC的方法和装置
CN105260133B (zh) * 2015-09-22 2019-04-30 Tcl移动通信科技(宁波)有限公司 一种移动终端emmc的数据写入方法及系统
CN110830378B (zh) * 2018-08-07 2022-05-17 迈普通信技术股份有限公司 一种地址表项更新方法及交换设备
CN110674057A (zh) * 2019-09-06 2020-01-10 苏州浪潮智能科技有限公司 一种数据处理方法及系统
CN112114756B (zh) * 2020-09-27 2022-04-05 海光信息技术股份有限公司 存储系统及电子设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100538662C (zh) * 2007-07-05 2009-09-09 炬力集成电路设计有限公司 一种基于局部采样的存储器的磨损平衡方法
CN101571833B (zh) * 2008-04-29 2012-03-21 深圳市朗科科技股份有限公司 存储介质的保护方法及装置
CN101719099B (zh) * 2009-11-26 2011-12-07 成都市华为赛门铁克科技有限公司 减小固态硬盘写入放大的方法及装置
CN102722455B (zh) * 2012-05-22 2015-01-28 深圳市江波龙电子有限公司 一种闪存设备中数据存储的方法及装置

Also Published As

Publication number Publication date
CN102722455A (zh) 2012-10-10
TWI521518B (zh) 2016-02-11
TW201403607A (zh) 2014-01-16
WO2013174210A1 (zh) 2013-11-28

Similar Documents

Publication Publication Date Title
CN102722455B (zh) 一种闪存设备中数据存储的方法及装置
US10152426B2 (en) Mapping table loading method, memory control circuit unit and memory storage apparatus
CN102096639B (zh) 用于修剪在非易失性闪速介质上的数据的方法
CN101446926B (zh) 一种高速缓冲存储器掉电数据保存方法、设备和系统
CN105589811B (zh) 数据储存装置与操作方法
EP3309685B1 (en) Method and apparatus for writing data to cache
CN109582217A (zh) 数据储存装置与将数据写入存储器装置的方法
CN103092766B (zh) 一种用于nand flash的均衡损耗实现方法
US8417872B2 (en) Write and merge methods in memory card systems for reducing the number of page copies
CN101122886B (zh) 分配缓存空间的方法和装置以及缓存控制器
CN103077121B (zh) 一种闪存存储设备中数据管理的方法及装置
CN101719099B (zh) 减小固态硬盘写入放大的方法及装置
US20120131263A1 (en) Memory storage device, memory controller thereof, and method for responding host command
CN104298606A (zh) 固态存储装置中垃圾搜集动作的控制方法
CN103106158A (zh) 包括键-值存储的存储器系统
CN108073522A (zh) 可用于数据储存装置的垃圾搜集方法
CN103677674A (zh) 一种数据处理方法及装置
CN104317671A (zh) 一种提升非易失存储使用寿命的掉电数据保存恢复算法
JP2017527877A (ja) フラッシュメモリから/フラッシュメモリへデータを読み取る/書き込むための方法および装置、ならびにユーザ機器
CN104375944B (zh) 一种数据存储方法和装置
CN108664577B (zh) 一种基于flash空闲区的文件管理方法及系统
CN102789422B (zh) 固态硬盘的数据写入方法
CN102169464B (zh) 一种用于非易失性存储器的缓存方法、装置及智能卡
US10191659B2 (en) Buffer memory management method, memory control circuit unit and memory storage device
US7913003B2 (en) Reclaim algorithm for fast edits in a nonvolatile file system

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
CP03 Change of name, title or address

Address after: 518057 A, B, C, D, E, F1, 8 Building, Financial Services Technology Innovation Base, No. 8 Kefa Road, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: Shenzhen jiangbolong electronic Limited by Share Ltd

Address before: 518000 A, B, C, D, E, F1, 8 Building, Financial Services Technology Innovation Base, No. 8 Kefa Road, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: Shenzhen jiangbolong Electronic Co., Ltd.

CP03 Change of name, title or address