存儲控制設(shè)備、存儲設(shè)備、信息處理系統(tǒng)及存儲控制方法
【專利摘要】本發(fā)明公開了存儲控制設(shè)備、存儲設(shè)備、信息處理系統(tǒng)及存儲控制方法。其中,該存儲控制設(shè)備包含:標準讀請求單元、錯誤校正單元和高精度讀請求單元。該標準讀請求單元被配置為將用于具有標準精度的讀取的請求發(fā)送至存儲器中的讀地址。該錯誤校正單元被配置為響應(yīng)于具有標準精度的讀請求基于錯誤校正碼和由存儲器返回的數(shù)據(jù)執(zhí)行錯誤校正。該高精度讀請求單元被配置為在發(fā)生了通過錯誤校正不能校正的錯誤時,再次將用于具有比標準精度高的精度的讀取的請求發(fā)送至讀地址。
【專利說明】存儲控制設(shè)備、存儲設(shè)備、信息處理系統(tǒng)及存儲控制方法
[0001]相關(guān)申請的交叉引用
[0002]本申請要求于2012年10月29日提交的日本在先專利申請JP2012-237383的優(yōu)先權(quán),其全部內(nèi)容結(jié)合于此作為參考。
【技術(shù)領(lǐng)域】
[0003]本發(fā)明涉及存儲控制設(shè)備。具體地,本發(fā)明涉及存儲設(shè)備針對將數(shù)據(jù)與錯誤校正碼一起存儲的存儲器執(zhí)行存儲控制的存儲控制設(shè)備及其處理方法。
【背景技術(shù)】
[0004]從過去就已經(jīng)開發(fā)一種技術(shù):存儲器(輔助存儲設(shè)備)被進一步提供給包括處理器及其工作存儲器(主存儲設(shè)備)的信息處理系統(tǒng)以提高存儲容量。在該信息處理系統(tǒng)中,DRAM (動態(tài)隨機存取存儲器)等被用作工作存儲器。另一方面,非易失性存儲器(NVM)有時可被用作存儲器。該非易失性存儲器大致被分為大量處理數(shù)據(jù)存取的閃存和能夠小量執(zhí)行快速隨機存取的非易失隨機存取存儲器(NVRAM)。這里,引用NAND閃存作為閃存的典型實例。另一方面,非易失RAM的實例包括PCRAM (相變RAM)、MRAM (磁阻RAM)和ReRAM (電阻式RAM)等。
[0005]在現(xiàn)有技術(shù)的非易失性存儲器中,除經(jīng)典的讀取方法外,已經(jīng)提出了一種具有高精度但涉及讀時間的讀方法(例如,見日本專利申請公開第2011-165297號)。S卩,公開了動態(tài)讀取以及靜態(tài)讀取,該動態(tài)讀取這是一種典型的具有相對較低的精度的典型高速讀取方法,該靜態(tài)讀取是一種具有高精度的較低速度讀取方法。
【發(fā)明內(nèi)容】
[0006]非易失性存儲器具有重復的寫和讀訪問的這種機制從而導致其劣化的這種機制。從在這種狀態(tài)下的單元讀取的數(shù)據(jù)可能以包括誤碼的方式被讀取。因此,在單元的狀態(tài)影響下,發(fā)生的誤碼可根據(jù)讀取操作結(jié)果變化。例如,在某些數(shù)據(jù)存儲在劣化的單元中的情況下,當執(zhí)行高速動態(tài)讀取操作時,誤碼的數(shù)目可能增加。在這種情況下,在上述現(xiàn)有技術(shù)中,沒有在非易失性存儲器裝置中檢測誤碼的方法,并且因為讀取操作根據(jù)目的分配從而改善讀取數(shù)據(jù)的結(jié)果是不可能的。其中存儲在非易失性存儲器的數(shù)據(jù)不被正確地讀取的狀態(tài)意味著信息被丟失,這是作為系統(tǒng)的致命條件。即,作為用于防止這種情況的有效方法,具有高精度的讀取方法沒有被充分使用。
[0007]考慮到上述情況,人們期望根據(jù)在處理具有標準精度的讀取和具有高精度的讀取兩者的存儲器中的錯誤校正狀態(tài)來控制讀請求。
[0008]根據(jù)本發(fā)明的實施方式,提供一種存儲控制設(shè)備,其包括:標準讀請求單元、錯誤校正單元和高精度讀請求單元。標準讀請求單元被配置為將具有標準精度的讀取的請求發(fā)送至存儲器中的讀地址。錯誤校正單元被配置為響應(yīng)于具有標準精度的讀請求基于錯誤校正碼和由存儲器返回的數(shù)據(jù)執(zhí)行錯誤校正。高精度讀請求單元被配置為在發(fā)生錯誤校正不能校正的錯誤時,再次將具有比標準精度高的精度的讀請求發(fā)送至該讀地址。此外,為此提供一種存儲控制方法。通過這個結(jié)構(gòu),在錯誤校正不能在關(guān)于存儲器的具有標準精度的讀取中執(zhí)行的情況下,具有高精度的讀取向存儲器發(fā)送請求。
[0009]此外,在實施方式中,存儲控制設(shè)備還可以包括記錄單元,該記錄單元被配置為在錯誤全部通過錯誤校正校正,以及被校正的錯誤的位計數(shù)滿足特定要求的情況下記錄讀地址。當根據(jù)新讀請求的新讀地址被記錄在記錄單元中時,具有高精度的讀請求可以被發(fā)送至新讀地址而不是發(fā)送具有標準精度的讀請求。因此,針對其中被校正的錯誤的位計數(shù)滿足特定要求的地址執(zhí)行高精度讀取。在這種情況下,當被校正的錯誤的位計數(shù)超過預定閾值時,記錄單元可以確定滿足某些條件并記錄讀地址。
[0010]此外,在這一實施方式中,當讀地址對應(yīng)于預定的地址區(qū)域時,可將具有高精度的讀請求發(fā)送至讀地址而不是發(fā)送具有標準精度的讀請求。因此,根據(jù)地址區(qū)域執(zhí)行具有高精度的讀取。在這種情況下,預定地址區(qū)域可以是系統(tǒng)區(qū)域。
[0011]此外,在實施方式,錯誤校正單元基于第一錯誤校正碼針對具有第一大小的數(shù)據(jù)執(zhí)行錯誤校正,并且基于具有比第一錯誤校正碼的校正能力強的校正能力的第二錯誤校正碼針對具有比第一大小大的第二大小的數(shù)據(jù)執(zhí)行錯誤校正,并且當發(fā)給讀地址的讀請求具有等于或者小于第一大小的大小時,具有高精度的讀請求可被發(fā)送至讀地址而不發(fā)送具有標準精度的讀請求。因此,在數(shù)據(jù)大小不超過第一大小的情況下執(zhí)行具有高精度的讀取。
[0012]此外,在實施方式中,當?shù)阶x地址的存取頻率滿足特定要求時,具有高精度的讀請求可以被發(fā)送至讀地址而不發(fā)是送具有標準精度的讀請求。因此,根據(jù)存取頻率執(zhí)行具有高精度的讀取。
[0013]此外,在實施方式中,存儲控制設(shè)備還可以包括更新請求單元,被配置為在錯誤完全通過錯誤校正校正并且被校正的錯誤的位計數(shù)滿足某個必要條件的情況下將更新請求發(fā)送至讀地址。因此,針對其中被校正的錯誤的位計數(shù)滿足該特定要求的地址執(zhí)行更新操作。在這種情況下,更新請求單元可以給出作為更新請求的指令以在讀地址中執(zhí)行具有比標準精度高的精度的讀取,以將讀取結(jié)果寫入讀地址。因此,用于更新的讀取以高精度執(zhí)行。
[0014]根據(jù)本發(fā)明的另一實施方式,提供一種存儲裝置,其包括:存儲器、標準讀請求單元、錯誤校正單元和高精度讀請求單元。該存儲器被配置成處理針對具有標準精度的讀取和具有比該標準精度高的精度的讀取兩者的讀請求。該標準讀請求單元被配置為將具有標準精度的讀請求發(fā)送至存儲器中的讀取址。該錯誤校正單元被配置為響應(yīng)于具有標準精度的讀請求基于錯誤校正碼和由存儲器返回的數(shù)據(jù)執(zhí)行錯誤校正。該高精度讀請求單元被配置為在發(fā)生通過錯誤校正不能校正的錯誤時,再次將具有比標準精度高的精度的讀請求發(fā)送至讀地址。通過這個結(jié)構(gòu),在具有標準精度的讀取中不能執(zhí)行錯誤校正的情況下,執(zhí)行具有高精度的讀取。
[0015]根據(jù)本發(fā)明的另一實施方式,提供一種信息處理系統(tǒng),其包括:存儲器、主機計算機、標準讀請求單元、錯誤校正單元和高精度讀請求單元。該存儲器被配置成處理針對具有標準精度的讀取和具有比該標準精度高的精度的讀取兩者的讀請求。該主機計算機被配置為將讀訪問發(fā)送至存儲器。該標準讀請求單元被配置為響應(yīng)于讀訪問將具有標準精度的讀取的請求發(fā)送至存儲器中的讀地址。該錯誤校正單元被配置為響應(yīng)于具有標準精度的讀請求基于錯誤校正碼和由存儲器返回的數(shù)據(jù)執(zhí)行錯誤校正。該高精度讀請求單元被配置為在發(fā)生通過錯誤校正不能校正的錯誤時,再次將具有比標準精度高的精度的讀請求發(fā)送至讀地址。因此,在從主機計算機執(zhí)行對存儲器的讀訪問時,在錯誤在具有標準精度的讀取中不能被校正的情況下,執(zhí)行具有高精度的讀取。
[0016]根據(jù)本發(fā)明的實施方式,可以產(chǎn)生這樣一個卓越的結(jié)果:在處理針對具有標準精度和具有高精度的讀取兩者的存儲器中,可以根據(jù)錯誤校正狀態(tài)控制讀請求。
[0017]如附圖中所示,通過下面對本發(fā)明最佳模式的實施方式的詳細說明,本發(fā)明的目標、特征與優(yōu)勢將變的更加顯而易見。
【專利附圖】
【附圖說明】
[0018]圖1是示出了本發(fā)明的實施方式中的信息處理系統(tǒng)的結(jié)構(gòu)的實例的示圖;
[0019]圖2是示出了本發(fā)明的實施方式中的讀處理單元周圍的結(jié)構(gòu)的實例的示圖;
[0020]圖3是示出了本發(fā)明的第一實施方式中的信息處理系統(tǒng)的讀處理的程序?qū)嵗牧鞒虉D;
[0021]圖4是示出了本發(fā)明第二實施方式中的錯誤日志保持單元(error log holdingunit)的結(jié)構(gòu)的實例的示圖;
[0022]圖5是示出了本發(fā)明的第二實施方式中的信息處理系統(tǒng)的讀處理的流程實例的流程圖;
[0023]圖6是示出了本發(fā)明的第三實施方式中假定的邏輯頁與物理頁之間的對應(yīng)關(guān)系的實例的示圖;
[0024]圖7是示出了本發(fā)明的第三實施方式中的信息處理系統(tǒng)的讀處理的程序?qū)嵗牧鞒虉D;
[0025]圖8是示出了本發(fā)明的第四實施方式中假定的數(shù)據(jù)與錯誤校正碼之間的對應(yīng)關(guān)系的實例的示圖;
[0026]圖9是示出了本發(fā)明的第四實施方式中的信息處理系統(tǒng)的讀處理的程序?qū)嵗牧鞒虉D;
[0027]圖10是示出了本發(fā)明的第五實施方式中的信息處理系統(tǒng)的讀處理的程序?qū)嵗牧鞒虉D;
[0028]圖11是示出了本發(fā)明的第六實施方式中的信息處理系統(tǒng)的讀處理的程序?qū)嵗牧鞒虉D;以及
[0029]圖12是示出了本發(fā)明的第六實施方式中的信息處理系統(tǒng)的更新處理的程序?qū)嵗牧鞒虉D。
【具體實施方式】
[0030]在下文中,將參照附圖詳細地描述本發(fā)明的實施方式。將按照以下順序進行描述。
[0031]1.第一實施方式(基本控制)
[0032]2.第二實施方式(基于錯誤校正日志的控制的實例)
[0033]3.第三實施方式(基于存取區(qū)的控制的實例)
[0034]4.第四實施方式(在錯誤校正碼加倍的情況下的控制的實例)[0035]5.第五實施方式(基于訪問頻率的控制的實例)
[0036]6.第六實施方式(還使用更新操作的控制的實例)
[0037]7.變形例
[0038]〈1.第一實施方式>
[0039]圖1是示出了本發(fā)明的實施方式中的信息處理系統(tǒng)的結(jié)構(gòu)的實例的示圖。信息處理系統(tǒng)被設(shè)置有主機計算機100、存儲器控制器200和非易失性存儲器300。存儲器控制器200和非易失性存儲器300組成存儲系統(tǒng)。主機計算機100相對于存儲系統(tǒng)發(fā)出用于請求數(shù)據(jù)的讀或?qū)懙鹊拿睢?br>
[0040]非易失性存儲器300是具有即使在斷電的狀態(tài)下連續(xù)地保持其內(nèi)容的非易失特性的存儲器(NVM)。該非易失性存儲器300大致被分為大量處理數(shù)據(jù)存取的閃存和能夠小量執(zhí)行高速隨機存取的非易失性隨機存取存儲器(NVRAM)。這里,引用NAND閃存作為閃存的典型實例。另一方面,NVRAM的實例包括PCRAM、MRAM或ReRAM等。
[0041]非易失性存儲器300被設(shè)置有控制接口 310、存儲緩沖器320和存儲單元陣列330。在存儲單元陣列330中,存儲位的數(shù)據(jù)值的存儲單元以矩陣的模式布置。存儲單元具有即使處于斷電的狀態(tài)下仍連續(xù)地保持內(nèi)容的非易失性存儲器。存儲緩沖器320是用于保持待寫入存儲單元陣列330的數(shù)據(jù)或者從存儲單元陣列330讀出的數(shù)據(jù)??刂平涌?310是執(zhí)行與存儲器控制器200的傳輸和接收的接口。
[0042]存儲單元陣列330具有帶有不同精度類型的兩種讀取方法(讀取模式)。一種讀取方法是具有相對低的精度的標準高速讀取方法。利用這種讀取方法的訪問被稱為標準訪問。另一種讀取方法是具有高精度的相對低速的讀取方法。利用這種讀取方法的訪問被稱為高精度訪問。使用哪種讀取方法將根據(jù)來自存儲器控制器200的指令決定。
[0043]存儲器控制器200用于控制非易失性存儲器300。根據(jù)來自主機計算機100的指令,讀請求或?qū)懻埱蟮缺话l(fā)送至非易失性存儲器300。存儲器控制器200被設(shè)置有主機接口210、寫處理單元220、錯誤校正碼生成單元230、讀處理單元240、錯誤檢測單元250、錯誤校正單元260和存儲器接口 270。
[0044]寫處理單元220將數(shù)據(jù)寫入非易失性存儲器300中。響應(yīng)于來自主機計算機100的寫命令,寫處理單元220將寫請求發(fā)送至非易失性存儲器300。來自主機計算機100的寫命令包含將成為寫處理的目標的寫地址。存儲器控制器200可將寫地址從邏輯地址轉(zhuǎn)換為物理地址或者可將該地址原樣輸出。在通常情況下,作為寫處理的目標的寫數(shù)據(jù)被包含在來自主機計算機100的寫命令中或者隨寫命令一起被指示。此外,在執(zhí)行更新處理的情況下,由讀處理單元240讀取的數(shù)據(jù)有時可被用作寫數(shù)據(jù)。
[0045]錯誤校正碼生成單元230針對寫數(shù)據(jù)生成錯誤校正碼(ECC)。生成的錯誤校正碼被寫入非易失性存儲器300中。
[0046]讀處理單元240執(zhí)行從非易失性存儲器300中讀取數(shù)據(jù)的處理。根據(jù)來自主機計算機100的讀命令,讀處理單元240將讀請求發(fā)送至非易失性存儲器300。來自主機計算機100的讀命令包含作為讀處理的目標的讀地址。存儲器控制器200可將讀地址從邏輯地址轉(zhuǎn)換為物理地址或者可將地址原樣輸出。通過讀處理,作為目標的讀取數(shù)據(jù)及其錯誤校正碼從非易失性存儲器300讀出。應(yīng)注意,讀處理單元240是所附權(quán)利要求范圍內(nèi)所述的標準讀請求單元和高精度讀請求單元的實例。[0047]錯誤檢測單元250基于從非易失性存儲器300讀取的讀取數(shù)據(jù)和錯誤校正碼檢測位錯誤。在位錯誤在錯誤檢測單元250中被檢測出的情況下,錯誤校正單元260基于從非易失性存儲器300讀取的讀取數(shù)據(jù)和錯誤校正碼來校正位錯誤。因此,通過錯誤校正單元260,校正了在錯誤校正碼的校正能力范圍內(nèi)的位計數(shù)的位錯誤,從而提高了數(shù)據(jù)保持特性。然而,如果生成的位錯位在錯誤校正碼的校正能力范圍之外,將不能校正該位錯誤。
[0048]主機接口 210是用于執(zhí)行與主機計算機100有關(guān)的傳輸和接收的接口。存儲器接口 270是用于執(zhí)行與非易失性存儲器300有關(guān)的傳輸和接收的接口。
[0049]圖2是示出了在本發(fā)明的實施方式中的讀處理單元240周圍的結(jié)構(gòu)的實例的示圖。讀處理單元240包含讀模式設(shè)置單元241和錯誤日志保持單元242。
[0050]當將讀請求發(fā)送至非易失性存儲器300時,讀模式設(shè)置單元241設(shè)置標準訪問和高精度訪問的讀模式中的一種。根據(jù)錯誤校正單元260是否可執(zhí)行錯誤校正或來自主機計算機100的讀訪問的類型等確定設(shè)置為哪一種讀模式。將在下文中詳細地描述該確定。
[0051]錯誤日志保持單元242將錯誤校正條件保持在錯誤校正單元260中作為日志。將在第二實施方式中詳細地描述錯誤日志保持單元242。應(yīng)注意,錯誤日志保持單元242是所附權(quán)利要求范圍內(nèi)描述的記錄單元的實例。
[0052](讀處理的操作)
[0053]圖3是示出了本發(fā)明的第一實施方式中的信息處理系統(tǒng)的讀處理的程序?qū)嵗牧鞒虉D。在第一實施方式,根據(jù)接收來自主機計算機100的讀命令,讀處理單元240將讀請求發(fā)送至非易失性存儲器300中的讀地址(步驟S913)。在這種情況下,在讀模式設(shè)置單元241中,將標準訪問設(shè)置為讀模式。即,通過設(shè)置,在非易失性存儲器300中,使用具有相對低精度的標準高速讀方法用于執(zhí)行讀訪問。
[0054]當在非易失性存儲器300中通過標準訪問執(zhí)行讀取時,讀取數(shù)據(jù)和其錯誤校正碼被提供給錯誤檢測單元250。錯誤檢測單元250基于讀取數(shù)據(jù)和其錯誤校正碼檢測是否存在錯誤。然后,在檢測到存在錯誤的情況下,錯誤校正單元260基于讀取數(shù)據(jù)和其錯誤校正碼執(zhí)行錯誤校正。因此,當產(chǎn)生在錯誤校正單元260中難以被校正的錯誤的情況下(在步驟S914中的“是”),讀處理單元240將利用高精度訪問的讀請求發(fā)送至非易失性存儲器300中相同的讀地址(步驟S915)。如上所述,在錯誤校正單元260中,僅可接受在錯誤校正碼的校正能力范圍內(nèi)的位錯誤的數(shù)目,而不能為超出位計數(shù)的位錯誤執(zhí)行錯誤校正。即使在這種情況下,通過使用高精度訪問以再次讀取數(shù)據(jù),位錯誤計數(shù)減小,因此能夠通過錯誤校正單元260校正位錯誤。因此,在步驟S915中,對相同的讀地址執(zhí)行通過比標準訪問更高精度的高精度訪問的讀取。
[0055]當執(zhí)行利用高精度訪問的讀取時,讀取數(shù)據(jù)和其錯誤校正碼被提供給錯誤檢測單元250?;谧x取數(shù)據(jù)和其錯誤校正碼,錯誤檢測單元250檢測是否生成錯誤。如果檢測到錯誤的出現(xiàn),錯誤校正單元260基于讀取數(shù)據(jù)和其錯誤校正碼執(zhí)行錯誤校正。因此,當在錯誤校正單元260中生成難以被校正的錯誤的情況下(在步驟S916中為“是”),執(zhí)行讀出過程的錯誤終止。
[0056]在錯誤檢測單元250中沒有檢測出錯誤的情況下或者在檢測出錯誤但是錯誤校正在錯誤校正單元260中成功實現(xiàn)的情況下(在步驟S914為“否”或者步驟S916為“否”),實現(xiàn)讀出過程的標準終止。[0057]以這種方法,根據(jù)本發(fā)明的第一實施方式,通過結(jié)合讀模式和錯誤校正能夠提高數(shù)據(jù)的校正能力。也即,在由利用標準訪問的讀取難以執(zhí)行的錯誤校正的情況下,執(zhí)行利用高精度訪問的讀取,由此能夠減小位錯誤計數(shù)并增加可以執(zhí)行錯誤校正的可能性。另一方面,通過將第一讀訪問設(shè)置為包括更短的訪問時期的標準訪問,能夠使將對訪問執(zhí)行的影響最小化。
[0058]<2.第二實施方式>
[0059]在上述第一實施方式中,每次接收讀命令時,首先執(zhí)行利用標準訪問的讀取,并且只有當不能執(zhí)行錯誤校正時,執(zhí)行利用高精度訪問的讀取。在第二實施方式中,通過參考由錯誤校正單元260創(chuàng)建的錯誤日志,根據(jù)情況省略標準訪問,并且從開始執(zhí)行利用高精度訪問的讀取。應(yīng)注意,信息處理系統(tǒng)的基本結(jié)構(gòu)與參考圖1和圖2描述的結(jié)構(gòu)相同,因此將省略其描述。
[0060](錯誤日志保持單元的結(jié)構(gòu))
[0061]圖4是示出了本發(fā)明第二實施方式中的錯誤日志保持單元242的結(jié)構(gòu)的實例的示圖。當在錯誤校正單元260中由一個錯誤校正校正的位錯誤的位計數(shù)超過預定閾值的情況下,錯誤日志保持單元242記錄并管理其讀地址作為錯誤校正日志。在這一實例中,其中發(fā)生的位錯誤的位計數(shù)超過預定閾值的讀地址被約束為十六進制。在針對記錄在日志上的非易失性存儲器中的讀地址執(zhí)行讀出過程的情況下,通過使用精度訪問,能夠防止不能被校正的錯誤的出現(xiàn)。
[0062]應(yīng)注意,在這一實例中,考慮錯誤日志保持單元242保持讀地址本身的結(jié)構(gòu),而是可使用另一結(jié)構(gòu)。例如,可以使用以下結(jié)構(gòu)。也即,準備對應(yīng)于讀地址的位映射,并且位映射上有相應(yīng)標記。
[0063](讀出過程的操作)
[0064]圖5是示出了本發(fā)明的第二實施方式中的信息處理系統(tǒng)的讀出過程的流程實例的流程圖。在第二實施方式中,一旦從主機計算機100接收讀命令,讀處理單元240通過參考錯誤日志保持單元242判定讀地址是否被記錄在錯誤日志保持單元242中。
[0065]當讀地址不被記錄在錯誤日志保持單元242 (步驟S921為“否”)時,由標準訪問發(fā)送讀請求(步驟S923)。另一方面,當讀地址被記錄在錯誤日志保持單元242時(步驟S921中為“是”),跳過標準訪問并且發(fā)出利用高精度訪問的讀請求(步驟S925)。
[0066]在步驟S923中,當執(zhí)行利用標準訪問的讀取時,讀取數(shù)據(jù)和其錯誤校正碼被提供給錯誤檢測單元250。錯誤檢測單元250基于讀取數(shù)據(jù)和其錯誤校正碼檢測是否出現(xiàn)錯誤。在檢測出錯誤的出現(xiàn)的情況下,基于讀取數(shù)據(jù)和其錯誤校正碼,錯誤校正單元260執(zhí)行錯誤校正。因此,當在錯誤校正單元260中產(chǎn)生不能被校正的錯誤的情況下(在步驟S924中“是”),讀處理單元240將具有高精度的讀請求發(fā)送至非易失性存儲器300中相同的讀地址(步驟 S925)。
[0067]在沒有針對利用標準訪問的讀取檢測出錯誤的情況下或者在檢測出錯誤但是錯誤校正在錯誤校正單元260中成功實現(xiàn)的情況下(在步驟S924為“否”),執(zhí)行讀出過程的標準終止。當在執(zhí)行錯誤校正的情況下被校正的錯誤的位計數(shù)超過預定閾值(步驟S927中為“是”),讀地址在錯誤日志保持單元242被記錄為錯誤校正日志(步驟S928 )。錯誤校正日志表示其中錯誤在將來變得可能不能被校正的地址。在步驟S921中檢查錯誤校正日志,并且當?shù)刂繁挥涗浽阱e誤校正日志中,跳過標準訪問(步驟S923 )且執(zhí)行利用高精度訪問的讀取(步驟 S925)。
[0068]在步驟S925中,當執(zhí)行利用高精度訪問的讀取時,讀取數(shù)據(jù)和其錯誤校正碼被提供給錯誤檢測單元250。錯誤檢測單元250基于讀取數(shù)據(jù)和其錯誤校正碼檢測是否出現(xiàn)錯誤。在檢測出錯誤的出現(xiàn)的情況下,基于讀取數(shù)據(jù)和其錯誤校正碼,錯誤校正單元260執(zhí)行錯誤校正。因此,當在錯誤校正單元260中產(chǎn)生不能被校正的錯誤的情況下(在步驟S926中為“是”),執(zhí)行讀出過程的錯誤終止。
[0069]在沒有針對利用高精度訪問的讀取檢測出錯誤的情況下或者在檢測出錯誤時但錯誤校正在錯誤校正單元260中成功實現(xiàn)的情況下(在步驟S926為“否”),執(zhí)行讀出過程的標準終止。
[0070]如上所述,根據(jù)本發(fā)明的第二實施方式,通過將其中錯誤在將來可能變得不能被校正的地址記錄為錯誤校正日志,跳過標準訪問,執(zhí)行高精度訪問,因此,能夠防止不能被校正的錯誤的出現(xiàn)。
[0071]〈3.第三實施方式〉
[0072]在第一實施方式中,不考慮作為讀取目標的地址區(qū)域,首先執(zhí)行利用標準訪問的讀取,只有當不能夠校正錯誤時,執(zhí)行利用高精度訪問的讀取。在第三實施方式中,根據(jù)作為讀取目標的地址,省略標準訪問,并且從一開始就執(zhí)行利用高精度訪問的讀取。應(yīng)注意,信息處理系統(tǒng)的基本結(jié)構(gòu)與參考圖1和圖2描述的那些結(jié)構(gòu)相同,因此將省略其描述。
[0073](地址空間)
[0074]圖6是示出了本發(fā)明的第三實施方式中設(shè)定的邏輯頁與物理頁之間的對應(yīng)關(guān)系的實例的示圖。在第三實施方式中,做出該假設(shè):非易失性存儲器用作存儲設(shè)備,邏輯頁610針對物理頁620被映射并且執(zhí)行訪問。需要標準地讀取管理文件系統(tǒng)(作為存儲設(shè)備的區(qū)域)等的管理信息,并且對于數(shù)據(jù)區(qū)域,表示作為邏輯格式的區(qū)域的地址空間被預先固定。由此看來,對于管理信息,優(yōu)先執(zhí)行高精度訪問,由此抑制不能被校正的錯誤的出現(xiàn)。
[0075]邏輯頁610被分成系統(tǒng)區(qū)域和用戶區(qū)域。在系統(tǒng)區(qū)域中,MBR(主引導記錄,masterboot record)是在系統(tǒng)開始時最初讀取的區(qū)域。FAT (文件分配表)是用于管理文件的存儲位置的表。根目錄是用于存儲存在于分層目錄結(jié)構(gòu)中最上層的文件的目錄項(directoryentry)的區(qū)域。用戶數(shù)據(jù)被存儲在用戶區(qū)域中。
[0076]物理頁620被分成其中優(yōu)先執(zhí)行高精度訪問的高精度訪問區(qū)和其中優(yōu)先執(zhí)行標準訪問的標準訪問區(qū)。系統(tǒng)區(qū)域被分配到高精度訪問區(qū),且用戶區(qū)被分配到標準訪問區(qū)。因此,在訪問系統(tǒng)區(qū)域時,優(yōu)先執(zhí)行高精度訪問,并且在訪問用戶區(qū)時,優(yōu)先執(zhí)行標準訪問。
[0077](讀出過程的操作)
[0078]圖7是示出了本發(fā)明的第三實施方式中的信息處理系統(tǒng)的讀取過程的流程實例的流程圖。在第三實施方式中,一旦從主機計算機100接收讀命令,讀處理單元240判定其讀地址是否超過系統(tǒng)區(qū)域的末端。
[0079]如果讀地址超過系統(tǒng)區(qū)域的末端(在步驟S931中為“否”),這對應(yīng)于用戶區(qū),因此由標準訪問發(fā)出讀請求(步驟S933)。另一方面,如果讀地址不超過系統(tǒng)區(qū)域的末端(步驟S931中為“是”),這對應(yīng)于系統(tǒng)區(qū)域,因此跳過標準訪問而且發(fā)出高精度訪問的讀請求(步驟 S932)。[0080]在步驟S933中,當執(zhí)行利用標準訪問的讀取時,讀取數(shù)據(jù)和其錯誤校正碼被提供給錯誤檢測單元250。錯誤檢測單元250基于讀取數(shù)據(jù)和其錯誤校正碼檢測是否發(fā)生錯誤。當檢測到了錯誤發(fā)生時,錯誤校正單元260基于讀取數(shù)據(jù)和其錯誤校正碼執(zhí)行錯誤校正。因此,在錯誤校正單元260中,當在發(fā)生不能被校正的錯誤的情況下(在步驟S934中“是”),讀處理單元240將高精度的讀請求發(fā)送至非易失性存儲器300中相同的讀地址(步驟 S935)。
[0081]當在步驟S925或S935中執(zhí)行利用高精度訪問的讀取時,讀取數(shù)據(jù)和其錯誤校正碼被提供給錯誤檢測單元250。錯誤檢測單元250基于讀取數(shù)據(jù)和其錯誤校正碼檢測是否發(fā)生錯誤。在檢測出錯誤出現(xiàn)的情況下,錯誤校正單元260基于讀取數(shù)據(jù)和其錯誤校正碼執(zhí)行錯誤校正。因此,在錯誤校正單元260中,在發(fā)生不能被校正的錯誤的情況下(在步驟S936中為“是”),實現(xiàn)讀出過程的錯誤終止。
[0082]在錯誤檢測單元250中沒有檢測出錯誤的情況下或者在檢測出錯誤但是錯誤校正在錯誤校正單元260中成功實現(xiàn)的情況下(在步驟S934為“否”或者步驟S936為“否”),實現(xiàn)讀出過程的標準終止。
[0083]如上所述,根據(jù)本發(fā)明的第三實施方式,對于對系統(tǒng)區(qū)域的訪問,跳過標準訪問,執(zhí)行高精度訪問,由此能夠防止不能被校正的錯誤的出現(xiàn)。
[0084]〈4.第四實施方式〉
[0085]在上述第一實施方式中,由錯誤校正碼生成單元230、錯誤檢測單元250和錯誤校正單元260處理的錯誤校正碼是一種類型。也即,假設(shè)不考慮讀取目標的大小等使用一種錯誤校正碼,首先執(zhí)行利用標準訪問的讀取,只有當不能夠校正錯誤時,執(zhí)行利用高精度訪問的讀取。在第四實施方式,設(shè)定以512字節(jié)為單位的第一錯誤校正碼和以4096字節(jié)為單位的第二錯誤校正碼。一般地,錯誤校正碼的碼長越長,糾錯能力變得越強。這里,以4096字節(jié)為單位的第二錯誤校正碼具有以512字節(jié)為單位的第一錯誤校正碼強的錯誤校正能力。在第四實施方式中,對于使用具有相對低的校正能力的以512字節(jié)為單位的錯誤校正碼的訪問方法,考慮雙重錯誤校正碼,省略標準訪問,并且從開始就執(zhí)行利用高精度訪問的讀取。應(yīng)注意,信息處理系統(tǒng)的基本結(jié)構(gòu)與參考圖1和2描述的那個相同,因此將省略其描述。
[0086](錯誤校正碼)
[0087]圖8是示出了本發(fā)明的第四實施方式中設(shè)定的數(shù)據(jù)與錯誤校正碼(ECC)之間的對應(yīng)關(guān)系的實例的示圖。在第四實施方式中,對于具有第一大小的數(shù)據(jù),執(zhí)行基于第一錯誤校正碼的錯誤校正。此外,對于具有比第一大小大的第二大小的數(shù)據(jù),執(zhí)行基于具有較高校正能力的第二錯誤校正碼的錯誤校正。在下文中,作為一個實例,做出該假設(shè):第一大小和第二大小分別為512字節(jié)和4K字節(jié)。
[0088]對于每一個512字節(jié)數(shù)據(jù)331,設(shè)定第一 ECC332。對于8個組(每一個組由512字節(jié)數(shù)據(jù)331和第一 ECC332組成),給定第二 ECC333。也即,在4K字節(jié)的數(shù)據(jù)被用作一個單位的情況下,除了第一 ECC332,給定具有較高校正能力的第二 ECC333,由此改善數(shù)據(jù)保持特性。換言之,即使在通過第一 ECC332不能夠執(zhí)行校正的情況下,也能夠通過使用第二ECC333在校正之后讀取數(shù)據(jù)。在這種情況下,第二 ECC333將具有高校正能力的錯誤校正碼應(yīng)用于8個組(每一個由512字節(jié)數(shù)據(jù)331和第一 ECC332組成)的數(shù)據(jù)。[0089]作為第一ECC332,例如,考慮允許相對于512字節(jié)的I位錯誤檢測和校正的奇偶校驗位。作為第二 ECC333,例如考慮允許相對于4K字節(jié)的8位錯誤檢測和收集的BCH碼。
[0090]在執(zhí)行以512字節(jié)為單位的讀取的情況下,通過奇偶校驗位執(zhí)行的位錯誤檢測和校正過程花費短暫的時間。因此,通過應(yīng)用高精度訪問,發(fā)生錯誤超過I位的概率降低。另一方面,在執(zhí)行以4K字節(jié)為單位的讀取的情況下,利用BCH碼的校正能力足夠高,但是執(zhí)行位錯誤檢測和校正程序花費的時間更長。因此,使用包括較高速度的標準訪問。因此,即使在第二 ECC333變得必要的情況下能夠抑制訪問時間的增加。
[0091]應(yīng)注意,在這一實例中,在每一個512字節(jié)數(shù)據(jù)331之后立即設(shè)置第一 ECC332,并且單獨地共同地設(shè)置第二 ECC333,但可在任何存儲位置設(shè)置第一 ECC332和第二 ECC333。
[0092](讀出過程的操作)
[0093]圖9是示出了本發(fā)明的第四實施方式中的信息處理系統(tǒng)的讀出過程的流程實例的流程圖。在第四實施方式中,當讀處理單元240從主機計算機100接收讀命令時,參考待讀取的數(shù)據(jù)的大小。
[0094]如果數(shù)據(jù)大小超過512字節(jié)(在步驟S941中為“是”),數(shù)據(jù)對應(yīng)4K字節(jié)的數(shù)據(jù)讀取,因此發(fā)送通過標準訪問的4K字節(jié)的讀請求(步驟S943)。另一方面,在數(shù)據(jù)大小不超過512字節(jié)的情況下(步驟S941中為“否”),數(shù)據(jù)對應(yīng)512字節(jié)讀取,因此跳過標準訪問而且由高精度訪問發(fā)出512字節(jié)的讀請求(步驟S942)。
[0095]當在步驟S943中執(zhí)行利用標準訪問的讀取時,4K字節(jié)的數(shù)據(jù)和第二錯誤校正碼被提供給錯誤檢測單元250?;?K字節(jié)的數(shù)據(jù)和第二錯誤校正碼,錯誤檢測單元250檢測是否發(fā)生錯誤。在檢測出錯誤的出現(xiàn)的情況下,錯誤校正單元260基于4K字節(jié)的數(shù)據(jù)和第二錯誤校正碼執(zhí)行錯誤校正。因此,當在錯誤校正單元260中發(fā)生不能被校正的錯誤的情況下(在步驟S944中為“是”),讀處理單元240將通過高精度的讀請求發(fā)送至非易失性存儲器300中相同的讀地址(步驟S945)。
[0096]在步驟S942中,當執(zhí)行利用高精度訪問的讀取時,512字節(jié)數(shù)據(jù)和第一錯誤校正碼被提供給錯誤檢測單元250。錯誤檢測單元250基于512字節(jié)數(shù)據(jù)和第一錯誤校正碼檢測是否發(fā)生錯誤。在檢測出錯誤的出現(xiàn)的情況下,錯誤校正單元260基于512字節(jié)數(shù)據(jù)和第一錯誤校正碼執(zhí)行錯誤校正。另一方面,在步驟S945中,當執(zhí)行利用高精度訪問的讀取時,4K字節(jié)的數(shù)據(jù)和第二錯誤校正碼被提供給錯誤檢測單元250。錯誤檢測單元250基于4K字節(jié)的數(shù)據(jù)和第二錯誤校正碼檢測是否發(fā)生錯誤。在檢測出錯誤的出現(xiàn)的情況下,錯誤校正單元260基于4K字節(jié)的數(shù)據(jù)和第二錯誤校正碼執(zhí)行錯誤校正。由于錯誤校正,如果在錯誤校正單元260中發(fā)生不能被校正的錯誤(在步驟S946中為“是”),執(zhí)行讀出過程的錯誤終止。
[0097]在錯誤檢測單元250中沒有檢測出錯誤的情況下或者在檢測出錯誤但是錯誤校正在錯誤校正單元260中成功實現(xiàn)的情況下(在步驟S944中為“否”或者步驟S946中為“否”),執(zhí)行讀出過程的標準終止。
[0098]如上所述,根據(jù)本發(fā)明的第四實施方式,對于具有帶有低校正能力的大小的讀訪問,跳過標準訪問,執(zhí)行高精度訪問,因此使防止不能被校正的錯誤的出現(xiàn)成為可能。
[0099]<5.第五實施方式>
[0100]在上述第一實施方式中,不考慮待讀取數(shù)據(jù)的類型,首先執(zhí)行利用標準訪問的讀取,并且只有當難以執(zhí)行錯誤校正時,執(zhí)行利用高精度訪問的讀取。在第五實施方式中,根據(jù)待讀取數(shù)據(jù)的類型,省略標準訪問,并且從開始執(zhí)行利用高精度訪問的讀取。應(yīng)注意,信息處理系統(tǒng)的基本結(jié)構(gòu)與參考圖1和2描述的信息處理系統(tǒng)相同,因此將省略其描述。
[0101]在第五實施方式中,數(shù)據(jù)被分為熱數(shù)據(jù)和冷數(shù)據(jù)兩種類型。熱數(shù)據(jù)在主機計算機100中被頻繁地訪問,而冷數(shù)據(jù)在其中不被頻繁地訪問。也即,因為熱數(shù)據(jù)被頻繁地訪問,縮短訪問時間是必要的,因此對此處應(yīng)用標準訪問。另一方面,高精度訪問應(yīng)用于冷數(shù)據(jù),因為長期存儲可能使保持特性劣化。應(yīng)注意,為判定數(shù)據(jù)是否為熱數(shù)據(jù)或冷數(shù)據(jù),管理訪問的方法記錄至該數(shù)據(jù),該方法將數(shù)據(jù)類型指定為其中來自主機計算機100的數(shù)據(jù)存儲的區(qū)域的屬性。
[0102](讀出過程的操作)
[0103]圖10是示出了本發(fā)明的第五實施方式中的信息處理系統(tǒng)的讀出過程的流程實例的流程圖。在第五實施方式中,當讀處理單元240從主機計算機100接收讀命令時,判定讀取數(shù)據(jù)是否為熱數(shù)據(jù)或冷數(shù)據(jù)。可通過各種方法判定數(shù)據(jù)是否為熱數(shù)據(jù)或冷數(shù)據(jù)。例如,在讀命令包含信息的情況下,可從信息執(zhí)行判定。在當記錄待訪問和讀取的數(shù)據(jù)時寫命令包含信息且存儲器控制器保持該信息,可從保持的信息執(zhí)行判定。此外,在寫處理之后通過不同于讀命令和寫命令的命令相應(yīng)數(shù)據(jù)的信息被指示至存儲器控制器的情況下,可從指示的信息執(zhí)行判定??商鎿Q地,存儲器控制器可計算訪問頻率等以執(zhí)行該判定。
[0104]在讀取數(shù)據(jù)對應(yīng)熱數(shù)據(jù)的情況下(在步驟S951中為“是”),由標準訪問發(fā)送讀請求(步驟S953)。另一方面,讀取數(shù)據(jù)對應(yīng)冷數(shù)據(jù)(步驟S951中為“否”),跳過標準訪問并發(fā)出利用高精度訪問的讀請求(步驟S952)。
[0105]在步驟S953中,當執(zhí)行利用標準訪問的讀取時,讀取數(shù)據(jù)和其錯誤校正碼被提供給錯誤檢測單元250。錯誤檢測單元250基于讀取數(shù)據(jù)和錯誤校正碼檢測是否發(fā)生錯誤。在檢測出錯誤的出現(xiàn)的情況下,錯誤校正單元260基于讀取數(shù)據(jù)和錯誤校正碼執(zhí)行錯誤校正。因此,如果在錯誤校正單元260中發(fā)生不能被校正的錯誤(在步驟S954中為“是”),讀處理單元240將利用高精度的讀請求發(fā)送至非易失性存儲器300中相同的讀地址(步驟S955)。
[0106]當在步驟S952或S955中執(zhí)行利用高精度訪問的讀取時,讀取數(shù)據(jù)和其錯誤校正碼被提供給錯誤檢測單元250?;谧x取數(shù)據(jù)和錯誤校正碼,錯誤檢測單元250檢測是否發(fā)生錯誤。在檢測出錯誤的出現(xiàn)的情況下,錯誤校正單元260基于讀取數(shù)據(jù)和錯誤校正碼執(zhí)行錯誤校正。因此,如果在錯誤校正單元260中發(fā)生不能被校正的錯誤(在步驟S956中為“是”),實現(xiàn)了讀出過程的錯誤終止。
[0107]在錯誤檢測單元250中沒有檢測出錯誤的情況下或者在檢測出錯誤但是錯誤校正在錯誤校正單元260中成功實現(xiàn)的情況下(在步驟S954為“否”或者步驟S956為“否”),實現(xiàn)讀出過程的標準終止。
[0108]如上所述,根據(jù)本發(fā)明的第五實施方式,對于冷數(shù)據(jù)的訪問,跳過標準訪問,執(zhí)行高精度訪問,由此使防止不能被校正的錯誤的出現(xiàn)成為可能。
[0109]〈6.第六實施方式〉
[0110]眾所周知這一事實:隨著其存儲期變長存儲在非易失性存儲器中的數(shù)據(jù)劣化,且通過再一次寫入數(shù)據(jù)更新其保持特性。由此看來,在第六實施方式中,在利用標準訪問的讀取中,如果位錯誤計數(shù)的校正數(shù)超過預定閾值,決定其存儲單元需被更新。在更新操作中讀取校正數(shù)據(jù)是必須的。更新操作不是通過來自主機計算機的數(shù)據(jù)存取執(zhí)行的,因此長的讀出時間不存在問題,由此在該處應(yīng)用高精度訪問是可能的。應(yīng)注意,信息處理系統(tǒng)的基本結(jié)構(gòu)與參考圖1和2描述的那個相同,因此將省略其描述。
[0111](讀出過程的操作)
[0112]圖11是示出了本發(fā)明的第六實施方式中的信息處理系統(tǒng)的讀出過程的流程實例的流程圖。在第六實施方式,當接收來自主機計算機100的讀命令時,讀處理單元240將讀請求發(fā)送至非易失性存儲器300中的讀地址(步驟S963)。在這種情況下,在讀模式設(shè)置單元241中,將標準訪問設(shè)置為讀模式。也即,通過此操作,在非易失性存儲器300中,通過具有相對低精度的高速常規(guī)讀取方法執(zhí)行讀訪問。
[0113]在步驟S963中,當執(zhí)行利用標準訪問的讀取時,讀取數(shù)據(jù)和其錯誤校正碼被提供給錯誤檢測單元250。錯誤檢測單元250基于讀取數(shù)據(jù)和其錯誤校正碼檢測是否發(fā)生錯誤。在檢測出錯誤的出現(xiàn)的情況下,錯誤校正單元260基于讀取數(shù)據(jù)和其錯誤校正碼執(zhí)行錯誤校正。因此,當在錯誤校正單元260中發(fā)生不能被校正的錯誤的情況下(在步驟S964中為“是”),讀處理單元240將通過高精度的讀請求發(fā)送至非易失性存儲器300中相同的讀地址(步驟 S965)。
[0114]在沒有為標準訪問的讀取檢測出錯誤的情況下或者在檢測出錯誤但是錯誤校正在錯誤校正單元260中成功實現(xiàn)的情況下(在步驟S964為“否”),實現(xiàn)讀出過程的標準終止。在執(zhí)行錯誤校正的情況下,當錯誤校正的位計數(shù)超過預定閾值時(步驟S967為“是”),讀處理單元240為非易失性存儲器300執(zhí)行更新過程(步驟S968),并且實現(xiàn)讀出過程的標準終止。
[0115]在步驟S965中,當執(zhí)行利用高精度訪問的讀取時,讀取數(shù)據(jù)和錯誤校正碼被提供給錯誤檢測單元250。錯誤檢測單元250基于讀取數(shù)據(jù)和錯誤校正碼檢測是否發(fā)生錯誤。在檢測出錯誤的出現(xiàn)的情況下,錯誤校正單元260基于讀取數(shù)據(jù)和錯誤校正碼執(zhí)行錯誤校正。因此,當在錯誤校正單元260中發(fā)生不能被校正的錯誤的情況下(在步驟S966中為“是”),實現(xiàn)了讀出過程的錯誤終止。
[0116]在沒有為利用高精度訪問的讀取檢測錯誤的情況下或者在檢測出錯誤但是錯誤校正在錯誤校正單元260中成功實現(xiàn)的情況下(在步驟S966為“否”),實現(xiàn)更新過程的標準終止(步驟S968)。此后,實現(xiàn)讀出過程的標準終止。
[0117]應(yīng)注意,當在步驟S964中發(fā)生不能被校正的錯誤的情況下,可實現(xiàn)錯誤終止而不執(zhí)行利用高精度訪問的讀取(步驟S965 )。此外,在這種情況下,不執(zhí)行利用高精度訪問的讀取(步驟S965)可發(fā)送更新請求,如同步驟S968中一樣。
[0118](讀出過程的操作)
[0119]圖12是示出了本發(fā)明的第六實施方式中的信息處理系統(tǒng)的更新過程(步驟S968)的流程實例的流程圖。在更新過程中,可從非易失性存儲器300中的更新地址執(zhí)行利用高精度訪問的讀取(步驟S971 )。當執(zhí)行利用高精度訪問的讀取時,讀取數(shù)據(jù)和錯誤校正碼被提供給錯誤檢測單元250。錯誤檢測單元250基于讀取數(shù)據(jù)和其錯誤校正碼檢測是否發(fā)生錯誤。然后,在檢測出錯誤的出現(xiàn)的情況下,錯誤校正單元260基于讀取數(shù)據(jù)和其錯誤校正碼執(zhí)行錯誤校正。因此,在錯誤校正單元260中生成不能被校正的錯誤的情況下(在步驟S972中為“是”),實現(xiàn)了讀出過程的錯誤終止。
[0120]另一方面,在步驟S971中沒有為利用高精度訪問的讀取檢測錯誤的情況下或者在檢測出錯誤但是錯誤校正在錯誤校正單元260中成功實現(xiàn)的情況下(在步驟S972為“否”),被校正的讀取數(shù)據(jù)被寫入相同的地址(步驟S973)。因此,完成了更新操作,并且實現(xiàn)了處理的標準終止。
[0121]如上所述,根據(jù)本發(fā)明的第六實施方式,通過為其中錯誤在將來可能變成不能被校正的地址執(zhí)行更新操作,可能防止不能被校正的錯誤的出現(xiàn)。
[0122]〈7.變形例〉
[0123]在上文的實施方式中,作為在將來錯誤可能變得不能被校正的可能性的標記,將被校正的的錯誤位計數(shù)超過預定閾值設(shè)定為必要條件,但是可構(gòu)思出其他的各種變形例。
[0124]例如,當在高溫下單元的保持特性不穩(wěn)定的情況下,將室溫設(shè)為標記。通過將高精度訪問應(yīng)用至在比某個閾值高的溫度下執(zhí)行讀處理的情況,可以防止由于不能被校正的錯誤的出現(xiàn)發(fā)生的讀處理的失敗。
[0125]此外,在隨著改寫數(shù)目的增加單元逐漸地劣化的情況下,改寫數(shù)目被設(shè)置為標記。通過在改寫數(shù)目超過某個閾值的情況下應(yīng)用高精度訪問,可防止由于不能被校正的錯誤的出現(xiàn)發(fā)生讀處理的失敗。
[0126]此外,在隨著數(shù)據(jù)的保持時間變長存儲在單元中的數(shù)據(jù)逐漸地劣化的情況下,保持時間被設(shè)置為標記。通過在保持時間超過閾值的情況下應(yīng)用高精度訪問,可防止由于不能被校正的錯誤的讀處理的失敗。
[0127]應(yīng)注意,在上述實施方式中,在以下的假定下做出的描述:以兩個步驟提高讀處理的精度,以及在以三個或四個或更多步驟提高的情況下,其延伸被容易地執(zhí)行且其效果可增加。
[0128]應(yīng)注意,上述實施方式是用于指定本技術(shù)的實例。實施方式的事項與在權(quán)利要求范圍內(nèi)本發(fā)明指定的事項對應(yīng)。同樣地,在權(quán)利要求范圍內(nèi)指定的事項對應(yīng)于在本發(fā)明的實施方式中同一名字的事項。然而,本發(fā)明不限于這些實施方式并且在不偏離本發(fā)明要旨情況下可具有各種修改的實施方式。
[0129]此外,上述實施方式的流程可被處理為包括那些流程的方法或者可被處理為用于發(fā)生計算機執(zhí)行那些流程的程序或存儲該程序的記錄介質(zhì)??墒褂肅D (光盤)、MD (迷你磁盤)、DVD (數(shù)字化通用光盤)、存儲卡或藍光光盤(注冊商標)等作為記錄介質(zhì)。
[0130]應(yīng)注意,本發(fā)明可采用以下的配置。
[0131](I) 一種存儲控制設(shè)備,包括:
[0132]標準讀請求單元,被配置為將具有標準精度的讀取的請求發(fā)送至存儲器中的讀地址;
[0133]錯誤校正單元,被配置為響應(yīng)于具有標準精度的讀請求基于錯誤校正碼和由存儲器返回的數(shù)據(jù)來執(zhí)行錯誤校正;以及
[0134]高精度讀請求單元,被配置為在發(fā)生通過該錯誤校正不能校正的錯誤時,再次將具有比標準精度高的精度的讀取的請求發(fā)送至讀地址。
[0135](2)根據(jù)項(I)所述的存儲控制設(shè)備,進一步包括:
[0136]記錄單元,被配置為在錯誤全部通過錯誤校正校正并且被校正的錯誤的位計數(shù)滿足特定要求的情況下記錄讀地址,其中,
[0137]當根據(jù)新讀請求的新讀地址被記錄在該記錄單元中時,將具有高精度的讀請求發(fā)送至新讀地址,而不發(fā)送具有標準精度的讀請求。
[0138](3)根據(jù)項(2)所述的存儲控制設(shè)備,其中,
[0139]當被校正的錯誤的位計數(shù)超過預定閾值時,記錄單元確定滿足某個必要條件并記錄讀地址。
[0140](4)根據(jù)項(I)到(3)的任一項所述的存儲控制設(shè)備,其中,
[0141]當讀地址對應(yīng)預定地址區(qū)域時,將具有高精度的讀請求發(fā)送至讀地址,而不發(fā)送具有標準精度的讀請求。
[0142]( 5 )根據(jù)項(4 )所述的存儲控制設(shè)備,其中,
[0143]預定的地址區(qū)域是系統(tǒng)區(qū)域。
[0144](6)根據(jù)項(I)到(5)的任一項所述的存儲控制設(shè)備,其中,
[0145]錯誤校正單元基于第一錯誤校正碼對具有第一大小的數(shù)據(jù)執(zhí)行錯誤校正,并且基于具有比第一錯誤校正碼的校正能力強的校正能力的第二錯誤校正碼對具有比第一大小大的第二大小的數(shù)據(jù)執(zhí)行錯誤校正,以及
[0146]當?shù)阶x地址的讀請求具有等于或者小于第一大小的大小時,將具有高精度的讀請求發(fā)送至讀地址,而不發(fā)送具有標準精度的讀請求。
[0147](7)根據(jù)項(I)到(6)的任一項所述的存儲控制設(shè)備,其中,
[0148]當對讀地址的訪問頻率滿足某個必要條件時,將具有高精度的讀請求發(fā)送至讀地址,而不發(fā)送具有標準精度的讀請求。
[0149](8)根據(jù)項(I)到(7)的任一項所述的存儲控制設(shè)備,進一步地包括
[0150]更新請求單元,被配置為在錯誤完全通過錯誤校正校正并且校正的錯誤的位計數(shù)滿足特定要求的情況下,將更新請求發(fā)送至讀地址,。
[0151](9 )根據(jù)項(8 )所述的存儲控制設(shè)備,其中,
[0152]更新請求單元設(shè)定作為更新請求的在讀地址中執(zhí)行具有比標準精度高的精度的讀取的指令作為更新請求,以將讀取結(jié)果寫入讀地址。
[0153](10) 一種存儲設(shè)備,包括:
[0154]存儲器,被配置成處理用于具有標準精度的讀取和具有比標準精度高的精度的讀取兩者的讀請求;
[0155]標準讀請求單元,被配置為將具有標準精度的讀取的請求發(fā)送至存儲器中的讀地址;
[0156]錯誤校正單元,被配置為響應(yīng)于具有標準精度的讀請求基于錯誤校正碼和由存儲器返回的數(shù)據(jù)執(zhí)行錯誤校正;以及
[0157]高精度讀請求單元,被配置為在發(fā)生通過錯誤校正不能校正的錯誤時,再次將具有比標準精度高的精度的讀取的請求發(fā)送至讀地址。
[0158](11) 一種信息處理系統(tǒng),包括:
[0159]存儲器,被配置成處理用于具有標準精度的讀取和具有比標準精度高的精度的讀取兩者的讀請求;
[0160]主機計算機,被配置為向存儲器發(fā)送讀訪問;[0161]標準讀請求單元,被配置為響應(yīng)于讀訪問,將具有標準精度的讀取的請求發(fā)送至存儲器中的讀地址;
[0162]錯誤校正單元,被配置為響應(yīng)于具有標準精度的讀請求基于錯誤校正碼和由存儲器返回的數(shù)據(jù)執(zhí)行錯誤校正;以及
[0163]高精度讀請求單元,被配置為在發(fā)生通過錯誤校正不能校正的錯誤時,再次將具有比標準精度高的精度的讀取的請求發(fā)送至讀地址。
[0164](12) 一種存儲控制方法,包括:
[0165]將具有標準精度的讀取的請求發(fā)送至存儲器中的讀地址;
[0166]響應(yīng)于具有標準精度的讀請求基于錯誤校正碼和由存儲器返回的數(shù)據(jù)執(zhí)行錯誤校正;以及
[0167]在發(fā)生通過錯誤校正不能校正的錯誤時,再次將具有比標準精度高的精度的讀取的請求發(fā)送到讀地址。
[0168]本領(lǐng)域中的技術(shù)人員應(yīng)當理解的是,根據(jù)設(shè)計需要和其他因素,可以進行各種變形、組合、子組合和修改,只要它們在所附權(quán)利要求或其等價物的范圍內(nèi)。
【權(quán)利要求】
1.一種存儲控制設(shè)備,包括: 標準讀請求單元,被配置為將用于具有標準精度的讀請求發(fā)送至存儲器中的讀地址; 錯誤校正單元,被配置為響應(yīng)于具有所述標準精度的所述讀請求基于錯誤校正碼和由所述存儲器返回的數(shù)據(jù)來執(zhí)行錯誤校正;以及 高精度讀請求單元,被配置為在發(fā)生不能通過所述錯誤校正所校正的錯誤時,再次將用于具有比所述標準精度高的精度的讀請求發(fā)送到所述讀地址。
2.根據(jù)權(quán)利要求1所述的存儲控制設(shè)備,進一步包括: 記錄單元,被配置為在全部錯誤由所述錯誤校正來校正并且被校正的所述錯誤的位計數(shù)滿足特定要求的情況下,記錄所述讀地址,其中, 當根據(jù)新的讀請求的新的讀地址被記錄在所述記錄單元中時,將具有所述高精度的所述讀請求發(fā)送至所述新的讀地址,而不發(fā)送具有所述標準精度的所述讀請求。
3.根據(jù)權(quán)利要求2所述的存儲控制設(shè)備,其中, 當被校正的所述錯誤的所述位計數(shù)超過預定閾值時,所述記錄單元確定滿足所述特定要求并記錄所述讀地址。
4.根據(jù)權(quán)利要求1所述的存儲控制設(shè)備,其中, 當所述讀地址對應(yīng) 于預定地址區(qū)域時,將具有所述高精度的所述讀請求發(fā)送至所述讀地址,而不發(fā)送具有所述標準精度的所述讀請求。
5.根據(jù)權(quán)利要求4所述的存儲控制設(shè)備,其中, 所述預定地址區(qū)域為系統(tǒng)區(qū)域。
6.根據(jù)權(quán)利要求1所述的存儲控制設(shè)備,其中, 所述錯誤校正單元基于第一錯誤校正碼對具有第一大小的數(shù)據(jù)執(zhí)行所述錯誤校正,并且基于具有比所述第一錯誤校正碼的校正能力強的校正能力的第二錯誤校正碼對具有比所述第一大小大的第二大小的數(shù)據(jù)執(zhí)行所述錯誤校正,以及 當發(fā)送至所述讀地址的所述讀請求具有等于或者小于所述第一大小的大小時,將具有所述高精度的所述讀請求發(fā)送至所述讀地址,而不發(fā)送具有所述標準精度的所述讀請求。
7.根據(jù)權(quán)利要求1所述的存儲控制設(shè)備,其中, 當所述讀地址的訪問頻率滿足特定要求時,將具有所述高精度的所述讀請求發(fā)送至所述讀地址,而不發(fā)送具有所述標準精度的所述讀請求。
8.根據(jù)權(quán)利要求1所述的存儲控制設(shè)備,還包括: 更新請求單元,被配置為在錯誤全部通過所述錯誤校正來校正并且被校正的所述錯誤的位計數(shù)滿足特定要求的情況下,將更新請求發(fā)送至所述讀地址。
9.根據(jù)權(quán)利要求8所述的存儲控制設(shè)備,其中, 所述更新請求單元提供用于在所述讀地址中執(zhí)行具有比所述標準精度高的所述精度的讀取的指令作為所述更新請求,以將讀取結(jié)果寫入所述讀地址。
10.根據(jù)權(quán)利要求1所述的存儲控制設(shè)備,還包括 錯誤檢測單元,基于從所述存儲器讀取的讀取數(shù)據(jù)和所述錯誤校正碼來檢測位錯誤。
11.一種存儲設(shè)備,包括: 存儲器,被配置為處理用于具有標準精度的讀取和具有比所述標準精度高的精度的讀取兩者的讀請求;標準讀請求單元,被配置為將具有所述標準精度的讀取的請求發(fā)送至所述存儲器中的讀地址; 錯誤校正單元,被配置為響應(yīng)于具有所述標準精度的所述讀請求基于錯誤校正碼和由所述存儲器返回的數(shù)據(jù)執(zhí)行錯誤校正;以及 高精度讀請求單元,被配置為在發(fā)生不能通過所述錯誤校正來校正的錯誤時,再次將用于具有比所述標準精度高的精度的讀取的請求發(fā)送至所述讀地址。
12.—種信息處理系統(tǒng),包括: 存儲器,被配置成處理用于具有標準精度的讀取和具有比所述標準精度高的精度的讀取兩者的讀請求; 主機計算機,被配置為向所述存儲器發(fā)送讀訪問; 標準讀請求單元,被配置為響應(yīng)于所述讀訪問將用于具有所述標準精度的所述讀取的請求發(fā)送至所述存儲器中的讀地址; 錯誤校正單元,被配置為響應(yīng)于具有所述標準精度的所述讀請求基于錯誤校正碼和由所述存儲器返回的數(shù)據(jù)執(zhí)行錯誤校正;以及 高精度讀請求單元,被配置為在發(fā)生通過所述錯誤校正不能校正的錯誤時,再次將用于具有比所述標準精度高的精度的讀取的請求發(fā)送至所述讀地址。
13.一種存儲控制方法,包括: 將用于具有標準精度的讀取的請求發(fā)送至存儲器中的讀地址;` 響應(yīng)于具有所述標準精度的所述讀請求基于錯誤校正碼和由所述存儲器返回的數(shù)據(jù)執(zhí)行錯誤校正;以及 在發(fā)生通過所述錯誤校正不能校正的錯誤時,再次將用于具有比所述標準精度高的精度的讀取的請求發(fā)送到所述讀地址。
【文檔編號】G06F3/06GK103793335SQ201310499690
【公開日】2014年5月14日 申請日期:2013年10月22日 優(yōu)先權(quán)日:2012年10月29日
【發(fā)明者】中西健一, 藤波靖, 筒井敬一 申請人:索尼公司