CN114911662A - 设置于固态硬盘主控芯片内的坏块扫描电路及扫描方法 - Google Patents
设置于固态硬盘主控芯片内的坏块扫描电路及扫描方法 Download PDFInfo
- Publication number
- CN114911662A CN114911662A CN202210606670.2A CN202210606670A CN114911662A CN 114911662 A CN114911662 A CN 114911662A CN 202210606670 A CN202210606670 A CN 202210606670A CN 114911662 A CN114911662 A CN 114911662A
- Authority
- CN
- China
- Prior art keywords
- module
- factory
- bad block
- blocks
- bad
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了设置于固态硬盘主控芯片内的坏块扫描电路及扫描方法,涉及固态硬盘技术领域,固态硬盘内包括闪存模块和主控芯片,主控芯片包括扫描电路和CPU,闪存模块包括多个出厂块,出厂块中含有出厂坏块,扫描电路包括:接口模块,接口模块与闪存模块连接,以用于读取闪存模块中的出厂块;NHOST模块,NHOST模块分别连接接口模块和CPU,以用于从接口模块读取的出厂块中识别出厂坏块,并将出厂坏块信息传送至CPU;用于控制扫描电路工作流程的MSM模块,CPU与MSM模块连接,MSM模块分别连接NHOST模块和接口模块。本申请在在开卡量产的工序中,可以省略掉坏块扫描的步骤,缩短时间、提高生产效率。
Description
技术领域
本发明涉及固态硬盘技术领域,尤其涉及设置于固态硬盘主控芯片内的坏块扫描电路及扫描方法。
背景技术
在SSD固态硬盘的生产中,现有技术都有专门的坏块扫描的步骤,要么是一个单独的扫描出厂坏块的步骤,要么是作为“开卡”工序的一个子步骤,待扫出坏块后,再写入进SSD内部的存储空间。
这些步骤需要消耗相应的生产时间或测试时间,相应地也降低了SSD固态硬盘的生产效率/测试效率。
发明内容
本发明的目的在于提供设置于固态硬盘主控芯片内的坏块扫描电路及扫描方法,以提高生产效率。
为解决上述技术问题,本发明采用如下技术方案:
本发明实施例的第一方面提供了一种设置于固态硬盘主控芯片内的坏块扫描电路,所述固态硬盘内包括闪存模块和主控芯片,所述主控芯片包括扫描电路和CPU,所述闪存模块包括多个出厂块,所述出厂块中含有出厂坏块,所述扫描电路包括:接口模块,所述接口模块与所述闪存模块连接,以用于读取所述闪存模块中的出厂块;NHOST模块,所述NHOST模块分别连接所述接口模块和所述CPU,以用于从所述接口模块读取的出厂块中识别出厂坏块,并将所述出厂坏块信息传送至CPU;用于控制所述扫描电路工作流程的MSM模块,所述CPU与所述MSM模块连接,所述MSM模块分别连接所述NHOST模块和所述接口模块。
在一些实施例中,所述扫描电路还包括用于与CPU通信的UARTC模块和串口总线,所述CPU通过所述串口总线与所述UARTC模块连接,所述UARTC模块分别连接所述NHOST模块和所述MSM模块。
在一些实施例中,所述扫描电路还包括用于缓存数据的RAM模块,所述RAM模块设置于所述NHOST模块和所述UARTC模块之间。
在一些实施例中,所述主控芯片还包括用于与所述接口模块切换使用的NANDC模块,所述NANDC模块分别连接所述闪存模块和所述串口总线。
在一些实施例中,所述扫描电路还包括用于切换所述接口模块和所述NANDC模块的MUX模块,所述MUX模块分别连接所述接口模块、所述NANDC模块和所述闪存模块,所述MSM模块连接控制所述MUX模块。
本发明实施例的第二方面提供了一种扫描方法,所述出厂坏块包括第一类出厂坏块和第二类出厂坏块,所述扫描方法包括:所述接口模块读取所述闪存模块中的出厂块,并识别出第二类出厂坏块;所述NHOST模块从所述出厂块中识别出所述第一类出厂坏块,并将所述第一类出厂坏块和第二类出厂坏块的信息传送至所述CPU;所述CPU将所述第一类出厂坏块和第二类出厂坏块的信息录入存储器;所述CPU在对所述出厂块进行读写擦操作时,避开与所述存储器中信息一致的坏块。
在一些实施例中,在所述接口模块读取所述闪存模块中的出厂块,并识别出第二类出厂坏块之前,所述方法还包括:所述固态硬盘装机并首次上电开机后,所述固态硬盘自动进行如上所述的扫描方法进行固态硬盘坏块的扫描。
在一些实施例中,在所述固态硬盘装机并首次上电开机后,所述固态硬盘自动进行如上所述的扫描方法进行固态硬盘坏块的扫描之前,所述方法还包括:分别对所述第一类出厂坏块和所述第二类出厂坏块做不同的坏块标记,以便于所述NHOST模块和所述接口模块识别所述第一类出厂坏块和所述第二类出厂坏块。
在一些实施例中,在所述CPU在对所述出厂块进行读写擦操作时,避开与所述存储器中信息一致的坏块之后,所述方法还包括:在对所述闪存模块进行读写擦操作时,如果编写或擦除操作失败,则判定为新增坏块,并将所述新增坏块信息传送至所述CPU;所述CPU将所述新增坏块信息录入存储器,防止再次访问所述新增坏块。
在一些实施例中,在所述在对所述闪存模块进行读写擦操作时,如果编写或擦除操作失败,则判定为新增坏块,并将所述新增坏块信息传送至所述CPU中,所述方法还包括:在对所述闪存模块进行读写擦操作时,所述CPU通过所述NANDC来访问闪存,并通过所述NANDC进行所述新增坏块的扫描。
根据本发明实施例的设置于固态硬盘主控芯片内的坏块扫描电路及扫描方法,至少具有如下有益效果:在SSD固态硬盘首次装机使用时,首次上电后,SSD固态硬盘内部即自动进行出厂坏块的扫描,并将出厂坏块写入SSD固态硬盘内部的保留区。这一扫描用时只需几秒至十几秒,对于用户体验没有影响。这样,在SSD固态硬盘的开卡量产步骤中,就可以省掉扫描出厂坏块的步骤,提高SSD固态硬盘的生产效率,节省宝贵的产线占用的时间。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据实施例的扫描电路连接结构示意图;
图2为根据实施例的扫描方法流程图。
附图标记说明如下:1、固态硬盘;2、闪存模块;3、主控芯片;4、扫描电路;5、CPU;6、接口模块;7、NHOST模块;8、MSM模块;9、UARTC模块;10、串口总线;11、RAM模块;12、NANDC模块;13、MUX模块。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“中心”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“连通”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些示例实施方式使得本公开的描述将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
以下结合本说明书的附图1至图2,对本公开的较佳实施方式予以进一步地详尽阐述。
请参阅图1。
根据一些实施例,本申请提供一种固态硬盘主控芯片坏块的扫描电路,所述固态硬盘1内包括闪存模块2和主控芯片3,所述主控芯片3包括扫描电路4和CPU5,所述闪存模块2包括多个出厂块,所述出厂块中含有出厂坏块,所述扫描电路4包括:接口模块6,所述接口模块6与所述闪存模块2连接,以用于读取所述闪存模块2中的出厂块;NHOST模块7,所述NHOST模块7分别连接所述接口模块6和所述CPU5,以用于从所述接口模块6读取的出厂块中识别出厂坏块,并将所述出厂坏块信息传送至CPU5;用于控制所述扫描电路4工作流程的MSM模块8,所述CPU5与所述MSM模块8连接,所述MSM模块8分别连接所述NHOST模块7和所述接口模块6。
基于上述实施例,固态硬盘1是传统机械式硬盘的替代品。一个典型的固态硬盘1,其内部电路包括主控芯片3、DDR内存颗粒、闪存模块2、SPI Flash颗粒等。
闪存模块2包括多个NAND Flash闪存阵列,NAND Flash闪存阵列是固态硬盘1内部用于承载存储数据的主体;NAND Flash中的数据在系统掉电后不会丢失,重新上电后,其中的数据仍在,拥有这一特性的存储器,业内将之称作“非易失存储器”。
一颗典型的NAND Flash存储器芯片,其内部的存储空间是按照下列方式来进行组织的:
1颗NAND Flash存储器封装体内,包含1个或多个LUN;
1个LUN内,包含1个或多个Plane;
1个Plane内,包含多个Block;
1个Block内,包含有许多Page;
1个Page内,包含有多个Byte。
其中,Block即“块”,Page即“页”,Byte即“字节”。
NAND Flash的常用操作有3种:读、写(即编程)、擦(即擦除)。一般而言,读、写操作都以Page即页为单位,而擦除操作则以Block即块为单位。
NAND Flash内部总是会有少量的一些块,在出厂时,这些块内带有固有的、无法修复的缺陷、错误,无法正常进行读/写/擦操作。这些块被称作“出厂坏块”,即Factory BadBlock,用户不能使用这些块进行数据的存储。
每颗NAND Flash的出厂坏块地址都是随机的,在典型的情况下,每1000个Block中,可能有十个以内的出厂坏块。
固态硬盘1之所以能够存储大量用户数据,靠的就是电路板上的NAND Flash存储器颗粒阵列。因此,固态硬盘1的一个重要功能,就是坏块处理。
在现有的固态硬盘1的生产中,现有技术都有专门的坏块扫描的步骤,要么是一个单独的扫描出厂坏块的步骤,要么是作为“开卡”工序的一个子步骤,待扫出坏块后,再写入进固态硬盘1内部的存储空间。
这些步骤需要消耗相应的生产时间或测试时间,相应地,这降低了固态硬盘1的生产效率/测试效率。
因此本申请提供了一种固态硬盘1主控芯片3坏块的扫描电路4,如图1所示,其包括主控芯片3,主控芯片3设置于固态硬盘1内,主控芯片3内包括扫描电路4和CPU5,扫描电路4包括:接口模块6,接口模块6包括多个PHY接口,闪存模块2中包括多个NAND Flash闪存阵列,PHY接口与NAND Flash闪存阵列可以是1对1的关系,也可以是1对多的关系,接口模块6与闪存模块2连接,以用于读取闪存模块2中的出厂块。其中,接口模块6为:NAND Flash模块的物理层(即phy层)控制逻辑,用于实现NAND芯片手册中所要求的Command Cycle、Address Cycle、Data Input Cycle、Data Output Cycle这四种基本Cycle。
进一步的,NHOST模块7分别连接接口模块6和CPU5,以用于从接口模块6读取的出厂块中识别出厂坏块,并将出厂坏块信息传送至CPU5,CPU5将出厂坏块信息存储至非易失存储器内。其中,NHOST模块7为:闪存模块2的主控端,它对接口模块6进行调度,用四种基本Cycle,拼接出读、写、擦、读ID、读Unique ID、读Status等各种操作流程。例如,一个典型的页读(Page Read)操作,由Command Cycle、Address Cycle、Data Output Cycle拼接而成。
进一步的,CPU5与MSM模块8连接,MSM模块8分别连接所述NHOST模块7和所述接口模块6,所述CPU5对所述出厂块进行读写擦操作时,当遇到与非易失存储器内坏块信息一致的出厂坏块时,则不进行读写擦操作。
进一步的,在长期使用固态硬盘1后会出现新增坏块,当识别到新增坏块后,CPU5将新增坏块存储至非易失存储器内。防止下次再次访问到新增坏块。
通过将扫描电路4设置于固态硬盘1主控芯片3内后,在固态硬盘1首次装机使用时,首次上电后,固态硬盘1内部即自动进行出厂坏块的扫描,并将出厂坏块写入固态硬盘1内部的保留区。这一扫描用时只需几秒至十几秒,对于用户体验没有影响。这样,在固态硬盘1的开卡量产步骤中,就可以省掉扫描出厂坏块的步骤,提高固态硬盘1的生产效率,节省宝贵的产线占用的时间。
根据一些实施例,所述扫描电路4还包括用于与CPU5通信的UARTC模块9和串口总线10,所述CPU5通过所述串口总线10与所述UARTC模块9连接,所述UARTC模块9分别连接所述NHOST模块7和所述MSM模块8。其中,UARTC模块9为串口通信,通过SOC内部的总线,与CPU5通信。
基于上述实施例,使用UARTC模块9,可以挂接至CPU5的串口总线10;串口是一种常用的简单的总线。除了串口之外,还可以使用SPI总线、IIC总线、APB总线、AHB总线、AXI总线等,相应地,UARTC模块9需要替换为名为SPIC、IICC、APBC、AHBC、AXIC等的模块。
根据一些实施例,所述扫描电路4还包括用于缓存数据的RAM模块11,所述RAM模块11设置于所述NHOST模块7和所述UARTC模块9之间,RAM模块11接收NHOST模块7的信息后,暂时缓存数据,再通过UARTC模块9发送至CPU5。
根据一些实施例,所述主控芯片3还包括用于与所述接口模块6切换使用的NANDC模块12,所述NANDC模块12分别连接所述闪存模块2和所述串口总线10。
根据一些实施例,所述扫描电路4还包括用于切换所述接口模块6和所述NANDC模块12的MUX模块13,所述MUX模块13分别连接所述接口模块6、所述NANDC模块12和所述闪存模块2,所述MSM模块8连接控制所述MUX模块13。
基于上述实施例,在用户的正常使用期间,做新增坏块扫描时,由NANDC模块12对闪存模块2进行控制,但接口模块6对NANDC模块12与闪存模块2之间的接口信号进行监测。对闪存模块2的访问控制接口,由MUX模块13来进行切换控制,MUX模块13受MSM模块8的控制。
请参阅图2。
根据另一些实施例,本申请提供一种扫描方法,用于固态硬盘1坏块的扫描方法,所述方法应用于如上所述的扫描电路4,所述出厂坏块包括第一类出厂坏块和第二类出厂坏块,所述扫描方法包括:步骤101,所述接口模块6读取所述闪存模块2中的出厂块,并识别出第二类出厂坏块;步骤102,所述NHOST模块7从所述出厂块中识别出所述第一类出厂坏块,并将所述第一类出厂坏块和第二类出厂坏块的信息传送至所述CPU5;步骤103,所述CPU5将所述第一类出厂坏块和第二类出厂坏块的信息录入存储器;步骤104,所述CPU5在对所述出厂块进行读写擦操作时,避开与所述存储器中信息一致的坏块。
根据一些实施例,在步骤101,所述接口模块6读取所述闪存模块2中的出厂块,并识别出第二类出厂坏块之前,所述方法还包括:所述固态硬盘1装机并首次上电开机后,所述固态硬盘1自动进行如上所述的扫描方法进行固态硬盘1坏块的扫描。
根据一些实施例,在所述固态硬盘1装机并首次上电开机后,所述固态硬盘1自动进行如上所述的扫描方法进行固态硬盘1坏块的扫描之前,所述方法还包括:分别对所述第一类出厂坏块和所述第二类出厂坏块做不同的坏块标记,以便于所述NHOST模块7和所述接口模块6识别所述第一类出厂坏块和所述第二类出厂坏块。
基于上述实施例,闪存模块2包括多个NAND Flash阵列,一颗典型的NAND Flash存储器芯片,其内部的存储空间是按照下列方式来进行组织的:
1颗NAND Flash存储器封装体内,包含1个或多个LUN;
1个LUN内,包含1个或多个Plane;
1个Plane内,包含多个Block;
1个Block内,包含有许多Page;
1个Page内,包含有多个Byte。
其中,Block即“块”,Page即“页”,Byte即“字节”。
NAND Flash的常用操作有3种:读、写(即编程)、擦(即擦除)。一般而言,读、写操作都以Page即页为单位,而擦除操作则以Block即块为单位。NAND Flash内部总是会有少量的一些块,在出厂时,这些块内带有固有的、无法修复的缺陷、错误,无法正常进行读/写/擦操作。这些块被称作“出厂坏块”,即Factory Bad Block,用户不能使用这些块进行数据的存储。
每颗NAND Flash的出厂坏块地址都是随机的,在典型的情况下,每1000个Block中,可能有十个以内的出厂坏块。
为方便查询,常用的标记方法有两种:
第一类出厂坏块:
在spare area的第六个byte,写入特殊字符,作为坏块标记。用户希望查询出厂坏块时,需要依次读取每个物理块的第六个byte,看是否标记为出厂坏块,就可以判定。
如果采用这种方法,则出厂坏块的标记其实是可以被用户擦掉的;如果进行过全片擦除,则所有出厂坏块的标记会全部丢失。
生产过程中,是在严苛的环境条件下对芯片进行测试、以对出厂坏块进行识别确认;其所标记的“出厂坏块”,其实很多是处在“好”和“坏”之间的临界状态,如果芯片工作于较为舒适的环境条件下,很可能表现为好块。交付用户后,用户很难复现如此严苛的环境,因此,用户将出厂坏块标记擦除后,若对“出厂坏块”作读写擦访问,则这些地址很可能表现为正常的好块。
因而,对于这种闪存颗粒,用户在拿到NAND Flash颗粒后,必须先读取出厂坏块、将之另行保存,再进行其他的读写擦操作;否则,一旦将出厂坏块标志擦除,就再无手段获取出厂坏块信息了。
第二类出厂坏块:
以非易失的方式,对各Block进行标记,用户以特定的指令序列,对全片各Block逐一进行指令操作,并读取相应的Status标志,即可知道各Block是不是出厂坏块,进而构建一个出厂坏块列表录入存储器。
如果采用这种方法,一般而言,坏块标志无法被用户擦掉,即便进行全片擦除,出厂坏块的标志也不会丢失。对于这种NAND Flash颗粒,即便没有事先读出厂坏块,也可以在稍后的时间,再重新读取出厂坏块信息。
扫描出厂坏块:
在固态硬盘1交付用户并装机完成后,首次上电开机后,此时全盘为空白状态,此时进行出厂坏块的扫描。
对于第一类出厂坏块,由接口模块6读取全片各Block中的坏块标志符所在的地址,由NHOST模块7判断是不是出厂坏块,如果是,则将坏块的地址写入RAM模块11缓存,之后通过UARTC模块9回传给CPU5。
对于第二类出厂坏块,由接口模块6直接循环读取全片的各Block状态,即可知道是不是出厂坏块,将坏块信息(即坏块的地址)写入RAM模块,之后由UARTC模块9将其回传给CPU5。
第一类出厂坏块和第二类出厂坏块一般不会同时出现在同一块NAND Flash芯片中。一般而言,NAND Flash芯片中,要么使用第一类出厂坏块的标记方法检测,要么使用第二类出厂坏块的标记方法检测。为了检测的更全面,本申请检测时,将第一类出厂坏块和第二类出厂坏块一起检测,如果没有第一类出厂坏块就跳过检测第一类出厂坏块的步骤,如果没有第二类出厂坏块就跳过检测第二类出厂坏块的步骤。
根据一些实施例,在所述CPU5对所述出厂块进行读写擦操作时,避开与所述存储器中信息一致的坏块之后,所述方法还包括:在对所述闪存模块2进行读写擦操作时,如果编写或擦除操作失败,则判定为新增坏块,并将所述新增坏块信息传送至所述CPU5;所述CPU5将所述新增坏块信息录入存储器,防止再次访问所述新增坏块。
基于上述实施例,闪存模块2的寿命不是无限的,其有自己的使用寿命,寿命有两种:1,Endurance,即各个Block可以经受住多少次Program/Erase Cycle,即P/E寿命;2,Retention,即存入Flash的数据可以留存保持多少年。
在固态硬盘1使用过程中,随着读写擦操作次数的增加,各Block会逐渐接近其P/E寿命的上限。在此过程中,某些Block可能会产生较严重的退化,进而,导致无法编程(Program写失败)、无法擦除(Erase失败)、或者读取出错(读数据的错误率较高,超出ECC纠错能力范围)。当遇到这一情况时,相应的块也称之为“坏块”即Bad Block。为与芯片出厂时自带的“出厂坏块”相区分,这些在使用过程中出现的坏块,称为“新增坏块”或“使用坏块”。
一般而言,需要控制在闪存模块2的使用寿命范围内,新增坏块的数量不超过芯片总容量的一个比例,例如,最多不超过2%;在此前提下,配合以适当的坏块管理算法,闪存模块2仍可正常使用。
固态硬盘1之所以能够存储大量用户数据,靠的就是电路板上的NAND Flash存储器颗粒阵列。因此,固态硬盘1的一个重要功能,就是坏块处理,包括:
扫描闪存模块2、获得其出厂坏块列表,并录入存储器。
在固态硬盘1的使用过程中,建立、维护、更新一个新增坏块列表,并录入存储器。
在实际的固态硬盘1设计方案中,“出厂坏块列表”和“新增坏块列表”,可能合并为同一个,也可能分别维护和管理。
在正常对闪存模块2进行访问期间,接口模块6对闪存模块2接口进行实时监测,如果发现编程或擦除操作返回的Status为Fail,则判定为新增坏块,此时则将其Block地址写入RAM模块,稍后由UARTC回传给CPU5。
根据一些实施例,在所述在对所述闪存模块2进行读写擦操作时,如果编写或擦除操作失败,则判定为新增坏块,并将所述新增坏块信息传送至所述CPU5中,所述方法还包括:在对所述闪存模块2进行读写擦操作时,所述CPU5通过所述NANDC来访问闪存,并通过所述NANDC进行所述新增坏块的扫描。
基于上述实施例,另一种电路形式如下,闪存模块2由主控芯片3内的NANDC模块12和接口模块6交替控制:
进行正常数据访问(普通读写擦)时,由NANDC模块12来访问闪存模块2;
做出厂坏块扫描时,由接口模块6来控制闪存模块2;
在用户的正常使用期间,做新增坏块扫描时,仍由NANDC模块12对闪存模块2进行控制,但由接口模块6对NANDC模块12与闪存模块2之间的接口信号进行监测;
对闪存模块2的访问控制接口,由MUX模块13来进行切换控制,MUX模块13受MSM模块8的控制。
在上述实施方式的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
虽然已参照几个典型实施方式描述了本公开,但应当理解,所用的术语是说明和示例性、而非限制性的术语。由于本公开能够以多种形式具体实施而不脱离发明的精神或实质,所以应当理解,上述实施方式不限于任何前述的细节,而应在随附权利要求所限定的精神和范围内广泛地解释,因此落入权利要求或其等效范围内的全部变化和改型都应为随附权利要求所涵盖。
Claims (10)
1.一种设置于固态硬盘主控芯片内的坏块扫描电路,其特征在于,所述固态硬盘内包括闪存模块和主控芯片,所述主控芯片包括扫描电路和CPU,所述闪存模块包括多个出厂块,所述出厂块中含有出厂坏块,所述扫描电路包括:
接口模块,所述接口模块与所述闪存模块连接,以用于读取所述闪存模块中的出厂块;
NHOST模块,所述NHOST模块分别连接所述接口模块和所述CPU,以用于从所述接口模块读取的出厂块中识别出厂坏块,并将所述出厂坏块信息传送至CPU;
用于控制所述扫描电路工作流程的MSM模块,所述CPU与所述MSM模块连接,所述MSM模块分别连接所述NHOST模块和所述接口模块。
2.根据权利要求1所述的扫描电路,其特征在于,所述扫描电路还包括用于与CPU通信的UARTC模块和串口总线,所述CPU通过所述串口总线与所述UARTC模块连接,所述UARTC模块分别连接所述NHOST模块和所述MSM模块。
3.根据权利要求2所述的扫描电路,其特征在于,所述扫描电路还包括用于缓存数据的RAM模块,所述RAM模块设置于所述NHOST模块和所述UARTC模块之间。
4.根据权利要求3所述的扫描电路,其特征在于,所述主控芯片还包括用于与所述接口模块切换使用的NANDC模块,所述NANDC模块分别连接所述闪存模块和所述串口总线。
5.根据权利要求4所述的扫描电路,其特征在于,所述扫描电路还包括用于切换所述接口模块和所述NANDC模块的MUX模块,所述MUX模块分别连接所述接口模块、所述NANDC模块和所述闪存模块,所述MSM模块连接控制所述MUX模块。
6.一种扫描方法,所述方法应用于如权利要求5所述的扫描电路,其特征在于,所述出厂坏块包括第一类出厂坏块和第二类出厂坏块,所述扫描方法包括:
所述接口模块读取所述闪存模块中的出厂块,并识别出第二类出厂坏块;
所述NHOST模块从所述出厂块中识别出所述第一类出厂坏块,并将所述第一类出厂坏块和第二类出厂坏块的信息传送至所述CPU;
所述CPU将所述第一类出厂坏块和第二类出厂坏块的信息录入存储器;
所述CPU在对所述出厂块进行读写擦操作时,避开与所述存储器中信息一致的坏块。
7.根据权利要求6所述的扫描方法,其特征在于,在所述接口模块读取所述闪存模块中的出厂块,并识别出第二类出厂坏块之前,所述方法还包括:
所述固态硬盘装机并首次上电开机后,所述固态硬盘自动进行如权利要求6所述的扫描方法进行固态硬盘坏块的扫描。
8.根据权利要求7所述的扫描方法,其特征在于,在所述固态硬盘装机并首次上电开机后,所述固态硬盘自动进行如权利要求6所述的扫描方法进行固态硬盘坏块的扫描之前,所述方法还包括:
分别对所述第一类出厂坏块和所述第二类出厂坏块做不同的坏块标记,以便于所述NHOST模块和所述接口模块识别所述第一类出厂坏块和所述第二类出厂坏块。
9.根据权利要求6所述的扫描方法,其特征在于,在所述CPU在对所述出厂块进行读写擦操作时,避开与所述存储器中信息一致的坏块之后,所述方法还包括:
在对所述闪存模块进行读写擦操作时,如果编写或擦除操作失败,则判定为新增坏块,并将所述新增坏块信息传送至所述CPU;
所述CPU将所述新增坏块信息录入存储器,防止再次访问所述新增坏块。
10.根据权利要求9所述的扫描方法,其特征在于,在所述在对所述闪存模块进行读写擦操作时,如果编写或擦除操作失败,则判定为新增坏块,并将所述新增坏块信息传送至所述CPU中,所述方法还包括:
在对所述闪存模块进行读写擦操作时,所述CPU通过所述NANDC来访问闪存,并通过所述NANDC进行所述新增坏块的扫描。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210606670.2A CN114911662A (zh) | 2022-05-31 | 2022-05-31 | 设置于固态硬盘主控芯片内的坏块扫描电路及扫描方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210606670.2A CN114911662A (zh) | 2022-05-31 | 2022-05-31 | 设置于固态硬盘主控芯片内的坏块扫描电路及扫描方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114911662A true CN114911662A (zh) | 2022-08-16 |
Family
ID=82770936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210606670.2A Pending CN114911662A (zh) | 2022-05-31 | 2022-05-31 | 设置于固态硬盘主控芯片内的坏块扫描电路及扫描方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114911662A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116612803A (zh) * | 2023-05-18 | 2023-08-18 | 珠海妙存科技有限公司 | 一种闪存的测试方法、系统、装置及存储介质 |
CN117369905A (zh) * | 2023-12-07 | 2024-01-09 | 广东匠芯创科技有限公司 | 闪存平台的开机方法、系统、电子设备及存储介质 |
-
2022
- 2022-05-31 CN CN202210606670.2A patent/CN114911662A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116612803A (zh) * | 2023-05-18 | 2023-08-18 | 珠海妙存科技有限公司 | 一种闪存的测试方法、系统、装置及存储介质 |
CN116612803B (zh) * | 2023-05-18 | 2024-02-23 | 珠海妙存科技有限公司 | 一种闪存的测试方法、系统、装置及存储介质 |
CN117369905A (zh) * | 2023-12-07 | 2024-01-09 | 广东匠芯创科技有限公司 | 闪存平台的开机方法、系统、电子设备及存储介质 |
CN117369905B (zh) * | 2023-12-07 | 2024-03-19 | 广东匠芯创科技有限公司 | 闪存平台的开机方法、系统、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8086919B2 (en) | Controller having flash memory testing functions, and storage system and testing method thereof | |
US6388919B2 (en) | Memory controller for flash memory system and method for writing data to flash memory device | |
KR100987241B1 (ko) | 메모리 장치 및 그 메모리 장치를 이용한 기록 재생 장치 | |
US8166258B2 (en) | Skip operations for solid state disks | |
CN114911662A (zh) | 设置于固态硬盘主控芯片内的坏块扫描电路及扫描方法 | |
KR101759811B1 (ko) | 솔리드 스테이트 메모리를 포멧팅하기 위한 메모리 제어기, 방법, 및 솔리드 스테이트 메모리 시스템 | |
US8386699B2 (en) | Method for giving program commands to flash memory for writing data according to a sequence, and controller and storage system using the same | |
CN102239524B (zh) | 逻辑单元操作 | |
US7447072B2 (en) | Storage device employing a flash memory | |
CN107273058B (zh) | 逻辑地址偏移 | |
CN107844431A (zh) | 映射表更新方法、存储器控制电路单元与存储器存储装置 | |
CN106681654B (zh) | 映射表载入方法与存储器存储装置 | |
US8375159B2 (en) | Electronic storage device and control method thereof | |
US20060288153A1 (en) | Storage system using flash memory | |
US9213629B2 (en) | Block management method, memory controller and memory stoarge apparatus | |
US8706948B2 (en) | Data writing method for non-volatile memory, and controller and storage system using the same | |
CN101853692B (zh) | 具闪存测试功能的控制器及其储存系统与测试方法 | |
US20100050007A1 (en) | Solid state disk and method of managing power supply thereof and terminal including the same | |
US20100057979A1 (en) | Data transmission method for flash memory and flash memory storage system and controller using the same | |
US9037814B2 (en) | Flash memory management method and flash memory controller and storage system using the same | |
US9442834B2 (en) | Data management method, memory controller and memory storage device | |
US8667348B2 (en) | Data writing method for non-volatile memory module and memory controller and memory storage apparatus using the same | |
US20120166706A1 (en) | Data management method, memory controller and embedded memory storage apparatus using the same | |
CN217426109U (zh) | 一种设置于固态硬盘主控芯片内的坏块扫描电路 | |
CN218631411U (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 |