CN102231136B - 一种闪存存储设备的数据存储方法和装置 - Google Patents

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

Info

Publication number
CN102231136B
CN102231136B CN201110194055.7A CN201110194055A CN102231136B CN 102231136 B CN102231136 B CN 102231136B CN 201110194055 A CN201110194055 A CN 201110194055A CN 102231136 B CN102231136 B CN 102231136B
Authority
CN
China
Prior art keywords
storage unit
mark
data
byte
memory block
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
CN201110194055.7A
Other languages
English (en)
Other versions
CN102231136A (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.)
MStar Software R&D Shenzhen Ltd
MStar Semiconductor Inc Taiwan
Original Assignee
MStar Software R&D Shenzhen Ltd
MStar Semiconductor Inc Taiwan
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 MStar Software R&D Shenzhen Ltd, MStar Semiconductor Inc Taiwan filed Critical MStar Software R&D Shenzhen Ltd
Priority to CN201110194055.7A priority Critical patent/CN102231136B/zh
Priority to TW100130029A priority patent/TWI463311B/zh
Publication of CN102231136A publication Critical patent/CN102231136A/zh
Priority to US13/542,993 priority patent/US9195582B2/en
Application granted granted Critical
Publication of CN102231136B publication Critical patent/CN102231136B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • 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
    • 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/7202Allocation control and policies

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)
  • Read Only Memory (AREA)

Abstract

本发明公开了一种闪存存储设备及其数据存储方法和装置,所述闪存存储设备包括至少两个存储单元,所述方法包括:查找并得到第一标识,所述第一标识对应于第一数据所在的存储单元,所述第一数据为最新保存的数据;根据所述第一标识找到保存第一数据的存储单元;将第二数据存储至另一存储单元;将所述第一标识对应于第二数据所在的所述另一存储单元。本发明中,将第一标识与存储数据的存储单元建立对应关系,在第一标识对应的存储单元之外的存储单元进行第二数据的存储,再将存储第二数据的存储单元与第一标识建立对应关系,有效地利用多个存储单元进行数据的存储,延长了闪存存储设备的使用寿命。

Description

一种闪存存储设备的数据存储方法和装置
技术领域
本发明属于数据存储技术领域,尤其涉及一种闪存存储设备的其数据存储方法和装置。
背景技术
现有的电子产品中,基本上都会用到存储设备。目前比较常见存储设备有闪存闪存和电可擦写可编程只读存储器(Electrically Erasable ProgrammableRead-Only Memory,EEPROM),这两种存储设备分别具有以下优缺点:
a1)、闪存的优点是容量大且价格低;缺点是擦写速度慢,而且必须先擦后写,每次擦除的最小单位为一个BANK,即64KB。而且单位存储空间可擦写次数少,约为10万次;
a2)、EEPROM的缺点是容量小且价格高;优点是擦写速度快,可单个字节擦写,而且单位存储空间的可擦写次数多,可达到100万次。
现有的存储设备在存储数据时,一般至少有两部分数据需要存储:程序部分和用户数据部分。存储设备出厂后,程序部分一般不会再改变,除非进行软件升级,因此一般都会选择闪存作为程序部分的存储设备。而用户数据部分经常会被用户修改,对存储设备的可擦写次数和稳定性有较高的要求。
但是,如果为考虑成本而采用闪存存储用户数据,则会存在以下问题:闪存擦写速度慢,而且大部分SPI闪存必须以BANK(64KB)为最小擦除单位,一次擦除要100ms以上,擦除次数过多的话,势必会影响闪存存储设备的使用寿命,而且,对数据进行存储时,速度也较慢。
发明内容
本发明的目的在于提供一种闪存存储设备的数据存储方法和装置,旨在延长闪存存储设备的使用寿命,快速对数据进行存储。
本发明是这样实现的,一种闪存存储设备的数据存储方法,所述闪存存储设备包括复数个存储单元,所述方法包括以下步骤:
查找并得到第一标识,所述第一标识对应于第一数据所在的存储单元,所述第一数据为最新保存的数据;
根据所述第一标识找到保存所述第一数据的存储单元;
将第二数据存储至另一存储单元;以及
将所述第一标识对应于第二数据所在的所述另一存储单元;
使用第二标识,并使其对应于除第二数据所在的所述另一存储单元之外的所有存储单元;
修改第一标识的存储位置,使修改后的第一标识所在存储位置对应于第二数据所在的所述另一存储单元的位置;
所述闪存存储设备的存储单元数量为第一数量,每个存储单元均有第二数量个字节,在所述第一数量存储单元中第一个存储单元有第一数量个字节分别用于存储第一标识和第二标识,所述第二数量大于所述第一数量;
所述第一个存储单元中分别用于存储第一标识和第二标识的第一数量字节的相对位置与第一数量存储单元的相对位置一一对应;
其中,对应于所述第一数据所在存储单元的一字节用于存储所述第一标识,其余所有字节用于存储第二标识,对应第一标识的字节内容不同于对应第二标识的字节内容;
其中,查找并得到第一标识及由所述第一标识找到保存第一数据的存储单元步骤包括:
从第一个存储单元的第一字节开始往后一一识别;
在识别到所述用于存储第一标识的字节时,确定所述字节在第一个存储单元的连续第一数量字节中的相对位置;以及
确定在第一数量存储单元中对应所述字节的相对位置的存储单元为保存第一数据的存储单元。
其中,所述第一数量是32,第二数量是2k,所述闪存存储设备包括复数个存储区,每个存储区包括32个存储单元,每个存储区中的第一个存储单元的前32个字节用于存储第一标识和第二标识。
其中,所述第一数量是64,第二数量是2k,所述复数个存储单元的第一个存储单元的前64个字节用于存储所述第一标识和第二标识。
其中,将第二数据存储至另一存储单元的步骤包括:
将第二数据存储至第一数据所在存储区之外的另一存储区中另一存储单元;
所述将所述第一标识对应于第二数据所在的所述另一存储单元的步骤包括:
确定第二数据所在的所述另一存储单元在另一存储区中的相对位置,并找到与第二数据所在的所述另一存储单元的相对位置对应的另一存储区的第一个存储单元的一字节,将所述第一标识存储至所述字节,使所述第一标识对应于第二数据所在的所述另一存储单元;
所述使用第二标识,并使其定义为除第二数据所在的所述另一存储单元之外的所有的存储单元步骤包括:
将第一数据所在存储区的第一个存储单元中用于存储第一标识的字节修改为存储第二标识。
其中,将第二数据存储至第一数据所在存储区之外的另一存储区中另一存储单元之前,判断除第一标识对应的存储单元所在的存储区之外所述另一存储区是否存在空闲存储单元;
在判断所述另一存储区不存在空闲存储单元时,将第二数据存储至闪存存储设备中其它存储区的空闲存储单元;
确定第二数据所在存储单元的相对位置,并找到与第二数据所在存储单元相对位置对应的其他存储区的第一个存储单元的字节,将所述第一标识存储至所述字节,使其对应第二数据所在存储单元;
将第一数据所在存储区的第一个存储单元中用于存储第一标识的字节修改为存储第二标识;以及
在存储第二数据后,对所述另一存储区进行擦除操作。
其中,在对所述另一存储区进行擦除操作后,需要继续存储第三数据时,包括:
将第三数据存储至所述另一存储区的其中一空闲存储单元;
确定第三数据所在存储单元的相对位置,并找到与第三数据所在存储单元的相对位置对应的另一存储区的第一个存储单元的字节,将所述第一标识存储至所述字节,使其对应第三数据所在存储单元;
将第二数据所在存储区的第一个存储单元中用于存储第一标识的字节修改为存储第二标识。
本发明是这样实现的,一种闪存存储设备的数据存储装置,所述闪存存储设备包括复数个存储单元,所述装置包括:
标识查找模块,用于查找并得到第一标识,其中,所述第一标识对应于第一数据所在的存储单元,所述第一数据为最新保存的数据;
数据查找模块,用于根据所述第一标识找到保存所述第一数据的存储单元;
数据存储模块,用于将第二数据存储至另一存储单元;以及
标识处理模块,用于将所述第一标识对应于第二数据所在的所述另一存储单元,并使所述第二标识对应于除第二数据所在的所述另一存储单元之外的所有存储单元,修改所述第一标识的存储位置,使修改后的第一标识所在存储位置对应于所述第二数据所在的所述另一存储单元的位置;
所述闪存存储设备的存储单元数量为第一数量,每个存储单元均有第二数量个字节,在所述第一数量存储单元中的第一个存储单元有第一数量个字节分别用于存储第一标识和第二标识,所述第二数量大于所述第一数量;
所述第一个存储单元中分别用于存储第一标识和第二标识的第一数量字节的相对位置与第一数量存储单元的相对位置一一对应;
其中,对应于所述第一数据所在存储单元的一字节用于存储所述第一标识,其余所有字节用于存储第二标识,对应第一标识的字节内容不同于对应第二标识的字节内容;
其中,所述标识查找模块,还用于从存储区第一个存储单元的第一字节开始往后一一识别,在识别到所述用于存储第一标识的字节时,确定所述字节在第一个存储单元的连续第一数量字节中的相对位置,所述数据查找模块在第一数量存储单元中确定对应所述字节的相对位置的存储单元为保存第一数据的存储单元。
其中,所述第一数量是32,第二数量是2k,所述闪存存储设备包括复数个存储区,每个存储区包括32个存储单元,每个存储区中的第一个存储单元的前32个字节用于存储所述第一标识和第二标识。
其中,所述第一数量是64,第二数量是2k,所述复数个存储单元的第一个存储单元的前64个字节用于存储所述第一标识和第二标识。
其中,所述数据存储模块,还用于将第二数据存储至第一数据所在存储区之外的另一存储区中另一存储单元;
所述标识处理模块,还用于确定第二数据所在的所述另一存储单元在另一存储区的相对位置,并找到与第二数据所在的所述另一存储单元的相对位置对应的另一存储区的第一个存储单元的一字节,将所述第一标识存储至所述字节,使所述第一标识对应于第二数据所在的所述另一存储单元;以及用于将第一数据所在存储区的第一个存储单元中用于存储第一标识的字节修改为存储第二标识。
其中,所述装置还包括判断模块和擦除模块,
其中,所述数据存储模块在将第二数据存储至第一数据所在存储区之外的另一存储区中另一存储单元时,所述判断模块用于判断除第一标识对应的存储单元所在的存储区之外所述另一存储区是否存在空闲存储单元;
在所述判断模块判断在判断所述另一存储区不存在空闲存储单元时,所述数据存储模块将第二数据存储至闪存存储设备中其它存储区的空闲存储单元,所述标识处理模块确定第二数据所在所述的另一存储单元在另一存储区中的相对位置,并找到与第二数据所在存储单元的相对位置对应的另一存储区中第一个存储单元的一字节,将所述第一标识存储至所述字节,使所述第一标识对应于第二数据所在所述的另一存储单元,并且将第一数据所在存储区的第一个存储单元中用于存储第一标识的字节修改为存储第二标识;以及
所述擦除模块用于在所述数据存储模块存储第二数据后对所述另一存储区进行擦除操作。
其中,在所述擦除模块对所述另一存储区进行擦除操作后,需要继续存储第三数据时,所述数据存储模块还用于将第三数据存储至所述另一存储区的其中一空闲存储单元,所述标识处理模块确定第三数据所存储单元的相对位置,并找到与第三数据所在存储单元的相对位置对应的另一存储区的第一个存储单元的一字节,将所述第一标识存储至所述字节,使其对应第三数据所在存储单元,并且将第二数据所在存储区的第一个存储单元中用于存储第一标识的字节修改为存储第二标识。
附图说明
图1是本发明提供的闪存存储设备的数据存储方法实施例之一的流程图;
图2是本发明提供的闪存存储设备的数据存储方法实施例之二的流程图;
图3是本发明提供的闪存存储设备的数据存储方法实施例之三的流程图;
图4是本发明提供的闪存存储设备的数据存储方法实施例之四的流程图;
图5是本发明提供的闪存存储设备的数据存储方法实施例之五的流程图;
图6是本发明提供的闪存存储设备的内部划分实施例之一示意图;
图7是本发明提供的闪存存储设备的内部划分实施例之一示意图;
图8是本发明提供的闪存存储设备的内部划分实施例之二示意图;
图9是本发明提供的闪存存储设备的数据擦写装置实施例结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示出了本发明提供的闪存存储设备的数据存储方法实施例之一的流程。在本发明实施例中,所述闪存存储设备包括复数个存储单元。
在步骤S101中,查找并得到第一标识。
其中,所述第一标识对应于第一数据所在的存储单元位置,所述第一数据为最新保存的数据。
在步骤S102中,根据所述第一标识找到保存第一数据的存储单元。
在步骤S103中,将第二数据存储至另一存储单元。
在步骤S104中,将所述第一标识对应于第二数据所在的所述另一存储单元。
显然,本发明实施例中,每次存储用户数据的存储单元和上次存储用户数据的存储单元不同,可以有效地利用多个存储单元轮转的进行数据的存储。当然,只要能够使得用户数据能够在不同存储区内的不同存储单元进行轮转存储,均在本发明保护范围之内,此处不一一列举。
图2示出了本发明提供的闪存存储设备的数据存储方法实施例之二的流程。
在步骤S201中,将第二数据存储至另一存储单元。
在步骤S202中,修改第一标识的存储位置,使修改后的第一标识所在存储位置对应第二数据所在的所述另一存储单元的位置。
在步骤S203中,使用第二标识,并使其对应于除第二数据所在的所述另一存储单元之外的所有存储单元。
本发明实施例中,通过使用不同的第一标识和第二标识,由第一标识对应第二数据的所在的所述另一存储单元,由第二标识对应于未存储最新保存的数据的存储单元,可以快速有效的通过查找第一标识来找到每次最新保存的数据的存储单元,进而选择未存储数据的存储单元进行下次数据的存储,可以有效快速的进行数据的存储。
图3示出了本发明提供的闪存存储设备的数据存储方法实施例之三的流程。本发明提供图3所示数据存储方法来查找并得到第一标识及由所述第一标识找到保存第一数据的存储单元。
在步骤S301中,从复数个存储单元中第一个存储单元的第一字节开始往后一一识别。
在步骤S302中,在识别到所述用于存储第一标识的字节后,确定所述字节在第一个存储单元的连续第一数量字节中的相对位置。
在步骤S303中,确定在第一数量存储单元中对应所述字节的相对位置的存储单元为保存第一数据的存储单元。
本发明实施例中,通过对第一存储单元的字节有顺序且逐个进行识别,直到识别到对应第一标识的字节,可以准确地根据第一标识来对应地找到第一数据所在的存储单元,从而进行下一步的数据存储。
在本发明实施例中,所述闪存存储设备的存储单元数量为第一数量,每个存储单元均有第二数量个字节,在所述第一数量存储单元中第一个存储单元有第一数量个字节分别用于存储第一标识和第二标识,所述第二数量大于所述第一数量;所述第一个存储单元中分别用于存储第一标识和第二标识的第一数量字节的相对位置与第一数量存储单元的相对位置一一对应;其中,对应于所述第一数据所在存储单元的一字节用于存储所述第一标识,其余所有字节用于存储其他第二标识,对应第一标识的字节内容不同于对应第二标识的字节内容。
优选的,所述第一数量是32,第二数量是2k,所述闪存存储设备复数个存储区,每个存储区包括32个存储单元,每个存储区中的第一个存储单元的前32个字节用于存储第一标识和第二标识。
优选的,所述第一数量是64,第二数量是2k,所述复数个存储单元的第一个存储单元的前64个字节用于存储所述第一标识和第二标识。
图4示出了本发明提供的闪存存储设备的数据存储方法实施例之四的流程。
在步骤S401中,在将第二数据存储至第一数据所在存储区之外的另一存储区中另一存储单元之前,判断除第一标识对应的存储单元所在的存储区之外所述另一存储区是否存在空闲存储单元。
若判断另一存储器存在空闲单元,则执行以下步骤。在步骤S402中,将第二数据存储至所述另一存储区的其中一空闲存储单元。在步骤S403中,确定第二数据所在的所述另一存储单元在另一存储区中的相对位置,并找到与第二数据所在的所述另一存储单元的相对位置对应的另一存储区的第一个存储单元的一字节,将所述第一标识存储至所述字节,使所述第一标识对应于第二数据所在的所述另一存储单元。在步骤S404中,将第一数据所在存储区的第一个存储单元中用于存储第一标识的字节修改为存储第二标识。若此时需要存储第三数据,则返回执行步骤S401中判断除第一标识对应的存储单元所在的存储区之外所述另一存储区是否存在空闲存储单元,也就是说,判断第二数据所在存储区之外的另一存储区中是否存在空闲存储单元。接下来步骤同上,此处不再详述。
若判断另一存储器不存在空闲存储单元,则执行以下步骤。在步骤S405中,将第二数据存储至闪存存储设备中其它存储区的空闲存储单元。执行分别与S403和S404相同的S406和S407,使得第一标识对应于第二数据所在存储单元,第二标识对应于除第二数据所在存储单元之外的其他所有存储单元。在步骤S408中,在存储第二数据后,对所述另一存储区进行擦除操作。在步骤S409中,在对所述另一存储区进行擦除操作后,需要继续存储第三数据时,由于擦除后的另一存储区存在空闲存储单元,则直接将第三数据存储至所述另一存储区的其中一空闲存储单元。在步骤S410中,确定第三数据所在存储单元的相对位置,并找到与第三数据所在存储单元的相对位置对应的另一存储区的第一个存储单元的字节,将所述第一标识存储至所述字节,使其对应于第三数据所在存储单元。在步骤S411中,将第二数据所在存储区的第一个存储单元中用于存储第一标识的字节修改为存储第二标识。
通过上述步骤可知,在当前存储区不存在空闲存储单元即写满数据、向另一存储区存储新的数据时,即便发生断电等异常,也不会导致数据丢失。
除采用第二数据所在的存储单元位置来对应第一标识存储的字节位置外,还可以是用将第二数据的地址赋值于第一标识。
图5示出了本发明提供的闪存存储设备的数据存储方法实施例之五的流程。
在步骤S501中,将第二数据存储至第一数据所在存储区的另一空闲存储单元。
在步骤S502中,将所述第一标识对应于第二数据所在所述另一存储单元。
在步骤S503中,使用第二标识,并使其对应于除第二数据所在的所述另一存储单元之外所有存储单元。
在具体实施过程中,为便于描述,将第一数据所在的存储区称为第一存储区,另一存储区为第二存储区。在所述第一存储区和第二存储区之间确定对应第一标识所在存储区的步骤包括:分别读取所述第一存储区和第二存储区各自的前2k存储单元,所述前2k存储单元的连续前32个字节中,各字节的相对位置与所述存储区中32个2k空间存储单元的相对位置一一对应,其中第一标识采用所述字节的第一内容标记,其余所有字节采用第二标识,以第一标识在前2k存储单元的连续32个字节中的存储位置,对应为记录所述存储第二数据的存储单元在存储区的位置;在读取到第一标识的字节时,确定具有第一标识的存储区为对应最新数据标记的存储区。
在具体实施过程中,在判断第一存储区未写满时,可以将第二数据存储至第一存储区的其中一空闲存储单元,同时将所述第一标识存储至第一存储区的第一个存储单元中相应位置处的字节中,使第一标识对应第二数据所在存储单元的位置,将对应第二存储区的第一标识去除。
在具体实施过程中,不管第一存储区是否已经写满,都可以将第二数据存储至第二存储区的其中一空闲存储单元,同时将所述第一标识存储至第二存储区的第一个存储单元中相应位置处的字节中,使第一标识对应第二数据所在存储单元的位置,将对应第一存储区的第一标识去除。
关于本发明更具体的实施例描述如下。
其中,在闪存存储设备中,大部分空间存放的是程序数据,小部分(大概5个左右存储区Bank)存放的是用户数据,用户数据的数据量通常在2KB以内。本发明实施例将以其中两个存储区Bank为例进行说明,对两个存储区Bank进行标识,譬如标识为第一存储区Bank61和第二存储区Bank62。每个存储区Bank的存储空间为64KB,本发明实施例将第一存储区Bank61和第二存储区Bank62划分为64个存储单元,每个存储区Bank包括32个存储单元,每个存储单元的存储空间是2KB,请参阅图6及图7。
当用户在通过包含上述闪存存储设备的电视收看TV节目的过程中,如果调整了用户数据,那么用户数据会被依次存入第一存储区Bank61或第二存储区Bank62的某一个存储单元内。
本发明实施例按照各个存储区的标识,逐次且有顺序的将各存储区内的存储单元进行标识,譬如,第一存储区Bank61中的存储单元被编号为奇数,分别是:B(61)Index1,3…,63(2n+1,n=0,..,31);第二存储区Bank62中的存储单元被编号为偶数,分别是:B(62)Index2,4…,64(2m,m=1,..,32)。
将每个存储区Bank第1个存储单元的前32个字节编号为奇数:B(61)_1,3…,63(2n+1,n=0,..,31);第二存储区Bank62中第1个存储单元的前32个字节编号为偶数:B(62)_2,4…,64(2m,m=1,..,32)。
在具体实施过程中,***开机时分别读取所述第一存储区Bank61和第二存储区Bank62各自的第1个存储单元,所述第1个存储单元的连续32个字节中,各字节的相对位置与所述存储区中32个存储单元的相对位置一一对应。
在本发明实施例中,最新数据标记采用所述字节的第一标识,譬如0x3F,其余所有字节采用第二标识,譬如0x1F。以第一标识0x3F的最新数据标记在32个字节中的位置,对应为记录所述存储最新用户数据的存储单元在存储区的位置;在读取到第一标识0x3F的字节时,确定具有第一标识0x3F的存储区为对应最新数据标记的存储区。
举例来说,假如***扫描后发现在第一存储区Bank61的第1个存储单元的第2个字节B(61)_3中存放的数值是第一标识0x3F,而其他数值均为第二标识0x1F,那么***会根据这个结果,从第一存储区Bank61中对应于第2个字节B(61)_3的第2个存储单元B(61)Index3来读取***关机前最后保存的用户数据(即最新数据)。此时,如果用户需要改变将用户数据,譬如将音量从20调整到21,即需要根据最新用户数据“音量20”的存储单元B(61)Index3来存储下次用户数据“音量21”,并将最新用户数据更新为“音量21”,那么***相应地进行下面三个动作,请参阅图7,图中短虚线箭头表示的是存入第二标识0x1F,与虚线箭头相连的实线箭头表示的是存入第一标识0x3F,长虚线箭头则标示用户数据依次交替跨区存储的方式。
c1)、将最新用户数据存储到第二存储区Bank62的第2个存储单元B(62)Index4。
c2)、在第一存储区Bank61的第1个存储单元中的第2个字节B(61)_3中存储0x1F以替换之前的数值0x3F。
c3)、在第二存储区Bank62的第1个存储单元中的第2个字节B(62)_4中存储0x3F以替换之前的数值0x1F。
显然,通过上述步骤,最新用户数据存放到存储单元B(62)Index4中。
同样,当进行下一次用户数据改变时,譬如将音量从21调整到22,***会相应地进行下面三个动作:
d1)、将最新用户数据存储到第一存储区Bank61的第3个存储单元B(61)Index5。
d2)、在第二存储区Bank62的第1个存储单元中的第2个字节B(62)_4中存储0x1F以替换之前的数值0x3F。
d3)、在第一存储区Bank61的第1个存储单元中的第3个字节B(61)_5中存储0x3F以替换之前的数值0x1F。
显然,通过上述步骤,最新用户数据存放到B(61)Index5中。
通过上面的描述不难看出,本发明实施例将第一存储区Bank61和第二存储区Bank62分成64个存储单元,存储用户数据时,用户数据会在64个存储单元中轮换进行存储。譬如第一次用户数据存储在存储单元B(61)Index3,第二次用户数据存储在存储单元B(62)Index4,第三次用户数据存储在存储单元B(61)Index5……按如此交替轮换的原则进行数据存储。当用户数据再次存储至到上次写过的存储单元时(譬如再次存储至存储单元B(61)Index3),需要等到62次之后。因此,同一存储单元被重复存储的几率极大的降低,从而达到延长闪存存储设备寿命的目的。
在具体实施过程中,当第一存储区Bank61已经存储满用户数据,最新用户数据存储在B(61)Index63,将下次用户数据存储到第二存储区Bank62中的最后一个存储单元(B(62)Index64),并且更新最新用户数据为存储在B(62)Index64中(使第一标识0x3F对应于B(62)Index64),那么按照以上交替轮换的原则,此时两个存储区均已存满用户数据。因此,若要继续进行用户数据存储,需要将第一存储区Bank61整个64KB擦除。此时若发生断电,存储在字节B(62)_64的第一标识0x3F和存储在存储单元B(62)Index64的最新用户数据依然被保留在第二存储区Bank62中。再次开机时,会根据第二存储区Bank62第1个存储单元中的字节B(62)_64记录的第一标识0x3F,找到用户数据所属的存储单元B(62)Index64。显然,在发生断电等异常时,本发明很好的保护了用户数据不被丢失。
依次地,当最新用户数据被存储在擦除后的第一存储区Bank61中第一个存储单元B(61)Index3,再次存储用户数据时,需要将已经存满的第二存储区Bank62整个64KB的空间擦除。此时如果发生断电,存储在字节B(61)_3的第一标识0x3F和存储在存储单元B(61)Index3的最新用户数据依然被保留在第一存储区Bank61中。再次开机时,会根据第一存储区Bank61第1个存储单元中的字节B(61)_3记录的第一标识0x3F,找到用户数据所属的存储单元B(61)Index3和其中的最新用户数据。
显然,在发生断电等异常时,本发明很好的保护了用户数据不被丢失。
而且,在本发明实施例中,在任意时刻,第一存储区Bank61和第二存储区Bank62的第一个存储单元中只有一个字节的存储数值0x3F,其余61个字节都存储的是0x1F,因此,***在开机时检索到0x3F,然后从相对应的存储单元中读取到最新的用户数据,再根据最新用户数据的存储位置进行下次用户数据的存储。
在具体实施过程中,在一个轮换周期内,每次存储用户数据的存储单元和上次存储用户数据的存储单元不同,只要使得用户数据能够依次在不同存储区内的不同存储单元即可,均在本发明保护范围之内。
请参阅图8,图8为在第一存储区Bank61和第二存储区Bank62内进行数据连续存储的示意图,其存储原理与在第一存储区Bank61和第二存储区Bank62内轮转存储的原理类似,同样引入第一标识来对应最新用户数据的存储单元,再根据最新用户数据的存储位置进行下次用户数据的存储。本发明实施例将第一存储区Bank61和第二存储区Bank62分成64个存储单元,其中第一个存储单元B(61)Index1的前64字节用以存储第一标识和第二标识,存储用户数据时,用户数据会在其他63个存储单元中依次存储,第一存储单元的前64个字节位置与64个存储单元一一对应。参照图8所示,如果第一次用户数据存储在存储单元B(61)Index2,那么第二次用户数据存储在存储单元B(61)Index3,第三次用户数据存储在存储单元B(61)Index4……按如此连续存储的原则进行数据存储。当用户数据再次存储至到上次写过的存储单元时(譬如再次存储至存储单元B(61)Index3),需要等到63次之后对整个128KB的空间进行擦除然后再按照以上规则重复写入用户数据。同一存储单元被重复存储的几率极大的降低,从而达到延长闪存存储设备寿命的目的。
图9示出了本发明提供的闪存存储设备的数据擦写装置的结构。所述闪存存储设备包括复数个存储单元。
其中,标识查找模块91查找并得到第一标识。所述第一标识对应于第一数据所在的存储单元,所述第一数据为最新保存的数据。数据查找模块92根据所述第一标识找到保存第一数据的存储单元。数据存储模块93将所述第二数据存储至另一存储单元。标识处理模块94用于将所述第一标识对应于除所述第二数据所在的所述另一存储单元之外所有存储单元。
在具体实施过程中,所述标识处理模块94还使用第二标识,并使所述第二标识对应于除第二数据所在的所述另一存储单元之外的所有的存储单元,以及,修改第一标识的存储位置,使修改后的第一标识所在存储位置对应于所述第二数据所在的所述另一存储单元。
其中,所述闪存存储设备的存储单元数量为第一数量,每个存储单元均有第二数量个字节,在所述第一数量存储单元中的第一个存储单元有第一数量个字节分别用于存储第一标识和第二标识,所述第二数量大于所述第一数量;所述第一个存储单元中分别用于存储第一标识和第二标识的第一数量字节的相对位置与第一数量存储单元的相对位置一一对应;其中,对应于所述第一数据所在存储单元的一字节用于存储所述第一标识,其余所有字节用于存储第二标识,对应第一标识的字节内容不同于对应第二标识的字节内容。
其中,所述标识查找模块91,还用于从存储区第一个存储单元的第一字节开始往后一一识别,在识别到所述用于存储第一标识的字节时,确定所述字节在第一个存储单元的连续第一数量字节中的相对位置,所述数据查找模块92在第一数量存储单元中确定对应所述字节的相对位置的存储单元为保存第一数据的存储单元。
优选的,所述第一数量是32,第二数量是2k,所述闪存存储设备包括至少两个存储区,每个存储区包括32个存储单元,每个存储区中的第一个存储单元的前32个字节用于存储第一标识和第二标识。
所述数据存储模块93,还用于将第二数据存储至第一数据所在存储区之外的另一存储区中空闲存储单元。
所述标识处理模块94,还用于确定第二数据所在的所述另一存储单元在另一存储区中的相对位置,并找到与第二数据所在的所述另一存储单元的相对位置对应的另一存储区的第一个存储单元的一字节,将所述第一标识存储至所述字节,使所述第一标识对应于第二数据所在的所述另一存储单元;以及将第一数据所在存储区的第一个存储单元中用于存储第一标识的字节修改为存储第二标识。
请参阅图9,所述数据存储模块在将第二数据存储至第一数据所在存储区之外的另一存储区中空闲存储单元时,判断模块95判断所述另一存储区是否存在空闲存储单元;在所述判断模块95判断所述另一存储区存在空闲存储单元时,所述数据存储模块93将第二数据存储至另一存储区中空闲存储单元。
请参阅图9,判断模块95判断所述另一存储区不存在空闲存储单元时;所述数据存储模块93将第二数据存储至闪存存储设备中其它存储区的空闲存储单元,所述标识处理模块94确定第二数据所在的所述另一存储单元在另一存储区中的相对位置,并找到与第二数据所在存储单元相对位置相对应的另一存储区的第一个存储单元的一字节,将所述第一标识存储至所述字节,使所述第一标识对应于第二数据所在的所述另一存储单元,并且将第一数据所在存储区的第一个存储单元中用于存储第一标识的字节修改为存储第二标识;以及在所述数据存储模块93存储第二数据后,所述擦除模块96对所述另一存储区进行擦除操作。
在所述擦除模块96对所述另一存储区进行擦除操作后,需要继续存储第三数据时,所述数据存储模块93将第三数据存储至所述另一存储区的其中一空闲存储单元;所述标识处理模块94确定第三数据所在存储单元的相对位置,并找到与第三数据所在存储单元的相对位置对应的另一存储区的第一个存储单元的一字节,将所述第一标识存储至所述字节,使其对应第三数据所在的存储单元,并且将第二数据所在存储区的第一个存储单元中用于存储第一标识的字节修改为存储第二标识。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种闪存存储设备的数据存储方法,所述闪存存储设备包括复数个存储单元,其特征在于,所述方法包括以下步骤:
查找并得到第一标识,所述第一标识对应于第一数据所在的存储单元,所述第一数据为最新保存的数据;
根据所述第一标识找到保存所述第一数据的存储单元;
将第二数据存储至另一存储单元;以及
将所述第一标识对应于第二数据所在的所述另一存储单元;
使用第二标识,并使其对应于除第二数据所在的所述另一存储单元之外的所有存储单元;
修改第一标识的存储位置,使修改后的第一标识所在存储位置对应于第二数据所在的所述另一存储单元的位置;
所述闪存存储设备的存储单元数量为第一数量,每个存储单元均有第二数量个字节,在所述第一数量存储单元中第一个存储单元有第一数量个字节分别用于存储第一标识和第二标识,所述第二数量大于所述第一数量;
所述第一个存储单元中分别用于存储第一标识和第二标识的第一数量字节的相对位置与第一数量存储单元的相对位置一一对应;
其中,对应于所述第一数据所在存储单元的一字节用于存储所述第一标识,其余所有字节用于存储第二标识,对应第一标识的字节内容不同于对应第二标识的字节内容;
其中,查找并得到第一标识及由所述第一标识找到保存第一数据的存储单元步骤包括:
从第一个存储单元的第一字节开始往后一一识别;
在识别到所述用于存储第一标识的字节时,确定所述字节在第一个存储单元的连续第一数量字节中的相对位置;以及
确定在第一数量存储单元中对应所述字节的相对位置的存储单元为保存第一数据的存储单元。
2.如权利要求1所述的闪存存储设备的数据存储方法,其特征在于:
所述第一数量是32,第二数量是2k,所述闪存存储设备包括复数个存储区,每个存储区包括32个存储单元,每个存储区中的第一个存储单元的前32个字节用于存储所述第一标识和第二标识。
3.如权利要求1所述的闪存存储设备的数据存储方法,其特征在于:
所述第一数量是64,第二数量是2k,所述复数个存储单元的第一个存储单元的前64个字节用于存储所述第一标识和第二标识。
4.如权利要求2所述的闪存存储设备的数据存储方法,其特征在于:
所述将第二数据存储至另一存储单元的步骤包括:
将第二数据存储至第一数据所在存储区之外的另一存储区中另一存储单元;
所述将所述第一标识对应于第二数据所在存储单元的步骤包括:
确定第二数据所在的所述另一存储单元在另一存储区中的相对位置,并找到与第二数据所在的所述另一存储单元的相对位置对应的另一存储区的第一个存储单元的一字节,将所述第一标识存储至所述字节,使所述第一标识对应于第二数据所在的所述另一存储单元;以及
所述使用第二标识,并使其对应于除第二数据所在的存的所述另一储单元之外的所有存储单元步骤包括:
将第一数据所在存储区的第一个存储单元中用于存储第一标识的字节修改为存储第二标识。
5.如权利要求4所述的闪存存储设备的数据存储方法,其特征在于:
将第二数据存储至第一数据所在存储区之外的另一存储区中另一存储单元之前,判断除第一标识对应的存储单元所在的存储区之外的所述另一存储区是否存在空闲存储单元;
在判断所述另一存储区不存在空闲存储单元时,将第二数据存储至闪存存储设备中其它存储区的空闲存储单元;
确定第二数据所在存储单元的相对位置,并找到与第二数据所在存储单元相对位置对应的其他存储区的第一个存储单元的字节,将所述第一标识存储至所述字节,使其对应第二数据所在存储单元;
将第一数据所在存储区的第一个存储单元中用于存储第一标识的字节修改为存储第二标识;以及
在存储第二数据后,对所述另一存储区进行擦除操作。
6.如权利要求5所述的闪存存储设备的数据存储方法,其特征在于,在对所述另一存储区进行擦除操作后,需要继续存储第三数据时,所述方法包括:
将第三数据存储至所述另一存储区的其中一空闲存储单元;
确定第三数据所在存储单元的相对位置,并找到与第三数据所在存储单元的相对位置对应的另一存储区的第一个存储单元的字节,将所述第一标识存储至所述字节,使其对应第三数据所在存储单元;
将第二数据所在存储区的第一个存储单元中用于存储第一标识的字节修改为存储第二标识。
7.一种闪存存储设备的数据存储装置,所述闪存存储设备包括复数个存储单元,其特征在于,所述装置包括:
标识查找模块,用于查找并得到第一标识,其中,所述第一标识对应于第一数据所在的存储单元,所述第一数据为最新保存的数据;
数据查找模块,用于根据所述第一标识找到保存所述第一数据的存储单元;
数据存储模块,用于将第二数据存储至另一存储单元;以及
标识处理模块,用于将所述第一标识对应于第二数据所在的所述另一存储单元,并使所述第二标识对应于除第二数据所在的所述另一存储单元之外的所有存储单元,修改所述第一标识的存储位置,使修改后的第一标识所在存储位置对应于所述第二数据所在的所述另一存储单元的位置;
所述闪存存储设备的存储单元数量为第一数量,每个存储单元均有第二数量个字节,在所述第一数量存储单元中的第一个存储单元有第一数量个字节分别用于存储第一标识和第二标识,所述第二数量大于所述第一数量;
所述第一个存储单元中分别用于存储第一标识和第二标识的第一数量字节的相对位置与第一数量存储单元的相对位置一一对应;
其中,对应于所述第一数据所在存储单元的一字节用于存储所述第一标识,其余所有字节用于存储第二标识,对应第一标识的字节内容不同于对应第二标识的字节内容;
其中,所述标识查找模块,还用于从存储区第一个存储单元的第一字节开始往后一一识别,在识别到所述用于存储第一标识的字节时,确定所述字节在第一个存储单元的连续第一数量字节中的相对位置,所述数据查找模块在第一数量存储单元中确定对应所述字节的相对位置的存储单元为保存第一数据的存储单元。
8.如权利要求1所述的闪存存储设备的数据存储装置,其特征在于:
所述第一数量是32,第二数量是2k,所述闪存存储设备包括复数个存储区,每个存储区包括32个存储单元,每个存储区中的第一个存储单元的前32个字节用于存储所述第一标识和第二标识。
9.如权利要求1所述的闪存存储设备的数据存储装置,其特征在于:
所述第一数量是64,第二数量是2k,所述复数个存储单元的第一个存储单元的前64个字节用于存储所述第一标识和第二标识。
10.如权利要求8所述的闪存存储设备的数据存储装置,其特征在于:
所述数据存储模块,还用于将第二数据存储至第一数据所在存储区之外的另一存储区中另一存储单元;以及
所述标识处理模块,还用于确定第二数据所在的所述另一存储单元在另一存储区中的相对位置,并找到与第二数据所在的所述另一存储单元的相对位置对应的另一存储区的第一个存储单元的一字节,将所述第一标识存储至所述字节,使所述第一标识对应于第二数据所在的所述另一存储单元;以及用于将第一数据所在存储区的第一个存储单元中用于存储第一标识的字节修改为存储第二标识。
11.如权利要求10所述的闪存存储设备的数据存储装置,其特征在于:
所述装置还包括判断模块和擦除模块,其中,
所述数据存储模块在将第二数据存储至第一数据所在存储区之外的另一存储区中另一存储单元时,所述判断模块用于判断除第一标识对应的存储单元所在的存储区之外的所述另一存储区是否存在空闲存储单元;
在所述判断模块判断在判断所述另一存储区不存在空闲存储单元时,所述数据存储模块将第二数据存储至闪存存储设备中其它存储区的空闲存储单元,所述标识处理模块确定第二数据所在的所述另一存储单元在另一存储区中的相对位置,并找到与第二数据所在的所述另一存储单元的相对位置对应的另一存储区的第一个存储单元的字节,将所述第一标识存储至所述字节,使所述第一标识对应于第二数据所在的所述另一存储单元,并且将第一数据所在存储区的第一个存储单元中用于存储第一标识的字节修改为存储第二标识;以及
所述擦除模块用于在所述数据存储模块存储第二数据后对所述另一存储区进行擦除操作。
12.如权利要求11所述的闪存存储设备的数据存储装置,其特征在于:
在所述擦除模块对所述另一存储区进行擦除操作后,需要继续存储第三数据时,所述数据存储模块还用于将第三数据存储至所述另一存储区的其中一空闲存储单元,所述标识处理模块确定第三数据所在存储单元的相对位置,并找到与第三数据所在存储单元的相对位置对应的另一存储区的第一个存储单元的字节,将所述第一标识存储至所述字节,使其对应第三数据所在存储单元,并且将第二数据所在存储区的第一个存储单元中用于存储第一标识的字节修改为存储第二标识。
CN201110194055.7A 2011-07-12 2011-07-12 一种闪存存储设备的数据存储方法和装置 Expired - Fee Related CN102231136B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201110194055.7A CN102231136B (zh) 2011-07-12 2011-07-12 一种闪存存储设备的数据存储方法和装置
TW100130029A TWI463311B (zh) 2011-07-12 2011-08-22 快閃記憶體儲存設備的資料儲存方法和裝置
US13/542,993 US9195582B2 (en) 2011-07-12 2012-07-06 Data storing method and apparatus applied to flash memory storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110194055.7A CN102231136B (zh) 2011-07-12 2011-07-12 一种闪存存储设备的数据存储方法和装置

Publications (2)

Publication Number Publication Date
CN102231136A CN102231136A (zh) 2011-11-02
CN102231136B true CN102231136B (zh) 2014-06-11

Family

ID=44843700

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110194055.7A Expired - Fee Related CN102231136B (zh) 2011-07-12 2011-07-12 一种闪存存储设备的数据存储方法和装置

Country Status (3)

Country Link
US (1) US9195582B2 (zh)
CN (1) CN102231136B (zh)
TW (1) TWI463311B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744794B (zh) * 2014-02-10 2017-03-01 武汉英泰斯特电子技术有限公司 数据存储的方法及装置
JP6662134B2 (ja) * 2016-03-18 2020-03-11 日本電気株式会社 タグ管理装置、タグ管理方法、プログラム
CN107273128B (zh) * 2017-06-16 2020-11-10 合肥联宝信息技术有限公司 电子设备启动方法及装置
CN107562655B (zh) * 2017-08-31 2019-01-25 长江存储科技有限责任公司 一种数据存储方法和装置
CN107704200A (zh) * 2017-09-08 2018-02-16 晶晨半导体(上海)股份有限公司 一种数据存放方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115785A (en) * 1995-07-31 2000-09-05 Lexar Media, Inc. Direct logical block addressing flash memory mass storage architecture
CN101923516A (zh) * 2009-05-15 2010-12-22 旺宏电子股份有限公司 以区块为基础的快闪存储装置及其操作方法
CN101980177A (zh) * 2010-10-21 2011-02-23 北京握奇数据***有限公司 一种操作Flash的方法和装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7130229B2 (en) * 2002-11-08 2006-10-31 Intel Corporation Interleaved mirrored memory systems
US20050120265A1 (en) * 2003-12-02 2005-06-02 Pline Steven L. Data storage system with error correction code and replaceable defective memory
US7389465B2 (en) * 2004-01-30 2008-06-17 Micron Technology, Inc. Error detection and correction scheme for a memory device
WO2007072367A2 (en) * 2005-12-21 2007-06-28 Nxp B.V. Memory with block-erasable locations
US8275928B2 (en) * 2008-05-15 2012-09-25 Silicon Motion, Inc. Memory module and method for performing wear-leveling of memory module using remapping, link, and spare area tables
TWI381386B (zh) * 2008-08-04 2013-01-01 Phison Electronics Corp 資料管理方法及其儲存裝置與其控制器
TWI375887B (en) * 2008-10-31 2012-11-01 A Data Technology Co Ltd Flash memory device with wear-leveling mechanism and controlling method thereof
US8291194B2 (en) * 2009-11-16 2012-10-16 Mediatek Inc. Methods of utilizing address mapping table to manage data access of storage medium without physically accessing storage medium and related storage controllers thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115785A (en) * 1995-07-31 2000-09-05 Lexar Media, Inc. Direct logical block addressing flash memory mass storage architecture
CN101923516A (zh) * 2009-05-15 2010-12-22 旺宏电子股份有限公司 以区块为基础的快闪存储装置及其操作方法
CN101980177A (zh) * 2010-10-21 2011-02-23 北京握奇数据***有限公司 一种操作Flash的方法和装置

Also Published As

Publication number Publication date
US9195582B2 (en) 2015-11-24
US20130019056A1 (en) 2013-01-17
TW201303585A (zh) 2013-01-16
TWI463311B (zh) 2014-12-01
CN102231136A (zh) 2011-11-02

Similar Documents

Publication Publication Date Title
CN102231136B (zh) 一种闪存存储设备的数据存储方法和装置
CN101354681B (zh) 存储器***、非易失性存储器的磨损均衡方法及装置
US7516296B2 (en) Flash memory storage device and read/write method
CN101520735B (zh) 一种启动闪存内引导程序的方法及其网络电视和机顶盒
CN101388110B (zh) 数据快速读取方法及装置
CN101551780B (zh) 一种电视机及其数据存储方法、装置
CN102298633B (zh) 一种分布式海量数据排重方法及***
CN108874298B (zh) 一种数据存储的方法及装置
CN104115134A (zh) 复合非易失性存储设备的数据迁移
CN102945179A (zh) 基于mtd分区的软件升级方法和装置
CN106020735A (zh) 一种数据存储方法及数据存储装置
CN106155915A (zh) 数据存储的处理方法及装置
CN100458736C (zh) Nand闪存信息提取方法和nand闪存自动识别方法
CN103279406A (zh) 一种内存的隔离方法和装置
CN110287068B (zh) 一种NandFlash驱动方法
CN110069218A (zh) 冷热数据分离方法、装置、计算机设备及存储介质
CN104933051A (zh) 文件存储空间回收方法和装置
CN109918024A (zh) 存储管理方法、装置、单片机设备和可读存储介质
CN106528441B (zh) 仿真eeprom的数据处理方法、装置及电子设备
CN104166627B (zh) 一种基于单片机的nand‑flash写操作方法
CN105389266A (zh) 一种数据管理方法及装置
CN105653208A (zh) 数据存储***及基于该***的数据读写方法
CN102446138A (zh) 一种单片机***map数据标定方法
CN109634516B (zh) 一种芯片存储器的读、写数据方法及***
CN106802811A (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: 20140611

Termination date: 20190712

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