專利名稱:管理對于非易失性半導(dǎo)體存儲器的存取的存儲器管理裝置及方法
技術(shù)領(lǐng)域:
本發(fā)明的實施方式總體涉及管理對于非易失性半導(dǎo)體存儲器的存取的存儲器管理裝置及存儲器管理方法。
背景技術(shù):
以往,使用下述技術(shù)具備與非易失性半導(dǎo)體存儲器相比能夠高速地進(jìn)行存取的暫時存儲裝置,通過將存儲于非易失性半導(dǎo)體存儲器的數(shù)據(jù)存儲在該暫時存儲裝置中而使存取高速化。在這樣的現(xiàn)有的存取高速化技術(shù)中,先將非易失性半導(dǎo)體存儲器所存儲的連續(xù)數(shù)據(jù)之中接下來要存取的數(shù)據(jù)存儲于暫時存儲裝置。然后,對于暫時存儲裝置執(zhí)行對于連續(xù)數(shù)據(jù)的存取。
發(fā)明內(nèi)容
本發(fā)明提供能夠高速地對存儲于非易失性半導(dǎo)體存儲器的數(shù)據(jù)進(jìn)行存取的存儲器管理裝置以及管理方法??傮w地,根據(jù)一實施方式,存儲器管理裝置包括歷史管理部、地址變換表、地址管理部以及數(shù)據(jù)管理部。所述歷史管理部管理對于存儲于非易失性半導(dǎo)體存儲器的數(shù)據(jù)的存取歷史。所述地址變換表包含與所述數(shù)據(jù)相對應(yīng)的邏輯地址與物理地址的變換表。地址管理部基于所述存取歷史來確定在對于存儲于所述非易失性半導(dǎo)體存儲器的第一數(shù)據(jù)的存取之后被存取的第二數(shù)據(jù),將對應(yīng)于所述第二數(shù)據(jù)的第二物理地址與對應(yīng)于所述第一數(shù)據(jù)的第一邏輯地址相對應(yīng)地登記于所述地址變換表。數(shù)據(jù)管理部將所述第二數(shù)據(jù)從所述非易失性半導(dǎo)體存儲器讀取到緩沖器。根據(jù)本發(fā)明的實施方式,提供能夠高速地對存儲于非易失性半導(dǎo)體存儲器的數(shù)據(jù)進(jìn)行存取的存儲器管理裝置以及管理方法。
圖1是表示第一實施方式所涉及的存儲器管理裝置的結(jié)構(gòu)的一例的框圖。圖2是表示第一實施方式所涉及的地址變換表、歷史表、預(yù)讀表的構(gòu)成的一例的圖。圖3是表示第一實施方式所涉及的存儲器管理裝置的處理部的存取工作的前半部分的一例的流程圖。
圖4是表示第一實施方式所涉及的存儲器管理裝置的處理部的存取工作的后半部分的一例的流程圖。圖5是表示第二實施方式所涉及的地址變換表的一例的圖。圖6是表示第三實施方式所涉及的非易失性半導(dǎo)體存儲器的構(gòu)成的一例的圖。圖7是表示第三實施方式所涉及的地址變換表、歷史表與地址分配結(jié)果的關(guān)系的一例的圖。圖8是表示第四實施方式所涉及的地址變換表、歷史表、預(yù)讀表的構(gòu)成的一例的圖。圖9是表示第四實施方式所涉及的存儲器管理裝置的處理部的存取工作的前半部分的一例的流程圖。圖10是表示第四實施方式所涉及的存儲器管理裝置的處理部的存取工作的后半部分的一例的流程圖。圖11是表示第五實施方式所涉及的預(yù)讀表、地址變換表與軟件的關(guān)系的一例的框圖。
具體實施例方式以下,參照附圖對各實施方式進(jìn)行說明。另外,在以下的各圖中,對于相同或大致相同的要素附加相同的符號并省略說明或者簡單地說明,僅對于不同的部分詳細(xì)地進(jìn)行說明。(第一實施方式)圖1是表示本實施方式所涉及的存儲器管理裝置的結(jié)構(gòu)的一例的框圖。信息處理裝置1具備處理器2、存儲器管理裝置3和存儲裝置4。處理器2和存儲器管理裝置3也可以包括例如S0C(SyStem-0n-a-Chip,片上系統(tǒng))。存儲器管理裝置3,從處理器2接收存取對象數(shù)據(jù)的地址,并將存取結(jié)果返回處理器2。在本實施方式中,所謂存取,指與讀取和寫入之中的至少一方有關(guān)的工作。例如,存儲器管理裝置3,若從處理器2接收讀取對象數(shù)據(jù)的邏輯地址,則將邏輯地址變換為物理地址,從存儲裝置4讀取與物理地址相對應(yīng)的讀取對象數(shù)據(jù),將讀取對象數(shù)據(jù)返回處理器2。此外,例如,存儲器管理裝置3,若從處理器2接收寫入對象數(shù)據(jù)和該寫入對象數(shù)據(jù)的邏輯地址,則將邏輯地址變換為物理地址,將寫入對象數(shù)據(jù)寫入與物理地址相對應(yīng)的存儲裝置4的位置。接著,存儲器管理裝置3將表示寫入是否成功的信息返回處理器2。存儲裝置4,作為信息處理裝置1的主存儲器使用,具有易失性半導(dǎo)體存儲器5和非易失性半導(dǎo)體存儲器61 6k。在本實施方式中,對非易失性半導(dǎo)體存儲器61 故確保足夠的存儲量。非易失性半導(dǎo)體存儲器61 故的存儲容量比易失性半導(dǎo)體存儲器5大。 而且,從非易失性半導(dǎo)體存儲器61 故將例如最近被存取了的數(shù)據(jù)或者使用頻率高的數(shù)據(jù)等被存取的可能性高的數(shù)據(jù)高速緩存于易失性半導(dǎo)體存儲器5。在處理器2對易失性半導(dǎo)體存儲器5進(jìn)行存取的情況下,當(dāng)在易失性半導(dǎo)體存儲器5中不存在存取對象數(shù)據(jù)的情況下,在非易失性半導(dǎo)體存儲器61 故與易失性半導(dǎo)體存儲器5之間執(zhí)行數(shù)據(jù)傳送。這樣,通過組合使用易失性半導(dǎo)體存儲器5和非易失性半導(dǎo)體存儲器61 故,能夠使用比易失性半導(dǎo)體存儲器5的存儲容量大的存儲空間作為主存儲器。在本實施方式中,設(shè)定為易失性半導(dǎo)體存儲器5是例如DRAM(Dynamic Random Access Memory,動態(tài)隨機存儲器)。但是,作為易失性半導(dǎo)體存儲器5,也可以代替DRAM而使用 FPM-DRAM (Fast Page Mode,快頁模式)、EDO-DRAM (Extended Data Out DRAM,擴展數(shù)據(jù)輸出DRAM)、SDRAM (Synchronous DRAM,同步DRAM)等這樣的、在計算機中作為主存儲器使用的存儲器。此外,只要能夠進(jìn)行DRAM程度的高速隨機存取、能夠存取的上限次數(shù)沒有實質(zhì)的限制,也可以代替易失性半導(dǎo)體存儲器5,而使用MRAM^agnetoresistive Random Access Memory,磁致電阻的隨機存儲器)、FeRAM(Ferroelectric Random Access Memory, 鐵電隨機存儲器)等非易失性隨機存儲器。在本實施方式中,非易失性半導(dǎo)體存儲器61 故例如為NAND型閃存。但是,非易失性半導(dǎo)體存儲器61 故也可以使用例如NOR型閃存等其他的非易失性半導(dǎo)體存儲器。易失性半導(dǎo)體存儲器5與非易失性半導(dǎo)體存儲器61 故相比容量小(例如128M 字節(jié) 4G字節(jié)等)但能夠高速地進(jìn)行存取。非易失性半導(dǎo)體存儲器61 故與易失性半導(dǎo)體存儲器5相比容量大(例如32G 字節(jié) 512G字節(jié)等)但存取時間長。在如本實施方式那樣非易失性半導(dǎo)體存儲器61 故為NAND型閃存的情況下,寫入與讀取以頁為單位執(zhí)行。擦除以包含多個頁的塊為單位進(jìn)行。處理器2執(zhí)行各種程序。本實施方式的處理器2,使用CPU (Cental Processing Unit,中央處理單元),但也可以使用MPU(Micro Processor Unit,微處理器單元)、 GPU(Graphic Processing Unit,圖形處理單元)等那樣的其他處理單元。處理器2的 MMU (Memory Management Unti,存儲器管理單元)2a,將CPU邏輯地址變換為NAND邏輯地址 (CPU物理地址)。從處理器2向存儲器管理裝置3,作為確定存取目的地的地址,傳送NAND 邏輯地址。例如,處理器2與存儲器管理裝置3能夠非同步地工作,在由處理器2執(zhí)行處理的過程中,存儲器管理裝置3能夠?qū)τ诜且资园雽?dǎo)體存儲器61 故執(zhí)行損耗平均(wear levelling)、無用單兀收集(garbage collection)、壓縮(compaction)。存儲器管理裝置3具備第一控制器7、第二控制器8、地址信息存儲部9、歷史存儲部10、預(yù)讀(prefetch)存儲部11和處理部12。第一控制器7例如為DRAM用的控制器,控制對于作為高速緩沖存儲器使用的易失性半導(dǎo)體存儲器5的存取。第二控制器8例如為NAND用的控制器,控制對于非易失性半導(dǎo)體存儲器61 故的存取。地址信息存儲部9、歷史存儲部10、預(yù)讀存儲部11具有與易失性半導(dǎo)體存儲器5 同樣的特征,與非易失性半導(dǎo)體存儲器61 故相比能夠進(jìn)行高速存取,可以存取的上限次數(shù)比非易失性半導(dǎo)體存儲器61 故多。另外,地址信息存儲部9、歷史存儲部10、預(yù)讀存儲部11也可以通過易失性半導(dǎo)體存儲器5來實現(xiàn)。地址信息存儲部9、歷史存儲部10、預(yù)讀存儲部11和易失性半導(dǎo)體存儲器5可以自由組合。地址信息存儲部9具備地址變換表13。地址變換表13按每一條目相關(guān)聯(lián)地存儲 由CPU管理的非易失性半導(dǎo)體存儲器61 6k的NAND邏輯地址、通過處理部12管理的NAND物理地址、和在發(fā)生了對于該條目的NAND邏輯地址或NAND物理地址的存取的情況下被預(yù)讀的數(shù)據(jù)(預(yù)讀數(shù)據(jù))所對應(yīng)的地址(預(yù)讀地址)。對于地址變換表13的詳細(xì)情況后面描述。歷史存儲部10具備歷史表14,該歷史表14包含對于存儲于非易失性半導(dǎo)體存儲器61 故的數(shù)據(jù)的存取歷史。對于歷史表14的詳細(xì)情況后面描述。預(yù)讀存儲部11具備預(yù)讀表15,該預(yù)讀表15預(yù)先存儲在產(chǎn)生了對于NAND物理地址的存取的情況下、在該存取后的預(yù)定范圍(例如存取次數(shù)、存取時間等)內(nèi)被存取的可能性高的數(shù)據(jù)。預(yù)讀表15按每一條目管理NAND物理地址和在對于該NAND物理地址的存取后的預(yù)定范圍內(nèi)被存取的可能性高的數(shù)據(jù)(預(yù)讀數(shù)據(jù))。對于預(yù)讀表15的詳細(xì)情況后面描述。處理部12執(zhí)行對于存儲裝置4的各種的高度的存取控制。例如,處理部12經(jīng)由第二控制器8執(zhí)行對于非易失性半導(dǎo)體存儲器61 故的損耗平均、無用單元收集、壓縮。處理部12,基于地址變換表13,將從處理器2接收到的NAND邏輯地址變換為NAND 物理地址,并基于NAND物理地址執(zhí)行對于存儲裝置4或者預(yù)讀存儲部11的存取。處理部12基于數(shù)據(jù)的先前的存取時間、存儲頻率和存取次數(shù)之中的至少一種,執(zhí)行將被存取的可能性高的數(shù)據(jù)經(jīng)由第一控制器7存儲于易失性半導(dǎo)體存儲器5的高速緩存控制。處理部12,根據(jù)需要,將存儲于易失性半導(dǎo)體存儲器5的數(shù)據(jù)以及存儲于預(yù)讀存儲部11的數(shù)據(jù)回寫至非易失性半導(dǎo)體存儲器61 6k,保持?jǐn)?shù)據(jù)內(nèi)容的一致性 (coherency)0進(jìn)而,處理部12具備歷史管理部16、預(yù)讀地址管理部17、預(yù)讀數(shù)據(jù)管理部18和存取部19。歷史管理部16將對于非易失性半導(dǎo)體存儲器61 故的存取歷史登記于歷史表 14。對于歷史管理部16的詳細(xì)情況后面描述。預(yù)讀地址管理部17,基于歷史表14,對于地址變換表13中的NAND邏輯地址和 NAND物理地址之中的至少一方,相關(guān)聯(lián)地登記預(yù)讀地址。所謂預(yù)讀地址,是在NAND邏輯地址或者NAND物理地址被存取的情況下、在該存取之后被存取的可能性高的地址。對于預(yù)讀地址管理部17的詳細(xì)情況后面描述。預(yù)讀數(shù)據(jù)管理部18,將在對于NAND物理地址的存取之后被存取的可能性高的預(yù)讀數(shù)據(jù)預(yù)先存儲于預(yù)讀表15。存取部19,在存取對象數(shù)據(jù)存儲于預(yù)讀表15的情況下,對存儲于預(yù)讀表15的存取對象數(shù)據(jù)進(jìn)行存取。存取部19,在存儲對象數(shù)據(jù)沒有存儲于預(yù)讀表15的情況下,經(jīng)由第一控制器7或第二控制器8,對存儲于易失性半導(dǎo)體存儲器5或非易失性半導(dǎo)體存儲器61 故的存取對象數(shù)據(jù)進(jìn)行存取。處理部12既可以通過硬件執(zhí)行上述的控制,也可以通過例如固件(Firmware)等軟件來執(zhí)行上述的控制。圖2是表示本實施方式所涉及的地址變換表13、歷史表14和預(yù)讀表15的構(gòu)成的一例的圖。
歷史表14以能夠識別存取順序的方式管理先前被存取過的地址。在歷史表14中, 條目的排列順序?qū)?yīng)于存取順序。有效/無效信息表示條目是否有效。圖2的歷史表14表示按NAND邏輯地址(A_l)、(A)、(A+1)的順序發(fā)生了存取的情況。在本實施方式中,以在歷史表14中登記NAND邏輯地址的情況為例進(jìn)行說明,但也可以登記例如NAND物理地址等。地址變換表13,按每一條目管理NAND邏輯地址、NAND物理地址、有效/無效信息、 預(yù)讀地址。地址變換表13的各條目,將存儲于非易失性半導(dǎo)體存儲器61 故的各數(shù)據(jù)的 NAND邏輯地址與NAND物理地址相關(guān)聯(lián)。地址變換表13的有效/無效信息表示條目是否有效。地址變換表13的各條目的預(yù)讀地址是在對于各條目的NAND邏輯地址或NAND物理地址的存取后的預(yù)定范圍內(nèi)被存取的可能性高的地址。即,預(yù)讀地址是表示在某一數(shù)據(jù)被存取了的情況下、在該存取后被存取的可能性高且被預(yù)讀的數(shù)據(jù)(預(yù)讀數(shù)據(jù))的地址。在本實施方式中,作為預(yù)讀地址,以使用NAND物理地址的情況為例進(jìn)行說明,但是也可以使用例如NAND邏輯地址等。在圖2的地址變換表13中,NAND邏輯地址(A)被變換為NAND物理地址(B)。進(jìn)而,預(yù)讀地址(B+1)是表示在與NAND邏輯地址(A)以及NAND物理地址(B)對應(yīng)的數(shù)據(jù)(D) 被存取了的情況下被預(yù)讀的預(yù)讀數(shù)據(jù)(D+1)的地址。在圖2的地址變換表13中,預(yù)讀地址 (B+1)與NAND邏輯地址(A)以及NAND物理地址(B)相關(guān)聯(lián)。在預(yù)讀表15的各條目中,NAND 邏輯地址以及NAND物理地址、表示條目的有效或無效的有效/無效信息與在對于NAND物理地址的存取后的預(yù)定范圍內(nèi)被存取的可能性高的預(yù)讀數(shù)據(jù)相關(guān)聯(lián)。在預(yù)讀表15中,NAND 物理地址與預(yù)讀數(shù)據(jù)相關(guān)聯(lián),但也可以是NAND邏輯地址與預(yù)讀數(shù)據(jù)相關(guān)聯(lián)。在圖2的預(yù)讀表15中,預(yù)讀數(shù)據(jù)(D+1)與NAND物理地址(B)相關(guān)聯(lián)存儲。另外, 預(yù)讀數(shù)據(jù)(D)與NAND物理地址(B-I)相關(guān)聯(lián)存儲。另外,在本實施方式中,在預(yù)讀表15中,NAND物理地址(B)與在該NAND物理地址 (B)之后被存取的可能性高的預(yù)讀數(shù)據(jù)(D+1)相關(guān)聯(lián)。但是,也可以取而代之,在預(yù)讀表15 中,預(yù)讀地址(B+1)和與該預(yù)讀地址(B+1)相對應(yīng)的數(shù)據(jù)(D+1)相關(guān)聯(lián)地存儲。以下,使用圖2所示的各表13 15,對于圖1的歷史管理部16、預(yù)讀地址管理部 17、預(yù)讀數(shù)據(jù)管理部18和存取部19的工作具體地進(jìn)行說明。歷史管理部16,以能夠識別存取順序的形式,將進(jìn)行了存取的NAND邏輯地址 (A-I)、(A)、(A+1)登記于歷史表14。預(yù)讀地址管理部17,基于歷史表14對于地址變換表13登記預(yù)讀地址。首先,預(yù)讀地址管理部17,使用地址變換表13,將歷史表14的NAND邏輯地址 (A-I)、(A)、(A+1)分別變換為 NAND 物理地址(B-I)、(B)、(B+1)。接著,預(yù)讀地址管理部17,識別出NAND物理地址(B)在NAND物理地址(B_l)后的預(yù)定范圍內(nèi)被存取了的情況。預(yù)讀地址管理部17,相對于地址變換表13的有效條目中的 NAND物理地址(B-I),將在NAND物理地址(B-I)之后被存取的NAND物理地址(B)作為預(yù)讀地址(B)相關(guān)聯(lián)地進(jìn)行登記。
預(yù)讀數(shù)據(jù)管理部18,在發(fā)生了對于NAND物理地址(B)的存取的情況下,參照地址變換表13,從非易失性半導(dǎo)體存儲器61 故讀取與NAND物理地址(B)相對應(yīng)的預(yù)讀地址 (B+1)所表示的預(yù)讀數(shù)據(jù)(D+1)。接著,預(yù)讀數(shù)據(jù)管理部18,將預(yù)讀數(shù)據(jù)(D+1)與NAND物理地址(B)相關(guān)聯(lián)地存儲于預(yù)讀表15。存取部19,參照地址變換表13和預(yù)讀數(shù)據(jù)表15,在存取對象數(shù)據(jù)存儲于預(yù)讀表15 的情況下,執(zhí)行對于該預(yù)讀表15的存取。存取部19,在存取對象數(shù)據(jù)未存儲于預(yù)讀表15的情況下,執(zhí)行對于易失性半導(dǎo)體存儲器5或非易失性半導(dǎo)體存儲器61 故的存取。圖3是表示本實施方式所涉及的存儲器管理裝置3的處理部12的存取工作的前半部分的一例的流程圖。圖4是表示本實施方式所涉及的存儲器管理裝置3的處理部12的存取工作的后半部分的一例的流程圖。處理部12的存取部19,從處理器2接收存取目的地的NAND邏輯地址(CPU物理地址)㈧(步驟Si)。存取部19,參照地址變換表13,將接收到的NAND邏輯地址(A)變換為NAND物理地址⑶(步驟S2)。存取部19,判斷與NAND物理地址(B)相對應(yīng)的數(shù)據(jù)(D)是否存儲于預(yù)讀表15 (步馬聚S3) ο在數(shù)據(jù)(D)存儲于預(yù)讀表15的情況下,存取部19對存儲于預(yù)讀表15的數(shù)據(jù)(D) 進(jìn)行存取(步驟S4)。之后,處理轉(zhuǎn)移至步驟S8。在數(shù)據(jù)(D)未存儲于預(yù)讀表15的情況下,存取部19判斷與NAND物理地址(B)相對應(yīng)的數(shù)據(jù)(D)是否存儲于易失性半導(dǎo)體存儲器5 (步驟S5)。在與NAND物理地址(B)相對應(yīng)的數(shù)據(jù)(D)存儲于易失性半導(dǎo)體存儲器5的情況下,存取部19對于易失性半導(dǎo)體存儲器5,經(jīng)由第一控制器7,對與NAND物理地址(B)相對應(yīng)的數(shù)據(jù)(D)進(jìn)行存取(步驟S6)。之后,處理前進(jìn)至步驟S8。在與NAND物理地址(B)相對應(yīng)的數(shù)據(jù)(D)未存儲于易失性半導(dǎo)體存儲器5的情況下,存取部19對存儲于非易失性半導(dǎo)體存儲器61 故的數(shù)據(jù)(D)進(jìn)行存取(步驟S7)。處理部12的預(yù)讀地址管理部17,從歷史表14求出在NAND邏輯地址(A)之前剛剛被存取了的NAND邏輯地址(A-I),基于地址變換表13,將剛剛之前的NAND邏輯地址(A-I) 變換為NAND物理地址(B-I)(步驟S8)。預(yù)讀地址管理部17,從地址變換表13的條目之中求出與NAND物理地址(B_l)相對應(yīng)的條目(步驟S9)。預(yù)讀地址管理部17,對所求出的與剛剛之前的NAND物理地址(B_l)相對應(yīng)的條目的預(yù)讀地址,登記NAND物理地址⑶(步驟S10)。預(yù)讀數(shù)據(jù)管理部18,判斷登記于地址變換表13的與NAND物理地址(B)相對應(yīng)的條目的預(yù)讀地址(B+1)是否有效(步驟Sll)。在預(yù)讀地址(B+1)無效的情況下,處理轉(zhuǎn)移至步驟S13。在預(yù)讀地址(B+1)有效的情況下,預(yù)讀數(shù)據(jù)管理部18,從非易失性半導(dǎo)體存儲器 61 故預(yù)讀與預(yù)讀地址(B+1)相對應(yīng)的數(shù)據(jù)(D+1),將數(shù)據(jù)(D+1)存儲于預(yù)讀表15 (步驟S12)。歷史管理部16,將NAND邏輯地址(A)登記于歷史表14 (步驟S13)。在以上所說明的本實施方式中,對于地址變換表13中的地址,登記在對于該地址的存取之后被存取的可能性高的預(yù)讀地址。由此,能夠在某一數(shù)據(jù)被存取了的情況下,將在該存取后被存取的可能性高的數(shù)據(jù)從非易失性半導(dǎo)體存儲器61 故預(yù)先讀取,將其預(yù)先準(zhǔn)備于能夠高速進(jìn)行存取的預(yù)讀存儲部11。在本實施方式中,即使不是連續(xù)的數(shù)據(jù),也能夠基于存取歷史使對于非易失性半導(dǎo)體存儲器61 故的存取高效化,能夠使存取速度高速化,能夠使存取性能提高。在本實施方式中,能夠使對于非易失性半導(dǎo)體存儲器61 故的存取次數(shù)減少,能夠?qū)崿F(xiàn)非易失性半導(dǎo)體存儲器61 故的長壽命化。在本實施方式中,對預(yù)讀地址使用NAND物理地址。由此,能夠使寫入于非易失性半導(dǎo)體存儲器61 故的數(shù)據(jù)的再次配置的自由度提高,能夠使對于非易失性半導(dǎo)體存儲器61 故的存取的可靠性提高。在本實施方式中,作為預(yù)讀地址使用預(yù)讀數(shù)據(jù)的絕對地址。例如,假定在地址變換表13中,存在將變換前的NAND邏輯地址(A)與變換后的 NAND物理地址(B)相關(guān)聯(lián)的條目。設(shè)定為在該條目中,在對于預(yù)讀地址登記有與變換前的 NAND邏輯地址(A)或者變換后的NAND物理地址(B)相同的NAND邏輯地址(A)或者NAND 物理地址(B)的情況下,將不執(zhí)行預(yù)讀。另外,也可以對于地址變換表13的項目增加表示預(yù)讀地址是否有效的預(yù)讀有效/ 無效信息,僅在該預(yù)讀有效/無效信息表示有效的情況下,執(zhí)行預(yù)讀。(第二實施方式)在本實施方式中,關(guān)于針對上述第一實施方式的第一至第五變形例進(jìn)行說明。<第一變形例>在第一變形例中,地址變換表13也可以使用相對地址來確定預(yù)讀地址。例如,假定在地址變換表13中,存在將變換前的NAND邏輯地址(A)與變換后的 NAND物理地址(B)相關(guān)聯(lián)并且在預(yù)讀地址登記有表示相對于NAND物理地址(B)的相對位置的相對地址(N)的條目。在該條目中,在對于NAND物理地址⑶的存取后被存取的可能性高的預(yù)讀地址,為NAND物理地址(B+N)。例如,在預(yù)讀地址為0的情況下,不執(zhí)行預(yù)讀。在該第一變形例中,若將非易失性半導(dǎo)體存儲器61 故的全部地址設(shè)定為2n個, 則能夠使預(yù)讀地址的信息量比η少,能夠使地址變換表13的數(shù)據(jù)容量減少。在該第一變形例中,設(shè)定為對于非易失性半導(dǎo)體存儲器61 故的能夠存取的范圍以外的范圍不進(jìn)行預(yù)讀。<第二變形例>在第二變形例中,地址變換表13也可以在各條目中登記有多個預(yù)讀地址。在該第二變形例中,預(yù)讀地址管理部17,在地址變換表13的條目登記多個預(yù)讀地址。而且,預(yù)讀地址管理部18,參照地址變換表13,在對于進(jìn)行了存取的NAND物理地址關(guān)聯(lián)有多個預(yù)讀地址的情況下,反復(fù)進(jìn)行將與各預(yù)讀地址對應(yīng)的數(shù)據(jù)存儲于預(yù)讀表15 的處理。由此,能夠使預(yù)讀表15的命中率提高。
〈第三變形例〉圖5是表示本變形例所涉及的地址變換表13的一例的圖。在第三變形例中,地址變換表13包括用于登記存取間隔的字段。作為存取間隔,例如使用存取時間或存取次數(shù)。首先,關(guān)于作為存取間隔而使用存取時間的情況進(jìn)行說明。例如設(shè)定從歷史表14得到從對NAND邏輯地址(A)進(jìn)行存取到其后對NAND邏輯地址(A+1)進(jìn)行存取的存取時間為t的存取模式。在該情況下,在地址變換表13中,NAND邏輯地址(A)、NAND物理地址⑶、作為預(yù)讀地址的NAND物理地址(B+1)與存取時間t相關(guān)聯(lián)。預(yù)讀數(shù)據(jù)管理部18,在對NAND邏輯地址㈧進(jìn)行了存取后,在經(jīng)過了時間t X a+b 之后,將與預(yù)讀地址(B+1)相對應(yīng)的數(shù)據(jù)(D+1)存儲于預(yù)讀表15。另外,a、b為用于基于存取時間t而計算執(zhí)行預(yù)讀的定時的常數(shù)。將時間tXa+b設(shè)定得比時間t短。由此,預(yù)讀數(shù)據(jù)管理部18,能夠?qū)㈩A(yù)讀數(shù)據(jù)(D+1)在經(jīng)過存取時間t之前的任意定時存儲于預(yù)讀表15。接下來,關(guān)于作為存取間隔而使用存取次數(shù)的情況進(jìn)行說明。例如設(shè)定從歷史表14得到在發(fā)生了 ζ次對于NAND邏輯地址(A)的存取之后發(fā)生對于NAND邏輯地址(A+1)的存取的存取模式。在該情況下,在地址變換表13中,NAND邏輯地址(A)、NAND物理地址⑶、預(yù)讀地址(B+1)與存取次數(shù)ζ相關(guān)聯(lián)。預(yù)讀數(shù)據(jù)管理部18,在NAND邏輯地址(A)被接收了 ζ X v+w次后,將與預(yù)讀地址 (B+1)相對應(yīng)的數(shù)據(jù)(D+1)存儲于預(yù)讀表15。另外,ν、w為用于基于存取次數(shù)ζ而計算執(zhí)行預(yù)讀的定時的常數(shù)。將zXv+w設(shè)定為比ζ小的值。由此,預(yù)讀數(shù)據(jù)管理部18,能夠?qū)㈩A(yù)讀數(shù)據(jù)(D+1)在執(zhí)行ζ次存取之前的任意的定時存儲于預(yù)讀表15。在以上所說明的第三變形例中,能夠基于存取時間或存取次數(shù)等那樣的存取間隔,控制執(zhí)行預(yù)讀的定時,能夠?qū)崿F(xiàn)預(yù)讀工作的有效化?!吹谒淖冃卫底鳛榈谒淖冃卫?,預(yù)讀地址管理部17,在存取對象數(shù)據(jù)未被存儲于預(yù)讀表15的情況(預(yù)讀未命中的情況)下,更新地址變換表13的相應(yīng)條目的預(yù)讀地址。例如,假定在地址變化表13的相應(yīng)條目登記有NAND邏輯地址(A) ,NAND物理地址 (B)、作為預(yù)讀地址的NAND物理地址(B+1)。而且,設(shè)定為該條目的NAND物理地址(B)之后的存取目的地為與該條目的預(yù)讀地址(B+1)不同的NAND物理地址(B+10),與該NAND物理地址(B+10)相對應(yīng)的數(shù)據(jù)(D+10)未被存儲于預(yù)讀表15。在該情況下,預(yù)讀地址管理部17將地址變換表13的條目的預(yù)讀地址從(B+1)更新為(B+10)。預(yù)讀數(shù)據(jù)管理部18,將數(shù)據(jù)(D+10)存儲于預(yù)讀表15。在該第四變形例中,由于基于最新的存取歷史更新預(yù)讀地址和預(yù)讀數(shù)據(jù),所以能夠提高預(yù)讀數(shù)據(jù)的命中率?!吹谖遄冃卫?br>
作為第五變形例,預(yù)讀地址管理部17,按地址變換表13的每一條目,對與預(yù)讀地址相關(guān)的命中次數(shù)和未命中次數(shù)進(jìn)行計數(shù),并登記結(jié)果。所謂命中次數(shù),設(shè)定在對于某一地址的存取之后的預(yù)定范圍內(nèi)發(fā)生了對于與該地址相對應(yīng)的預(yù)讀地址的存取的次數(shù)。相對于此,所謂未命中次數(shù),設(shè)定在對于某一地址的存取之后的預(yù)定范圍內(nèi)未發(fā)生對于與該地址相對應(yīng)的預(yù)讀地址的存取的次數(shù)。而且,預(yù)讀地址管理部17,對于未命中次數(shù)比命中次數(shù)多的條目,更新該條目的預(yù)讀地址,將該條目的命中次數(shù)和未命中次數(shù)初始化(清除)。另外,預(yù)讀地址管理部17,也可以按地址變換表13的每一條目,對存取次數(shù)和未命中次數(shù)、或者存取次數(shù)和命中次數(shù)進(jìn)行計數(shù),并登記結(jié)果。在該情況下,預(yù)讀地址管理部17,基于存取次數(shù)和未命中次數(shù)、或者存取次數(shù)和命中次數(shù),判斷是否更新條目的預(yù)讀地址。例如,預(yù)讀地址管理部17,在條目的未命中次數(shù)/ 存取次數(shù)超過了某一閾值的情況下,更新該條目的預(yù)讀地址,將該條目的存取次數(shù)和未命中次數(shù)初始化。另外,例如,預(yù)讀地址管理部17,在條目的命中次數(shù)/存取次數(shù)小于某一閾值的情況下,更新該條目的預(yù)讀地址,將該條目的存取次數(shù)和命中次數(shù)初始化。在該第五變形例中,能夠根據(jù)各種條件,進(jìn)行對于地址變換表13的預(yù)讀地址的更新控制,能夠使預(yù)讀數(shù)據(jù)的命中率提高。(第三實施方式)在本實施方式中,關(guān)于針對預(yù)讀數(shù)據(jù)的預(yù)讀地址的有效分配進(jìn)行說明。圖6是表示本實施方式所涉及的非易失性半導(dǎo)體存儲器61 故的構(gòu)成的一例的圖。該圖6的非易失性半導(dǎo)體存儲器61 故,將包含多個塊區(qū)域的塊單元以矩陣狀進(jìn)行配置。在以矩陣狀配置的塊單元之中,屬于同一行的塊單元屬于同一存儲體(bank)。在以矩陣狀配置的塊單元之中,屬于同一列的塊單元屬于同一通道。這樣,在非易失性半導(dǎo)體存儲器61 故為NAND型閃存的情況下,多個塊區(qū)域?qū)儆诖鎯w0 m中的某一個,并且屬于通道0 η中的某一個。各塊區(qū)域包含多個頁區(qū)域。 因此,使用多個通道和多個存儲體來區(qū)分多個頁區(qū)域。對各頁區(qū)域附加存儲體編號和通道編號。在該非易失性半導(dǎo)體存儲器61 故中,對于不同的通道能夠同時進(jìn)行存取。另外,在非易失性半導(dǎo)體存儲器61 故中,對于不同的存儲體能夠同時進(jìn)行存取。在非易失性半導(dǎo)體存儲器61 故中,對于連續(xù)的頁區(qū)域,能夠以比對于不連續(xù)的頁區(qū)域的存取高的速度進(jìn)行存取。如果將對于不同通道的同時存取、對于不同存儲體的同時存取和對于連續(xù)的頁區(qū)域的存取的速度相比較,則對于不同通道的同時存取速度最高,對于不同存儲體的同時存取的速度第2高,對于連續(xù)的頁區(qū)域的存取速度第3高。本實施方式所涉及的預(yù)讀地址管理部17,參照地址變換表13來識別空的數(shù)據(jù)區(qū)域,基于上述的關(guān)系執(zhí)行預(yù)讀數(shù)據(jù)的配置。預(yù)讀地址管理部17,對某一數(shù)據(jù)的地址和針對于該某一數(shù)據(jù)的多個預(yù)讀地址分配NAND物理地址,使得其通道和存儲體之中的至少一方不同?;蛘?,預(yù)讀地址管理部17,對某一數(shù)據(jù)和預(yù)讀數(shù)據(jù)分配NAND物理地址,使得例如某一數(shù)據(jù)的地址與針對于該數(shù)據(jù)的預(yù)讀地址相連續(xù)。由預(yù)讀地址管理部17進(jìn)行的地址的分配,在例如損耗平均或無用單元收集的執(zhí)行時等、需要進(jìn)行對于非易失性半導(dǎo)體存儲器61 故的NAND物理地址的再次配置的情況下來執(zhí)行。以下,關(guān)于基于歷史表14的地址的分配,詳細(xì)說明。圖7是表示本實施方式所涉及的地址變換表13、歷史表14與地址分配結(jié)果的關(guān)系的一例的圖。地址變換表13的NAND物理地址包括通道編號、存儲體編號、包括塊編號以及頁編號的NAND芯片地址、偏移量(offset)。在本實施方式中,設(shè)定歷史表14登記有由存儲器管理裝置3接收的NAND邏輯地址(CPU物理地址)。例如在該歷史表14中,登記有在NAND邏輯地址㈧之后、NAND邏輯地址(A+1)被存取了的情況。例如在該歷史表14中,登記有在NAND邏輯地址㈧之后、NAND邏輯地址(A+5) 被存取了的情況。 例如在該歷史表14中,登記有在NAND邏輯地址(A)之后、NAND邏輯地址(A+2)被存取了的情況。例如在該歷史表14中,登記有在NAND邏輯地址㈧之后、NAND邏輯地址(A+1)被存取、進(jìn)而在此之后NAND邏輯地址(A+;3)被存取了的情況。例如在該歷史表14中,登記有在NAND邏輯地址(A)之后、NAND邏輯地址(A+4)被存取了的情況。在歷史表14中登記有這種存取模式的情況下,預(yù)讀地址管理部17對于NAND邏輯地址(A+1)、(A+2)、(A+3)、(A+5)的各個,分配NAND物理地址,使得其通道和存儲體之中的至少一方不同、且在通道和存儲體內(nèi)所使用的NAND芯片地址相同。另外,預(yù)讀地址管理部17,對于NAND邏輯地址(A)和預(yù)讀地址(A+4)分配在同一通道和同一存儲體內(nèi)相連續(xù)的NAND物理地址。在圖7中,在地址變換表13的各條目,設(shè)置有η X m位的通道字段。在通道字段中, 能夠識別配置預(yù)讀數(shù)據(jù)的通道和存儲體,由此確定預(yù)讀地址。即,在本實施方式中,在NAND 物理地址與預(yù)讀地址之間共享NAND芯片地址。在圖7的地址變換表13中,對于變換前的NAND邏輯地址(A)和改變后的NAND物理地址(B),與被分配了預(yù)讀地址的通道和存儲體相對應(yīng)的標(biāo)志用“ 1”表示,與未被分配預(yù)讀地址的通道和存儲體相對應(yīng)的標(biāo)志用“0”表示。預(yù)讀地址管理部17,在地址變換表13中,對與被分配了預(yù)讀地址的通道和存儲體相對應(yīng)的位設(shè)定“1”。預(yù)讀數(shù)據(jù)管理部18,在NAND物理地址(B)的數(shù)據(jù)被存取了的情況下,在標(biāo)志變?yōu)?“1”的通道和存儲體內(nèi),同時讀取由與NAND物理地址(B)相同的NAND芯片地址指定的數(shù)據(jù),將所讀取的預(yù)讀數(shù)據(jù)存儲于預(yù)讀表15。
另外,在圖7的地址變換表13中,在NAND物理地址⑶的數(shù)據(jù)被存取了的情況下, 在預(yù)讀數(shù)據(jù)存儲于與NAND物理地址(B)相連續(xù)的數(shù)據(jù)區(qū)域的情況下,對地址變換表13的 NAND物理地址(B)的條目的連續(xù)分配標(biāo)志,設(shè)定“1”。預(yù)讀數(shù)據(jù)管理部18,在發(fā)生對于NAND物理地址(B)的存取且連續(xù)分配標(biāo)志變?yōu)?“1”的情況下,將存儲于該NAND物理地址(B)的下一個數(shù)據(jù)區(qū)域的預(yù)讀數(shù)據(jù)存儲于預(yù)讀表 15。在以上說明的本實施方式中,例如在損耗平均、無用單元收集的執(zhí)行時等,能夠基于歷史表14以及地址變換表13,最佳地分配NAND物理地址。在本實施方式中,能夠從多個通道和存儲體同時讀取預(yù)讀數(shù)據(jù)。在本實施方式中,由于數(shù)據(jù)和預(yù)讀數(shù)據(jù)存儲于相連續(xù)的數(shù)據(jù)區(qū)域,所以能夠高速地讀取預(yù)讀數(shù)據(jù)。在本實施方式中,能夠在地址變換表13的一個條目登記多個預(yù)讀地址,能夠使預(yù)讀數(shù)據(jù)的數(shù)量增加。在本實施方式中,在NAND物理地址與預(yù)讀地址之間,共享NAND芯片地址,由此能夠削減地址變換表13所需的數(shù)據(jù)容量。另外,在本實施方式中,作為地址變換表13的預(yù)讀地址使用相對地址,在預(yù)讀地址能夠使用相對地址進(jìn)行參照的范圍以外、不進(jìn)行預(yù)讀的情況下,預(yù)讀地址管理部17對歷史表14進(jìn)行訪問,提取被連續(xù)存取的NAND邏輯地址(A-I)、(A),在能夠用相對地址進(jìn)行參照的范圍,再次配置NAND邏輯地址(A-I)的數(shù)據(jù)以及NAND邏輯地址㈧的數(shù)據(jù),更新地址變換表13。由此,即使是在能夠用相對地址進(jìn)行參照的范圍外存在預(yù)讀數(shù)據(jù)的情況下,也能夠?qū)㈩A(yù)讀數(shù)據(jù)再次配置于能夠用相對地址進(jìn)行參照的范圍內(nèi),執(zhí)行預(yù)讀。(第四實施方式)在本實施方式中,對于下述情況進(jìn)行說明,S卩作為登記于地址變換表13的預(yù)讀地址,使用NAND邏輯地址,在預(yù)讀表15存儲NAND邏輯地址和預(yù)讀數(shù)據(jù)。圖8是表示本實施方式所涉及的地址變換表13、歷史表14和預(yù)讀表15的構(gòu)成的一例的圖。在該圖8的地址變換表13中,對于變換前的NAND邏輯地址與變換后的NAND物理地址的組合,關(guān)聯(lián)本身為NAND邏輯地址的預(yù)讀地址。此外,在圖8的預(yù)讀表15的各條目,NAND邏輯地址、表示條目的有效或無效的有效/無效信息與預(yù)讀數(shù)據(jù)相關(guān)聯(lián)。圖9是表示本實施方式所涉及的存儲器管理裝置3的處理部12的存取工作的前半部分的一例的流程圖。圖10是表示本實施方式所涉及的存儲器管理裝置3的處理部12的存取工作的后半部分的一例的流程圖。存取部19,從處理器2接收存取目的地的NAND邏輯地址㈧(步驟Tl)。存取部19,參照地址變換表13,將接收到的NAND邏輯地址(A)變換為NAND物理地址⑶(步驟T2)。存取部19,判斷與NAND物理地址(B)相對應(yīng)的數(shù)據(jù)(D)是否存儲于預(yù)讀表15 (步驟 T3)。在數(shù)據(jù)(D)存儲于預(yù)讀表15的情況下,存取部19對存儲于預(yù)讀表15的數(shù)據(jù)(D) 進(jìn)行存取(步驟T4)。之后,處理轉(zhuǎn)移至步驟T8。在數(shù)據(jù)(D)未存儲于預(yù)讀表15的情況下,存取部19判斷與NAND物理地址(B)相對應(yīng)的數(shù)據(jù)(D)是否存儲于易失性半導(dǎo)體存儲器5 (步驟T5)。在與NAND物理地址(B)相對應(yīng)的數(shù)據(jù)(D)存儲于易失性半導(dǎo)體存儲器5的情況下,存取部19對于易失性半導(dǎo)體存儲器5,經(jīng)由第一控制器7,對與NAND物理地址(B)相對應(yīng)的數(shù)據(jù)(D)進(jìn)行存取(步驟T6)。之后,處理前進(jìn)至步驟T8。在與NAND物理地址(B)相對應(yīng)的數(shù)據(jù)(D)未存儲于易失性半導(dǎo)體存儲器5的情況下,存取部19對存儲于非易失性半導(dǎo)體存儲器61 故的數(shù)據(jù)(D)進(jìn)行存取(步驟T7)。處理部12的預(yù)讀地址管理部17,從歷史表14求出在NAND邏輯地址(A)之前剛剛被存取了的NAND邏輯地址(A-I)(步驟T8)。預(yù)讀地址管理部17,從地址變換表13的條目之中求出與剛剛之前的NAND邏輯地址(A-I)相對應(yīng)的條目(步驟T9)。預(yù)讀地址管理部17,對所求出的與剛剛之前的NAND邏輯地址(A_l)相對應(yīng)的條目的預(yù)讀地址,登記NAND邏輯地址㈧(步驟T10)。預(yù)讀數(shù)據(jù)管理部18,判斷登記于地址變換表13的與NAND邏輯地址(A)相對應(yīng)的條目的預(yù)讀地址(A+1)是否有效(步驟Tll)。在預(yù)讀地址(A+1)無效的情況下,處理轉(zhuǎn)移至步驟T14。在預(yù)讀地址(A+1)有效的情況下,預(yù)讀數(shù)據(jù)管理部18,基于地址變換表13,將預(yù)讀地址(A+1)變換為NAND物理地址(B+l)(步驟T12)。然后,預(yù)讀數(shù)據(jù)管理部18,從非易失性半導(dǎo)體存儲器61 故預(yù)讀與NAND物理地址(B+1)相對應(yīng)的數(shù)據(jù)(D+1),將數(shù)據(jù)(D+1)存儲于預(yù)讀表15(步驟T13)。歷史管理部16,將NAND邏輯地址(A)登記于歷史表14 (步驟T14)。在以上說明的本實施方式中,作為預(yù)讀地址使用NAND邏輯地址。在該情況下,即使改變或刪除了對于數(shù)據(jù)的NAND物理地址,也不會使預(yù)讀工作的效率變差,而能夠使預(yù)讀連續(xù)地執(zhí)行。(第五實施方式)在本實施方式中,關(guān)于由軟件進(jìn)行的預(yù)讀控制進(jìn)行說明。圖11是表示本實施方式所涉及的預(yù)讀表15、地址變換表13與軟件的關(guān)系的一例的框圖。在本實施方式中,地址變換表13具有表示是否禁止預(yù)讀地址的改變的鎖定位。關(guān)于鎖定位為“ 1,,的條目,禁止進(jìn)行預(yù)讀地址的改變。關(guān)于鎖定位為“0”的條目,允許進(jìn)行預(yù)讀地址的改變。在本實施方式中,預(yù)讀表15具有表示是否禁止條目的改變的鎖定位。關(guān)于鎖定位為“ 1,,的條目,禁止改變。關(guān)于鎖定位為“0”的條目,允許改變。作為本實施方式的軟件20,有例如由處理器2執(zhí)行的操作系統(tǒng)、由處理器2執(zhí)行的應(yīng)用軟件、由處理部12執(zhí)行的固件。軟件20改變對于地址變換表13以及預(yù)讀表15的設(shè)定。
進(jìn)而,軟件20進(jìn)行對于地址變換表13的鎖定位的設(shè)定以及對于預(yù)讀表15的鎖定位的設(shè)定,能夠以條目為單位對登記或存儲內(nèi)容進(jìn)行鎖定。在該圖11的地址變換表13中,預(yù)讀地址(B)由于被關(guān)聯(lián)鎖定位“1”,所以不會被更新。例如,在非易失性半導(dǎo)體存儲器61 故的特定的數(shù)據(jù)區(qū)域,存儲有由操作系統(tǒng)頻繁存取的數(shù)據(jù)。在該情況下,軟件20將被頻繁存取的數(shù)據(jù)存儲于預(yù)讀表15。此外,設(shè)定為例如在預(yù)讀表15中,在預(yù)讀表15的容量超過了預(yù)定的值的情況下, 將刪除舊的預(yù)讀數(shù)據(jù)。但是,軟件20,將與該被頻繁存取的數(shù)據(jù)相對應(yīng)的鎖定位設(shè)定為 “1”,禁止該數(shù)據(jù)的刪除,使得被頻繁存取的數(shù)據(jù)不會被從預(yù)讀表15刪除。在該圖11的預(yù)讀表15中,預(yù)讀數(shù)據(jù)(D+6)由于被關(guān)聯(lián)鎖定位“ 1”,所以不會被更新。在以上說明的本實施方式中,能夠通過軟件20靜態(tài)地設(shè)定預(yù)讀表15以及地址變換表13。此外,在本實施方式中,能夠通過軟件20選擇將預(yù)讀表15以及地址變換表13的更新設(shè)定為使其自動地執(zhí)行的模式或者使其鎖定的模式。雖然描述了幾種實施方式,但是這些實施方式僅是作為例子而呈現(xiàn)的,而并不是要限定本發(fā)明的范圍。事實上,這里描述的新實施方式也可以以其他各種方式實施,進(jìn)而, 在不脫離本發(fā)明的思想的范圍,可以對這里描述的實施方式的形式進(jìn)行各種省略、置換和變形。所附權(quán)利要求及其均等的范圍旨在覆蓋這樣的方式或變形以落入本發(fā)明的范圍和思
術(shù)g
;ο
權(quán)利要求
1.一種存儲器管理裝置,具備歷史管理部,其管理對于存儲于非易失性半導(dǎo)體存儲器的數(shù)據(jù)的存取歷史; 地址變換表,其包含與所述數(shù)據(jù)相對應(yīng)的邏輯地址與物理地址的變換表; 地址管理部,其基于所述存取歷史來確定在對于存儲于所述非易失性半導(dǎo)體存儲器的第一數(shù)據(jù)的存取之后被存取的第二數(shù)據(jù),將對應(yīng)于所述第二數(shù)據(jù)的第二物理地址與對應(yīng)于所述第一數(shù)據(jù)的第一邏輯地址相對應(yīng)地登記于所述地址變換表;以及數(shù)據(jù)管理部,其將所述第二數(shù)據(jù)從所述非易失性半導(dǎo)體存儲器讀取到緩沖器。
2.根據(jù)權(quán)利要求1所述的存儲器管理裝置,其中 所述地址管理部,將命中次數(shù)和未命中次數(shù)之中的至少一方,與所述第一邏輯地址相對應(yīng)地登記于所述地址變換表,所述命中次數(shù)是在對于所述第一數(shù)據(jù)的存取之后的第一預(yù)定范圍內(nèi)對于所述第二數(shù)據(jù)的存取的發(fā)生次數(shù),所述未命中次數(shù)是在對于所述第一數(shù)據(jù)的存取之后的第二預(yù)定范圍內(nèi)對于所述第二數(shù)據(jù)的存取的未發(fā)生次數(shù);基于所述命中次數(shù)和所述未命中次數(shù)之中的至少一方,更新與所述第一邏輯地址相對應(yīng)的所述第二物理地址。
3.根據(jù)權(quán)利要求1所述的存儲器管理裝置,其中所述地址變換表包含所述第一數(shù)據(jù)和所述第二數(shù)據(jù)的存取模式信息; 所述數(shù)據(jù)管理部,基于所述存取模式信息,確定將所述第二數(shù)據(jù)讀取到所述緩沖器的定時。
4.根據(jù)權(quán)利要求3所述的存儲器管理裝置,其中所述存取模式信息包含從對于所述第一數(shù)據(jù)的存取到對于所述第二數(shù)據(jù)的存取的存取間隔;所述數(shù)據(jù)管理部,從對于所述第一數(shù)據(jù)的存取開始,在比所述存取間隔短的時間內(nèi),將所述第二數(shù)據(jù)讀取到所述緩沖器。
5.根據(jù)權(quán)利要求3所述的存儲器管理裝置,其中所述存取模式信息包含在從對于所述第一數(shù)據(jù)的存取到對于所述第二數(shù)據(jù)的存取的期間對于所述第一數(shù)據(jù)所發(fā)生的存取次數(shù);所述數(shù)據(jù)管理部,在對于所述第一數(shù)據(jù)的存取次數(shù)達(dá)到所述存取次數(shù)之前,將所述第二數(shù)據(jù)讀取到所述緩沖器。
6.根據(jù)權(quán)利要求1所述的存儲器管理裝置,其中 所述非易失性半導(dǎo)體存儲器為NAND型閃存; 所述邏輯地址為所述NAND型閃存的邏輯地址; 所述物理地址為所述NAND型閃存的物理地址;所述第二物理地址為絕對地址或者相對地址,所述相對地址是相對于與所述第一邏輯地址相對應(yīng)的第一物理地址的地址。
7.根據(jù)權(quán)利要求1所述的存儲器管理裝置,其中所述地址管理部,基于所述存取歷史來確定在對于所述第一數(shù)據(jù)的存取之后被存取的多個第二數(shù)據(jù),將對應(yīng)于所述多個第二數(shù)據(jù)的多個第二物理地址與對應(yīng)于所述第一數(shù)據(jù)的所述第一邏輯地址相對應(yīng)地登記于所述地址變換表;所述數(shù)據(jù)管理部將所述多個第二數(shù)據(jù)讀取到所述緩沖器。
8.根據(jù)權(quán)利要求1所述的存儲器管理裝置,其中所述非易失性半導(dǎo)體存儲器具備以多個通道和多個存儲體區(qū)分開的多個區(qū)域;所述地址管理部,在相對于所述第一數(shù)據(jù)存在多個所述第二數(shù)據(jù)的情況下,將多個所述第二數(shù)據(jù)分配到屬于不同通道的區(qū)域或者屬于不同存儲體的區(qū)域的同一物理地址。
9.根據(jù)權(quán)利要求8所述的存儲器管理裝置,其中所述地址管理部,將所述第一數(shù)據(jù)與所述第二數(shù)據(jù)分配到屬于同一所述通道以及同一所述存儲體且相連續(xù)的物理地址。
10.根據(jù)權(quán)利要求1所述的存儲器管理裝置,還具備存取部,其參照所述地址變換表將邏輯地址變換為物理地址,在與變換后的物理地址相對應(yīng)的存取對象數(shù)據(jù)存儲于所述緩沖器的情況下,對存儲于所述緩沖器的所述存取對象數(shù)據(jù)進(jìn)行存取,在所述存取對象數(shù)據(jù)未存儲于所述緩沖器的情況下,對存儲于所述非易失性半導(dǎo)體存儲器的所述存取對象數(shù)據(jù)進(jìn)行存取。
11.根據(jù)權(quán)利要求1所述的存儲器管理裝置,其中所述歷史管理部具備歷史表,該歷史表以能夠識別存取順序的形式管理被進(jìn)行了存取的邏輯地址。
12.—種存儲器管理裝置,具備歷史管理部,其管理對于存儲于非易失性半導(dǎo)體存儲器的數(shù)據(jù)的存取歷史;地址變換表,其包含與所述數(shù)據(jù)相對應(yīng)的邏輯地址與物理地址的變換表;地址管理部,其基于所述存取歷史來確定在對于存儲于所述非易失性半導(dǎo)體存儲器的第一數(shù)據(jù)的存取之后被存取的第二數(shù)據(jù),將對應(yīng)于所述第二數(shù)據(jù)的第二邏輯地址與對應(yīng)于所述第一數(shù)據(jù)的第一邏輯地址相對應(yīng)地登記于所述地址變換表;以及數(shù)據(jù)管理部,其將所述第二數(shù)據(jù)從所述非易失性半導(dǎo)體存儲器讀取到緩沖器。
13.根據(jù)權(quán)利要求12所述的存儲器管理裝置,其中,所述數(shù)據(jù)管理部,基于所述地址變換表將所述第二邏輯地址變換為與所述第二數(shù)據(jù)相對應(yīng)的第二物理地址,并從所述非易失性半導(dǎo)體存儲器讀取所述第二數(shù)據(jù),將所述第二數(shù)據(jù)與所述第二邏輯地址相對應(yīng)地存儲于所述緩沖器。
14.根據(jù)權(quán)利要求12所述的存儲器管理裝置,還具備存取部,其參照所述地址變換表將邏輯地址變換為物理地址,在與變換后的物理地址相對應(yīng)的存取對象數(shù)據(jù)存儲于所述緩沖器的情況下,對存儲于所述緩沖器的所述存取對象數(shù)據(jù)進(jìn)行存取,在所述存取對象數(shù)據(jù)未存儲于所述緩沖器的情況下,對存儲于所述非易失性半導(dǎo)體存儲器的所述存取對象數(shù)據(jù)進(jìn)行存取。
15.一種存儲器管理方法,包括管理對于存儲于非易失性半導(dǎo)體存儲器的數(shù)據(jù)的存取歷史;基于所述存取歷史來確定在對于存儲于所述非易失性半導(dǎo)體存儲器的第一數(shù)據(jù)的存取之后被存取的第二數(shù)據(jù),將對應(yīng)于所述第二數(shù)據(jù)的第二物理地址與對應(yīng)于所述第一數(shù)據(jù)的第一邏輯地址相對應(yīng)地登記于地址變換表,所述地址變換表包含與所述數(shù)據(jù)相對應(yīng)的邏輯地址與物理地址的變換表;將所述第二數(shù)據(jù)從所述非易失性半導(dǎo)體存儲器讀取到緩沖器。
16.根據(jù)權(quán)利要求15所述的存儲器管理方法,其中所述登記步驟包括將命中次數(shù)和未命中次數(shù)之中的至少一方,與所述第一邏輯地址相對應(yīng)地登記于所述地址變換表,所述命中次數(shù)是在對于所述第一數(shù)據(jù)的存取之后的第一預(yù)定范圍內(nèi)對于所述第二數(shù)據(jù)的存取的發(fā)生次數(shù),所述未命中次數(shù)是在對于所述第一數(shù)據(jù)的存取之后的第二預(yù)定范圍內(nèi)對于所述第二數(shù)據(jù)的存取的未發(fā)生次數(shù);以及基于所述命中次數(shù)和所述未命中次數(shù)之中的至少一方,更新與所述第一邏輯地址相對應(yīng)的所述第二物理地址。
17.根據(jù)權(quán)利要求15所述的存儲器管理方法,其中所述管理步驟包括在所述地址變換表登記所述第一數(shù)據(jù)和所述第二數(shù)據(jù)的存取模式 fn息;所述讀取步驟包括基于所述存取模式信息,確定將與所述第二物理地址相對應(yīng)的數(shù)據(jù)讀取到所述緩沖器的定時。
18.根據(jù)權(quán)利要求15所述的存儲器管理方法,其中所述非易失性半導(dǎo)體存儲器具備以多個通道和多個存儲體區(qū)分開的多個區(qū)域;所述登記步驟包括在相對于所述第一數(shù)據(jù)存在多個所述第二數(shù)據(jù)的情況下,將多個所述第二數(shù)據(jù)分配到屬于不同通道的區(qū)域或者屬于不同存儲體的區(qū)域的同一物理地址。
19.根據(jù)權(quán)利要求18所述的存儲器管理方法,其中所述登記步驟包括將所述第一數(shù)據(jù)與所述第二數(shù)據(jù)分配到屬于同一所述通道以及同一所述存儲體且相連續(xù)的物理地址。
全文摘要
本發(fā)明提供管理對于非易失性半導(dǎo)體存儲器的存取的存儲器管理裝置及方法。根據(jù)一實施方式,存儲器管理裝置包括歷史管理部、地址變換表、地址管理部、數(shù)據(jù)管理部。所述歷史管理部管理對于存儲于非易失性半導(dǎo)體存儲器的數(shù)據(jù)的存取歷史。所述地址變換表包含與所述數(shù)據(jù)相對應(yīng)的邏輯地址與物理地址的變換表。所述地址管理部基于所述存取歷史來確定在對于存儲于所述非易失性半導(dǎo)體存儲器的第一數(shù)據(jù)的存取之后被存取的第二數(shù)據(jù),將對應(yīng)于所述第二數(shù)據(jù)的第二物理地址與對應(yīng)于所述第一數(shù)據(jù)的第一邏輯地址相對應(yīng)地登記于所述地址變換表。所述數(shù)據(jù)管理部將所述第二數(shù)據(jù)從所述非易失性半導(dǎo)體存儲器讀取到緩沖器。
文檔編號G06F12/10GK102411544SQ20111025470
公開日2012年4月11日 申請日期2011年8月31日 優(yōu)先權(quán)日2010年9月17日
發(fā)明者畦崎勉, 遠(yuǎn)藤好幸 申請人:株式會社東芝