CN110955387A - 自适应识别闪存类型方法及计算机可读取存储介质及装置 - Google Patents
自适应识别闪存类型方法及计算机可读取存储介质及装置 Download PDFInfo
- Publication number
- CN110955387A CN110955387A CN201911023383.3A CN201911023383A CN110955387A CN 110955387 A CN110955387 A CN 110955387A CN 201911023383 A CN201911023383 A CN 201911023383A CN 110955387 A CN110955387 A CN 110955387A
- Authority
- CN
- China
- Prior art keywords
- flash memory
- nand flash
- reading
- interface
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种自适应识别闪存类型方法,由处理器执行,包含:驱动在特定设置状态下的闪存接口使用特定通信协议发出用于读取NAND闪存标识符的读取命令给NAND闪存模块;如果读取失败,改变闪存接口的设置状态、通信协议,或以上两者,再进行一次读取操作,直到预设的调整都尝试过为止;以及如果读取成功,将读出的NAND闪存标识符存储到非易失性存储器。通过如上的自动化方法能够解决传统用人工识别再烧录电子熔丝所产生的高成本及制造弹性低的缺点。
Description
技术领域
本发明涉及存储装置,尤指一种自适应识别闪存类型方法及计算机可读取存储介质及装置。
背景技术
在固态硬盘(Solid-state disk,SSD)、优盘(Pen-drive)、SD卡等各种存储产品中,会使用到很多类型的NAND闪存,比如厂商有英特尔(Intel)、美光(Micron)、东芝(TOSHIBA)、三星(SAMSUNG)、海力士(HYNIX),类别有单层单元(Single-level cell,SLC)、多层单元(Multi-level cell,MLC)、三层单元(Triple-level cell,TLC)、四层单元(Quad-level cell,QLC),接口有单倍数据率(Single data rate,SDR)、第二代双倍数据率(Double data rate 2,DDR2)、第三代双倍数据率(Double data rate 3,DDR3)等。不同厂商不同类别的NAND闪存,支持的命令格式是不一样的,所以需要先知道NAND闪存具体类别,才能下正确的命令去访问NAND闪存,并得到正确的结果。
现有技术的做法是在还没开卡前,用人工的方式得知连接于主控的NAND闪存的制造厂商与类别等信息,然后将相应的NAND闪存的标识符(Identity,ID)烧录至主控中的电子熔丝(eFuse)结构,并且在重启(Reset)后根据电子熔丝中的信息将对应的NAND闪存固件(Firmware FW)写入主控中的非易失性存储空间或者NAND闪存中,用于在存储产品出厂后让主机能够通过主控集成电路(Integrated Circuit,IC)运行的固件来访问NAND闪存并存取其中的数据。然而,电子熔丝结构的成本较高。此外,电子熔丝的信息一旦烧录后便不能抹除,使得在更换成不同制造厂商或不同类别的NAND闪存后,电子熔丝结构中存储的NAND闪存ID与新设置的NAND闪存不一致。如果根据旧的NAND闪存ID而获得的固件,并无法正确的访问新设置的NAND闪存。因此,一旦印刷电路板上设置的NAND闪存更换后,用来操作NAND闪存的主控IC也必须一并更换,使得制造存储产品时不具弹性。为克服以上技术问题,本发明实施例提出一种自适应识别闪存类型方法及计算机可读取存储介质及装置,用于自动识别NAND闪存类型,以及自动将识别的所述NAND闪存标识符存储到非易失性存储器,使得电子装置能够依据所述NAND闪存标识符将相应的固件写入主控集成电路中的非易失性存储器或以及所述NAND闪存模块中的指定地址。
发明内容
有鉴于此,如何减轻或消除上述相关领域的缺失,实为有待解决的问题。
本发明涉及一种自适应识别闪存类型方法,由处理器执行,包含:驱动在特定设置状态下的闪存接口使用特定通信协议发出用于读取NAND闪存标识符的读取命令给NAND闪存模块;如果读取失败,改变闪存接口的设置状态、通信协议,或以上两者,再进行一次读取操作,直到预设的调整都尝试过为止;以及如果读取成功,将读出的NAND闪存标识符存储到非易失性存储器。
本发明更涉及一种自适应识别闪存类型的计算机可读取存储介质,用于存储能够被处理器执行的程序代码,该计算机程序被该处理单元执行时实现如上所述的方法步骤。
本发明更涉及一种自适应识别闪存类型装置,包含闪存接口、非易失性存储器及处理器。闪存接口耦接NAND闪存模块,处理器耦接闪存接口及非易失性存储器。处理器用于加载及执行关联程序代码时实现如上所述的方法步骤。
上述实施例的优点之一,通过如上的自动化方法能够解决传统用人工识别再烧录电子熔丝所产生的高成本及制造弹性低的缺点。
本发明的其他优点将配合以下的说明和附图进行更详细的解说。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为依据本发明实施例的存储装置的框图。
图2为依据本发明实施例的的主控IC的框图。
图3及图4为依据本发明实施例的自适应识别闪存类型的方法流程图。
符号说明:
100 存储产品
110 主控IC
131~138 NAND闪存模块
210 处理器
230 主机接口
250 闪存接口
270 非易失性存储器
272 自适性识别模块
274 识别结果
S312~S360 方法步骤
具体实施方式
以下将配合相关附图来说明本发明的实施例。在这些附图中,相同的标号表示相同或类似的组件或方法流程。
必须了解的是,使用在本说明书中的“包含”、“包括”等词,是用于表示存在特定的技术特征、数值、方法步骤、作业处理、组件和/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、组件、组件,或以上的任意组合。
本发明中使用如“第一”、“第二”、“第三”等词是用来修饰权利要求中的组件,并非用来表示之间具有优先权顺序,先行关系,或者是一个组件先于另一个组件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的组件。
必须了解的是,当组件描述为“连接”或“耦接”至另一组件时,可以是直接连结、或耦接至其他组件,可能出现中间组件。相反地,当组件描述为“直接连接”或“直接耦接”至另一组件时,其中不存在任何中间组件。使用于描述组件之间关系的其他语词也可类似方式解读,例如“介于”相对于“直接介于”,或者是“邻接”相对于“直接邻接”等等。
参考图1。存储产品100包含主控IC 110及多个NAND闪存模块131至138。存储产品100可以是固态硬盘(Solid-state disk,SSD)、优盘(Pen-drive)、SD卡等,通过序列先进技术附件(Serial advanced technology attachment,SATA)、快速周边组件互联(Peripheral component interconnect express,PCI-E)、通用序列总线(Universalserial bus,USB)的接口及关联的通信协议从主机(Host)接收读取、写入、抹除等命令,以及相关参数与数据,然后据以执行。
主控IC 110可连接多个内存条(Memory bank),每个内存条可包含多个NAND闪存模块,例如,第一个内存条包含NAND闪存模块131及132、第二个内存条包含NAND闪存模块133及134,以此类推,使得同一个内存条中的NAND闪存模块能够共享数据线。主控IC 110可以使用开放NAND闪存(Open NAND Flash Interface,ONFI)、开关(Toggle)或其他通信协议与NAND闪存模块131至138沟通,用于从特定NAND闪存模块读取数据,写入数据到特定NAND闪存模块,或者抹除特定NAND闪存模块中指定物理块的数据。NAND闪存模块131至138可以是由英特尔、美光、东芝、三星或海力士制造,提供大量的数据存储能力,通常是数百千兆字节(Gigabytes),甚至是数兆兆字节(Terabytes)。NAND闪存模块131至138可以是单层单元、多层单元、三层单元、四层单元等不同类型的模块。NAND闪存模块131至138可以包含单倍数据率、第二代双倍数据率、第三代双倍数据率等不同类型的接口。
参考图2。在一些实施例,主控IC 110包含处理器210、主机接口230、闪存接口250及非易失性存储器(Non-volatile memory)270。非易失性存储器270可以使用静态随机存取存储器(Static random access memory,SRAM)来实现,用于存储自适性识别模块272的程序代码。处理器210可使用通用硬件(例如,单处理器、具平行处理能力的多处理器、图形处理器或其他具运算能力的处理器)来实现,并且在加载与执行自适性识别模块272的程序代码时,完成之后描述的自适性识别闪存类型方法。非易失性存储器270也可以用来存储识别结果274,例如,内存条的状态、NAND闪存模块131至138的ID等。主机接口230耦接主机,闪存接口250耦接NAND闪存模块131至138,处理器210耦接主机接口230、闪存接口250及非易失性存储器270。处理器210可以通过主机接口230与主机通信,并且通过闪存接口250与NAND闪存模块131至138通信。闪存接口250包含多个寄存器,让处理器210可通过改变寄存器的内容来调整闪存接口250的物理设置(Physical configurations)。
为了克服如上所述使用人工作业搭配电子熔丝带来的缺点,从一个面向来说,本发明实施例提出在开卡成功前由主控IC 110执行自动化处理,用来获得NAND闪存ID。但一开始主控IC 110并不知道内存条上是否存在NAND闪存模块,以及NAND闪存模块的类别,因此,主控IC 110执行一种自适应识别闪存类型方法,包含类似尝试错误(Trial and error)的机制。也就是说,处理器210具有复数个识别模式,该主控IC 110会依序使用不同识别模式来发出用于读取NAND闪存ID的读取命令给NAND闪存模块131至138中的一个或多个,直到读取成功。当读取成功,便表示主控IC 110已得知NAND闪存模块的类别。一实施例中,识别模式包括有闪存接口设置、通信协议。详细来说,处理器210加载并执行自适性识别模块272的程序代码时驱动在特定设置状态下的闪存接口250使用特定通信协议发出用于读取NAND闪存ID的读取命令给NAND闪存模块131至138中的一个或多个。如果读取失败,则处理器210改变闪存接口250的设置状态、使用的通信协议,或以上两者,再进行一次读取操作,直到预设的调整都尝试过为止。一旦读取成功,则处理器210将读出的NAND闪存ID存储到非易失性存储器270,使得一个电子装置能够依据NAND闪存ID将相应的固件写入非易失性存储器270或NAND闪存模块131至138中指定物理块的指定地址,用于完成开卡操作。如果所有预设的调整都尝试过还没有成功读取NAND闪存ID,则反馈错误信息给主机或操作人员,用于进行进一步的检测与错误排除操作或是改由人工设定。其中,可以调整的通信协议包含SDR协议及DDR2协议,闪存接口中能够调整的设置包含提供给NAND闪存模块131至138的数字电压(VCCQ)及传送给NAND闪存模块131至138的地址信息的时钟周期数目。详细说明如后:
处理器210加载并执行自适性识别模块272的程序代码时所实现的方法可以参考如图3及图4所示的流程图,详细说明如下:
步骤S312:一开始,存储产品100上电重启(Power on and reset)。处理器210采用默认识别模式进行闪存类型识别。
步骤S314:进行NAND闪存模块的存在检测。处理器210可驱动闪存接口250以侦测连接上的每个内存条的状态。例如,闪存接口250可在每一个内存条的特定引脚上施加电压,并观察是否有响应(Response)。一旦在特定内存条上发现响应则判断这个内存条上设置有NAND闪存模块。举例来说,假设闪存接口250连接8个内存条,但只在其中4个内存条发现响应,则处理器210判断这4个内存条上存在NAND闪存模块。
步骤S316:判断存储产品100中是否存在NAND闪存模块。如果是,则进行步骤S322的操作。否则,进行步骤S318的操作。当闪存接口250在任何一个内存条发现响应时,处理器210判定存储产品100中存在NAND闪存模块。
步骤S318:反馈NAND闪存不存在的信息,用于发动进一步的检测与错误排除操作。例如,当存储产品100中不存在NAND闪存模块时,不需要再进行后续的闪存类型识别。又例如,存储产品100中存在NAND闪存模块,而反馈NAND闪存不存在的信息,则表示存储产品100需进一步的检测。
步骤S322:驱动闪存接口250使用SDR协议发出读取NAND闪存ID的命令给NAND闪存模块,例如NAND闪存模块131至138中的一个。这个时候,闪存接口250处于默认设置(Default configurations)的状态,例如,供应给NAND闪存模块VCCQ为1.8V、输出给NAND闪存模块的地址信息为5个时钟周期等。
步骤S324:判断是否读取成功。如果是,则进行步骤S360的操作。否则,进行步骤S332的操作。如果发出命令后,处理器210从指定NAND闪存模块收到正确的NAND闪存ID,代表读取成功。在读取成功时,不只获得NAND闪存ID,处理器210也知道闪存接口250的默认设置能够使用SDR协议正常存取NAND闪存模块中的数据,换句话说,处理器210也获得闪存接口250的类型。相反的,如果发出命令后,处理器210从指定NAND闪存模块收到无法辨认的回复或者逾时后仍得不到回复,代表读取失败。
步骤S332:处理器210切换至下一个识别模式进行闪存类型识别,以及让NAND闪存模块131至138断电后上电并重启。断电及重新上电之间可以间隔一段预设时间。
步骤S334:驱动闪存接口250使用DDR2发出读取NAND闪存ID的命令给NAND闪存模块,例如NAND闪存模块131至138中的一个。这个时候,闪存接口250处于默认设置的状态。
步骤S336:判断是否读取成功。如果是,则进行步骤S360的操作。否则,进行步骤S342的操作。在读取成功时,不只获得NAND闪存ID,处理器210也知道闪存接口250的默认设置能够使用DDR2正常存取NAND闪存模块中的数据。此步骤的判断技术细节类似于步骤S324,为求简明不再赘述。
步骤S342:处理器210切换至下一个识别模式进行闪存类型识别,以及让NAND闪存模块131至138断电后上电并设定提供给NAND闪存模块131至138的VCCQ为1.2V。断电及重新上电之间可以间隔一段预设时间。
步骤S344:驱动闪存接口250使用DDR2发出读取NAND闪存ID的命令给NAND闪存模块,例如NAND闪存模块131至138中的一个。这个时候,闪存接口250处于调整后的状态。
步骤S346:判断是否读取成功。如果是,则进行步骤S360的操作。否则,进行步骤S352的操作。在读取成功时,不只获得NAND闪存ID,处理器210也知道闪存接口250的调整后设置能够使用DDR2正常存取NAND闪存模块中的数据。此步骤的判断技术细节类似于步骤S324,为求简明不再赘述。
步骤S352:处理器210切换至下一个识别模式进行闪存类型识别,让NAND闪存模块131至138断电后上电并设定设定使用6个时钟周期来传送地址信息给NAND闪存模块。断电及重新上电之间可以间隔一段预设时间。
步骤S354:驱动闪存接口250使用SDR协议发出读取NAND闪存ID的命令给NAND闪存模块,例如NAND闪存模块131至138中的一个。这个时候,闪存接口250处于调整后的状态。
步骤S356:判断是否读取成功。如果是,则进行步骤S360的操作。否则,进行步骤S358的操作。在读取成功时,不只获得NAND闪存ID,处理器210也知道闪存接口250的调整后设置能够使用SDR协议正常存取NAND闪存模块中的数据。此步骤的判断技术细节类似于步骤S324,为求简明不再赘述。
步骤S358:反馈无法识别NAND闪存的信息,用于发动进一步的检测与错误排除操作。例如,检查NAND闪存模块是否正确地焊接在内存条上。
步骤S360:存储识别结果274至非易失性存储器270,例如可以包含读取到的NAND闪存ID、当前闪存接口250的设置参数等,使得主机能够接着在重启主控IC 110后,根据主控IC 110的非易失性存储器中的NAND闪存ID将对应于NAND闪存模块131至138的固件写入主控IC 110中的非易失性存储器或NAND闪存模块131至138中指定物理块的指定地址,完成开卡操作。
本发明所述的方法中的全部或部分步骤可以计算器程序实现,例如计算机的操作系统、计算机中特定硬件的驱动程序、或软件程序。此外,也可实现在如上所示的其他类型程序。所属技术领域具有通常知识者可将本发明实施例的方法撰写成计算器程序,为求简明不再加以描述。依据本发明实施例方法实施的计算器程序可存储在适当的计算机可读取介质,例如DVD、CD-ROM、USB、硬盘,亦可置于可通过网络(例如,互联网,或其他适当载体)存取的网络服务器。
虽然图1、图2中包含了以上描述的组件,但不排除在不违反发明的精神下,使用更多其他的附加组件,已达成更佳的技术效果。此外,虽然图3、图4的流程图采用指定的顺序来执行,但是在不违反发明精神的情况下,所属技术领域的技术人员可以在达到相同效果的前提下,修改这些步骤间的顺序,所以,本发明并不局限于仅使用如上所述的顺序。此外,所属技术领域的技术人员也可以将若干步骤整合为一个步骤,或者是除了这些步骤外,循序或平行地执行更多步骤,本发明也不因此而局限。
虽然本发明使用以上实施例进行说明,但需要注意的是,这些描述并非用于限缩本发明。相反地,此发明涵盖了所属技术领域中的技术人员显而易见的修改与相似设置。所以,权利要求范围须以最宽广的方式解释来包含所有显而易见的修改与相似设置。
Claims (11)
1.一种自适应识别闪存类型方法,由处理器在加载并执行程序代码时实施,其特征在于,包含:
驱动在特定设置状态下的闪存接口使用特定通信协议发出用于读取NAND闪存标识符的读取命令给NAND闪存模块;
如果读取失败,改变所述闪存接口的所述设置状态、所述通信协议,或以上两者,再进行一次读取操作,直到预设的调整都尝试过为止;
如果读取成功,将读出的所述NAND闪存标识符存储到非易失性存储器,使得电子装置依据所述NAND闪存标识符将相应的固件写入主控集成电路中的非易失性存储器以及所述NAND闪存模块中的指定地址中至少的一个。
2.如权利要求1所述的自适应识别闪存类型方法,其特征在于,所述通信协议包含单倍数据率协议以及第二代双倍数据率协议。
3.如权利要求1所述的自适应识别闪存类型方法,其特征在于,所述闪存接口中能够调整的设置包含提供给所述NAND闪存模块的数字电压及传送给所述NAND闪存模块的地址信息的时钟周期数目。
4.如权利要求3所述的自适应识别闪存类型方法,其特征在于,所述数字电压为1.8V或1.2V。
5.如权利要求3所述的自适应识别闪存类型方法,其特征在于,所述时钟周期数目为5个或6个。
6.如权利要求1所述的自适应识别闪存类型方法,其特征在于,所述方法执行于开卡成功之前。
7.如权利要求1所述的自适应识别闪存类型方法,其特征在于,包含:
驱动所述NAND闪存接口以侦测内存条的状态;
当侦测到至少一个所述内存条上存在NAND闪存模块后,发出用于读取所述NAND闪存标识符的所述读取命令给所述NAND闪存模块。
8.如权利要求1所述的自适应识别闪存类型方法,其特征在于,所述主控集成电路包含所述处理器、所述非易失性存储器及所述闪存接口,以及所述闪存接口耦接所述NAND闪存模块。
9.一种自适应识别闪存类型装置,其特征在于,包含:
闪存接口,耦接NAND闪存模块;
非易失性存储器;
处理器,耦接所述闪存接口及所述非易失性存储器,用于驱动在特定设置状态下的所述闪存接口使用特定通信协议发出用于读取NAND闪存标识符的读取命令给所述NAND闪存模块;如果读取失败,改变所述闪存接口的所述设置状态、所述通信协议,或以上两者,再进行一次读取操作,直到预设的调整都尝试过为止;以及如果读取成功,将读出的所述NAND闪存标识符存储到非易失性存储器,使得电子装置能够依据所述NAND闪存标识符将相应的固件写入主控集成电路中的非易失性存储器以及所述NAND闪存模块中的指定地址中至少的一个。
10.如权利要求9所述的自适应识别闪存类型装置,其特征在于,所述通信协议包含单倍数据率协议以及第二代双倍数据率协议,以及所述闪存接口中能够调整的设置包含提供给所述NAND闪存模块的数字电压及传送给所述NAND闪存模块的地址信息的时钟周期数目。
11.如权利要求10所述的自适应识别闪存类型装置,其特征在于,所述数字电压为1.8V或1.2V,以及所述时钟周期数目为5个或6个。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911023383.3A CN110955387B (zh) | 2019-10-25 | 2019-10-25 | 自适应识别闪存类型方法及计算机可读取存储介质及装置 |
US16/782,113 US11061567B2 (en) | 2019-10-25 | 2020-02-05 | Method and device for adaptively identifying type of flash memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911023383.3A CN110955387B (zh) | 2019-10-25 | 2019-10-25 | 自适应识别闪存类型方法及计算机可读取存储介质及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110955387A true CN110955387A (zh) | 2020-04-03 |
CN110955387B CN110955387B (zh) | 2023-10-24 |
Family
ID=69976424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911023383.3A Active CN110955387B (zh) | 2019-10-25 | 2019-10-25 | 自适应识别闪存类型方法及计算机可读取存储介质及装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11061567B2 (zh) |
CN (1) | CN110955387B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535596A (zh) * | 2020-04-14 | 2021-10-22 | 慧荣科技股份有限公司 | 均衡调整方法、均衡调整装置及计算机可读取存储介质 |
CN113918081A (zh) * | 2020-07-08 | 2022-01-11 | 慧荣科技股份有限公司 | 计算机可读取存储介质、配置可靠命令的方法及装置 |
CN113918082A (zh) * | 2020-07-08 | 2022-01-11 | 慧荣科技股份有限公司 | 计算机可读取存储介质、配置可靠命令的方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116088948B (zh) * | 2022-12-28 | 2023-08-22 | 芯动微电子科技(武汉)有限公司 | 片上系统从闪存内原地执行的方法、电子装置和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10198568A (ja) * | 1997-01-14 | 1998-07-31 | Matsushita Electric Ind Co Ltd | フラッシュメモリ書き込み装置及びその方法 |
US20040199713A1 (en) * | 2000-07-28 | 2004-10-07 | Micron Technology, Inc. | Synchronous flash memory with status burst output |
CN101099216A (zh) * | 2004-11-18 | 2008-01-02 | 高通股份有限公司 | 使用自适应接口定时的稳健而高速的存储器存取 |
US20080086589A1 (en) * | 2006-10-04 | 2008-04-10 | Masayuki Urabe | Flash Memory Control Interface |
CN101498990A (zh) * | 2008-12-25 | 2009-08-05 | 四川登巅微电子有限公司 | 一种nand闪存自适应启动方法 |
CN101727976A (zh) * | 2008-10-15 | 2010-06-09 | 晶天电子(深圳)有限公司 | 一种多层闪存装置、固态硬盘和分割非易失性存储器系统 |
US20120173798A1 (en) * | 2010-12-29 | 2012-07-05 | Chi-Chih Kuan | Memory controller, memory device and method for determining type of memory device |
CN108701079A (zh) * | 2015-10-30 | 2018-10-23 | 高通股份有限公司 | 具有自适应预取的闪存读取高速缓存的系统和方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100349108C (zh) * | 2005-11-21 | 2007-11-14 | 北京中星微电子有限公司 | 与非门快闪存储器的物理接口、接口方法和管理设备 |
TW200830176A (en) * | 2007-01-10 | 2008-07-16 | Genesys Logic Inc | Serial ATA card reader control system and controlling method of the same |
KR100841982B1 (ko) | 2007-02-08 | 2008-06-27 | 삼성전자주식회사 | 호스트 식별 정보를 저장하는 메모리 카드 및 그것의액세스 방법 |
US20090125790A1 (en) * | 2007-11-13 | 2009-05-14 | Mcm Portfolio Llc | Method and Apparatus of Automatically Selecting Error Correction Algorithms by a NAND Flash Controller |
JP6050804B2 (ja) * | 2014-11-28 | 2016-12-21 | 力晶科技股▲ふん▼有限公司 | 内部電源電圧補助回路、半導体記憶装置及び半導体装置 |
US10169225B2 (en) | 2015-01-23 | 2019-01-01 | Silicon Motion, Inc. | Memory system and memory-control method with a programming status |
TWI573146B (zh) | 2015-05-28 | 2017-03-01 | 旺宏電子股份有限公司 | 記憶體裝置與其操作方法 |
US20170147499A1 (en) * | 2015-11-25 | 2017-05-25 | Sandisk Technologies Llc | Multi-Level Logical to Physical Address Mapping Using Distributed Processors in Non-Volatile Storage Device |
CN109086004A (zh) * | 2018-07-19 | 2018-12-25 | 江苏华存电子科技有限公司 | 一种闪存中块类型的识别方法 |
-
2019
- 2019-10-25 CN CN201911023383.3A patent/CN110955387B/zh active Active
-
2020
- 2020-02-05 US US16/782,113 patent/US11061567B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10198568A (ja) * | 1997-01-14 | 1998-07-31 | Matsushita Electric Ind Co Ltd | フラッシュメモリ書き込み装置及びその方法 |
US20040199713A1 (en) * | 2000-07-28 | 2004-10-07 | Micron Technology, Inc. | Synchronous flash memory with status burst output |
CN101099216A (zh) * | 2004-11-18 | 2008-01-02 | 高通股份有限公司 | 使用自适应接口定时的稳健而高速的存储器存取 |
US20080086589A1 (en) * | 2006-10-04 | 2008-04-10 | Masayuki Urabe | Flash Memory Control Interface |
CN101727976A (zh) * | 2008-10-15 | 2010-06-09 | 晶天电子(深圳)有限公司 | 一种多层闪存装置、固态硬盘和分割非易失性存储器系统 |
CN101498990A (zh) * | 2008-12-25 | 2009-08-05 | 四川登巅微电子有限公司 | 一种nand闪存自适应启动方法 |
US20120173798A1 (en) * | 2010-12-29 | 2012-07-05 | Chi-Chih Kuan | Memory controller, memory device and method for determining type of memory device |
CN108701079A (zh) * | 2015-10-30 | 2018-10-23 | 高通股份有限公司 | 具有自适应预取的闪存读取高速缓存的系统和方法 |
Non-Patent Citations (2)
Title |
---|
YONG SUNG CHO, IL HAN PARK, SANG YOUNG YOON, NAM HEE LEE, SANG HYUN JOO, KI-WHAN SONG: "Adaptive_multi-pulse_program_scheme_based_on_tunneling_speed_classification_for_next_generation_multi-bit_cell_NAND_FLASH(VLSIC)", 《2012 SYMPOSIUM ON VLSI CIRCUITS 》, pages 1 - 2 * |
匡伟;杨佳义;谭超;冉景砚;郑思远;: "一种支持多种闪存的自适应驱动设计", 单片机与嵌入式系统应用, no. 05 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535596A (zh) * | 2020-04-14 | 2021-10-22 | 慧荣科技股份有限公司 | 均衡调整方法、均衡调整装置及计算机可读取存储介质 |
CN113918081A (zh) * | 2020-07-08 | 2022-01-11 | 慧荣科技股份有限公司 | 计算机可读取存储介质、配置可靠命令的方法及装置 |
CN113918082A (zh) * | 2020-07-08 | 2022-01-11 | 慧荣科技股份有限公司 | 计算机可读取存储介质、配置可靠命令的方法及装置 |
CN113918082B (zh) * | 2020-07-08 | 2024-03-08 | 慧荣科技股份有限公司 | 计算机可读取存储介质、配置可靠命令的方法及装置 |
CN113918081B (zh) * | 2020-07-08 | 2024-03-26 | 慧荣科技股份有限公司 | 计算机可读取存储介质、配置可靠命令的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US11061567B2 (en) | 2021-07-13 |
US20210124489A1 (en) | 2021-04-29 |
CN110955387B (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110955387B (zh) | 自适应识别闪存类型方法及计算机可读取存储介质及装置 | |
US9570183B1 (en) | Method and controller for managing memory device | |
CN101853692B (zh) | 具闪存测试功能的控制器及其储存系统与测试方法 | |
US9552287B2 (en) | Data management method, memory controller and embedded memory storage apparatus using the same | |
CN109686391B (zh) | 非易失性存储器装置及其操作方法及非易失性存储器封装 | |
US9778880B2 (en) | Memory control circuit unit, data transmitting method and memory storage device | |
CN110047538B (zh) | 存储器系统及其操作方法 | |
US10191533B2 (en) | Method of enabling sleep mode, memory control circuit unit and storage apparatus | |
US11036493B2 (en) | Memory system and operating method thereof | |
CN104765625A (zh) | 休眠模式启动方法、存储器控制电路单元及存储装置 | |
US10705827B2 (en) | Method for updating system information of a computer device | |
US20230051018A1 (en) | Memory system and method of operating the same | |
US11720276B2 (en) | Memory system and controller for managing write status | |
CN112988069B (zh) | 存储器管理方法、存储器存储装置及存储器控制器 | |
TWI780654B (zh) | 調整識別快閃記憶體類型的裝置及其方法 | |
TWI780653B (zh) | 識別快閃記憶體類型的方法及其裝置 | |
US20130205066A1 (en) | Enhanced write abort management in flash memory | |
TWI740268B (zh) | 自我調整識別快閃記憶體類型方法及裝置 | |
TWI512623B (zh) | 休眠模式啓動方法、記憶體控制電路單元及儲存裝置 | |
US10490293B2 (en) | Non-volatile memory device, method for operating the same and data storage device including the same | |
US10002673B2 (en) | Flash memory data storage device and programming method thereof | |
CN113918082B (zh) | 计算机可读取存储介质、配置可靠命令的方法及装置 | |
CN113138712A (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 |