跟蹤對(duì)非易失性存儲(chǔ)器的區(qū)域的讀訪問(wèn)的制作方法
【專利說(shuō)明】
[0001] 相關(guān)申請(qǐng)的交叉引用
[0002] 本申請(qǐng)要求于2012年12月14日提交的美國(guó)臨時(shí)申請(qǐng)第61/737,668號(hào)以及與 2013年2月1日提交的美國(guó)申請(qǐng)第13/756,946號(hào)的優(yōu)先權(quán)。這些申請(qǐng)的每個(gè)的內(nèi)容通過(guò) 全部引用特別合并于本文中。
技術(shù)領(lǐng)域
[0003] 本公開一般涉及跟蹤對(duì)非易失性存儲(chǔ)器的訪問(wèn)。
【背景技術(shù)】
[0004] 諸如通用串行總線(USB)閃存設(shè)備或者可移除存儲(chǔ)卡的非易失性數(shù)據(jù)存儲(chǔ)設(shè)備 已經(jīng)考慮到數(shù)據(jù)和軟件應(yīng)用的增加的便攜性。閃存設(shè)備可以通過(guò)在每個(gè)閃存單元中存儲(chǔ)多 位來(lái)提高數(shù)據(jù)存儲(chǔ)密度。例如,多級(jí)單元(MLC)閃存設(shè)備提高每單元存儲(chǔ)3位、每單元存儲(chǔ) 4位或者更多來(lái)提供增加的存儲(chǔ)密度。盡管增加每單元的位數(shù)量以及降低存儲(chǔ)器特征尺寸 可以增加存儲(chǔ)器設(shè)備的存儲(chǔ)密度,但是存儲(chǔ)在存儲(chǔ)器設(shè)備處的數(shù)據(jù)的位錯(cuò)誤率也增加。
[0005] 經(jīng)常使用錯(cuò)誤校正編碼(ECC)來(lái)校正出現(xiàn)在從存儲(chǔ)器設(shè)備讀取的數(shù)據(jù)中的錯(cuò)誤。 在存儲(chǔ)之前,可以通過(guò)ECC編碼器將數(shù)據(jù)編碼以產(chǎn)生可以與數(shù)據(jù)一起存儲(chǔ)為ECC碼字的冗 余信息(例如,"奇偶校驗(yàn)位")。隨著使用更多的奇偶校驗(yàn)位,ECC的錯(cuò)誤校正能力增加,并 且存儲(chǔ)編碼的數(shù)據(jù)所需的位數(shù)量也增加。
[0006] 在存儲(chǔ)器設(shè)備中存儲(chǔ)的數(shù)據(jù)中出現(xiàn)的一個(gè)錯(cuò)誤源是由于存儲(chǔ)器設(shè)備的讀訪問(wèn)。當(dāng) 向閃存設(shè)備的字線和位線施加電壓以使能夠讀取在該字線處存儲(chǔ)的數(shù)據(jù)時(shí),由于存儲(chǔ)器設(shè) 備內(nèi)的單元間耦合,相鄰字線的閾值電壓被干擾(例如稍微增加)。讀干擾影響是累積的, 并且如果未被修正,則可能導(dǎo)致存儲(chǔ)的數(shù)據(jù)中的錯(cuò)誤數(shù)量超過(guò)數(shù)據(jù)存儲(chǔ)設(shè)備的ECC錯(cuò)誤校 正能力。
【發(fā)明內(nèi)容】
[0007] 由一組計(jì)數(shù)器跟蹤對(duì)數(shù)據(jù)存儲(chǔ)設(shè)備的非易失性存儲(chǔ)器的區(qū)域的讀訪問(wèn)。當(dāng)計(jì)數(shù)器 值指示對(duì)由計(jì)數(shù)器跟蹤的具體區(qū)域的讀訪問(wèn)的數(shù)量超過(guò)閾值量時(shí),開始對(duì)在該具體區(qū)域中 存儲(chǔ)的數(shù)據(jù)的諸如數(shù)據(jù)刷新操作或者數(shù)據(jù)移動(dòng)操作的修正動(dòng)作。因此,可以在累積的讀干 擾影響超過(guò)數(shù)據(jù)存儲(chǔ)設(shè)備的校正能力之前經(jīng)由刷新或者移動(dòng)數(shù)據(jù)來(lái)校正對(duì)存儲(chǔ)器中存儲(chǔ) 的數(shù)據(jù)的讀干擾影響。將非易失性存儲(chǔ)器邏輯分區(qū)為用于讀訪問(wèn)跟蹤的區(qū)域可以是可編程 的并且可以基于各種因素適應(yīng)性地確定以在非易失性存儲(chǔ)器內(nèi)容納對(duì)于讀干擾影響的變 換的敏感度。
【附圖說(shuō)明】
[0008] 圖1是包括配置為跟蹤對(duì)存儲(chǔ)器的多個(gè)區(qū)域的讀訪問(wèn)以開始修正動(dòng)作的數(shù)據(jù)存 儲(chǔ)設(shè)備的系統(tǒng)的具體例示性實(shí)施例的框圖;
[0009] 圖2是例示可以并入圖1的數(shù)據(jù)存儲(chǔ)設(shè)備中的組件的具體實(shí)施例的框圖;
[0010] 圖3是例示圖1的存儲(chǔ)器的邏輯分區(qū)以及計(jì)數(shù)器到存儲(chǔ)器的區(qū)域的映射的總圖; 以及
[0011] 圖4是跟蹤對(duì)非易失性存儲(chǔ)器的區(qū)域的讀訪問(wèn)的方法的具體例示性實(shí)施例的流 程圖。
【具體實(shí)施方式】
[0012] 參考圖1,系統(tǒng)100的一個(gè)具體實(shí)施例包括耦合到主機(jī)設(shè)備130的數(shù)據(jù)存儲(chǔ)設(shè)備 102。數(shù)據(jù)存儲(chǔ)設(shè)備102配置為跟蹤對(duì)非易失性存儲(chǔ)器104的多個(gè)區(qū)域的讀訪問(wèn)并且基于 跟蹤的讀訪問(wèn)開始修正動(dòng)作。
[0013] 主機(jī)設(shè)備130可以配置為提供要在非易失性存儲(chǔ)器104處存儲(chǔ)的諸如用戶數(shù)據(jù) 132的數(shù)據(jù)或者請(qǐng)求要從存儲(chǔ)器104讀取的數(shù)據(jù)。例如,主機(jī)設(shè)備130可以包括移動(dòng)電話、 音樂(lè)或視頻播放器、游戲控制臺(tái)、電子書閱讀器、個(gè)人數(shù)字助理(PDA)、諸如膝上型計(jì)算機(jī)、 筆記本計(jì)算機(jī)或者平板機(jī)的計(jì)算機(jī)、固態(tài)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器、任何其他電子設(shè)備或其任意組 合。
[0014] 數(shù)據(jù)存儲(chǔ)設(shè)備102包括耦合到控制器120的非易失性存儲(chǔ)器104。非易失性存儲(chǔ) 器104可以是諸如NAND閃存的閃存。例如,數(shù)據(jù)存儲(chǔ)設(shè)備102可以是諸如安全數(shù)字SD? 卡、微SD?卡、迷你SD.TM卡(特拉華州化手段的SD-3CLLC的商標(biāo))、多媒體卡.TM(MMC. TM)卡(維吉尼亞阿靈頓的JEDEC固態(tài)技術(shù)協(xié)會(huì)的商標(biāo))或者緊湊快閃? (CF)卡(加利福 尼亞米爾皮塔司的SanDisk公司的商標(biāo))的存儲(chǔ)卡。作為另一例子,數(shù)據(jù)存儲(chǔ)設(shè)備102可 以配置為耦合到主機(jī)設(shè)備130作為嵌入式存儲(chǔ)器,比如作為例示性例子的eMMC(維吉尼亞 阿靈頓的JEDEC固態(tài)技術(shù)協(xié)會(huì)的商標(biāo))以及eSD。
[0015] 非易失性存儲(chǔ)器104包括多組存儲(chǔ)元件,比如包括多個(gè)MLC快閃單元的多級(jí)單元 (MLC)閃存中的字線。非易失性存儲(chǔ)器104還可以包括存儲(chǔ)元件的多個(gè)塊,比如閃存的在每 個(gè)擦除塊中包括多個(gè)字線的擦除塊。非易失性存儲(chǔ)器104被邏輯分區(qū)為包括第一區(qū)域(區(qū) 域1) 110和第N區(qū)域(區(qū)域N) 112的多個(gè)區(qū)域,其中N是大于1的整數(shù)。每個(gè)區(qū)域110-112 可以包括一個(gè)或多個(gè)字線、塊或者非易失性存儲(chǔ)器104的其他部分。為了例示,在其中非易 失性存儲(chǔ)器104包括多個(gè)陣列、多個(gè)平面、多個(gè)裸片或其任意組合的實(shí)現(xiàn)方式中,每個(gè)區(qū)域 110-112可以包括在單個(gè)陣列、平面或者裸片內(nèi)的多個(gè)字線。作為另一例子,單個(gè)區(qū)域(例 如第一區(qū)域110)可以跨越多個(gè)陣列、平面、或者裸片、或其任意組合。為了例示,第一區(qū)域 110可以包括在第一裸片內(nèi)的存儲(chǔ)元件以及在第二裸片內(nèi)的存儲(chǔ)元件。
[0016] 控制器120配置為在數(shù)據(jù)存儲(chǔ)設(shè)備120操作地耦合到主機(jī)設(shè)備130時(shí)從主機(jī)設(shè)備 130接收數(shù)據(jù)和指令以及向主機(jī)設(shè)備130發(fā)送數(shù)據(jù)??刂破?20進(jìn)一步配置為向存儲(chǔ)器104 發(fā)送數(shù)據(jù)和命令以及從存儲(chǔ)器104接收數(shù)據(jù)。例如,控制器120配置為發(fā)送數(shù)據(jù)和寫命令 以指示非易失性存儲(chǔ)器104將該數(shù)據(jù)存儲(chǔ)到指定的地址。作為另一例子,控制器120配置 為發(fā)送讀命令以從非易失性存儲(chǔ)器104的指定地址讀取數(shù)據(jù)。
[0017] 控制器120可以包括配置為接收要被存儲(chǔ)到非易失性存儲(chǔ)器104的數(shù)據(jù)并產(chǎn)生碼 字的ECC引擎(未示出)。例如,ECC引擎可以包括配置為使用ECC編碼方案來(lái)編碼數(shù)據(jù)的 編碼器,比如里德所羅門編碼器、博斯-喬赫里-霍克文黑姆(BCH)編碼器、低密度奇偶校 驗(yàn)(LDPC)編碼器、Turbo碼編碼器、配置為根據(jù)一個(gè)或多個(gè)其他ECC編碼方案來(lái)編碼數(shù)據(jù) 的編碼器、或其任意組合。ECC引擎可以包括配置為對(duì)從非易失性存儲(chǔ)器104讀取的數(shù)據(jù)解 碼以檢測(cè)并校正可能存在于數(shù)據(jù)中的位錯(cuò)誤達(dá)ECC方案的錯(cuò)誤校正能力的解碼器。
[0018] 控制器120包括配置為跟蹤對(duì)非易失性存儲(chǔ)器104進(jìn)行的讀訪問(wèn)的一組計(jì)數(shù)器 122。該組計(jì)數(shù)器122包括多個(gè)計(jì)數(shù)器,包括第一計(jì)數(shù)器(計(jì)數(shù)器1)140和第N計(jì)數(shù)器(計(jì) 數(shù)器N) 142。第一計(jì)數(shù)器140具有第一計(jì)數(shù)器值(值1) 160,該第一計(jì)數(shù)器值160可由控制 器120更新以跟蹤對(duì)第一區(qū)域110的存儲(chǔ)器訪問(wèn)。第N計(jì)數(shù)器142具有也可由控制器120 更新以跟蹤對(duì)第N區(qū)域112的存儲(chǔ)器訪問(wèn)的第N值162。
[0019] 控制器120包括存儲(chǔ)器管理引擎124。存儲(chǔ)器管理引擎124配置為從主機(jī)設(shè)備130 接收讀請(qǐng)求并確定與所請(qǐng)求的數(shù)據(jù)對(duì)應(yīng)的讀取地址152。例如,讀取地址152可以對(duì)應(yīng)于非 易失性存儲(chǔ)器104內(nèi)的一個(gè)或多個(gè)字線的物理地址。為了例示,存儲(chǔ)器管理引擎124可以 接收存儲(chǔ)在非易失性存儲(chǔ)器104中的所請(qǐng)求的數(shù)據(jù)的邏輯地址并且可以進(jìn)行地址翻譯以 產(chǎn)生物理讀取地址,比如讀取地址152。存儲(chǔ)器管理引擎124配置為產(chǎn)生從非易失性存儲(chǔ)器 104的讀取地址152讀取數(shù)據(jù)的讀命令150。另外,存儲(chǔ)器管理引擎124配置為將讀取地址 152提供給該組讀取訪問(wèn)計(jì)數(shù)器122。
[0020] 響應(yīng)于確定與要從非易失性存儲(chǔ)器104讀取的數(shù)據(jù)的物理地址對(duì)應(yīng)的讀取地址 152,控制器120可以選擇與由該組計(jì)數(shù)器122中的具體計(jì)數(shù)器跟蹤的非易失性存儲(chǔ)器104 的區(qū)域?qū)?yīng)的該具體計(jì)數(shù)器。例如,當(dāng)讀取地址152對(duì)應(yīng)于第一區(qū)域110中的數(shù)據(jù)時(shí),控制 器120可以確定第一計(jì)數(shù)器140維持對(duì)第一區(qū)域110的讀訪問(wèn)的計(jì)數(shù),因此,第一值160可 以由第一計(jì)數(shù)器140更新。作為另一例子,當(dāng)讀取地址152對(duì)應(yīng)于由第N計(jì)數(shù)器142跟蹤 的第N區(qū)域112中的地址時(shí),第N計(jì)數(shù)器142的第N值162可以被更新為指示讀取操作。
[0021] 與對(duì)由相應(yīng)的計(jì)數(shù)器140-142跟蹤的具體區(qū)域的訪問(wèn)的計(jì)數(shù)對(duì)應(yīng)的值160-162的 每個(gè)與閾值170比較。響應(yīng)于確定該值160-162中的一個(gè)或多個(gè)等于或者超過(guò)該閾值170, 可以產(chǎn)生標(biāo)志154并將其提供給存儲(chǔ)器管理引擎124。存儲(chǔ)器管理引擎124可以接收該標(biāo) 志154并且可以開始第非易失性存儲(chǔ)器104的相應(yīng)區(qū)域的修正動(dòng)作126。
[0022] 例如,當(dāng)?shù)谝恢?60指示對(duì)第一區(qū)域110的讀訪問(wèn)的計(jì)數(shù)等于或超過(guò)閾值170時(shí), 控制器120可以配置為開始對(duì)該第一區(qū)域110的修正動(dòng)作126。修正動(dòng)作126可以包括指 示相應(yīng)區(qū)域110中的數(shù)據(jù)移動(dòng)到非易失性存儲(chǔ)器104的不同存儲(chǔ)器位置的數(shù)據(jù)移動(dòng)操作。 作為另一例子,修正動(dòng)作126可以包括數(shù)據(jù)刷新操作。該數(shù)據(jù)刷新操作可以包括從該區(qū)域 110的每個(gè)塊復(fù)制數(shù)據(jù)、擦除具體塊以及將該數(shù)