用于基于數據分類將數據存儲至固態存儲設備的方法和裝置的制造方法
【專利說明】用于基于數據分類將數據存儲至固態存儲設備的方法和裝置
[0001]相關串請的交叉引用
[0002]本公開要求于2013年I月29日提交的美國臨時申請第61/757824號的權益,其通過引用以其整體被并入于此。
技術領域
[0003]本公開總體上涉及固態存儲設備系統和方法,并且尤其涉及基于數據分類將信息有效地存儲在固態存儲設備中。
【背景技術】
[0004]在此所提供的背景描述是為了總體上呈現本公開的上下文。發明人在此的工作,就該工作在本【背景技術】部分中被描述的程度以及在提交時可能未以其它方式作為現有技術的方面,既非明確地也非隱含地被承認為針對本公開的現有技術。
[0005]典型的固態存儲設備(例如,NAND快閃存儲設備)通過在寫入新的信息之前擦除之前所存儲的信息來操作。這被稱作“垃圾收集”。由于這種類型的操作,向相同范圍的存儲位置存儲數據導致諸如延時之類的低效率。因此,這些典型設備低效地處理針對固態存儲設備中的相同范圍的位置的連續隨機寫入。
【發明內容】
[0006]提供了用于將數據存儲至非易失性存儲設備的系統和方法。在一些實施例中,接收對于將數據存儲至存儲設備的給定地址的請求,該給定地址對應于存儲設備的多個區域中的一個區域。與存儲設備相關聯的區域分類映射將分類與多個區域中的每個區域相關聯。基于區域分類映射來確定哪個分類與多個區域中的對應于給定地址的一個區域相關聯。響應于確定多個區域中的一個區域與第一分類相關聯,將數據存儲至給定地址。響應于確定多個區域中的一個區域與第二分類相關聯,將數據存儲至備選位置。在一些實施例中,該備選位置是臨時存儲位置,該臨時存儲位置與存儲設備中的與給定地址不同的地址相關聯。
[0007]在一些實施例中,基于在存儲設備上執行的先前存儲操作來生成區域分類映射。在一些實施例中,區域分類映射由從其接收到對于存儲數據的請求的應用生成。
[0008]在一些實施例中,當對于將數據存儲至對應于該給定區域的地址的請求的頻率小于閾值時或者當依次接收到對于將數據存儲至對應于該給定區域的地址的閾值數量的請求時,存儲設備的多個區域中的給定區域與第一分類相關聯。在一些實施例中,當對于將數據存儲至對應于該給定區域的地址的請求的頻率大于閾值時或者當以任意順序接收到對于將數據存儲至對應于該給定區域的地址的閾值數量的請求時,存儲設備的多個區域中的給定區域與第二分類相關聯。
[0009]在一些實施例中,數據被存儲在存儲設備的給定地址處。數據被存儲至緩沖器中的臨時存儲位置并且該數據從緩沖器被傳輸至存儲設備。
[0010]在一些實施例中,存儲數據的請求被存儲在日志中。日志包括之前接收到的對于將數據存儲至存儲設備中的與第二分類相關聯的給定區域的多個請求。存儲數據的請求根據與每個請求相關聯的地址在日志中被順序地排序。多個請求中的對于將數據存儲至相同的地址的數個請求被合并為對于存儲數據的單個請求。日志中的經排序和合并的請求被存儲至存儲設備的與每個請求相關聯的地址處。在一些實施例中,當接收到對于將數據存儲至存儲設備中的與第二分類相關聯的給定區域的閾值數量的請求后,該排序和合并被執行。在一些實施例中,非易失性存儲設備是固態存儲設備并且日志在該存儲設備的專用區域中。
【附圖說明】
[0011]一種或多種實施方式的細節在以下的附圖和描述中被闡述。其它特征以及各種優勢在考慮了以下結合附圖的詳細描述時將是更為顯而易見的,在附圖中:
[0012]圖1是根據本公開的實施例的說明性存儲設備系統的示圖;以及
[0013]圖2圖示了根據本公開的實施例的用于基于數據分類將信息存儲在固態存儲設備中的過程。
【具體實施方式】
[0014]本公開總體上涉及基于數據分類將信息有效地存儲在固態存儲設備中。出于說明的目的,本公開在固態存儲設備(例如,快閃存儲設備或基于NAND的存儲設備)的上下文中進行描述。然而,應當理解,本公開能夠應用于任何其它類型的非易失性存儲設備(例如,磁存儲設備、ROM、PROM, EPROM, EEPROM、nvSRAM、FeRAM、MRAM、PRAM、CBRAM、SONOS、RRAM、NRAM、Millipede存儲器或者全息存儲設備)。
[0015]圖1是根據本公開的實施例的說明性存儲設備系統100的示圖。系統100包括控制電路110、固態存儲設備120和日志130。在一些實施方式中,日志130是存儲設備120的保留區域。例如,日志130可以對應于存儲設備120的預定數量的存儲位置(例如,IG字節),這些存儲位置僅對于控制電路110可見并且對于用戶或外部應用不可見。在一些實施方式中,日志130由與存儲設備120分離的易失性或非易失性存儲設備(例如,NVRAM、DRAM、SDRAM、SRAM、T-RAM、Z-RAM、TTRAM或者它們的任意組合)來實施。例如,日志130可以被包括為控制電路110的一部分和/或可以被耦合至控制電路110和存儲設備120。
[0016]控制電路110可以包括區域訪問監視電路112、區域特性(分類)映射114、重定向器電路116、基于日志的存儲控制電路117以及直接地址存儲控制電路118。在一些實施例中,控制電路110可以從另一系統組件(未示出)接收數據140。例如,數據140可以由應用或另一存儲設備(例如,DRAM)提供。數據140可以包括用戶數據部分和地址部分。在一些實施方式中,數據140可以包括指示用戶數據為何種類型的分類的分類部分。具體地,指示控制電路110存儲數據140的應用可以指示該數據的分類。例如,數據可以為第一分類、第二分類或第三分類。
[0017]“第一分類”可以標識被寫入到隨機或非順序存儲位置(例如,地址)的數據集合或者與被寫入到隨機或非順序存儲位置(例如,地址)的數據集合相關聯,其中這樣的存儲位置被頻繁地訪問(例如,向這些位置存儲數據的請求的數量超過了預定閾值)。“第二分類”可以標識被寫入到順序存儲位置(例如,地址)的數據集合或者與被寫入到順序存儲位置(例如,地址)的數據集合相關聯,其中這樣的存儲位置被頻繁地訪問(例如,向這些位置存儲數據的請求的數量超過了預定閾值)。“第三分類”可以標識被寫入到隨機或非順序存儲位置(例如,地址)的數據集合或者與被寫入到隨機或非順序存儲位置(例如,地址)的數據集合相關聯,其中這樣的存儲位置被不頻繁地訪問(例如,向這些位置存儲數據的請求的數量未超過預定閾值)。
[0018]控制電路110可以處理數據140以標識該數據的分類。例如,區域訪問監視電路112可以檢索數據140的地址部分并且確定該地址部分對應于第一分類、第二分類還是第三分類。區域訪問監視電路112可以基于數據140的地址部分的分類來確定數據140的地址部分和用戶數據部分應當被高速緩存以便后續存儲至存儲設備120(基于日志的存儲)還是數據140的用戶數據部分應當被直接地存儲至存儲設備120的由數據140的地址部分指定的地址處(直接映射存儲)。例如,被確定為具有第一分類的數據140可以被選擇用于基于日志的存儲,而被確定為具有第二分類或第三分類的數據140可以被選擇用于直接映射存儲。
[0019]在一些實施方式中,區域訪問監視電路11