專(zhuān)利名稱(chēng):半導(dǎo)體存儲(chǔ)裝置的制作方法
技術(shù)領(lǐng)域:
本實(shí)施方式涉及半導(dǎo)體存儲(chǔ)裝置。
背景技術(shù):
近年,使用了 NAND閃存的所謂SSD (Solid State Drive 固態(tài)硬盤(pán))的存儲(chǔ)裝置出現(xiàn),并在便攜設(shè)備、筆記本電腦、企業(yè)級(jí)服務(wù)器等廣泛的范圍內(nèi)得到普及。NAND閃存作為半導(dǎo)體存儲(chǔ)器具有低成本、大容量的特點(diǎn)。但是,NAND閃存需要在寫(xiě)入前進(jìn)行擦除動(dòng)作,存在有改寫(xiě)(擦除)次數(shù)上有限制 (例如1萬(wàn)次左右)的問(wèn)題。另外,寫(xiě)入必須以頁(yè)面為單位(例如I字節(jié)),擦除必須以塊為單位(例如IM字節(jié))來(lái)進(jìn)行。為了解決上述問(wèn)題,在以SSD為代表的使用了 NAND閃存的存儲(chǔ)裝置中采取了各種各樣的對(duì)策。SSD具有控制器、工作存儲(chǔ)器(work memory)和儲(chǔ)存存儲(chǔ)器(storagememory)??刂破鬟M(jìn)行與來(lái)自主機(jī)(PC等)的指令的交互。儲(chǔ)存存儲(chǔ)器例如為NAND閃存,存儲(chǔ)來(lái)自主機(jī)的數(shù)據(jù)。工作存儲(chǔ)器例如為SRAM或DRAM。另外,在工作存儲(chǔ)器上,容納有數(shù)據(jù)緩沖區(qū)、頁(yè)面單位的邏輯/物理地址變換表、塊單位的邏輯/物理地址變換表、空閑塊列表等。在SSD中,主要的控制的起點(diǎn)為來(lái)自主機(jī)的存取指令的發(fā)出。首先,控制器將主機(jī)指令的地址(邏輯地址)變換為儲(chǔ)存存儲(chǔ)器的地址(物理地址)而實(shí)現(xiàn)數(shù)據(jù)存取。這是因?yàn)榭紤]到在NAND閃存中對(duì)相同的地址進(jìn)行改寫(xiě)時(shí)需要進(jìn)行擦除,并且改寫(xiě)次數(shù)有限制。在邏輯/物理地址變換中,若只以頁(yè)面單位(例如,I字節(jié))進(jìn)行地址變換控制, 則存在邏輯/物理地址變換表非常巨大,工作存儲(chǔ)器不夠容納的情況。因此,在判斷為存在某種程度上大量的數(shù)據(jù)的情況下,將數(shù)據(jù)匯總成塊單位(例如,IM字節(jié))而寫(xiě)入儲(chǔ)存存儲(chǔ)器,利用塊單位的邏輯/物理地址變換表進(jìn)行管理。寫(xiě)入控制或垃圾回收的過(guò)程中,將塊內(nèi)的數(shù)據(jù)全部被無(wú)效化的塊的集合形成列表 (空閑塊列表)來(lái)進(jìn)行管理。在頁(yè)面單位的寫(xiě)入或塊單位的寫(xiě)入中,在需要寫(xiě)入?yún)^(qū)域的情況下,從空閑塊列表取出塊的信息,確保寫(xiě)入?yún)^(qū)域。通過(guò)上述的控制,可以將改寫(xiě)次數(shù)分散到各地址。但是,今后,隨著NAND閃存的細(xì)微化的發(fā)展,改寫(xiě)次數(shù)有進(jìn)一步減少的傾向。因此,需要更加高效的寫(xiě)入控制。作為提高效率的方法,考慮到有對(duì)寫(xiě)入NAND閃存的數(shù)據(jù)進(jìn)行壓縮的方法。例如,作為現(xiàn)有技術(shù)的一例,控制器對(duì)來(lái)自主機(jī)的數(shù)據(jù)進(jìn)行壓縮,收納在NAND閃存中。由此,減少來(lái)自從主機(jī)向NAND閃存的數(shù)據(jù)傳送量。但是,即使單純地以頁(yè)面單位、塊單位對(duì)數(shù)據(jù)進(jìn)行壓縮而收納在NAND閃存中,由此而空出的區(qū)域被浪費(fèi)。另外,若以壓縮后的尺寸為基準(zhǔn)將數(shù)據(jù)裝入地進(jìn)行配置,則必須以細(xì)小的單位對(duì)數(shù)據(jù)的位置進(jìn)行管理。因此,變換表的1個(gè)條目的尺寸變得巨大,難以進(jìn)行在工作存儲(chǔ)器上的管理。進(jìn)而,如上所述,由于存在有只能以塊單位進(jìn)行擦除的限制,必須考慮到數(shù)據(jù)跨塊的邊界的情況等,控制復(fù)雜。
發(fā)明內(nèi)容
本發(fā)明的實(shí)施方式,提供提高了寫(xiě)入效率的半導(dǎo)體存儲(chǔ)裝置。一種存儲(chǔ)裝置,其特征在于具有存儲(chǔ)來(lái)自主機(jī)的數(shù)據(jù)的第一存儲(chǔ)部;對(duì)管理所述第一存儲(chǔ)部的信息進(jìn)行存儲(chǔ)的第二存儲(chǔ)部;和經(jīng)由所述第二存儲(chǔ)部,在所述主機(jī)與所述第一存儲(chǔ)部之間進(jìn)行數(shù)據(jù)的傳送的控制部,所述第一存儲(chǔ)部具有多個(gè)塊,所述多個(gè)塊的各個(gè)塊含有多個(gè)頁(yè)面,所述第二存儲(chǔ)部具有保持所述第一存儲(chǔ)部中的所述多個(gè)塊中、可寫(xiě)入的塊的信息的空閑塊列表;和保持所述第一存儲(chǔ)部中的所述多個(gè)頁(yè)面中、可寫(xiě)入的頁(yè)面的信息的空閑頁(yè)面列表,所述控制部,在向所述第一存儲(chǔ)部傳送來(lái)自主機(jī)的數(shù)據(jù)時(shí),對(duì)塊單位的數(shù)據(jù)進(jìn)行壓縮而生成壓縮塊數(shù)據(jù),基于所述空閑塊列表所保持的信息,將所述壓縮塊數(shù)據(jù)寫(xiě)入到可寫(xiě)入的塊,將寫(xiě)入了所述壓縮塊數(shù)據(jù)的所述塊內(nèi)、沒(méi)有寫(xiě)入所述壓縮塊數(shù)據(jù)的空閑區(qū)域中存在的頁(yè)面信息,保持于所述空閑頁(yè)面列表,基于所述空閑頁(yè)面列表所保持的信息,將頁(yè)面單位的數(shù)據(jù)寫(xiě)入存在于所述空閑區(qū)域的頁(yè)面。通過(guò)本發(fā)明的實(shí)施方式,可以提供一種提高了寫(xiě)入效率的半導(dǎo)體存儲(chǔ)裝置。
圖1是表示第一實(shí)施方式的存儲(chǔ)裝置的構(gòu)成例的框圖。圖2是表示第一實(shí)施方式的工作存儲(chǔ)器的構(gòu)成例的框圖。圖3是表示第一實(shí)施方式的存儲(chǔ)裝置的控制動(dòng)作的圖。圖4是表示第一實(shí)施方式的存儲(chǔ)裝置中的塊數(shù)據(jù)寫(xiě)入的流程圖。圖5是表示第一實(shí)施方式的存儲(chǔ)裝置中的頁(yè)面數(shù)據(jù)寫(xiě)入的流程圖。圖6是表示第二實(shí)施方式的存儲(chǔ)裝置的控制動(dòng)作的圖。
具體實(shí)施例方式下面參照附圖對(duì)本實(shí)施方式進(jìn)行說(shuō)明。在附圖中,對(duì)于相同的部分付與相同的參照標(biāo)號(hào)。(第一實(shí)施方式)下面,對(duì)第一實(shí)施方式的存儲(chǔ)裝置進(jìn)行說(shuō)明,第一實(shí)施方式為在進(jìn)行塊單位的數(shù)據(jù)(塊數(shù)據(jù))的寫(xiě)入時(shí)對(duì)數(shù)據(jù)進(jìn)行壓縮,在由將該壓縮塊數(shù)據(jù)收納在塊中而空出的區(qū)域,寫(xiě)入小單位(頁(yè)面單位)的非壓縮數(shù)據(jù)的例子。(構(gòu)成例)下面,利用圖1 圖3,對(duì)第一實(shí)施方式的存儲(chǔ)裝置的構(gòu)成例進(jìn)行說(shuō)明。圖1表示第一實(shí)施方式的存儲(chǔ)裝置100的構(gòu)成例。如圖1所示,存儲(chǔ)裝置100具有控制器(控制電路)10、多個(gè)儲(chǔ)存存儲(chǔ)器11以及工作存儲(chǔ)器12??刂破?0具有主機(jī)接口、儲(chǔ)存存儲(chǔ)器接口和工作存儲(chǔ)器接口。主機(jī)接口為例如串行ATA/并行ATA接口,與主機(jī)間進(jìn)行指令的授受。儲(chǔ)存存儲(chǔ)器接口進(jìn)行與儲(chǔ)存存儲(chǔ)器11之間的指令的授受。工作存儲(chǔ)器接口進(jìn)行與工作存儲(chǔ)器12之間的指令的授受。這樣,控制器10經(jīng)由工作存儲(chǔ)器12,與儲(chǔ)存存儲(chǔ)器11和和主機(jī)110之間進(jìn)行數(shù)據(jù)傳送。儲(chǔ)存存儲(chǔ)器11,例如為NAND閃存,存儲(chǔ)來(lái)自主機(jī)的數(shù)據(jù)。另外,儲(chǔ)存存儲(chǔ)器11,按照來(lái)自控制器10的指令,進(jìn)行被存儲(chǔ)的數(shù)據(jù)的讀出、擦除等處理。工作存儲(chǔ)器12,例如為SRAM (Static Random Access Memory 靜態(tài)隨機(jī)存取存儲(chǔ)器)或DRAM (Dynamic Random Access Memory :動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器),但是不限于此,也可以為寄存器文件或儲(chǔ)存存儲(chǔ)器11等?;蛘咭部梢圆⒂盟麄儭9ぷ鞔鎯?chǔ)器12暫時(shí)收納儲(chǔ)存存儲(chǔ)器11的管理所需的數(shù)據(jù)。本實(shí)施方式中的控制器10具有壓縮解壓縮器13。該壓縮解壓縮器13只有在對(duì)儲(chǔ)存存儲(chǔ)器11進(jìn)行塊單位的數(shù)據(jù)的存取的情況下進(jìn)行處理。更具體地講,壓縮解壓縮器13, 在將來(lái)自主機(jī)110的塊單位的數(shù)據(jù)寫(xiě)入儲(chǔ)存存儲(chǔ)器11的情況下,對(duì)塊單位的數(shù)據(jù)進(jìn)行壓縮,生成壓縮數(shù)據(jù),在從儲(chǔ)存存儲(chǔ)器11讀出壓縮數(shù)據(jù)的情況下對(duì)壓縮數(shù)據(jù)進(jìn)行解壓縮。另外,即使為塊單位的數(shù)據(jù)的存取,在壓縮后的數(shù)據(jù)尺寸比原數(shù)據(jù)大的情況下或判斷為該數(shù)據(jù)被隨機(jī)存取的可能性高的情況下,也能夠不進(jìn)行壓縮解壓縮處理。這樣的壓縮解壓縮器13的壓縮解壓縮功能,可以通過(guò)硬件實(shí)現(xiàn),也可以通過(guò)軟件實(shí)現(xiàn)。圖2表示了本實(shí)施方式的工作存儲(chǔ)器12的構(gòu)成例。如圖2所示,工作存儲(chǔ)器12具有數(shù)據(jù)緩沖區(qū)21、頁(yè)面變換表22、塊變換表23、空閑頁(yè)面列表M和空閑塊列表25等。以下,利用圖3對(duì)這些工作存儲(chǔ)器12的各構(gòu)成要素進(jìn)行說(shuō)明。圖3表示了工作存儲(chǔ)12和儲(chǔ)存存儲(chǔ)器11的構(gòu)成例和控制動(dòng)作。在此,將從主機(jī) 110給予的地址稱(chēng)為邏輯地址,將儲(chǔ)存存儲(chǔ)器(NAND閃存)11內(nèi)的實(shí)際地址稱(chēng)為物理地址。在圖3中,存儲(chǔ)器映射圖30表示了儲(chǔ)存存儲(chǔ)器11的物理地址。另外,在該存儲(chǔ)器映射圖30中,反白區(qū)域表示有效數(shù)據(jù)存在的區(qū)域,網(wǎng)狀區(qū)域表示無(wú)效數(shù)據(jù)存在的區(qū)域。在此,有效數(shù)據(jù)和無(wú)效數(shù)據(jù),不限于是否有數(shù)據(jù)正在被寫(xiě)入,而是基于該數(shù)據(jù)邏輯上是有效還是無(wú)效。另外,在存儲(chǔ)器映射圖30中,斜線區(qū)域表示由于對(duì)塊單位的數(shù)據(jù)進(jìn)行壓并收納而導(dǎo)致的在塊內(nèi)空出的空閑區(qū)域。頁(yè)面變換表22中,1個(gè)條目由邏輯頁(yè)面地址和物理頁(yè)面地址的組構(gòu)成。頁(yè)面變換表22中,保持有寫(xiě)入了數(shù)據(jù)(存在有效數(shù)據(jù))的頁(yè)面的邏輯地址和物理地址。該頁(yè)面變換表22,將從主機(jī)給予的邏輯頁(yè)面地址和儲(chǔ)存存儲(chǔ)器11內(nèi)的物理頁(yè)面地址建立對(duì)應(yīng)。塊變換表23中,1個(gè)條目由物理塊地址構(gòu)成。塊變換表23中,保持有寫(xiě)入了數(shù)據(jù) (存在有效數(shù)據(jù))的塊的物理地址。該塊變換表23,將從主機(jī)給予的邏輯塊地址和儲(chǔ)存存儲(chǔ)器11內(nèi)的物理塊地址建立對(duì)應(yīng)。空閑頁(yè)面列表M中,1個(gè)條目由物理頁(yè)面地址構(gòu)成。在空閑頁(yè)面列表M中,保持有由于對(duì)塊單位的數(shù)據(jù)壓縮、收納而在塊內(nèi)空出的空閑區(qū)域的前端頁(yè)面的物理地址。在此, 空閑區(qū)域的前端頁(yè)面以后的物理地址,可以從前端頁(yè)面物理地址計(jì)算出來(lái)。特別地,后端頁(yè)面的物理地址,由于為物理塊的邊界,因此可以容易地從前端頁(yè)面的物理地址計(jì)算出??臻e塊列表25中,1個(gè)條目由物理塊地址構(gòu)成。在空閑塊列表25中,保持有塊內(nèi)的數(shù)據(jù)全部被無(wú)效化的塊的物理地址。在本實(shí)施方式中,不僅僅是通過(guò)空閑塊列表25以塊單位管理塊內(nèi)的數(shù)據(jù)全部被無(wú)效化的塊,可以通過(guò)空閑頁(yè)面列表M以頁(yè)面為單位管理由于將壓縮塊數(shù)據(jù)收納在某個(gè)塊中而空出(被無(wú)效化)的塊內(nèi)的一部分(空閑區(qū)域)。[塊單位的數(shù)據(jù)(塊數(shù)據(jù))寫(xiě)入]下面,利用圖4對(duì)本實(shí)施方式的存儲(chǔ)裝置100中的塊數(shù)據(jù)寫(xiě)入進(jìn)行說(shuō)明。圖4表示本實(shí)施方式的存儲(chǔ)裝置100中的塊數(shù)據(jù)寫(xiě)入的流程圖。如圖4所示,首先,在步驟Sl中,與公知的方法相同地,從空閑塊列表25確保塊單位的寫(xiě)入?yún)^(qū)域。此時(shí),在確保的寫(xiě)入?yún)^(qū)域中存在有無(wú)效數(shù)據(jù)的情況等時(shí),若需要?jiǎng)t進(jìn)行擦除動(dòng)作。然后,在步驟S2中,判斷是否壓縮塊數(shù)據(jù)。此時(shí),通過(guò)調(diào)查寫(xiě)入數(shù)據(jù)的傾向,判定壓縮后的數(shù)據(jù)尺寸是否變得比原來(lái)的數(shù)據(jù)尺寸小。即,在壓縮后的數(shù)據(jù)尺寸變得比原來(lái)的數(shù)據(jù)尺寸小的情況下,對(duì)塊數(shù)據(jù)進(jìn)行壓縮,在比原來(lái)的數(shù)據(jù)尺寸大的情況下不對(duì)塊數(shù)據(jù)進(jìn)行壓縮。在步驟S2中不對(duì)塊數(shù)據(jù)進(jìn)行壓縮的情況下,然后在步驟S3中,進(jìn)行塊數(shù)據(jù)寫(xiě)入。 即,將通常的塊數(shù)據(jù)寫(xiě)入儲(chǔ)存存儲(chǔ)器11。之后,在步驟S4中,在塊變換表23中,設(shè)置寫(xiě)入了塊數(shù)據(jù)的物理塊地址。另外,在步驟S2中對(duì)塊數(shù)據(jù)壓縮的情況下,然后,在步驟S5中,進(jìn)行塊數(shù)據(jù)的壓縮處理。即,減小塊數(shù)據(jù)的數(shù)據(jù)尺寸。然后,在步驟S6中,進(jìn)行壓縮塊數(shù)據(jù)寫(xiě)入。即,將在步驟S5中壓縮的的塊數(shù)據(jù)寫(xiě)入儲(chǔ)存存儲(chǔ)器11。在此,壓縮塊數(shù)據(jù)收容在與沒(méi)被壓縮的塊數(shù)據(jù)寫(xiě)入情況下相同的收容位置。例如,壓縮塊數(shù)據(jù)從在空閑塊列表25確保的塊內(nèi)的前端頁(yè)面進(jìn)行寫(xiě)入。此時(shí),壓縮塊數(shù)據(jù)由于數(shù)據(jù)尺寸小,因此在空閑塊列表25中確保的塊內(nèi)的一部分上(例如,后半頁(yè)面) 存在沒(méi)有寫(xiě)入數(shù)據(jù)的區(qū)域(空閑區(qū)域)。然后,在步驟S7中,在空閑頁(yè)面列表M中,設(shè)置由于寫(xiě)入壓縮塊數(shù)據(jù)而空出的空閑區(qū)域的前端頁(yè)面的物理地址。之后,在步驟S4中,在塊變換表23中,設(shè)置寫(xiě)入了壓縮塊數(shù)據(jù)的物理塊地址。這樣地,結(jié)束塊數(shù)據(jù)寫(xiě)入。另外,在壓縮了塊數(shù)據(jù)的情況下,通過(guò)此前的處理,壓縮塊數(shù)據(jù)成為有效,成為在空閑區(qū)域能夠?qū)懭腠?yè)面數(shù)據(jù)的狀態(tài)。[頁(yè)面單位的數(shù)據(jù)(頁(yè)面數(shù)據(jù))寫(xiě)入]下面,利用圖5,對(duì)本實(shí)施方式的存儲(chǔ)裝置100中的頁(yè)面數(shù)據(jù)寫(xiě)入進(jìn)行說(shuō)明。圖5表示本實(shí)施方式的存儲(chǔ)裝置100中的頁(yè)面數(shù)據(jù)寫(xiě)入的流程圖。如圖5所示,首先,在步驟S8中,判斷是否可以從空閑頁(yè)面列表M確保寫(xiě)入?yún)^(qū)域。在步驟S8中不能從空閑頁(yè)面列表對(duì)確保寫(xiě)入?yún)^(qū)域的情況下,然后,在步驟S9中, 從空閑塊列表25確保頁(yè)面單位的寫(xiě)入?yún)^(qū)域。此時(shí),在確保的寫(xiě)入?yún)^(qū)域存在無(wú)效數(shù)據(jù)的情況下等,若需要?jiǎng)t進(jìn)行擦除動(dòng)作。然后,在步驟SlO中,對(duì)從空閑塊列表25確保的寫(xiě)入?yún)^(qū)域?qū)懭腠?yè)面數(shù)據(jù)。之后,在步驟Sll中,在頁(yè)面變換表22中,設(shè)置寫(xiě)入了頁(yè)面數(shù)據(jù)的物理頁(yè)面地址和變換信息。另外,在步驟S8中能夠從空閑頁(yè)面列表M確保寫(xiě)入?yún)^(qū)域的情況下,在步驟S12 中,從空閑頁(yè)面列表M確保頁(yè)面單位的寫(xiě)入?yún)^(qū)域。然后,在步驟SlO中,在從空閑頁(yè)面列表M確保的寫(xiě)入?yún)^(qū)域進(jìn)行頁(yè)面數(shù)據(jù)寫(xiě)入。
6艮口,在空閑區(qū)域?qū)懭腠?yè)面數(shù)據(jù)。由此,在塊內(nèi)成為壓縮塊數(shù)據(jù)和其他的頁(yè)面數(shù)據(jù)混在一起的狀態(tài)。之后,在步驟S11中,在頁(yè)面變換表22中,設(shè)置寫(xiě)入了頁(yè)面數(shù)據(jù)的物理頁(yè)面地址和
變換信息。這樣地,結(jié)束頁(yè)面數(shù)據(jù)寫(xiě)入。[數(shù)據(jù)讀出]下面,對(duì)本實(shí)施方式的存儲(chǔ)裝置100中的數(shù)據(jù)讀出進(jìn)行說(shuō)明。另外,本實(shí)施方式中的數(shù)據(jù)的讀出方法不特別限定,可以使用公知的各種讀出方法。在頁(yè)面數(shù)據(jù)讀出的情況下,與公知的方法同樣地,使用頁(yè)面變換表22,從儲(chǔ)存存儲(chǔ)器11讀出對(duì)應(yīng)的(讀出對(duì)象的)頁(yè)面數(shù)據(jù)。另外,塊數(shù)據(jù)讀出的情況下,與公知的方法相同,使用塊變換表23,從儲(chǔ)存存儲(chǔ)器 11讀出對(duì)應(yīng)的(讀出對(duì)象的)塊數(shù)據(jù)。此時(shí),在讀出對(duì)象的塊數(shù)據(jù)被壓縮的情況下,在進(jìn)行了壓縮塊數(shù)據(jù)的解壓縮處理后,讀出數(shù)據(jù)。另外,讀出對(duì)象的塊數(shù)據(jù)沒(méi)有被壓縮的情況下, 原樣地讀出數(shù)據(jù)。另外,從儲(chǔ)存存儲(chǔ)器11的數(shù)據(jù)的讀出,可以只讀出需要的量就結(jié)束,也可以讀出1 塊的量。另外,為了進(jìn)行塊數(shù)據(jù)是否壓縮的判定,對(duì)于1塊至少需要1位。在此,若儲(chǔ)存存儲(chǔ)器11中存在冗余位,可以加以利用,也可以在塊變換表23的各條目中追加1位。上述的塊數(shù)據(jù)寫(xiě)入、頁(yè)面數(shù)據(jù)寫(xiě)入和數(shù)據(jù)讀出通過(guò)圖1所示的控制器10加以控制。[效果]通過(guò)上述第一的實(shí)施方式,在寫(xiě)入塊數(shù)據(jù)時(shí)對(duì)數(shù)據(jù)進(jìn)行壓縮,將該壓縮塊數(shù)據(jù)存儲(chǔ)(寫(xiě)入)到儲(chǔ)存存儲(chǔ)器11內(nèi)的塊中。由該壓縮而削減(變少)的數(shù)據(jù)的量,在塊內(nèi)作為空閑區(qū)域而產(chǎn)生。通過(guò)將該空閑區(qū)域利用在其他的頁(yè)面數(shù)據(jù)寫(xiě)入中,可以提高對(duì)儲(chǔ)存存儲(chǔ)器11的寫(xiě)入效率。另外,由于不會(huì)浪費(fèi)地使用由于塊數(shù)據(jù)的壓縮而產(chǎn)生的空閑區(qū)域,在儲(chǔ)存存儲(chǔ)器 11整體的各塊中可以分散并且降低改寫(xiě)次數(shù)。即,在使用如不斷地微細(xì)化的NAND閃存這樣的改寫(xiě)次數(shù)存在局限的存儲(chǔ)器的存儲(chǔ)裝置100中,可以提高可靠性。進(jìn)而,在本實(shí)施方式中,壓縮塊數(shù)據(jù)的收容位置與沒(méi)有壓縮的情況下的收容位置一致。由此,數(shù)據(jù)的管理、寫(xiě)入和讀出動(dòng)作的控制容易,可以抑制控制器10的額外負(fù)擔(dān)。(第二實(shí)施方式)下面,對(duì)第二實(shí)施方式的存儲(chǔ)裝置進(jìn)行說(shuō)明。第二實(shí)施方式為第一實(shí)施方式的變形例,適用于多值(MLC:multi level cell 多層單元)NAND閃存這樣的寫(xiě)入順序有限制的存儲(chǔ)器,從下位頁(yè)面?zhèn)葘?xiě)入壓縮塊數(shù)據(jù)。另外,在第二實(shí)施方式中,對(duì)于與上述第一實(shí)施方式相同的點(diǎn)省略說(shuō)明,對(duì)不同點(diǎn)進(jìn)行說(shuō)明。多值NAND閃存為在一個(gè)存儲(chǔ)單元寫(xiě)入多位的信息的存儲(chǔ)器。另外,根據(jù)存儲(chǔ)器的不同,也存在對(duì)一個(gè)存儲(chǔ)單元含有的多個(gè)位分配其他的地址的情況,該情況下,有相對(duì)于這些地址,寫(xiě)入順序確定的情況。根據(jù)存儲(chǔ)器的不同,對(duì)先寫(xiě)入的地址的寫(xiě)入動(dòng)作可以比對(duì)后寫(xiě)入的地址的寫(xiě)入動(dòng)作更高速地進(jìn)行。在下面的說(shuō)明中,作為一例,表示了對(duì)一個(gè)存儲(chǔ)單元能夠?qū)懭?位的信息的情況。另外,將先寫(xiě)入的地址區(qū)域稱(chēng)為下位頁(yè)面(lower page),將后寫(xiě)入的地址區(qū)域稱(chēng)為上位頁(yè)面(upper page)0[塊數(shù)據(jù)和頁(yè)面數(shù)據(jù)的寫(xiě)入]下面,利用圖6,對(duì)本實(shí)施方式中的存儲(chǔ)裝置100的塊數(shù)據(jù)及頁(yè)面數(shù)據(jù)的寫(xiě)入進(jìn)行說(shuō)明。圖6表示了本實(shí)施方式的存儲(chǔ)裝置100的控制動(dòng)作,表示了一個(gè)塊60內(nèi)的下位頁(yè)面和上位頁(yè)面的地址的分配,和塊60內(nèi)的數(shù)據(jù)的遷移。在此,與圖3相同,反白區(qū)域表示存在有效數(shù)據(jù)的區(qū)域,網(wǎng)狀區(qū)域表示存在無(wú)效數(shù)據(jù)的區(qū)域,斜線區(qū)域表示由于收納壓縮數(shù)據(jù)而空出的空閑區(qū)域。更具體地講,圖6的(a)表示塊60內(nèi)全部為無(wú)效數(shù)據(jù)的狀態(tài),圖6的(b)表示在塊60內(nèi)寫(xiě)入壓縮塊數(shù)據(jù)的狀態(tài),圖6(c)表示在空閑區(qū)域?qū)懭腠?yè)面數(shù)據(jù)的狀態(tài)。如圖6的(a)所示,在本實(shí)施方式中,塊60內(nèi)的地址按照寫(xiě)入順序的限制進(jìn)行邏輯排列。更具體地講,如下地分配地址,即在含有具有下位頁(yè)面和上位頁(yè)面的多個(gè)存儲(chǔ)單元的塊60中,從各存儲(chǔ)單元的下位頁(yè)面?zhèn)仁紫葘?xiě)入后,在各存儲(chǔ)單元的上位側(cè)寫(xiě)入。通過(guò)這樣地分配塊60內(nèi)的地址,如圖6的(b)所示,在寫(xiě)入壓縮塊數(shù)據(jù)時(shí),壓縮塊數(shù)據(jù)從各存儲(chǔ)單元的下位頁(yè)面?zhèn)葘?xiě)入。之后,如圖6的(c)所示,在由于寫(xiě)入塊數(shù)據(jù)而生成的空閑區(qū)域(例如,上位頁(yè)面?zhèn)鹊囊徊糠?寫(xiě)入其他的頁(yè)面數(shù)據(jù)。如圖4和圖5所示,通過(guò)第一實(shí)施方式所示的控制方式,在塊60寫(xiě)入壓縮數(shù)據(jù)的情況下,可以總是保證按照?qǐng)D6的(a)、(b)、(c)的順序?qū)懭霐?shù)據(jù)。即,由于壓縮塊數(shù)據(jù)的寫(xiě)入在其他的頁(yè)面數(shù)據(jù)的寫(xiě)入之前進(jìn)行,壓縮塊數(shù)據(jù)從下位頁(yè)面?zhèn)葘?xiě)入。[效果]通過(guò)上述的第二實(shí)施方式,在具有多值NAND閃存的存儲(chǔ)裝置100中,如下地進(jìn)行地址分配,即在從塊60內(nèi)的全部存儲(chǔ)單元的下位側(cè)先寫(xiě)入后,在各上位頁(yè)面?zhèn)葘?xiě)入。由此, 前寫(xiě)入的壓縮塊數(shù)據(jù)從存儲(chǔ)單元的下位頁(yè)面?zhèn)葘?xiě)入。該下位頁(yè)面?zhèn)鹊膶?xiě)入可以以比上位頁(yè)面?zhèn)鹊膶?xiě)入快的高速執(zhí)行。即,可以高速地進(jìn)行壓縮塊數(shù)據(jù)的寫(xiě)入。特別地,在從主機(jī)110發(fā)出了大的數(shù)據(jù)尺寸的寫(xiě)入指令的情況下,通過(guò)塊單位的寫(xiě)入的執(zhí)行控制,可以進(jìn)行高速的該寫(xiě)入,可以提高突發(fā)寫(xiě)入的執(zhí)行性能。另外,通常,數(shù)據(jù)的壓縮需要大量的時(shí)間。相對(duì)于此,如本實(shí)施方式所述,由于高速地進(jìn)行壓縮塊數(shù)據(jù)的寫(xiě)入,可以在總計(jì)上抵消壓縮引起的時(shí)間增加,可以抑制時(shí)間增加。這里說(shuō)明了一些具體實(shí)施方式
,但是,這些具體實(shí)施方式
只是示例,并不限制發(fā)明的范圍。這里說(shuō)明的新的方法和系統(tǒng)可以進(jìn)行變更為各種形式;另外,在不脫離本發(fā)明的主旨的范圍內(nèi)可以對(duì)這些方法和系統(tǒng)進(jìn)行各種省略、替換和變更。在落入本發(fā)明的范圍和精神內(nèi)時(shí),從屬權(quán)利要求和它們的等價(jià)物用來(lái)覆蓋這些形式或修改。
權(quán)利要求
1.一種存儲(chǔ)裝置,其特征在于 具有存儲(chǔ)來(lái)自主機(jī)的數(shù)據(jù)的第一存儲(chǔ)部;對(duì)管理所述第一存儲(chǔ)部的信息進(jìn)行存儲(chǔ)的第二存儲(chǔ)部;和經(jīng)由所述第二存儲(chǔ)部,在所述主機(jī)與所述第一存儲(chǔ)部之間進(jìn)行數(shù)據(jù)的傳送的控制部, 所述第一存儲(chǔ)部具有多個(gè)塊,所述多個(gè)塊的各個(gè)塊含有多個(gè)頁(yè)面, 所述第二存儲(chǔ)部具有保持所述第一存儲(chǔ)部中的所述多個(gè)塊中、可寫(xiě)入的塊的信息的空閑塊列表;和保持所述第一存儲(chǔ)部中的所述多個(gè)頁(yè)面中、可寫(xiě)入的頁(yè)面的信息的空閑頁(yè)面列表, 所述控制部,在向所述第一存儲(chǔ)部傳送來(lái)自主機(jī)的數(shù)據(jù)時(shí), 對(duì)塊單位的數(shù)據(jù)進(jìn)行壓縮而生成壓縮塊數(shù)據(jù),基于所述空閑塊列表所保持的信息,將所述壓縮塊數(shù)據(jù)寫(xiě)入到可寫(xiě)入的塊, 將寫(xiě)入了所述壓縮塊數(shù)據(jù)的所述塊內(nèi)、沒(méi)有寫(xiě)入所述壓縮塊數(shù)據(jù)的空閑區(qū)域中存在的頁(yè)面信息,保持于所述空閑頁(yè)面列表,基于所述空閑頁(yè)面列表所保持的信息,將頁(yè)面單位的數(shù)據(jù)寫(xiě)入存在于所述空閑區(qū)域的頁(yè)面。
2.如權(quán)利要求1所述的存儲(chǔ)裝置,其特征在于在所述空閑塊列表保持有數(shù)據(jù)全部被無(wú)效化的塊的物理地址,在所述空閑頁(yè)面列表保持有所述空閑區(qū)域的前端頁(yè)面的物理地址。
3.如權(quán)利要求1所述的存儲(chǔ)裝置,其特征在于 所述第一存儲(chǔ)部為NAND閃存。
4.如權(quán)利要求1所述的存儲(chǔ)裝置,其特征在于 所述第二存儲(chǔ)部為SRAM或DRAM。
5.如權(quán)利要求1所述的存儲(chǔ)裝置,其特征在于所述控制電路,在寫(xiě)入所述壓縮塊數(shù)據(jù)時(shí),從塊內(nèi)的前端頁(yè)面寫(xiě)入所述壓縮塊數(shù)據(jù)。
6.如權(quán)利要求1所述的存儲(chǔ)裝置,其特征在于所述第一存儲(chǔ)部為具有多個(gè)存儲(chǔ)單元的NAND閃存,所述多個(gè)存儲(chǔ)單元存儲(chǔ)有η值不同的狀態(tài),η為大于2的整數(shù),所述第一存儲(chǔ)部中的所述多個(gè)塊的各個(gè)塊含有多個(gè)下位頁(yè)面和多個(gè)上位頁(yè)面,所述控制電路,在寫(xiě)入所述壓縮塊數(shù)據(jù)時(shí),將所述壓縮塊數(shù)據(jù)從所述塊內(nèi)的下位頁(yè)面?zhèn)葘?xiě)入。
全文摘要
存儲(chǔ)裝置具有存儲(chǔ)來(lái)自主機(jī)的數(shù)據(jù)的第一存儲(chǔ)部、對(duì)管理第一存儲(chǔ)部的信息存儲(chǔ)的第二存儲(chǔ)部和經(jīng)第二存儲(chǔ)部在主機(jī)與第一存儲(chǔ)部之間數(shù)據(jù)傳送的控制部。第一存儲(chǔ)部具有多個(gè)塊,多個(gè)塊的每個(gè)含有多個(gè)頁(yè)面。第二存儲(chǔ)部具有保持第一存儲(chǔ)部中的多個(gè)塊中的可寫(xiě)入的塊的信息的空閑塊列表和保持第一存儲(chǔ)部中的多個(gè)頁(yè)面中的可寫(xiě)入的頁(yè)面的信息的空閑頁(yè)面列表??刂撇吭谙虻谝淮鎯?chǔ)部傳送來(lái)自主機(jī)的數(shù)據(jù)時(shí)對(duì)塊單位的數(shù)據(jù)進(jìn)行壓縮而生成壓縮塊數(shù)據(jù),基于空閑塊列表保持的信息將壓縮塊數(shù)據(jù)寫(xiě)入可寫(xiě)入的塊,將寫(xiě)入了壓縮塊數(shù)據(jù)的塊內(nèi)沒(méi)有寫(xiě)入壓縮塊數(shù)據(jù)的空閑區(qū)域中存在的頁(yè)面信息保持于空閑頁(yè)面列表,基于空閑頁(yè)面列表保持的信息將頁(yè)面單位的數(shù)據(jù)寫(xiě)入可寫(xiě)入的頁(yè)面。
文檔編號(hào)G11C16/08GK102479549SQ20111006696
公開(kāi)日2012年5月30日 申請(qǐng)日期2011年3月18日 優(yōu)先權(quán)日2010年11月19日
發(fā)明者及川恒平 申請(qǐng)人:株式會(huì)社東芝