一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

存储控制器以及存储装置初始化方法与流程

2021-05-14 13:36:00 来源:中国专利 TAG:
1.本发明涉及一种存储控制器以及所述存储控制器所使用的存储装置初始化方法。
背景技术
::2.一般来说,存储装置在使用前或是第一次连接至主机系统时,存储装置会先执行初始化操作(也称为,开卡操作),以确定存储装置可以配给主机系统的符合预定大小的存储空间。然而,一般传统的初始化操作,仅单纯地选择总空间等于预定大小的多个实体区块以配给主机系统来做使用。技术实现要素:3.本发明是针对用于控制配置有可复写式非易失性存储器模块的存储装置的一种存储控制器以及所述存储控制器所使用的存储装置初始化方法。4.本发明的实施例提供用于控制配置有可复写式非易失性存储器模块的存储装置的一种存储控制器。所述存储控制器包括:连接接口电路、存储器接口控制电路及处理器。所述连接接口电路用以耦接至主机系统。所述存储器接口控制电路用以耦接至所述可复写式非易失性存储器模块。所述处理器耦接至所述连接接口电路及所述存储器接口控制电路。所述处理器用以开始执行初始化操作,其中所述处理器还用以抹除所述可复写式非易失性存储器模块的多个实体区块,其中所述多个实体区块皆未被映射至所述主机系统的多个逻辑区块,其中所述多个实体区块是所述可复写式非易失性存储器模块的多个实体页面所分组的,其中所述处理器还用以写入预定数据至所述多个实体区块,以使所述多个实体区块存储满所述预定数据,其中所述处理器还用以对所述多个实体页面执行读取操作,以获得所述多个实体页面各自的页面错误比特数,其中所述处理器还用以根据所述多个实体页面各自的所述页面错误比特数来获得所述多个实体区块各自的区块错误比特数,其中所述处理器还用以根据所述多个实体页面各自的所述页面错误比特数以及所述多个实体区块各自的所述区块错误比特数来识别所述多个实体区块各自的物理状况,并且根据多个物理状况来排序所述多个实体区块,以获得区块序列,其中排序于所述区块序列中最前方的实体区块具有最差的物理状况,并且排序于所述区块序列中最后方的实体区块具有最差的物理状况。此外,所述处理器还用以判断所述区块序列中的所有实体区块的总空间是否等于第一预定空间,其中反应于判定所述区块序列中的所有实体区块的所述总空间不等于所述第一预定空间,所述处理器还用以从所述区块序列中移除排序于最前方的实体区块,并且更新所述区块序列,其中所述区块序列中的所有实体区块各自为第一实体区块,其中反应于判定所述区块序列中的所有实体区块的所述总空间等于所述第一预定空间,所述处理器还用以完成所述初始化操作,选择所述区块序列中的多个第一实体区块中的多个第二实体区块的总空间来作为第二预定空间,其中所述多个第二预定空间的大小为预定大小。5.在本发明的一实施例中,在所述根据所述多个实体页面各自的所述页面错误比特数以及所述多个实体区块各自的所述区块错误比特数来识别所述多个实体区块各自的所述物理状况,并且根据所述多个物理状况来排序所述多个实体区块,以获得所述区块序列的操作中,所述处理器将所述多个实体页面中具有大于页面错误比特数门槛值的所述页面错误比特数的一或多个目标实体页面标记为坏实体页面,其中所述处理器加总所述多个实体区块各自具有的所述坏实体页面的数目为坏实体页面总数目,其中所述处理器根据所述多个实体区块各自的所述坏实体页面总数目,由大至小,来对所述多个实体区块执行第一排序,以获得第一区块序列,其中反应于多个目标实体区块各自的所述坏实体页面总数目相等,所述处理器根据所述多个目标实体区块各自的所述区块错误比特数,由大至小,来对所述多个目标实体区块执行第二排序,以更新所述第一区块序列为所述区块序列。6.在本发明的一实施例中,所述多个第二实体区块用以被映射至所述主机系统的所述多个逻辑区块。7.在本发明的一实施例中,所述预定大小为可被所述主机系统所使用的预定容量。8.在本发明的一实施例中,所述处理器更记录被移除的一或多个实体区块于坏实体区块表中9.本发明的实施例提供一种存储装置初始化方法,适用于配置有一可复写式非易失性存储器模块的一存储装置。所述方法包括:开始执行初始化操作,抹除所述可复写式非易失性存储器模块的多个实体区块,其中所述多个实体区块皆未被映射至主机系统的多个逻辑区块,其中所述多个实体区块是所述可复写式非易失性存储器模块的多个实体页面所分组的;写入预定数据至所述多个实体区块,以使所述多个实体区块存储满所述预定数据;对所述多个实体页面执行读取操作,以获得所述多个实体页面各自的页面错误比特数;根据所述多个实体页面各自的所述页面错误比特数来获得所述多个实体区块各自的区块错误比特数;根据所述多个实体页面各自的所述页面错误比特数以及所述多个实体区块各自的所述区块错误比特数来识别所述多个实体区块各自的物理状况,并且根据多个物理状况来排序所述多个实体区块,以获得区块序列,其中排序于所述区块序列中最前方的实体区块具有最差的物理状况,并且排序于所述区块序列中最后方的实体区块具有最差的物理状况;判断所述区块序列中的所有实体区块的总空间是否等于第一预定空间;反应于判定所述区块序列中的所有实体区块的所述总空间不等于所述第一预定空间,从所述区块序列中移除排序于最前方的实体区块,并且更新所述区块序列,其中所述区块序列中的所有实体区块各自为第一实体区块;以及反应于判定所述区块序列中的所有实体区块的所述总空间等于所述第一预定空间,完成所述初始化操作,选择所述区块序列中的多个第一实体区块中的多个第二实体区块的总空间来作为第二预定空间,其中所述多个第二预定空间的大小为预定大小。10.基于上述,本发明实施例所提供的存储控制器以及存储装置初始化方法,可在对存储装置所执行的初始化操作中,利用对所有的实体区块及实体页面执行抹除操作、写入操作与读取操作,以获得相应于每个实体页面的错误比特数,从而可根据相应于每个实体页面的错误比特数来在符合存储装置的预定大小的情况下,去除物理状况较差的一或多个实体区块,以使主机系统仅可使用到物理状况较佳的实体区块。如此一来,在完成初始化操作后,可避免主机系统使用到物理状况较差的已去除的实体区块,从而增进存储装置的存储数据的可靠度。bus)彼此耦接。在本实施例中,处理器110、主机存储器120及数据传输接口电路130可设置在主机系统10的主机板上。39.存储装置20包括存储控制器(storagecontroller)210、可复写式非易失性存储器模块(rewritablenon-volatilememorymodule)220及连接接口电路(connectioninterfacecircuit)230。其中,存储控制器210包括处理器211、数据管理电路(datamanagementcircuit)212与存储器接口控制电路(memoryinterfacecontrolcircuit)213。40.在本实施例中,主机系统10是通过数据传输接口电路130与存储装置20的连接接口电路230耦接至存储装置20来进行数据的存取操作。例如,主机系统10可经由数据传输接口电路130将数据存储至存储装置20或从存储装置20中读取数据。41.在本实施例中,数据传输接口电路130的数目可以是一或多个。通过数据传输接口电路130,主机板可以经由有线或无线方式耦接至存储装置20。存储装置20可例如是u盘、存储卡、固态硬盘(solidstatedrive,ssd)或无线存储器存储装置。无线存储器存储装置可例如是近距离无线通讯(nearfieldcommunication,nfc)存储器存储装置、无线传真(wifi)存储器存储装置、蓝牙(bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,ibeacon)等以各式无线通讯技术为基础的存储器存储装置。此外,主机板也可以通过系统总线耦接至全球定位系统(globalpositioningsystem,gps)模块、网络接口卡、无线传输装置、键盘、屏幕、喇叭等各式i/o装置。42.在本实施例中,数据传输接口电路130与连接接口电路230是相容于高速周边零件连接接口(peripheralcomponentinterconnectexpress,pciexpress)标准的接口电路。并且,数据传输接口电路130与连接接口电路230之间是利用快速非易失性存储器接口标准(non-volatilememoryexpress,nvme)通讯协定来进行数据的传输。43.然而,必须了解的是,本发明不限于此,数据传输接口电路130与连接接口电路230亦可以是符合并行高级技术附件(paralleladvancedtechnologyattachment,pata)标准、电气和电子工程师协会(instituteofelectricalandelectronicengineers,ieee)1394标准、串行高级技术附件(serialadvancedtechnologyattachment,sata)标准、通用串行总线(universalserialbus,usb)标准、sd接口标准、超高速一代(ultrahighspeed-i,uhs-i)接口标准、超高速二代(ultrahighspeed-ii,uhs-ii)接口标准、存储棒(memorystick,ms)接口标准、多芯片封装(multi-chippackage)接口标准、多媒体存储卡(multimediacard,mmc)接口标准、emmc接口标准、通用快闪存储器(universalflashstorage,ufs)接口标准、emcp接口标准、cf接口标准、整合式驱动电子接口(integrateddeviceelectronics,ide)标准或其他适合的标准。此外,在另一实施例中,连接接口电路230可与存储控制器210封装在一个芯片中,或者连接接口电路230是布设于一包含存储控制器210的芯片外。44.在本实施例中,主机存储器120用以暂存处理器110所执行的指令或数据。例如,在本实施例中,主机存储器120可以是动态随机存取存储器(dynamicrandomaccessmemory,dram)、静态随机存取存储器(staticrandomaccessmemory,sram)等。然而,必须了解的是,本发明不限于此,主机存储器120也可以是其他适合的存储器。45.存储控制器210用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令并且根据主机系统10的指令在可复写式非易失性存储器模块220中进行数据的写入、读取与抹除等运作。46.更详细来说,存储控制器210中的处理器211为具备运算能力的硬件,其用以控制存储控制器210的整体运作。具体来说,处理器211被多个控制指令/程序码所程序化,并且在存储装置20运作时,此些控制指令/程序码会被执行以进行数据的写入、读取与抹除等运作。此外,在本实施例中,所述控制指令/程序码还可被执行以进行测试数据产生操作,以实现本发明所提供的测试数据产生方法。47.值得一提的是,在本实施例中,处理器110与处理器211例如是中央处理单元(centralprocessingunit,cpu)、微处理器(micro-processor)、或是其他可程序化的处理单元(microprocessor)、数字信号处理器(digitalsignalprocessor,dsp)、可程序化控制器、特殊应用集成电路(applicationspecificintegratedcircuits,asic)、可程序化逻辑装置(programmablelogicdevice,pld)或其他类似电路元件,本发明并不限于此。48.在一实施例中,存储控制器210还具有只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(bootcode),并且当存储控制器210被致能时,处理器211会先执行此开机码来将存储于可复写式非易失性存储器模块220中的控制指令载入至存储控制器210的随机存取存储器中。之后,处理器211会运转此些控制指令以进行数据的写入、读取与抹除等运作。在另一实施例中,处理器211的控制指令亦可以程序码型式存储于可复写式非易失性存储器模块220的特定区域,例如,可复写式非易失性存储器模块220中专用于存放系统数据的实体存储单元中。49.在本实施例中,如上所述,存储控制器210还包括数据管理电路212与存储器接口控制电路213。应注意的是,存储控制器210各部件所执行的操作亦可视为存储控制器210所执行的操作。50.其中,数据管理电路212耦接至处理器211、存储器接口控制电路213与连接接口电路230。数据管理电路212用以接受处理器211的指示来进行数据的传输。例如,经由连接接口电路230从主机系统10(如,主机存储器120)读取数据,并且将所读取的数据经由存储器接口控制电路213写入至可复写式非易失性存储器模块220中(如,根据来自主机系统10的写入指令来进行写入操作)。又例如,经由存储器接口控制电路213从可复写式非易失性存储器模块220的一或多个实体单元中读取数据(数据可读取自一或多个实体单元中的一或多个存储单元),并且将所读取的数据经由连接接口电路230写入至主机系统10(如,主机存储器120)中(如,根据来自主机系统10的读取指令来进行读取操作)。在另一实施例中,数据管理电路212亦可整合至处理器211中。51.存储器接口控制电路213用以接受处理器211的指示,配合数据管理电路212来进行对于可复写式非易失性存储器模块220的写入(亦称,程序化,programming)操作、读取操作或抹除操作。52.举例来说,处理器211可执行写入指令序列,以指示存储器接口控制电路213将数据写入至可复写式非易失性存储器模块220中;处理器211可执行读取指令序列,以指示存储器接口控制电路213从可复写式非易失性存储器模块220的对应读取指令的一或多个实体单元中读取数据;处理器211可执行抹除指令序列,以指示存储器接口控制电路213对可复写式非易失性存储器模块220进行抹除操作。写入指令序列、读取指令序列及抹除指令序列可各别包括一或多个程序码或指令码并且用以指示对可复写式非易失性存储器模块220执行相对应的写入、读取及抹除等操作。在一实施例中,处理器211还可以下达其他类型的指令序列给存储器接口控制电路213,以对可复写式非易失性存储器模块220执行相对应的操作。53.此外,欲写入至可复写式非易失性存储器模块220的数据会经由存储器接口控制电路213转换为可复写式非易失性存储器模块220所能接受的格式。具体来说,若处理器211要存取可复写式非易失性存储器模块220,处理器211会传送对应的指令序列给存储器接口控制电路213以指示存储器接口控制电路213执行对应的操作。例如,这些指令序列可包括指示写入数据的写入指令序列、指示写入测试数据的测试数据写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作的相对应的指令序列。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。54.此外,存储控制器210会建立逻辑转实体地址映射表(logicaltophysicaladdressmappingtable)与实体转逻辑地址映射表(physicaltologicaladdressmappingtable),以记录配置给可复写式非易失性存储器模块220的逻辑单元(如,逻辑区块、逻辑页面或逻辑扇区)与实体单元(如,实体抹除单元/实体区块、实体页面、实体扇区)之间的地址映射关系。换言之,存储控制器210可通过逻辑转实体地址映射表来查找一逻辑单元所映射的实体单元(如,查找逻辑页面所映射的实体页面;查找逻辑地址所映射的实体地址),并且存储控制器210可通过实体转逻辑地址映射表来查找一实体单元所映射的逻辑单元(如,查找实体页面所映射的逻辑页面;查找实体地址所映射的逻辑地址)。然而,上述有关逻辑单元与实体单元映射的技术概念为本领域技术人员的惯用技术手段且非本发明所欲阐述的技术方案,不再赘述于此55.在本实施例中,错误检查与校正电路214是耦接至处理器211并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当处理器211从主机系统10中接收到写入指令时,错误检查与校正电路214会为对应此写入指令的数据产生对应的错误更正码(errorcorrectingcode,ecc)和/或错误检查码(errordetectingcode,edc),并且处理器211会将对应此写入指令的数据与对应的错误更正码和/或错误检查码写入至可复写式非易失性存储器模块220中。之后,当处理器211从可复写式非易失性存储器模块220中读取数据时会同时读取此数据对应的错误更正码和/或错误检查码,并且错误检查与校正电路214会依据此错误更正码和/或错误检查码对所读取的数据执行错误检查与校正程序。此外,在错误检查与校正程序后,若成功解码所读取的数据,错误检查与校正电路214可回传错误比特数(也可称,错误位数,errorbitsvalue)给处理器211。若对应一笔数据的错误比特数越高,处理器211可判定用以存储所述数据的实体单元(如,实体扇区/实体页面/实体区块)的物理状态较糟。56.在一实施例中,存储控制器210还包括缓冲存储器216与电源管理电路217。缓冲存储器是耦接至处理器211并且用以暂存来自于主机系统10的数据与指令、来自于可复写式非易失性存储器模块220的数据或其他用以管理存储装置20的系统数据,以让处理器211可快速地从缓冲存储器216中存取所述数据、指令或系统数据。电源管理电路217是耦接至处理器211并且用以控制存储装置20的电源。57.可复写式非易失性存储器模块220是耦接至存储控制器210(存储器接口控制电路213)并且用以存储主机系统10所写入的数据。可复写式非易失性存储器模块220可以是单阶存储单元(singlelevelcell,slc)nand型快闪存储器模块(即,一个存储单元中可存储1个比特(位,bit)的快闪存储器模块)、多阶存储单元(multilevelcell,mlc)nand型快闪存储器模块(即,一个存储单元中可存储2个比特的快闪存储器模块)、三阶存储单元(triplelevelcell,tlc)nand型快闪存储器模块(即,一个存储单元中可存储3个比特的快闪存储器模块)、四阶存储单元(quadruplelevelcell,qlc)nand型快闪存储器模块(即,一个存储单元中可存储4个比特的快闪存储器模块)、三维nand型快闪存储器模块(3dnandflashmemorymodule)或垂直nand型快闪存储器模块(verticalnandflashmemorymodule)等其他快闪存储器模块或其他具有相同特性的存储器模块。可复写式非易失性存储器模块220中的存储单元(也称为记忆胞,memorycell)是以阵列的方式设置。58.在本实施例中,可复写式非易失性存储器模块220具有多个字线,其中所述多个字线的每一个字线耦接至多个存储单元。同一条字线上的多个存储单元会组成一个实体程序化单元(也称,实体页面)。此外,多个实体页面可组成一个实体区块(也称,实体抹除单元)。59.在本实施例中,每次被写入至可复写式非易失性存储器模块220中的写入数据的数据大小的最小单位是簇(cluster)。主机系统10所执行的作业系统会利用簇为最小单位来存取/管理写入至逻辑页面中的数据,并且作业系统可掌握/管理每个数据的逻辑地址与大小。一个簇的大小可小于或等于一个实体页面的大小。一个簇可具有多个扇区(sector)。一个簇的大小可小于或等于一个逻辑页面。60.为了方便说明,在以下的实施例中,一个簇的大小等于一个实体页面的大小,并且一个实体页面的大小也等于一个逻辑页面的大小。此外,假设可复写式非易失性存储器模块220的每一个实体页面的大小为1024个字节(bytes)。但,应注意的是,本发明并不限定于每一个实体页面、逻辑页面、簇的大小。61.在本实施例中,处理器211还可通过存取且执行开卡程序(所述开卡程序以软件或固件的形式被存储在可复写式非易失性存储器模块220或只读存储器中),来执行初始化操作(也可称,开卡操作)。一般来说,当存储装置首次与主机系统10建立连接时,处理器211会根据本发明所提供的存储装置初始化方法来执行所述初始化操作。以下会利用图2来描述本发明所提供的存储装置初始化方法。62.图2为根据本发明的实施例所示出的测试数据产生方法的流程图。请参照图2,在步骤s21中,处理器211开始执行初始化操作,抹除可复写式非易失性存储器模块220的多个实体区块,其中所述多个实体区块皆未被映射至主机系统的多个逻辑区块,其中所述多个实体区块是所述可复写式非易失性存储器模块的多个实体页面所分组的。具体来说,在开始执行初始化操作时,首先,处理器211会下达针对可复写式非易失性存储器模块的所有实体区块的抹除指令,以施加抹除电压至所有的实体区块,从而确保所有的实体区块皆可被写入数据。63.接着,在步骤s22中,处理器211写入预定数据至所述多个实体区块,以使所述多个实体区块存储满所述预定数据。具体来说,处理器211可持续写入预定数据至所有的实体区块中,直到所有的实体区块皆被所述预定数据所写满(即,不具有任何剩余的可用空间)。64.接着,在步骤s23中,处理器211对所述多个实体页面执行读取操作,以获得所述多个实体页面各自的页面错误比特数。具体来说,当处理器211从一个实体页面读取存储在所述实体页面的原始数据后,处理器211可指示错误检查与校正电路214根据相应的错误检查与校正码来对所述原始数据进行解码操作,以获得已解码数据及相应的错误比特数(即,页面错误比特数)。65.在另一实施例中,处理器211可不对所读取的原始数据进行解码操作,而直接比较预定数据的多个比特值与原始数据的多个比特值的差异,以获得错误比特数。例如,存储在一个实体页面的一笔原始数据的多个比特值皆相等于预定数据的多个比特值,处理器211可识别从所述实体页面所读取的所述原始数据的错误比特数(页面错误比特数)为零。66.接着,在步骤s24中,处理器211根据所述多个实体页面各自的所述页面错误比特数来获得所述多个实体区块各自的区块错误比特数。具体来说,在获得每一个实体页面的错误比特数后,处理器211可将每一个实体区块中的所有的实体页面的错误比特数相加总,以将所获得的总和作为每一个实体区块的区块错误比特数(blockerrorbitsvalue,beb)。67.接着,在步骤s25中,处理器211根据所述多个实体页面各自的所述页面错误比特数以及所述多个实体区块各自的所述区块错误比特数来识别所述多个实体区块各自的物理状况,并且根据多个物理状况来排序所述多个实体区块,以获得区块序列,其中排序于所述区块序列中最前方的实体区块具有最差的物理状况,并且排序于所述区块序列中最后方的实体区块具有最差的物理状况。以下利用图3来说明步骤s25的细节。68.图3为根据本发明的实施例所示出的图2中的步骤s25的流程图。请参照图3,在步骤s251中,处理器211将所述多个实体页面中具有大于页面错误比特数门槛值的所述页面错误比特数的一或多个目标实体页面标记为坏实体页面。具体来说,处理器211可比较每个实体页面的页面错误比特数与预设的页面错误比特数门槛值,并且将大于所述页面错误比特数门槛值的所述页面错误比特数所属的实体页面识别为坏实体页面。69.接着,在步骤s252中,处理器211加总所述多个实体区块各自具有的所述坏实体页面的数目为坏实体页面总数目(badphysicalpageamount,bpa)。以下利用图4来详细说明步骤s251~s252的过程。70.图4为根据本发明的实施例所示出的标记坏实体页面的示意图。请参照图4,举例来说,为了方便说明,假设一个实体区块400具有8个实体页面400(1)~400(8),并且处理器211已经获得对应于8个实体页面400(1)~400(8)的错误比特数,分别为“342”、“718”、“54”、“1039”、“72”、“3”、“457”、“361”。此外,假设页面错误比特数门槛值被预先设定为500。71.在图4例子中,处理器211会一一比较页面错误比特数门槛值“500”与实体页面400(1)~400(8)各自的错误比特数“342”、“718”、“54”、“1039”、“72”、“3”、“457”、“361”,以识别出坏实体页面为实体页面400(2)与实体页面400(4)(如,箭头a41所示)。接着,处理器211加总实体区块400中的坏实体页面的数目,并且获得坏实体页面总数目“2”(实体区块400共具有2个坏实体页面)。72.另一方面,可以注意到,根据实体页面400(1)~400(8)各自的错误比特数“342”、“718”、“54”、“1039”、“72”、“3”、“457”、“361”,处理器211可计算出实体区块400的区块错误比特数为3046(即,342 718 54 1039 72 3 457 361=3046)。73.请再回到图3,接着,在步骤s253中,处理器211根据所述多个实体区块各自的所述坏实体页面总数目,由大至小,来对所述多个实体区块执行第一排序,以获得第一区块序列。具体来说,在获得多个实体区块各自的坏实体页面总数目后,处理器211可将所述坏实体页面总数目作为基准来执行第一排序,以初步地排序所述多个实体区块成为第一区块序列。简单来说,在所执行的第一排序中,处理器211先使用所述坏实体页面总数目作为基准来判断每个实体区块的物理状况(具有越大的坏实体页面总数目的实体区块的物理状况越差)。74.应注意的是,在此步骤中,对于具有相同坏实体页面总数目的多个实体区块(也称,目标实体区块),处理器211并不在意这些目标实体区块彼此间的排序(处理器211会在步骤s254中,来处理所述多个目标实体区块之间的排列顺序)。75.在步骤s254中,反应于多个目标实体区块各自的所述坏实体页面总数目相等,处理器211根据所述多个目标实体区块各自的所述区块错误比特数,由大至小,来对所述多个目标实体区块执行第二排序,以更新所述第一区块序列为所述区块序列。具体来说,为了进一步分辨具有相同的坏实体页面总数目的多个目标实体区块之间的物理状况,处理器211会使用所述多个目标实体区块各自的区块错误比特数来作为基准来进一步比较所述多个实体区块各自的物理状况。以下利用图5来详细说明步骤s253~s254的过程。76.图5为根据本发明的实施例所示出的获得区块序列与从区块序列中移除实体区块的示意图。请参照图5,举例来说,为了方便说明,假设可复写式非易失性存储器模块具有8个实体区块400~407,并且实体区块400~407按照各自的实体位址排序为原始序列500。应注意的是,以下所描述的原始序列500、第一区块序列501、第二区块序列/区块序列502仅是概念性/抽象性地对多个实体区块进行排序所形成的序列,并非物理上/实体上对实体区块进行排序。77.处理器211经由上述所说明的方式获得了8个实体区块400~407各自的坏实体页面总数目及区块错误比特数(所述坏实体页面总数目及区块错误比特数可被识别为代表所述实体区块400~407的物理状况的资讯)。如图5所示,对应实体区块400的坏实体页面总数目为“2”,区块错误比特数为“3046”;对应实体区块401的坏实体页面总数目为“5”,区块错误比特数为“2645”;对应实体区块402的坏实体页面总数目为“2”,区块错误比特数为“3752”;对应实体区块403的坏实体页面总数目为“1”,区块错误比特数为“942”;对应实体区块404的坏实体页面总数目为“3”,区块错误比特数为“3339”;对应实体区块405的坏实体页面总数目为“3”,区块错误比特数为“1834”;对应实体区块406的坏实体页面总数目为“7”,区块错误比特数为“6123”;对应实体区块407的坏实体页面总数目为“3”,区块错误比特数为“2346”。78.接着,如箭头a51所示,处理器211先执行第一排序,根据每个实体区块的坏实体页面总数目的大小,由小至大,来排序实体区块400~407,并且获得了第一区块序列501。例如,经由图5中的原始序列500与第一区块序列501,可看到对应原始序列的实体区块400、401、402、403、404、405、406、407已经被排序为第一区块序列501中的实体区块400、401、402、403、404、405、406、407,其中实体区块400、401、402、403、404、405、406、407各自的坏实体页面总数目为“7”、“5”、“3”、“3”、“3”、“2”、“2”、“1”。79.如同框线501(1)与框线501(2)所示,实体区块404、405、407各自的坏实体页面总数目皆相等(皆为3);实体区块400、402各自的坏实体页面总数目皆相等(皆为2)。处理器211可识别实体区块404、405、407为目标实体区块404、405、407,识别实体区块400、402为目标实体区块400、402,并且分别对所述不同群的目标实体区块来执行进一步的排序(即,第二排序)。80.例如,如箭头a52所示,对于框线501(1)中的这群目标实体区块404、405、407,处理器211会利用目标实体区块404、405、407各自的区块错误比特数“3339”、“1834”、“2345”、由大至小,来对目标实体区块404、405、407执行进一步的第二排序;对于框线501(2)中的这群目标实体区块400、402,处理器211会利用目标实体区块400、402各自的区块错误比特数“3046”、“3752”、由大至小,来对目标实体区块404、405、407执行进一步的第二排序。81.也就是说,基于目标实体区块404、405、407各自的区块错误比特数“3339”、“1834”、“2345”,目标实体区块404、405、407会被重新排序为目标实体区块404、407、405;基于目标实体区块400、402各自的区块错误比特数“3046”、“3752”,目标实体区块400、402会被重新排序为目标实体区块402、400。82.在所述多个群的目标实体区块皆被重新排序后,所述第一区块序列501被更新为第二区块序列502,并且处理器211可将第二区块序列502作为欲获得的区块序列(即,步骤s254所描述的区块序列)。83.请再回到图2,在经由第一排序与第二排序而区块序列后,接着,在步骤s26中,处理器211判断所述区块序列中的所有实体区块的总空间是否等于第一预定空间。具体来说,在刚开始执行初始化操作时,可复写式非易失性存储器模块220的所有实体区块的大小(也称,原始空间(对应原始序列))会大于存储装置20的期望空间(例如,存储装置于装置上的标签上所注记的空间大小/预定大小)。处理器211可预先设定第一预定空间的大小大于所述期望空间的大小且小于所述原始空间的大小。84.反应于判定所述区块序列中的所有实体区块的总空间不等于第一预定空间,执行步骤s27(s27→否);反应于判定所述区块序列中的所有实体区块的总空间等于第一预定空间(s27→是),执行步骤s28。85.在步骤s27中,处理器211从所述区块序列中移除排序于最前方的实体区块,并且更新所述区块序列,其中所述区块序列中的所有实体区块各自为第一实体区块。具体来说,若执行步骤s27,表示处理器211认为目前区块序列中的所有实体区块的总大小仍然尚未下降至第一预定空间的大小,并且可从区块序列中的所有的第一实体区块中去剔除/移除物理状况最差的实体区块。如图5的箭头a53所示,处理器211会选择排序在区块序列502最前方的实体区块来进行移除(即,从区块序列502中删除实体区块406)。86.在步骤s28中,处理器211完成所述初始化操作,选择所述区块序列中的多个第一实体区块中的多个第二实体区块的总空间来作为第二预定空间,其中所述多个第二预定空间的大小为预定大小。具体来说,若执行步骤s27,表示处理器211认为目前区块序列中的所有实体区块的总大小已经下降至第一预定空间的大小,并且不需继续剔除在区块序列中的物理状况最差的实体区块。也就是说,淘汰物理状况较差的一或多个实体区块的程序已经完成了,并且,处理器211可从当前的区块序列中的多个第一实体区块(总空间等于第一预定空间)中选择总空间的大小等于第二预定空间的大小的多个第二实体区块,以使所述多个第二实体区块可被映射至主机系统10的多个逻辑区块。87.应注意的是,所述第二预定空间也可被称为期望空间。所述预定大小为可被所述主机系统10所使用的预定容量。88.值得一提的是,处理器211会记录在步骤s27中被移除的实体区块的实体位址于坏实体区块表中。坏实体区块表也称坏区块表(badblocktable)。处理器2111可识别在坏区块表中的一或多个坏实体区块将不会被使用。如此一来,也可避免在后续于坏区块表中的已经被判定为物理状况较差的一或多个坏实体区块被主机系统10或存储装置20所使用。换句话说,经由本实施例所提供的存储装置初始化方法,可确保没有被记录于坏实体区块表中的其他实体区块(最后所获得的区块序列中的多个第一实体区块)的物理状况是较佳的,以保证了之后数据可存储在物理状况较佳的所述其他实体区块而实现了较高的数据存储可靠度(所存储的数据较不容易出错)。89.基于上述,本发明实施例所提供的存储控制器以及存储装置初始化方法,可在对存储装置所执行的初始化操作中,利用对所有的实体区块及实体页面执行抹除操作、写入操作与读取操作,以获得相应于每个实体页面的错误比特数,从而可根据相应于每个实体页面的错误比特数来在符合存储装置的预定大小的情况下,去除物理状况较差的一或多个实体区块,以使主机系统仅可使用到物理状况较佳的实体区块。如此一来,在完成初始化操作后,可避免主机系统使用到物理状况较差的已去除的实体区块,从而增进存储装置的存储数据的可靠度。90.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。当前第1页1 2 3 当前第1页1 2 3 
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜