半導體存儲器件、存儲控制器以及存儲控制器的控制方法
【技術(shù)領域】
[0001]本發(fā)明涉及半導體存儲器件、存儲控制器以及存儲控制器的控制方法。
【背景技術(shù)】
[0002]作為非易失性半導體存儲器的一個例子,有NAND型閃存器。為了提高寫入到NAND型閃存器中的數(shù)據(jù)的可靠性,采用生成基于從主機裝置接收到的數(shù)據(jù)的糾錯碼,并寫入數(shù)據(jù)和所生成的糾錯碼的技術(shù)。
[0003]一般來說,在寫入數(shù)據(jù)的同時,向NAND型閃存器寫入糾錯碼。
[0004]在能同時寫入的數(shù)據(jù)量少的半導體存儲器件中,為了將糾錯碼相對于被寫入的數(shù)據(jù)所占有的比例限制成適合于錯誤發(fā)生概率,有時將數(shù)據(jù)的寫入定時和糾錯碼的寫入定時分開。例如,在寫入一定量的數(shù)據(jù)之后,寫入與該一定量的數(shù)據(jù)對應的糾錯碼。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供一種能夠使寫入到非易失性半導體存儲器中的數(shù)據(jù)的可靠性提高的半導體存儲器件、存儲控制器以及存儲控制器的控制方法。
[0006]根據(jù)實施方式,半導體存儲器件具備非易失性半導體存儲器和存儲控制器。存儲控制器對非易失性半導體存儲器寫入多個寫入數(shù)據(jù)和包含多個寫入數(shù)據(jù)的地址信息的第1地址管理信息,在從非易失性半導體存儲器讀取到的多個寫入數(shù)據(jù)的任意一個寫入數(shù)據(jù)發(fā)生了錯誤的情況下,對包含多個寫入數(shù)據(jù)和第1地址管理信息的糾錯組執(zhí)行糾錯處理。存儲控制器在處理對象的糾錯組內(nèi)檢測到讀取錯誤的情況下,生成包含處理對象的糾錯組內(nèi)的寫入數(shù)據(jù)的地址信息、和發(fā)生了所述讀取錯誤的錯誤位置信息的第2地址管理信息,向處理對象的糾錯組的寫入目的地中的擦除狀態(tài)的區(qū)域?qū)懭霟o效數(shù)據(jù)和第2地址管理信息。
【附圖說明】
[0007]圖1是表示第1實施方式涉及的半導體存儲器件的結(jié)構(gòu)的一例的框圖。
[0008]圖2是表示比較例的半導體存儲器件涉及的對非易失性半導體存儲器的頁數(shù)據(jù)的并行寫入的一例的圖。
[0009]圖3是表示在比較例的半導體存儲器件中在寫入期間發(fā)生了不正常的電源切斷的情況下的非易失性半導體存儲器的狀態(tài)的一例的圖。
[0010]圖4是表示在比較例的半導體存儲器件中在不正常的電源切斷后再次接通電源的時刻的非易失性半導體存儲器的狀態(tài)的一例的圖。
[0011]圖5是表示在第1實施方式涉及的半導體存儲器件中發(fā)生不正常的電源切斷、再次接通電源、執(zhí)行了初始化處理的時刻的非易失性半導體存儲器的狀態(tài)的一例的圖。
[0012]圖6是表示第1實施方式涉及的地址管理信息的內(nèi)容的一例的圖。
[0013]圖7是表示第1實施方式涉及的半導體存儲器件的初始化處理的一例的流程圖。
[0014]圖8是表示第1實施方式涉及的對半導體存儲器件的初始化對象塊的糾錯處理的一例的流程圖。
[0015]圖9是例示第2實施方式涉及的存儲裝置的框圖。
【具體實施方式】
[0016]以下,參照附圖,對發(fā)明的實施方式進行說明。此外,在以下的說明中,對大體上或?qū)嵸|(zhì)上相同的構(gòu)成要素以及功能標記同一標號,根據(jù)需要進行說明。
[0017][第1實施方式]
[0018]本實施方式的半導體存儲器件在發(fā)生該半導體存儲器件的不正常的電源切斷、接著半導體存儲器件被啟動的情況下,讀取已寫入到非易失性半導體存儲器中的數(shù)據(jù)。接著,半導體存儲器件向擦除(Erase)狀態(tài)的區(qū)域?qū)懭霟o效(Invalid)數(shù)據(jù),生成地址管理信息和對所讀取到的數(shù)據(jù)的糾錯碼,并寫入到非易失性半導體存儲器。
[0019]在本實施方式中,不正常的電源切斷后啟動時所生成的地址管理信息包含例如將頁的位置(也可以是頁的號碼(編號)、頁的地址)與存儲于該頁的數(shù)據(jù)的LBA(LogicalBlock Addressing:邏輯塊尋址)相關聯(lián)的地址信息、和表示由于在寫入中發(fā)生了不正常的電源切斷而成為錯誤的位置(頁)的錯誤位置信息。
[0020]在本實施方式中,對在針對非易失性半導體存儲器發(fā)生了讀取錯誤的情況下的處理進行說明。以下,作為具體的例子,將在對非易失性半導體存儲器的寫入中發(fā)生不正常的電源切斷、并在之后的讀取中發(fā)生了讀取錯誤的情況作為一例進行說明。但是,在由于其他原因而針對非易失性半導體存儲器發(fā)生了讀取錯誤的情況下,例如寫入為正常但讀取中發(fā)生了錯誤的情況下,同樣也能夠應用本實施方式。
[0021]圖1是表示本實施方式涉及的半導體存儲器件的結(jié)構(gòu)的一例的框圖。
[0022]半導體存儲器件1具備非易失性半導體存儲器2、存儲控制器3、非易失性存儲器14。在本實施方式中,例示了非易失性半導體存儲器2和非易失性存儲器14分離的結(jié)構(gòu)。但是,非易失性半導體存儲器2和非易失性存儲器14也可以是一體的。
[0023]非易失性半導體存儲器2例如設為NAND型閃存器。但是,非易失性半導體存儲器2 例如也可以是 N0R 型閃存器、MRAM(Magnetoresistive Random Access Memory:磁阻存儲器)、PRAM(Phasechange Random Access Memory:相變存儲器)、ReRAM(Resistive RandomAccess Memory:阻變存儲器)、或FeRAM(Ferroelectric Random Access Memory:鐵電存儲器)等存儲器。
[0024]在本實施方式中,寫入數(shù)據(jù)以頁尺寸向非易失性半導體存儲器2的頁進行寫入。在本實施方式中,將頁尺寸的數(shù)據(jù)稱為頁數(shù)據(jù)。頁數(shù)據(jù)包含與該頁數(shù)據(jù)對應的例如如LBA等的地址信息。
[0025]非易失性半導體存儲器2中的數(shù)據(jù)的擦除按塊進行。塊包含多個頁。
[0026]在本實施方式中,在讀取已寫入到非易失性半導體存儲器2中的寫入數(shù)據(jù)時發(fā)生了錯誤的情況下,對包含發(fā)生了該讀取錯誤的寫入數(shù)據(jù)的糾錯組執(zhí)行糾錯處理。
[0027]在此,糾錯組包含多個寫入數(shù)據(jù)和基于該多個寫入數(shù)據(jù)的地址信息的地址管理信肩、Ο
[0028]例如,糾錯組包含多個頁數(shù)據(jù)集(set)。多個頁數(shù)據(jù)集分別包含向非易失性半導體存儲器2并行寫入到的2個以上的頁數(shù)據(jù)。
[0029]作為更具體的例子,在本實施方式中,糾錯組設為包含并行執(zhí)行多個頁數(shù)據(jù)的寫入的多個塊的塊集。
[0030]存儲控制器3從主機裝置5接收數(shù)據(jù),向非易失性半導體存儲器2進行數(shù)據(jù)的寫入。另外,存儲控制器3根據(jù)來自主機裝置5的讀取命令從非易失性半導體存儲器2讀取數(shù)據(jù),將所讀取到的數(shù)據(jù)發(fā)送到主機裝置5。
[0031]存儲控制器3具備接口部4、頁數(shù)據(jù)控制部5、地址控制部6、糾錯控制部7、記錄(log)控制部8、無效數(shù)據(jù)寫入部9。存儲控制器3的各構(gòu)成要素也可以通過執(zhí)行固件來實現(xiàn)。
[0032]接口部4接收從存儲控制器3的其他構(gòu)成要素接收到的各種數(shù)據(jù)(例如頁數(shù)據(jù)、地址管理信息、糾錯碼、無效數(shù)據(jù)等),將其存儲到例如如DRAM (Dynamic Random AccessMemory:動態(tài)隨機存取存儲器)等這樣的易失性存儲器10中,將存儲于易失性存儲器10的各種數(shù)據(jù)向非易失性半導體存儲器2進行寫入。
[0033]另外,接口部4從非易失性半導體存儲器2讀取各種數(shù)據(jù),將其存儲到易失性存儲器10中,將存儲于易失性存儲器10中的各種數(shù)據(jù)向存儲控制器3的其他構(gòu)成要素進行發(fā)送。
[0034]在本實施方式中,接口部4設為包含易失性存儲器10的結(jié)構(gòu)。但是,也可以設為接口部4和易失性存儲器10分離的結(jié)構(gòu)。
[0035]頁數(shù)據(jù)控制部5控制對非易失性半導體存儲器2的頁數(shù)據(jù)的寫入。在本實施方式中,頁數(shù)據(jù)控制部5經(jīng)由接口部4向非易失性半導體存儲器2針對2個塊并行地寫入2個頁數(shù)據(jù)。但是,頁數(shù)據(jù)控制部5也可以設為針對3個以上的塊并行地寫入3個以上的頁數(shù)據(jù)。
[0036]具體來說,首先,頁數(shù)據(jù)控制部5經(jīng)由接口部4向塊B0的頁P0和塊B1的頁P0分別寫入頁數(shù)據(jù)D0,0和頁數(shù)據(jù)D1,0。
[0037]接著,頁數(shù)據(jù)控制部5經(jīng)由接口部4向塊B0的頁P1和塊B1的頁P1分別寫入頁數(shù)據(jù)D0,1和頁數(shù)據(jù)Dl,l。
[00