專利名稱:存儲器控制器、非易失性存儲裝置、非易失性存儲系統(tǒng)及存儲器控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及具備以快閃存儲器作為主存儲器的半導(dǎo)體存儲卡等的非易 失性存儲裝置,以及內(nèi)置于該非易失性存儲裝置內(nèi)的存儲器控制器、具有 非易失性存儲裝置和存取裝置的非易失性存儲系統(tǒng)及存儲器控制方法。
背景技術(shù):
具備可重寫的非易失性存儲器的非易失性存儲裝置,主要是應(yīng)用于半 導(dǎo)體存儲卡的需求逐步增加。并且,使用半導(dǎo)體存儲卡的非易失性存儲系 統(tǒng),主要是應(yīng)用于數(shù)字照相機(jī)或個人計算機(jī)等的需求逐步增加。
實(shí)際使用的半導(dǎo)體存儲器卡,通常在內(nèi)部內(nèi)置有作為非易失性存儲器
的快閃存儲器以及作為控制該快閃存儲器的控制電路,即控制器LSI。近些 年,伴隨著半導(dǎo)體存儲器卡的大容量化需求,非易失性存儲器芯片本身也 通過多值化而發(fā)展為大容量。且,由于安裝技術(shù)的進(jìn)步,半導(dǎo)體存儲器卡 上安裝的非易失性存儲器的芯片個數(shù)也在增加。例如存儲器空間超過1G字 節(jié)的半導(dǎo)體存儲器卡已投入使用。
半導(dǎo)體存儲器卡中,現(xiàn)有技術(shù)利用分散型管理方法作為地址管理方 法。所謂"分散型管理方法"是在寫入單位的頁的管理區(qū)域中存儲邏輯 地址或者該頁的狀態(tài)標(biāo)志,在初始化時,基于邏輯地址或頁的狀態(tài)標(biāo)志而 生成地址管理表,保存到控制器LSI內(nèi)的RAM中。以下,將前述邏輯地址 或該頁的狀態(tài)標(biāo)志統(tǒng)稱為"分布管理信息"。
然而,具有大容量存儲器空間的半導(dǎo)體存儲器卡,在初始化時,讀取 全部存儲器空間的分布管理信息,需要很多的時間。因此,超過半導(dǎo)體存 儲器卡標(biāo)準(zhǔn)中的初始化時間上限值等的違反標(biāo)準(zhǔn)的現(xiàn)象就會發(fā)生。特別 是,在沒有標(biāo)準(zhǔn)的半導(dǎo)體存儲器卡中,雖然沒有違反標(biāo)準(zhǔn),但是,在變?yōu)?可存取狀態(tài)為止的等待時間這一點(diǎn)上,則將缺點(diǎn)強(qiáng)加給用戶。還有,暫時 存儲地址管理表等的RAM的容量劇增,在成本方面也有問題。作為避免這樣的問題的方法,提出了 "集中型管理方法",這在專利文 獻(xiàn)1中得以揭示。專利文獻(xiàn)1的非易失性存儲裝置中,半導(dǎo)體存儲器卡中 安裝的非易失性存儲器的地址空間劃分為多個地址范圍,將與各地址范圍 對應(yīng)的多個地址管理表存儲到非易失性存儲器中,根據(jù)來自主機(jī)的規(guī)定的 邏輯地址的寫入或擦除命令,將對應(yīng)的地址管理表讀入RAM。
并且,專利文獻(xiàn)2中揭示了,分散型管理方法以及將地址管理表本身 統(tǒng)一存儲在非易失性存儲器中的集中型管理方法,這兩者合并使用的方
法。專利文獻(xiàn)2中揭示的方法及裝置,并不是在來自主機(jī)等的存取裝置的
每個寫入指令中,將地址管理表寫回到非易失性存儲器,而是在電源切斷 等的沒有存取的規(guī)定時刻,將地址管理表寫回到非易失性存儲器,在初始 化時判斷地址管理表的有效性,如果有效就使用地址管理表,如果不是有 效,就基于分散型管理信息生成地址管理表。
專利文獻(xiàn)l:(日本)特開2001 — 142774號公報 專利文獻(xiàn)2:(日本)特開平11一73379號公報
發(fā)明內(nèi)容
專利文獻(xiàn)1中,因?yàn)榭梢栽诔跏蓟瘯r,從非易失性存儲器中只讀取地 址管理表,所以可在短時間內(nèi)完成初始化處理。但是,為了對應(yīng)電源切斷 等的故障,通常,來自主機(jī)的規(guī)定的對邏輯地址進(jìn)行寫入或擦除的每個命 令中,都要更新RAM上的地址管理表,還必須在用戶數(shù)據(jù)的寫入或擦除之 后將更新的地址管理表寫回到非易失性存儲器中。此方法,與前述分散型 管理方法相比,具有地址管理表的寫回處理的時間造成存取速度下降這樣 的問題。
專利文獻(xiàn)2中,因?yàn)樵诓贿M(jìn)行存取的規(guī)定時刻,向非易失性存儲器寫 回地址管理表,所以數(shù)據(jù)寫入時的存取速度不會降低。但是,由于電源切 斷等,如果地址管理表沒有被正確地寫回到非易失性存儲器,就必須在初 始化時,基于非易失性存儲器中的全部區(qū)域的分布管理信息,生成地址管 理表。這樣,無法解決發(fā)生電源切斷等的故障時,初始化時間變長的問 題。
本發(fā)明鑒于現(xiàn)有技術(shù)中的問題,旨在避免通常動作時地址管理表的寫 回處理引起的存取速度下降,而且,即使在發(fā)生電源切斷等的故障時也能 縮短初始化時地址管理表的生成時間。
解決問題的手段
本發(fā)明是一種存儲器控制器,其用于對具有多個由1個以上的物理塊 所構(gòu)成的地址范圍的非易失性存儲器進(jìn)行數(shù)據(jù)寫入或讀取,所述存儲器控 制器具有讀寫存儲器,其用于暫時存儲對所述物理塊的狀態(tài)進(jìn)行管理的 地址管理表;存儲器控制部,其在寫入數(shù)據(jù)時,向所述物理塊寫入數(shù)據(jù)和 用于生成所述地址管理表的分布管理信息,從而對所述讀寫存儲器的所述 地址管理表進(jìn)行更新,在數(shù)據(jù)的寫入目標(biāo)從某地址范圍切換到其它地址范 圍時,向所述非易失性存儲器寫入所述讀寫存儲器中暫時存儲的所述地址 管理表;以及,地址管理表生成部,在初始化時,其從初始化前已存取的 所述地址范圍內(nèi)讀取所述分布管理信息,基于所讀取的所述分布管理信 息,在所述讀寫存儲器上生成所述地址管理表。
本發(fā)明不需要在初始化時對非易失性存儲器的全部區(qū)域的分布管理信 息進(jìn)行查詢,所以能夠縮短在初始化時地址管理表的生成時間。而且,不 需要在來自存取裝置的每個寫入指示中,向非易失性存儲器寫回地址管理 表,所以能夠避免在通常動作時由于地址管理表的寫回處理所引起的存取 速度下降。
優(yōu)選的是,所述地址范圍是對所述非易失性存儲器的存儲區(qū)域進(jìn)行劃 分得到的每個具有規(guī)定大小的區(qū)域,包含與由存取裝置指定的多個邏輯單 位相對應(yīng)的多個物理塊;所述地址管理表是統(tǒng)一管理所述地址范圍內(nèi)中包 含的多個邏輯單位的表。
優(yōu)選的是,所述地址范圍是在由存取裝置指定的每個邏輯單位提供的 區(qū)域,所述地址管理表是統(tǒng)一管理多個所述地址范圍的表。
優(yōu)選的是,當(dāng)數(shù)據(jù)的寫入目標(biāo)的物理塊從某地址范圍切換到其它地址 范圍時,所述存儲器控制部向所述非易失性存儲器寫入用于將作為切換后 的地址范圍特定下來的地址范圍確定信息。
優(yōu)選的是,所述存儲器控制部將所述地址范圍確定信息,以編入到所 述地址管理表的形式,寫入到所述非易失性存儲器。
優(yōu)選的是,在初始化時,所述存儲器控制部基于所述地址范圍確定信 息,將初始化前已存取的所述地址范圍特定下來。
本發(fā)明的另一存儲器控制器,其用于對具有多個由1個以上的物理塊 所構(gòu)成的地址范圍的非易失性存儲器進(jìn)行數(shù)據(jù)寫入或讀取,所述存儲器控
制器具有讀寫存儲器,其暫時存儲包含第一表和第二表的地址管理表, 所述第一表用于管理1個所述地址范圍內(nèi)的物理塊的寫入狀態(tài),所述第二 表用于管理多個所述地址范圍內(nèi)的物理塊的狀態(tài);存儲器控制部,其在寫 入數(shù)據(jù)時,向所述非易失性存儲器寫入數(shù)據(jù)和用于生成所述地址管理表的 分布管理信息,從而對所述讀寫存儲器的所述地址管理表進(jìn)行更新,在數(shù) 據(jù)的寫入目標(biāo)從某地址范圍切換到其它地址范圍時,向所述非易失性存儲 器寫入所述讀寫存儲器中暫時存儲的所述地址管理表,在初始化時,從所 述非易失性存儲器讀取所述第二表,保存到所述讀寫存儲器中;以及,地 址管理表生成部,在初始化時,其從初始化前已存取的所述地址范圍內(nèi)讀 取所述分布管理信息,基于所讀取的所述分布管理信息生成所述第一表, 保存到所述讀寫存儲器中。
本發(fā)明的非易失性存儲裝置包括非易失性存儲器,其具有多個由1 個以上的物理塊所構(gòu)成的地址范圍;以及,前述存儲器控制器,其控制對
所述非易失性存儲器的數(shù)據(jù)寫入或讀取。
本發(fā)明的非易失性存儲系統(tǒng)具有前述非易失性存儲裝置,其包含具有
多個由1以上的物理塊所構(gòu)成的地址范圍的非易失性存儲器;以及,
存取裝置,其指定所述地址范圍,并控制對所述非易失性存儲器的數(shù) 據(jù)的寫入或者讀取。
本發(fā)明的存儲器控制方法,其對非易失性存儲裝置進(jìn)行控制,所述非 易失性存儲裝置具有具有多個由1個以上的物理塊所構(gòu)成的地址范圍的 非易失性存儲器,以及,用于暫時存儲對所述物理塊的狀態(tài)進(jìn)行管理的地 址管理表的讀寫存儲器,所述存儲器控制方法,具有下述步驟在寫入數(shù) 據(jù)時,向所述物理塊寫入數(shù)據(jù)和用于生成所述地址管理表的分布管理信 息,從而對所述讀寫存儲器的所述地址管理表進(jìn)行更新,在數(shù)據(jù)的寫入地 址從某地址范圍切換到其它地址范圍時,向所述非易失性存儲器寫入所述 讀寫存儲器中暫時存儲的所述地址管理表的步驟;以及,在初始化時,從 初始化前已存取的所述地址范圍內(nèi)讀取所述分布管理信息,基于所讀取的 所述分布管理信息,在所述讀寫存儲器上生成所述地址管理表。 發(fā)明效果
本發(fā)明能夠避免在通常動作時由于地址管理表的寫回處理所引起的存 取速度下降,并且能夠?qū)崿F(xiàn)縮短在初始化時地址管理表的生成時間。
圖1是表示本發(fā)明第一實(shí)施方式非易失性存儲系統(tǒng)的結(jié)構(gòu)的框圖。
圖2是表示第一實(shí)施方式非易失性存儲器的內(nèi)部結(jié)構(gòu)的圖。
圖3是表示第一實(shí)施方式物理塊的結(jié)構(gòu)的圖。
圖4是表示第一實(shí)施方式邏輯地址的格式的圖。
圖5是表示第一實(shí)施方式地址轉(zhuǎn)換表的圖。
圖6是表示第一實(shí)施方式物理區(qū)域管理表的圖。
圖7是表示第一實(shí)施方式地址范圍切換部的結(jié)構(gòu)的電路圖。
圖8是表示第一實(shí)施方式地址范圍確定信息的圖。
圖9是表示第一實(shí)施方式地址范圍不切換時的寫入順序的圖。
圖IO是表示第一實(shí)施方式地址范圍切換時的寫入順序的圖。
圖11是表示本發(fā)明第二實(shí)施方式非易失性存儲系統(tǒng)的結(jié)構(gòu)的框圖。
圖12是表示第二實(shí)施方式非易失性存儲器的內(nèi)部結(jié)構(gòu)的圖。
圖13是表示第二實(shí)施方式物理塊的圖。
圖14是表示第二實(shí)施方式邏輯地址的格式的圖。
圖15是表示第二實(shí)施方式地址轉(zhuǎn)換表的圖。
圖16是表示第二實(shí)施方式物理區(qū)域管理表的圖。
圖17是表示第二實(shí)施方式寫入管理表的圖。
圖18是表示第二實(shí)施方式地址范圍確定信息的圖。
圖19是表示第二實(shí)施方式地址范圍不切換時的寫入順序的圖。
圖20是表示第二實(shí)施方式地址范圍切換時的寫入順序的圖。
圖21是表示第二實(shí)施方式地址范圍切換時的另一種寫入順序的圖。
附圖標(biāo)記
100存取裝置
101 主機(jī)I/F部
102 CPU
103 RAM
104 ROM
105地址范圍切換部106地址范圍確定部
107地址管理表生成部
108地址管理表控制部
109非易失性存儲器存取部
110地址轉(zhuǎn)換表
111物理區(qū)域管理表
112地址管理表
113讀寫存儲器
114存儲器控制器
115非易失性存儲器
116用戶數(shù)據(jù)區(qū)
117地址管理表區(qū)域
118當(dāng)前地址范圍編號存儲區(qū)域
122存儲器控制部
123非易失性存儲裝置
124地址范圍控制部
1110地址轉(zhuǎn)換表
1111物理區(qū)域管理表
1112地址管理表 1115非易失性存儲器 1116用戶數(shù)據(jù)區(qū) 1117地址管理表區(qū)域 1121 寫入管理表
具體實(shí)施例方式
下面參照附圖,具體說明表示用于實(shí)施本發(fā)明的最佳方式的實(shí)施方式。
(第一實(shí)施方式)
圖1表示本實(shí)施方式中非易失性存儲系統(tǒng)的結(jié)構(gòu)。本實(shí)施方式的非易
失性存儲系統(tǒng)具有存取裝置100以及根據(jù)由存取裝置100發(fā)送的用戶數(shù) 據(jù)(以下簡稱數(shù)據(jù))的讀寫命令而動作的非易失性存儲裝置123。
非易失性存儲裝置123具有對于由存取裝置100發(fā)送的數(shù)據(jù)進(jìn)行保存的非易失性存儲器115、以及基于存取裝置100發(fā)送的讀寫命令和邏輯地
址而控制非易失性存儲器115的存儲器控制器114。非易失性存儲器115的 存儲區(qū)域被劃分為多個地址范圍。 (存儲器控制器的內(nèi)部結(jié)構(gòu))
存儲器控制器114具有主機(jī)接口部(以下稱為主機(jī)1/F部)101、
用于工作的RAM103、保存程序的ROM104、以及利用用于工作的RAM 103和保存于ROM 104的程序而控制存儲器控制器114內(nèi)全體的CPU 102。
存儲器控制器114還具有用于控制非易失性存儲器115的存儲器控 制部122、用于生成地址管理表112的地址管理表生成部107、以及暫時保 存地址管理表112的讀寫存儲器113。
存儲器控制部122具有用于判斷非易失性存儲器115的地址范圍的 切換的地址范圍控制部124、用于控制對非易失性存儲器115的數(shù)據(jù)讀寫等 的非易失性存儲器存取部109、以及用于將讀寫存儲器113中暫時保存的地 址管理表112,通過非易失性存儲器存取部109,寫入到非易失性存儲器 115的地址管理表控制部108。
(非易失性存儲器的存儲區(qū)域的結(jié)構(gòu))
圖2具體表示本實(shí)施方式的非易失性存儲器115的存儲區(qū)域的結(jié)構(gòu)。 圖2中,非易失性存儲器115是1GB,安裝有8片1G比特的快閃存儲器。 非易失性存儲器115由多個物理塊211構(gòu)成。在此,所謂物理塊211是能夠 有選擇地擦除的最小單位,即擦除塊,在本實(shí)施方式中具有大約4kB的大小。
非易失性存儲器115,在圖2的長度方向上劃分為地址范圍0 地址范 圍7這8個地址范圍,在寬度方向上劃分為存儲體(bank) 0 存儲體3這 4個存儲體。各地址范圍由4k塊物理塊211構(gòu)成。各地址范圍具有用于保 存數(shù)據(jù)的用戶數(shù)據(jù)區(qū)116和用于保存地址管理表112的地址管理表區(qū)域 117。本實(shí)施方式中,各地址范圍中設(shè)立的地址管理表區(qū)域117里存儲對應(yīng) 于各個地址范圍的地址管理表112。
地址管理表區(qū)域117從低位側(cè)(圖2中的上側(cè))開始順序保存地址管 理表112。然后,依序擦除不用的舊的地址管理表112,以存儲新的地址管 理表112。這樣,可以重復(fù)使用地址管理表區(qū)域117。例如,在存取裝置 IOO發(fā)出寫入命令,有效數(shù)據(jù)被寫入到非易失性存儲器115中的狀態(tài)下,如
果地址范圍1的最新地址管理表被寫入到2047一a0 2047一d0,相對低位 側(cè)(圖2中的上側(cè))的2046—al 2046—dl與2046—a0 2046—d0中保存
的地址管理表被擦除,成為無效塊。之后,成為無效塊的區(qū)域在后面會用 到。
非易失性存儲器115還具有,用于保存如圖8所示的地址范圍確定信 息801 (后面詳述)的當(dāng)前地址范圍編號存儲區(qū)域118。本實(shí)施方式中,當(dāng) 前地址范圍編號存儲區(qū)域118設(shè)于地址范圍7的高位側(cè)。地址范圍7的用 戶數(shù)據(jù)區(qū)116與地址管理表區(qū)域117的大小之和,比其它地址范圍的大少 更小。未使用非易失性存儲器115時,當(dāng)前地址范圍編號存儲區(qū)域118從 低位側(cè)(圖2中的上側(cè))開始順序保存地址范圍確定信息801。之后,為了 能夠存儲新的地址范圍確定信息801,不用的舊地址范圍確定信息801被順 序擦除。這樣,可以重復(fù)使用當(dāng)前地址范圍編號存儲區(qū)域118。
非易失性存儲器115中,關(guān)于寫入安全相關(guān)信息或制造商代碼等的所 謂系統(tǒng)區(qū)域,省略說明。
圖3表示本實(shí)施方式物理塊211的具體示例。物理塊211有頁0和頁1 這2頁。頁是寫入單位,在圖2中,最大同時寫入數(shù)是每頁4個存儲體, 即最大4頁。各頁具有2048字節(jié)的數(shù)據(jù)區(qū)域212與64字節(jié)的管理區(qū)域 213。 1扇區(qū)是512字節(jié),數(shù)據(jù)區(qū)域212由4個扇區(qū)構(gòu)成。數(shù)據(jù)區(qū)域212是 來自存取裝置100的數(shù)據(jù)被寫入的區(qū)域。頁0的管理區(qū)域213中,保存著 分布管理信息214。分布管理信息214包含存取裝置100所指定的邏輯塊編 號,以及表示物理塊211的狀態(tài)(status)的塊狀態(tài)。來自存取裝置100的 數(shù)據(jù)被寫入到頁0中的數(shù)據(jù)區(qū)域212時,分布管理信息214被寫入到頁0中 的管理區(qū)域213。
(邏輯地址的格式)
圖4表示本實(shí)施方式存取裝置100向非易失性存儲裝置123發(fā)送的邏 輯地址400的格式。圖4中的邏輯地址400的格式中,比特0 比特1
(bO bl)是扇區(qū)編號401;比特2 比特3 (b2 b3)是存儲體編號 402;比特4 (b4)是頁編號403。比特5 比特14 (b5 bl4)中的編號 404與存儲體編號402共12比特是邏輯塊編號411;比特15 比特17
(bl5 bl7)是地址范圍編號405。利用3比特的地址范圍編號405,指定 非易失性存儲器115的地址范圍0 7。且,對應(yīng)于邏輯塊編號411的12比 特,是向物理塊編號412進(jìn)行地址轉(zhuǎn)換的對象。 (地址管理表的結(jié)構(gòu)) 回到圖1,地址管理表112包含地址轉(zhuǎn)換表110與物理區(qū)域管理表
111。
圖5表示本實(shí)施方式地址轉(zhuǎn)換表110。地址轉(zhuǎn)換表110是將由存取裝置 100指定的邏輯地址400中所包含的邏輯塊編號411,轉(zhuǎn)換成非易失性存儲 器115內(nèi)的物理塊編號412的表。地址轉(zhuǎn)換表110表示與每個邏輯塊編號 411相對應(yīng)的物理塊編號412。本實(shí)施方式中,為了在每個地址范圍生成地 址轉(zhuǎn)換表110,地址轉(zhuǎn)換表110包含用4096個邏輯塊編號411所指定的物 理塊編號412。
圖6表示本實(shí)施方式物理區(qū)域管理表111。物理區(qū)域管理表111是存儲 非易失性存儲器115內(nèi)的擦除單位即物理塊211的狀態(tài),g卩,記錄有效數(shù) 據(jù)是否存儲在物理塊211等的塊狀態(tài)的表。物理區(qū)域管理表111表示非易失 性存儲器115的每個物理塊編號412中的各物理塊的狀態(tài)。表示物理塊的 狀態(tài)的塊狀態(tài)包含有效塊、無效塊、壞塊等。2進(jìn)制的"00"表示已寫入有效 數(shù)據(jù)的有效塊;2進(jìn)制的"ll"表示數(shù)據(jù)已擦除或者已寫入的數(shù)據(jù)是無用數(shù)據(jù) 的無效塊。2進(jìn)制的"10"表示存儲單元上的由于硬傷(solid error)等造成不 能使用的壞塊。這樣,塊狀態(tài)至少包含3種狀態(tài)。本實(shí)施方式中,因?yàn)樵?每個地址范圍內(nèi)生成物理區(qū)域管理表111,所以物理區(qū)域管理表111保存與 4096個物理塊編號412相對應(yīng)的塊狀態(tài)。 (地址管理表的生成)
圖l所示地址管理表生成部107,在電源接通等引起初始化時,基于用 戶數(shù)據(jù)區(qū)116中保存的分布管理信息214而生成地址管理表112,存儲在讀 寫存儲器113上。本實(shí)施方式中,只讀取從當(dāng)前地址范圍編號存儲區(qū)域118 讀取的地址范圍中的用戶數(shù)據(jù)區(qū)116中存儲的分布管理信息214。換言之, 初始化時,生成地址范圍0 7中的任一個地址范圍的地址管理表112。
讀寫存儲器113是諸如SRAM等的易失性存儲器或者諸如強(qiáng)電介質(zhì)存 儲器等的非易失性存儲器,暫時存儲地址管理表112。根據(jù)存取裝置100的 指示而進(jìn)行的數(shù)據(jù)寫入是參考讀寫存儲器113中保存的地址管理表112, 一 邊更新一邊進(jìn)行。
存儲器控制部122,根據(jù)來自存取裝置100的寫入指示,向用戶數(shù)據(jù)區(qū)
116寫入數(shù)據(jù)和分布管理信息214。此時,存儲器控制部122內(nèi)的地址管理 表控制部108更新在讀寫存儲器113中暫時存儲的地址管理表112。當(dāng)存取 裝置100所指示的寫入地址從當(dāng)前地址范圍切換到其它地址范圍時,地址 管理表控制部108通過非易失性存儲器存取部109,向當(dāng)前地址范圍的地址 管理表區(qū)域117寫入在讀寫存儲器113中暫時存儲的地址管理表112。 (地址范圍確定信息的寫入)
地址范圍確定信息801是用于將切換后的地址范圍特定下來的信息。 圖8表示本實(shí)施方式地址范圍確定信息801。地址范圍確定信息801包含 用于識別時間的前后關(guān)系的時刻信息711以及切換地址范圍時的切換后的 地址范圍編號712。低位側(cè)的27比特表示時刻信息711,高位3比特表示 地址范圍編號712。
圖1所示地址范圍控制部124具有地址范圍切換部105和地址范圍確 定部確定部106。為了將當(dāng)前正在存取的地址范圍是哪個地址范圍存儲在非 易失性存儲器115內(nèi),即,為了在電源剛接通時的初始化時,將電源接通 前或者重置前被存取的地址范圍能夠特定下來,在剛剛切換了地址范圍之 后,開始向切換后的地址范圍進(jìn)行寫入時,地址范圍確定部106通過非易 失性存儲器存取部109,將地址范圍確定信息801保存到非易失性存儲器 115的當(dāng)前地址范圍編號存儲區(qū)域118。而且,在電源接通后的初始化時, 地址范圍確定部106從非易失性存儲器115中的當(dāng)前地址范圍編號存儲區(qū) 域118中讀取具有最新的時刻信息711的地址范圍確定信息801,將地址范 圍編號712特定下來。由此,例如,即使在由于電源切斷等故障引起的重 新啟動時,地址范圍確定部106也能將啟動前存取的地址范圍編號712特 定下來。
圖7表示本實(shí)施方式地址范圍切換部105的結(jié)構(gòu)。地址范圍切換部105 具有計數(shù)器701、寄存器702、比較器703、以及寄存器704。寄存器702 將存取裝置100轉(zhuǎn)發(fā)的邏輯地址400中包含的地址范圍編號405與系統(tǒng)時 鐘SCK對應(yīng)地暫時存儲起來。比較器703將存取裝置IOO轉(zhuǎn)發(fā)的地址范圍 編號405與寄存器702暫時存儲的地址范圍編號405進(jìn)行比較,如果兩者 不同,則激活地址范圍切換信號并輸出。當(dāng)?shù)刂贩秶袚Q信號被激活時, 寄存器704暫時存儲存取裝置100轉(zhuǎn)發(fā)的地址范圍編號405。切換地址范圍 時,寄存器704的輸出就成為切換后的地址范圍編號712。
在啟動時,計數(shù)器701中事先設(shè)置當(dāng)前地址范圍編號存儲區(qū)域118中
保存的最新地址范圍確定信息801的時刻信息711。因?yàn)閯倓偝鰪S的非易失 性存儲器115的物理塊211全部被擦除,所以讀取當(dāng)前地址范圍編號存儲 區(qū)域118的最低位的1頁數(shù)據(jù),在計數(shù)器701中事先設(shè)置初始值0的時刻信 息。當(dāng)?shù)刂贩秶袚Q信號激活時,計數(shù)器701的值加1。
下面說明本實(shí)施方式的計數(shù)器701的比特數(shù)。如果來自存取裝置100 的l個寫入指令中的平均的寫入數(shù)據(jù)容量是4個物理塊(即,F(xiàn)AT16中1個 簇)的16kB, 1個地址范圍的用戶數(shù)據(jù)區(qū)116中,對所有物理塊進(jìn)行寫入 的指令數(shù)根據(jù)式(1)為大約lk次(2的10次方)。 (4k塊x4kB) +16kB=lk (1)
假設(shè)非易失性存儲器115的擦寫壽命,g卩,低于保證良塊率時的擦寫 次數(shù)為10萬回2的17次方),由式(2)得知,本實(shí)施方式的計數(shù)器 701的比特數(shù)為27比特。
17 + 10 = 27 (2)
但是,考慮到非易失性存儲器115的擦寫壽命的不同、設(shè)計裕量,也 可增加比特數(shù)。
上述結(jié)構(gòu)的地址范圍切換部105,基于存取裝置100轉(zhuǎn)發(fā)的邏輯地址 400,檢測出是否已切換地址范圍編號405,如果檢測出已切換,則輸出切 換后的地址范圍編號712,并且輸出表示時間前后關(guān)系的時刻信息711,以 獲知存取裝置IOO轉(zhuǎn)發(fā)的命令是何時的命令。 (初始化處理)
下面說明上述結(jié)構(gòu)的非易失性存儲系統(tǒng)中,非易失性存儲裝置123的 初始化處理。利用存取裝置IOO使非易失性存儲裝置123的電源接通時, CPU 102基于ROM 104中存儲的程序進(jìn)行初始化處理。除了在電源接通 時,非易失性存儲裝置123重置時也可以進(jìn)行初始化處理。
在初始化處理中,地址范圍確定部106通過非易失性存儲器存取部 109,搜索非易失性存儲器115的當(dāng)前地址范圍編號存儲區(qū)域118,從當(dāng)前 地址范圍編號存儲區(qū)域118中保存著的地址范圍確定信息801中,讀出時 刻信息711的最大值,作為最新地址范圍確定信息801。由此,將電源接通 前存取的地址范圍編號712特定下來。且,在計數(shù)器701中事先設(shè)置在地 址范圍確定信息801中包含的時刻信息711。但是,如果時刻信息711所有 比特的值為l,則判斷為剛出廠,將計數(shù)器701事先設(shè)置為0值。
地址管理表生成部107讀取在特定的地址范圍內(nèi)的用戶數(shù)據(jù)區(qū)116中 保存的分布管理信息214,生成地址轉(zhuǎn)換表IIO和物理區(qū)域管理表111,然 后保存到讀寫存儲器113中。如果初始化處理結(jié)束,則非易失性存儲裝置 123進(jìn)入可以接收來自存取裝置IOO的讀寫等指令的狀態(tài)。 (地址范圍內(nèi)的數(shù)據(jù)的寫入處理)
如果存儲器控制器114接收到來自存取裝置100的向任意地址范圍內(nèi) 進(jìn)行寫入的寫入指示,例如指定"O"的地址范圍編號405的邏輯地址400, 那么地址范圍切換部105判斷,存取裝置100轉(zhuǎn)發(fā)的地址范圍編號405是 否與初始化處理時特定的地址范圍編號712相同。如果相同,則基于地址 管理表112,將邏輯地址400中包含的邏輯塊編號411轉(zhuǎn)換成物理塊編號 412,向由物理塊編號412指定的物理塊211寫入數(shù)據(jù)。
圖9表示本實(shí)施方式地址范圍不切換時的正常寫入順序。圖9中表示 向物理塊211中的頁0中寫入數(shù)據(jù)的數(shù)據(jù)寫入期間TAO,以及向物理塊211 中的頁1寫入數(shù)據(jù)的數(shù)據(jù)寫入期間TA1。本實(shí)施方式中,通過同時寫入存 儲體0 3這4頁中的頁0或者頁1的多存儲體寫入,向非易失性存儲器 115寫入數(shù)據(jù)。數(shù)據(jù)寫入期間TAO及TA1包含寫入指令及尋址/數(shù)據(jù)轉(zhuǎn)發(fā)期 間Tal、擦除忙期間Ta2、程序忙期間Ta3。
在數(shù)據(jù)寫入期間TAO,首先,存儲器控制器114向非易失性存儲器115 轉(zhuǎn)發(fā)寫入指令、用戶數(shù)據(jù)區(qū)116內(nèi)的物理塊編號412及存儲體0 3這4頁 的數(shù)據(jù)(寫入指令及尋址/數(shù)據(jù)轉(zhuǎn)發(fā)期間Tal)。此時,還同時向非易失性存 儲器115轉(zhuǎn)發(fā)分布管理信息214。然后,擦除由物理塊編號412指定的物理 塊211 (擦除忙期間Ta2)。最后,向存儲體0 3的物理塊211中的頁O寫 入數(shù)據(jù)和分布管理信息214,更新讀寫存儲器113上的地址管理表112 (程 序忙期間Ta3)。
接著,在數(shù)據(jù)寫入期間TA1,進(jìn)行與數(shù)據(jù)寫入期間TAO相同的處理, 向存儲體0 3的4頁的物理塊211中的頁1寫入數(shù)據(jù)。但是,不向頁1寫 入分布管理信息214。
利用如圖9所示的1個數(shù)據(jù)寫入期間TAO及TA1,例如向邏輯地址0 —a0 0—d0和0—a1 0—dl的物理塊211寫入數(shù)據(jù)。在地址范圍0內(nèi), 通過反復(fù)進(jìn)行數(shù)據(jù)寫入期間TAO及TA1的動作,例如在從邏輯地址0—
a0 0—d0到1021—al 1021一dl的物理塊211中寫入數(shù)據(jù)。
使用FAT16的存取裝置100中,通常l簇是16kB,在眾多的產(chǎn)品中, 存取裝置100以16kB單位向非易失性存儲裝置123轉(zhuǎn)發(fā)寫入指示。專利文 獻(xiàn)l所示現(xiàn)有半導(dǎo)體存儲器裝置中,寫入16kB后,向非易失性存儲器115 寫回讀寫存儲器113中暫時存儲的地址管理表112,其時間開銷引起處理速 度下降。然而,本實(shí)施方式的非易失性存儲裝置123,如果地址范圍不變, 就不進(jìn)行向非易失性存儲器115寫回讀寫存儲器113中暫時存儲的地址管 理表112的處理,在數(shù)據(jù)寫入的同時寫入分布管理信息214,使開銷合理 化。
(地址范圍切換時的數(shù)據(jù)的寫入處理) 下面,說明存取裝置100轉(zhuǎn)發(fā)的地址范圍編號切換時的非易失性存儲 裝置123的動作。圖IO表示地址范圍切換時的寫入順序。如果地址范圍切 換部105利用比較器703檢測到地址范圍發(fā)生切換,存儲器控制部123按 照地址管理表寫入期間(以下稱為AT寫入期間)TB、地址管理表讀取期 間(以下稱為AT讀取期間)TC、以及地址范圍確定信息寫入期間TD的 順序進(jìn)行處理。下面,以存取裝置100的指定地址范圍從0變?yōu)?的情況 為例進(jìn)行說明。
向地址范圍0的邏輯地址1021—a1 1021—dl的物理塊211寫入數(shù)據(jù) 后,如果存儲器控制器114從存取裝置100接收到指定地址范圍1的邏輯 地址400,地址范圍切換部105利用比較器703檢測到地址范圍從0變?yōu)?1。然后,存儲器控制器114首先進(jìn)行舊地址范圍的后期處理,g卩,AT寫 入期間TB中的處理。
在AT寫入期間TB,存儲器控制器114向非易失性存儲器115的地址 范圍0的地址管理表區(qū)域117中寫回讀寫存儲器113暫時保存的地址范圍0 的地址管理表112,以作為最新的地址管理表。首先,存儲器控制器114向 非易失性存儲器115轉(zhuǎn)發(fā)寫入指令、地址范圍0內(nèi)的地址管理表區(qū)域117內(nèi) 的物理塊編號412、以及讀寫存儲器113中保存的地址管理表112 (寫入指 令及尋址/AT轉(zhuǎn)發(fā)期間Tbl)。接著,對物理塊編號412指定的物理塊211 進(jìn)行擦除(擦除忙期間Tb2)。最后,向已擦除的物理塊211寫入地址管理 表112 (程序忙期間Tb3)。
這樣結(jié)束了對地址范圍o的寫入處理,在AT寫入期間TB的結(jié)束時間
點(diǎn)和AT讀取期間TC的開始時間點(diǎn)之間,存在實(shí)際的地址范圍切換時間點(diǎn)
TS。接著,進(jìn)行新地址范圍的前期處理,即,AT讀取期間TC和地址范圍 確定信息寫入期間TD的處理。
AT讀取期間TC中,CPU 102向非易失性存儲器存取部109發(fā)出對地 址范圍1的地址管理表112進(jìn)行讀取的讀取指示,非易失性存儲器存取部 109從地址范圍1的地址管理表區(qū)域117讀取地址范圍1的地址管理表 112,地址管理表控制部108將讀取的地址管理表112存儲到讀寫存儲器 113中(讀取及尋址/AT轉(zhuǎn)發(fā)期間Tcl)。在此讀取的地址管理表112是地 址范圍1內(nèi)的地址管理表區(qū)域117內(nèi)的最新的地址管理表。按以下方式判 斷地址管理表112是否是最新的。首先,將地址管理表區(qū)域117內(nèi)的物理 塊的頁中的最高位地址,具體而言是圖2中的邏輯地址2047—a1 2047— dl這4頁(共8kB)作為一組,判斷其是否被擦除。如果未被擦除,則判 斷邏輯地址2047—a1 2047—dl —組是最新的地址管理表。如果已被擦 除,在圖2中的高位方向,即,非易失性存儲器115的低位側(cè)進(jìn)行搜索, 選擇未被擦除的,即,寫入了某值的4頁作為最新的地址管理表。
非易失性存儲裝置123剛剛出廠時,非易失性存儲器115的物理塊全 部處于被擦除的狀態(tài)。實(shí)際上,系統(tǒng)區(qū)域中寫有規(guī)定的值,本實(shí)施方式中 對此狀態(tài)省略說明。在此情況下,最低位(圖2中的上側(cè))的4頁,艮口, 2046一a0 2046—d0被讀取到讀寫存儲器113,作為地址管理表112。此 時,圖6所示物理區(qū)域管理表111顯示為全部是無效塊的"11",從而顯示 在地址范圍1中未存儲有效數(shù)據(jù)的狀態(tài)。
在地址范圍確定信息寫入期間TD,存儲器控制器114將包含如圖8所 示切換后的地址范圍編號712的地址范圍確定信息801,保存到非易失性存 儲器115的當(dāng)前地址范圍編號存儲區(qū)域118。首先,地址范圍確定部106內(nèi) 的計數(shù)器701增值的同時,切換后的地址范圍編號712被保存到寄存器704 中。地址范圍確定部106生成包含計數(shù)器701的時刻信息711和寄存器704 中保存的地址范圍編號712的地址范圍確定信息801。非易失性存儲器存取 部109向非易失性存儲器115轉(zhuǎn)發(fā)寫入指令、非易失性存儲裝置115的當(dāng)前 地址范圍編號存儲區(qū)域118內(nèi)的物理塊編號412以及地址范圍確定信息801 (寫入指令及尋址/地址范圍確定信息轉(zhuǎn)發(fā)期間Tdl)。接著,對由物理塊 編號412指定的物理塊211進(jìn)行擦除(擦除忙期間Td2)。最后,在已擦除的物理塊211中寫入地址范圍確定信息801 (程序忙期間Td3)。
在地址范圍確定信息寫入期間TD后的數(shù)據(jù)寫入期間TA0,向地址范 圍1的邏輯地址1024—a0 1024—d0中寫入數(shù)據(jù)。
在地址范圍確定信息寫入期間TD,通過將地址范圍確定信息801存儲 到非易失性存儲器115的當(dāng)前地址范圍編號存儲區(qū)域118,下一次啟動時, 就能將啟動前存取的地址范圍編號712特定下來。由此,即使在發(fā)生電源 切斷等故障后再啟動時,地址范圍確定部106也能判別在哪個地址范圍的 處理中發(fā)生了電源切斷等的故障。不用向處理過程中中斷的地址范圍的地 址管理表區(qū)域117中寫回地址管理表112,在初始化處理時,也能利用分布 管理信息214生成關(guān)于地址范圍確定信息801中存儲的地址范圍的地址轉(zhuǎn) 換表112,因此,不會錯誤地使用舊地址轉(zhuǎn)換表112。 (初始化處理所需時間) 本實(shí)施方式中,地址管理表生成部107通過非易失性存儲器存取部109 而讀取的分布管理信息214只限于在1個地址范圍內(nèi)。例如,如果非易失 性存儲器115具有多存儲體頁讀取功能,各多存儲體頁讀取所需時間為 100p秒,由式(3)可知,用大約100m秒就完成分布管理信息214的讀 取。
100p秒xlk二100m秒 (3) 如果是具有1GB容量的半導(dǎo)體存儲器裝置(8片快閃存儲器芯片),由 式(4)可知,大約用800m秒。
100m秒x8片二800m秒 (4) 相反,專利文獻(xiàn)2所示現(xiàn)有半導(dǎo)體存儲器裝置讀取全部區(qū)域的分布管 理信息所用的讀取時間,由式(5)可知,大約為6400m秒。 800m秒x8二6400m秒 (5) 因?yàn)閷@墨I(xiàn)2的非易失性存儲器115沒有被分為8片,所以式(5) 的值與式(4)相比,是8倍。此值作為用戶啟動時的等待時間,則是過長 的時間。且,非易失性存儲器的容量越大,此式(5)的值越大,這是致命 的問題。
本實(shí)施方式的初始化處理所需時間是專利文獻(xiàn)2的1/8,可以短時間 完成處理。
(數(shù)據(jù)的擦寫率)
接著,定量地說明利用本實(shí)施方式提高寫入速度。圖9所示的數(shù)據(jù)寫
入期間TA0及TA1和圖10所示的AT寫入期間TB及數(shù)據(jù)寫入期間TA0, 分別假設(shè)是1.5m秒。
專利文獻(xiàn)1所示的現(xiàn)有半導(dǎo)體存儲器裝置中,向例如邏輯地址0一a0 O一dO和0—a1 0—dl的4個物理塊寫入數(shù)據(jù)時,因?yàn)樵趫D9的數(shù)據(jù)寫入 期間TA1之后必須有AT寫入期間TB,所以由式(6)可知,需要4.5m 秒。
1.5m秒x3二4.5m秒 (6)
另一方面,本實(shí)施方式中,在地址范圍不變的情況下,向例如邏輯地 址0—a0 0—d0和邏輯地址0—al 0一dl這4個物理塊寫入數(shù)據(jù)時,由式 (7)可知,需要3m秒。
1.5m秒x2二3m秒 (7) 這樣,地址范圍不變時,本實(shí)施方式的寫入時間比專利文獻(xiàn)1所示寫 入時間更短。
地址范圍切換時,如圖IO所示,本實(shí)施方式需要進(jìn)行舊地址范圍的后 期處理的AT寫入期間TB與進(jìn)行新地址范圍的前期處理的AT讀取期間TC 以及地址范圍確定信息寫入期間TD,比專利文獻(xiàn)1需要更多的處理時間。 考慮到此,根據(jù)以16kB單位全部擦寫整個1個邏輯范圍的擦寫率值, 將本實(shí)施方式與專利文獻(xiàn)1進(jìn)行比較。首先,1個地址范圍的容量大約是 16MB (簡便起見,將地址管理表區(qū)域作為誤差),為了用16kB單位的寫入 來擦寫l個地址范圍,由式(8)知,存取裝置100需要指示lk次寫入。 16MB+16kB二lk次 (8) 此時,專利文獻(xiàn)1所示的現(xiàn)有半導(dǎo)體存儲器裝置中,如式(9)所示擦 寫率平均是3.6MB/秒。
16MB+ (lk次x4.5m秒)—3.6MB /秒 (9) 另一方面,在本實(shí)施方式的非易失性存儲裝置123中,擦寫率是式 (10)所示平均5.5MB/秒,利用本實(shí)施方式非易失性存儲裝置123能夠
高速擦寫l個地址范圍。
16MB+ ((lk次x3m秒)+ (2次xl.5m秒))、5.5MB/秒 (10)
地址范圍切換時瞬間的速度劣化是數(shù)毫秒的程度,所以,利用存取裝 置100側(cè)常備的緩沖,能夠被完全吸收。由此,處理不會有問題。
如上所述,本實(shí)施方式中,即使非易失性存儲器115的存儲器容量變 大,也能夠使啟動時的初始化時間極小化,并且,使地址管理表112更新 的時間開銷合理化,因此提髙擦寫率。換言之,本發(fā)明中,能夠避免正常 動作時地址管理表112的寫回處理引起的存取速度下降的同時,也能夠使 電源切斷等的故障之后的初始化時地址管理表112的生成時間縮短。
圖3中的管理區(qū)域213,除了分布管理信息214之外,也可以保存時刻 信息7U。例如,向用戶數(shù)據(jù)區(qū)116的數(shù)據(jù)區(qū)域212寫入數(shù)據(jù)之時,將時刻 信息711寫入到向管理區(qū)域2B。在初始化處理時,將地址范圍特定之后, 可以通過只讀取寫入了與地址范圍確定信息801的時刻信息711 —致的時 刻信息711的物理塊211,對地址管理表區(qū)域117中存儲的最新地址管理表 112進(jìn)行修改。由此,在短時間內(nèi)就能夠更新地址管理表區(qū)域117的地址管 理表112,在由于電源切斷等引起的處理中斷之后的初始化處理中有用。
讀寫存儲器113也可以使用除RAM之外的讀寫存儲器,只要能進(jìn)行比 較高速的存取。非易失性存儲器115也可以內(nèi)置多個非易失性存儲器芯 片。非易失性存儲器115也可以使用除快閃存儲器之外的非易失性存儲 器。
非易失性存儲器115既可以用1個快閃存儲器芯片構(gòu)成,也可以用多 個快閃存儲器芯片構(gòu)成。
雖然在本實(shí)施方式中,地址管理表區(qū)域117設(shè)在各個地址范圍內(nèi),但 是地址范圍0 7的地址管理表區(qū)域117也可以集中設(shè)在一個范圍內(nèi),例如 設(shè)在非易失性存儲器115最后的區(qū)域內(nèi)。
也可以使地址管理表112的存儲位置不像本實(shí)施方式那樣物理固定在 地址管理表區(qū)域117內(nèi)。例如,不設(shè)置地址管理表區(qū)域117,而是將地址管 理表112保存在用戶數(shù)據(jù)區(qū)116的物理塊211內(nèi)。此時,可以將用于指示地 址管理表112的保存處的物理地址的指示器信息存儲到非易失性存儲器115 內(nèi),根據(jù)該指示器信息搜索存儲位置。
當(dāng)前地址范圍編號存儲區(qū)域118的位置并不限于在地址范圍7的高位 側(cè)。且,本實(shí)施方式中,地址范圍確定信息801被存儲在非易失性存儲器 115的當(dāng)前地址范圍編號存儲區(qū)域118中,但是,也可以單獨(dú)提供非易失性 存儲器115之外的非易失性存儲器,將地址范圍確定信息801存儲在那 里。
可以在地址范圍切換時,以編入到對應(yīng)于切換前的地址范圍的地址管 理表112的形式,將地址范圍確定信息801寫回到非易失性存儲器115。在
這種情況下,電源接通后的初始化中,對在全部地址范圍0 7中存儲的最 新地址管理表112進(jìn)行査詢,將包含最接近的時刻信息711的地址管理表 112內(nèi)所存儲的地址范圍編號712判斷為在電源切斷時刻的地址范圍編號。 (第二實(shí)施方式)
圖11表示本發(fā)明的第二實(shí)施方式非易失性存儲系統(tǒng)。第二實(shí)施方式的
非易失性存儲系統(tǒng),與第一實(shí)施方式不同在于非易失性存儲器1115的地
址范圍大小以及地址管理表1112初始化時的生成方法。
本實(shí)施方式的非易失性存儲系統(tǒng)具有存取裝置100以及基于由存取
裝置100發(fā)送的數(shù)據(jù)的讀寫命令而動作的非易失性存儲裝置123。
非易失性存儲裝置123具有用于保存由存取裝置100轉(zhuǎn)發(fā)的數(shù)據(jù)的 非易失性存儲器1115,以及基于存取裝置100發(fā)送的數(shù)據(jù)的讀寫命令和邏 輯地址而控制非易失性存儲器1115的存儲器控制器114。非易失性存儲器 1115的存儲區(qū)域具有多個地址范圍。 (存儲器控制器的內(nèi)部結(jié)構(gòu))
存儲器控制器114具有主機(jī)I/F部101、工作用RAM103、保存了程 序的ROM 104、及利用工作用RAM 103和ROM 104中保存的程序而控制 存儲器控制器114整體的CPU 102。
存儲器控制器114進(jìn)一步包括用于控制非易失性存儲器1115的存儲 器控制部122、用于生成地址管理表1112的地址管理表生成部107、及用 于暫時保存地址管理表1112的讀寫存儲器113。
存儲器控制部122具有用于對非易失性存儲器1115的地址范圍的切 換進(jìn)行判斷的地址范圍控制部124、對非易失性存儲器1115進(jìn)行數(shù)據(jù)讀寫 等控制的非易失性存儲器存取部109、以及將讀寫存儲器113中暫時存儲的 地址管理表1112,通過非易失性存儲器存取部109而寫入到非易失性存儲 器1115的寫入地址管理表控制部108。 (非易失性存儲器的內(nèi)部結(jié)構(gòu))
本實(shí)施方式中,非易失性存儲器1115的存儲區(qū)域具有用于存儲數(shù)據(jù) 的用戶數(shù)據(jù)區(qū)1116、用于存儲地址管理表1112的地址管理表區(qū)域1117、以 及用于保存如圖18所示的地址范圍確定信息1801的當(dāng)前地址范圍編號存
儲區(qū)域118。
圖12表示本實(shí)施方式的非易失性存儲器1115的存儲區(qū)域的具體結(jié) 構(gòu)。圖12中,非易失性存儲器1115是1GB,安裝有8片1G比特的快閃存 儲器。非易失性存儲器1115由多個物理塊211構(gòu)成。在此,物理塊211是 能夠有選擇地擦除的最小單位,即擦除塊,在本實(shí)施方式中具有大約4kB 的大小。
非易失性存儲器1115,在寬度方向上劃分為存儲體0 存儲體3這4 個存儲體。在本實(shí)施方式中,地址范圍1201從用戶數(shù)據(jù)區(qū)1116內(nèi)的每個 存儲體中選擇一個,共由4個物理塊211構(gòu)成。例如,包含邏輯地址O一aO 和0—a1 0—d0和0—dl的邏輯塊編號"O"的這4個物理塊是一個地址范圍 1201。換言之,本實(shí)施方式中,邏輯塊編號是指定地址范圍1201的地址范 圍編號,例如邏輯塊編號"O"二地址范圍編號"O"。圖12中,用戶數(shù)據(jù)區(qū) 1116具有地址范圍0 8188。
本實(shí)施方式中,地址管理表區(qū)域1117不是設(shè)在地址范圍1201內(nèi),而 是設(shè)在非易失性存儲器1115的高位側(cè)區(qū)域。地址管理表區(qū)域1117從低位側(cè) (圖12中的上側(cè))開始順序保存地址管理表1112。之后,順序擦除不用的 舊地址管理表1112,以存儲新的地址管理表1112。這樣,地址管理表區(qū)域 1117被重復(fù)使用。例如、在存取裝置100發(fā)出寫入命令,有效數(shù)據(jù)寫入到 非易失性存儲器1115的狀態(tài)下,如果最新地址管理表1112被保存到邏輯地 址8190—a0 8190—d0,由此,低位(圖12中的上側(cè))的8189—a1 8189—dl和8189—a0 8189—d0中保存的地址管理表1112被擦除,成為 無效塊。之后,該區(qū)域在后面會使用到。
非易失性存儲器1115的存儲區(qū)域,在地址管理表區(qū)域1117的高位側(cè)具 有當(dāng)前地址范圍編號存儲區(qū)域118。當(dāng)前地址范圍編號存儲區(qū)域118是用于 保存使地址范圍編號特定的信息的區(qū)域,其保存如圖18所示的地址范圍確 定信息1801。利用設(shè)置當(dāng)前地址范圍編號存儲區(qū)域118,當(dāng)由于電源切斷 等的故障而再啟動時,能夠?qū)忧耙汛嫒〉牡刂贩秶幪柼囟?。?dāng)前地 址范圍編號存儲區(qū)域118對已保存不用的舊地址范圍確定信息1801的物理 塊211進(jìn)行擦除并重復(fù)使用。
非易失性存儲器1115中,關(guān)于已寫入安全相關(guān)信息或制造商代碼等的 所謂系統(tǒng)區(qū)域,省略說明。
圖13表示本實(shí)施方式物理塊211的具體示例。物理塊211有頁0和頁
l這2頁。頁是寫入單位,在圖12中,最大同時寫入數(shù)是4個存儲體中各 有1頁,即最大4頁。各頁具有2048字節(jié)的數(shù)據(jù)區(qū)域212與64字節(jié)的管理 區(qū)域213。 1扇區(qū)是512字節(jié),數(shù)據(jù)區(qū)域212由4個扇區(qū)構(gòu)成。數(shù)據(jù)區(qū)域 212是被寫入來自存取裝置IOO的數(shù)據(jù)的區(qū)域。頁0的管理區(qū)域213中保存 著分布管理信息214。分布管理信息214包含存取裝置IOO所指定的邏輯塊 編號,以及表示物理塊211的狀態(tài)(status)的塊狀態(tài)。存取裝置100轉(zhuǎn)發(fā) 的數(shù)據(jù)被寫入到頁0中的數(shù)據(jù)區(qū)域212時,分布管理信息214被寫入到頁0 中的管理區(qū)域213。
(邏輯地址的格式)
圖4表示本實(shí)施方式存取裝置100向非易失性存儲裝置123發(fā)送的邏 輯地址1400的格式。邏輯地址1400從低位比特開始順序具有扇區(qū)編號 401、存儲體編號402、頁編號403、及地址范圍編號1405。本實(shí)施方式 中,地址范圍編號1405是邏輯塊編號1411。與邏輯塊編號1411對應(yīng)的13 個比特是向物理塊編號1412進(jìn)行地址轉(zhuǎn)換的對象。 (地址管理表的結(jié)構(gòu))
如圖11所示,本實(shí)施方式的地址管理表1112包含地址轉(zhuǎn)換表1110、 物理區(qū)域管理表1111和寫入管理表1121。
圖15表示本實(shí)施方式地址轉(zhuǎn)換表1110。地址轉(zhuǎn)換表1110是將由存取 裝置IOO指定的邏輯地址1400中所包含的邏輯塊編號1411,轉(zhuǎn)換成非易失 性存儲器1115內(nèi)的物理塊編號1412的表。地址轉(zhuǎn)換表1110表示與每個邏 輯塊編號1411相對應(yīng)的物理塊編號1412。本實(shí)施方式中,地址轉(zhuǎn)換表 1110包含與非易失性存儲器1115內(nèi)的全部邏輯塊編號1411相對應(yīng)的物理 塊編號1412。而且,地址轉(zhuǎn)換表1110根據(jù)來自存取裝置IOO的寫入指示,
將最新獲得的物理塊編號存儲到最后。
圖16表示本實(shí)施方式物理區(qū)域管理表1111。物理區(qū)域管理表1111是 表示非易失性存儲器1115內(nèi)的擦除單位,即物理塊211的狀態(tài)的表,其存 儲表示是否存儲有有效數(shù)據(jù)等的塊狀態(tài)。物理區(qū)域管理表1111保存在地址 轉(zhuǎn)換表1110中包含的全部物理塊編號1412的塊狀態(tài),本實(shí)施方式的物理 區(qū)域管理表1111的容量不同于第一實(shí)施方式的物理區(qū)域管理表111的容 量。除容量之外,本實(shí)施方式的物理區(qū)域管理表1111與第一實(shí)施方式的物
理區(qū)域管理表lll相同。
圖17表示本實(shí)施方式寫入管理表1121。寫入管理表1121是存儲與地 址轉(zhuǎn)換表1110所管理的1個單位的邏輯塊相對應(yīng)的物理塊的寫入狀態(tài)的 表。寫入管理表1121用1個比特表示頁0和頁1的每個存儲體是否己完成 寫入的狀態(tài),未寫入時存儲"l",已寫入時存儲"0"。例如,根據(jù)來自存取裝 置100的寫入指示,獲取新的4個物理塊的情況下,寫入管理表1121全部 的比特被設(shè)置為2進(jìn)制的"1"。接著,當(dāng)寫入數(shù)據(jù)時,與已寫入的頁相對應(yīng) 的比特被設(shè)置為2進(jìn)制的"0"。當(dāng)向已經(jīng)設(shè)置為"O"的頁寫入數(shù)據(jù)時,寫入管 理表1121判斷是否需要再次獲取新的物理塊。 (地址管理表的生成)
在初始化時,圖ll所示地址管理表控制部108從非易失性存儲器1115 的地址管理表區(qū)域1117讀取地址轉(zhuǎn)換表1110和物理區(qū)域管理表1111。
地址管理表生成部107,基于電源接通前存取的地址范圍的物理塊211 中存儲的分布管理信息214,生成寫入管理表1121。
讀寫存儲器113是SRAM等的易失性存儲器或者強(qiáng)電介質(zhì)存儲器等的 非易失性存儲器,暫時存儲地址管理表1112。由存取裝置100指示的數(shù)據(jù) 的寫入等,參照讀寫存儲器113中保存的地址管理表1112, 一邊更新一邊 進(jìn)行。
存儲器控制部122根據(jù)存取裝置100的寫入指示,向用戶數(shù)據(jù)區(qū)1116 寫入數(shù)據(jù)和分布管理信息214。此時,存儲器控制部122內(nèi)的地址管理表控 制部108對讀寫存儲器113中暫時存儲的地址管理表1112進(jìn)行更新。在存 取裝置100指示的寫入地址從當(dāng)前的地址范圍切換到其它地址范圍時,地 址管理表控制部108將讀寫存儲器113上暫時存儲的地址管理表1112寫入 到非易失性存儲器1115的地址管理表區(qū)域1117中。 (地址范圍確定信息的寫入)
地址范圍確定信息1801是將切換后的地址范圍特定下來的信息。圖18 表示本實(shí)施方式地址范圍確定信息1801。地址范圍確定信息1801具有時刻 信息711以及用于將切換后的地址范圍特定下來的地址范圍編號1712。地 址范圍編號1712的比特數(shù)不同于第一實(shí)施方式的地址范圍編號712的比特 數(shù)。
圖11所示地址范圍控制部124具有地址范圍切換部105和地址范圍確
定部106。
地址范圍切換部105的內(nèi)部結(jié)構(gòu)與第一實(shí)施方式中的圖7相同。地址
范圍切換部105基于存取裝置100已轉(zhuǎn)發(fā)的邏輯地址,檢測出地址范圍編 號1712是否已切換。如果檢測到己切換,則輸出切換后的地址范圍編號 1712,并且,輸出表示各命令的時間前后關(guān)系的時刻信息711,以獲知存取 裝置100已轉(zhuǎn)發(fā)的命令是什么時間點(diǎn)的命令。
在剛剛切換了地址范圍,開始向切換后的地址范圍進(jìn)行寫入時,地址 范圍確定部106通過非易失性存儲器存取部109,將地址范圍確定信息 1801存儲到非易失性存儲器1115的當(dāng)前地址范圍編號存儲區(qū)域118中。而 且,地址范圍確定部106基于在電源接通后的初始化時,當(dāng)前地址范圍編 號存儲區(qū)域118中存儲的地址范圍確定信息1801,將電源接通前已存取的 地址范圍1201特定下來。由此,例如,即使在由于電源切斷等的故障引起 的再啟動的情況下,地址范圍確定部106也能將啟動前己存取的地址范圍 編號1712特定下來。 (初始化處理)
下面說明具有上述結(jié)構(gòu)的本實(shí)施方式的非易失性存儲系統(tǒng)的初始化處 理。電源接通后,CPU 102基于ROM 104中存儲的程序,向非易失性存儲 器存取部109發(fā)出地址管理表區(qū)域1117內(nèi)的地址轉(zhuǎn)換表1110和物理區(qū)域管 理表1111的讀取指示。除電源接通時之外,初始化處理也可以在非易失性 存儲裝置123重置時進(jìn)行。非易失性存儲器存取部109從非易失性存儲器 1115的地址管理表區(qū)域1117中,讀取地址轉(zhuǎn)換表1110和物理區(qū)域管理表 1111。地址管理表控制部108將地址轉(zhuǎn)換表1110和物理區(qū)域管理表1111寫 入到讀寫存儲器1B。
初始化處理時讀取的地址轉(zhuǎn)換表1110和物理區(qū)域管理表1111是,地址 管理表區(qū)域1117內(nèi)的物理塊211中保存的最新地址轉(zhuǎn)換表1110和物理區(qū)域 管理表1111。對于哪個是最新的判斷,是以下述內(nèi)容為基準(zhǔn)與地址管理 表區(qū)域1117相對應(yīng)的物理塊211的頁中的最高位地址,具體而言是指圖12 中邏輯地址8190—a1 8190—dl這4頁(共8kB)作為一組是否已被擦 除。到圖12中的高位方向進(jìn)行搜索,將未擦除的,即寫有某值的4頁選擇 為最新地址轉(zhuǎn)換表1110和物理區(qū)域管理表1111。
而且,CPU 102向非易失性存儲器存取部109發(fā)出地址范圍確定信息
1801的讀取指示。地址范圍確定部106通過非易失性存儲器存取部109, 從非易失性存儲器1115的當(dāng)前地址范圍編號存儲區(qū)域118中檢索出具有最 大時刻信息711的地址范圍確定信息1801,將檢索到的地址范圍確定信息 1801中包含的地址范圍編號1712轉(zhuǎn)發(fā)到地址管理表生成部107。地址管理 表生成部107基于電源接通前存取的地址范圍的物理塊211的分布管理信 息214,生成寫入管理表1121,保存到讀寫存儲器113上。但是,對于全 部比特值為1的時刻信息711,地址范圍確定信息1801則判斷是尚未寫 入。
作為非易失性存儲系統(tǒng)的存儲媒體的非易失性存儲裝置123出廠后, 最初使用時,非易失性存儲器1115的物理塊211全部處于被擦除的狀態(tài)。 實(shí)際上,系統(tǒng)區(qū)域中寫有規(guī)定的值,在此對此狀態(tài)省略說明。工廠出廠 后,最低位(圖2中的上側(cè))的8189—a0 8189—d0這4頁被讀取到讀寫 存儲器113,作為地址管理表1112。此時,因?yàn)榉且资源鎯ζ?115中沒 有存儲有效數(shù)據(jù),所以圖16所示物理區(qū)域管理表1111存儲的全部是無效塊 "11"。且,圖17所示寫入管理表1121存儲的全部是表示未寫入狀態(tài)的
如上所述,向讀寫存儲器113寫入了地址轉(zhuǎn)換表1110、物理區(qū)域管理 表1111及寫入管理表1121后,存儲器控制器101進(jìn)入接收來自存取裝置 100的讀寫等的指令的接收狀態(tài)。
(地址范圍內(nèi)的數(shù)據(jù)寫入處理)
圖19表示地址范圍沒有切換時的寫入處理。第一實(shí)施方式中,對非易 失性存儲器115的存取以16kB為單位,但是在第二實(shí)施方式中是以2kB為 單位。圖19中,在數(shù)據(jù)寫入期間TAO,地址范圍0內(nèi)的邏輯地址0—aO所 表示的物理塊211的頁0中寫入2kB的數(shù)據(jù),在接下來的數(shù)據(jù)寫入期間 TB1,地址范圍0內(nèi)的邏輯地址0_bO所表示的物理塊211的頁0中寫入 2kB的數(shù)據(jù)。寫入指令、尋址/數(shù)據(jù)轉(zhuǎn)發(fā)期間Tal、擦除忙期間Ta2、及程序 忙期間Ta3與第一實(shí)施方式的圖9相同。
專利文獻(xiàn)1所示的現(xiàn)有半導(dǎo)體存儲器裝置中,在寫入了 2kB的數(shù)據(jù) 后,將讀寫存儲器113中暫時存儲的地址管理表1112寫回到非易失性存儲 器1115,因此該時間開銷是造成處理速度下降的原因。然而,本發(fā)明的第 二實(shí)施方式中,在地址范圍不切換的情況下,不進(jìn)行向非易失性存儲器
1115寫回讀寫存儲器113中暫時存儲的地址管理表1112的處理,在數(shù)據(jù)寫
入時一并將分布管理信息214寫入到用戶數(shù)據(jù)區(qū)1116,由此使前述開銷合理化。
(地址范圍切換時的數(shù)據(jù)的寫入處理)
圖20表示有地址范圍的切換時的寫入處理。圖20以地址范圍1201從 "3"切換到"4"的情況為例。數(shù)據(jù)寫入期間TA3和數(shù)據(jù)寫入期間TAO之間是 地址范圍切換時間點(diǎn)TS。
數(shù)據(jù)寫入期間TA3中,3—dl物理塊211的頁1中寫入了數(shù)據(jù)后,地址 范圍切換部105如果收到來自存取裝置100的指定地址范圍4的邏輯地址 1400,就檢測到地址范圍從"3"切換到"4"。由此,對地址范圍3的處理結(jié) 束,數(shù)據(jù)寫入期間TA3和數(shù)據(jù)寫入期間TAO之間是地址范圍切換時間點(diǎn) TS。
接下來的數(shù)據(jù)寫入期間TAO,在4—aO物理塊211的頁0中寫入數(shù)據(jù)。 此時,地址管理表控制部108將為向地址范圍4寫入而保留的物理塊編號 1412寫入地址轉(zhuǎn)換表1110的新獲取的塊。
之后,在AT寫入期間TB,讀寫存儲器113中暫時存儲的地址轉(zhuǎn)換表 1110、物理區(qū)域管理表1111及寫入管理表1121被保存到非易失性存儲器 1115的地址管理表區(qū)域1117。
接著,在地址范圍確定信息寫入期間TD,包含地址范圍"4"的地址范 圍確定信息1801被寫入到非易失性存儲器1115的當(dāng)前地址范圍編號存儲 區(qū)域118。通過這樣的處理,發(fā)生電源切斷等的故障時,其后立即啟動時, 也能判別是在哪個地址范圍的處理中發(fā)生了電源切斷等的故障。
寫入指令及尋址/數(shù)據(jù)轉(zhuǎn)發(fā)期間Tal、 Tbl、 Tdl、擦除忙期間Ta2、 Tb2、 Td2、及程序忙期間Ta3、 Tb3、 Td3的詳細(xì)結(jié)構(gòu)與第一實(shí)施方式中的 圖IO相同。
在初始化處理時,因?yàn)楸緦?shí)施方式在讀寫存儲器113中保存有對應(yīng)于 全部邏輯塊編號1411的地址轉(zhuǎn)換表1110以及對應(yīng)于地址轉(zhuǎn)換表1110中包 含的全部物理塊編號1412的物理區(qū)域管理表1111,所以也可以不設(shè)置圖 IO中的AT讀取期間TC。
如上述,本實(shí)施方式的非易失性存儲裝置123并非在每次寫入數(shù)據(jù)時 都將地址管理表1112寫回到非易失性存儲器1115。因此,發(fā)生電源切斷等
的故障時,非易失性存儲器1U5上的地址管理表1112有可能不是最新的地 址管理信息。因此,在電源切斷等的故障發(fā)生后立即啟動時,地址范圍確 定部106將發(fā)生電源切斷等的故障時的地址范圍特定下來;基于該地址范
圍中存儲的分布管理信息214,地址管理表生成部107在讀寫存儲器113上 生成有寫入管理表1121。
(初始化處理所需時間) 地址管理表生成部107通過非易失性存儲器存取部109讀取的數(shù)據(jù)量 只限于地址范圍內(nèi)的分布管理信息214,所以能夠用比較少的時間進(jìn)行讀 取。例如非易失性存儲器1115具有多存儲體頁讀取功能,假設(shè)每頁的多存 儲體頁讀取所需時間是100p秒,由式(11)可知,大約用0.8m秒完成讀 取。
100p秒x8二0.8m秒 (11)
如果具有1GB容量的半導(dǎo)體存儲器裝置(8片快閃存儲器芯片),由式 (12)可知,大約為6.4m秒。
0.8m秒x8片二6.4m秒 (12) 另一方面,專利文獻(xiàn)2所示的現(xiàn)有半導(dǎo)體存儲器裝置中,全部區(qū)域的 分布管理信息的讀取時間,由式(13)可知大約是6400m秒。 100p秒x8kx8二6400m秒 (13) 此值作為用戶啟動時的等待時間則是過長的時間。隨著半導(dǎo)體存儲器 裝置的容量變大,這樣的問題就成為致命的問題。但是,本實(shí)施方式可以 在短時間內(nèi)進(jìn)行初始化處理。 (數(shù)據(jù)的擦寫率)
接下來定量地說明寫入速度的提高。圖19所示數(shù)據(jù)寫入期間TAO、 TA1及圖20所示的數(shù)據(jù)寫入期間TA3、 TAO、 AT寫入期間TB、地址范圍 確定信息寫入期間TD分別是1.5m秒。
專利文獻(xiàn)1所示的現(xiàn)有半導(dǎo)體存儲器裝置中,圖19中的數(shù)據(jù)寫入期間 TAO、 TA1之后必須有AT寫入期間TB,所以寫入2頁的數(shù)據(jù),由式 (14)可知,需要4.5m秒。
1.5m秒x3二4.5m秒 (14) 另外,本實(shí)施方式地址范圍不切換時寫入2頁的數(shù)據(jù),由式(15)可 知,是3m秒。
1.5m秒x2二3m秒 (15) 但是,本實(shí)施方式中,圖20所示地址范圍切換時,地址范圍確定信息 寫入期間TD比現(xiàn)有例需要更多的處理時間。
考慮到此,根據(jù)以2kB為單位全部擦寫1個地址范圍的擦寫率值,將 本實(shí)施方式與專利文獻(xiàn)l進(jìn)行比較。本實(shí)施方式中,l個地址范圍的容量是 16kB。用2kB單位的寫入來擦寫1個地址范圍時,由式(16)知,存取裝 置100指示8次寫入。
16kB+2kB二8次 (16) 專利文獻(xiàn)1所示的現(xiàn)有半導(dǎo)體存儲器裝置的擦寫率,如式(17)所 示,平均是444kB/秒。
16kB+ (8次x4.5m秒)—444kB/秒 (17) 另一方面,本實(shí)施方式的非易失性存儲裝置123的擦寫率,如式 (18)所示平均是593kB/秒。本實(shí)施方式非易失性存儲裝置123能夠比
現(xiàn)有半導(dǎo)體存儲器裝置更加高速地進(jìn)行擦寫。
16kB+ ((8次x3m秒)+ (2次xl.5m秒))^593kB/秒 (18)
邏輯地址范圍切換時瞬間的速度劣化是數(shù)毫秒的程度,所以,利用存 取裝置IOO側(cè)常備的緩沖,能夠被完全吸收。由此,處理不會有問題。
如上所述,本實(shí)施方式中,即使半導(dǎo)體裝置的存儲器容量變大,也能 夠使發(fā)生電源切斷等的故障后再啟動時的初始化時間極小化,并且,使地 址管理表1112更新的時間開銷合理化,因此提高擦寫率。
然而,也可以取代圖20,用圖21所示寫入順序來進(jìn)行地址范圍切換后 的處理。圖21中,AT寫入期間TB設(shè)在數(shù)據(jù)寫入期間TA3之后,AT寫入 期間TB和數(shù)據(jù)寫入期間TAO之間是地址范圍切換時間點(diǎn)TS。
圖13中的管理區(qū)域213,除了分布管理信息214等之外,也可存儲時 刻信息711。由此,只是基于與圖12中的當(dāng)前地址范圍編號存儲區(qū)域118 中存儲的地址范圍確定信息1801中的時刻信息711相一致的物理塊的信 息,對地址管理表區(qū)域中存儲的最新地址管理表1112進(jìn)行修改,就能夠生 成真正的最新的地址管理表1112。
讀寫存儲器113也可以使用除RAM之外的讀寫存儲器,只要能進(jìn)行比 較高速的存取。
此外,非易失性存儲器1115可以用1片快閃存儲器芯片構(gòu)成,也可以
用多個快閃存儲器芯片構(gòu)成。并且,非易失性存儲器1115也可以使用除了 快閃存儲器之外的非易失性存儲器。
不同于本實(shí)施方式的地址管理表區(qū)域1117,也可以使地址管理表1112
的存儲位置并非物理固定,獨(dú)立提供指示用于地址管理信息的區(qū)域的物理 地址的指示器信息,在與用戶數(shù)據(jù)區(qū)1116相同的區(qū)域中,使地址管理表 1112混同存在,根據(jù)指示器信息來移動存儲位置。
本實(shí)施方式中,采用的是將用于將時刻信息711等的地址范圍特定下 來的地址范圍確定信息1801存儲到非易失性存儲器1115的當(dāng)前地址范圍 編號存儲區(qū)域118中,但是也可以獨(dú)立提供除非易失性存儲器1115之外的 非易失性存儲器,將地址范圍確定信息1801存儲到那里。
在地址范圍切換之際,可以以編入到對應(yīng)于切換后的地址范圍的地址 管理表1112的形式,將地址范圍確定信息1801寫回到非易失性存儲器 1115。但是,在這種情況下,電源接通后的初始化中,對地址管理表區(qū)域 1117內(nèi)的全部地址范圍0 8188所對應(yīng)的最新的地址管理表1112進(jìn)行査 詢,將包含最近的時刻信息711的地址管理表1112內(nèi)存儲的地址范圍編號 1712判斷為在電源切斷時刻的地址范圍編號1712。將其中所寫入的切替時 的地址范圍編號1712特定為,在發(fā)生電源切斷等的故障的時間點(diǎn)來自存取 裝置100的寫入指示等被轉(zhuǎn)發(fā)的地址范圍編號1712。
本發(fā)明的非易失性存儲裝置,利用使用快閃存儲器等的非易失性存儲 器的存儲卡等的存儲媒體,具有同時實(shí)現(xiàn)高速寫入和縮短初始化時間的效 果,可應(yīng)用于靜止圖像記錄再現(xiàn)裝置、動態(tài)圖像記錄再現(xiàn)裝置等便攜式AV 設(shè)備,或者移動電話等便攜式通信設(shè)備的記錄媒體中。
權(quán)利要求
1、一種存儲器控制器,其用于對具有多個由1個以上的物理塊所構(gòu)成的地址范圍的非易失性存儲器進(jìn)行數(shù)據(jù)寫入或讀取,其特征在于,所述存儲器控制器具有讀寫存儲器,其用于暫時存儲對所述物理塊的狀態(tài)進(jìn)行管理的地址管理表;存儲器控制部,其在寫入數(shù)據(jù)時,向所述物理塊寫入數(shù)據(jù)和用于生成所述地址管理表的分布管理信息,從而對所述讀寫存儲器的所述地址管理表進(jìn)行更新,在數(shù)據(jù)的寫入目標(biāo)從某地址范圍切換到其它地址范圍時,向所述非易失性存儲器寫入所述讀寫存儲器中暫時存儲的所述地址管理表;以及,地址管理表生成部,在初始化時,其從初始化前已存取的所述地址范圍內(nèi)讀取所述分布管理信息,基于所讀取的所述分布管理信息,在所述讀寫存儲器上生成所述地址管理表。
2、 如權(quán)利要求1所述的存儲器控制器,其特征在于,所述地址范圍是對所述非易失性存儲器的存儲區(qū)域進(jìn)行劃分得到的每個具有規(guī)定大小的區(qū)域,包含與由存取裝置指定的多個邏輯單位相對應(yīng)的 多個物理塊;所述地址管理表是統(tǒng)一管理所述地址范圍內(nèi)中包含的多個邏輯單位的表。
3、 如權(quán)利要求1所述的存儲器控制器,其特征在于, 所述地址范圍是針對由存取裝置指定的每個邏輯單位設(shè)置的區(qū)域,所述地址管理表是統(tǒng)一管理多個所述地址范圍的表。
4、 如權(quán)利要求l所述的存儲器控制器,其特征在于, 當(dāng)數(shù)據(jù)的寫入目標(biāo)的物理塊從某地址范圍切換到其它地址范圍時,所述存儲器控制部向所述非易失性存儲器寫入用于將切換后的地址范圍特定 下來的地址范圍確定信息。
5、 如權(quán)利要求4所述的存儲器控制器,其特征在于, 所述存儲器控制部將所述地址范圍確定信息,以編入到所述地址管理表的形式,寫入到所述非易失性存儲器。
6、 如權(quán)利要求4所述的存儲器控制器,其特征在于,在初始化時,所述存儲器控制部基于所述地址范圍確定信息,將初始 化前已存取的所述地址范圍特定下來。
7、 一種存儲器控制器,其用于對具有多個由1個以上的物理塊所構(gòu)成 的地址范圍的非易失性存儲器進(jìn)行數(shù)據(jù)寫入或讀取,其特征在于,所述存儲器控制器具有讀寫存儲器,其暫時存儲包含第一表和第二表的地址管理表,所述第 一表用于管理1個所述地址范圍內(nèi)的物理塊的寫入狀態(tài),所述第二表用于 管理多個所述地址范圍內(nèi)的物理塊的狀態(tài);存儲器控制部,其在寫入數(shù)據(jù)時,向所述非易失性存儲器寫入數(shù)據(jù)和 用于生成所述地址管理表的分布管理信息,從而對所述讀寫存儲器的所述 地址管理表進(jìn)行更新,在數(shù)據(jù)的寫入目標(biāo)從某地址范圍切換到其它地址范 圍時,向所述非易失性存儲器寫入所述讀寫存儲器中暫時存儲的所述地址 管理表,在初始化時,從所述非易失性存儲器讀取所述第二表,保存到所 述讀寫存儲器中;以及,地址管理表生成部,在初始化時,其從初始化前已存取的所述地址范 圍內(nèi)讀取所述分布管理信息,基于所讀取的所述分布管理信息生成所述第 一表,保存到所述讀寫存儲器中。
8、 一種非易失性存儲裝置,其特征在于,包括非易失性存儲器,其具有多個由1個以上的物理塊所構(gòu)成的地址范 圍;以及,如權(quán)利要求1所述的存儲器控制器,其控制對所述非易失性存儲器的 數(shù)據(jù)寫入或讀取。
9、 一種非易失性存儲系統(tǒng),其特征在于,包括如權(quán)利要求8所述的非易失性存儲裝置,其包含具有多個由1個以上 的物理塊所構(gòu)成的地址范圍的非易失性存儲器;以及,存取裝置,其指定所述地址范圍,并控制對所述非易失性存儲器的數(shù) 據(jù)的寫入或者讀取。
10、 一種存儲器控制方法,其對非易失性存儲裝置進(jìn)行控制, 所述非易失性存儲裝置具有具有多個由1個以上的物理塊所構(gòu)成的地址范圍的非易失性存儲器,以及,用于暫時存儲對所述物理塊的狀態(tài)進(jìn)行管理的地址管理表的讀寫存儲器,所述存儲器控制方法,其特征在于,具有下述步驟第一步驟在寫入數(shù)據(jù)時,向所述物理塊寫入數(shù)據(jù)和用于生成所述地 址管理表的分布管理信息,從而對所述讀寫存儲器的所述地址管理表進(jìn)行 更新,在數(shù)據(jù)的寫入目標(biāo)從某地址范圍切換到其它地址范圍時,向所述非 易失性存儲器寫入所述讀寫存儲器中暫時存儲的所述地址管理表;以及,第二步驟在初始化時,從初始化前已存取的所述地址范圍內(nèi)讀取所述分布管理 信息,基于所讀取的所述分布管理信息,在所述讀寫存儲器上生成所述地 址管理表。
全文摘要
本發(fā)明提供一種存儲器控制器,其能夠避免在正常動作時由于地址管理表的寫回處理所引起的存取速度下降,并且能夠縮短在存儲器卡初始化時地址管理表的生成時間。存儲器控制器(114)具有,暫時存儲地址管理表(112)的讀寫存儲器(113);存儲器控制部(122),在數(shù)據(jù)的寫入目標(biāo)的物理塊從某地址范圍切換到其它地址范圍時,其向非易失性存儲器(115)寫入讀寫存儲器中暫時存儲的地址管理表和用于將切換后的地址范圍特定下來的地址范圍確定信息;以及地址管理表生成部(107),在初始化時基于地址范圍確定信息,讀取在特定的地址范圍內(nèi)中包含的、用于管理物理塊的狀態(tài)的分布管理信息,并基于讀取的分布管理信息生成地址管理表(112)。
文檔編號G06F12/02GK101185067SQ200680017750
公開日2008年5月21日 申請日期2006年5月18日 優(yōu)先權(quán)日2005年5月23日
發(fā)明者中西雅浩, 井上學(xué), 國宗大介, 松野公則, 泉智紹, 田村和明, 笠原哲志 申請人:松下電器產(chǎn)業(yè)株式會社