本申請要求于2015年5月13日提交的臨時(shí)申請?zhí)枮?2/161,094的美國臨時(shí)申請的權(quán)益,其全部內(nèi)容在此通過引用并入本文。
技術(shù)領(lǐng)域
本公開的示例性實(shí)施例涉及一種存儲(chǔ)器系統(tǒng)及其操作方法。
背景技術(shù):
計(jì)算機(jī)環(huán)境范例已經(jīng)轉(zhuǎn)變至可隨時(shí)隨地使用的普適計(jì)算系統(tǒng)。由于該事實(shí),諸如移動(dòng)電話、數(shù)碼相機(jī)和筆記本電腦的便攜式電子裝置的使用一直快速增加。這些便攜式電子裝置通常使用具有存儲(chǔ)器裝置即數(shù)據(jù)存儲(chǔ)裝置的存儲(chǔ)器系統(tǒng)。數(shù)據(jù)存儲(chǔ)裝置被用作便攜式電子裝置的主存儲(chǔ)器裝置或輔助存儲(chǔ)器裝置。
由于使用存儲(chǔ)器裝置的數(shù)據(jù)存儲(chǔ)裝置沒有移動(dòng)部件,所以它們提供良好的穩(wěn)定性、耐用性、高的信息存取速度以及低功耗。具有這種優(yōu)點(diǎn)的數(shù)據(jù)存儲(chǔ)裝置的示例包括通用串行總線(USB)存儲(chǔ)器裝置、具有各種接口的存儲(chǔ)卡以及固態(tài)驅(qū)動(dòng)器(SSD)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的一方面包括存儲(chǔ)器系統(tǒng)。存儲(chǔ)器系統(tǒng)可包括:存儲(chǔ)器,其包括多個(gè)存儲(chǔ)塊;以及控制器,其適于當(dāng)多個(gè)塊中的塊被讀取時(shí)使對應(yīng)于該塊的第一計(jì)數(shù)器增值,當(dāng)?shù)谝挥?jì)數(shù)器達(dá)到預(yù)先定義的計(jì)數(shù)數(shù)量時(shí)使第二計(jì)數(shù)器增值,當(dāng)?shù)诙?jì)數(shù)器被增值時(shí)確定該塊的錯(cuò)誤計(jì)數(shù)以及當(dāng)錯(cuò)誤計(jì)數(shù)超過錯(cuò)誤閾值時(shí)啟動(dòng)收回功能。
本發(fā)明的進(jìn)一步的方面包括方法。該方法可包括當(dāng)多個(gè)塊中的塊被讀取時(shí)使對應(yīng)于該塊的第一計(jì)數(shù)器增值,當(dāng)?shù)谝挥?jì)數(shù)器達(dá)到預(yù)先定 義的計(jì)數(shù)數(shù)量時(shí)使第二計(jì)數(shù)器增值,當(dāng)?shù)诙?jì)數(shù)器被增值時(shí)確定該塊的錯(cuò)誤計(jì)數(shù)以及當(dāng)錯(cuò)誤計(jì)數(shù)超過錯(cuò)誤閾值時(shí)啟動(dòng)收回功能。
本發(fā)明的附加方面包括存儲(chǔ)器裝置。存儲(chǔ)器裝置可包括:存儲(chǔ)器,其包括多個(gè)存儲(chǔ)塊;第一計(jì)數(shù)器;第二計(jì)數(shù)器;以及控制器,其被配置成當(dāng)多個(gè)塊中的塊被讀取時(shí)使對應(yīng)于該塊的第一計(jì)數(shù)器增值、當(dāng)?shù)谝挥?jì)數(shù)器達(dá)到預(yù)先定義的計(jì)數(shù)數(shù)量時(shí)使第二計(jì)數(shù)器增值,當(dāng)?shù)诙?jì)數(shù)器被增值時(shí)確定該塊的錯(cuò)誤計(jì)數(shù)以及當(dāng)錯(cuò)誤計(jì)數(shù)超過錯(cuò)誤閾值時(shí)啟動(dòng)收回功能。
附圖說明
圖1是示意性示出根據(jù)本發(fā)明的實(shí)施例的存儲(chǔ)器系統(tǒng)的框圖。
圖2是示出根據(jù)本發(fā)明的實(shí)施例的存儲(chǔ)器系統(tǒng)的框圖。
圖3是示出根據(jù)本發(fā)明的實(shí)施例的存儲(chǔ)器裝置的存儲(chǔ)塊的電路圖。
圖4是根據(jù)本發(fā)明的方面的示例系統(tǒng)的簡圖。
圖5是根據(jù)本發(fā)明的方面的方法的步驟的流程圖。
圖6是根據(jù)本發(fā)明的方面的算法。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述各種實(shí)施例。然而,本發(fā)明可以不同的形式呈現(xiàn)且不應(yīng)被解釋為限于在本文中提出的實(shí)施例。而是,這些實(shí)施例被提供使得本公開將是徹底且完整的并將本發(fā)明的范圍充分傳達(dá)給本領(lǐng)域技術(shù)人員。在整個(gè)公開中,相似的參考編號指的是本發(fā)明的各種附圖和實(shí)施例中的相似部件。
本發(fā)明可以多種方式實(shí)施,包括作為進(jìn)程;設(shè)備;系統(tǒng);物質(zhì)組分;呈現(xiàn)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的計(jì)算機(jī)程序產(chǎn)品;和/或處理器,諸如適用于執(zhí)行存儲(chǔ)在聯(lián)接至處理器的存儲(chǔ)器上和/或由聯(lián)接至處理器的存儲(chǔ)器提供的指令的處理器。在本說明書中,這些實(shí)施例或本發(fā)明可采用的任何其它形式可被稱為技術(shù)。通常,公開的進(jìn)程的步驟的順序可在本發(fā)明的范圍內(nèi)改變。除非另有說明,否則諸如被描述為適 用于執(zhí)行任務(wù)的處理器或存儲(chǔ)器的組件可被實(shí)施為在給定時(shí)間臨時(shí)適用于執(zhí)行任務(wù)的一般組件或被制造為執(zhí)行任務(wù)的專用組件。如在此所使用的,術(shù)語“處理器”是指適用于處理數(shù)據(jù)的一個(gè)或多個(gè)裝置、電路和/或處理核心,諸如計(jì)算機(jī)程序指令。
下面連同示出本發(fā)明的原理的附圖一起提供本發(fā)明的一個(gè)或多個(gè)實(shí)施例的詳細(xì)說明。結(jié)合這些實(shí)施例描述本發(fā)明,但本發(fā)明不限于任意實(shí)施例。本發(fā)明的范圍僅由權(quán)利要求限制且本發(fā)明包含許多可選方案、變型和等同方案。為了能夠徹底理解本發(fā)明,在下面的描述中闡述許多具體細(xì)節(jié)。這些細(xì)節(jié)被提供以用于示例的目的,且在沒有一些或全部這些具體細(xì)節(jié)的情況下,本發(fā)明可根據(jù)權(quán)利要求來實(shí)施。為了清楚的目的,沒有詳細(xì)描述在與本發(fā)明相關(guān)的技術(shù)領(lǐng)域中已知的技術(shù)材料使得本發(fā)明沒有被不必要地模糊。
圖1是示意性示出根據(jù)本發(fā)明的實(shí)施例的存儲(chǔ)器系統(tǒng)10的框圖。
參照圖1,存儲(chǔ)器系統(tǒng)10可包括存儲(chǔ)器控制器100和半導(dǎo)體存儲(chǔ)器裝置200。
存儲(chǔ)器控制器100可控制半導(dǎo)體存儲(chǔ)器裝置200的全部操作。
半導(dǎo)體存儲(chǔ)器裝置200可在存儲(chǔ)器控制器100的控制下執(zhí)行一個(gè)或多個(gè)擦除操作、編程操作和讀取操作。半導(dǎo)體存儲(chǔ)器裝置200可通過輸入/輸出線接收命令CMD、地址ADDR和數(shù)據(jù)DATA。半導(dǎo)體存儲(chǔ)器裝置200可通過電源線接收電源PWR以及通過控制線接收控制信號CTRL??刂菩盘柨砂铈i存啟用(CLE)信號、地址鎖存啟用(ALE)信號、芯片啟用(CE)信號、寫入啟用(WE)信號、讀取啟用(RE)信號等。
存儲(chǔ)器控制器100和半導(dǎo)體存儲(chǔ)器裝置200可被集成在單個(gè)半導(dǎo)體裝置中。例如,存儲(chǔ)器控制器100和半導(dǎo)體存儲(chǔ)器裝置200可被集成在諸如固態(tài)驅(qū)動(dòng)器(SSD)的單個(gè)半導(dǎo)體裝置中。固態(tài)驅(qū)動(dòng)器可包括用于將數(shù)據(jù)存儲(chǔ)在其中的存儲(chǔ)裝置。當(dāng)半導(dǎo)體存儲(chǔ)器系統(tǒng)10被用在SSD 中時(shí),聯(lián)接至存儲(chǔ)器系統(tǒng)10的主機(jī)(未示出)的操作速度可顯著提高。
存儲(chǔ)器控制器100和半導(dǎo)體存儲(chǔ)器裝置200可被集成在諸如存儲(chǔ)卡的單個(gè)半導(dǎo)體裝置中。例如,存儲(chǔ)器控制器100和半導(dǎo)體存儲(chǔ)器裝置200可被集成在單個(gè)半導(dǎo)體裝置中以配置諸如以下的存儲(chǔ)卡:個(gè)人計(jì)算機(jī)存儲(chǔ)卡國際協(xié)會(huì)(PCMCIA)的PC卡、標(biāo)準(zhǔn)閃存(CF)卡、智能多媒體(SM)卡、記憶棒、多媒體卡(MMC)、減小尺寸的多媒體卡(RS-MMC)、微型版MMC(微型MMC)、安全數(shù)碼(SD)卡、迷你安全數(shù)字(迷你SD)卡、微型安全數(shù)字(微型SD)卡、安全數(shù)字高容量(SDHC)以及通用閃速存儲(chǔ)器(UFS)。
作為另一個(gè)示例,存儲(chǔ)器系統(tǒng)10可被設(shè)置為諸如以下的包括電子裝置的各種元件中的一個(gè):計(jì)算機(jī)、超便攜移動(dòng)PC(UMPC)、工作站、上網(wǎng)本計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)、便攜式計(jì)算機(jī)、網(wǎng)絡(luò)平板PC、無線電話、移動(dòng)電話、智能電話、電子書閱讀器、便攜式多媒體播放器(PMP)、便攜式游戲裝置、航海裝置、黑匣子、數(shù)碼相機(jī)、數(shù)碼多媒體廣播(DMB)播放器、三維電視、智能電視、數(shù)字音頻記錄器、數(shù)字音頻播放器、數(shù)字圖片記錄器、數(shù)字圖片播放器、數(shù)字視頻記錄器、數(shù)字視頻播放器、數(shù)據(jù)中心的存儲(chǔ)裝置、能夠在無線環(huán)境下接收和傳輸信息的裝置、家庭網(wǎng)絡(luò)的電子裝置中的一個(gè)、計(jì)算機(jī)網(wǎng)絡(luò)的電子裝置中的一個(gè)、遠(yuǎn)程信息處理網(wǎng)絡(luò)的電子裝置中的一個(gè)、射頻識別(RFID)裝置或計(jì)算系統(tǒng)的元件裝置。
圖2是示出根據(jù)本發(fā)明的實(shí)施例的存儲(chǔ)器系統(tǒng)的詳細(xì)框圖。例如,圖2的存儲(chǔ)器系統(tǒng)可描述圖1中示出的存儲(chǔ)器系統(tǒng)10。
參照圖2,存儲(chǔ)器系統(tǒng)10可包括存儲(chǔ)器控制器100和半導(dǎo)體存儲(chǔ)器裝置200。存儲(chǔ)器系統(tǒng)10可響應(yīng)于來自主機(jī)裝置的請求而操作,尤其是,存儲(chǔ)待被由主機(jī)裝置訪問的數(shù)據(jù)。
主機(jī)裝置可利用各種電子裝置中的任意一種來實(shí)施。在一些實(shí)施例中,主機(jī)裝置可包括諸如臺(tái)式計(jì)算機(jī)、工作站、三維(3D)電視、 智能電視、數(shù)字音頻記錄器、數(shù)字音頻播放器、數(shù)字圖像記錄器、數(shù)字圖像播放器、數(shù)字視頻記錄器和數(shù)字視頻播放器的電子裝置。在一些實(shí)施例,主機(jī)裝置可包括諸如移動(dòng)電話、智能電話、電子書、MP3播放器、便攜式多媒體播放器(PMP)和便攜式游戲機(jī)的便攜式電子裝置。
存儲(chǔ)器裝置200可存儲(chǔ)待被由主機(jī)裝置訪問的數(shù)據(jù)。
存儲(chǔ)器裝置200可利用諸如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)和靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)的易失性存儲(chǔ)器裝置或諸如只讀存儲(chǔ)器(ROM)、掩膜ROM(MROM)、可編程ROM(PROM)、可擦可編程ROM(EPROM)、電可擦可編程ROM(EEPROM)、鐵電隨機(jī)存取存儲(chǔ)器(FRAM)、相變RAM(PRAM)、磁阻RAM(MRAM)和電阻式RAM(RRAM)的非易失存儲(chǔ)器裝置來實(shí)施。
控制器100可控制存儲(chǔ)器裝置200中數(shù)據(jù)的存儲(chǔ)。例如,控制器100可響應(yīng)于來自主機(jī)裝置的請求控制存儲(chǔ)器裝置200??刂破?00可將從存儲(chǔ)器裝置200讀取的數(shù)據(jù)提供至主機(jī)裝置,并將從主機(jī)裝置提供的數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器裝置200中。
控制器100可包括通過總線160聯(lián)接的存儲(chǔ)單元110、控制單元120、錯(cuò)誤糾正碼(ECC)單元130、主機(jī)接口140和存儲(chǔ)器接口150。
存儲(chǔ)單元110可用作存儲(chǔ)器系統(tǒng)10和控制器100的工作存儲(chǔ)器并存儲(chǔ)用于驅(qū)動(dòng)存儲(chǔ)器系統(tǒng)10和控制器100的數(shù)據(jù)。當(dāng)控制器100控制存儲(chǔ)器裝置200的操作時(shí),存儲(chǔ)單元110可存儲(chǔ)被控制器100和存儲(chǔ)器裝置200用于諸如讀取操作、寫入操作、編程操作和擦除操作的數(shù)據(jù)。
存儲(chǔ)單元110可利用易失性存儲(chǔ)器來實(shí)施。存儲(chǔ)單元110可利用靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)或動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)來實(shí)施。如上所述,存儲(chǔ)單元110可將主機(jī)裝置使用的數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器裝置200中以用于讀取操作和寫入操作。為了存儲(chǔ)數(shù)據(jù),存儲(chǔ)單元110可包括編程存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器、寫入緩沖器、讀取緩沖器、映射緩沖 器等。
控制單元120可響應(yīng)于來自主機(jī)裝置的寫入請求或讀取請求而控制存儲(chǔ)器系統(tǒng)10的一般操作和用于存儲(chǔ)器裝置200的寫入操作或讀取操作??刂茊卧?20可驅(qū)動(dòng)被稱為閃存轉(zhuǎn)換層(FTL)的固件以控制存儲(chǔ)器系統(tǒng)10的一般操作。例如,F(xiàn)TL可執(zhí)行諸如邏輯-物理(L2P)映射、損耗均衡、碎片收集和壞塊處理的操作。L2P映射被稱為邏輯塊尋址(LBA)。
ECC單元130可檢測并糾正在讀取操作期間從存儲(chǔ)器裝置200讀取的數(shù)據(jù)中的錯(cuò)誤。當(dāng)錯(cuò)誤位的數(shù)量大于或等于可糾正錯(cuò)誤位的閾值數(shù)量時(shí),ECC單元130可不糾正錯(cuò)誤位,而是可輸出表示糾正錯(cuò)誤位失敗的錯(cuò)誤糾正失敗信號。
在一些實(shí)施例中,ECC單元130可基于諸如低密度奇偶檢查(LDPC)碼、博斯-查德胡里-霍昆格姆(BCH)碼、渦輪(turbo)碼、渦輪乘積碼(TPC)、里德-所羅門(RS)碼、卷積碼、遞歸系統(tǒng)碼(RSC)、網(wǎng)格編碼調(diào)制(TCM)、分組編碼調(diào)制(BCM)等的編碼調(diào)制來執(zhí)行錯(cuò)誤糾正操作。ECC單元130可包括用于錯(cuò)誤糾正操作的所有電路、系統(tǒng)或裝置。
主機(jī)接口140可通過諸如通用串行總線(USB)、多媒體卡(MMC)、外圍組件互連高速(PCI-E)、小型計(jì)算機(jī)系統(tǒng)接口(SCSI)、串列SCSI(SAS)、串行高級技術(shù)附件(SATA)、并行高級技術(shù)附件(PATA)、增強(qiáng)型小型磁盤接口(ESDI)和集成驅(qū)動(dòng)電路(IDE)的各種接口協(xié)議中的一個(gè)或多個(gè)與主機(jī)裝置通信。
存儲(chǔ)器接口150可提供控制器100和存儲(chǔ)器裝置200之間的接口以允許控制器100響應(yīng)于來自主機(jī)裝置的請求而控制存儲(chǔ)器裝置200。存儲(chǔ)器接口150可在CPU120的控制器下生成用于存儲(chǔ)器裝置200的控制器信號并處理數(shù)據(jù)。當(dāng)存儲(chǔ)器裝置200是諸如NAND閃速存儲(chǔ)器的閃速存儲(chǔ)器時(shí),存儲(chǔ)器接口150可在CPU120的控制器下生成用于存儲(chǔ)器裝 置200的控制器信號并處理數(shù)據(jù)。
存儲(chǔ)器裝置200可包括存儲(chǔ)單元陣列210、控制電路220、電壓生成電路230、行解碼器240、頁面緩沖器250、列解碼器260和輸入/輸出電路270。存儲(chǔ)單元陣列210可包括多個(gè)存儲(chǔ)塊211并可將數(shù)據(jù)存儲(chǔ)在其中。電壓生成電路230、行解碼器240、頁面緩沖器250、列解碼器260和輸入/輸出電路270形成用于存儲(chǔ)器單元陣列210的外圍電路。外圍電路可執(zhí)行存儲(chǔ)器單元陣列210的編程操作、讀取操作或擦除操作??刂齐娐?20可控制外圍電路。
電壓生成電路230可生成具有各種電平的操作電壓。例如,在擦除操作中,電壓生成電路230可生成具有各種電平的操作電壓,諸如擦除電壓和過電壓。
行解碼器240可連接至電壓生成電路230和多個(gè)存儲(chǔ)塊211。行解碼器240可響應(yīng)于由控制電路220生成的行地址RADD選擇多個(gè)存儲(chǔ)塊211中的至少一個(gè)存儲(chǔ)塊,并將從電壓生成電路230供應(yīng)的操作電壓傳輸至在多個(gè)存儲(chǔ)塊211中選擇的存儲(chǔ)塊。
頁面緩沖器250通過位線BL(未示出)連接至存儲(chǔ)器單元陣列210。頁面緩沖器250可響應(yīng)于由控制電路220生成的頁面緩沖器控制信號利用正電壓對位線BL預(yù)充電、在編程操作中將數(shù)據(jù)傳輸至選擇的存儲(chǔ)塊/在讀取操作中從選擇的存儲(chǔ)塊接收數(shù)據(jù)或臨時(shí)存儲(chǔ)傳輸?shù)臄?shù)據(jù)。
列解碼器260可將數(shù)據(jù)傳輸至頁面緩沖器250/從頁面緩沖器250接收數(shù)據(jù)或?qū)?shù)據(jù)傳輸至輸入電路270/從輸出電路270接收數(shù)據(jù)。
輸入/輸出電路270可通過輸入/輸出電路270將從外部裝置(例如,存儲(chǔ)器控制器100)傳輸?shù)拿詈偷刂穫鬏斨量刂齐娐?20、將數(shù)據(jù)從外部裝置傳輸至列解碼器260或?qū)?shù)據(jù)從列解碼器260輸出至外部裝置。
控制電路220可響應(yīng)于命令和地址控制外圍電路。
圖3是示出根據(jù)本發(fā)明的實(shí)施例的半導(dǎo)體存儲(chǔ)器裝置的存儲(chǔ)塊的 電路圖。例如,圖3的存儲(chǔ)塊可以是圖2中示出的存儲(chǔ)器單元陣列210的存儲(chǔ)塊211。
參照圖3,存儲(chǔ)塊211可包括分別聯(lián)接至位線BL0至BLm-1的多個(gè)單元字符串221。每列的單元字符串可包括一個(gè)或多個(gè)漏極選擇晶體管DST和一個(gè)或多個(gè)源極選擇晶體管SST。多個(gè)存儲(chǔ)器單元或存儲(chǔ)器單元晶體管可串行地聯(lián)接在選擇晶體管DST和SST。存儲(chǔ)單元MC0至MCn-1中的每個(gè)可由每個(gè)單元中都存儲(chǔ)多位數(shù)據(jù)信息的多層單元(MLC)形成。單元字符串221可分別電聯(lián)接至對應(yīng)的位線BL0至BLm-1。
在一些實(shí)施例中,存儲(chǔ)塊211可包括NAND型閃速存儲(chǔ)單元。然而,存儲(chǔ)塊211不限于NAND閃速存儲(chǔ)器,而是可包括NOR型閃速存儲(chǔ)器、結(jié)合兩個(gè)或多個(gè)類型的存儲(chǔ)單元的混合閃速存儲(chǔ)器和控制器被嵌入在存儲(chǔ)芯片內(nèi)部的1-NAND閃速存儲(chǔ)器。
累積讀取干擾錯(cuò)誤是閃存錯(cuò)誤的主要來源之一。當(dāng)字線上的單元被讀取時(shí),相同塊中的其它字線上的單元將受到讀取操作期間應(yīng)用的相對高的Vpass電壓的干擾。盡管一個(gè)讀取操作對鄰近字線具有非常小的影響,但隨時(shí)間的累積讀取可能最終引入足夠的錯(cuò)誤,使得錯(cuò)誤的總數(shù)將大于ECC錯(cuò)誤糾正能力,導(dǎo)致不可糾正的錯(cuò)誤和數(shù)據(jù)丟失。
讀取干擾錯(cuò)誤可通過閃存糾正和刷新來克服。主要理念是在閃存介質(zhì)累積比ECC可糾正的錯(cuò)誤更多的過多錯(cuò)誤之前從閃速存儲(chǔ)器讀取數(shù)據(jù)、利用閃速控制器中的ECC引擎糾正這些錯(cuò)誤以及將無錯(cuò)誤數(shù)據(jù)重編程到閃速存儲(chǔ)器中。一個(gè)關(guān)鍵問題是在錯(cuò)誤變成不可糾正之前何時(shí)收回讀取干擾下的數(shù)據(jù)。
當(dāng)前解決方案的問題是它們假設(shè)錯(cuò)誤計(jì)數(shù)隨著讀取干擾計(jì)數(shù)的數(shù)量均勻增加。然而,這在相同的P/E循環(huán)計(jì)數(shù)下對于閃速存儲(chǔ)器是大致正確的,但其在不同的P/E循環(huán)計(jì)數(shù)下對于閃速存儲(chǔ)器是不正確的。每當(dāng)單元讀取在高P/E循環(huán)下比在低P/E循環(huán)下大時(shí),讀取干擾錯(cuò)誤計(jì)數(shù)增加。當(dāng)閃速存儲(chǔ)器與更多P/E循環(huán)一起使用時(shí),當(dāng)前解決方案失敗的 可能性較大。
即使閃存塊在相同的P/E循環(huán)計(jì)數(shù)下,相同的讀取干擾計(jì)數(shù)可引起不同的錯(cuò)誤。由于讀取干擾將需要一些時(shí)間,所以兩個(gè)鄰近字線檢查之間增加的錯(cuò)誤將是讀取干擾引起的錯(cuò)誤加上兩個(gè)讀取干擾檢查期間滯留引起的錯(cuò)誤之和。為讀取密集工作負(fù)載,兩個(gè)讀取檢查之間的滯留時(shí)間較短。然而,為了讀取稀疏工作負(fù)載,滯留時(shí)間較長。在兩個(gè)鄰近檢查期間由讀取干擾引起的錯(cuò)誤增加對于讀取密集工作負(fù)載和讀取稀疏工作負(fù)載大約相同。然而,滯留時(shí)間可顯著不同,因?yàn)閷τ谧x取稀疏工作負(fù)載的兩個(gè)鄰近檢查之間的期間可遠(yuǎn)遠(yuǎn)大于讀取密集工作負(fù)載。
參照圖4,示出用于解決上述問題的示例系統(tǒng)40。系統(tǒng)40包括易失性存儲(chǔ)器(DRAM)400和存儲(chǔ)器402。DRAM 400可包括LBA表410和諸如上述控制器的控制器404。存儲(chǔ)器402可包括多個(gè)塊、用于主機(jī)寫入的開放塊430和用于垃圾收集的開放塊440。系統(tǒng)40還包括第一計(jì)數(shù)器450和第二計(jì)數(shù)器460。計(jì)數(shù)器450和460可裝在存儲(chǔ)器402和/或DRAM 400上,或可選地,裝在單獨(dú)的存儲(chǔ)器上。
圖5是用于確定何時(shí)執(zhí)行收回功能的步驟的流程圖50。在此描述的步驟和進(jìn)程的功能性可由諸如上文所述的控制器來操作。
在步驟500中,當(dāng)塊被讀取時(shí),使對應(yīng)于塊的第一計(jì)數(shù)器增值。每次讀取至其對應(yīng)的塊后第一計(jì)數(shù)器增加,且當(dāng)?shù)谝挥?jì)數(shù)器達(dá)到特定的預(yù)先定義的計(jì)數(shù)數(shù)量時(shí),檢查鄰近字線錯(cuò)誤率。預(yù)先定義的計(jì)數(shù)數(shù)量可被設(shè)置為約10000次讀取或根據(jù)系統(tǒng)的特殊規(guī)格所期望的其它值。
在步驟502中,當(dāng)?shù)谝挥?jì)數(shù)器達(dá)到預(yù)先定義的計(jì)數(shù)數(shù)量時(shí),使第二計(jì)數(shù)器增值。第二計(jì)數(shù)器可被配置成計(jì)數(shù)第一計(jì)數(shù)器達(dá)到預(yù)先定義的計(jì)數(shù)數(shù)量的次數(shù)(例如,每個(gè)塊已經(jīng)經(jīng)歷的讀取周期的數(shù)量)。每當(dāng)對塊的讀取命中的數(shù)量已經(jīng)達(dá)到時(shí),第二計(jì)數(shù)器可增加1。第一計(jì)數(shù)器可以是至少14位以表示10K次讀取。第二計(jì)數(shù)器的位數(shù)可能根據(jù)系統(tǒng)需 求而小得多。我們也注意到,10K次讀取干擾是示例性而非獨(dú)有的。如本領(lǐng)域技術(shù)人員將從本文的公開所理解的,其它合適的讀取干擾計(jì)數(shù)可根據(jù)存儲(chǔ)器質(zhì)量和系統(tǒng)需求而被利用。
每當(dāng)?shù)谝挥?jì)數(shù)器達(dá)到預(yù)先定義的計(jì)數(shù)數(shù)量時(shí),控制器可隨機(jī)選擇鄰近字線中的一個(gè)來讀取。在實(shí)施例中,覆蓋擦除狀態(tài)和其直接更高的狀態(tài)的交叉點(diǎn)的頁面被讀取。例如,對于2-位MLC NAND閃速存儲(chǔ)器,MSB頁面錯(cuò)誤率被驗(yàn)證,其包含擦除狀態(tài)和P1狀態(tài)之間的過渡。這種策略將被應(yīng)用于3-位TLC和每個(gè)單元可包含更多位數(shù)的未來的閃速存儲(chǔ)器。
在步驟504中,當(dāng)?shù)诙?jì)數(shù)器被增值時(shí),確定錯(cuò)誤計(jì)數(shù),且在步驟506中,當(dāng)錯(cuò)誤計(jì)數(shù)超過錯(cuò)誤閾值時(shí),啟動(dòng)收回功能。
當(dāng)?shù)诙?jì)數(shù)數(shù)量等于1時(shí),可比較錯(cuò)誤計(jì)數(shù)與ECC的錯(cuò)誤糾正能力的一半。當(dāng)其大于ECC糾正能力的一半時(shí),當(dāng)前塊中的所有有效數(shù)據(jù)將被回收??梢赃x擇50%,因?yàn)閷τ诘谝活A(yù)先定義數(shù)量的計(jì)數(shù)讀取,錯(cuò)誤計(jì)數(shù)等于大于一半的ECC糾正能力,很可能在第二預(yù)先定義數(shù)量的計(jì)數(shù)讀取后錯(cuò)誤計(jì)數(shù)將大于ECC糾正能力。因此,數(shù)據(jù)需要被收回。應(yīng)注意的是,選擇ECC糾正能力的一半的錯(cuò)誤閾值可被配置成取決于系統(tǒng)需求的其它值。
當(dāng)?shù)诙?jì)數(shù)器大于1時(shí),控制器可通過將當(dāng)前檢查的總的錯(cuò)誤計(jì)數(shù)除以第二計(jì)數(shù)器的值來計(jì)算歷史上每個(gè)預(yù)先定義的計(jì)數(shù)數(shù)量的讀取的平均錯(cuò)誤計(jì)數(shù)。當(dāng)總的錯(cuò)誤計(jì)數(shù)大于錯(cuò)誤閾值(例如,70%的ECC糾正能力),塊中的所有有效數(shù)據(jù)將像當(dāng)前SPRD解決方案一樣被回收。另外,控制器可計(jì)算系統(tǒng)在以往可容忍的錯(cuò)誤的數(shù)量以預(yù)測在下一個(gè)鄰近檢查期間將被新引入的新的錯(cuò)誤。最大的可容忍錯(cuò)誤計(jì)數(shù)為ECC糾正能力和到目前為止已經(jīng)累積的總錯(cuò)誤之差。該差可通過用于額外的設(shè)計(jì)裕度的0和1之間的系數(shù)(K)來調(diào)制。如果在歷史上的每個(gè)周期(例如,10K次讀取)的平均錯(cuò)誤增加大于ECC還可容忍的額外錯(cuò)誤, 則當(dāng)前塊中的所有有效數(shù)據(jù)將被收回,因?yàn)椴荒鼙WC錯(cuò)誤計(jì)數(shù)還能小于ECC糾正能力。另外,控制器可等待在另一個(gè)周期后檢查鄰近錯(cuò)誤計(jì)數(shù)。
額外閾值可被設(shè)置,諸如最高錯(cuò)誤閾值和最低錯(cuò)誤閾值。例如,當(dāng)最高錯(cuò)誤閾值被設(shè)置在大約70%時(shí),最低錯(cuò)誤閾值可被設(shè)置為不同(例如,50%)。對于在第一計(jì)數(shù)器第一次達(dá)到預(yù)先定義數(shù)量的計(jì)數(shù)讀取后的每次檢查,如果總的錯(cuò)誤計(jì)數(shù)小于最低錯(cuò)誤閾值,則不會(huì)觸發(fā)讀取干擾收回。如果原始錯(cuò)誤計(jì)數(shù)器大于最高錯(cuò)誤閾值,則讀取干擾收回必定被觸發(fā),如果總錯(cuò)誤在最低錯(cuò)誤閾值和最高錯(cuò)誤閾值之間,當(dāng)該塊的P/E計(jì)數(shù)小于特定閾值時(shí),沒有數(shù)據(jù)回收。否則,數(shù)據(jù)可被回收。
圖6是本文公開的方法的實(shí)施例中的示例步驟的算法60。為了說明性目的,在算法60中選擇閾值和預(yù)先定義的計(jì)數(shù)數(shù)量的值,本領(lǐng)域技術(shù)人員將理解的是,基于存儲(chǔ)器裝置的質(zhì)量和系統(tǒng)需求可選擇可選值。
首先,讀取閃存頁面,第一計(jì)數(shù)器(計(jì)數(shù)器-A)被增值。該進(jìn)程被重復(fù)直到第一計(jì)數(shù)器達(dá)到預(yù)先定義的計(jì)數(shù)數(shù)量(例如,10000)。當(dāng)?shù)谝挥?jì)數(shù)器達(dá)到預(yù)先定義的計(jì)數(shù)數(shù)量時(shí),第一計(jì)數(shù)器被重置(例如,設(shè)置為0)且第二計(jì)數(shù)器(計(jì)數(shù)器-B)被增值。然后,原始錯(cuò)誤被檢查。
然后,確定第二計(jì)數(shù)器是否等于1。如果是,則比較原始錯(cuò)誤與錯(cuò)誤閾值(例如,40%的ECC能力),如果原始錯(cuò)誤超過該閾值,則第二計(jì)數(shù)器被重置(例如,設(shè)置為0)且塊中的所有有效數(shù)據(jù)被收回。
如果第二計(jì)數(shù)器不等于1,或如果原始錯(cuò)誤不大于閾值,則每10000次讀取的平均錯(cuò)誤被計(jì)算為原始錯(cuò)誤計(jì)數(shù)除以第二計(jì)數(shù)器的值。然后,確定原始錯(cuò)誤是否超過錯(cuò)誤閾值。如果是,則第二計(jì)時(shí)器被重置且塊中的所有有效數(shù)據(jù)被收回。如果否,比較平均錯(cuò)誤計(jì)數(shù)與K×(ECC能力-原始錯(cuò)誤)的值。如果平均錯(cuò)誤計(jì)數(shù)超過該錯(cuò)誤閾值,則第二計(jì)時(shí)器被重置且塊中的所有有效數(shù)據(jù)被收回。如果否,則進(jìn)程在不啟動(dòng)收 回功能的情況下繼續(xù)。
本文公開的系統(tǒng)、裝置和方法幫助更準(zhǔn)確地預(yù)測何時(shí)收回?cái)?shù)據(jù)以及是否收回?cái)?shù)據(jù)。錯(cuò)誤的所有精確數(shù)量可以是可配置的。而且應(yīng)該注意的是,塊可處于超級塊水平,其中,多個(gè)塊可形成讀取(例如,命中塊的10K次讀取)的一個(gè)超級塊。
盡管為了清楚說明的目的已經(jīng)相當(dāng)詳細(xì)地描述了前述實(shí)施例,但本發(fā)明不限于提供的細(xì)節(jié)。存在許多實(shí)施本發(fā)明的可選方法。公開的實(shí)施例是說明性的且不是限制性的。