CN113535459A - 响应电源事件的数据存取方法及装置 - Google Patents

响应电源事件的数据存取方法及装置 Download PDF

Info

Publication number
CN113535459A
CN113535459A CN202010288541.4A CN202010288541A CN113535459A CN 113535459 A CN113535459 A CN 113535459A CN 202010288541 A CN202010288541 A CN 202010288541A CN 113535459 A CN113535459 A CN 113535459A
Authority
CN
China
Prior art keywords
flash memory
page
data
data access
memory module
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
Application number
CN202010288541.4A
Other languages
English (en)
Other versions
CN113535459B (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.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
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 Silicon Motion Inc filed Critical Silicon Motion Inc
Priority to CN202010288541.4A priority Critical patent/CN113535459B/zh
Priority to US17/108,681 priority patent/US11342008B2/en
Publication of CN113535459A publication Critical patent/CN113535459A/zh
Priority to US17/723,989 priority patent/US11664056B2/en
Application granted granted Critical
Publication of CN113535459B publication Critical patent/CN113535459B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/141Battery and back-up supplies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • G11C16/225Preventing erasure, programming or reading when power supply voltages are outside the required ranges
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/143Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/147Voltage reference generators, voltage or current regulators; Internally lowered supply levels; Compensation for voltage drops
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series

Abstract

本发明涉及一种响应电源事件的数据存取方法及装置,其中该响应电源事件的数据存取方法由闪存控制器执行,包括:持续侦测提供给闪存控制器的电压是否低于第一阈值;以及当电压低于第一阈值时,发出写入命令给闪存模块,用于写入数据到闪存模块,和进入监督程序。监督程序包括:在发出写入命令给闪存模块到传送完毕数据到闪存模块的期间,持续侦测电压是否低于第二阈值;以及当电压低于第二阈值时,取消写入命令。通过如上所述的监督程序,可避免将因瞬间断电或电源供应不稳定所伤害到的不正确数据写入闪存模块。

Description

响应电源事件的数据存取方法及装置
技术领域
本发明涉及存储装置,尤指一种响应电源事件的数据存取方法及装置。
背景技术
闪存通常分为NOR闪存与NAND闪存。NOR闪存为随机存取装置,中央处理器(Host)可于地址引脚上提供任何存取NOR闪存的地址,并及时地从NOR闪存的数据引脚上获得存储于该地址上的数据。相反地,NAND闪存并非随机存取,而是串行存取。NAND闪存无法像NOR闪存一样,可以存取任何随机地址,中央处理器反而需要写入串行的字节(Bytes)的值到NAND闪存中,用于定义请求命令(Command)的类型(如,读取、写入、抹除等),以及用在此命令上的地址。地址可指向一个页面(闪存中写入操作的最小数据块)或一个区块(闪存中抹除操作的最小数据块)。
由于自然或人为引起的瞬间断电,或者是电源供应不稳定,会造成数据在闪存控制器中缓存时就发生错误,使得错误的数据被写入到闪存模块。因此,本发明提出一种响应电源事件的数据存取方法及装置,用于避免写入因电源不稳定而发生错误的数据到闪存模块,或者避免从闪存模块恢复到因电源不稳定而写入的错误数据。
发明内容
有鉴于此,如何减轻或消除上述相关领域的缺陷,实为有待解决的问题。
本发明涉及一种响应电源事件的数据存取方法,由闪存控制器执行,包括:持续侦测提供给闪存控制器的电压是否低于第一阈值;以及当电压低于第一阈值时,发出写入命令给闪存模块,用于写入数据到闪存模块,和进入监督程序。
本发明还涉及一种响应电源事件的数据存取装置,包括:电源侦测模块;闪存接口;以及处理单元。电源侦测模块量测提供给数据存取装置的电压。处理单元持续通过所述电源侦测模块侦测提供给数据存取装置的电压是否低于第一阈值;当电压低于第一阈值时,驱动闪存接口发出写入命令给闪存模块,用于写入数据到闪存模块,和进入监督程序。
第一阈值低于电源供应模块提供给闪存控制器的理想电压,而第二阈值低于第一阈值。监督程序包括:在发出写入命令给闪存模块到传送完毕数据到闪存模块的期间,持续侦测电压是否低于第二阈值;以及当电压低于第二阈值时,取消写入命令。
本发明还涉及一种响应电源事件的数据存取方法,由闪存控制器执行,包括:在瞬间断电后恢复程序中,读取闪存模块中当前块的多个物理页面的数据;依据物理页面的纠错结果判断是否发生电源事件;当发生电源事件时,重建闪存-主机对照表,所述闪存-主机对照表包括当前块中从第0页面到一最后有效页面之前一个页面的物理-逻辑对照信息;以及将重建的闪存-主机对照表写入闪存模块的指定位置。
本发明还涉及一种响应电源事件的数据存取装置,包括:闪存接口;以及处理单元。处理单元在瞬间断电后恢复程序中,驱动闪存接口读取闪存模块中当前块的多个物理页面的数据;依据物理页面的纠错结果判断是否发生电源事件;当发生电源事件时,重建闪存-主机对照表,所述闪存-主机对照表包括当前块中从第0页面到最后有效页面之前一个页面的物理-逻辑对照信息;以及驱动闪存接口写入重建的闪存-主机对照表到闪存模块的指定位置。
上述实施例的优点之一,通过如上所述的监督程序,可避免将因瞬间断电或电源供应不稳定所伤害到的不正确数据写入闪存模块。
上述实施例的另一个优点,在瞬间断电后恢复程序中,通过如上所述响应电源事件的闪存-主机对照表的重建,可避免恢复因瞬间断电所伤害到的不正确数据。
本发明的其他优点将配合以下的说明和附图进行更详细的解说。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为依据本发明实施例的电子装置的系统架构图。
图2为依据本发明实施例的闪存模块的示意图。
图3为依据本发明实施例的闪存控制器的供给电压变化示意图。
图4为依据本发明实施例的响应电源事件的数据写入方法的流程图。
图5为依据本发明实施例的页面写入命令的时序图。
图6为依据本发明实施例的物理块和闪存-主机对照表的示意图。
图7为依据本发明实施例的在瞬间断电后恢复程序中响应电源事件的闪存-主机对照表的重建方法的流程图。
其中,附图中符号的简单说明如下:
10:电子装置;110:主机端;130:闪存控制器;131:主机接口;132:总线架构;134:处理单元;135:电源侦测模块;136:随机存取存储器;138:直接存储存取控制器;139:闪存接口;150:闪存模块;151:接口;153#0~153#15:NAND闪存单元;170:电源供应模块;CH#0~CH#3:通道;CE#0~CE#3:启动信号;S410~S480:方法步骤;510:数据线DQx的时钟类型的波形;520:页面写入命令的波形;610:当前块;630:闪存-主机对照表;S710~S780:方法步骤。
具体实施方式
以下将配合相关附图来说明本发明的实施例。在这些附图中,相同的标号表示相同或类似的组件或方法流程。
必须了解的是,使用于本说明书中的“包含”、“包括”等词,是用于表示存在特定的技术特征、数值、方法步骤、作业处理、组件和/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、组件、组件,或以上的任意组合。
本发明中使用如“第一”、“第二”、“第三”等词是用来修饰权利要求中的组件,并非用来表示之间具有优先权顺序,先行关系,或者是一个组件先于另一个组件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的组件。
必须了解的是,当组件描述为“连接”或“耦接”至另一组件时,可以是直接连结、或耦接至其他组件,可能出现中间组件。相反地,当组件描述为“直接连接”或“直接耦接”至另一组件时,其中不存在任何中间组件。用于描述组件之间关系的其他词语也可以类似方式解读,例如“介于”相对于“直接介于”,或者“邻接”相对于“直接邻接”等等。
参考图1。电子装置10包括主机端(Host Side)110、闪存控制器130及闪存模块150,并且闪存控制器130及闪存模块150可合称为装置端(Device Side)。电子装置10可实施于个人计算机、笔记本计算机(Laptop PC)、平板计算机、移动电话、数字相机、数字摄影机等电子产品之中。主机端110与闪存控制器130的主机接口(Host Interface)131可以通用串行总线(Universal Serial Bus,USB)、先进技术附件(Advanced TechnologyAttachment,ATA)、串行先进技术附件(Serial Advanced Technology Attachment,SATA)、快速外设组件互联(Peripheral Component Interconnect Express,PCI-E)、通用闪存存储(Universal Flash Storage,UFS)、嵌入式多媒体卡(Embedded Multi-Media Card,eMMC)等通信标准彼此通信。闪存控制器130的闪存接口(Flash Interface)139与闪存模块150可以双倍数据率(Double Data Rate,DDR)通信协议彼此通信,例如,开放NAND闪存(Open NAND Flash Interface,ONFI)、双倍数据率开关(DDR Toggle)或其他通信协议。闪存控制器130包括处理单元134,可使用多种方式实施,如使用通用硬件(例如,单处理器、具备并行处理能力的多处理器、图形处理器或其他具备运算能力的处理器),并且在执行软件以及/或固件指令时,提供之后描述的功能。处理单元134通过主机接口131接收主机命令,例如读取命令(Read Command)、写入命令(Write Command)、抹除命令(Erase Command)等,调度并执行这些命令。闪存控制器130还包括随机存取存储器(Random Access Memory,RAM)136,可实施为动态随机存取存储器(Dynamic Random Access Memory,DRAM)、静态随机存取存储器(Static Random Access Memory,SRAM)或上述两者的结合,用于配置空间作为数据缓冲区,存储从主机端110读取并即将写入闪存模块150的用户数据(也可称为主机数据),以及从闪存模块150读取并即将输出给主机端110的用户数据。随机存取存储器136还可存储执行过程中需要的数据,例如,变量、数据表、主机-闪存对照表(Host-to-Flash,H2F Table)、闪存-主机对照表(Flash-to-Host,F2H Table)等。闪存接口139包括NAND闪存控制器(NAND Flash Controller,NFC),提供存取闪存模块150时需要的功能,例如命令串行器(Command Sequencer)、低密度奇偶校验(Low Density Parity Check,LDPC)等。
闪存控制器130中可配置总线架构(Bus Architecture)132,用于让组件之间彼此耦接以传递数据、地址、控制信号等,这些组件包括主机接口131、处理单元134、RAM 136、直接存储存取(Direct Memory Access,DMA)控制器138、闪存接口139等。DMA控制器138可依据处理单元134的指令,通过总线架构132在组件间迁移数据,例如,将主机接口131或闪存接口139中的特定数据缓存器(Data Buffer)的数据搬到RAM 136中的特定地址,将RAM 136中特定地址的数据搬到将主机接口131或闪存接口139中的特定数据缓存器等。
总线包括并行的物理线,连接闪存控制器130中两个以上的组件。总线是一种共享的传输介质,在任意的时间上,只能有两个装置可以使用这些线来彼此通信,用于传递数据。数据及控制信号能够在组件间分别沿数据和控制线进行双向传播,但另一方面,地址信号只能沿地址线进行单向传播。例如,当处理单元134想要读取RAM 136的特定地址上的数据时,处理单元134在地址线上传送此地址给RAM 136。接着,此地址的数据会在数据线上回复给处理单元134。为了完成数据读取操作,控制信号会使用控制线进行传递。
闪存模块150提供大量的存储空间,通常是数百个千兆字节(Gigabytes,GB),甚至是多个兆兆字节(Terabytes,TB),用于存储大量的用户数据,例如高分辨率图片、影片等。闪存模块150中包括控制电路以及存储器数组,存储器数组中的存储单元可包括单层式单元(Single Level Cells,SLCs)、多层式单元(Multiple Level Cells,MLCs)、三层式单元(Triple Level Cells,TLCs)、四层式单元(Quad-Level Cells,QLCs)或上述的任意组合。处理单元134通过闪存接口139写入用户数据到闪存模块150中的指定地址(目的地址),以及从闪存模块150中的指定地址(来源地址)读取用户数据。闪存接口139使用多个电子信号来协调闪存控制器130与闪存模块150间的数据与命令传递,包括数据线(Data Line)、时钟信号(clock signal)与控制信号(control signal)。数据线可用于传递命令、地址、读出及写入的数据;控制信号线可用于传递芯片启动(Chip Enable,CE)、地址提取启动(AddressLatch Enable,ALE)、命令提取启动(Command Latch Enable,CLE)、写入启动(WriteEnable,WE)等控制信号。
电子装置10还包括电源供应模块170,而电源供应模块170包括两个引脚VCC和VCCQ,可分别用于提供3.3V和1.8V的电压给闪存模块150和闪存控制器130。为了侦测自然或人为引起的瞬间断电(Sudden Power Off,SPO),或者是电源供应不稳定的情况,闪存控制器130包括电源侦测模块135,用于量测电源供应模块170经由引脚VCCQ提供的电压。处理单元134可周期性地询问(Polls)电源侦测模块135,取得目前电源供应模块170经由引脚VCCQ提供的电压。
参考图2,闪存模块150中的接口151可包括四个输入输出通道(I/O channels,以下简称通道)CH#0至CH#3,每一个通道连接四个NAND闪存单元,例如,信道CH#0连接NAND闪存单元153#0、153#4、153#8及153#12依此类推。每个NAND闪存单元可封装为独立的芯片(die)。闪存接口139可通过接口151发出启动信号CE#0至CE#3中的一个来启动NAND闪存单元153#0至153#3、153#4至153#7、153#8至153#11、或153#12至153#15,接着以并行的方式从启动的NAND闪存单元读取用户数据,或者写入用户数据至启动的NAND闪存单元。
由于自然或人为引起的瞬间断电,或者是电源供应不稳定,会造成闪存控制器130在写入数据到闪存模块150时发生不预期的结果。为了响应可能发生的电源事件,例如,瞬间断电、电源不稳定等,在每次写入数据到闪存模块150的过程中,闪存控制器130需要持续侦测提供给闪存控制器130的电压,并提供两个阈值TH1和TH2,其中,阈值TH1(即,第一阈值)低于电源供应模块170应该提供的理想电压,而阈值TH1高于阈值TH2(即,第二阈值)。参考图3,举例来说,电源供应模块170应该提供的理想电压是1.8V,阈值TH1可设为1.44V,并且阈值TH2可设为1.26V。通常,当提供给闪存控制器130的电压低于1.2V时,闪存控制器130(更详细地说,可能是RAM 136、闪存接口139等)的运作会不正常而伤害欲写入到闪存模块150的数据。因此,当侦测到的电压低于阈值TH1时,执行监督程序。在监督程序中,闪存控制器130在发出写入命令给闪存模块150到闪存控制器130传送完毕欲写入数据到闪存模块150的期间,持续不断侦测供给电压是否低于阈值TH2。一旦侦测到的电压低于阈值TH2时,取消此写入命令。因此,参考图4,本发明实施例提出一种响应电源事件的数据写入方法,由处理单元134加载和执行相关固件或软件指令时实施。详细步骤说明如下:
步骤S410:判断提供给闪存控制器130的电压是否低于阈值TH1。如果是,流程进行步骤S430的处理;否则,进行步骤S420的处理。处理单元134可询问电源侦测模块135,取得目前电源供应模块170经由引脚VCCQ提供的电压。当电压高于阈值TH1时,代表电源稳定,可以直接驱动闪存接口139发出写入命令给闪存模块150,然后离开写入操作,而无需进入监督程序。当电压不高于阈值TH1时,代表电源不稳定,也许可能将发生瞬间断电,需要执行监督程序,确保写入命令的执行较低幅度地受到电源不稳定的伤害。
步骤S420:发出写入指令给闪存接口139,用于驱动闪存接口139写入指定的数据到闪存模块150。处理单元134可将写入指令存储到闪存接口139中的指令队列,写入指令包括脚本、指令编号、数据长度、欲写入数据存储在RAM 136中哪个地址等信息。接着,闪存接口139依据写入指令中携带的信息从RAM 136的指定地址读取数据,并传给闪存模块150,并以指定通信协议与闪存模块150进行一连串的信号和/或信息交互,用于完成指定的写入操作。在这里需要注意的是,在电源稳定的情况下,处理单元134发出写入指令给闪存接口139后就可以离开写入操作,而不需要等待闪存模块150实际写入数据完毕才能离开,使得处理单元134可接着处理其他工作。
参考图5所示的页面写入命令(Page Program,80h-10h Command)的时序图。波形510显示耦接于闪存模块150及闪存接口139间的数据线DQx的时钟类型,波形520是页面写入命令的示例,主要命令为“80h”,确认命令为“10h”。闪存接口139可根据指令队列的写入指令发送页面写入命令给闪存模块150,用于传送由物理地址所定义的一页或者其中部分的数据到闪存模块150中的页面寄存器。页面寄存器的内容接着会编程到存储器数组中指定的物理地址。周期“C1”至“C2”代表欲写入数据的开始缓冲器位置的行地址(ColumnAddresses),周期“R1”至“R3”代表编程页面的列地址(Row Addresses),周期“D0”至“Dn”代表即将写入到指定页面的数据字节或字组。时间区间“tADL”代表最后一个地址周期到第一个数据周期之间需要的时间,时间区间“tWB”代表发出确认命令“10h”后到开始将数据编程到存储器数组需要的时间。当闪存接口139收到写入指令时,可传送主要命令“80h”给闪存模块150,接着,传送行地址、列地址和数据给闪存模块150。闪存接口139可在最后一个数据字节或字组传送给闪存模块150后,传送数据就绪的信息给处理单元134,通知处理单元134此写入指令的数据已经全部传送到闪存模块150,并且传送确认命令“10h”给闪存模块150。为了响应接收到的数据就绪信息,处理单元134可在RAM 136中更新状态变量,用于记录此写入指令的数据已经全部传送到闪存模块150的信息。
步骤S430:发出写入指令给闪存接口139,用于驱动闪存接口139写入指定的数据到闪存模块150。闪存接口139收到写入指令后的技术细节可参考步骤S420的说明,为求简明不再赘述。在这里需要注意的是,在电源不稳定的情况下,处理单元134发出写入指令给闪存接口139后不能马上离开写入操作,而必须进入监督程序,确保写入指令的执行可较低幅度地受到电源不稳定的伤害。监督程序可包括步骤S440到S480的处理。
步骤S440:判断提供给闪存控制器130的电压是否低于阈值TH2。如果是,流程进行步骤S450的处理;否则,进行步骤S470的处理。处理单元134可询问电源侦测模块135,取得目前电源供应模块170经由引脚VCCQ提供的电压。当电压低于阈值TH2时,代表电源极度不稳定,需要中断写入指令的执行。
步骤S450:发出取消指令给闪存接口139,可包括先前发送的写入指令的指令编号的信息,用于中断此写入指令的执行。参考图4,由于此写入指令的数据尚未完整地传送到闪存模块150,当闪存接口139收到取消指令时,可放弃传送未完成的数据和确认命令“10h”给闪存模块150。
步骤S460:通过闪存接口139重新启动闪存模块150,用于清除未完成的写入命令的相关内容,例如,闪存模块150中的行地址寄存器、列地址寄存器和页面寄存器的内容。
步骤S470:判断写入指令所欲写入的数据是否已经完整传送给闪存模块150。如果是,离开写入操作;否则,进行步骤S480的处理。处理单元134可依据RAM 136中存储的状态变量值来判断是否已经从闪存接口139接收到如上所述数据就绪的信息。如果是,则代表闪存模块的150编程操作已经不能停止,处理单元134离开写入操作,并可接着处理其他工作。
步骤S480:等待一段默认的时间。
从另一个方面来说,步骤S440、S470和S480会形成一个周期性执行的循环,用于反复地检查是否满足如步骤S440和S470所述的条件,直到步骤S440或S470所述的条件满足为止。
通过如上所述的监督程序,可避免将因瞬间断电或电源供应不稳定所伤害到的不正确数据写入闪存模块。
为了让写入操作具有效率,参考图6,每个NAND闪存单元153会提供一个物理块610作为当前块(Current Block),包括多个页面的空间,例如P#0至P#255共256个页面。当前块610中的每一页在初始时都是空页面(Empty Page)。在正常情况下,处理单元134驱动闪存接口139从当前块610的第0个页面开始写入数据,一直到最后一个页面。每个页面的空间用于存储一个或多个逻辑区块地址(Logical Block Address,LBA)的数据。闪存接口139包括纠错码编码器(Error Correction Code,ECC Encoder),用于依据从RAM 136读取的数据产生纠错码,并且将读取数据连同纠错码写入物理块中的一个页面,使得将来能够修正从此页面读出的含有错误比特的数据。纠错码可以是低密度奇偶较验码(Low-Density ParityCheck Code,LDPC)、BCH码(Bose–Chaudhuri–Hocquenghem Code)或其他种类的编码。以每1K字节的用户数据为例,BCH码可提供最多72个错误比特的修正能力,而LDPC可提供最多128个错误比特的修正能力。在写完最后一页的数据和纠错码后,处理单元134会搜集每个物理页面关联的逻辑区块地址的信息,并据以产生闪存-主机对照表(Flash-to-Host,F2HTable)630,其中包括相应于物理页面数量的存储格。例如,F2H表630中的第0个存储格记录了当前块610中的第0个物理页面存储了LBA#100至LBA#107的数据的信息,第1个物理页面记录了当前块610中的第1个物理页面存储了LBA#150至LBA#157的数据的信息,依此类推。最后,处理单元134驱动闪存接口139将F2H表630写入闪存模块150中的指定位置,供将来查找用。此时,物理块610的内容不再变动,又称为数据块(Data Block)。接着,处理单元134会从闲置块(Spare Blocks)中挑选出一个作为当前块,继续后续的数据写入操作。然而,如果当前块还没写满就发生瞬间断电,处理单元134需要在执行瞬间断电后恢复(Sudden PowerOff Recovery,SPOR)程序时为当前块产生F2H表630,并且驱动闪存接口139将F2H表630写入闪存模块150中的指定位置。
在另一些实施例的闪存控制器130中,由于没有配置电源侦测模块135,让如图4所述的预防机制无法实现。根据这样的硬件架构,闪存控制器130需要在SPOR程序中避免恢复到因电源不稳定而写入的错误数据。在SPOR程序中,闪存控制器130从闪存模块150中读取当前块的多个物理页面的数据,依据物理页面的纠错结果判断是否发生电源事件。当发生电源事件时,闪存控制器130重建F2H表,该F2H表包括当前块中从第0页面到最后有效页面之前一个页面的物理-逻辑对照信息。当没有发生电源事件时,闪存控制器130重建F2H表,该F2H表包括当前块中从第0页面到最后有效页面的物理-逻辑对照信息。接着,闪存控制器130将重建的F2H表写入闪存模块150。详细来说,最后有效页面指最后一个包括没有错误的或者能够被纠错的数据的物理页面,并且重建的F2H表包括每个物理页面存储的数据关联于哪些逻辑地址的信息。本发明实施例提出一种在SPOR程序中响应电源事件的F2H表的重建方法,由处理单元134加载和执行相关固件或软件指令时实施。参考图7,详细步骤说明如下:
步骤S710:将变量“i”和“CntHECC”都设为0。处理单元134使用变量“i”来记录当前块中即将或正在读取数据的页面编号,以及使用变量“CntHECC”来记录当前块中高纠错页面的总数。
步骤S720:读取当前块中第i个页面的数据。处理单元134可驱动闪存接口139读取当前块中第i个页面的数据。闪存接口139除读取当前块中第i个页面的数据外,还读取第i个页面的纠错码。闪存接口139还包括纠错码译码器(ECC Decoder),用于使用读出的纠错码修正读出数据的错误比特,并且将修正结果回报给处理单元134。在一些实施例中,修正结果可指出以下多个状态中的一个:无错、低纠错、高纠错或无法纠错(UncorrectableECC,UECC)。低纠错状态指闪存接口139修正的错误比特不超过预定的阈值,而高纠错状态指闪存接口139修正的错误比特超过预定的阈值。举例来说,阈值可设定为最大修正能力的80%。无法纠错状态指闪存接口139使用纠错码仍然无法修复读取数据中的错误比特。在另一些实施例中,修正结果可指出已经修正的错误比特,让处理单元134依据回报的错误比特判断读取页面为无错页面、低纠错页面、高纠错页面或无法纠错页面。
步骤S730:判断读取页面是否为空的或无法纠错页面。如果是,流程进行步骤S760的处理;否则,进行步骤S740的处理。UECC页面指处理单元134使用纠错码仍然无法修复读取数据中的错误比特。当发现读取页面是空页面或UECC页面时,处理单元134可推测闪存控制器130在写入数据到此页面的期间或之前可能发生了瞬间断电。
步骤S740:判断读取页面是否为高纠错页面。如果是,流程进行步骤S750的处理;否则,进行步骤S745的处理。处理单元134可依据如上所述的闪存接口139的回报结果完成此判断。
步骤S745:将变量“i”的值加1。
步骤S750:将变量“CntHECC”的值加1。
步骤S760:判断是否发生电源事件。如果是,流程进行步骤S770的处理;否则,进行步骤S780的处理。当第i-1个页面为高纠错页面且变量“i”和“CntHECC”的值不满足极端使用条件时,处理单元134判断发生电源事件。极端使用条件的公式示例描述如下:
CntHECC/i>TH,
其中,TH代表阈值,可依据系统需要设为0.5到1之间的任意数值。通过上述公式,处理单元134可排除电子装置10在极端环境使用的状况,例如,在高温的使用状态,而不是实际发生瞬间断电。此时,第i-1个页面可称为最后有效页面。换句话说,当最后有效页面为高纠错页面且已读取的物理页面中的高纠错页面的数目占已读取的物理页面的总数的比例低于阈值时,处理单元134判断发生了电源事件。
步骤S770:重建F2H表,该F2H表包括第0到i-2页面的物理-逻辑转换信息,并且将重建的F2H表写入闪存模块150中的指定位置。处理单元134可驱动闪存接口139来完成重建的F2H表的写入操作。由于处理单元134已经判定之前发生电源事件,第i-1页面的数据很可能受到伤害而不是正确的数据,必须要舍弃。所以,重建的F2H表不包括第i-1页面的物理-逻辑转换信息。在这里需要注意的是,当重建的F2H表不包括第i-1页面的物理-逻辑转换信息时,处理单元134会认为第i-1页面没有存储有用的数据。
步骤S780:重建F2H表,该F2H表包括第0到i-1页面的物理-逻辑转换信息,并且将重建的F2H表写入闪存模块150中的指定位置。处理单元134可驱动闪存接口139来完成重建的F2H表的写入操作。
在瞬间断电后恢复程序中,通过如上所述响应电源事件的闪存-主机对照表的重建,可避免恢复因瞬间断电所伤害到的不正确数据。
虽然本发明实施例以一个当前块举例,但是所属技术领域人员理解以上所述的机制可应用到所有NAND闪存单元的当前块,例如NAND闪存单元153#0到153#15的每一个当前块,本发明并不因此受限。
本发明所述的方法中的全部或部分步骤可以由计算机程序实现,例如存储装置中的固件转换层(Firmware Translation Layer,FTL)、特定硬件的驱动程序、或软件程序。此外,也可实现于如上所示的其他类型程序。所属技术领域中的技术人员可将本发明实施例的方法撰写成程序代码,为求简明不再加以描述。依据本发明实施例方法实施的计算机程序可存储于适当的计算机可读取存储介质,例如DVD、CD-ROM、U盘、硬盘,也可置于可通过网络(例如,互联网,或其他适当介质)存取的网络服务器。
虽然图1中包括了以上描述的组件,但不排除在不违反发明的精神下,使用更多其他的附加组件,以达成更佳的技术效果。此外,虽然图4和图7的流程图采用指定的顺序来执行,但是在不违反发明精神的情况下,所属技术领域的技术人员可以在达到相同效果的前提下,修改这些步骤之间的顺序,所以,本发明并不局限于仅使用如上所述的顺序。此外,所属技术领域的技术人员也可以将若干步骤整合为一个步骤,或者是除了这些步骤外,循序或并行地执行更多步骤,本发明也不应因此而局限。
以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。

Claims (14)

1.一种响应电源事件的数据存取方法,由闪存控制器执行,其特征在于,所述响应电源事件的数据存取方法包括:
持续侦测提供给所述闪存控制器的电压是否低于第一阈值;
当所述电压低于所述第一阈值时,发出写入命令给闪存模块,用于写入数据到所述闪存模块,其中,所述第一阈值低于电源供应模块提供给所述闪存控制器的理想电压;以及
当所述电压低于所述第一阈值时,进入监督程序,
其中,所述监督程序包括:
在发出所述写入命令给所述闪存模块到传送完毕所述数据到所述闪存模块的期间,持续侦测所述电压是否低于第二阈值,所述第二阈值低于所述第一阈值;以及
当所述电压低于所述第二阈值时,取消所述写入命令。
2.如权利要求1所述的响应电源事件的数据存取方法,其特征在于,所述写入命令包括主要命令和确认命令,所述响应电源事件的数据存取方法还包括:
当所述电压低于所述第二阈值时,放弃传送所述确认命令给所述闪存模块。
3.如权利要求1所述的响应电源事件的数据存取方法,其特征在于,所述响应电源事件的数据存取方法还包括:
当所述电压低于所述第二阈值时,重新启动所述闪存模块,用于清除关于未完成的写入命令的内容。
4.一种响应电源事件的数据存取装置,其特征在于,包括:
电源侦测模块,用于量测提供给所述响应电源事件的数据存取装置的电压;
闪存接口,耦接闪存模块;以及
处理单元,耦接所述电源侦测模块和所述闪存接口,持续通过所述电源侦测模块侦测提供给所述数据存取装置的电压是否低于第一阈值;当所述电压低于所述第一阈值时,驱动所述闪存接口发出第一写入命令给所述闪存模块,用于写入第一数据到所述闪存模块,其中,所述第一阈值低于提供给所述数据存取装置的理想电压;以及当所述电压低于所述第一阈值时,进入监督程序,
其中,所述监督程序包括:
在驱动所述闪存接口发出所述第一写入命令给所述闪存模块到传送完毕所述数据到所述闪存模块的期间,持续通过所述电源侦测模块侦测所述电压是否低于第二阈值,所述第二阈值低于所述第一阈值;以及
当所述电压低于所述第二阈值时,驱动所述闪存接口取消所述第一写入命令。
5.如权利要求4所述的响应电源事件的数据存取装置,其特征在于,所述第一写入命令包括主要命令和确认命令,以及当所述电压低于所述第二阈值时,所述处理单元发出取消指令给所述闪存接口,驱动所述闪存接口放弃传送所述确认命令给所述闪存模块。
6.如权利要求4所述的响应电源事件的数据存取装置,其特征在于,当所述电压低于所述第二阈值时,所述处理单元驱动所述闪存接口重新启动所述闪存模块,用于清除关于未完成的第一写入命令的内容。
7.如权利要求4所述的响应电源事件的数据存取装置,其特征在于,所述处理单元进入写入操作后持续通过所述电源侦测模块侦测提供给所述数据存取装置的所述电压是否低于所述第一阈值;以及当所述电压不低于所述第一阈值时,驱动所述闪存接口发出第二写入命令给所述闪存模块,用于写入第二数据到所述闪存模块,并且离开所述写入操作。
8.一种响应电源事件的数据存取方法,由闪存控制器执行,其特征在于,所述响应电源事件的数据存取方法包括:
在瞬间断电后恢复程序中,读取闪存模块中当前块的多个物理页面的数据;
依据所述物理页面的纠错结果判断是否发生电源事件;
当发生所述电源事件时,重建第一闪存-主机对照表,所述第一闪存-主机对照表包括所述当前块中从第0页面到最后有效页面之前一个页面的物理-逻辑对照信息;以及
将所述重建的第一闪存-主机对照表写入所述闪存模块的指定位置。
9.如权利要求8中所述的响应电源事件的数据存取方法,其特征在于,所述响应电源事件的数据存取方法还包括:
当没有发生所述电源事件时,重建第二闪存-主机对照表,所述第二闪存-主机对照表包括所述当前块中从第0页面到所述最后有效页面的物理-逻辑对照信息;以及
将所述重建的第二闪存-主机对照表写入所述闪存模块的指定位置。
10.一种响应电源事件的数据存取装置,其特征在于,包括:
闪存接口,耦接闪存模块;以及
处理单元,耦接所述闪存接口,用于在瞬间断电后恢复程序中,驱动所述闪存接口读取所述闪存模块中当前块的多个物理页面的数据;依据所述物理页面的纠错结果判断是否发生电源事件;当发生所述电源事件时,重建第一闪存-主机对照表,所述第一闪存-主机对照表包括所述当前块中从第0页面到最后有效页面之前一个页面的物理-逻辑对照信息;以及驱动所述闪存接口写入所述重建的第一闪存-主机对照表到所述闪存模块的指定位置。
11.如权利要求10所述的响应电源事件的数据存取装置,其特征在于,所述处理单元还用于:当没有发生所述电源事件时,重建第二闪存-主机对照表,所述第二闪存-主机对照表包括所述当前块中从第0页面到所述最后有效页面的物理-逻辑对照信息;以及驱动所述闪存接口写入所述重建的第二闪存-主机对照表到所述闪存模块的指定位置。
12.如权利要求10或11所述的响应电源事件的数据存取装置,其特征在于,所述最后有效页面指最后一个包括没有错误的或者能够被纠错的数据的物理页面。
13.如权利要求10或11所述的响应电源事件的数据存取装置,其特征在于,所述重建的第一闪存-主机对照表和所述重建的第二闪存-主机对照表中的任一者包括每个物理页面存储的数据关联于哪些逻辑地址的信息。
14.如权利要求10所述的响应电源事件的数据存取装置,其特征在于,当所述最后有效页面为高纠错页面且所述物理页面中的高纠错页面的数目占所述物理页面的总数的比例低于阈值时,所述处理单元判断为发生所述电源事件。
CN202010288541.4A 2020-04-14 2020-04-14 响应电源事件的数据存取方法及装置 Active CN113535459B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202010288541.4A CN113535459B (zh) 2020-04-14 2020-04-14 响应电源事件的数据存取方法及装置
US17/108,681 US11342008B2 (en) 2020-04-14 2020-12-01 Method and apparatus for accessing to data in response to power-supply event
US17/723,989 US11664056B2 (en) 2020-04-14 2022-04-19 Method and apparatus for accessing to data in response to power-supply event

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010288541.4A CN113535459B (zh) 2020-04-14 2020-04-14 响应电源事件的数据存取方法及装置

Publications (2)

Publication Number Publication Date
CN113535459A true CN113535459A (zh) 2021-10-22
CN113535459B CN113535459B (zh) 2024-04-12

Family

ID=78006871

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010288541.4A Active CN113535459B (zh) 2020-04-14 2020-04-14 响应电源事件的数据存取方法及装置

Country Status (2)

Country Link
US (2) US11342008B2 (zh)
CN (1) CN113535459B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120243331A1 (en) * 2011-03-24 2012-09-27 Fujimura Tomofumi Semiconductor memory device
US20130166934A1 (en) * 2011-12-23 2013-06-27 Phison Electronics Corp. Memory storage device, memory controller and controlling method
US20140223085A1 (en) * 2013-02-04 2014-08-07 Samsung Electronics Co., Ltd. Memory Systems and Operating Methods of Memory Controllers
CN104380381A (zh) * 2012-05-14 2015-02-25 桑迪士克科技股份有限公司 存储器芯片电力管理
US20150155044A1 (en) * 2012-06-16 2015-06-04 Memblaze Technology (Beijing) Co., Ltd. Storage device and method for performing interruption control thereof
CN106569861A (zh) * 2016-11-09 2017-04-19 上海东软载波微电子有限公司 芯片iap数据更新控制方法及系统

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW531698B (en) 2001-08-31 2003-05-11 Key Technology Corp Rapid and abnormal power shutdown prevention algorithm for flash memory
US8605533B2 (en) 2009-11-27 2013-12-10 Samsung Electronics Co., Ltd. Apparatus and method for protecting data in flash memory
TWI482161B (zh) 2013-08-09 2015-04-21 Silicon Motion Inc 資料儲存裝置及其電壓偵測及資料保護方法
CN104346296B (zh) 2013-08-09 2019-02-01 慧荣科技股份有限公司 数据储存装置及其电压保护方法
KR20150045747A (ko) * 2013-10-21 2015-04-29 에스케이하이닉스 주식회사 데이터 저장 시스템 및 그것의 동작 방법
KR102211867B1 (ko) * 2014-06-09 2021-02-04 삼성전자주식회사 보조 전원 장치 및 그것을 포함하는 불휘발성 메모리 시스템
US10061694B2 (en) * 2015-09-07 2018-08-28 Toshiba Memory Corporation Memory system and method for controlling non-volatile memory
CN105632435B (zh) * 2016-01-05 2018-06-05 京东方科技集团股份有限公司 开关机残像消除电路以及消除开关机残像的方法
TWI607312B (zh) * 2016-10-07 2017-12-01 慧榮科技股份有限公司 資料儲存裝置及其資料寫入方法
TWI645290B (zh) 2016-10-11 2018-12-21 慧榮科技股份有限公司 資料儲存裝置及其資料寫入方法
TWI670640B (zh) 2016-11-25 2019-09-01 慧榮科技股份有限公司 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置
TWI591533B (zh) 2016-11-25 2017-07-11 慧榮科技股份有限公司 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置
KR102224564B1 (ko) * 2017-03-29 2021-03-09 에스케이하이닉스 주식회사 컨트롤러, 메모리 시스템 및 그것의 동작 방법
CN107301132A (zh) 2017-06-09 2017-10-27 华中科技大学 一种闪存垃圾回收优化方法
TWI646535B (zh) * 2017-12-27 2019-01-01 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體操作方法
CN109165115B (zh) 2018-06-26 2021-11-09 北京中电华大电子设计有限责任公司 一种增强flash存储器可靠性的方法
KR20200061960A (ko) * 2018-11-26 2020-06-03 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20200084200A (ko) * 2019-01-02 2020-07-10 에스케이하이닉스 주식회사 컨트롤러 및 컨트롤러의 동작방법
KR20200113047A (ko) * 2019-03-20 2020-10-06 삼성전자주식회사 오픈 채널 스토리지 장치의 동작 방법
JP7306236B2 (ja) * 2019-11-21 2023-07-11 Tdk株式会社 フラッシュメモリシステム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120243331A1 (en) * 2011-03-24 2012-09-27 Fujimura Tomofumi Semiconductor memory device
US20130166934A1 (en) * 2011-12-23 2013-06-27 Phison Electronics Corp. Memory storage device, memory controller and controlling method
CN104380381A (zh) * 2012-05-14 2015-02-25 桑迪士克科技股份有限公司 存储器芯片电力管理
US20150155044A1 (en) * 2012-06-16 2015-06-04 Memblaze Technology (Beijing) Co., Ltd. Storage device and method for performing interruption control thereof
US20140223085A1 (en) * 2013-02-04 2014-08-07 Samsung Electronics Co., Ltd. Memory Systems and Operating Methods of Memory Controllers
CN106569861A (zh) * 2016-11-09 2017-04-19 上海东软载波微电子有限公司 芯片iap数据更新控制方法及系统

Also Published As

Publication number Publication date
CN113535459B (zh) 2024-04-12
US20210319810A1 (en) 2021-10-14
US11664056B2 (en) 2023-05-30
US11342008B2 (en) 2022-05-24
US20220246181A1 (en) 2022-08-04

Similar Documents

Publication Publication Date Title
US11231992B2 (en) Memory systems for performing failover
KR102571747B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
US9164833B2 (en) Data storage device, operating method thereof and data processing system including the same
US10324645B2 (en) Data storage device and data storage method thereof
CN108932107B (zh) 数据存储装置及其操作方法
US11294750B2 (en) Media management logger for a memory sub-system
US8331151B2 (en) Semiconductor memory including control unit responsive to erase command to determine selection of redundant memory block
US20160179596A1 (en) Operating method of data storage device
US20230195338A1 (en) Memory system for updating firmware when spo occurs and operating method thereof
US11086561B2 (en) Integrated circuit memory devices with enhanced buffer memory utilization during read and write operations and methods of operating same
US11481153B2 (en) Data storage device and operating method thereof
US10853241B2 (en) Data storing method and data storing apparatus for reducing power consumption in sudden power-off
CN112612639A (zh) 操作存储器系统的方法、操作主机的方法和计算系统
US20210326060A1 (en) Nonvolatile memory device, data storage device including the same and operating method thereof
US9213597B2 (en) Memory storage device, memory controller thereof, and method for programming data thereof
US20230205461A1 (en) Apparatus and method for driving redundant array of independent disks (raid) engine
US10861576B2 (en) Nonvolatile memory device, operating method thereof and data storage device including the same
TWI797905B (zh) 驅動獨立磁碟冗餘陣列引擎的裝置及方法
CN113535459B (zh) 响应电源事件的数据存取方法及装置
CN112988449B (zh) 写入页面群组的数据到闪存模块的装置及方法
US20210049086A1 (en) Method of operating storage device for improving reliability, storage device performing the same and method of operating storage using the same
TWI740454B (zh) 反應電源事件的資料存取方法及裝置
US20230214151A1 (en) Memory system and operating method thereof
CN115202933A (zh) 映射表重建方法、存储器存储装置及存储器控制电路单元
CN114637630A (zh) 异常断电恢复方法、存储器控制器及存储器存储装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant