亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

存儲器控制裝置及其控制方法、主計算機、信息處理系統(tǒng)的制作方法

文檔序號:6622879閱讀:486來源:國知局
存儲器控制裝置及其控制方法、主計算機、信息處理系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及存儲器控制裝置及其控制方法、主計算機、信息處理系統(tǒng)。存儲器控制裝置包括:地址轉換信息保持部分,保持選自包含將邏輯地址與存儲器裝置的物理地址相關聯(lián)的多個條目的地址轉換信息的部分條目;地址轉換信息獲取單元,當包含由主計算機指定的邏輯地址的條目未被保持在所述地址轉換信息保持部分中時,地址轉換信息獲取單元從主計算機獲取未被保持的條目并使地址轉換信息保持部分保持所述條目;地址轉換單元,基于被保持在地址轉換信息保持部分中的條目將指定的邏輯地址轉換為物理地址;以及數(shù)據(jù)傳送單元,執(zhí)行其中傳送數(shù)據(jù)使用所轉換的物理地址來傳送的數(shù)據(jù)傳送過程。
【專利說明】存儲器控制裝置及其控制方法、主計算機、信息處理系統(tǒng)
[0001]相關申請的交叉引用
[0002]本申請要求于2013年8月14日提交的日本在先專利申請JP2013-168419的權益,將其全部內(nèi)容通過引用結合于此。

【技術領域】
[0003]本發(fā)明涉及存儲器控制裝置、主計算機、信息處理系統(tǒng)以及控制存儲器控制裝置的方法。更具體地,本發(fā)明涉及其中的每一個都能夠執(zhí)行地址轉換的存儲器控制裝置、主計算機、信息處理系統(tǒng)和控制存儲器控制裝置的方法。

【背景技術】
[0004]在現(xiàn)有技術中,在存儲器裝置的管理中,執(zhí)行地址轉換以將邏輯地址轉換為存儲器裝置的物理地址。這是因為地址轉換允許靈活程序的設計和非易失性存儲器的硬件評級(ware leveling)。在地址轉換中,通常,使用包含將邏輯地址與物理地址相關聯(lián)的多個條目的地址轉換信息。地址轉換信息的數(shù)據(jù)大小對應于存儲器裝置的存儲容量的增加而增力口。因此,在其中地址轉換裝置(諸如存儲器控制器)保持地址轉換信息的所有條目的配置中,存在將會用盡地址轉換裝置的資源的余量(margin)的問題以及地址轉換裝置的成本將由于資源的增加的供應而增加的問題。
[0005]因此,提出了其中執(zhí)行地址轉換的存儲器控制器保持地址轉換信息的條目的一部分的存儲器系統(tǒng)(例如,參見日本待審專利申請公開N0.2001-142774和日本待審專利申請公開N0.2007-280329)。在存儲器系統(tǒng)中,地址轉換信息中的所有條目與用戶數(shù)據(jù)一起存儲在非易失性存儲器中,并且存儲器控制器讀出一部分條目。存儲器控制器將讀取的條目保持在存儲器控制器本身的隨機訪問存儲器(RAM)中。如果存儲器控制器在RAM中保持包含由主計算機指定的邏輯地址的條目,則存儲器控制器基于條目執(zhí)行地址轉換。同時,如果存儲器控制器未保持包含所指定的邏輯地址的條目,則存儲器控制器從非易失性存儲器中讀取條目并執(zhí)行地址轉換。一旦邏輯地址被轉換為非易失性存儲器的物理地址,則存儲器控制器訪問物理地址并在其本身與非易失性存儲器之間傳送用戶數(shù)據(jù)。


【發(fā)明內(nèi)容】

[0006]然而,在上述現(xiàn)有技術的技術中,存在數(shù)據(jù)的傳送速率將會降低的問題。在上述存儲器系統(tǒng)中,存儲器控制器可能不能從非易失性存儲器中讀取地址轉換信息并且不能同時傳送用戶數(shù)據(jù)。這是因為地址轉換信息和用戶數(shù)據(jù)都經(jīng)由存儲器控制器與非易失性存儲器之間的接口(數(shù)據(jù)線等)來傳送。因此,當讀取地址轉換信息時,存在用戶數(shù)據(jù)的傳送被延遲了讀取地址轉換信息所花費的延遲時間的量的問題。
[0007]期望增加在信息處理系統(tǒng)中的數(shù)據(jù)的傳送速度。
[0008]根據(jù)本公開的實施方式,提供了存儲器控制裝置和控制存儲器控制裝置的方法。存儲器控制裝置包括地址轉換信息保持單元、地址轉換信息獲取單元、地址轉換單元和數(shù)據(jù)傳送單元。地址轉換信息保持單元保持選自地址轉換信息的一部分條目,地址轉換信息包含將邏輯地址與存儲器裝置的物理地址關聯(lián)的多個條目。當在地址轉換信息中未保持包含由主計算機指定的邏輯地址的條目時,地址轉換信息獲取單元從主計算機獲取未被保持的條目并使地址轉換信息保持單元保持該條目。地址轉換單元基于保持在地址轉換信息保持單元中的條目將指定的邏輯地址轉換為物理地址。數(shù)據(jù)傳送單元執(zhí)行其中傳送數(shù)據(jù)使用所轉換的物理地址來傳送的數(shù)據(jù)傳送過程。因此,實現(xiàn)了從主計算機獲取未被保持在地址轉換信息保持單元中的條目并且傳送數(shù)據(jù)被傳送的效果。
[0009]存儲器控制裝置可進一步包括訪問頻率保持單元,對于每個條目,訪問頻率保持單元保持與對應于條目的邏輯地址相關的訪問頻率。數(shù)據(jù)傳送單元可進一步執(zhí)行初始化處理,初始化處理包括選擇部分條目、優(yōu)先訪問頻率高的條目以及使地址轉換信息保持單元保持所選擇的條目的過程。因此,實現(xiàn)了選自部分條目、優(yōu)選訪問頻率高的條目的效果。
[0010]數(shù)據(jù)傳送單元可執(zhí)行初始化處理,初始化處理進一步包括從存儲器裝置中獲取所有條目并將條目傳送至主計算機的處理。因此,實現(xiàn)了來自存儲器裝置的所有條目被傳送到主計算機的效果。
[0011]由主計算機指定的地址可以是物理地址或邏輯地址。當由主計算機指定的地址是邏輯地址時,地址轉換單元可基于條目將被指定的邏輯地址轉換為物理地址。數(shù)據(jù)傳送單元可使用由主計算機指定的物理地址或轉換的物理地址來傳送所述傳送數(shù)據(jù)。因此,實現(xiàn)了使用由主計算機指定的物理地址或轉換的物理地址來執(zhí)行傳送的效果。
[0012]由主計算機指定的地址可以是邏輯地址和物理地址或邏輯地址。當由主計算機指定的地址是邏輯地址和物理地址時,地址轉換單元可基于指定的物理地址更新對應于指定的邏輯地址的條目。因此,實現(xiàn)了以下效果:當指定的地址是邏輯地址和物理地址時,基于指定的物理地址更新對應于所指定的邏輯地址的條目。
[0013]主計算機可為存儲器控制單元提供指定物理地址或邏輯地址的命令以及指示邏輯地址和被新分配給邏輯地址的物理地址的通知。當通知被提供給地址轉換單元時,地址轉換單元可基于由通知所指示的物理地址更新對應于由通知所指示的邏輯地址的條目。因此,實現(xiàn)了以下效果:當提供指示邏輯地址和新分配到邏輯地址的物理地址的通知時,基于由通知所指示的物理地址更新對應于由通知所指定的邏輯地址的條目。
[0014]根據(jù)本發(fā)明另一個實施方式,提供了一種主計算機,其包括保持單元、地址轉換單元和命令單元。保持單元保持包含將邏輯地址與存儲器裝置的物理地址關聯(lián)的多個條目的地址轉換信息。當在存儲器裝置與主計算機之間傳送的傳送數(shù)據(jù)的數(shù)據(jù)大小小于預定大小時,地址轉換單元基于被保持的條目將邏輯地址轉換為物理地址。命令單元指定邏輯地址或所轉換的物理地址并指示存儲器控制裝置傳送所述傳送數(shù)據(jù)。因此,實現(xiàn)了傳送指示邏輯地址或所轉換的物理地址的傳送數(shù)據(jù)的效果。
[0015]主計算機可進一步包括地址轉換信息管理單元,地址轉換信息管理單元為存儲器控制裝置提供指示邏輯地址和被新分配到邏輯地址的物理地址的通知。保持單元可進一步將未被分配邏輯地址的物理地址作為空閑物理地址來保持。當物理地址未與邏輯地址相關聯(lián)時,地址轉換單元可將空閑物理地址重新分配給邏輯地址。因此,實現(xiàn)了以下效果:當物理地址未與邏輯地址相關聯(lián)時,空閑物理地址被重新分配給邏輯地址,并且為存儲器控制裝置提供指示邏輯地址和被新分配到邏輯地址的物理地址的通知。
[0016]當在存儲器裝置與主計算機之間傳送的傳送數(shù)據(jù)的數(shù)據(jù)大小小于預定大小并且物理地址未與邏輯地址相關聯(lián)時,地址轉換單元可基于被保持的條目將邏輯地址轉換為物理地址。因此,實現(xiàn)了以下效果:當傳送數(shù)據(jù)的數(shù)據(jù)大小小于預定大小并且物理地址未與邏輯地址相關聯(lián)時,邏輯地址被轉換為物理地址。
[0017]根據(jù)本發(fā)明的又一實施方式,提供了一種信息處理系統(tǒng),其包括主計算機、地址轉換信息保持單元、地址轉換信息獲取單元、地址轉換單元和數(shù)據(jù)傳送單元。主計算機保持包含將邏輯地址與存儲器裝置的物理地址關聯(lián)的多個條目的地址轉換信息。地址轉換信息保持單元保持選自地址轉換信息的一部分條目。當包含由主計算機指定的邏輯地址的條目未被保持在地址轉換信息保持單元中時,地址轉換信息獲取單元從主計算機獲取未被保持的條目并使地址轉換信息保持單元保持所述條目。地址轉換單元基于保持在地址轉換信息保持單元中的條目將指定的邏輯地址轉換為物理地址。數(shù)據(jù)傳送單元執(zhí)行其中傳送數(shù)據(jù)使用所轉換的物理地址來傳送的數(shù)據(jù)傳送過程。因此,實現(xiàn)了從主計算機中獲取未保持在地址轉換信息保持單元中的條目并傳送所述傳送數(shù)據(jù)的效果。
[0018]根據(jù)本公開,可獲得以下優(yōu)異效果:提高了信息處理系統(tǒng)中的數(shù)據(jù)的傳送速率。

【專利附圖】

【附圖說明】
[0019]圖1是示出第一實施方式中的信息處理系統(tǒng)的實例的整體視圖;
[0020]圖2是示出第一實施方式中的主計算機的配置實例的框圖;
[0021]圖3是示出第一實施方式中的主計算機的功能配置實例的框圖;
[0022]圖4A和圖4B是示出第一實施方式中的傳送命令的數(shù)據(jù)配置的實例的示圖;
[0023]圖5是示出第一實施方式中的地址轉換信息的實例的示圖;
[0024]圖6是示出第一實施方式中的存儲器控制器的配置實例的框圖;
[0025]圖7是示出第一實施方式中的存儲器控制器的功能配置實例的框圖;
[0026]圖8A和圖SB是示出第一實施方式中的傳送請求的數(shù)據(jù)配置的實例的示圖;
[0027]圖9A和圖9B是示出第一實施方式中的被保持在地址轉換信息保持區(qū)和地址轉換信息管理表保持區(qū)中的數(shù)據(jù)的實例的示圖;
[0028]圖10是示出第一實施方式中的被保持在訪問頻率信息保持區(qū)中的數(shù)據(jù)的實例的示圖;
[0029]圖11是示出第一實施方式中的被保持在空閑物理地址信息保持區(qū)中的數(shù)據(jù)的實例的示圖;
[0030]圖12是示出第一實施方式中的非易失性存儲器的配置實例的框圖;
[0031]圖13是示出第一實施方式中的存儲器單元陣列的使用狀態(tài)的實例的示圖;
[0032]圖14是示出第一實施方式中的被保持在管理信息區(qū)中的數(shù)據(jù)的實例的示圖;
[0033]圖15是示出第一實施方式中的物理頁的數(shù)據(jù)配置的實例的示圖;
[0034]圖16是示出第一實施方式中的主機端處理的實例的流程圖;
[0035]圖17是示出第一實施方式中的主機端初始化處理的實例的流程圖;
[0036]圖18是示出第一實施方式中的控制器端處理的實例的流程圖;
[0037]圖19是示出第一實施方式中的控制器端初始化處理的實例的流程圖;
[0038]圖20是示出第一實施方式中的讀取控制處理的實例的流程圖;
[0039]圖21是示出第一實施方式中的數(shù)據(jù)傳送處理的實例的流程圖;
[0040]圖22是示出第一實施方式中的寫入控制處理的實例的流程圖;
[0041]圖23是示出第一實施方式中的空閑物理地址分配處理的實例的流程圖;
[0042]圖24是示出第一實施方式中的初始化過程中的的信息處理系統(tǒng)的操作的序列圖的實例;
[0043]圖25是示出第一實施方式中的用戶數(shù)據(jù)的讀取過程中的信息處理系統(tǒng)的操作的序列圖的實例;
[0044]圖26A和圖26B是示出第一實施方式中的讀取過程中的存儲器控制器的操作的時序圖的實例;
[0045]圖27是示出第二實施方式中的主計算機的功能配置實例的框圖;
[0046]圖28A和圖28B是示出第二實施方式中的傳送命令的數(shù)據(jù)配置的實例的示圖;
[0047]圖29是示出第二實施方式中的主機端處理的實例的流程圖;
[0048]圖30是示出第二實施方式中的主機端初始化處理的實例的流程圖;
[0049]圖31是示出第二實施方式中的控制器端初始化處理的實例的流程圖;
[0050]圖32是示出第二實施方式中的讀取控制處理的實例的流程圖;
[0051]圖33是示出第二實施方式中的寫入控制處理的實例的流程圖;
[0052]圖34是示出第二實施方式中的在初始化過程中的信息處理系統(tǒng)的操作的序列圖的實例;以及
[0053]圖35是示出第二實施方式中的在讀取過程中的信息處理系統(tǒng)的操作的序列圖的實例。

【具體實施方式】
[0054]下文中,將給出用于實現(xiàn)本公開的實施方式(在下文中簡稱為“實施方式”)的描述。將按照以下順序給出描述。
[0055]1.第一實施方式(其中從主計算機獲取地址轉換信息頁的實例)
[0056]2.第二實施方式(其中在被傳送的頁面的數(shù)量很少時主計算機執(zhí)行地址轉換的實例)
[0057]1.第一實施方式
[0058]存儲器系統(tǒng)的配置實例
[0059]圖1是示出第一實施方式中的信息處理系統(tǒng)的配置實例的整體視圖。信息處理系統(tǒng)設置有主計算機100、存儲器控制器200和非易失性存儲器300。
[0060]主計算機100控制整個信息處理系統(tǒng)。主計算機100產(chǎn)生指定邏輯地址的傳送命令和傳送數(shù)據(jù),并將傳送命令和傳送數(shù)據(jù)經(jīng)由信號線109供應到存儲器控制器200。主機計算機100經(jīng)由信號線109從存儲器控制器200接收數(shù)據(jù)或狀態(tài)。數(shù)據(jù)包括傳送數(shù)據(jù)和管理信息。
[0061]在此,邏輯地址是由包括存儲器控制器200和非易失性存儲器300的儲存器所限定的地址空間中的地址。當邏輯地址空間的訪問單元是頁面時,每個頁面的邏輯地址被稱為邏輯頁面地址。
[0062]傳送數(shù)據(jù)例如是由主計算機100中的程序等處理的用戶數(shù)據(jù)。管理信息將在后面詳細描述。傳送命令是用于執(zhí)行數(shù)據(jù)的傳送的命令。例如,傳送命令包括指示數(shù)據(jù)的寫入的寫命令和指示數(shù)據(jù)的讀取的讀命令。狀態(tài)是提供傳送命令的執(zhí)行結果和存儲器控制器200等的狀態(tài)的通知的信息。
[0063]存儲器控制器200控制非易失性存儲器300。在電源接通時等,當由主計算機100指示時存儲器控制器200執(zhí)行初始化處理。在初始化處理中,存儲器控制器200經(jīng)由信號線209從非易失性存儲器300中獲取地址轉換信息,并將地址轉換信息傳送至主計算機100。在此,地址轉換信息是用于將邏輯地址轉換為非易失性存儲器300的物理地址的信息。具體地,地址轉換信息是包含其中物理地址與邏輯地址相關聯(lián)的多個條目的信息。當非易失性存儲器300的訪問單元是頁面時,每個頁面的物理地址被稱為物理頁面地址。
[0064]在初始化處理中,存儲器控制器200選擇并保持來自地址轉換信息的部分條目。不是所有的條目都被保持的原因在于,如上所述,存在將會用盡存儲器控制器200的資源的余量并且存儲器控制器的成本200將會增加的問題。
[0065]在初始化處理之后,一旦存儲器控制器200從主機計算機100接收到傳送命令,存儲器控制器200給予所保持的條目將由傳送命令所指定的邏輯地址轉換為物理地址。當存儲器控制器200未保持包含所指定的邏輯地址的條目時,存儲器控制器200從主計算機100獲取條目。其中執(zhí)行從邏輯地址到物理地址的轉換的處理被稱為地址轉換。由于地址轉換,可以執(zhí)行以下替換(substitut1n)處理:將其中在非易失性存儲器中已經(jīng)出現(xiàn)寫入錯誤的物理頁面排除在被寫入之外,以執(zhí)行其中每個存儲器單元的寫入頻率被平均的硬件評級處理等。
[0066]一旦執(zhí)行地址轉換,存儲器控制器200使用所轉換的物理地址經(jīng)由信號線109和信號線209在主計算機100與非易失性存儲器300之間傳送所述傳送數(shù)據(jù)。
[0067]如上所述,當采用其中存儲器控制器200經(jīng)由信號線109從主計算機100獲取地址轉換信息的條目的配置時,存儲器控制器200可在傳送數(shù)據(jù)的傳送過程中傳送地址轉換信息。這是因為,當存儲器控制器200經(jīng)由信號線209在其本身與非易失性存儲器300之間傳送所述傳送數(shù)據(jù)時,可以經(jīng)由信號線109在存儲器控制器200與主計算機100之間傳送地址轉換信息。以這種方式,由于存儲器控制器200可并行地傳送地址轉換信息和傳送數(shù)據(jù),因此可以抑制傳送數(shù)據(jù)的傳送中的延遲。
[0068]需注意,存儲器控制器200是根據(jù)本公開的實施方式的存儲器控制裝置的實例。
[0069]非易失性存儲器300根據(jù)存儲控制器200的控制存儲數(shù)據(jù)。非易失性存儲器300存儲管理信息和傳送數(shù)據(jù)(用戶數(shù)據(jù))。管理信息包括地址轉換信息、訪問頻率信息和空閑物理地址信息。在此,訪問頻率信息是為地址轉換信息中的每個條目指示訪問對應于該條目的邏輯地址的頻率的信息。空閑物理地址信息是指示未與邏輯地址相關聯(lián)的物理頁面地址的信息。未與邏輯地址相關聯(lián)的物理地址被視為空閑物理地址。非易失性存儲器300根據(jù)存儲器控制器200的控制經(jīng)由信號線209將管理信息提供至存儲器控制器200。非易失性存儲器300根據(jù)存儲器控制器200的控制傳送所述傳送數(shù)據(jù)。
[0070]信息處理系統(tǒng)使非易失性存儲器300存儲數(shù)據(jù);然而,本公開并不限于該配置。在存儲數(shù)據(jù)的存儲器裝置的情況下,也可使除了非易失性存儲器300之外的裝置(例如HDD:硬盤驅動器)存儲數(shù)據(jù)。非易失性存儲器300是根據(jù)本公開的實施方式的存儲器裝置的實例。
[0071]信息處理系統(tǒng)設置有存儲器控制器200,作為控制存儲器裝置的存儲器控制裝置;然而,當使用除了非易失性存儲器之外的存儲裝置時,可提供除了控制器存儲器之外的存儲器控制裝置(諸如HDD控制器)。存儲器控制器200被配置為控制一個非易失性存儲器300 ;然而,也可采用其中控制多個非易失性存儲器300的配置。
[0072]主計算機的配置實例
[0073]圖2是示出第一實施方式中的主計算機100的配置實例的框圖。主計算機100設置有中央處理單元(CPU) 120、RAM130、只讀存儲器(ROM) 111、總線112、存儲器單元113和控制器接口 116。存儲器單元113存儲應用程序114、裝置驅動器115等。
[0074]CPU120控制整個主計算機100。RAMl30臨時地保持在由CPU120執(zhí)行的處理中所需要的數(shù)據(jù)。ROMlll存儲由CPU120執(zhí)行的程序等。總線112是用于CPU120、RAMl30,ROMl 11、存儲器單元113和控制器接口 116的共同路徑,以在彼此之間交換數(shù)據(jù)??刂破鹘涌?116是用于主機計算機100和存儲控制器200的接口,以在彼此之間交換數(shù)據(jù)和命令。
[0075]圖3是示出第一實施方式中的主計算機100的功能配置實例的框圖。主計算機100設置有初始化處理單元121、傳送命令發(fā)出單元122、數(shù)據(jù)傳送處理單元123、RAM130和地址轉換信息管理單元124。RAMl30設置有地址轉換信息保持區(qū)131。需注意,RAMl30是根據(jù)本公開的實施方式的保持單元的實例。
[0076]圖3中的初始化處理單元121的功能例如由圖2中的CPU120、裝置驅動器115、控制器接口 116等來實現(xiàn)。圖3中的傳送命令發(fā)出單元122和數(shù)據(jù)傳送處理單元123的功能例如由圖2中的CPU120、應用程序114、裝置驅動器115、控制器接口 116等來實現(xiàn)。圖3中的地址轉換信息管理單元124的功能也例如由圖2中的CPU120、應用程序114、裝置驅動器115、控制器接口 116等來實現(xiàn)。
[0077]當信息處理系統(tǒng)的被接通電源等時,初始化處理單元121執(zhí)行預定的初始化處理。在初始化處理中,初始化處理單元121發(fā)出用于讀取地址轉換信息的初始化命令,并從存儲器控制器200中接收地址轉換信息和狀態(tài)。初始化處理單元121使RAM130中的地址轉換信息保持區(qū)131保持所獲取的地址轉換信息。在初始化命令中,數(shù)據(jù)的傳送目的地可被設置為主計算機100或存儲器控制器200。用于讀取地址轉換信息的初始化命令的傳送目的地被設置為主計算機100。
[0078]初始化處理單元121單獨地發(fā)出用于讀取訪問頻率信息的初始化命令、用于讀取空閑物理地址信息的初始化命令和用于讀取地址轉換信息的部分條目的初始化命令。然而,在上述初始化命令中,傳送目的地被設置為主計算機100的存儲器控制器200和存儲器控制器200。存儲器控制器200根據(jù)初始化命令從非易失性存儲器300讀取并保持訪問頻率信息、空閑物理地址信息和地址轉換信息的一部分。一旦初始化處理完成,初始化處理單元121向傳送命令發(fā)出單元122通知初始化的完成。
[0079]在此,初始化命令進一步包括讀取開始頁面地址、傳送頁數(shù)和傳送目的地地址。讀取開始頁面地址是開始讀數(shù)據(jù)的讀取的頁面地址。傳送目的地地址是讀數(shù)據(jù)的傳送目的地的地址,并被設置為主計算機100的RAM或存儲器控制器200的地址。
[0080]傳送命令發(fā)出單元122發(fā)出傳送命令。傳送命令包括讀命令和寫命令。讀命令包括讀取開始頁面地址、傳送頁數(shù)和傳送目的地地址。讀取開始頁面地址是開始讀數(shù)據(jù)的讀取的頁面地址。傳送目的地地址是讀數(shù)據(jù)的傳送目的地的地址,并被設置為主計算機100的RAM中的地址。
[0081]寫命令包括傳送源地址、寫開始頁面地址和傳送頁數(shù)。傳送源地址是在寫數(shù)據(jù)的傳送源的地址,并被設置為主計算機100的RAM中的地址。寫開始頁面地址是開始寫數(shù)據(jù)的寫入的邏輯頁面地址。
[0082]在此,傳送命令在由包括存儲器控制器200的儲存器限定的預定邏輯頁面地址空間中指定地址。例如,507,904( = 0x7c000)個頁面被定義為邏輯頁面地址空間。邏輯頁面地址空間中的邏輯頁面地址例如是從0x00000到0x07bfff。在此,前綴為“Ox”的數(shù)值表示為16進制。在下文中,前綴為“Ox”的數(shù)值表示為16進制,并且沒有前綴“Ox”的那些表示為10進制。
[0083]同時,在非易失性存儲器300中,用戶數(shù)據(jù)的存儲容量例如是2千兆(=2,147,483,648)字節(jié),并且不包括冗余數(shù)據(jù)的物理頁面的大小是4096字節(jié)。在這種情況下,非易失性存儲器300的物理頁數(shù)是524,288 ( = 2,147,483,648/4096)頁,并且物理頁面地址例如是從0x00000到0x07ffff。根據(jù)以下所示的等式,物理頁數(shù)(524,288)相對于邏輯頁數(shù)(507,904)具有約3%的余量。524,288/507, 904 = 1.03...等式I。邏輯頁數(shù)以這種方式設置,使得當由于寫入錯誤等導致非易失性存儲器300中的物理頁面不可用時,確??臻e物理頁面,從而可以改為分配邏輯頁面。這也是為了實現(xiàn)其中非易失性存儲器300中的每個存儲器裝置被重新寫入的次數(shù)被平均的硬件評級。
[0084]在其中連接2千兆字節(jié)存儲容量的非易失性存儲器300的配置的前提下設置上述邏輯頁面面地址空間的大小;然而,該大小取決于存儲容量或所連接的非易失性存儲器300的數(shù)量。例如,當存儲容量或非易失性存儲器300的數(shù)量加倍時,邏輯頁面地址空間的大小被設置為雙倍。
[0085]數(shù)據(jù)傳送處理單元123在其自身與存儲器控制器200之間傳送數(shù)據(jù)。當傳送命令是寫命令時,數(shù)據(jù)傳送處理單元123產(chǎn)生要寫入的用戶數(shù)據(jù)并將用戶數(shù)據(jù)與寫命令一起提供給存儲器控制器200。隨后,數(shù)據(jù)傳送處理單元123從存儲器控制器200接收狀態(tài)。同時,當傳送命令是讀命令時,數(shù)據(jù)傳送處理單元123將讀命令提供給存儲器控制器200,并接收從存儲器控制器200讀取的用戶數(shù)據(jù)和狀態(tài)。
[0086]需注意,術語“頁面”用于邏輯地址空間和物理地址空間的訪問單元;然而,用于訪問單元的術語并不限于頁面。例如,術語可以是扇區(qū)或塊。關于邏輯地址空間和物理地址空間的每一個,訪問單元的名稱和數(shù)據(jù)大小是相同的;然而,也可采用其中邏輯地址空間和物理地址空間的訪問單元的名稱、數(shù)據(jù)大小等不同的配置。
[0087]需注意,數(shù)據(jù)傳送處理單元123是根據(jù)本公開的實施方式的命令單元的實例。
[0088]地址轉換信息被保持在地址轉換信息保持區(qū)131中。地址轉換信息包括將邏輯頁面地址與物理頁面地址相關聯(lián)的多個條目。然而,有效的物理頁面地址不分配給未寫入用戶數(shù)據(jù)的邏輯頁面地址。換言之,分配無效的物理頁面地址。
[0089]如上所述,由于邏輯頁數(shù)是507,904,因此在地址轉換信息中的條目的數(shù)量是507,904.在此,可以將地址轉換信息中的1,024個條目存儲在一個頁面(其為訪問單元)中。因此,地址轉換信息通過被分成496 ( = 507904/1024)頁的地址轉換信息頁面來管理,其中每頁由1,024個條目形成。
[0090]地址轉換信息管理單元124管理地址轉換的信息。具體地,當?shù)刂忿D換信息管理單元124從存儲器控制器200接收請求地址轉換信息頁面的頁面獲取請求時,地址轉換信息管理單元124從RAM130讀取請求的地址轉換信息頁面。地址轉換信息管理單元124將被讀取的地址轉換信息頁面提供給存儲器控制器200。當?shù)刂忿D換信息管理單元124從存儲器控制器200接收地址轉換信息頁面時,地址轉換信息管理單元124使用所接收的地址轉換信息頁面更新在RAM130中具有相同頁碼(page number)的地址轉換信息頁面。
[0091]需注意,地址轉換信息管理單元124響應于來自存儲器控制器200的頁面獲取請求讀取所請求的地址轉換信息頁面;然而,本公開并不限于該配置。例如,存儲器控制器200可通過直接訪問主計算機100中的地址轉換信息保持區(qū)131讀取所需要的地址轉換信息頁面。
[0092]傳送命令的數(shù)據(jù)配置實例
[0093]圖4A和圖4B是示出第一實施方式中的傳送命令的數(shù)據(jù)配置的實例的示圖。圖4A是示出讀命令的數(shù)據(jù)配置的實例的示圖。如圖4A所示,讀命令包括讀取開始頁面地址、傳送頁數(shù)和傳送目的地地址。讀取開始頁面地址是開始讀取數(shù)據(jù)的頁面的地址,并且在讀取用戶數(shù)據(jù)的情況下被設置為邏輯頁面地址。傳送頁數(shù)被設置為根據(jù)讀命令要連續(xù)讀取的讀數(shù)據(jù)的頁面的數(shù)量。傳送目的地地址被設置為主計算機100的RAM的地址(邏輯地址或物理地址)。需注意,用于讀取管理信息的初始化命令進一步包括傳送目的地類型。傳送目的地類型被設置為主計算機100或存儲控制器200。初始化命令的傳送目的地地址被設置為主計算機100的RAM或存儲器控制器200的地址(邏輯地址或物理地址)。初始化命令的讀取開始頁面地址被設置為物理頁面地址。這是因為當讀取管理信息時不執(zhí)行地址轉換。
[0094]圖4B是示出寫命令的數(shù)據(jù)配置的實例的示圖。如圖4B所示,寫命令包括傳送源地址、寫入開始頁面地址和傳送頁數(shù)。傳送源地址被設置為主計算機100的RAM的地址,寫入開始頁面地址是開始寫入數(shù)據(jù)的邏輯頁面地址,并且在寫入用戶數(shù)據(jù)的情況下被設置為邏輯頁面地址。
[0095]地址轉換信息的數(shù)據(jù)配置實例
[0096]圖5是示出第一實施方式中的地址轉換信息的實例的示圖。地址轉換信息包括496個地址轉換信息頁面。每個地址轉換信息頁面包括1,024個條目。每個條目都包括邏輯頁面地址、分配狀態(tài)和物理頁面地址。
[0097]分配狀態(tài)指示物理頁面地址是否被分配給邏輯頁面地址。未被寫入用戶數(shù)據(jù)的邏輯頁面地址與無效的物理頁面地址相關聯(lián),并且分配狀態(tài)被設置為“未分配”。被寫入用戶數(shù)據(jù)的邏輯頁面地址與有效的物理頁面地址相關聯(lián),并且分配狀態(tài)被設置為“已分配”。當被寫入“已分配”邏輯頁面地址的數(shù)據(jù)通過擦除命令等擦除時,分配狀態(tài)更新為“未分配”,并且相應的物理頁面地址變?yōu)闊o效的。
[0098]分配狀態(tài)的數(shù)據(jù)大小例如是I個字節(jié),物理頁面地址的數(shù)據(jù)大小例如是3個字節(jié),并且由其形成的每個條目的數(shù)據(jù)大小是4個字節(jié)。因此,由1,024個條目形成的每個地址轉換信息頁面的數(shù)據(jù)大小是4,096(= 1024X4)個字節(jié)。因此,由都是496個頁面形成的所有地址轉換信息的數(shù)據(jù)大小是2,031,616( = 496x4096)個字節(jié)。
[0099]存儲器控制器的配置實例
[0100]圖6是示出第一實施方式中的存儲器控制器200的配置實例的框圖。存儲器控制器200設置有CPU220、RAM230、R0M211、總線212、主機接口 213、ECC處理單元214和存儲器接口 215。
[0101]CPU220控制整個存儲器控制器200。RAM230臨時地保持在由CPU220執(zhí)行的處理中所必需的數(shù)據(jù)。R0M211存儲由CPU220執(zhí)行的程序等。總線212是用于CPU220、RAM230、R0M211、主機接口 213、ECC處理單元214和存儲器接口 215的共同路徑以彼此之間交換數(shù)據(jù)。主機接口 213是用于存儲器控制器200和主計算機100的接口以彼此之間交換數(shù)據(jù)和命令。
[0102]ECC處理單元214將寫入數(shù)據(jù)編碼成錯誤檢查和糾正碼(ECC),并在讀數(shù)據(jù)中執(zhí)行錯誤的檢查和糾正。在ECC處理單兀214中,Bose-Chaudhur1-Hocquenghem(BCH)碼或Reed-Solomon(RS)碼用于ECC。存儲器接口 215是用于存儲器控制器200和非易失性存儲器300的接口以在彼此之間交換數(shù)據(jù)。
[0103]圖7是示出第一實施方式中的存儲器控制器200的功能配置實例的框圖。存儲器控制器200設置有地址轉換信息獲取單元222、地址轉換單元223、數(shù)據(jù)傳送單元224和RAM230。RAM230設置有地址轉換信息保持區(qū)231、地址轉換信息管理表保持區(qū)232、訪問頻率信息保持區(qū)233和空閑物理地址信息保持區(qū)域234。需注意,RAM230是根據(jù)本公開的實施方式的地址轉換信息保持單元和訪問頻率保持單元的實例。
[0104]圖7中的地址轉換信息獲取單元222的功能例如通過圖6中的CPU220和主機接口 213來實現(xiàn)。圖7中的地址轉換單元223的功能例如通過圖6中的CPU220等實現(xiàn)。圖7中的數(shù)據(jù)傳送單元224的功能例如通過圖6中的CPU220、主機接口 213、ECC處理單元214、存儲器接口 215等來實現(xiàn)。
[0105]數(shù)據(jù)傳送單元224根據(jù)主計算機100的控制實現(xiàn)預定初始化處理和傳送用戶數(shù)據(jù)數(shù)據(jù)傳送處理。在初始化處理中,當數(shù)據(jù)傳送單元224從主計算機100接收用于讀取地址轉換信息的所有條目的初始化命令,數(shù)據(jù)傳送單元224從初始化命令產(chǎn)生讀請求。
[0106]從初始化命令產(chǎn)生的讀請求包括例如指示傳送源頁面地址、傳送目的地類型和傳送目的地地址的信息。傳送源頁面地址是讀取讀數(shù)據(jù)的頁面地址,并被設置為非易失性存儲器300的物理頁面地址。傳送目的地類型指示傳送目的地是主機計算機100還是存儲器控制器200。傳送目的地地址是讀數(shù)據(jù)的傳送目的地的地址,并被設置為主計算機100或存儲器控制器200的地址。
[0107]數(shù)據(jù)傳送單元224根據(jù)存儲器讀命令從非易失性存儲器300讀取所有條目,并將條目傳送到主計算機100。
[0108]當數(shù)據(jù)傳送單元224從主計算機100接收用于讀取訪問頻率信息的初始化命令時,數(shù)據(jù)傳送單元224使用存儲器讀命令從非易失性存儲器300讀取訪問頻率信息。數(shù)據(jù)傳送單元224使訪問頻率信息保持區(qū)域233保持所讀取的訪問頻率信息。訪問頻率信息包括為每個地址轉換信息頁面指示在頁面中訪問邏輯頁面地址的次數(shù)的信息。數(shù)據(jù)傳送單元224讀取所保持的每個地址轉換信息頁面的訪問次數(shù),執(zhí)行將該值乘以預定系數(shù)(例如
0.5)的加權,并將該值寫回。
[0109]在初始化處理之后,訪問次數(shù)在每次訪問相應地址轉換信息頁面中的其中一個邏輯頁面地址時增加。在當至存儲器控制器200的電源被停止等時完成所執(zhí)行的處理中,存儲器控制器200中的更新的訪問頻率信息被寫回到非易失性存儲器300中。
[0110]通過上述利用預定系數(shù)在上一次的完成處理中對訪問次數(shù)進行加權,計數(shù)周期越長,可以利用更小的系數(shù)(即,權重)進行加權。例如,當在第一次完成處理之后執(zhí)行第二次初始化處理時,第一次完成處理的訪問次數(shù)Fl利用0.5的系數(shù)來進行加權。當在第二次完成處理之后執(zhí)行第三次初始化處理時,第二次完成處理的訪問次數(shù)F2利用0.5的系數(shù)來加權。由于F2包括第一次Fl X0.5的值,因此其中F2乘以0.5的訪問次數(shù)包括Fl X0.25的值。類似地,其中第三次完成處理的訪問次數(shù)F3乘以0.5的訪問次數(shù)包括F2X0.25的值,并且F2X0.25的值包括F1X0.125的值。以這種方式,計數(shù)周期越長,相對于訪問次數(shù)的系數(shù)變得越小。
[0111]需注意,數(shù)據(jù)傳送單元224相對于之前的完成處理的訪問次數(shù)執(zhí)行加權;然而,也可采用不執(zhí)行加權的配置。在這種情況下,之前的完成處理的訪問次數(shù)被原樣地保持在訪問頻率信息保持區(qū)233中。
[0112]當數(shù)據(jù)傳送單元224從主計算機100接收用于讀取空閑物理地址信息的初始化命令時,數(shù)據(jù)傳送單元224使用存儲器讀命令從非易失性存儲器300讀取空閑物理地址信息。數(shù)據(jù)傳送單元224使空閑物理地址信息保持區(qū)234保持所讀取的空閑物理地址信息。
[0113]當數(shù)據(jù)傳送單元224接收用于讀取部分地址轉換信息的初始化命令時,數(shù)據(jù)傳送單元224從非易失性存儲器300讀取32個地址轉換信息頁面,給予具有高訪問頻率的地址轉換信息頁面優(yōu)先權。
[0114]需注意,采用其中數(shù)據(jù)傳送單元224從非易失性存儲器300讀取部分地址轉換信息的配置;然而,本發(fā)明并不限于該配置。數(shù)據(jù)傳送單元224可從主計算機100獲取部分地址轉換信息。
[0115]要讀取的頁面的數(shù)量足夠小于地址轉換信息的總的頁面數(shù)量(496),但數(shù)量并不限于32個頁面。采用通過給予具有高訪問頻率的頁面優(yōu)先權來讀取一部分的配置;但是本發(fā)明并不限于該配置。例如,存儲器控制器200可按照頁碼的升序來讀取32個頁面。
[0116]數(shù)據(jù)傳送單元224使地址轉換信息保持區(qū)231保持所讀取的地址轉換信息頁面。數(shù)據(jù)傳送單元224產(chǎn)生地址轉換信息管理表并使地址轉換信息管理表保持區(qū)232保持該表。將在后面描述地址轉換信息管理表的配置。
[0117]在數(shù)據(jù)傳送處理中,數(shù)據(jù)傳送單元224根據(jù)傳送命令產(chǎn)生傳送請求。例如,傳送請求被分成等于傳送頁數(shù)的多個傳送請求。傳送請求包括讀請求和寫請求。讀請求包括指示傳送源頁面地址和傳送目的地地址的信息,并且寫請求包括指示傳送源地址和傳送目的地頁面地址的信息。
[0118]當發(fā)出寫請求時,數(shù)據(jù)傳送單元224將存儲器寫命令按順序提供給非易失性存儲器300,數(shù)據(jù)傳送單元224將來自主計算機100的寫數(shù)據(jù)編碼為ECC并將ECC傳送到非易失性存儲器300。同時,當發(fā)出讀請求時,數(shù)據(jù)傳送單元224將存儲器讀命令按順序提供給非易失性存儲器300,并從非易失性存儲器300接收讀數(shù)據(jù)。數(shù)據(jù)傳送單元224在讀數(shù)據(jù)中執(zhí)行錯誤的檢查和糾正,并將糾正的讀數(shù)據(jù)傳送到主計算機100。數(shù)據(jù)傳送單元224產(chǎn)生狀態(tài)并將該狀態(tài)提供到主計算機100。需注意,狀態(tài)的符號在圖7中省略。
[0119]當對應于由傳送命令指定的邏輯頁面地址的條目未保持在RAM230中時,地址轉換信息獲取單元222從主計算機100獲取條目。具體地,當?shù)刂忿D換信息獲取單元222從主計算機100接收傳送命令時,地址轉換信息獲取單元222獲取包含在傳送命令中指定的邏輯頁面地址的地址轉換信息頁面的頁碼。由于地址轉換信息頁面由1,024個條目形成,因此可通過將指定的邏輯頁面地址除以0x00400 (= 1024)來獲得商。該商指示對應的地址轉換信息頁面的頁碼。
[0120]例如,將考慮其中地址轉換信息頁面是“O”到“495”并且指定的邏輯頁面地址是0x013ff的情況。通過0x013ff除以0x00400獲得的商是0x00004。因此,包含指定的邏輯頁面地址的地址轉換信息頁面的頁碼是“4”。
[0121]地址轉換信息獲取單元222確定所計算的頁碼的地址轉換信息頁面是否被保持在RAM230中。當?shù)刂忿D換信息頁面未保持在RAM230中時,地址轉換信息獲取單元222發(fā)出請求未被保持的地址轉換信息頁面的頁面獲取請求,并將該請求提供給主計算機100。頁面請求例如包括所請求的地址轉換信息頁面的頁碼。當從主計算機100接收到所請求的地址轉換信息頁面時,地址轉換信息獲取單元222在RAM230中查找訪問頻率信息和地址轉換信息。地址轉換信息獲取單元222利用從從主計算機100接收的地址轉換信息頁面更換保持在RAM230中的具有最低地址轉換信息頁面的訪問頻率的地址轉換信息頁面。由于地址轉換信息頁面的更換,地址轉換信息獲取單元222更新地址轉換信息管理表。將在后面在圖9A和圖9B中詳細描述更新內(nèi)容。
[0122]當所計算的頁碼的地址轉換信息頁面保持在RAM230中時,或者當接收到地址轉換信息頁面時,地址轉換信息獲取單元222通知地址轉換單元223對應的條目被保持。
[0123]地址轉換單元223基于RAM230中保持的條目將由傳送命令指定邏輯頁面地址轉換為物理頁面地址。當通知地址轉換單元223與在傳送指令中所指定的邏輯頁面地址對應的條目被保持時,地址轉換單元223獲得與所指定的邏輯頁面地址對應的條目的位置。由于地址轉換信息頁面由1,024個條目形成,因此可通過將所指定的邏輯頁面地址除以0x00400 ( = 1,024)獲得余數(shù)。該余數(shù)指示對應條目在地址轉換信息頁面中的位置。
[0124]例如,將考慮指定的邏輯頁面地址是0x013ff的情況。當0x013ff除以0x00400時,商是0x00004,并且余數(shù)是0x003ff。因此,在頁碼為“4”的地址轉換信息頁面中的第
I,023 ( = 0x003ff)個條目對應于所指定的邏輯頁面地址。地址轉換單元223從RAM230讀取條目并查找其分配狀態(tài)。.
[0125]關于被查找的條目,當物理頁面地址未被分配時,地址轉換單元223查找空閑物理地址信息、選擇空閑物理頁面地址中的一個,并更新空閑物理地址信息。地址轉換單元223使用所選擇的物理頁面地址更新所查找的條目的物理頁面地址,并將對應于物理頁面地址的分配狀態(tài)更新為“已分配”。
[0126]地址轉換單元223將所更新的地址轉換信息頁面提供給主計算機100。地址轉換單元223基于所更新的地址轉換信息頁面將所指定的邏輯頁面地址轉換為相應的物理頁面地址,并將具有轉換地址的傳送命令提供給數(shù)據(jù)傳送單元224。
[0127]同時,關于被查找的條目,當物理頁面地址被分配時,地址轉換單元223將指定的邏輯頁面地址轉換為對應于邏輯頁面地址的物理頁面地址。地址轉換單元223將具有轉換地址的傳送命令提供給數(shù)據(jù)傳送單元224。
[0128]傳送請求的數(shù)據(jù)配置實例
[0129]圖8A和圖SB是示出第一實施方式中的傳送請求的數(shù)據(jù)配置的實例的示圖。圖8A是示出讀請求的數(shù)據(jù)配置的實例的示圖。如圖8A所示,讀請求包括傳送源頁面地址和傳送目的地地址。傳送源頁面地址被設置為非易失性存儲器300的物理頁面地址。傳送目標地址被設置為主計算機100的RAM中的地址。需注意,在讀取管理信息時所使用的讀請求進一步包括傳送目的地類型。傳送目的地類型被設置為主計算機100或存儲器控制器200。傳送目的地地址被設置為主計算機100的RAM或存儲器控制器200的地址。
[0130]圖SB是示出寫請求的數(shù)據(jù)配置的實例的示圖。如圖SB所示,寫請求包括傳送源地址和傳送目的地頁面地址。傳送源地址被設置為主計算機100的RAM中的地址。傳送目的地頁面地址被設置為非易失性存儲器300的物理頁面地址。需注意,在寫入管理信息時所使用的寫請求進一步包括傳送源類型。傳送源類型被設置為主機計算機100或存儲器控制器200。傳送源地址被設置為主計算機100的RAM或存儲器控制器200的地址。
[0131]圖9A和圖9B是示出第一實施方式中的保持在地址轉換信息保持區(qū)231和地址轉換信息管理表保持區(qū)232中的數(shù)據(jù)的實例的示圖。圖9A是示出保持在地址轉換信息保持區(qū)231中的數(shù)據(jù)的實例的示圖。如圖9A所示,在地址轉換信息保持區(qū)231中,地址轉換信息頁面保持在該區(qū)中的頁面#0至#31的每一個中。由于每個地址轉換信息頁面的數(shù)據(jù)大小是4096個字節(jié),因此131,072 ( = 4096X32)個字節(jié)的數(shù)據(jù)被保持在地址轉換信息保持區(qū)231中。
[0132]圖9B是示出保持在地址轉換信息管理表保持區(qū)232中的數(shù)據(jù)的實例的示圖。如圖9B所示,地址轉換信息管理表保持區(qū)232保持被保持在該區(qū)的頁面#0至#31的每一個中的地址轉換信息頁面的頁碼。如圖9A和圖9B所示例的,存儲器控制器200將來自地址轉換信息保持區(qū)231的頁碼保持在不同的區(qū)中;然而,它們可被保持在相同的區(qū)中。在這種情況下,地址轉換信息頁面及其頁碼被保持在該區(qū)的每個頁面中。當存儲器控制器200利用新的頁面更換地址轉換信息中的地址轉換信息頁面時,存儲器控制器200更新與在地址轉換信息管理表中利用地址轉換信息頁面的頁碼更換的頁面對應的區(qū)域中的頁面。
[0133]圖10是示出第一實施方式中的保持在訪問頻率信息保持區(qū)233中的數(shù)據(jù)的實例的示圖。訪問頻率信息保持區(qū)域233保持指示地址轉換信息頁面的#0至#495中的每個頁面的邏輯頁面地址的訪問頻率的信息(例如,訪問次數(shù))。每個訪問次數(shù)的大小例如是4個字節(jié),并且包括496個頁面的每一個的訪問次數(shù)的所有訪問頻率信息的數(shù)據(jù)大小是1,984( = 496X4)個字節(jié)。
[0134]圖11是示出第一實施方式中的保持在空閑物理地址信息保持區(qū)234中的數(shù)據(jù)的實例的示圖。空閑物理地址信息保持區(qū)234保持指示0x00000到0x7fbff的每個物理頁面地址的使用狀態(tài)的信息。
[0135]使用狀態(tài)指示“使用中”、“未使用”或“不可用”作為相應物理頁面地址的狀態(tài)。使用狀態(tài)“使用中”指示邏輯頁面地址被分配給物理頁面地址,且“未使用”指示邏輯頁面地址未被分配給物理頁面地址。未使用的物理頁面地址被視為空閑物理頁面地址。使用狀態(tài)“不可用”指示物理頁面地址目前未被使用并且由于諸如錯誤的發(fā)生的原因也不建議將來使用。由于使用狀態(tài)利用2個比特來表示三種狀態(tài),因此由523,264個物理頁面地址的每一個的使用狀態(tài)所形成的空閑物理地址信息的數(shù)據(jù)大小是130,816( = 523,264X2/8)個字節(jié)。由于訪問單元(頁面)的數(shù)據(jù)大小是4,096個字節(jié),因此空閑物理地址信息通過被劃分為32 ( = 30, 816/4096)個空閑物理地址信息頁面來進行管理。每個空閑物理地址信息頁面包括16,352 ( = 523,264/32)個使用狀態(tài)。
[0136]非易失性存儲器的配置實例
[0137]圖12是示出第一實施方式中的非易失性存儲器300的配置實例的框圖。非易失性存儲器300設置有頁面緩沖器311、存儲器單元陣列320、地址解碼器312、總線313、控制接口 314和訪問控制單元315。
[0138]頁面緩沖器311根據(jù)訪問控制單元315的控制在頁面單元中保持寫數(shù)據(jù)和讀數(shù)據(jù)。存儲器單元陣列320設置有被布置成矩陣的多個存儲器單元。非易失性存儲器裝置用于每個存儲器單元。具體地,NAND型或NOR型閃存、電阻式RAM(ReRAM)、相變RAM(PCRAM)、磁阻式RAM(MRAM)等可被用作存儲器裝置。地址解碼器312分析由存儲器傳送指令所指定的地址,并選擇對應于該地址的存儲器單元??偩€313是用于頁面緩沖器311,存儲器單元陣列320,地址解碼器312、控制接口 314和訪問控制單元315的公共路徑以彼此之間交換數(shù)據(jù)。控制接口 314是用于存儲器控制器200和非易失性存儲器300的接口以在彼此之間交換數(shù)據(jù)、請求等。
[0139]訪問控制單元315訪問存儲器單元陣列320并讀或寫數(shù)據(jù)。當訪問控制單元315接收存儲器寫命令時,訪問控制單元315使頁面緩沖器311保持寫數(shù)據(jù)。訪問控制單元315將由存儲器寫命令指定的地址提供給地址解碼器312。當通過地址解碼器312選擇存儲器單元時,訪問控制單元315控制驅動器(未示出),從而使驅動將數(shù)據(jù)寫到存儲器單元。
[0140]當訪問控制單元315接收存儲器讀命令時,訪問控制單元315將由存儲器讀命令指定的地址提供給地址解碼器312。當通過地址解碼器312選擇存儲器單元時,訪問控制單元315控制驅動器以使驅動器讀取存儲在存儲器單元中的數(shù)據(jù)并使頁面緩沖器311保持數(shù)據(jù)。當讀取數(shù)據(jù)被保持在頁面緩沖器311中時,訪問控制單元315控制控制接口 314將讀取數(shù)據(jù)輸出到存儲器控制器200。
[0141]圖13是示出第一實施方式中的存儲器單元陣列320的使用狀態(tài)的實例的示圖。存儲器單元陣列320設置有管理信息區(qū)域321和用戶數(shù)據(jù)區(qū)325。地址轉換信息、空閑物理地址信息和訪問頻率信息被保持在管理信息區(qū)321中。用戶數(shù)據(jù)保持在用戶數(shù)據(jù)區(qū)325中??纱鎯υ诖鎯ζ鲉卧嚵?20中的物理頁面的數(shù)量例如是524,288頁。其中,523,264頁所形成的區(qū)例如用作用戶數(shù)據(jù)區(qū)域325,并且由剩下的1,024頁形成的區(qū)用作管理信息區(qū) 321。
[0142]在此,由于存儲器控制器200被配置為執(zhí)行地址轉換,因此即使在用戶數(shù)據(jù)區(qū)325中發(fā)生寫入錯誤,存儲器控制器200也可改為分配空閑物理頁面地址。由于在管理信息區(qū)域321中也可能發(fā)生寫入錯誤,因此優(yōu)選的是存儲器控制器200在管理信息的初始化命令中也執(zhí)行地址轉換。然而,為了便于說明,在有關管理信息區(qū)域321的初始化命令中未執(zhí)行地址轉換。需注意,也可采用其中存儲器控制器200在管理信息的初始化命令中也執(zhí)行地址轉換的配置。
[0143]圖14是示出在第一實施方式中的保持在管理信息區(qū)321中的數(shù)據(jù)實例的示圖。管理信息區(qū)321設置有地址轉換信息保持區(qū)322、訪問頻率信息保持區(qū)323和空閑物理地址信息保持區(qū)324。由496個地址轉換信息頁面形成的地址轉換信息保持在地址轉換信息保持區(qū)322中。地址轉換信息的所有頁面被傳送至主計算機100并由主計算機100保持。地址轉換信息頁面的一部分(例如,32頁)被傳送至并保持在存儲器控制器200中。
[0144]訪問頻率信息保持在訪問頻率信息保持區(qū)323中??臻e物理地址信息保持在空閑物理地址信息保持區(qū)324中。訪問頻率信息和空閑物理地址信息被傳送并保持在存儲器控制器200中。
[0145]物理頁面的數(shù)據(jù)配置實例
[0146]圖15是示出第一實施方式中的被存儲在用戶數(shù)據(jù)區(qū)中的物理頁面的實例的示圖。每個物理頁面設置有數(shù)據(jù)部分和冗余部分。物理頁面中的數(shù)據(jù)部分是包括被ECC編碼之前的原始數(shù)據(jù)的部分。冗余部分包括在編碼等中從原始數(shù)據(jù)產(chǎn)生的奇偶校驗(parity)。數(shù)據(jù)部分的大小例如是4,096個字節(jié),并且冗余部分的大小例如是128個字節(jié)。由數(shù)據(jù)部分和冗余部分形成的物理頁面的大小例如是4,224個字節(jié)。
[0147]主計算機的操作實例
[0148]圖16是示出第一實施方式中的主機端處理的實例的流程圖。當例如接通至信息處理系統(tǒng)的電源時,由主計算機100啟動主機端處理。
[0149]首先,主計算機100執(zhí)行主機端初始化處理(步驟S910)。主計算機100執(zhí)行應用程序114等,并在必要時發(fā)出傳送命令。主計算機100確定是否發(fā)出傳送指令(步驟S923)。如果未發(fā)出傳送指令(步驟S923:否),則主計算機100返回到步驟S923。
[0150]當發(fā)出傳送命令(步驟S923:是)時,主計算機100經(jīng)由控制器接口 116將傳送命令提供到存儲器控制器200 (步驟S924)。如果傳送命令是寫命令,則寫數(shù)據(jù)與傳送命令一起提供。
[0151]主計算機100確定是否有來自存儲器控制器200的頁面獲取請求(步驟S925)。當存在頁面獲取請求(步驟S925:是)時,主計算機100將由頁面獲取請求所請求的地址轉換信息頁面提供給存儲控制器200 (步驟S926)。
[0152]當不存在頁面獲取請求(步驟S925:否)時,或者在步驟S926之后,主計算機100獲取由存儲器控制器200讀取的讀數(shù)據(jù)。當從存儲器控制器200提供更新的地址轉換信息頁面時,主計算機100使用該地址轉換信息頁面更新所保持的地址轉換信息(步驟S927)。在步驟S927之后,主計算機100返回到步驟S923。
[0153]圖17是示出第一實施方式中的主機端初始化處理的實例的流程圖。主計算機100發(fā)出用于讀取地址轉換信息的初始化命令。在初始化命令中,讀取開始頁面地址被設置為地址轉換信息保持區(qū)322的物理頁面地址,并且地址轉換信息(其是讀數(shù)據(jù))的傳送目的地被設置為主計算機100。主計算機100將初始化命令提供給存儲器控制器200 (步驟S911)。
[0154]主計算機100保持所讀取的地址轉換信息頁面(步驟S912)。主計算機100基于來自存儲器控制器200的狀態(tài)確定是否完成了所有的地址轉換信息頁面的讀取(步驟S913)。如果所有的頁面的讀取沒有完成(步驟S913:否),則主計算機100返回到步驟S912。
[0155]如果完成所有頁面的讀取(步驟S913:是),主計算機發(fā)出用于讀取訪問頻率信息100的初始化命令。在初始化命令中,讀取開始頁面地址被設置為訪問頻率信息保持區(qū)323的物理頁面地址,并且訪問頻率信息(其是讀數(shù)據(jù))的傳送目的地被設置為存儲器控制器200。主計算機100將初始化命令提供給存儲器控制器200 (步驟S914)。主計算機100基于來自存儲器控制器200的狀態(tài)確定是否完成了訪問頻率信息的讀取(步驟S915)。如果訪問頻率信息的讀取沒有完成(步驟S915:否),則主計算機100返回到步驟S915。
[0156]如果完成了訪問頻率信息的讀取(步驟S915:是),則主計算機發(fā)出用于讀取空閑物理地址信息100的初始化命令。在初始化命令中,讀取開始頁面地址被設置為空閑物理地址信息保持區(qū)324的物理頁面地址,并且空閑物理地址信息(其是讀數(shù)據(jù))的傳送目的地被設置為存儲器控制器200。主計算機100將初始化命令提供給存儲器控制器200 (步驟S919)。主計算機100基于來自存儲器控制器200的狀態(tài)確定是否完成空閑物理地址信息的讀取(步驟S920)。如果未完成空閑物理地址信息的讀取(步驟S920:否),則主計算機100返回到步驟S920。
[0157]如果完成空閑物理地址信息的讀取(步驟S920:是),則主計算機100發(fā)出用于讀取部分地址轉換信息的初始化命令。在初始化命令中,讀取開始頁面地址被設置為地址轉換信息保持區(qū)322的物理頁面地址,并且地址轉換信息(其是讀數(shù)據(jù))的傳送目的地被設置為存儲器控制器200。主計算機100將初始化命令提供給存儲器控制器200 (步驟S921)。主計算機100基于來自存儲器控制器200的狀態(tài)確定是否完成部分地址轉換信息的讀取(步驟S922)。如果未完成部分地址轉換信息的讀取(步驟S922:否),則主計算機100返回到步驟S922。另一方面,如果完成了部分地址轉換信息的讀取(步驟S922:是),則主計算機100結束主機端初始化處理。
[0158]需注意,可采用信息處理系統(tǒng)在初始化處理中讀取所有地址轉換信息、訪問頻率信息、空閑物理地址信息和部分地址轉換信息中的每一個的配置;然而,本公開并不限于該配置。例如,也可采用以下配置:當存儲器控制器200不管訪問頻率而保持部分地址轉換信息時,信息處理系統(tǒng)在初始化處理中不執(zhí)行訪問頻率信息的讀取。信息處理系統(tǒng)可被配置為使得當主計算機100已在初始化處理等之前保持了地址轉換信息時,主計算機100在初始化處理中不執(zhí)行讀取。例如,在其中主計算機100將在第一初始化處理中讀取的地址轉換信息保持在除了非易失性存儲器300之外的非易失性存儲裝置中的配置中,不需要在第二初始化處理中讀取地址轉換信息。
[0159]在信息處理系統(tǒng)中,訪問頻率信息和空閑物理地址信息的傳送目的地被設置為存儲器控制器200 ;然而,傳送目的地可被設置為主計算機100而不是存儲器控制器200。當訪問頻率信息的傳送目的地被設置為主計算機100時,主計算機100執(zhí)行訪問頻率信息的管理。主計算機100基于訪問頻率確定要保持在存儲器控制器200中的地址轉換信息頁面并指示存儲器控制器200。當空閑物理地址信息的傳送目的地被設置為主計算機100時,主計算機100將空閑物理地址分配給未被分配的邏輯頁面。主計算機100更新地址轉換信息頁面,并將更新的頁面提供給存儲器控制器200。
[0160]在初始化處理中,所有地址轉換信息、訪問頻率信息、空閑物理地址信息和部分地址轉換信息的讀取的順序并不限于該順序。例如,在部分地址轉換信息的讀取中,在其中不查找訪問頻率信息的配置中,部分地址轉換信息和訪問頻率信息的每一個的讀取順序是隨意的。
[0161]存儲器控制器的操作實例
[0162]圖18是示出第一實施方式中的控制端處理的實例的流程圖。當例如接通至信息處理系統(tǒng)的電源時,由存儲器控制器200開始操作。首先,存儲器控制器200執(zhí)行控制端初始化處理(步驟S930)。
[0163]存儲器控制器200執(zhí)行數(shù)據(jù)傳送處理(步驟S960)。存儲器控制器200確定是否接收發(fā)到讀命令(步驟S941)。如果接收到讀命令(步驟S941:是),則存儲器控制器200執(zhí)行讀控制處理(步驟S950)。
[0164]如果未接收到讀命令(步驟S941:否),則存儲器控制器200確定是否接收到寫命令(步驟S942)。如果接收到寫命令(步驟S942:是),則存儲器控制器200執(zhí)行寫控制處理(步驟S970)。當未接收到寫命令(步驟S942:否)時,或者在步驟S950或S970之后,存儲器控制器200返回到步驟S941。
[0165]圖19是示出第一實施方式中的控制器端初始化處理的實例的流程圖。存儲器控制器200確定是否接收到用于讀取地址轉換信息的初始化命令(步驟S931)。如果未接收到用于讀取地址轉換信息的初始化命令(步驟S931:否),則存儲器控制器200返回到步驟S931。另一方面,如果接收到初始化命令(步驟S931:是),則存儲器控制器200從非易失性存儲器300讀取地址轉換信息,并將地址轉換信息傳送到主計算機100。存儲器控制器200將表示初始化命令的執(zhí)行結果的狀態(tài)提供給主計算機100 (步驟S932)。
[0166]存儲器控制器200確定是否接收到用于讀取訪問頻率信息的初始化命令(步驟S933)。如果未接收到用于讀取訪問頻率信息的初始化命令(步驟S933:否),則存儲器控制器200返回到步驟S933。另一方面,如果接收到初始化命令(步驟S933:是),存儲器控制器200從非易失性存儲器300中獲取訪問頻率信息并將訪問頻率信息傳送到RAM230。存儲器控制器200進行將每個地址轉換信息頁面的訪問次數(shù)乘以預定系數(shù)(例如,0.5)的加權,并將該值寫回RAM230。存儲器控制器200將表示初始化命令的執(zhí)行結果的狀態(tài)提供給主計算機100 (步驟S934)。
[0167]存儲器控制器200確定是否接收到用于讀取空閑物理地址的信息的初始化命令(步驟S935)。如果未接收到用于讀取空閑物理地址的信息的初始化命令(步驟S935:否),則存儲器控制器200返回到步驟S935。另一方面,如果接收到初始化命令(步驟S935:是),則存儲器控制器200從非易失性存儲器300獲取并保持空閑物理地址信息。存儲器控制器200將表示初始化命令的執(zhí)行結果的狀態(tài)提供給主計算機100 (步驟S936)。
[0168]存儲器控制器200確定是否接收到用于讀取部分地址轉換的信息的初始化命令(步驟S937)。如果未接收到用于讀取部分地址轉換的信息的初始化命令(步驟S937:否),則存儲器控制器200返回到步驟S937。另一方面,如果接收到初始化命令(步驟S937:是),則存儲器控制器200基于訪問頻率從非易失性存儲器300獲取并保持部分(例如,32頁)地址轉換信息(步驟S938)。
[0169]具體地,在步驟S938中,存儲器控制器200查找訪問頻率信息,并獲取具有最高訪問頻率的32頁的每個地址轉換信息頁面的頁碼。這些頁碼將被稱作Ki (其中,i是I至K32的整數(shù))。
[0170]數(shù)據(jù)傳送單元224使用下列等式獲取要讀取的物理頁面地址Pi,并發(fā)出指定物理頁面地址的讀請求。Pi = PO+(頁面大小)XK1...等式2。在上述等式中,PO是非易失性存儲器300中的地址轉換信息保持區(qū)322中的起始物理頁面地址。頁面大小是地址轉換信息頁面的數(shù)據(jù)大小(其4,096 (字節(jié)))。
[0171]存儲器控制器200將所讀取的32頁地址轉換信息保持在存儲器控制器200中的地址轉換信息保持區(qū)231中。
[0172]存儲器控制器200將表示初始化命令的執(zhí)行結果的狀態(tài)提供給主計算機100 (步驟S938)。在步驟S938之后,存儲器控制器200結束控制端初始化處理。
[0173]需注意,可采用存儲器控制器200根據(jù)來自主計算機100的初始化命令來執(zhí)行控制端初始化處理的配置;但是本公開并不限于該配置。例如,存儲器控制器200可自發(fā)地執(zhí)行控制端初始化處理,而無需主計算機100在主機端初始化處理中發(fā)出初始化命令。
[0174]圖20是示出第一實施方式中的讀控制處理的實例的流程圖。存儲器控制器200確定由讀指令指定的邏輯頁面地址和傳送頁數(shù)是否是適當?shù)闹?步驟S951)。
[0175]具體地,在以下三種情況下,邏輯頁面地址或傳送頁數(shù)被確定為不是適當?shù)闹?。首先,當所指定的讀取開始頁面地址或寫入開始頁面地址不是預先定義的邏輯頁面地址空間中的地址時,邏輯頁面地址被確定為不是合適的值。例如,在從0x00000到0x07bfff等的范圍之外的邏輯頁面地址。
[0176]當傳送頁數(shù)大于邏輯頁面地址空間(507,904)中的總頁數(shù)時,傳送頁數(shù)被確定為不是適當?shù)闹怠P枳⒁?,也可采用以下配?預先設置小于邏輯頁面地址空間的總頁數(shù)的上限值(例如,256),并且當傳送頁數(shù)大于上限值時,傳送頁數(shù)被確定為不是適當?shù)闹怠?br> [0177]當其中傳送頁數(shù)被添加到指定邏輯頁面地址的地址不與所定義的邏輯頁面地址空間中的地址對應時,所指定的邏輯頁面地址和傳送頁數(shù)被確定為不是適當?shù)闹怠?br> [0178]當所指定的邏輯頁面地址和傳送頁數(shù)不是適當?shù)闹?步驟S951:否)時,存儲器控制器200產(chǎn)生表示錯誤的狀態(tài)并通知主計算機100該狀態(tài)(步驟S952)。
[0179]另一方面,當所指定的邏輯頁面地址和傳送頁數(shù)是適當?shù)闹?步驟S951:是)時,存儲器控制器200獲取包含被讀取的目標的目標邏輯頁面地址的地址轉換信息頁面的頁碼。存儲器控制器200確定該頁碼的地址轉換信息頁面是否在于被保持的地址轉換信息中(步驟S953)。在此,讀取開始頁面地址首先被設置為目標邏輯頁面地址。
[0180]如果沒有對應的地址轉換信息頁面(步驟S953:否),則存儲器控制器200使用頁面獲取請求從主計算機100獲取地址轉換信息頁面(步驟S954)。
[0181]如果有對應的地址轉換信息頁面(步驟S953:是),或者在步驟S954之后,存儲器控制器200將所指定的邏輯頁面地址轉換為物理頁面地址(步驟S955)。
[0182]存儲器控制器200產(chǎn)生指定物理頁面地址的讀請求,并將請求添加到隊列中。存儲器控制器200更新訪問頻率信息。具體地,包含目標邏輯頁面地址的地址轉換信息頁面的訪問次數(shù)增加預定值(例如,“I”)(步驟S956)。
[0183]存儲器控制器200確定是否完成了用于讀取指定頁碼的讀請求的生成(步驟S957)。如果未完成讀請求的生成(步驟S957:否),則存儲器控制器200將目標邏輯頁面地址更新為當前的目標邏輯頁面地址后面的頁面地址。例如,當當前的目標邏輯頁面地址是0x013ff時,目標邏輯頁面地址被更新為0x01400 (其是0x013ff和0x00001之和)(步驟S958)。在步驟S958之后,存儲器控制器200返回到步驟S953。
[0184]當完成讀請求的生成時(步驟S957:是),或者在步驟S952之后,存儲器控制器200結束讀取控制處理。
[0185]需注意,采用了其中存儲器控制器200執(zhí)行確定邏輯頁面地址和傳送頁數(shù)是否是適當值的處理的配置;然而,也可采用其中主計算機100代替存儲器控制器200執(zhí)行處理的配置。
[0186]圖21是示出第一實施方式中的數(shù)據(jù)傳送處理的實例的流程圖。存儲器控制器200確定讀請求是否在請求隊列中等待執(zhí)行(步驟S961)。
[0187]當讀請求正在等待執(zhí)行(步驟S961:是)時,存儲器控制器200從隊列中提取讀請求,并將讀請求提供給非易失性存儲器300。存儲器控制器200從非易失性存儲器300的指定的物理頁面地址獲取讀數(shù)據(jù)(步驟S962)。
[0188]存儲器控制器200基于ECC執(zhí)行讀數(shù)據(jù)中的錯誤的檢查和糾正(步驟S963)。存儲器控制器200將校正的讀數(shù)據(jù)與狀態(tài)一起傳送到主計算機100。然而,當校正失敗時,存儲器控制器200產(chǎn)生表示錯誤的狀態(tài)并將該狀態(tài)提供給主機100 (步驟S964)。
[0189]存儲器控制器200確定是否完成了讀數(shù)據(jù)或狀態(tài)的傳送(步驟S965)。如果未完成傳送(步驟S965:否),則存儲器控制器200返回到步驟S965。另一方面,如果完成傳送(步驟S965:是),則存儲器控制器200返回到步驟S961。
[0190]當讀請求未等待執(zhí)行(步驟S961:否)時,存儲器控制器200確定寫請求是否在請求隊列中等待執(zhí)行(步驟S966)。當寫請求是等待執(zhí)行(步驟S966:是)時,存儲器控制器200從隊列中提取寫請求并將該寫請求提供給非易失性存儲器300。
[0191]存儲器控制器200將寫數(shù)據(jù)編碼為ECC (步驟S967)。存儲器控制器200將編碼的寫數(shù)據(jù)與寫請求一起提供給非易失性存儲器300,并寫入寫數(shù)據(jù)。在此,當在非易失性存儲器300不能寫入時,存儲器控制器200產(chǎn)生表示錯誤的狀態(tài)并將該狀態(tài)提供給主機100 (步驟 S968)。
[0192]存儲器控制器200確定是否完成寫數(shù)據(jù)的寫入(步驟S969)。如未完成寫入(步驟S969:否),則存儲器控制器200返回到步驟S969-1。另一方面,如果完成寫入(步驟S969:是),則存儲器控制器200返回到步驟S961。
[0193]當寫請求未等待執(zhí)行(步驟S966:否)時,存儲器控制器200結束數(shù)據(jù)傳送處理。
[0194]圖22是示出第一實施方式中的寫控制處理的實例的流程圖。存儲器控制器200確定由寫命令指定的邏輯頁面地址和傳送頁數(shù)是否是適當?shù)闹?步驟S971)。
[0195]當指定的邏輯頁面地址和傳送頁數(shù)不是適當?shù)闹?步驟S971:否)時,存儲器控制器200產(chǎn)生表示錯誤的狀態(tài)并利用該狀態(tài)通知主計算機100 (步驟S972)。
[0196]另一方面,當所指定的邏輯頁面地址和傳送頁數(shù)是適當?shù)闹?步驟S971:是)時,存儲器控制器200獲取包含被讀取的目標的目標邏輯頁面地址的地址轉換信息頁面的頁碼。存儲器控制器200確定該頁碼的地址轉換信息頁面是否是在被保持的地址轉換信息中(步驟S973)。在此,讀取開始頁面地址首先被設置為目標邏輯頁面地址。
[0197]如果沒有對應的地址轉換信息頁面(步驟S973:否),則存儲器控制器200使用頁面獲取請求從主計算機100獲取地址轉換信息頁面(步驟S954)。
[0198]如果有對應的地址轉換信息頁面(步驟S973:是),或者在步驟S974之后,存儲器控制器200執(zhí)行空閑物理地址分配處理(步驟S980)。存儲器控制器200基于地址轉換信息頁面將所指定的邏輯頁面地址轉換為物理頁面地址(步驟S975)。
[0199]存儲器控制器200產(chǎn)生指定物理頁面地址的讀請求,并將請求添加到隊列中。存儲器控制器200更新訪問頻率信息(步驟S976)。
[0200]存儲器控制器200確定是否完成用于寫入指定頁碼的寫請求的生成(步驟S977)。如果未完成寫請求的生成(步驟S977:否),則存儲器控制器200將目標邏輯頁面地址更新為當前的目標邏輯頁面地址后面的頁面地址(步驟S978)。在步驟S978之后,存儲器控制器200返回到步驟S973。
[0201]當完成寫請求的生成(步驟S977:是)時,或者在步驟S972之后,存儲器控制器200結束寫控制處理。
[0202]圖23是示出第一實施方式中的空閑物理地址分配處理的實例的流程圖。存儲器控制器200查找與所指定的邏輯頁面地址對應的條目,并確定物理頁面地址是否被分配給邏輯頁面地址(步驟S981)。
[0203]當未分配物理頁面地址(步驟S981:否)時,存儲器控制器200查找空閑物理地址信息,并選擇其中一個空閑物理頁面地址。存儲器控制器200將被選擇的物理頁面地址的使用狀態(tài)在空閑物理地址信息中更新為“使用中”(步驟S982)。存儲器控制器200將所選擇的物理頁面地址分配到所指定的邏輯頁面地址。具體地,存儲器控制器200使用所選擇的物理頁面地址來更新關于指定的邏輯頁面地址的條目中的物理頁面地址。存儲器控制器200將條目的分配狀態(tài)更新為“已分配”(步驟S983)。存儲器控制器200將更新的地址轉換信息頁面提供給主計算機100 (步驟S984)。
[0204]當分配了物理頁面地址(步驟S981:是)時,或者在步驟S984之后,存儲器控制器200結束空閑物理地址分配處理。
[0205]圖24是示出第一實施方式中的在初始化過程中的信息處理系統(tǒng)的操作的序列圖的實例。首先,主計算機100指定地址轉換信息保持區(qū)322的地址、發(fā)出其中傳送目的地被設置為主計算機100的初始化命令,并將初始化命令提供給存儲器控制器200。存儲器控制器200根據(jù)初始化命令從非易失性存儲器300讀取所有地址轉換信息,并將地址轉換信息傳送到主計算機100。主計算機100保持被傳送到其的地址轉換信息(步驟S912)。
[0206]主計算機100指定訪問頻率信息保持區(qū)323的地址、發(fā)出其中傳送目的地被設置為存儲器控制器200的初始化命令,并將初始化命令提供給存儲器控制器200。存儲器控制器200根據(jù)初始化命令從非易失性存儲器300讀取并保持訪問頻率信息(步驟S934)。
[0207]主計算機100指定空閑物理地址信息保持區(qū)324的地址、發(fā)出其中傳送目的地被設置為存儲器控制器200的初始化命令,并將初始化命令提供給存儲器控制器200。存儲器控制器200根據(jù)初始化命令從非易失性存儲器300讀取并保持空閑物理地址信息(步驟S936)。
[0208]主計算機100指定地址轉換的信息保持區(qū)322的地址、發(fā)出其中傳送目的地被設置為存儲器控制器200的初始化命令,并將初始化命令提供給存儲器控制器200。存儲器控制器200根據(jù)初始化命令從非易失性存儲器300讀取并保持部分地址轉換信息(步驟S938)。
[0209]圖25是示出第一實施方式中的在用戶數(shù)據(jù)的讀取過程中的信息處理系統(tǒng)的操作的序列圖的實例。發(fā)出傳送頁數(shù)為2頁的讀命令Cl,并且讀命令Cl被劃分為存儲器讀命令Rla和Rib。假設對應于讀命令Cl的第一頁的邏輯頁面地址Lla的條目被保持在存儲器控制器200中,并且對應于第二頁的邏輯頁面地址Llb的條目未被保持在存儲器控制器200中。
[0210]主計算機100發(fā)出讀命令Cl并將讀命令Cl提供給存儲器控制器200。存儲器控制器200查找對應于讀命令Cl的第一頁的邏輯頁面地址Lla的條目,并將邏輯頁面地址Lla轉換為物理頁面地址Pla (步驟S955)。存儲器控制器200產(chǎn)生指定物理頁面地址Pla的存儲器讀命令Rla,并將存儲器讀命令提供給非易失性存儲器300。存儲器控制器200獲取從非易失性存儲器300的物理頁面地址Pla讀取的用戶數(shù)據(jù)Dla,并將用戶數(shù)據(jù)Dla傳送到主計算機100。
[0211]由于存儲器控制器200未保持對應于第二頁的邏輯頁面地址Llb的條目,因此存儲器控制器200使用頁面獲取請求從主計算機100請求包含該條目的地址轉換信息頁面。在用戶數(shù)據(jù)Dla等的讀取過程中,存儲器控制器200從主計算機100獲取所請求的地址轉換信息頁面。具體地,地址轉換信息的獲取與從非易失性存儲器300讀取用戶數(shù)據(jù)Dla (步驟S962)、錯誤糾正(步驟S963)或將用戶數(shù)據(jù)Dla傳送到主機(步驟S964)或者多個處理中的其中一個同時進行。存儲器控制器200基于地址轉換信息頁面將邏輯頁面地址Llb轉換為物理頁面地址Plb (步驟S955)。存儲器控制器200產(chǎn)生指定物理頁面地址Plb的存儲器讀命令Rlb,并將存儲器讀命令提供給非易失性存儲器300。存儲器控制器200從非易失性存儲器300獲取從物理頁面地址Plb讀取的用戶數(shù)據(jù)Dlb,并將用戶數(shù)據(jù)Dlb傳送到主計算機100。
[0212]圖26A和圖26B是示出第一實施方式中的在讀取過程中的存儲器控制器的操作的時序圖的實例。發(fā)出傳送頁數(shù)為2頁的讀命令Cl,并將讀命令Cl劃分為存儲器讀命令Rla和Rib。假設與讀命令Cl的第一頁的邏輯頁面地址Lla對應的條目保持在存儲器控制器200中,并且與第二頁的邏輯頁面地址Llb對應的條目未保持在存儲器控制器200中。
[0213]圖26A是在從主計算機100獲取地址轉換信息頁面的第一實施方式中的時序圖,在時刻t0,地址轉換單元223查找與讀命令Cl的第一頁Lla的邏輯頁面地址對應的條目并將邏輯頁面地址Lla轉換為物理頁面地址Plb。
[0214]在直到時刻tl的周期內(nèi),數(shù)據(jù)傳送單元224發(fā)出指定轉換的物理頁面地址Pla的存儲器讀命令Rla。在從時刻tl到時刻t2的周期內(nèi),地址轉換信息獲取單元222從主計算機100請求與讀命令Cl的第二頁的邏輯頁面地址Llb對應的地址轉換信息頁面。
[0215]在時刻tl,數(shù)據(jù)傳送單元224開始傳送從物理頁面地址Pla讀取的用戶數(shù)據(jù)Dla。
[0216]在從時刻t2到時刻t3的周期內(nèi),地址轉換信息獲取單元222從主計算機100獲取與第二頁的邏輯頁面地址Llb對應的地址轉換信息頁面。
[0217]在從時刻t3到時刻t4的周期內(nèi),地址轉換單元223查找所獲取的地址轉換信息頁面,并將邏輯頁面地址Llb轉換為物理頁面地址Plb。數(shù)據(jù)傳送單元224發(fā)出指定物理頁面地址Plb的存儲器讀命令Rib。
[0218]在時刻t5,當完成用戶數(shù)據(jù)Dla的傳送時,數(shù)據(jù)傳送單元224開始傳送從物理頁面地址Plb讀取的用戶數(shù)據(jù)Dlb。在時刻t5之后的時刻t8,完成用戶數(shù)據(jù)Dlb的傳送。
[0219]圖26B是在假設從非易失性存儲器獲取地址轉換信息頁面的配置的比較實例中的時序圖。在時刻t0,地址轉換單元223查找與讀命令Cl的第一頁的邏輯頁面地址Lla對應的條目,并將邏輯頁面地址Lla轉換為物理頁面地址Pla。
[0220]在直到時刻tl的周期內(nèi),數(shù)據(jù)傳送單元224發(fā)出指定轉換的物理頁面地址Pla的存儲器讀命令Rla。在從時刻tl到時刻t2的周期內(nèi),地址轉換單元223從非易失性存儲器300獲取與第二頁的邏輯頁面地址Llb對應的地址轉換信息頁面。
[0221]在時刻tl,數(shù)據(jù)傳送單元224開始傳送從物理頁面地址Pla讀取的用戶數(shù)據(jù)Dla。
[0222]在時刻t5,當完成用戶數(shù)據(jù)Dla的傳送時,在從時刻t5到時刻t6的周期內(nèi),地址轉換單元223從非易失性存儲器300中獲取與邏輯頁面地址Llb對應的地址轉換信息頁面。
[0223]需注意,主計算機100與存儲器控制器200之間的數(shù)據(jù)傳送速率通常比非易失性存儲器300與存儲器控制器200之間的數(shù)據(jù)傳送速率快。因此,從非易失性存儲器300獲取地址轉換信息所花費的時間(=T6-T5)通常比從主計算機100獲取地址轉換信息所花費的時間(=T3-T2)長。
[0224]在從時刻t6到時刻t7的周期內(nèi),地址轉換單元223查找所獲取的地址轉換信息頁面,并將邏輯頁面地址Llb轉換為物理頁面地址Plb。數(shù)據(jù)傳送單元224發(fā)出指定物理頁面地址Plb的存儲器讀命令。
[0225]在時刻t7,數(shù)據(jù)傳送單元224開始傳送從物理頁面地址Plb讀取的用戶數(shù)據(jù)Dla。在時刻t7和t8之后的時刻t9,完成用戶數(shù)據(jù)Dlb的傳送。
[0226]從主計算機100獲取地址轉換信息的圖26A的情況將與從非易失性存儲器300獲取地址轉換信息的圖26B的情況比較。在前一種情況下,從非易失性存儲器300讀取用戶數(shù)據(jù)和從主計算機100獲取地址轉換信息可并行地執(zhí)行。因此,在用戶數(shù)據(jù)Dla的傳送過程中,存儲器控制器200可獲取用于下一個用戶數(shù)據(jù)Dlb的傳送所必需的地址轉換信息頁面。因此,在完成用戶數(shù)據(jù)Dla的傳送的時刻t5,存儲器控制器200可開始傳送用戶數(shù)據(jù)Dlb。
[0227]相反,在后一種情況下,由于從非易失性存儲器300讀取地址轉換信息,因此可能不能并行地執(zhí)行地址轉換信息的讀取和用戶數(shù)據(jù)的讀取。因此,存儲器控制器200可能不能開始地址轉換信息的傳送,直到完成用戶數(shù)據(jù)Dla的傳送之后的時刻t5。存儲器控制器200可能不能開始下一個用戶數(shù)據(jù)Dlb的傳送,直到完成地址轉換信息的傳送之后的時刻t6。換言之,用戶數(shù)據(jù)Dlb的傳送被延遲了傳送地址轉換信息所花費的時間量。
[0228]因此,通過如圖26A所示例的從主計算機100獲取地址轉換信息,由于地址轉換信息的傳送而引起的用戶數(shù)據(jù)D2的傳送延遲被抑制,如圖26B所示。因此,縮短了數(shù)據(jù)的傳送時間。
[0229]以這種方式,根據(jù)本發(fā)明的第一實施方式,由于存儲器控制器200從主計算機100獲取條目,因此可以并行地執(zhí)行條目的獲取和傳送數(shù)據(jù)的傳送。因此,可以通過抑制由條目的獲取所引起的延遲來減少傳送所述傳送數(shù)據(jù)所花費的時間。
[0230]2.第二實施方式
[0231]主計算機的配置實例
[0232]在第一實施例中,存儲器控制器200執(zhí)行地址轉換,而不管傳送數(shù)據(jù)的數(shù)據(jù)大小(傳送頁數(shù))。然而,當由傳送命令指定的傳送頁數(shù)相對較少時,存在存儲器控制器200可能不能并行執(zhí)行條目的傳送和傳送數(shù)據(jù)的傳送的問題。例如,對以下情況給出考慮:在完成根據(jù)具有“I”的傳送頁數(shù)的讀命令Cl的用戶數(shù)據(jù)Dl的傳送之后,發(fā)出具有“I”的傳送頁數(shù)的讀命令C2。在這種情況下,由于完成用戶數(shù)據(jù)Dl的傳送,因此存儲器控制器200可能不能并行執(zhí)行對應于讀命令C2的條目的傳送和用戶數(shù)據(jù)Dl的傳送。因此,可能不會減少傳送數(shù)據(jù)的傳送時間。
[0233]第二實施方式的信息處理系統(tǒng)與第一實施方式的不同之處在于:當傳送頁數(shù)相對較少時,主計算機100代替存儲器控制器200執(zhí)行地址轉換。
[0234]圖27是示出第二實施方式中的主計算機100的配置實例的框圖。第二實施方式的主計算機100與第一實施方式的主計算機100的不同之處在于進一步設置地址轉換單元125。第二實施方式的主計算機100與第一實施方式的主計算機100的不同之處在于在RAMl30中進一步設置空閑物理地址信息保持區(qū)132。
[0235]在初始化處理中,第二實施方式的初始化處理單元121進一步發(fā)出用于讀取空閑物理地址信息的讀命令。讀命令的傳送目的地被設置為主計算機100。初始化處理單元121從存儲器控制器200獲取空閑物理地址信息,并使空閑物理地址信息保持區(qū)132保持空閑物理地址信息。
[0236]地址轉換單元125確定由傳送命令指定的傳送頁數(shù)是否小于預定值(例如,“2”)。當傳送頁數(shù)小于預定值時,地址轉換單元125查找地址轉換信息和空閑物理地址信息,并將指定的邏輯頁面地址轉換為物理頁面地址。地址轉換單元125將被設置為“開(on)”的轉換標記和轉換的物理頁面地址添加到傳送命令,并將傳送命令提供給數(shù)據(jù)傳送處理單元123。轉換標記是指示主計算機100是否執(zhí)行地址轉換的標記。例如,當主計算機100執(zhí)行地址轉換時,轉換標記被設置為“開”,并且在不是這種情況時設置為“關(off) ”。
[0237]另一方面,當傳送頁數(shù)是預定值或更大時,地址轉換單元125將被設置為“關”的轉換標記添加到傳送命令,并將傳送命令提供給數(shù)據(jù)傳送處理單元123,而不執(zhí)行地址轉換。
[0238]當?shù)诙嵤┓绞降牡刂忿D換信息管理單元124接收到更新的地址轉換信息頁面時,地址轉換信息管理單元124還根據(jù)需要更新空閑物理地址信息。
[0239]在接收到具有被設置為“開”的轉換標記的傳送命令時,存儲器控制器200使用由命令指定的邏輯頁面地址和物理頁面地址更新RAM230中的地址轉換信息和空閑物理地址信息。因此,確保分別由主計算機100和存儲器控制器200保持的地址轉換信息和空閑物理地址信息之間的完整性。
[0240]需注意,存儲器控制器200使用具有被設置為“開”的轉換標記的傳送命令更新保持在其中的地址轉換信息和空閑物理地址信息;然而,本公開并不限于該配置。例如,也可采用以下配置:主計算機100中的地址轉換信息管理單元124與傳送命令分開地為存儲器控制器200提供指示與更新傳送命令相關的邏輯頁面地址和物理頁面地址的通知。在這種情況下,存儲器控制器200基于通知中的地址更新保持在其中的地址轉換信息和空閑物理地址信息。
[0241]地址轉換信息管理單元124可與傳送命令分開地為存儲器控制器200提供指示所更新的地址轉換信息頁面和空閑物理地址信息頁面的通知。在這種情況下,存儲器控制器200基于通知中的頁碼更新保持在其中的地址轉換信息和空閑物理地址信息。
[0242]當主計算機100中的地址轉換單元125確定是否有必要在地址轉換中分配新的物理頁面地址時,地址轉換單元125可改變?yōu)槭勾鎯ζ骺刂破?00執(zhí)行地址轉換的處理。具體地,當傳送頁數(shù)小于預定值并且邏輯頁面地址被分配給物理頁面地址時,地址轉換單元125執(zhí)行地址轉換。另一方面,當傳送頁數(shù)是預定值或更大或者物理頁面地址未被分配給邏輯頁面地址時,主計算機100提供具有被設置為“關”的轉換標記的傳送指令,而不執(zhí)行地址轉換。在該配置中,主計算機100無需保持空閑物理地址信息。
[0243]圖28A和圖28B是示出第二實施方式中的傳送命令的數(shù)據(jù)配置的實例的示圖。圖28A是當傳送頁數(shù)是預定值或更大時的傳送命令的實例。在這種情況下,由于主計算機100不執(zhí)行地址轉換,因此被設置為“關”的轉換標記被添加到傳送命令。
[0244]圖28B是當傳送頁數(shù)小于預定值時的傳送命令的實例。在這種情況下,由于主計算機100執(zhí)行地址轉換,因此被設置為“開”的轉換標記和轉換的物理頁面地址被添加到傳送命令。預轉換邏輯頁面地址未從傳送命令中刪除,并與物理頁面地址一起被發(fā)送到存儲器控制器200。邏輯頁面地址用于更新訪問頻率。需注意,在圖28A和圖28B中,省略了傳送源地址和傳送目的地地址。
[0245]當轉換標記被設置為“開”時,第二實施方式的存儲器控制器200產(chǎn)生指定所添加的物理頁面地址的傳送請求,而不執(zhí)行地址轉換。另一方面,當轉換標記被設置為“關”時,存儲器控制器200執(zhí)行地址轉換,并與第一實施方式相同的方式產(chǎn)生傳送請求。
[0246]需注意,采用以下配置:當傳送頁數(shù)小于預定值時,主計算機100將邏輯頁面地址與物理頁面地址一起提供給存儲器控制器200 ;然而,也可采用僅提供物理頁面地址的配置。在這種情況下,當主機計算機100執(zhí)行地址轉換時,存儲器控制器200不更新訪問頻率。
[0247]圖29是示出第二實施方式中主機端處理的實例的流程圖。第二實施方式的主機端處理與第一實施方式的主機端處理的不同之處在于:進一步執(zhí)行步驟S995至S999。
[0248]當發(fā)出傳送命令(步驟S923:是)時,主計算機100確定由傳送命令指定的傳送頁數(shù)是否是2頁或更多(步驟S995)。當傳送頁數(shù)是2頁或更多(步驟S995:是)時,主計算機100將被添加了被設置為“關”的轉換標記的傳送命令提供給存儲器控制器200 (步驟S924)。主計算機100執(zhí)行步驟S925至S927。
[0249]當傳送頁數(shù)小于2頁(步驟S995:否)時,主計算機100將邏輯頁面地址轉換為物理頁面地址(步驟S996)。當主機100在地址轉換中重新分配空閑物理頁面地址時,主計算機100更新空閑物理地址信息(步驟S997)。
[0250]主計算機100將轉換標記設置為“開”(步驟S998)。主計算機100將轉換標記和物理頁面地址添加到傳送命令,并將傳送命令提供給存儲器控制器200 (步驟S999)。過程返回到步驟S923。
[0251]圖30是示出第二實施方式中的主機端初始化處理的實例的流程圖。第二實施方式的主機端初始化處理與第一實施方式的主機端初始化處理的不同之處在于進一步執(zhí)行步驟S916至S918。
[0252]當完成訪問頻率信息的讀取(步驟S915:是)時,主計算機發(fā)出用于讀取空閑物理地址信息100的初始化命令。在初始化命令中,空閑物理地址信息(其是讀數(shù)據(jù))的傳送目的地被設置為主計算機100。主計算機100將初始化命令提供給存儲器控制器200 (步驟 S916)。
[0253]主計算機100保持所讀取的空閑物理地址信息頁面(步驟S917)。主計算機100基于來自存儲器控制器200的狀態(tài)確定是否完成所有(32頁)空閑物理地址信息頁面的讀取(步驟S918)。如果完成了所有頁面的讀取(步驟S918:否),則主計算機100返回到步驟 S917。
[0254]如果完成空閑物理地址信息的讀取(步驟S918:是),則主計算機100執(zhí)行步驟S919 至 S922。
[0255]圖31是示出第二實施方式中的控制器端初始化處理的實例的流程圖。第二實施方式的控制器端初始化處理與第一實施方式的控制器端初始化處理的不同之處在于進一步執(zhí)行步驟S937至S938。
[0256]需注意,如圖30和圖31所示,采用存儲器控制器200根據(jù)具有不同傳送目的地的兩個初始化命令傳送并保持空閑物理地址信息的配置;然而本公開并不限于該配置。也可采用以下配置:主計算機100發(fā)出一個初始化命令,并且存儲器控制器200保持空閑物理地址信息,并根據(jù)初始化命令將空閑物理地址信息傳送到主計算機100。
[0257]當存儲器控制器200保持空閑物理地址信息(步驟S936)時,存儲器控制器200確定是否接收到用于讀取空閑物理地址信息的初始化命令(步驟S937)。如果未接收到用于讀取空閑物理地址信息的初始化命令(步驟S937:否),則存儲器控制器200返回到步驟S937。如果接收到初始化命令(步驟S937:是),則存儲器控制器200從非易失性存儲器300讀取空閑物理地址信息并將空閑物理地址信息傳送到主計算機100 (步驟S938)。在步驟S938之后,存儲器控制器200執(zhí)行步驟S939和S940。
[0258]圖32是示出第二實施方式的讀控制處理的實例的流程圖。第二實施方式的讀控制處理與第一實施方式的讀控制處理的不同之處在于進一步執(zhí)行步驟S959。
[0259]存儲器控制器200確定所指定的邏輯頁面地址和傳送頁數(shù)是否是適當?shù)闹?步驟S951)。然而,當轉換標記是“開”時,由于傳送頁數(shù)是“1”,存儲器控制器200可僅確定邏輯頁面地址是否是適當?shù)闹怠?br> [0260]當所指定的邏輯頁面地址和傳送頁數(shù)是適當?shù)闹?步驟S951:是)時,存儲器控制器200查找轉換標記。存儲器控制器200確定邏輯頁面地址是否由主計算機100轉換(步驟S959)。當邏輯頁面地址未被轉換(步驟S959:否)時,存儲器控制器200執(zhí)行步驟S953至S955。當邏輯頁面地址被轉換(步驟S959:是)時,或者在步驟S955之后,存儲器控制器200產(chǎn)生指定所轉換的物理頁面地址的讀請求。存儲器控制器200還更新由傳送命令指定的邏輯頁面地址的訪問頻率(步驟S956)。存儲器控制器200繼續(xù)執(zhí)行步驟S957的處理。
[0261]圖33是示出第二實施方式中的寫控制處理的實例的流程圖。第二實施方式的寫控制處理與第一實施方式的寫控制處理的不同之處在于進一步執(zhí)行步驟S979。
[0262]當所指定的邏輯頁面地址和傳送頁數(shù)是適當?shù)闹?步驟S971:是)時,存儲器控制器200查找轉換標記。存儲器控制器200確定邏輯頁面地址是否由主計算機100轉換(步驟S979)。當邏輯頁面地址未被轉換(步驟S979:否)時,存儲器控制器200執(zhí)行步驟S973至S975。另一方面,當邏輯頁面地址被轉換(步驟S979:是)時,或者在步驟S975之后,存儲器控制器200產(chǎn)生指定所轉換的物理頁面地址的寫請求。存儲器控制器200還更新由傳送命令指定的邏輯頁面地址的訪問頻率(步驟S976)。存儲器控制器200繼續(xù)執(zhí)行步驟S977的處理。
[0263]圖34是示出第二實施方式中的在初始化過程中的信息處理系統(tǒng)的操作的序列圖的實例。主計算機100保持由存儲器控制器200傳送至其的地址轉換信息(步驟S912)。
[0264]存儲器控制器200根據(jù)來自主計算機100的初始化命令保持從非易失性存儲器300讀取的訪問頻率信息(步驟S934)。
[0265]主計算機100發(fā)出其中傳送目的地被設置為主計算機100的初始化命令,并將初始化命令提供給存儲器控制器200。存儲器控制器200根據(jù)初始化命令從非易失性存儲器300讀取空閑物理地址信息,并將空閑物理地址信息傳送到主計算機100。主計算機100保持被傳送至其的空閑物理地址信息(步驟S917)。
[0266]存儲器控制器200根據(jù)來自主計算機100的初始化命令保持空閑物理地址信息(步驟S936),并保持部分地址轉換信息(步驟S938)。
[0267]圖35是示出第二實施方式中的在用戶數(shù)據(jù)的讀取過程中的信息處理系統(tǒng)的操作的序列圖的實例。將假設依次發(fā)出分別指定不同邏輯頁面地址的讀命令Cl和C2。假設讀命令Cl的傳送頁數(shù)是2頁,并且讀命令C2的傳送頁數(shù)是I頁。假設對應于讀命令C2的邏輯頁面地址L2的條目未保持在存儲器控制器200中。
[0268]由于讀命令Cl中的傳送頁數(shù)是2頁,引出邏輯頁面地址以與第一實施例相同的方式通過存儲器控制器200轉換為物理頁面地址。
[0269]另一方面,由于讀命令C2的傳送頁數(shù)是I頁,引出主計算機100將讀命令C2的邏輯頁面地址L2轉換為物理頁面地址P2 (步驟S926)。主計算機100將包括邏輯頁面地址L2和物理頁面地址P2的讀命令C2提供給存儲器控制器200。存儲器控制器200產(chǎn)生指定物理頁面地址P2的存儲器讀命令R2,并將存儲器讀命令提供給非易失性存儲器300。存儲器控制器200更新邏輯頁面地址L2的訪問頻率。
[0270]根據(jù)第二實施方式,由于當傳送數(shù)據(jù)的數(shù)據(jù)大小小于預定大小時主計算機100執(zhí)行地址轉換,因此存儲器控制器200無需獲取地址轉換信息的條目。因此,當傳送數(shù)據(jù)的數(shù)據(jù)大小小于預定大小時,抑制由于條目的獲取所引起的數(shù)據(jù)傳送時間的延遲。
[0271]假設上述實施方式中的記錄在非易失性存儲器300中的地址轉換信息被保持在主計算機100的地址轉換信息保持區(qū)131中。然而,在地址轉換信息的保持中,可執(zhí)行加密和檢錯碼的添加以防止來自外部的非預期的更新或訪問。在這種情況下,用于實現(xiàn)加密、解密、檢錯碼的添加以及檢錯的功能的每一個的電路和程序位于主計算機100或存儲控制器200 中。
[0272]需注意,上述實施方式示出了用于實現(xiàn)本公開的實例,并且在實施方式中的條目與在權利要求的范圍內(nèi)的本公開的特定條目彼此對應。類似地,在權利要求的范圍內(nèi)的本公開的特定條目與本公開的實施方式中的具有相同名稱的條目彼此對應。然而,本公開并不限于實施方式,并且在不偏離本公開的精神的情況下,可以通過對實施方式作出各種修改來實現(xiàn)本公開。
[0273]在上述實施方式中描述的過程可被解釋為包括一系列步驟的方法,并且也可被解釋為用于使計算機執(zhí)行一系列步驟的程序以及存儲該程序的記錄介質??梢允褂霉獗P(⑶)、迷你光盤(MD)、數(shù)字通用光盤(DVD)、存儲器卡、藍光光盤(tm)等作為記錄介質。
[0274]本公開可采用以下配置。
[0275](I) 一種存儲器控制裝置,包括:地址轉換信息保持部分,保持選自地址轉換信息的部分條目,地址轉換信息包含將邏輯地址與存儲器裝置的物理地址相關聯(lián)的多個條目;地址轉換信息獲取單元,當包含由主計算機指定的邏輯地址的條目未被保持在地址轉換信息保持部分中時,地址轉換信息獲取單元從主計算機中獲取未被保持的條目并使地址轉換信息保持部分保持條目;地址轉換單元,基于保持在地址轉換信息保持部分中的條目將指定的邏輯地址轉換為物理地址;以及數(shù)據(jù)傳送單元,執(zhí)行其中傳送數(shù)據(jù)使用所轉換的物理地址來傳送的數(shù)據(jù)傳送過程。
[0276](2)根據(jù)(I)所述的存儲器控制裝置,進一步包括訪問頻率保持部分,訪問頻率保持部分為每個條目保持與對應于條目的邏輯地址相關的訪問頻率,其中,數(shù)據(jù)傳送單元進一步執(zhí)行初始化處理,初始化處理包括選擇部分條目、優(yōu)先訪問頻率高的條目以及使地址轉換信息保持部分保持所選擇的條目的過程。
[0277](3)根據(jù)(2)所述的存儲器控制裝置,其中,數(shù)據(jù)傳送單元執(zhí)行進一步包括從存儲器裝置中獲取所有條目以及將條目傳送到主計算機的過程的初始化處理。
[0278](4)根據(jù)(I)至(3)中任一項所述的存儲器控制裝置,其中,由主計算機指定的地址是物理地址或邏輯地址,其中,當由主計算機指定的地址是邏輯地址時,地址轉換單元基于條目將指定的邏輯地址轉換為物理地址,并且其中,數(shù)據(jù)傳送單元使用由主計算機指定的物理地址或所轉換的物理地址來傳送所述傳送數(shù)據(jù)。
[0279](5)根據(jù)(4)所述的存儲器控制裝置,其中,由主計算機指定的地址是邏輯地址和物理地址或者邏輯地址,并且當由主計算機指定的地址是邏輯地址和物理地址時,地址轉換單元基于所指定的物理地址更新對應于所指定的邏輯地址的條目。
[0280](6)根據(jù)(4)所述的存儲器控制裝置,其中,主計算機為存儲器控制單元提供指定物理地址或邏輯地址的命令以及指示邏輯地址和重新分配給邏輯地址的物理地址的通知,并且其中,當通知被提供給地址轉換單元時,地址轉換單元基于由通知所指示的物理地址更新對應于由通知指示的邏輯地址的條目。
[0281](7) 一種主計算機,包括:保持部分,保持包含將邏輯地址與存儲器裝置的物理地址相關聯(lián)的多個條目的地址轉換信息;地址轉換單元,當在存儲器裝置與主計算機之間傳送的傳送數(shù)據(jù)的數(shù)據(jù)大小小于預定大小時,地址轉換單元基于所保持的條目將邏輯地址轉換為物理地址;以及命令單元,指定邏輯地址或轉換的物理地址并指示存儲器控制裝置傳送所述傳送數(shù)據(jù)。
[0282](8)根據(jù)(7)所述的主計算機,進一步包括為存儲器控制裝置提供指示邏輯地址和重新分配給邏輯地址的物理地址的通知的地址轉換信息管理單元;其中,保持單元進一步保持未被分配邏輯地址的物理地址作為空閑物理地址,并且其中,當物理地址不與邏輯地址相關聯(lián)時,地址轉換單元將空閑物理地址重新分配給邏輯地址。
[0283](9)根據(jù)(7)所述的主計算機,其中,當在存儲器裝置與主計算機之間傳送的傳送數(shù)據(jù)的數(shù)據(jù)大小小于預定大小并且物理地址不與邏輯地址相關聯(lián)時,地址轉換單元基于所保持的條目將邏輯地址轉換為物理地址。
[0284](10) 一種信息處理系統(tǒng),包括:主計算機,保持包含將邏輯地址與存儲器裝置的物理地址相關聯(lián)的多個條目的地址轉換信息;地址轉換信息保持部分,保持選自地址轉換信息的部分條目;地址轉換信息獲取單元,當包含由主計算機指定的邏輯地址的條目未被保持在地址轉換信息保持單元中時,地址轉換信息獲取單元從主計算機獲取未被保持的條目并使地址轉換信息保持部分保持所述條目;地址轉換單元,基于被保持在地址轉換信息保持部分中的條目將指定的邏輯地址轉換為物理地址;以及數(shù)據(jù)傳送單元,執(zhí)行其中傳送數(shù)據(jù)使用所轉換的物理地址來傳送的數(shù)據(jù)傳送過程。
[0285](11) 一種控制存儲器控制裝置的方法,包括:地址轉換信息獲取過程,其中,當包含由主計算機指定的邏輯地址的條目未被保持在地址轉換信息保持部分中時,地址轉換信息獲取單元從主計算機獲取未被保持的條目并使地址轉換信息保持部分保持所述條目,其中,地址轉換信息保持部分保持選自包含將邏輯地址與存儲器裝置的物理地址關聯(lián)的多個條目的地址轉換信息的部分條目;地址轉換過程,其中,地址轉換單元基于被保持在地址轉換信息保持部分中的條目將指定的邏輯地址轉換為物理地址;以及數(shù)據(jù)傳送過程,其中,數(shù)據(jù)傳送單元執(zhí)行其中傳送數(shù)據(jù)使用所轉換的物理地址來傳送的數(shù)據(jù)傳送過程。
[0286] 本領域技術人員應理解,根據(jù)設計要求和其它因素,可出現(xiàn)各種修改、組合、子組合和變更,只要它們在所附權利要求或其等同物的范圍內(nèi)即可。
【權利要求】
1.一種存儲器控制裝置,包括: 地址轉換信息保持單元,保持選自地址轉換信息的部分條目,所述地址轉換信息包含將邏輯地址與存儲器裝置的物理地址相關聯(lián)的多個條目; 地址轉換信息獲取單元,當包含由主計算機所指定的所述邏輯地址的條目未被保持在所述地址轉換信息保持單元中時,所述地址轉換信息獲取單元從所述主計算機獲取未被保持的所述條目并使所述地址轉換信息保持單元保持所述條目; 地址轉換單元,基于被保持在所述地址轉換信息保持單元中的所述條目將所指定的邏輯地址轉換為所述物理地址;以及 數(shù)據(jù)傳送單元,執(zhí)行傳送數(shù)據(jù)使用所轉換的物理地址來傳送的數(shù)據(jù)傳送過程。
2.根據(jù)權利要求1所述的存儲器控制裝置,進一步包括: 訪問頻率保持單元,為每個條目保持與對應于所述條目的所述邏輯地址相關的訪問頻率, 其中,所述數(shù)據(jù)傳送單元進一步執(zhí)行初始化處理,所述初始化處理包括選擇部分所述條目、優(yōu)先所述訪問頻率高的所述條目以及使所述地址轉換信息保持單元保持所選擇的條目的過程。
3.根據(jù)權利要求2所述的存儲器控制裝置, 其中,所述數(shù)據(jù)傳送單元執(zhí)行進一步包括從所述存儲器裝置中獲取所有所述條目以及將所述條目傳送到所述主計算機的過程的初始化處理。
4.根據(jù)權利要求1所述的存儲器控制裝置, 其中,由所述主計算機指定的地址是所述物理地址或所述邏輯地址, 其中,當由所述主計算機指定的所述地址是所述邏輯地址時,所述地址轉換單元基于所述條目將被指定的所述邏輯地址轉換為所述物理地址,并且 其中,所述數(shù)據(jù)傳送單元使用由所述主計算機指定的物理地址或所轉換的物理地址來傳送所述傳送數(shù)據(jù)。
5.根據(jù)權利要求4所述的存儲器控制裝置, 其中,由所述主計算機指定的地址是所述邏輯地址和所述物理地址或者所述邏輯地址,并且 其中,當由所述主計算機指定的所述地址是所述邏輯地址和所述物理地址時,所述地址轉換單元基于所指定的物理地址更新對應于所指定的邏輯地址的所述條目。
6.根據(jù)權利要求4所述的存儲器控制裝置, 其中,所述主計算機為所述存儲器控制單元提供指定所述物理地址或所述邏輯地址的命令以及指示所述邏輯地址和新分配給所述邏輯地址的所述物理地址的通知,并且 其中,當所述通知被提供給所述地址轉換單元時,所述地址轉換單元基于由所述通知所指示的所述物理地址更新與由所述通知指示的所述邏輯地址對應的所述條目。
7.一種主計算機,包括: 保持單元,保持包含將邏輯地址與存儲器裝置的物理地址關聯(lián)的多個條目的地址轉換信息; 地址轉換單元,當在所述存儲器裝置與所述主計算機之間傳送的傳送數(shù)據(jù)的數(shù)據(jù)大小小于預定大小時,所述地址轉換單元基于被保持的所述條目將所述邏輯地址轉換為所述物理地址;以及 命令單元,指定所述邏輯地址或所轉換的物理地址并指示存儲器控制裝置傳送所述傳送數(shù)據(jù)。
8.根據(jù)權利要求7所述的主計算機,進一步包括: 地址轉換信息管理單元,為所述存儲器控制裝置提供指示所述邏輯地址和新分配給所述邏輯地址的所述物理地址的通知, 其中,所述保持單元進一步保持未被分配所述邏輯地址的所述物理地址作為空閑物理地址,并且 其中,當物理地址不與所述邏輯地址相關聯(lián)時,所述地址轉換單元重新將所述空閑物理地址分配給所述邏輯地址。
9.根據(jù)權利要求7所述的主計算機, 其中,當在所述存儲器裝置與所述主計算機之間傳送的所述傳送數(shù)據(jù)的數(shù)據(jù)大小小于所述預定大小并且所述物理地址不與所述邏輯地址相關聯(lián)時,所述地址轉換單元基于被保持的所述條目將所述邏輯地址轉換為所述物理地址。
10.一種信息處理系統(tǒng),包括: 主計算機,保持包含將邏輯地址與存儲器裝置的物理地址相關聯(lián)的多個條目的地址轉換信息; 地址轉換信息保持單元,保持選自所述地址轉換信息的部分條目; 地址轉換信息獲取單元,當包含由所述主計算機指定的所述邏輯地址的所述條目未被保持在所述地址轉換信息保持單元中時,所述地址轉換信息獲取單元從所述主計算機中獲取未被保持的所述條目并使所述地址轉換信息保持單元保持所述條目; 地址轉換單元,基于被保持在所述地址轉換信息保持單元中的所述條目將所指定的邏輯地址轉換為所述物理地址;以及 數(shù)據(jù)傳送單元,執(zhí)行傳送數(shù)據(jù)使用所轉換的物理地址來傳送的數(shù)據(jù)傳送過程。
11.根據(jù)權利要求10所述信息處理系統(tǒng),進一步包括: 訪問頻率保持單元,為每個條目保持與對應于所述條目的所述邏輯地址相關的訪問頻率, 其中,所述數(shù)據(jù)傳送單元進一步執(zhí)行初始化處理,所述初始化處理包括選擇部分所述條目、優(yōu)先所述訪問頻率高的所述條目以及使所述地址轉換信息保持單元保持所選擇的條目的過程。
12.—種控制存儲器控制裝置的方法,包括: 地址轉換信息獲取過程,其中,當包含由主計算機指定的邏輯地址的條目未被保持在地址轉換信息保持單元中時,地址轉換信息獲取單元從所述主計算機中獲取未被保持的所述條目并使所述地址轉換信息保持單元保持所述條目,其中,所述地址轉換信息保持單元保持選自包含將所述邏輯地址與存儲器裝置的物理地址相關聯(lián)的多個條目的地址轉換信息的部分條目; 地址轉換過程,其中,地址轉換單元基于被保持在所述地址轉換信息保持單元中的所述條目將所指定的邏輯地址轉換為所述物理地址;以及 數(shù)據(jù)傳送過程,其中,數(shù)據(jù)傳送單元執(zhí)行傳送數(shù)據(jù)使用所轉換的物理地址來傳送的數(shù) 據(jù)傳送過程。
【文檔編號】G06F12/06GK104375951SQ201410387098
【公開日】2015年2月25日 申請日期:2014年8月7日 優(yōu)先權日:2013年8月14日
【發(fā)明者】藤波靖 申請人:索尼公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1