存儲控制器件、存儲器件、信息處理系統(tǒng)及存儲控制方法
【專利摘要】本發(fā)明涉及存儲控制器件及其相關的存儲器件、信息處理系統(tǒng)以及在這些器件中使用的存儲控制方法。所述存儲控制器件包括:部分單位緩沖器,其用于保持被指定到部分單位的至少一個數(shù)據(jù),存儲器的寫入單位被劃分成多個所述部分單位;以及請求生成部,其用于即使在所述存儲器指示任一部分單位處于繁忙狀態(tài)的情況下,在所述部分單位緩沖器能夠保持被指定到該部分單位的數(shù)據(jù)時,仍生成所述存儲器的所述寫入單位的寫入請求。根據(jù)本發(fā)明,即使在一部分寫入單位被置于繁忙狀態(tài)時也能夠盡可能地繼續(xù)進行寫入處理操作。
【專利說明】存儲控制器件、存儲器件、信息處理系統(tǒng)及存儲控制方法
【技術領域】
[0001]本發(fā)明涉及存儲控制器件。更具體地,本發(fā)明涉及存儲控制器件、存儲器件、用于存儲器的信息處理系統(tǒng)以及這種器件和系統(tǒng)中的處理方法。
【背景技術】
[0002]在信息處理系統(tǒng)中,動態(tài)隨機存取存儲器(Dynamic Random Access Memory,DRAM)等被用作工作存儲器。這種DRAM是典型的易失性存儲器,一旦電源停止工作,其存儲的內(nèi)容就會消失。同時,近年來,非易失性存儲器(NVM)被廣泛地使用。這種非易失性存儲器落入與以大的數(shù)據(jù)大小為單位的數(shù)據(jù)存取相對應的閃速存儲器以及能夠以小的數(shù)據(jù)大小為單位的高速隨機存取的非易失性隨機存取存儲器(NVRAM)的一般分類中。這里,閃速存儲器的典型示例可以包括NAND型閃速存儲器。另一方面,非易失性隨機存取存儲器的示例可以包括ReRAM (電阻式RAM)、PCRAM (相變式RAM)和MRAM (磁阻式RAM)等。
[0003]在將數(shù)據(jù)寫入到存儲器單元的處理中,設想非易失性存儲器在寫入步驟中將數(shù)據(jù)寫入到存儲器單元以及在驗證步驟中從存儲器單元讀取數(shù)據(jù)并通過將所讀取的數(shù)據(jù)與所寫入的數(shù)據(jù)進行比較來實施驗證。在寫入存儲器單元時,重復這些步驟直到根據(jù)寫入步驟之后的驗證步驟中的數(shù)據(jù)比較結(jié)果確認了數(shù)據(jù)匹配為止。由于存儲器單元在特性上具有一定范圍的變化,并且也在這些步驟的數(shù)量上發(fā)現(xiàn)了相似的變化,因此,出現(xiàn)在寫入操作期間的繁忙時間不是固定的時間段。相應地,對于非易失性存儲器的寫入繁忙時間,指定典型值和最大值來作為一般標準。典型值由寫入操作期間成功驗證的平均頻率來決定,而最大值由寫入步驟和驗證步驟重復的最大頻率來決定。如果這些步驟被重復至最大次數(shù),那么驗證失敗的存儲器單元通??杀慌卸槿毕輪卧?。
[0004]由于這種寫入時間上的變化的原因,非易失性存儲器的寫入性能由于具有長的寫入時間的單元而劣化。典型地,在非易失性存儲器中,同時對由多個存儲器單元構(gòu)成并通常被稱作頁的寫入單位實施寫入操作。因而,即使在頁中只有幾個存儲器單元,由于上述變化而具有長的寫入時間,也很難在完成這些存儲器單元的寫入之前開始下一頁的寫入,這導致整個寫入處理性能的劣化。對于采用多塊(mult1-bank)構(gòu)造(其具有使用頁作為寫入單位的多個非易失性存儲器塊(memory bank)的非易失性存儲器來說同樣如此。由于變化而增加了某個塊的頁寫入時間,并因此任何其他已完成寫入操作的塊處于等候開始下一頁的寫入的狀態(tài)直到這個塊完成其寫入操作為止,這導致了整個非易失性存儲器在寫入性能上的劣化。更具體地,無論哪種情況,雖然已完成寫入操作的塊的頁處于只在接收到下一數(shù)據(jù)時才能開始寫入操作的狀態(tài),但是下一個數(shù)據(jù)條目仍然停留在待命狀態(tài)直到所有的塊都完成其寫入操作為止,這導致了寫入性能下降。
[0005]相反,提出了以下方法,即,通過在寫入繁忙時間期間將下一寫入數(shù)據(jù)傳輸?shù)椒且资源鎯ζ鞯膬?nèi)部緩沖器來防止數(shù)據(jù)傳輸時間成為開始下一寫入操作時的開銷(例如,參照日本未經(jīng)審查專利申請2003-196989)。另外,對于多塊構(gòu)造,提出以下方法,即,通過為每個塊提供緩沖器來減小開始寫入操作時的開銷(例如,參照日本未經(jīng)審查專利申請2007-080475)。
[0006]然而,在寫入繁忙時間期間將寫入數(shù)據(jù)傳輸?shù)骄彌_器的現(xiàn)有技術中,很難防止由增加的寫入繁忙時間引起的速度的降低。另外,在為每個塊提供緩沖器的現(xiàn)有技術中,因為由增加的寫入繁忙時間引起的速度的降低的原因,只獲取了與上面相同的效果。此外,這種現(xiàn)有技術包括用于每個塊的具有頁大小的緩沖器,并且其缺點在于隨著作為寫入單位的頁的大小的增加以及非易失性存儲器中塊的數(shù)量的增加,每個緩沖器的大小也增加。
[0007]在目前可用的以閃速存儲器代表的非易失性存儲器中,繁忙時間的典型值可以是大約幾百微秒到幾毫秒的數(shù)量級,并且繁忙時間不以典型值的倍數(shù)而變化,而是以更精細的時間單位來變化。相應地,典型值的時間比變化的時間長度更具支配性,并且通過吸收這種變化而實現(xiàn)的性能改善的效果并不大。相反,在作為新式高速非易失性存儲器的NVRAM中,因為寫入繁忙時間可以小至約數(shù)十納秒至幾微秒的數(shù)量級的值,并且繁忙時間的變化也相當于幾乎相同數(shù)量級長度的時間,繁忙時間變化對寫入性能的影響是顯著的。另外,由于作為寫入單位的頁的大小為小,并且提供了高速接口,所以通過提供如上所述的緩沖器而允許被隱藏的繁忙時間顯著地變短。
【發(fā)明內(nèi)容】
[0008]有鑒于此,期望提供即使在一部分寫入單位被置于繁忙狀態(tài)時也盡可能地繼續(xù)寫入處理操作的技術。
[0009]根據(jù)本發(fā)明的實施例,提供一種存儲控制器件,其包括:部分單位緩沖器,其用于保持被指定到部分單位的至少一個數(shù)據(jù),存儲器的寫入單位被劃分成多個所述部分單位;以及請求生成部,其用于即使在所述存儲器指示任一部分單位處于繁忙狀態(tài)的情況下,在所述部分單位緩沖器能夠保持被指定到該部分單位的數(shù)據(jù)時,仍生成所述存儲器的所述寫入單位的寫入請求。這帶來了即使當存在被指示為處于繁忙狀態(tài)的部分單位時也盡可能地生成寫入請求的功能。
[0010]根據(jù)本發(fā)明的實施例,提供一種存儲控制方法,其包括:即使存儲器指示通過對存儲器的寫入單位進行劃分而成的部分單位中的任一部分單位處于繁忙狀態(tài),在部分單位緩沖器能夠保持被指定到該部分單位的數(shù)據(jù)的情況下,仍生成所述存儲器的所述寫入單位的寫入請求;以及在所述寫入請求的生成的情況下,執(zhí)行寫入控制,以使所述部分單位緩沖器保持被指定到被指示為處于繁忙狀態(tài)的部分單位的數(shù)據(jù),并且將被指定到未被指示為處于所述繁忙狀態(tài)的部分單位的數(shù)據(jù)傳輸?shù)剿龃鎯ζ?。這帶來了即使當存在被指示為處于繁忙狀態(tài)的部分單位時也盡可能地生成寫入請求的功能。
[0011]有利地,存儲控制器件還包括:寫入控制部,其在所述寫入請求的生成的情況下用于使所述部分單位緩沖器保持被指定到被所述存儲器指示為處于繁忙狀態(tài)的部分單位的數(shù)據(jù),并且將被指定到未被所述存儲器指示為處于繁忙狀態(tài)的部分單位的數(shù)據(jù)傳輸?shù)剿龃鎯ζ?。這帶來了按照部分單位的繁忙狀態(tài)來分配數(shù)據(jù)的功能。
[0012]有利地,在被指定到已取消繁忙狀態(tài)的部分單位的隨后數(shù)據(jù)被保持在所述部分單位緩沖器中時,所述寫入控制部將所述隨后數(shù)據(jù)從所述部分單位緩沖器傳輸?shù)剿龃鎯ζ?。這帶來了利用部分單位的繁忙狀態(tài)的取消的機會從部分單位緩沖器傳輸數(shù)據(jù)的功能。
[0013]有利地,存儲控制器件還包括:信號生成部,其用于生成信號,所述信號用于:當存在被所述存儲器指示為處于繁忙狀態(tài)的部分單位,并且所述部分單位緩沖器不能保持被指定到該部分單位的數(shù)據(jù)時,指示無效狀態(tài);當所述部分單位緩沖器處于空狀態(tài),并且不存在被所述存儲器指示為處于繁忙狀態(tài)的部分單位時,指示有效狀態(tài);以及當存在被所述存儲器指示為處于繁忙狀態(tài)的部分單位時,并且所述部分單位緩沖器能夠保持該部分單位的數(shù)據(jù)時,指示有效狀態(tài),其中,當所述信號指示有效狀態(tài)時,所述請求生成部生成所述寫入單位的寫入請求。這帶來了通過利用指示有效狀態(tài)的存在與不存在的信號來控制寫入請求的生成的功能。
[0014]根據(jù)本發(fā)明的實施例,提供一種存儲器件,其包括:存儲器單元陣列,所述存儲器單元陣列的寫入單位被劃分成多個部分單位以存儲數(shù)據(jù);部分單位緩沖器,其用于保持被指定到所述部分單位的至少一個數(shù)據(jù);請求生成部,其用于即使在所述存儲器指示任一所述部分單位處于繁忙狀態(tài)的情況下,在所述部分單位緩沖器能夠保持被指定到該部分單位的數(shù)據(jù)時,仍生成所述存儲器單元陣列的所述寫入單位的寫入請求;以及寫入控制部,其用于在所述寫入請求的生成的情況下,使所述部分單位緩沖器保持被指定到被所述存儲器指示為處于繁忙狀態(tài)的部分單位的數(shù)據(jù),并且將被指定到未被所述存儲器指示為處于繁忙狀態(tài)的部分單位的數(shù)據(jù)傳輸?shù)剿龃鎯ζ鲉卧嚵?。這帶來了即使當存在被指示為處于繁忙狀態(tài)的部分單位時也盡可能地生成寫入請求以按照部分單位的繁忙狀態(tài)來分配數(shù)據(jù)的功倉泛。
[0015]有利地,所述存儲器單元陣列包括具有非易失性存儲器元件的存儲器單元。
[0016]根據(jù)本發(fā)明的實施例,提供一種信息處理系統(tǒng),其包括:存儲器單元陣列,所述存儲器單元陣列的寫入單位被劃分成多個部分單位以存儲數(shù)據(jù);主機計算機,其用于發(fā)出所述寫入單位的寫入指令;部分單位緩沖器,其用于保持被指定到所述部分單位的至少一個數(shù)據(jù);請求生成部,其在所述寫入指令發(fā)出的情況下,用于即使所述存儲器指示任一所述部分單位處于繁忙狀態(tài),在所述部分單位緩沖器能夠保持被指定到該部分單位的數(shù)據(jù)時仍生成所述存儲器單元陣列的所述寫入單位的寫入請求;以及寫入控制部,其用于在所述寫入請求的生成的情況下,使所述部分單位緩沖器保持被指定到被所述存儲器指示為處于繁忙狀態(tài)的部分單位的數(shù)據(jù),并且將被指定到未被所述存儲器指示為處于繁忙狀態(tài)的部分單位的數(shù)據(jù)傳輸?shù)剿龃鎯ζ鲉卧嚵?。這帶來了在發(fā)出寫入指令時即使當存在被指示為處于繁忙狀態(tài)的部分單位時也盡可能地生成寫入請求以按照部分單位的繁忙狀態(tài)來分配數(shù)據(jù)的功能。
[0017]根據(jù)上述本發(fā)明的實施例,可以實現(xiàn)即使在一部分寫入單位被置于繁忙狀態(tài)時也能夠盡可能地繼續(xù)寫入處理操作的顯著效果。
[0018]應當理解,前述的一般性說明和下面的具體說明均是示例性的,旨在提供所要求的技術的進一步的解釋。
【專利附圖】
【附圖說明】
[0019]包括附圖以提供對本發(fā)明的進一步理解,附圖被并入并構(gòu)成本說明書的一部分。附圖示出實施例,并與說明書一起用來說明本發(fā)明的原理。
[0020]圖1是示出了根據(jù)本發(fā)明實施例的信息處理系統(tǒng)的構(gòu)造示例的示意框圖。
[0021]圖2是示出了根據(jù)本發(fā)明實施例的功能性構(gòu)造示例的示意框圖。[0022]圖3是示出了根據(jù)本發(fā)明第一實施例的存儲器300的構(gòu)造示例的示意框圖。
[0023]圖4是示出了根據(jù)本發(fā)明第一實施例的存儲器300的頁地址的指定示例的示意框圖。
[0024]圖5是示出了根據(jù)本發(fā)明第一實施例的操作時序的示例的時序圖。
[0025]圖6A和圖6B均是示出了本發(fā)明第一實施例中效果的概要的示意圖。
[0026]圖7是示出了接收根據(jù)本發(fā)明第一實施例的寫入指令時的處理步驟的示例的流程圖。
[0027]圖8是示出了根據(jù)本發(fā)明第一實施的寫入請求的處理步驟的示例的流程圖。
[0028]圖9是示出了釋放根據(jù)本發(fā)明第一實施例的子頁緩沖器320的處理步驟的示例的流程圖。
[0029]圖10是示出了根據(jù)本發(fā)明第二實施例的存儲器300的構(gòu)造示例的示意框圖。
[0030]圖11是示出了根據(jù)本發(fā)明第二實施例的存儲器300的頁地址的指定示例的示意框圖。
[0031]圖12是示出了根據(jù)本發(fā)明第二實施例的操作時序的示例的時序圖。
[0032]圖13是示出了接收根據(jù)本發(fā)明第二實施例的寫入指令時的處理步驟的示例的流程圖。
[0033]圖14是示出了根據(jù)本發(fā)明第二實施例的寫入請求的處理步驟的示例的流程圖。
[0034]圖15是示出了釋放根據(jù)本發(fā)明第二實施例的頁緩沖器321的處理步驟的示例的流程圖。
[0035]圖16是示出了根據(jù)本發(fā)明第三實施例的存儲器300的構(gòu)造示例的示意框圖。
[0036]圖17是根據(jù)本發(fā)明第三實施例的繁忙信號生成電路351的真值表。
[0037]圖18是示出了根據(jù)本發(fā)明第三實施例的操作時序的示例的時序圖。
[0038]圖19是示出了接收根據(jù)本發(fā)明第三實施例的寫入指令時的處理步驟的示例的流程圖
[0039]圖20是示出了根據(jù)本發(fā)明第三實施例的寫入請求的處理步驟的示例的流程圖。
[0040]圖21是是示出了釋放根據(jù)本發(fā)明第三實施例的頁緩沖器321的處理步驟的示例的流程圖。
[0041]圖22是示出了根據(jù)本發(fā)明第四實施例的存儲器300和存儲器的控制器200的構(gòu)造示例的示意框圖。
[0042]圖23是示出了根據(jù)本發(fā)明第五實施例的存儲器300的構(gòu)造示例的示意框圖。
[0043]圖24是示出了根據(jù)本發(fā)明第六實施例的存儲器300的構(gòu)造示例的示意框圖。
【具體實施方式】
[0044]在下文中,說明了本發(fā)明的一些實施方式(下文稱為“實施例”)。
[0045]信息處理系統(tǒng)的構(gòu)造
[0046]圖1是示出了根據(jù)本發(fā)明的實施例的信息處理系統(tǒng)的構(gòu)造示例的示意框圖。該信息處理系統(tǒng)由主機計算機100和存儲器系統(tǒng)400構(gòu)成。存儲器系統(tǒng)400由存儲器300和存儲器控制器200構(gòu)成。
[0047]主機計算機100發(fā)出用于請求對存儲器系統(tǒng)400進行數(shù)據(jù)讀取/寫入等的指令。在本發(fā)明的這個實施例中,主要關注寫入指令的發(fā)出。
[0048]假設存儲器300由非易失性存儲器構(gòu)成,且具體地由能夠以小的單位進行高速隨機存取的非易失性隨機存取存儲器(NVRAM)構(gòu)成。NVRAM的示例可以包括電阻式ReRAM、相變式PCRAM以及磁阻變化式MRAM等。
[0049]存儲器控制器200響應于源自主機計算機100的請求來控制存儲器300。存儲器控制器200與主機計算機100側(cè)之間的接口(I / F)是指主機接口 201,并且其與存儲器300側(cè)之間的接口是指存儲器接口 202。
[0050]圖2是示出示根據(jù)本發(fā)明實施例的功能性構(gòu)造示例的示意框圖。圖2示出了存儲器單元陣列31、部分單位緩沖器32、請求生成部21以及寫入控制部35。存儲器單元陣列31布置于存儲器300中。部分單位緩沖器32、請求生成部21以及寫入控制部35布置于存儲器300或存儲器控制器200中。
[0051]存儲器單元陣列31是由非易失性存儲器構(gòu)成的存儲器單元的集合,其能實現(xiàn)對單個寫入單位的一次寫入。在本例中,將存儲器單元陣列31劃分成四個部分陣列,即,部分陣列O至部分陣列3,并且將被指定到每個部分單位(經(jīng)四份地劃分后的寫入單位)的數(shù)據(jù)彼此獨立地寫入。將存儲器單元陣列31中的部分陣列O至部分陣列3的繁忙狀態(tài)分別作為BusyO信號至Busy3信號提供給請求生成部21。
[0052]部分單位緩沖器32是用于保持被指定到部分單位(經(jīng)劃分的寫入單位)的數(shù)據(jù)的緩沖器。當生成對存儲器單元陣列31寫入的請求時,如果存儲器單元陣列31指示寫入單位中的一部分部分單位處于繁忙狀態(tài),那么將被指定到該一部分部分單位的數(shù)據(jù)保持在部分單位緩沖器32中。另一方面,將被指定到如下部分單位的數(shù)據(jù)傳輸?shù)酱鎯ζ鲉卧嚵?1,該部分單位被存儲器單元陣列31指示為處于就緒狀態(tài)。將部分單位緩沖器32的數(shù)據(jù)保持狀態(tài)作為Bufstat信號提供給請求生成部21。
[0053]當主機計算機100發(fā)出寫入指令時,請求生成部21基于Bufstat信號和BusyO至Busy3信號生成對存儲器單元陣列31中的寫入單位寫入的請求。即使存儲器單元陣列31指示任意部分單位處于繁忙狀態(tài),但如果在部分單位緩沖器32能夠保持被指定到這些部分單位的數(shù)據(jù)的情況成立的話,請求生成部21仍生成對寫入單位寫入的請求。換言之,當Bufstat信號指示滿狀態(tài)時,請求生成部21不生成寫入請求。另外,當Bufstat信號指示空狀態(tài)并且BusyO至Busy3信號中至少兩者指示繁忙狀態(tài)時,請求生成部21同樣也不生成寫入請求。另一方面,當Bufstat信號指示空狀態(tài)并且BusyO至Busy3信號中不超過一者指示繁忙狀態(tài)時,請求生成部21生成寫入請求。注意,當請求生成部21不生成寫入請求時,其被設置成待命狀態(tài)直到Bufstat信號以及BusyO至Busy3信號滿足上述條件為止。另外,在本例中,假設部分單位緩沖器32的保持容量為一個部分單位。
[0054]在生成對寫入單位寫入的請求時,寫入控制部35控制被指定到部分單位的數(shù)據(jù)。更具體地,寫入控制部35控制部分單位緩沖器32以使其保持被指定到被存儲器單元陣列31中的部分陣列指示為處于繁忙狀態(tài)的部分單位的數(shù)據(jù)。另外,寫入控制部35將被指定到被存儲器單元陣列31中的部分陣列指示為處于就緒狀態(tài)的部分單位的數(shù)據(jù)傳輸?shù)酱鎯ζ鲉卧嚵?1。隨后,對于與已取消繁忙狀態(tài)的部分陣列相對應的部分單位,當下一數(shù)據(jù)被保持在部分單位緩沖器32中時,寫入控制部35將該數(shù)據(jù)從部分單位緩沖器32傳輸?shù)酱鎯ζ鲉卧嚵?1。[0055]在下文中,在上述信息處理系統(tǒng)及其功能性構(gòu)造的前提下說明本發(fā)明的一些實施例。以下面的給出的順序來說明本發(fā)明的一些實施例。
[0056]1.第一實施例(將以頁為基礎的寫入存取劃分成以子頁為基礎的寫入存取的示例)
[0057]2.第二實施例(針對每個塊來劃分跨塊的寫入存取的示例)
[0058]3.第三實施例(將Busy信號一起放在存儲器中的示例)
[0059]4.第四實施例(在存儲器控制器側(cè)管理頁緩沖器的示例)
[0060]5.第五實施例(每個塊共用多個頁緩沖器的示例)
[0061]6.第六實施例(每個塊群組共用頁緩沖器的示例)
[0062]1.第一實施例
[0063][存儲器的構(gòu)造]
[0064]圖3是示出了根據(jù)本發(fā)明第一實施例的存儲器300的構(gòu)造示例的示意框圖。存儲器300包括存儲器單元陣列310、子頁緩沖器320、子頁地址緩沖器330、分配器340以及控制器接口電路390。
[0065]存儲器單元陣列310是由非易失性存儲器構(gòu)成的存儲器單元的集合,并且其能夠進行單個頁的一次寫入。在本例中,存儲器單元陣列310以如下方式來配置,即,將被指定到每個子頁(經(jīng)四劃分的頁)的數(shù)據(jù)彼此獨立地寫入。將存儲器單元陣列310中各個子頁的繁忙狀態(tài)作為各個BusyO至Busy3信號提供給控制器接口電路390。在本發(fā)明的第一實施例中,主要關注這種子頁(經(jīng)劃分的頁)的寫入繁忙時間的變化。
[0066]子頁緩沖器320是用于保持被指定到子頁的數(shù)據(jù)的緩沖器。當生成對存儲器單元陣列310寫入的請求時,如果存儲器單元陣列310指示整個頁中一部分子頁處于繁忙狀態(tài),則將被指定至這些子頁的數(shù)據(jù)保持在子頁緩沖器320中。另一方面,將被指定到被存儲器單元陣列310指示為處于就緒狀態(tài)的子頁的數(shù)據(jù)傳輸?shù)酱鎯ζ鲉卧嚵?10。將子頁緩沖器320的數(shù)據(jù)保持狀態(tài)作為Bufstat信號提供給控制器接口電路390。
[0067]子頁地址緩沖器330是用于保持子頁緩沖器320中所保持的數(shù)據(jù)在存儲器單元陣列310上的地址的緩沖器。換言之,子頁地址緩沖器330指示數(shù)據(jù)被指定到哪一頁的哪一子頁。
[0068]分配器340將被指定到與寫入請求有關的頁中所包含的子頁的數(shù)據(jù)或被指定到子頁緩沖器320中所保持的子頁的數(shù)據(jù)分配到存儲器單元陣列310中的相應子頁地址。在對被指定到與寫入請求有關的頁中所包含的子頁的數(shù)據(jù)進行分配時,參照與寫入請求有關的地址。在對被指定到子頁緩沖器320中所保持的子頁的數(shù)據(jù)進行分配時,參照子頁地址緩沖器330中保持的地址。
[0069]控制器接口電路390是負責與存儲器控制器200之間的交互的電路??刂破鹘涌陔娐?90經(jīng)由請求/地址信號線(Rqt / Adr)以及數(shù)據(jù)信號線(Data)接收由存儲器控制器200生成的寫入請求。在這種前提下,一旦主機計算機100發(fā)出寫入指令,存儲器控制器200基于Bufstat信號以及BusyO至Busy3信號生成對存儲器單元陣列310中的寫入單位寫入的請求。換言之,當Bufstat信號指示滿狀態(tài)時,存儲器控制器200不生成寫入請求。另外,當Bufstat信號指示空狀態(tài)且BusyO至Busy3信號中至少兩者指示繁忙狀態(tài)時,存儲器控制器200同樣也不生成寫入請求。另一方面,當Bufstat信號指示空狀態(tài)且BusyO至Busy3信號中不多于一者指示繁忙狀態(tài)時,存儲器控制器200生成寫入請求。注意,當存儲器控制器200不生成寫入請求時,其置于待命狀態(tài)直到Bufstat信號和BusyO至Busy3信號滿足上述的條件為止。另外,控制器接口電路390將Bufstat信號和BusyO至Busy3信號傳送到存儲器控制器200。
[0070]另外,當存儲器控制器200生成到對寫入單位寫入的請求時,控制器接口電路390控制被指定到子頁的數(shù)據(jù)。更具體地,控制器接口電路390控制子頁緩沖器320以使其保持被指定到由存儲器單元陣列310指示繁忙狀態(tài)的子頁的數(shù)據(jù)。此外,控制器接口電路390將被指定到被存儲器單元陣列310指示為處于就緒狀態(tài)的子頁的數(shù)據(jù)傳輸?shù)酱鎯ζ鲉卧嚵?10。隨后,對于已取消繁忙狀態(tài)的子頁,當下一數(shù)據(jù)被保持在子頁緩沖器320中時,控制器接口電路390將該數(shù)據(jù)從子頁緩沖器320傳輸?shù)酱鎯ζ鲉卧嚵?10。
[0071]注意,存儲器單元陣列31被實現(xiàn)成具有上述功能性構(gòu)造中的存儲器單元陣列310的功能。部分單位緩沖器32被實現(xiàn)成具有上述功能性構(gòu)造中的子頁緩沖器320的功能。另夕卜,請求生成部21被實現(xiàn)成具有上述功能性構(gòu)造中的存儲器控制器200的功能。此外,寫入控制部35被實現(xiàn)成具有上述功能性構(gòu)造中的控制器接口電路390和分配器340的功能。
[0072]圖4是示出了根據(jù)本發(fā)明第一實施例的存儲器300的頁地址的指定示例的示意框圖。在根據(jù)本發(fā)明第一實施例的存儲器300中,整個存儲器空間是以頁為基礎的線性地址空間。子頁是通過將頁劃分成四份而獲得的。
[0073][操作時序]
[0074]圖5是示出了根據(jù)本發(fā)明第一實施例的操作時序的示例的時序圖。圖5示出如下方式的連續(xù)頁寫入操作,即,例如,經(jīng)由數(shù)據(jù)信號線傳輸?shù)捻摂?shù)據(jù)DataO、Datal和Data2被分別寫入到頁O、頁I和頁2。在接收到頁數(shù)據(jù)時,存儲器300同時開始所有子頁的寫入處理操作,并且所有子頁的BusyO至Busy3信號變成用于指示寫入操作正在進行中的繁忙狀態(tài)。
[0075]在本例中,盡管在寫入DataO時子頁2的寫入繁忙時間增加,但由于存在子頁緩沖器320的原因而在完成任何其他子頁的寫入操作的時刻將下一頁數(shù)據(jù)Datal從存儲器控制器200傳輸?shù)酱鎯ζ?00。此時,Datal中包含的子頁2的數(shù)據(jù)被保持在子頁緩沖器320中,并且用于指示數(shù)據(jù)的寫入目的地的地址信息被保持在子頁地址緩沖器330中。結(jié)果,Bufstat信號改變?yōu)镠igh狀態(tài)以用于指示子頁緩沖器320置于滿狀態(tài)。
[0076]在完成將DataO寫入子頁2時,保持在子頁緩沖器320的Datal的子頁數(shù)據(jù)與地址信息一起被立即傳輸?shù)阶禹?在存儲器單元陣列310上的位置,從而開始下一處理操作。此時,用于指示空的子頁緩沖器320的狀態(tài)的Bufstat信號改變?yōu)長ow狀態(tài)。
[0077]盡管在寫入Data2時,子頁I的寫入繁忙時間增加,但子頁緩沖器320置于空狀態(tài),且因而存儲器控制器200將下一頁數(shù)據(jù)Data3傳輸至存儲器300。Data3中所包含的子頁I的數(shù)據(jù)被保持在子頁緩沖器320,并且用于指示數(shù)據(jù)的寫入目的地的地址信息被保持在子頁地址緩沖器330中。
[0078]圖6A和6B均為示出了本發(fā)明第一實施例中的效果的概要的示意圖。注意,每幅附圖未包含將數(shù)據(jù)傳輸?shù)酱鎯ζ鲉卧嚵?10和子頁緩沖器320的時間。
[0079]在每幅附圖中,假設同時并連續(xù)地對每個被劃分成四個子頁的頁實施四次寫入操作。如圖6A所示,在現(xiàn)有方法中,每個寫入操作中,一個子頁的寫入繁忙時間增加了,那么整個寫入性能便由該寫入時間來決定。這里,在假設繁忙時間是普通繁忙時間的長度的兩倍的情況下,這總共等于八倍的繁忙時間。另一方面,如果能夠在子頁緩沖器320上接收被指定到增加了寫入繁忙時間的子頁的數(shù)據(jù),那么下一頁數(shù)據(jù)被允許寫入到寫入操作被預先完成的子頁。如圖6B所示,在假設具有較長寫入時間的存儲器單元沒有集中在單個子頁上的前提下,那么,能夠以六倍的繁忙時間完成寫入操作,這帶來性能的改善。.[0080][處理步驟]
[0081]圖7是示出根據(jù)本發(fā)明第一實施例的接收寫入指令時的處理步驟的示例的流程圖。接收寫入指令時的處理步驟由存儲器控制器200來實施。這里,假設允許在子頁緩沖器320上保持被指定到一個子頁的數(shù)據(jù)。
[0082]首先,將與寫入指令有關的首個頁號設置至變量"P"(步驟S911)。對于該變量"P",設立每當一個頁的處理操作完成時便增加I的值(步驟S916)。
[0083]存儲器控制器200根據(jù)Bufstat信號以及BusyO至Busy3信號決定是否生成寫入請求(步驟S912)。更具體地,當Bufstat信號指示滿狀態(tài)時,存儲器控制器200決定維持待命狀態(tài)而不生成寫入請求。另外,當Bufstat信號指示空狀態(tài)且BusyO至Busy3信號中至少兩者指示繁忙狀態(tài)時,存儲器控制器200同樣也決定維持待命狀態(tài)而不生成寫入請求。另一方面,當Bufstat信號指示空狀態(tài)且BusyO至Busy3信號中不多于一者指示繁忙狀態(tài)時,存儲器控制器200決定生成寫入請求。
[0084]當決定維持待命狀態(tài)而不生成寫入請求時(步驟S912:否),存儲器控制器200維持待命狀態(tài)直到滿足生成寫入請求的條件。另一方面,當決定生成寫入請求時(步驟S912:是),存儲器控制器200以頁為基礎生成寫入請求(步驟S913)。在這種情況下,將寫入請求參數(shù)一并傳輸。隨后,經(jīng)由存儲器接口 202將頁數(shù)據(jù)從存儲器控制器200傳輸?shù)酱鎯ζ?00 (步驟 S914)。
[0085]當寫入指令同樣被應用到已處理的頁之后的頁時(步驟S915:是),變量"P"增加I (步驟S916),并且重復下一頁的處理操作。當寫入指令未被應用到下一頁時(步驟S915:否),則處理步驟完成。
[0086]圖8是示出了根據(jù)本發(fā)明第一實施例的寫入請求的處理步驟的示例的流程圖。該寫入請求的處理步驟由控制器接口電路390和分配器340來實施。
[0087]在生成寫入請求時,與寫入請求有關的首個子頁號被設置至變量"s"(步驟S921)。這里,將"O"假設成首個子頁號。對于該變量"s",設立每當一個子頁的處理操作完成時便增加I的值(步驟S929)。
[0088]在存儲器單元陣列310中,如果子頁"s"未置于繁忙狀態(tài)(步驟S922:否),那么,將數(shù)據(jù)與地址傳輸?shù)酱鎯ζ鲉卧嚵?10(步驟S923),并開始子頁"s"的寫入操作(步驟 S924)。
[0089]相反,在存儲器單元陣列310中,當子頁"s"置于繁忙狀態(tài)時(步驟S922:是),確定子頁緩沖器320是否置于滿狀態(tài)(步驟S925)。如果子頁緩沖器320已置于滿狀態(tài)(步驟S925:是),那么,重復繼步驟S922之后的處理步驟。如果子頁緩沖器320未置于滿狀態(tài)(步驟S925:否),那么,將數(shù)據(jù)保持在子頁緩沖器320中,并且將子頁號"s"以及地址保持在子頁地址緩沖器330中(步驟S926)。其后,子頁緩沖器320的空狀態(tài)被取消并將置于滿狀態(tài)(步驟S927)。這將Bufstat信號置于滿狀態(tài)。[0090]當寫入請求被同樣應用到已處理的子頁之后的子頁時(步驟S928:是),變量"s"增加1(步驟S929),并重復下一頁的處理操作。當未將寫入請求應用到下一頁時(步驟S928:否),則處理步驟完成。
[0091]注意,盡管可以彼此并行地交替實施每一子頁的處理步驟,但為了方便起見,這里說明了每一子頁的連續(xù)的處理步驟。
[0092]圖9是示出了根據(jù)本發(fā)明第一實施例的釋放子頁緩沖器320的處理步驟的示例的流程圖。釋放子頁緩沖器320的處理步驟由控制器接口電路390以及分配器340來實施。
[0093]在存儲器單元陣列310中,在任何一個的子頁的寫入處理操作完成時,便獲得已完成處理操作的該子頁的子頁號"e"(步驟S931)。另外,當被指定到子頁"e"的數(shù)據(jù)被保持在子頁緩沖器320時(步驟S932:是),實施以下步驟。
[0094]從子頁緩沖器320傳輸數(shù)據(jù),并且從子頁地址緩沖器330傳輸?shù)刂?步驟S933)。隨后,取消子頁緩沖器320的滿狀態(tài)以將其置于空狀態(tài)(步驟S934)。這將Bufstat信號置于空狀態(tài)。其后,開始存儲器單元陣列310中的子頁"e"的寫入處理操作(步驟S935)。
[0095]相反,當被指定到子頁"e"的數(shù)據(jù)未被保持在子頁緩沖器320中時(步驟S932:否),處理操作完成。
[0096]如上所述,根據(jù)本發(fā)明的第一實施例,在存儲器單元陣列310中,即使當被寫入的頁中的一部分子頁被指示為處于繁忙狀態(tài),只要子頁緩沖器320可用,仍能夠繼續(xù)寫入處
理操作。
[0097]2.第二實施例
[0098][存儲器的構(gòu)造]
[0099]圖10是示出了根據(jù)本發(fā)明第二實施例的存儲器300的構(gòu)造示例的示意框圖。存儲器300包括存儲器單元陣列311、頁緩沖器321、頁地址緩沖器331、分配器341以及控制器接口電路391。
[0100]存儲器單元陣列311是由非易失性存儲器構(gòu)成的存儲器單元的集合,并且能夠進行多個頁的一次寫入。在本例中,將存儲器單元陣列311劃分成四個塊,并配置成如下方式,即,彼此獨立地寫入單個頁的每一數(shù)據(jù)。將存儲器單元陣列311中各個塊的繁忙狀態(tài)作為各個BusyO至Busy3信號提供給控制器接口電路391。在本發(fā)明第二實施例中,主要關注這種多塊構(gòu)造中的寫入繁忙時間的變化。
[0101]頁緩沖器321是用于保持被指定到頁的數(shù)據(jù)的緩沖器。當生成對存儲器單元陣列311寫入的請求時,如果存儲器單元陣列311指示一部分塊處于繁忙狀態(tài),那么將被指定到該部分塊的數(shù)據(jù)保持在頁緩沖器321中。另一方面,將被指定到被存儲器單元陣列311指示為處于就緒狀態(tài)的塊的數(shù)據(jù)傳輸?shù)酱鎯ζ鲉卧嚵?11。將頁緩沖器321的數(shù)據(jù)保持狀態(tài)作為Bufstat信號提供給控制器接口電路391。
[0102]頁地址緩沖器331是用于保持頁緩沖器321中所保持的數(shù)據(jù)在存儲器單元陣列311上的地址的緩沖器。換言之,頁地址緩沖器331指示數(shù)據(jù)被指定到哪一頁。
[0103]分配器341將被指定到與寫入請求有關的頁的數(shù)據(jù)或被指定到頁緩沖器321中所保持的頁的數(shù)據(jù)分配到存儲器單元陣列311上的相應塊地址。在對被指定與寫入請求有關的頁的數(shù)據(jù)的進行分配時,參照與寫入請求有關的地址。在對被指定到頁緩沖器321中所保持的頁的數(shù)據(jù)進行分配中,參照頁地址緩沖器331中所保持的地址。[0104]控制器接口電路391是負責與存儲器控制器200之間的交互的電路??刂破鹘涌陔娐?91經(jīng)由請求/地址信號線(Rqt / Adr)以及數(shù)據(jù)信號線(Data)接收由存儲器控制器200生成的寫入請求。在這種前提下,一旦主機計算機100發(fā)出寫入指令,存儲器控制器200就基于Bufstat信號以及BusyO至Busy3信號生成對存儲器單元陣列311中的寫入單位寫入的請求。換言之,當Bufstat信號指示滿狀態(tài)時,存儲器控制器200不生成寫入請求。另外,當Bufstat信號指示空狀態(tài)并且BusyO至Busy3信號中至少兩者指示繁忙狀態(tài)時,存儲器控制器200同樣也不生成寫入請求。另一方面,當Bufstat信號指示空狀態(tài)并且BusyO至Busy3信號中不多于一者指示繁忙狀態(tài)時,存儲器控制器200生成寫入請求。注意,當存儲器控制器200不生成寫入請求時,其置于待命狀態(tài)直到Bufstat信號以及BusyO至Busy3信號滿足上述條件為止。另外,控制器接口電路391將Bufstat信號以及BusyO至Busy3信號傳送至存儲器控制器200。
[0105]另外,當存儲器控制器200生成對寫入單位寫入的請求時,控制器接口電路391控制被指定到與寫入請求有關的頁的數(shù)據(jù)。更具體地,控制器接口電路391控制頁緩沖器321,以使其保持被指定到與存儲器單元陣列311中的被指示為處于繁忙狀態(tài)的塊相對應的頁的數(shù)據(jù)。此外,控制器接口電路391將被指定到與存儲器單元陣列311中的被指示為處于就緒狀態(tài)的塊相對應的頁的數(shù)據(jù)傳輸?shù)酱鎯ζ鲉卧嚵?11。隨后,對于已取消繁忙狀態(tài)的塊,當下一數(shù)據(jù)被保持在頁緩沖器321中時,控制器接口電路391將該數(shù)據(jù)從頁緩沖器321傳輸?shù)酱鎯ζ鲉卧嚵?11。
[0106]注意,存儲器單元陣列31被實現(xiàn)成具有上述功能性構(gòu)造中的存儲器單元陣列311的功能。部分單位緩沖器32被實現(xiàn)成具有上述功能性構(gòu)造中的子頁緩沖器321的功能。另夕卜,請求生成部21被實現(xiàn)成具有上述功能性構(gòu)造中的存儲器控制器200的功能。此外,寫入控制部35被實現(xiàn)成具有上述功能性構(gòu)造中的控制器接口電路391和分配器341的功能。
[0107]圖11是示出了根據(jù)本發(fā)明第二實施例的存儲器300的頁地址的指定示例的示意框圖。在根據(jù)本發(fā)明第二實施例的存儲器300中,每個塊的存儲器空間具有使用頁作為共同單位的地址空間,并且這種地址空間從外部被視為是在從塊O至塊3的方向上針對每一頁列重復的地址空間。因此,在連續(xù)的頁寫入操作時,以如下方式實現(xiàn)高速寫入操作,即,四個頁的數(shù)據(jù)被同時寫入到四個塊。
[0108]另外,每個塊中處于共同地址位置上的頁被稱為頁組。比如,頁O至頁3屬于頁組0,并且頁4至頁7屬于頁組1,而頁8至頁11屬于頁組2。
[0109][操作時序]
[0110]圖12是示出了根據(jù)本發(fā)明第二實施例的操作時序的示例的時序圖。以如下方式實施連續(xù)的頁寫入操作,即,比如,經(jīng)由數(shù)據(jù)信號線傳輸?shù)腄ataO、Datal、Data2、Data3以及Data4被分別寫入到塊O、塊1、塊2、塊3以及塊O。在基于與所有塊相對應的四個頁接收寫入數(shù)據(jù)時,同時開始四個塊的頁的寫入處理操作,并且所有頁的BusyO至Busy3信號變?yōu)榉泵顟B(tài),以用于指示寫入操作正在進行中。
[0111]在本例中,盡管在寫入頁數(shù)據(jù)DataO至Data3時被寫入到塊2的Data2的寫入繁忙時間增加,但由于存在頁緩沖器321的原因而在其他塊的寫入操作完成的時刻將下一頁數(shù)據(jù)Data4至Data7從存儲器控制器200傳輸?shù)酱鎯ζ?00。這時,待被寫入塊2的頁數(shù)據(jù)Data6被保持在頁緩沖器321中,并且塊2的信息作為數(shù)據(jù)的寫入目的地及其頁地址信息被保持在頁地址緩沖器331中。結(jié)果,Bufstat信號改變成High狀態(tài),以用指示頁緩沖器321置于滿狀態(tài)。
[0112]在被寫入有頁數(shù)據(jù)Data2的塊2的寫入繁忙狀態(tài)結(jié)束時,被保持在頁緩沖器321中的下一頁數(shù)據(jù)Data6與頁地址信息一起被立即傳輸?shù)綁K2,從而開始下一寫入處理操作。此時,用于指示空的頁緩沖器321的狀態(tài)的Bufstat信號改變成Low狀態(tài)。
[0113]盡管在寫入頁數(shù)據(jù)Data8至Datall時待被寫入塊I的Data9的寫入繁忙時間增力口,但是,頁緩沖器321已置于空狀態(tài),并由此存儲器控制器200將下一頁數(shù)據(jù)Datal2至Datal5傳輸?shù)酱鎯ζ?00。此時,待被寫入到正在進行寫入操作的塊I的頁數(shù)據(jù)Datal3被保持在頁緩沖器321中,并且塊I的信息作為數(shù)據(jù)的寫入目的地及其頁地址信息被保持在頁地址緩沖器331中。
[0114][處理步驟]
[0115]圖13是示出了根據(jù)本發(fā)明第二實施例的寫入指令的接收時的處理步驟的示例的流程圖。由存儲器控制器200來實施接收該寫入指令時的處理步驟。這里,假設允許在頁緩沖器321中保持被指定至單個頁的數(shù)據(jù)。
[0116]首先,將與寫入指令有關的首個頁組號設置至變量"P",并且作為待被寫入的塊的首個塊號的"O"被設置至變量"b"(步驟S941)。對于變量"b",設立每當一個塊的處理操作完成時便增加I的值(步驟S946)。另外,對于變量"P",設立每當一個頁組的處理操作完成時便增加I的值(步驟S948)。
[0117]通過參照Bufstat信號和BusyO至Busy3信號,存儲器控制器200決定是否生成寫入請求(步驟S942)。更具體地,當Bufstat信號指示滿狀態(tài)時,存儲器控制器200決定維持待命狀態(tài)而不生成寫入請求。另外,當Bufstat信號指示空狀態(tài)并且BusyO至Busy3信號中至少兩者指示繁忙狀態(tài)時,存儲器控制器200也同樣決定維持待命狀態(tài)而不生成寫入請求。另一方面,當Bufstat信號指示空狀態(tài)并且BusyO至Busy3信號中不多于一者指示繁忙狀態(tài)時,存儲器控制器200決定生成寫入請求。
[0118]當決定維持待命狀態(tài)而不生成寫入請求時(步驟S942:否),存儲器控制器200維持待命狀態(tài)直到滿足生成寫入請求的條件為止。另一方面,當決定生成寫入請求時(步驟S942:是),存儲器控制器200以頁為基礎生成寫入請求(步驟S943)。在這種情況下,將寫入請求參數(shù)也一起傳輸。隨后,傳輸頁數(shù)據(jù)(步驟S944)。
[0119]當已處理的頁之后的頁同樣處于相同的頁組之內(nèi)時(步驟S945:是),變量"b"增加I (步驟S946),并且重復下一頁的處理操作。當下一頁不在相同的頁組之內(nèi)時(步驟S945:否),確定是否將寫入指令應用到下一頁組(步驟S947)。
[0120]當將寫入指令應用到下一頁組時(步驟S947:是),變量"P"增加1,并且將作為首個塊號的"O"設置至變量"b"(步驟S948)以重復下一頁組的處理操作。當不將寫入指令應用到下一頁組時(步驟S947:否),處理步驟完成。
[0121]注意,雖然可以彼此并行地交替實施對每一個塊的處理步驟,但為了方便起見,這里說明了每一個塊的連續(xù)的處理步驟。
[0122]圖14是示出了根據(jù)本發(fā)明第二實施例的寫入請求的處理步驟的示例的流程圖。該寫入請求的處理步驟由控制器接口電路391以及分配器341來實施。
[0123]在生成寫入請求時,與寫入請求有關的首個塊號被設置至變量"b"(步驟S951)。這里,"O"被假設作為首個塊號。對于變量"b",設立每當一個塊的處理操作完成時便增加I的值(步驟S959)。
[0124]在存儲器單元陣列311中,如果塊"b"未置于繁忙狀態(tài)(步驟S952:否),那么,將數(shù)據(jù)和地址傳輸?shù)酱鎯ζ鲉卧嚵?11 (步驟S953),并開始塊"b"的寫入操作(步驟S954)。
[0125]相反,在存儲器單元陣列311中,當塊"b"置于繁忙狀態(tài)時(步驟S952:是),決定頁緩沖器321是否置于滿狀態(tài)(步驟S955)。如果頁緩沖器321置于滿狀態(tài)(步驟S955:是),那么,重復繼步驟S952之后的處理步驟。如果頁緩沖器321未置于滿狀態(tài)(步驟S955:否),那么將數(shù)據(jù)保持在頁緩沖器321中,并且將塊號"b"與地址保持在頁地址緩沖器331中(步驟S956)。其后,取消頁緩沖器321的空狀態(tài)以將其置于滿狀態(tài)(步驟S957)。這將Bufstat信號置于滿狀態(tài)。
[0126]當將寫入請求應用到已處理的塊之后的塊時(步驟S958:是),變量"b"增加I (步驟S959),并重復下一個塊的處理操作。當未將寫入請求應用到下一個塊時(步驟S958:否),處理步驟完成。
[0127]注意,盡管可以彼此并行地交替實施每一個塊的處理步驟,但為了方便起見,這里說明了每一個塊的連續(xù)的處理步驟。
[0128]圖15是示出了釋放根據(jù)本發(fā)明第二實施例的頁緩沖器321的處理步驟的示例的流程圖。釋放頁緩沖器321的處理步驟由控制器接口電路391和分配器341來實施。
[0129]在存儲器單元陣列311中,在完成任何一個塊的寫入處理操作時,獲得已完成處理操作的該塊的塊號"e"(步驟S961)。另外,當被指定到塊"e"的數(shù)據(jù)被保持在頁緩沖器321中時(步驟S962:是),實施下面的步驟。
[0130]從頁緩沖器321傳輸數(shù)據(jù),并且從頁地址緩沖器331傳輸?shù)刂?步驟S963)。隨后,取消頁緩沖器321的滿狀態(tài)以將其置于空狀態(tài)(步驟S964)。這將Bufstat信號置于空狀態(tài)。其后,在存儲器單元陣列311中,開始塊"e"的寫入處理操作(步驟S965)。
[0131]相反,當被指定到塊"e"的數(shù)據(jù)未保持在頁緩沖器321中時(步驟S962:否),處理操作完成。
[0132]如上所述,根據(jù)本發(fā)明第二實施例,只要頁緩沖器321是可用的,在存儲器單元陣列311中,即使當待進行寫入的一部分頁被指示為處于繁忙狀態(tài)時,也能夠繼續(xù)寫入處理操作。
[0133]3.第三實施例
[0134][存儲器的構(gòu)造]
[0135]圖16是示出了根據(jù)本發(fā)明第三實施例的存儲器300的構(gòu)造示例的示意框圖。存儲器300包括存儲器單元陣列311、頁緩沖器321、頁地址緩沖器331、分配器341、控制器接口電路392以及繁忙信號生成電路351。除配備了繁忙信號生成電路351之外,根據(jù)本發(fā)明第三實施例的存儲器300與上述的本發(fā)明第二實施例具有幾乎相同的構(gòu)造。
[0136]基于Bufstat信號和BusyO至Busy3信號,繁忙信號生成電路351生成在生成寫入請求時所參照的Busy信號。更具體地,當Bufstat信號指示滿狀態(tài)時,繁忙信號生成電路351將Busy信號置于High狀態(tài)(繁忙狀態(tài))。另外,當Bufstat信號指示空狀態(tài)并且BusyO至Busy3信號中至少兩者指示繁忙狀態(tài)時,繁忙信號生成電路351也同樣將Busy信號置于High狀態(tài)(繁忙狀態(tài))。另一方面,當Bufstat信號指示空狀態(tài)并且BusyO至Busy3信號中不多于一者指示繁忙狀態(tài)時,繁忙信號生成電路351將Busy信號置于Low狀態(tài)(就緒狀態(tài))。圖17示出了 Busy信號的真值表。
[0137]經(jīng)由控制器接口電路392將由繁忙信號生成電路351生成的Busy信號提供給存儲器控制器200。根據(jù)該Busy信號,存儲器控制器200決定是否生成下一頁組的寫入請求。更具體地,如果Busy信號置于就緒狀態(tài),那么存儲器控制器200生成寫入請求,但是,如果Busy信號置于繁忙狀態(tài),則不生成寫入請求。
[0138]本發(fā)明第三實施例包括繁忙信號生成電路351。相較于在本發(fā)明第二實施例中使用四條信號線,第三實施例能夠僅經(jīng)由單條信號線來提供Bufstat信號和BusyO至Busy3信號。換言之,能夠減少存儲器接口 202的信號線數(shù)量。
[0139]注意,存儲器單元陣列31被實現(xiàn)為具有上述功能性構(gòu)造中的存儲器單元陣列311的功能。部分單位緩沖器32被實現(xiàn)為具有頁緩沖器321的功能。另外,請求生成部21被實現(xiàn)為具有上述功能性構(gòu)造中的存儲器控制器200的功能。此外,寫入控制部35被實現(xiàn)為具有上述功能性構(gòu)造中的控制器接口電路392和分配器341的功能。
[0140][操作時序]
[0141]圖18是示出了根據(jù)本發(fā)明第三實施例的操作時序的示例的時序圖。在本發(fā)明第三實施例中,繁忙信號生成電路351根據(jù)Bufstat信號以及BusyO至Busy3信號來生成Busy信號。相應地,存儲器控制器200基于Busy信號來決定是否生成寫入請求。
[0142][處理步驟]
[0143]圖19是根據(jù)本發(fā)明第三實施例的接收寫入指令時的處理步驟的示例的流程圖。接收寫入指令時的處理步驟由控制器接口電路392來實施。
[0144]首先,將與寫入指令有關的首個頁號設置至變量"P"(步驟S971)。對于變量"P",設立每當一個頁的處理操作完成時便增加I的值(步驟S976)。
[0145]通過參照Bufstat信號和BusyO至Busy3信號,繁忙信號生成電路351生成Busy信號。隨后,根據(jù)該Busy信號,存儲器控制器200決定是否生成寫入請求(步驟S972)。更具體地,當Bufstat信號指示滿狀態(tài)時,因為Busy信號停留在繁忙狀態(tài),所以,存儲器控制器200決定維持待命狀態(tài)而不生成寫入請求。另外,當Bufstat信號指示空狀態(tài)并且BusyO至Busy3信號中至少兩者指示繁忙狀態(tài)時,因為Busy信號停留在繁忙狀態(tài),所以,存儲器控制器200也同樣決定維持待命狀態(tài)而不生成寫入請求。另一方面,當Bufstat信號指示空狀態(tài)并且BusyO至Busy3信號中不多于一者指示繁忙狀態(tài)時,因為Busy信號處于就緒狀態(tài),所以,存儲器控制器200決定生成寫入請求。
[0146]當決定維持待命狀態(tài)而不生成寫入請求時(步驟S972:否),存儲器控制器200維持待命狀態(tài)直到滿足生成寫入請求的條件為止。另一方面,當決定生成寫入請求時(步驟S972:是),存儲器控制器200以頁為基礎生成寫入請求(步驟S973)。在這種情況下,將寫入請求參數(shù)也一起傳輸。隨后,傳輸頁數(shù)據(jù)(步驟S974)。
[0147]同樣地,當將寫入指令應用到已處理的頁之后的頁時(步驟S975:是),變量"P"增加1(步驟S976)以重復下一頁的處理操作。當未將寫入指令應用到下一頁時(步驟S975:否),處理步驟完成。
[0148]圖20是示出了根據(jù)本發(fā)明第三實施例的寫入請求的處理步驟的示例的流程圖。寫入請求的處理步驟由控制器接口電路392以及分配器341來實施。
[0149]在生成寫入請求時,將與寫入請求有關的首個塊的號設置至變量"b"(步驟S981)。這里,假設"O"作為首個塊號。對于該變量"b",設立每當一個塊的處理操作完成時便增加I的值(步驟S989)。
[0150]在存儲器單元陣列311中,如果塊"b"未置于繁忙狀態(tài)(步驟S982:否),那么,將數(shù)據(jù)與地址傳輸?shù)酱鎯ζ鲉卧嚵?11 (步驟S983),并開始塊"b"的寫入操作(步驟S984)。
[0151]相反,在存儲器單元陣列311中,當塊"b"置于繁忙狀態(tài)時(步驟S982:是),確定頁緩沖器321是否置于滿狀態(tài)(步驟S985)。如果頁緩沖器321置于滿狀態(tài)(步驟S985:是),那么,重復繼步驟S982之后的處理步驟。如果頁緩沖器321未置于滿狀態(tài)(步驟S985:否),那么,將數(shù)據(jù)保持在頁緩沖器321中,并且將塊號"b"以及地址保持在頁地址緩沖器331中(步驟S986)。其后,取消頁緩沖器321的空狀態(tài)以將其置于滿狀態(tài)(步驟S987)。這將Bufstat信號置于滿狀態(tài)。
[0152]當將寫入請求同樣應用到跟隨著已處理的塊的塊時(步驟S988:是),變量"b"增加I (步驟S989),并且重復下一個塊的處理操作。當未將寫入請求應用到下一個塊時(步驟S988:否),處理步驟完成。
[0153]注意,盡管可以彼此并行地交替實施每一個塊的處理步驟,但為了方便起見,這里說明了每一個塊的連續(xù)的處理步驟。
[0154]圖21是示出了根據(jù)本發(fā)明第三實施例的釋放頁緩沖器321的處理步驟的示例的流程圖。該釋放頁緩沖器321的處理步驟由控制器接口電路392以及分配器341來實施。
[0155]在存儲器單元陣列311中,在完成任何一個塊的寫入處理操作時,獲得了已完成處理操作的塊的塊號"e"(步驟S991)。另外,當將被指定到塊"e"的數(shù)據(jù)保持在頁緩沖器321中時(步驟S992:是),實施以下步驟。
[0156]從頁緩沖器321傳輸數(shù)據(jù),并且從頁地址緩沖器331傳輸?shù)刂?步驟S993)。隨后,取消頁緩沖器321的滿狀態(tài)以將其置于空狀態(tài)(步驟S994)。這將Bufstat信號置于空狀態(tài)。其后,在存儲器單元陣列311中,開始塊"e"的寫入處理操作(步驟S995)。
[0157]相反,當未將被指定到塊"e"的數(shù)據(jù)保持在頁緩沖器321中時(步驟S992:否),處理操作完成。
[0158]如上所述,根據(jù)本發(fā)明第三實施例,通過在多塊構(gòu)造中配備繁忙信號生成電路351,能夠減少存儲器接口 202的信號線的數(shù)量。
[0159]4.第四實施例
[0160][存儲器的構(gòu)造]
[0161]圖22是示出了根據(jù)本發(fā)明第四實施的存儲器300和存儲器控制器200的構(gòu)造示例的示意框圖。在本發(fā)明第四實施例中,存儲器控制器200設置有頁緩沖器220、頁地址緩沖器230以及繁忙信號生成電路250。這些部件中每者的操作與上述本發(fā)明第三實施例相同。
[0162]綜上所述,根據(jù)本發(fā)明第四實施例,通過從存儲器接口 202省略用于Bufstat信號的信號線,能夠減少存儲器接口 202的信號線的數(shù)量。
[0163]5.第五實施例[0164][存儲器的構(gòu)造]
[0165]圖23是示出了根據(jù)本發(fā)明第五實施例的存儲器300的構(gòu)造示例的示意框圖。正如本發(fā)明第二實施例一樣,存儲器300包括存儲器單元陣列311、分配器344以及控制器接口電路394。然而,例外的是,存儲器300還分別包括兩個頁緩沖器A322和B323以及相應的頁地址緩沖器A332和B333。
[0166]在本發(fā)明第五實施例中,不同于本發(fā)明第二實施例的是,通過增加頁緩沖器的容量來改善由塊的繁忙狀態(tài)引起的處理操作中的延遲。維持性能所需要的頁緩沖器的數(shù)量取決于所關注的存儲器的寫入繁忙時間的變化特性。本例示出在如下前提下的構(gòu)造,即,假設在實施四個塊的寫入處理操作時,不多于兩個塊的寫入繁忙時間增加。
[0167]如上所述,根據(jù)本發(fā)明第五實施例,通過增加頁緩沖器的容量,能夠改善由塊的繁忙狀態(tài)引起的處理操作中的延遲。
[0168]6.第六實施例
[0169][存儲器的構(gòu)造]
[0170]圖24是示出了根據(jù)本發(fā)明第六實施例的存儲器300的構(gòu)造示例的示意框圖。在存儲器300中,將存儲器單元陣列劃分成兩個存儲器單元陣列,即存儲器單元陣列312和存儲器單元陣列313,其中,每一個存儲器單元陣列包括頁緩沖器(頁緩沖器A322或頁緩沖器B323)、頁地址緩沖器(頁地址緩沖器A332或頁地址緩沖器B333)以及分配器(分配器342或分配器343)。
[0171]雖然在本發(fā)明第六實施例中,與本發(fā)明第五實施例一樣增加了頁緩沖器的容量,但是,通過限制連接到頁緩沖器的存儲器單元塊陣列的數(shù)量使得芯片上的排布變得容易。
[0172]從上面可以看出,根據(jù)本發(fā)明的上述示例性實施例,通過設置部分單位緩沖器32 (子頁緩沖器320和頁緩沖器321等),即使在一部分寫入單位被指示為處于繁忙狀態(tài)的情況下也盡可能地繼續(xù)寫入處理操作。這能夠改善由繁忙時間的隨機變化引起的寫入性能的劣化。
[0173]注意,上述實施例給出了用于實施本發(fā)明的示例,并且實施例中的內(nèi)容以及所附權利要求中的元件關于彼此具有對應關系。同樣地,所附權利要求中的元件以及與那些元件具有相同的名字的示例性實施例中的內(nèi)容關于彼此具有對應關系。然而,本發(fā)明并不限于上述實施例,而是可以通過給出在其實質(zhì)的范圍內(nèi)的實施例的不同變化來實施。
[0174]另外,在本發(fā)明的上述實施例中說明的處理步驟可以被認為是具有一組這些步驟的方法,或者可以被認為是用于使計算及運行一組這些步驟的程序或者用于存儲這種程序的記錄媒介。例如,可以使用壓縮盤(Compact Disc,⑶)、小型磁盤(MiniDisc,MD)、數(shù)字化通用磁盤(Digital Versatile Disc,DVD)、存儲卡以及藍光光盤(注冊商標)等作為記錄媒介。
[0175]再者,本發(fā)明涵蓋了這里說明以及這里包含的各種實施例中的一些或全部實施例的任何可能性組合。
[0176]從上述公開的示例性實施例,能夠?qū)崿F(xiàn)至少以下構(gòu)造。
[0177](I) 一種存儲控制器件,其包括:
[0178]部分單位緩沖器,其用于保持被指定到部分單位的至少一個數(shù)據(jù),存儲器的寫入單位被劃分成多個所述部分單位;以及[0179]請求生成部,其用于即使所述存儲器指示任一所述部分單位處于繁忙狀態(tài),在所述部分單位緩沖器能夠保持被指定到該部分單位的數(shù)據(jù)的情況下,仍生成所述存儲器的所述寫入單位的寫入請求。
[0180](2)根據(jù)(I)的存儲控制器件,其還包括:
[0181]寫入控制部,其在所述寫入請求的生成的情況下用于使所述部分單位緩沖器保持被指定到被所述存儲器指示為處于繁忙狀態(tài)的部分單位的數(shù)據(jù),并且將被指定到未被所述存儲器指示為處于繁忙狀態(tài)的部分單位的數(shù)據(jù)傳輸?shù)剿龃鎯ζ鳌?br>
[0182](3)根據(jù)(2)的存儲控制器件,其中,在被指定到已取消繁忙狀態(tài)的部分單位的隨后數(shù)據(jù)被保持在所述部分單位緩沖器中時,所述寫入控制部將所述隨后數(shù)據(jù)從所述部分單位緩沖器傳輸?shù)剿龃鎯ζ鳌?br>
[0183](4)根據(jù)⑴至(3)中任意一項的的存儲控制器件,其還包括:
[0184]信號生成部,其用于生成信號,所述信號用于:
[0185]當存在被所述存儲器指示為處于繁忙狀態(tài)的部分單位,并且所述部分單位緩沖器不能保持被指定到該部分單位的數(shù)據(jù)時,指示無效狀態(tài);
[0186]當所述部分單位緩沖器處于空狀態(tài),并且不存在被所述存儲器指示為處于繁忙狀態(tài)的部分單位時,指示有效狀態(tài);以及
[0187]當存在被所述存儲器指示為處于繁忙狀態(tài)的部分單位,并且所述部分單位緩沖器能夠保持該部分單位的數(shù)據(jù)時,指示有效狀態(tài),
[0188]其中,當所述信號指示有效狀態(tài)時,所述請求生成部生成所述寫入單位的所述寫入請求。
[0189](5)根據(jù)(I)至(4)中任意一項的的存儲控制器件,其中,所述部分單位緩沖器保持被指定到所述部分單位的多個數(shù)據(jù)。
[0190](6) 一種存儲器件,其包括:
[0191]存儲器單元陣列,所述存儲器單元陣列的寫入單位被劃分成多個部分單位以存儲數(shù)據(jù);
[0192]部分單位緩沖器,其用于保持被指定到所述部分單位的至少一個數(shù)據(jù);
[0193]請求生成部,其用于即使所述存儲器指示任一所述部分單位處于繁忙狀態(tài),在所述部分單位緩沖器能夠保持被指定到該部分單位的數(shù)據(jù)的情況下,仍生成所述存儲器單元陣列的所述寫入單位的寫入請求;以及
[0194]寫入控制部,其用于在所述寫入請求的生成的情況下,使所述部分單位緩沖器保持被指定到被所述存儲器指示為處于繁忙狀態(tài)的部分單位的數(shù)據(jù),并且將被指定到未被所述存儲器指示為處于繁忙狀態(tài)的部分單位的數(shù)據(jù)傳輸?shù)剿龃鎯ζ鲉卧嚵小?br>
[0195](7)根據(jù)(6)的存儲器件,其中,所述存儲器單元陣列包括具有非易失性存儲器元件的存儲器單元。
[0196](8) 一種信息處理系統(tǒng),其包括:
[0197]存儲器單元陣列,所述存儲器單元陣列的寫入單位被劃分成多個部分單位以存儲數(shù)據(jù);
[0198]主機計算機,其用于發(fā)出所述寫入單位的寫入指令;
[0199]部分單位緩沖器,其用于保持被指定到所述部分單位的至少一個數(shù)據(jù);[0200]請求生成部,其在所述寫入指令發(fā)出的情況下,用于即使所述存儲器指示任一所述部分單位處于繁忙狀態(tài),在所述部分單位緩沖器能夠保持被指定到該部分單位的數(shù)據(jù)的情況下仍生成所述存儲器單元陣列的所述寫入單位的寫入請求;以及
[0201]寫入控制部,其用于在所述寫入請求的生成的情況下,使所述部分單位緩沖器保持被指定到被所述存儲器指示為處于繁忙狀態(tài)的部分單位的數(shù)據(jù),并且將被指定到未被所述存儲器指示為處于繁忙狀態(tài)的部分單位的數(shù)據(jù)傳輸?shù)剿龃鎯ζ鲉卧嚵小?br>
[0202](9) 一種存儲控制方法,其包括:
[0203]即使存儲器指示通過對存儲器的寫入單位進行劃分而成的部分單位中的任一部分單位處于繁忙狀態(tài),在部分單位緩沖器能夠保持被指定到該部分單位的數(shù)據(jù)的情況下,仍生成所述存儲器的所述寫入單位的寫入請求;以及
[0204]在所述寫入請求的生成的情況下,執(zhí)行寫入控制,以使所述部分單位緩沖器保持被指定到被指示為處于繁忙狀態(tài)的部分單位的數(shù)據(jù),并且將被指定到未被指示為處于所述繁忙狀態(tài)的部分單位的數(shù)據(jù)傳輸?shù)剿龃鎯ζ鳌?br>
[0205]本領域的技術人員應當理解,在所附的權利要求及其等同物的范圍之內(nèi),根據(jù)設計要求和其他因素可以出現(xiàn)不同的變形例、合并、子合并以及改變。
[0206]本申請要求于2013年3月7日提交的日本在先專利申請JP2013-045125的權益,其全部內(nèi)容通過引用的方式合并入本文。
【權利要求】
1.一種存儲控制器件,其包括: 部分單位緩沖器,其用于保持被指定到部分單位的至少一個數(shù)據(jù),存儲器的寫入單位被劃分成多個所述部分單位;以及 請求生成部,其用于即使所述存儲器指示任一所述部分單位處于繁忙狀態(tài),在所述部分單位緩沖器能夠保持被指定到該部分單位的數(shù)據(jù)的情況下,仍生成所述存儲器的所述寫入單位的寫入請求。
2.根據(jù)權利要求1所述的存儲控制器件,其還包括: 寫入控制部,其在所述寫入請求的生成的情況下用于使所述部分單位緩沖器保持被指定到被所述存儲器指示為處于繁忙狀態(tài)的部分單位的數(shù)據(jù),并且將被指定到未被所述存儲器指示為處于繁忙狀態(tài)的部分單位的數(shù)據(jù)傳輸?shù)剿龃鎯ζ鳌?br>
3.根據(jù)權利要求2所述的存儲控制器件,其中,在被指定到已取消繁忙狀態(tài)的部分單位的隨后數(shù)據(jù)被保持在所述部分單位緩沖器中時,所述寫入控制部將所述隨后數(shù)據(jù)從所述部分單位緩沖器傳輸?shù)剿龃鎯ζ鳌?br>
4.根據(jù)權利要求1-3中任一項所述的所述存儲控制器件,其還包括: 信號生成部,其用于生成信號,所述信號用于: 當存在被所述存儲器指示為處于繁忙狀態(tài)的部分單位,并且所述部分單位緩沖器不能保持被指定到該部分單位的數(shù)據(jù)時,指示無效狀態(tài); 當所述部分單位緩沖器處于空狀態(tài),并且不存在被所述存儲器指示為處于繁忙狀態(tài)的部分單位時,指示有效狀態(tài);以及 當存在被所述存儲器指示為處于繁忙狀態(tài)的部分單位,并且所述部分單位緩沖器能夠保持該部分單位的數(shù)據(jù)時,指示有效狀態(tài), 其中,當所述信號指示有效狀態(tài)時,所述請求生成部生成所述寫入單位的所述寫入請求。
5.根據(jù)權利要求1-3中任一項所述的存儲控制器件,其中,所述部分單位緩沖器保持被指定到所述部分單位的多個數(shù)據(jù)。
6.—種存儲器件,其包括: 存儲器單元陣列,所述存儲器單元陣列的寫入單位被劃分成多個部分單位以存儲數(shù)據(jù); 部分單位緩沖器,其用于保持被指定到所述部分單位的至少一個數(shù)據(jù); 請求生成部,其用于即使所述存儲器指示任一所述部分單位處于繁忙狀態(tài),在所述部分單位緩沖器能夠保持被指定到該部分單位的數(shù)據(jù)的情況下,仍生成所述存儲器單元陣列的所述寫入單位的寫入請求;以及 寫入控制部,其用于在所述寫入請求的生成的情況下,使所述部分單位緩沖器保持被指定到被所述存儲器指示為處于繁忙狀態(tài)的部分單位的數(shù)據(jù),并且將被指定到未被所述存儲器指示為處于繁忙狀態(tài)的部分單位的數(shù)據(jù)傳輸?shù)剿龃鎯ζ鲉卧嚵小?br>
7.根據(jù)權利要求6所述的存儲器件,其中,在被指定到已取消繁忙狀態(tài)的部分單位的隨后數(shù)據(jù)被保持在所述部分單位緩沖器中時,所述寫入控制部將所述隨后數(shù)據(jù)從所述部分單位緩沖器傳輸?shù)剿龃鎯ζ鲉卧嚵小?br>
8.根據(jù)權利要求6或7所述的所述存儲器件,其還包括:信號生成部,其用于生成信號,所述信號用于: 當存在被所述存儲器單元陣列指示為處于繁忙狀態(tài)的部分單位,并且所述部分單位緩沖器不能保持被指定到該部分單位的數(shù)據(jù)時,指示繁忙狀態(tài); 當所述部分單位緩沖器處于空狀態(tài),并且不存在被所述存儲器單元陣列指示為處于繁忙狀態(tài)的部分單位時,指示就緒狀態(tài);以及 當存在被所述存儲器單元陣列指示為處于繁忙狀態(tài)的部分單位時,并且所述部分單位緩沖器能夠保持該部分單位的數(shù)據(jù)時,指示就緒狀態(tài), 其中,當所述信號指示就緒狀態(tài)時,所述請求生成部生成所述寫入單位的所述寫入請求。
9.根據(jù)權利要求6或7所述的存儲器件,其中,所述部分單位緩沖器保持被指定到所述部分單位的多個數(shù)據(jù)。
10.根據(jù)權利要求6或7所述的存儲器件,其中,所述存儲器單元陣列包括具有非易失性存儲器元件的存儲器單元。
11.一種信息處理系統(tǒng),其包括: 權利要求6-10中任一項所述的存儲器件;和 主機計算機,其用于向所述存儲器件發(fā)出所述寫入單位的寫入指令。
12.—種存儲控制方法,其包括: 即使存儲器指示通過對存儲器的寫入單位進行劃分而成的部分單位中的任一部分單位處于繁忙狀態(tài),在部分單位緩沖器能夠保持被指定到該部分單位的數(shù)據(jù)的情況下,仍生成所述存儲器的所述寫入單位的寫入請求;以及 在所述寫入請求的生成的情況下,執(zhí)行寫入控制,以使所述部分單位緩沖器保持被指定到被指示為處于繁忙狀態(tài)的部分單位的數(shù)據(jù),并且將被指定到未被指示為處于所述繁忙狀態(tài)的部分單位的數(shù)據(jù)傳輸?shù)剿龃鎯ζ鳌?br>
【文檔編號】G06F12/08GK104035878SQ201410069124
【公開日】2014年9月10日 申請日期:2014年2月27日 優(yōu)先權日:2013年3月7日
【發(fā)明者】中西健一, 藤波靖, 石井健, 巖城宏行, 森健太郎 申請人:索尼公司