新四季網

存儲裝置中的磨損均衡的製作方法

2023-07-12 22:05:52


本公開涉及數據存儲管理。



背景技術:

固態驅動器(ssd)可以用於需要相對低的延時和高容量存儲的計算機和應用中。另外,ssd可以利用多個並行數據信道來從存儲器裝置讀取和寫入存儲器裝置,這可以導致高的順序讀取和寫入速度。

ssd可以利用非易失性存儲器(nvm)裝置,例如快閃記憶體、pcm、reram、或mram存儲器裝置。在一些示例中,相比其他存儲器裝置,ssd可能更頻繁地向特定的存儲器裝置寫入數據。在多次寫入時,將數據多次寫入nvm設備可能導致nvm存儲器裝置的物理變化,這可能導致nvm存儲器裝置失去存儲數據的能力。一些ssd利用磨損均衡(wearlevel)技術來防止特定的nvm存儲器裝置相比其他nvm存儲器裝置被更加頻繁地寫入,以試圖延長nvm存儲器裝置的壽命。



技術實現要素:

在一個示例中,一種系統包含多個儲器裝置和處理器。該多個存儲器裝置包含多個物理位置,在該物理位置存儲數據。該處理器可以配置為基於與第一邏輯塊地址集合相關聯的第一瞬態寫入計數器的值和與第二邏輯塊地址集合相關聯的第二瞬態寫入計數器的值,確定是否交換存儲在該第一邏輯塊地址集合中的邏輯塊地址的數據的物理位置和存儲在該第二邏輯塊地址集合中的邏輯塊地址的數據的物理位置。該第一瞬態寫入計數器的值可以等於自從涉及該第一邏輯塊地址集合的先前的數據交換之後數據已經被寫入該第一邏輯塊地址集合的次數,且該第二瞬態寫入計數器的值可以等於自從涉及該第二邏輯塊地址集合的先前的數據交換之後數據已經被寫入該第二邏輯塊地址集合的次數。該處理器還可以配置為,響應於確定交換存儲在該第一邏輯塊地址集合中的邏輯塊地址的數據的物理位置和存儲在該第二邏輯塊地址集合中的邏輯塊地址的數據的物理位置,交換存儲在該第一邏輯塊地址集合中的邏輯塊地址的數據的物理位置和存儲在該第二邏輯塊地址集合中的邏輯塊地址的數據的物理位置。

在另一示例中,一種方法可以包含,通過處理器,基於與第一邏輯塊地址集合相關聯的第一瞬態寫入計數器的值和與第二邏輯塊地址集合相關聯的第二瞬態寫入計數器的值,確定是否交換存儲在該第一邏輯塊地址集合中的數據的物理位置和存儲在該第二邏輯塊地址集合中的數據的物理位置。第一瞬態寫入計數器的值可以等於自從涉及該第一邏輯塊地址集合的先前的數據交換之後數據已經被寫入該第一邏輯塊地址集合的次數,且該第二瞬態寫入計數器的值可以等於自從涉及該第二邏輯塊地址集合的先前的數據交換之後數據已經被寫入該第二邏輯塊地址集合的次數。該方法還可以包含,響應於確定交換存儲在該第一邏輯塊地址集合中的邏輯塊地址的數據的物理位置和存儲在該第二邏輯塊地址集合中的邏輯塊地址的數據的物理位置,通過該處理器,使得存儲在該第一邏輯塊地址集合中的邏輯塊地址的數據的物理位置與存儲在該第二邏輯塊地址集合中的邏輯塊地址的數據的物理位置被交換。

在另一示例中,一種計算機可讀存儲介質存儲指令,當執行該指令時,使得處理器基於與第一邏輯塊地址集合相關聯的第一瞬態寫入計數器的值和與第二邏輯塊地址集合相關聯的第二瞬態寫入計數器的值,確定是否交換存儲在存儲裝置的第一邏輯塊地址集合中的數據的物理位置和存儲在存儲裝置的第二邏輯塊地址集合中的數據的物理位置。該第一瞬態寫入計數器的值可以等於自從涉及該第一邏輯塊地址集合的先前的數據交換之後數據已經被寫入該第一邏輯塊地址集合的次數,且該第二瞬態寫入計數器的值可以等於自從涉及該第二邏輯塊地址集合的先前的數據交換之後數據已經被寫入該第二邏輯塊地址集合的次數。該指令還可以使得該處理器,響應於確定交換存儲在該第一邏輯塊地址集合中的邏輯塊地址的數據的物理位置和存儲在該第二邏輯塊地址集合中的邏輯塊地址的數據的物理位置,使得存儲在該第一邏輯塊地址集合中的邏輯塊地址的數據的物理位置和存儲在該第二邏輯塊地址集合中的邏輯塊地址的數據的物理位置被交換。

在附圖和以下描述中闡述了一個或多個示例的細節。從說明書和附圖、以及從權利要求書,其他特徵、目的和優點將顯而易見。

附圖說明

圖1是示出了包含連接到主機裝置的存儲裝置的示例系統的概念性和示意性框圖。

圖2是示出了根據本公開的一個或多個技術的示例存儲器裝置的概念性框圖。

圖3是示出了示例控制器的概念性和示意性框圖。

圖4a-4b是示出了根據本公開的一個或多個技術的寫入計數器表的示例細節的概念性和示意性框圖。

圖5是示出了固態驅動器的示例磨損均衡操作的流程圖。

圖6是示出了固態驅動器的示例磨損均衡操作的流程圖。

具體實施方式

本公開涉及為存儲裝置(例如固態驅動器(ssd))執行磨損均衡的技術,其可以幫助增加存儲裝置的壽命。存儲裝置可以包含多個存儲器裝置,其每一個包含多個物理塊。向存儲裝置存儲數據的主機裝置可以利用邏輯塊地址,存儲裝置例如使用間接或邏輯到物理表,將邏輯塊地址轉換為物理塊地址。在本文所述的磨損均衡技術中,邏輯塊地址的組可以在邏輯塊地址集合中相關聯。處理器(例如存儲裝置的控制器中的處理器)可以維持與每個邏輯塊地址集合相關聯的寫入計數器,且可以基於相應的邏輯塊地址集合的寫入計數器的值,在與不同的邏輯塊地址集合相關聯的物理塊地址之間交換數據。基於相應的邏輯塊地址集合的寫入計數器,處理器可以確定是否將來自相應的邏輯塊地址集合的數據交換到與另一邏輯塊地址集合中的邏輯塊地址相關聯的物理塊地址,以在邏輯塊地址集合上進行均衡寫入(levelwrite)。

例如,寫入計數器可以是瞬態寫入計數器,且可以是自從來自相應的邏輯塊地址集合的上一次數據與來自另一邏輯塊地址集合的數據被交換之後的、與相應的邏輯塊地址集合相關聯的寫入的計數。高瞬態寫入計數器值從而可以指示,自從上一次數據交換之後,相應的邏輯塊地址集合已經被頻繁地寫入。在一些實例中,這可能表明相應的邏輯塊地址集合將在不久的將來被頻繁地寫入,使得將存儲在相應的邏輯塊地址集合中的邏輯塊地址的數據交換到與另一邏輯塊地址集合中的邏輯塊地址相關聯的物理塊地址將有效地在存儲器裝置的物理塊地址上展開(spread)寫入。因此,處理器可以將來自相應的邏輯塊地址集合的數據的物理位置(物理塊地址)與來自具有較低的瞬態寫入計數器值的另一邏輯塊地址集合的數據的物理位置(物理塊地址)交換。在一些示例中,除了基於對瞬態寫入計數器值的確定以外,處理器可以附加地基於永久寫入計數值來確定是否在與不同的邏輯塊地址集合相關聯的物理位置之間交換數據,永久寫入計數值追蹤在涉及邏輯塊地址集合的上一次的數據交換之前對邏輯塊地址集合的寫入的數量。

與為每個相應的邏輯塊維持寫入計數器相比,為每個邏輯塊地址集合而不是單獨的邏輯塊維持寫入計數器,可以消耗較少的空間開銷。類似地,為邏輯塊集合維持寫入計數器而不是在物理塊之間連續地交換數據,可以減少對每個物理塊的寫入的數量,同時仍提供足夠的磨損均衡。通過利用寫入計數器的較少的空間開銷,並且較不頻繁地在存儲裝置的物理塊之間移動數據,本公開的技術可以改善存儲裝置的壽命和性能。

在一些示例中,處理器可以附加地且可選地重新排列邏輯塊集合內的數據的物理位置(例如,物理塊),以減少對與邏輯塊地址集合相關聯的特定的物理位置比與邏輯塊地址集合相關聯的其他物理位置更加頻繁地寫入數據的可能性。通過移動特定的邏輯塊地址集合內的數據的物理位置,本公開的技術可以減少與邏輯塊地址集合相關聯的某些物理位置過早磨損的可能性。

圖1是示出了根據本公開的一個或多個技術的示例存儲環境2的概念性和示意性框圖,其中存儲裝置6可以用作主機裝置4的存儲裝置。例如,主機裝置4可以利用包含在存儲裝置6中的非易失性存儲器裝置來存儲和取回數據。在一些示例中,存儲環境2可以包含多個存儲裝置(例如存儲裝置6),其可以作為存儲陣列操作。例如,存儲環境2可以包含配置為廉價/獨立磁碟的冗餘陣列(raid)的多個存儲裝置6,其共同地用作主機裝置4的大容量存儲裝置。

存儲環境2可以包含主機裝置4,其可以向一個或多個存儲裝置(例如存儲裝置6)存儲數據和/或從其取回數據。如圖1所示,主機裝置4可以經由接口14與存儲裝置6通信。主機裝置4可以包含廣泛範圍的裝置中的任一種,包含計算機伺服器、網絡附加存儲(nas)單元、臺式計算機、筆記本(即,膝上型)計算機、平板計算機、機頂盒、諸如所謂的「智能」電話的手機、所謂的「智能」墊、電視、相機、顯示裝置、數字媒體播放器、視頻遊戲控制臺、視頻流裝置、等等。

如圖1所示,存儲裝置6可以包含控制器8、非易失性存儲器陣列10(nvma10)、電力供給11、易失性存儲器12和接口14。在一些示例中,為了清楚起見,存儲裝置6可以包含圖1未示出的附加的部件。例如,存儲裝置6可以包含印刷板(pb),存儲裝置6的部件機械附接到該印刷板,且該印刷板包含電互連存儲裝置6的部件的導電跡線,等等。在一些示例中,存儲裝置6的物理尺寸和連接器配置可以符合一種或多種標準形狀因數。一些示例標準形狀因數包含但不限於,3.5」硬碟驅動器(hdd)、2.5」hdd、1.8」hdd、外圍部件互連(pci)、pci擴展(pci-x)、pciexpress(pcie)(例如,pciex1,x4,x8,x16,pcieminicard,minipci,等等)、m.2、等等。在一些示例中,存儲裝置6可以直接耦接(例如,直接焊接)至主機裝置4的主板。

存儲裝置6可以包含用於與主機裝置4相接的接口14。接口14可以包含用於與主機裝置4交換數據的數據總線和用於與主機裝置4交換命令的控制總線中的一者或兩者。接口14可以根據任何合適的協議操作。例如,接口14可以根據以下協議中的一個或多個來操作:高級技術附件(ata)(例如,串行ata(sata)和並行ata(pata))、光纖信道、小型計算機系統接口(scsi)、串行附接scsi(sas)、外圍部件互連(pci)、pci-express、非易失性存儲器express(nvme)、等等。接口14(例如,數據總線,控制總線,或兩者)的電連接電連接到控制器8,提供主機裝置4和控制器8之間的電連接,允許在主機裝置4和控制器8之間交換數據。在一些示例中,接口14的電連接還可以允許存儲裝置6從主機裝置4接收電力。

存儲裝置6包含nvma10,其包含多個存儲器裝置16aa–16nn(統稱為「存儲器裝置16」)。每個存儲器裝置16可以配置為存儲和/或取回數據。例如,存儲器裝置16的存儲器裝置可以從控制器8接收數據和指示存儲器裝置存儲數據的消息。類似地,存儲器裝置16的存儲器裝置可以從控制器8接收指示存儲器裝置取回數據的消息。在一些示例中,每個存儲器裝置16可以被稱為裸芯。在一些示例中,單個物理晶片可以包含多個裸芯(即,多個存儲器裝置16)。在一些示例中,每個存儲器裝置16可以配置為存儲相對大量的數據(例如,128mb、256mb、512mb、1gb、2gb、4gb、8gb、16gb、32gb、64gb、128gb、256gb、512gb、1tb、等等)。

在一些示例中,存儲器裝置16可以包含任何類型的非易失性存儲器裝置。存儲器裝置16的一些示例包含但不限於快閃記憶體存儲器裝置(例如,nand或nor)、相變存儲器(pcm)裝置、電阻式隨機存取存儲器(reram)裝置、磁致電阻式隨機存取存儲器(mram)裝置、鐵電式隨機存取存儲器(f-ram)、全息存儲器裝置、以及任何其他類型的非易失性存儲器裝置。與快閃記憶體存儲器裝置不同,pcm裝置、reram、mram和f-ram裝置可能不需要過時的塊回收(例如,垃圾收集),但是仍然可以利用磨損均衡來減少單個存儲器單元的有限寫入持久性的影響。

在一些示例中,存儲器裝置16可以包含快閃記憶體存儲器裝置。快閃記憶體存儲器裝置可以包含基於nand或nor的快閃記憶體存儲器裝置,且可以基於每個快閃記憶體存儲器單元的電晶體的浮置柵極中所包含的電荷來存儲數據。在nand快閃記憶體存儲器裝置中,快閃記憶體存儲器裝置可以劃分多個塊(block),該塊可以劃分為多個頁面(page)。特定的存儲器裝置內的多個塊中的每個塊可以包含多個nand單元。可以使用字線電連接nand單元的行,以限定多個頁面中的頁面。多個頁面中的每個頁面的相應的單元可以電連接到相應的位線。在一些示例中,控制器8可以在頁面級向nand快閃記憶體存儲器裝置寫入數據和從其讀取數據,且在塊級從nand快閃記憶體存儲器裝置擦除數據。下面參照圖2討論存儲器裝置16的附加細節。

在一些示例中,將控制器8單獨地連接到存儲器裝置16的每個存儲器裝置可能是不實際的。因此,存儲器裝置16和控制器8之間的連接可以被多路復用。作為示例,存儲器裝置16可以被分組為信道18a–18n(統稱為「信道18」)。例如,如圖1所示,存儲器裝置16aa–16an可以被分組為第一信道18a,且存儲器裝置16na–16nn可以被分組為第n信道18n。分組為每個信道18的存儲器裝置16可以共享到控制器8的一個或多個連接。例如,分組為第一信道18a的存儲器裝置16可以附接到公共i/o總線和公共控制總線。存儲裝置6可以包含用於信道18的每個相應的信道的公共i/o總線和控制總線。在一些示例中,信道18中的每個信道可以包含一組晶片使能(ce)線,其可以用於在每個信道上多路復用存儲器裝置。例如,每個ce線可以連接到存儲器裝置18的相應的存儲器裝置。按照這種方式,可以減少控制器8和存儲器裝置18之間的單獨連接的數量。另外,由於每個信道具有到控制器8的連接的獨立的組,連接的減少不會顯著地影響數據吞吐率,這是由於控制器8可以同時向每個信道發出不同的命令。

存儲裝置6可以包含電力供給11,其可以為存儲裝置6的一個或多個部件提供電力。當在標準模式下操作時,電力供給11可以使用由外部裝置(例如主機裝置4)提供的電力為一個或多個部件提供電力。例如,電力供給11可以使用經由接口14從主機裝置4接收的電力為一個或多個部件提供電力。在一些示例中,電力供給11可以包含一個或多個電力存儲部件,其配置為,當在關閉模式下操作時,向一個或多個部件提供電力,例如在停止從外部裝置接收到電力的情況下。按照這種方式,電力供給11可以用作機載備用電源。一個或多個電力存儲部件的一些示例包含但不限於,電容器、超級電容器、電池、等等。

存儲裝置6還可以包含易失性存儲器12,其可以由控制器8使用以存儲信息。在一些示例中,控制器8可以使用易失性存儲器12作為緩存(cache)。例如,控制器8可以在易失性存儲器12中存儲緩存的信息,直到緩存的信息被寫入存儲器裝置16。易失性存儲器12可以消耗從電力供給11接收的電力。易失性存儲器12的示例包含但不限於,隨機存取存儲器(ram)、動態隨機存取存儲器(dram)、靜態ram(sram)、以及同步動態ram(sdram,例如,ddr1、ddr2、ddr3、ddr3l、lpddr3、ddr4、等等)。

存儲裝置6包含控制器8,其可以管理存儲裝置6的一個或多個操作。例如,控制器8可以管理從存儲器裝置16讀取數據和/或向存儲器裝置16寫入數據。在一些實例中,控制器8可以從主機裝置4接收命令,該命令包含數據並指定寫入數據的邏輯塊地址(lba)。控制器8可以將數據寫入存儲器裝置16的對應於由主機裝置4指定的lba的物理塊地址(pba)。然而,將數據多次寫入特定的存儲器裝置16的特定的pba可能導致特定的存儲器裝置16比其他存儲器裝置16更快地磨損。

在一些示例中,主機4包含磨損管理模塊(wmm)31。在其他示例中,控制器8包含磨損管理模塊(wmm)30。在其他示例中,主機4包含wmm31且控制器8包含wmm30。wmm30、31可以配置為管理從主機裝置4接收的數據的寫入位置,以便通過在存儲器裝置16上展開寫入來改善存儲裝置6的壽命。例如,wmm30、31可以通過管理對塊的寫入的數量,來嘗試在存儲器裝置16之間均勻地分布寫入。在一些示例中,wmm30、31可以通過管理對邏輯塊地址集合(其可以包含兩個或更多個邏輯塊地址的組)的寫入的數量,來嘗試在存儲器裝置之間均勻地分布寫入。例如,如果第一邏輯塊地址集合已被寫入多次,並且第二邏輯塊地址集合已被寫入較少次,則wmm30、31可以交換存儲與第一邏輯塊地址集合相關聯的數據的物理位置和存儲與第二邏輯塊地址集合相關聯的數據的物理位置。

在一些示例中,wmm30、31可以維持與每個邏輯塊地址集合相關聯的相應的瞬態寫入計數器、與每個邏輯塊地址集合相關聯的相應的永久寫入計數器、以及與nvma10相關聯的裝置寫入計數器。每個相應的瞬態寫入計數器可以存儲在一定時間內(例如,自從由控制器8執行的涉及相應的邏輯塊地址集合的上一次磨損均衡操作之後)數據已經被寫入相應的邏輯塊地址集合的次數的計數。每個相應的永久寫入計數器可以存儲在存儲裝置6的壽命期間(或者在涉及相應的邏輯塊地址集合的上一次磨損均衡操作之前的存儲裝置6的壽命期間)數據已經被寫入相應的邏輯塊地址集合的次數的計數。裝置寫入計數器可以存儲數據已經被寫入nvma10(在所有的塊集合上)的次數的計數。在一些示例中,裝置寫入計數器可以對在nvma10的壽命期間數據已經被寫入nvma10的次數進行計數。

在一些示例中,控制器8包含wmm30,且控制器8可以從主機裝置4接收包含數據和lba的寫入命令。控制器8可以確定對應於lba的pba(例如,基於間接或邏輯到物理表),且可以在對應於lba的pba將接收的數據寫入存儲器裝置16。替代地,控制器8可以將數據寫入可用的pba(其當前不存儲有效數據),並更新間接表以反映lba到pba的對應關係。在一些示例中,wmm30可以使裝置寫入計數器的值遞增(例如,增加1),以指示控制器6已經執行另一寫入操作,並使瞬態寫入計數器的值遞增,該瞬態寫入計數器與包含由主機裝置4指定的lba的邏輯塊地址集合相關聯。響應於使裝置寫入計數器的值遞增,wmm30可以確定是否執行與每個相應的邏輯塊地址集合相關聯的相應的瞬態寫入計數器的比較。例如,wmm30可以通過將裝置寫入計數器與閾值裝置寫入計數進行比較,來確定是否執行相應的瞬態寫入計數器的比較。如果裝置寫入計數器滿足閾值裝置寫入計數(例如,大於或等於閾值寫入計數器,例如50萬次寫入、100萬次寫入、200萬次寫入、等等),則wmm30可以確定是否交換存儲在第一邏輯塊地址集合中的lba的數據的物理位置(例如,pba)和存儲在第二邏輯塊地址集合中的lba的數據的物理地址(例如,pba)。在一些示例中,wmm30可以基於與第一邏輯塊地址集合相關聯的第一瞬態寫入計數器的值和與第二邏輯塊地址集合相關聯的第二瞬態寫入計數器的值來進行該確定。

響應於wmm30確定交換存儲在第一邏輯塊地址集合的數據的物理位置和存儲在第二邏輯塊地址集合的數據的物理位置,控制器8可以交換存儲在第一邏輯塊地址集合和第二邏輯塊地址集合的數據的物理位置。wmm30可以將第一瞬態寫入計數器和第二瞬態寫入計數器的值設定為等於基線值(例如,零)。在一些示例中,wmm30可以在將第一瞬態寫入計數器設定為基線值之前,將第一瞬態寫入計數器的值添加到與第一邏輯塊地址集合相關聯的第一永久寫入計數器的值。類似地,wmm30可以在將第二瞬態寫入計數器設定為基線值之前,將第二瞬態寫入計數器的值添加到與第二邏輯塊地址集合相關聯的第二永久寫入計數器的值。通過將每個瞬態寫入計數器的值添加到相應的永久寫入計數器,wmm30可以追蹤對每個相應的邏輯塊地址集合的寫入的總數。按照這種方式,wmm30可以在每次控制器8寫入相應的邏輯地址塊集合時,追蹤對每個相應的邏輯塊地址集合的寫入的總數,而不更新每個相應的永久寫入計數器。

在一些示例中,主機裝置4可以包含wmm31。主機裝置4可以向控制器8發送包含數據和lba的寫入命令。響應於控制器8在對應於從主機裝置4接收的lba的pba向存儲器裝置16寫入數據,wmm31可以使裝置寫入計數器的值遞增,以指示控制器6已經執行另一寫入操作,且可以使瞬態寫入計數器的值遞增,該瞬態寫入計數器與包含由主機裝置4指定的lba的邏輯塊地址集合相關聯。響應於使裝置寫入計數器的值遞增,wmm31可以確定是否執行與每個相應的邏輯塊地址集合相關聯的相應的瞬態寫入計數器的比較。例如,wmm31可以通過將裝置寫入計數器與閾值裝置寫入計數進行比較,來確定是否執行相應的瞬態寫入計數器的比較。如果裝置寫入計數器滿足閾值裝置寫入計數,則wmm31可以確定是否交換存儲在第一邏輯塊地址集合中的lba的數據的物理位置和存儲在第二邏輯塊地址集合中的lba的數據的物理地址。在一些示例中,wmm31可以基於與第一邏輯塊地址集合相關聯的第一瞬態寫入計數器的值和與第二邏輯塊地址集合相關聯的第二瞬態寫入計數器的值來進行該確定。

響應於wmm31確定交換存儲在第一邏輯塊地址集合的數據的物理位置和存儲在第二邏輯塊地址集合的數據的物理位置,控制器8可以交換第一邏輯塊地址集合和第二邏輯塊地址集合中的數據的物理位置。wmm31可以將第一瞬態寫入計數器和第二瞬態寫入計數器的值設定為等於基線值。在一些示例中,wmm31可以在將瞬態寫入計數器設定為基線值之前,將第一瞬態寫入計數器的值和第二瞬態寫入計數器的值添加到與相應的邏輯塊地址集合相關聯的相應的永久寫入計數器的值。通過將瞬態寫入計數器的值添加到相應的永久寫入計數器,wmm31可以追蹤對相應的邏輯塊地址集合的寫入的總數。

按照這種方式,wmm30、31可以提供改善的磨損均衡技術。通過為每個邏輯塊地址集合而不是每個邏輯塊地址維持寫入計數器,wmm30、31可以減少計數器的數量,同時仍然提供足夠的磨損均衡。減少計數器的數量可以減少計數器消耗的空間開銷,並且可以改善存儲裝置6的性能。通過僅當某個邏輯塊地址集合已經比另一個邏輯塊地址集合被更多次地寫入時交換數據的物理位置,而不是連續地交換數據的物理位置,wmm30、31可以根據需要執行磨損均衡,這可以減少不必要的交換量。通過減少寫入計數器的數量並根據需要執行磨損均衡,所述技術可以改善存儲裝置6的壽命和性能。

圖2是示出了示例存儲器裝置16aa的概念性框圖,存儲器裝置16aa包含多個塊17a–17n(統稱為「塊17」),每個塊包含多個頁面19aa–19nm(統稱為「頁面19」)。塊17中的每個塊可以包含多個nand單元。可以使用字線串行地電連接nana單元的行,以限定頁面(頁面19中的一個頁面)。多個頁面19中的每個頁面的相應的單元可以電連接到相應的位線。控制器8可以在頁面級向nand快閃記憶體存儲器裝置寫入數據和從其讀取數據,並在塊級從nand快閃記憶體存儲器裝置擦除數據。兩個或更多個塊的組可以被稱為邏輯塊地址集合。例如,邏輯塊地址集合20a可以包含塊17a–17b,且邏輯塊地址集合20b可以包含塊17m–17n。

圖3是示出了控制器8的示例細節的概念性和示意性框圖。在一些示例中,控制器8可以包含地址轉換模塊22、寫入模塊24、調度模塊26、讀取模塊28、磨損管理模塊(wmm)30、以及多個信道控制器32a–32n(統稱為「信道控制器32」)。在其他示例中,控制器8可以包含附加的模塊或硬體單元,或者可以包含更少的模塊或硬體單元。控制器8可以包含一個或多個微處理器、數位訊號處理器(dsp)、專用集成電路(asic)、現場可編程門陣列(fpga)、或其他數字邏輯電路。

控制器8可以經由接口14與主機裝置4相接,並管理數據到存儲器裝置16的存儲和數據從存儲器裝置16的取回。例如,控制器8的寫入模塊24可以管理對存儲器裝置16的寫入。例如,寫入模塊24可以經由接口14從主機裝置4接收消息,其指示存儲裝置6存儲與邏輯地址相關聯的數據以及可以稱為用戶數據的數據。寫入模塊24可以管理用戶數據到存儲器裝置16的寫入。

例如,寫入模塊24可以與地址轉換模塊22通信,地址轉換模塊22管理由主機裝置4使用的邏輯地址之間的轉換,以管理由寫入模塊24使用的數據和物理塊地址的存儲位置,從而引導數據到存儲器裝置的寫入。控制器8的地址轉換模塊22可以利用快閃記憶體轉換層或間接表,其將由存儲器裝置16存儲的數據的邏輯地址(或邏輯塊地址)轉換為由存儲器裝置16存儲的數據的物理塊地址。例如,主機裝置4可以利用在到存儲裝置6的指令或消息中的由存儲器裝置16存儲的數據的邏輯塊地址,而寫入模塊24利用數據的物理塊地址來控制將數據寫入存儲器裝置16(類似地,讀取模塊28可以利用物理塊地址來控制從存儲器裝置16讀取數據)。物理塊地址對應於存儲器裝置16的實際的物理塊。在一些示例中,地址轉換模塊22可以在易失性存儲器12中存儲快閃記憶體轉換層或表。

按照這種方式,主機裝置4可以允許對於某一組數據使用靜態邏輯塊地址,而實際存儲數據的物理塊地址可以改變。地址轉換模塊22可以維持快閃記憶體轉換層或間接表以將邏輯塊地址映射到物理塊地址,從而允許主機裝置4使用靜態邏輯塊地址,而與數據相關聯的物理塊地址可以改變,例如,由於磨損均衡、垃圾收集、等等。

如上文所討論的,控制器8的寫入模塊24可以執行一個或多個操作,以管理對存儲器裝置16的數據的寫入。例如,寫入模塊24可以通過在存儲器裝置16選擇一個或多個物理塊來存儲數據並使得包含所選擇的物理塊的存儲器裝置16的存儲器裝置實際上存儲所述數據,來管理對存儲器裝置16的數據的寫入。如上文所討論的,寫入模塊24可以使得地址轉換模塊22基於所選擇的物理塊來更新快閃記憶體轉換層或間接表。例如,寫入模塊24可以從主機裝置4接收包含數據和邏輯塊地址的消息,在存儲器裝置16的特定的存儲器裝置內選擇物理塊來存儲該數據,使得存儲器裝置16的特定的存儲器裝置實際上存儲該數據(例如,經由信道控制器32的對應於特定的存儲器裝置的信道控制器),並使得地址轉換模塊22更新快閃記憶體轉換層或間接表以指示邏輯塊地址對應於特定的存儲器裝置內的所選擇的物理塊。

讀取模塊28可以類似地控制從存儲器裝置16的數據的讀取。例如,讀取模塊28可以從主機裝置4接收消息,該消息請求具有相關聯的邏輯塊地址的數據。地址轉換模塊22可以使用快閃記憶體轉換層或表將邏輯塊地址轉換為物理塊地址。然後,讀取模塊28可以控制一個或多個信道控制器32,以從物理塊地址取回數據。類似於寫入模塊24,讀取模塊28可以選擇一個或多個物理塊,並將消息通信到信道控制器32,其可以使得信道控制器32從所選擇的物理塊讀取數據。

控制器8的調度模塊26可以執行一個或多個操作,以調度待由存儲器裝置16執行的活動。例如,調度模塊26可以調度從控制器8的其他部件接收的請求,以命令一個或多個存儲器裝置16在運行時間期間執行一個或多個活動。在一些示例中,調度模塊26可以按照請求被接收的順序(例如,先進先出或fifo)來調度待執行的請求。在一些示例中,調度模塊26可以基於一個或多個因素來調度請求,其可以包含但不限於,請求的類型(例如,讀取請求、寫入請求、擦除請求、垃圾收集請求、等等)、自從接收請求以來經過的時間量、將由請求的執行消耗的電力量、帶寬考慮、等等。

控制器8可以從主機裝置4接收第一寫入命令,其包含數據和與數據相關聯的至少一個邏輯塊地址。響應於從主機裝置4接收第一寫入命令,寫入模塊24可以確定在存儲器裝置16的哪個物理位置寫入數據。例如,寫入模塊24可以從地址轉換模塊22請求一個或多個物理塊地址,該物理塊地址是空的(例如,不存儲數據)、部分空的(例如,僅物理塊的一些頁面存儲數據)、或者存儲至少一些無效的(或過時的)數據。當接收一個或多個物理塊地址時,寫入模塊24可以限定和/或選擇一個或多個物理塊,且可以將消息通信到信道控制器32a–32n(統稱為「信道控制器32」),這使得信道控制器32將數據寫入物理塊。

信道控制器32中的每個信道控制器可以連接到信道18中的相應的信道。在一些示例中,控制器8可以包含與存儲裝置2的信道18的數量相同數量的信道控制器32。信道控制器32可以例如在寫入模塊24和/或讀取模塊28的控制下執行對連接到相應的信道的存儲器裝置16的尋址、編程、擦除和讀取的緊密控制。

在一些示例中(例如,在存儲器裝置16包含快閃記憶體存儲器裝置的情況下),可以使用大電流,以便將具有邏輯值0(充電)的位寫入具有先前的邏輯值1(未充電)的位。該電流可能足夠大,使得其可能無意地改變相鄰的快閃記憶體存儲器單元的電荷。為了防止無意的改變,可以在向塊內的單元寫入任何數據之前,將快閃記憶體存儲器單元的整個塊擦除為邏輯值1(未充電)。因此,快閃記憶體存儲器單元可以在塊級被擦除,且在頁面級被寫入。然而,寫入數據和擦除數據可能導致快閃記憶體存儲器單元磨損。例如,由於用於擦除快閃記憶體存儲器單元的相對高的電壓,當擦除快閃記憶體存儲器單元時,可能發生對快閃記憶體存儲器單元的磨損。在多個擦除周期中,相對高的電壓可能導致快閃記憶體存儲器單元的改變。最終,快閃記憶體存儲器單元可能磨損,使得不再能夠向單元寫入數據。類似地,其他類型的非易失性存儲器(例如,pcm、reram、mram、等等)也可能隨著時間磨損,使得存儲器裝置不再能夠向特定的單元寫入數據。

在一些示例中,控制器8可以執行磨損均衡操作,以減少特定存儲器單元過早磨損的可能性。通過利用磨損均衡技術,控制器8可以在不同的存儲器單元之間展開寫入,這可以幫助增加存儲器裝置的壽命。在一些示例中,所述磨損均衡技術可以應用於任何類型的nvm(例如,快閃記憶體、pcm、reram、mram、等等)。

wmm30可以管理磨損均衡操作。在一些示例中,wmm30可以管理不同類型的磨損均衡操作。在一個示例中,wmm30可以管理塊間集合磨損均衡。例如,wmm30可以通過以下方式執行塊間集合磨損均衡:周期性地將來自與第一邏輯塊地址集合相關聯的第一物理位置的數據移動到不與第一邏輯塊地址集合相關聯的第二物理位置。例如,wmm30可以交換存儲在第一邏輯塊地址集合中的邏輯塊地址的數據的物理位置和存儲在第二邏輯塊地址集合中的邏輯塊地址的數據的物理位置。在另一示例中,wmm30可以管理塊內集合磨損均衡。例如,wmm30可以通過以下方式管理塊內集合磨損均衡:周期性地重新排列存儲在與第一邏輯塊地址集合相關聯的物理位置的數據。例如,wmm30可以通過以下方式來重新排列存儲在與第一邏輯塊地址集合相關聯的物理位置的數據:交換存儲在與第一邏輯塊地址集合相關聯的第一邏輯地址(例如,邏輯頁面、字組或字節)的數據的物理位置和存儲在與第一邏輯塊地址集合相關聯的第二邏輯地址(例如,邏輯頁面、字組或字節)的數據的物理位置。

在一些示例中,wmm30可以基於一個或多個寫入計數器來確定是否執行磨損均衡操作。例如,wmm30可以維持裝置寫入計數器、多個瞬態寫入計數器、以及多個永久寫入計數器。如上面參照圖1所述,裝置寫入計數器可以存儲數據已經被寫入nvma10的次數的計數。多個永久寫入計數器可以包含與多個邏輯塊地址集合中的每個相應的邏輯塊地址集合相關聯的相應的永久寫入計數器。每個相應的永久寫入計數器可以存儲數據已經被寫入相應的邏輯塊地址集合的次數的計數(例如,在存儲裝置6的壽命期間,或在涉及相應的邏輯塊地址集合的上一次磨損均衡操作之前的存儲裝置6的壽命期間)。同樣,多個瞬態寫入計數器可以包含與多個邏輯塊地址集合中的每個相應的邏輯塊地址集合相關聯的相應的瞬態寫入計數器。每個相應的瞬態寫入計數器可以存儲在一定時間量內(例如,自從涉及相應的邏輯塊地址集合的上一次塊間集合磨損均衡操作之後)數據已經被寫入相應的邏輯塊地址集合的次數的計數。

在一些示例中,wmm30可以基於與第一邏輯塊地址集合相關聯的至少一個寫入計數器和與第二邏輯塊地址集合相關聯的至少一個寫入計數器的比較,來確定是否執行塊間集合磨損均衡操作。在一些實例中,wmm30可以在每次寫入之後比較相應的寫入計數器。

在其他實例中,wmm30可以在一定數量的寫入之後比較相應的寫入計數器。例如,如果裝置寫入計數器的值滿足閾值裝置寫入計數,則wmm30可以確定已經發生了一定數量的寫入,且wmm30應當比較相應的寫入計數器。在一些示例中,響應於執行第一寫入,wmm30可以更新裝置寫入計數器的值(例如,遞增1),並確定裝置寫入計數器的值是否滿足閾值裝置寫入計數。

在一些示例中,如果存儲在裝置寫入計數器的值等於或超過多個閾值裝置寫入計數中的一個,則wmm30可以確定裝置寫入計數器的值滿足閾值。例如,wmm30可以包含多個閾值裝置寫入計數(例如,50萬次寫入、100萬次寫入、150萬次寫入、等等)。換言之,wmm30可以在每50萬次寫入之後確定裝置寫入計數器的值滿足閾值。因此,如果裝置寫入計數器達到多個閾值裝置寫入計數中的一個,則裝置寫入計數器的值可以滿足閾值,且wmm30可以比較相應的瞬態寫入計數器。

在其他示例中,如果存儲在裝置寫入計數器的值大於或等於閾值裝置寫入計數,則wmm30可以確定裝置寫入計數器的值滿足閾值。例如,wmm30可以包含單個閾值裝置寫入計數(例如,100萬次寫入)。響應於確定裝置寫入計數器的值大於或等於閾值裝置寫入計數,wmm30可以將裝置寫入計數重新設定為基線值(例如,零),並比較相應的瞬態寫入計數器。

在另外的示例中,如果裝置寫入計數器的值可以被整數整除,則wmm30可以確定裝置寫入計數器的值滿足閾值。在一些實例中,如果執行裝置寫入計數器的模運算且閾值裝置寫入計數等於特定值,則裝置寫入計數器的值可以被整除。在將裝置寫入計數器的值除以閾值裝置寫入計數之後,模運算可以計算餘數。在一些示例中,如果餘數等於特定值(例如,零),則wmm30可以確定裝置寫入計數器的值可以被整數整除。在一些示例中,響應於確定裝置寫入計數器的值滿足閾值,wmm30可以比較相應的瞬態寫入計數器。

如上文所討論的,wmm30可以響應於確定裝置寫入計數器的值滿足閾值,基於一個或多個寫入計數器來確定是否執行塊間集合磨損均衡操作。wmm30可以基於與第一邏輯塊地址集合相關聯的第一瞬態寫入計數器的值和與第二邏輯塊地址集合相關聯的第二瞬態寫入計數器的值的比較,來確定是否執行塊間集合磨損均衡操作。換言之,wmm30可以基於與相應的邏輯塊地址集合相關聯的相應的瞬態寫入計數器,來確定是否交換存儲在第一邏輯塊地址集合中的邏輯塊地址的數據物理位置和存儲在第二邏輯塊地址集合中的邏輯塊地址的數據的物理位置。例如,如果第一瞬態寫入計數器的值(表示為c1,trans)大於預定數(表示為p)乘以第二瞬態寫入計數器的值(也表示為c2,trans),則wmm30可以確定交換與相應的邏輯塊地址集合相關聯的數據的物理位置。換言之,如果滿足下式,則wmm30可以確定交換與相應的邏輯塊集合相關聯的數據的物理位置:

等式1:c1,trans>p*g2,trans

例如,如果c1,trans=1200,c2,trans=200,且預定數p等於5,則wmm30可以確定交換存儲在第一邏輯塊地址集合中的邏輯塊地址的數據的物理位置和存儲在第二邏輯塊地址集合中的邏輯塊地址的數據的物理位置,這是因為c1,trans(1200)大於預定數p乘以c2,trans(5*200=1000)。應當理解,這裡所示的預定數僅用於說明的目的,並且其他值可以用於預定數。

在一些示例中,wmm30可以基於與第一邏輯塊地址集合相關聯的第一瞬態寫入計數器、與第一邏輯塊地址集合相關聯的第一永久寫入計數器、與第二邏輯塊地址集合相關聯的第二瞬態寫入計數器、以及與第二邏輯塊地址集合相關聯的第二永久寫入計數器,來確定是否執行塊間集合磨損均衡操作。換言之,wmm30可以基於與相應的邏輯塊地址集合相關聯的相應的瞬態寫入計數器和與相應的邏輯塊地址集合的相應的永久寫入計數器,來確定是否交換存儲在第一邏輯塊地址集合中的邏輯塊地址的數據的物理位置和存儲在第二邏輯塊地址集合中的邏輯塊地址的數據的物理位置。例如,wmm30可以將第一瞬態寫入計數器的值(c1,trans)和第一永久寫入計數器的值(表示為c1,perm)相加以確定第一總寫入值(也表示為c1,total),且可以將第二瞬態寫入計數器的值(c2,trans)和第二永久寫入計數器的值(表示為c2,perm)相加以確定第二總寫入值(也表示為c2,total)。wmm30可以響應於確定第一總寫入值大於預定數p乘以第二總寫入值,來確定交換與相應的邏輯塊地址集合相關聯的數據的物理位置。換言之,如果滿足下式,則wmm30可以確定交換與相應的邏輯塊地址集合相關聯的數據的物理位置:

等式2:c1,total>p*c2,total

例如,如果c1,trans=1200,c1,perm=2000,c2,trans=200,且c2,perm=400,c1,total=3200且c2,total=600。在該示例中,如果預定數p=5,則wmm30可以確定交換存儲在第一邏輯塊地址集合中的邏輯塊地址的數據的物理位置和存儲在第二邏輯塊地址集合中的邏輯塊地址的數據的物理位置,這是因為c1,total(3200)大於預定數p乘以c2,total(5*600=3000)。

在一些示例中,wmm30可以基於第一總寫入值、第二總寫入值、第一瞬態寫入值和第二瞬態寫入值來確定是否執行塊間集合磨損均衡操作。換言之,wmm30可以基於與相應的邏輯塊地址集合相關聯的相應的瞬態寫入計數器的值和與相應的邏輯塊地址集合相關聯的相應的總寫入值,來確定是否交換存儲在第一邏輯塊地址集合中的邏輯塊地址的數據的物理位置和存儲在第二邏輯塊地址集合中的邏輯塊地址的數據的物理位置。例如,wmm30可以響應於確定第一總寫入值大於預定數p乘以第二總寫入值且第一瞬態寫入計數器的值大於第二瞬態寫入計數器的值,來確定交換與相應的邏輯塊地址集合相關聯的數據的物理位置。換言之,如果滿足下式,則wmm30可以確定交換與相應的邏輯塊地址集合相關聯的數據的物理位置:

等式3:c1,total>p*c2,total以及

等式4:c1,trans>c2,trans

例如,如果c1,trans=1200,c1,total=3200,c2,trans=200,c2,total=600,且預定數p=5,則c1,total(3200)大於預定數乘以c2,total(5*600=3000)且c1,trans(1200)大於c2,trans(200)。在該示例中,wmm30可以確定交換存儲在第一邏輯塊地址集合中的邏輯塊地址的數據的物理位置和存儲在第二邏輯塊地址集合中的邏輯塊地址的數據的物理位置,這是因為滿足了由等式3和等式4給定的條件。

響應於確定交換存儲在第一邏輯塊地址集合中的邏輯塊地址的數據的物理位置和存儲在第二邏輯塊地址集合中的邏輯塊地址的數據的物理位置,wmm30可以交換存儲在第一邏輯塊地址集合中的邏輯塊地址的數據的物理位置和存儲在第二邏輯塊地址集合中的邏輯塊地址的數據的物理位置。例如,wmm30可以將存儲在與第一瞬態寫入計數器相關聯的第一物理位置的數據複製到第三物理位置(例如,不同的存儲器裝置16或易失性存儲器12),將存儲在與第二瞬態寫入計數器相關聯的第二物理位置的數據複製到第一物理位置,並將數據從第三物理位置複製到第二物理位置。wmm30可以使地址轉換模塊22更新快閃記憶體轉換層或間接表,以指示第一邏輯塊地址集合現在對應於第二物理位置且第二邏輯塊地址集合現在對應於第一物理位置。進一步響應於確定執行磨損均衡操作,wmm30可以將第一瞬態寫入計數器的值和第二瞬態寫入計數器的值重新設定為基線值(例如,零)。

控制器8可以從主機裝置4接收包含數據和邏輯塊地址的第二寫入命令。該邏輯塊地址可以對應於第三邏輯塊地址集合,其可以與第三瞬態寫入計數器和第三永久寫入計數器相關聯。響應於從主機裝置4接收第二寫入命令,寫入模塊24可以以與上面參照第一寫入命令所述方式類似的方式來確定在存儲器裝置16的哪個物理位置寫入數據。例如,寫入模塊24可以使得接收的數據被寫入與第三邏輯塊集合相關聯的物理位置。在一些示例中,響應於寫入與第三邏輯塊地址集合相關聯的數據,wmm30可以更新第三瞬態寫入計數器。

wmm30可以基於第三瞬態寫入計數器的值,或基於第三瞬態寫入計數器的值與第三永久寫入計數器的值的和(該和被稱為第三總寫入值),來確定是否執行塊內集合磨損均衡操作。換言之,wmm30可以基於第三瞬態寫入計數器的值是否滿足閾值塊集合計數或者第三總寫入值是否滿足閾值塊集合計數,來確定是否重新排列存儲在與第三邏輯塊地址集合相關聯的物理位置的數據。

在一些示例中,如果第三瞬態寫入計數器的值(或第三總寫入值)等於多個閾值塊集合計數中的一個,則wmm30可以確定第三瞬態寫入計數器(或第三總寫入值)滿足閾值塊集合計數。例如,wmm30可以包含多個閾值塊集合計數(例如,一千次寫入、兩千次寫入、等等)。因此,如果第三瞬態寫入計數器的值(或第三總寫入值)達到多個閾值塊集合計數中的一個,則第三瞬態寫入計數器的值(或第三總寫入值)可以滿足閾值塊集合計數,且wmm30可以確定重新排列存儲在與第一邏輯塊地址集合相關聯的頁面的數據。

在其他示例中,如果第三瞬態寫入計數器的值(或第三總寫入值)可以被整數整除,則wmm30可以確定第三瞬態寫入計數器的值(或第三總寫入值)滿足閾值塊集合計數。在一些實例中,如果執行第三瞬態寫入計數器的值(或第三總寫入值)的模運算且閾值塊集合計數等於特定值,則第三瞬態寫入計數器的值(或第三總寫入值)可以被整數整除。在將第三瞬態寫入計數器的值(或第三總寫入值)除以閾值塊集合計數之後,模運算可以計算餘數。在一些示例中,如果餘數等於特定值(例如,零),則wmm30可以確定第三瞬態寫入計數器的值(或第三總寫入值)可以被整數整除。在一些示例中,響應於確定第三瞬態寫入計數器的值或第三總寫入值滿足閾值塊集合計數,wmm30可以確定重新排列存儲在與第一邏輯塊地址集合相關聯的頁面的數據。

應當理解,本文所述的閾值寫入計數(無論它們是閾值裝置寫入計數、閾值塊集合計數、或本文所述的任何其他閾值寫入計數)僅僅是示例,並且任何值可以用於各種閾值寫入計數。

響應於確定重新排列與第三邏輯塊地址集合相關聯的物理位置處的數據,wmm30可以通過以下方式來重新排列存儲在與第三邏輯塊地址集合相關聯的物理位置的數據:交換存儲在與第三邏輯塊地址集合相關聯的第一邏輯地址(例如,邏輯頁面、字組、或字節)的數據的物理位置和存儲在與第三邏輯塊地址集合相關聯的第二邏輯地址的數據的物理位置。在一些示例中,wmm30可以基於與第三邏輯塊地址集合相關聯的偏移值來執行交換。例如,wmm30可以將數據從第一物理位置交換到與第一物理位置偏移偏移值的第二物理位置。在一些示例中,wmm30管理所有邏輯塊地址集合的單個偏移值。在其他示例中,wmm30可以維持與每個相應的邏輯塊地址集合相關聯的相應的偏移值。

在一些示例中,偏移值可以是固定偏移值。例如,考慮這樣的示例,其中與第三邏輯塊地址集合相關聯的固定偏移值等於50,且第三邏輯塊地址集合包含256個頁面。在該示例中,響應於確定第三瞬態寫入計數器的值(或第三總寫入值)滿足閾值,wmm30可以將數據的邏輯單元(例如,頁面)從第一物理位置(例如,物理頁面-1)複製到第二物理位置(例如,物理頁面-51),將數據的邏輯單元(例如,頁面)從第三物理位置(例如,物理頁面-2)複製到第四物理位置(例如,物理頁面-52),以及諸如此類。下一次wmm30確定重新排列存儲在與第三邏輯塊地址集合相關聯的物理位置的數據時,wmm30可以再次將數據的邏輯單元(例如,頁面)從第一物理位置(例如,物理頁面-1)複製到第二物理位置(例如,物理頁面-51),將數據的邏輯單元(例如,頁面)從第三物理位置(例如,物理頁面-2)複製到第四物理位置(例如,物理頁面-52),以及諸如此類。因此,在兩個重新排列操作之後,wmm30可能已經將原始存儲在物理頁面-1的數據的邏輯頁面移動到物理頁面-51,且然後到物理頁面-101。

在其他示例中,偏移值可以是隨機偏移值。例如,wmm30可以周期性地改變與第三邏輯塊地址集合相關聯的偏移值。例如,在一些示例中,wmm30可以將隨機偏移值從第一隨機偏移值(例如,50)更新為第二隨機偏移值(例如,121)。wmm30可以基於隨機數生成器來更新隨機值。在一些示例中,隨機數生成器可以生成1和z之間的值,其中z等於與邏輯塊地址集合相關聯的數據的物理單元(例如,頁面、字組、或字節)的數量。例如,考慮這樣的示例,其中與第三邏輯塊地址集合相關聯的固定偏移值初始時等於50,且第三邏輯塊地址集合包含256個頁面。在該示例中,wmm30可以將數據的邏輯單元(例如,頁面)從第一物理位置(例如,物理頁面-1)複製到第二物理位置(例如,物理頁面-51),將數據的邏輯單元(例如,頁面)從第三物理位置(例如,物理頁面-2)複製到第三物理位置(例如,物理頁面-52),以及諸如此類。wmm30可以將隨機偏移值從值50更新為值121。下一次wmm30確定重新排列存儲在與第三邏輯塊地址集合相關聯的物理位置的數據時,wmm30可以將數據的邏輯單元(例如,頁面)從第一物理位置(例如,物理頁面-1)複製到第五物理位置(例如,物理頁面-122),將數據的邏輯單元(例如,頁面)從第三物理位置(例如,物理頁面-2)複製到第六物理位置(例如,物理頁面-123),以及諸如此類。因此,在兩個重新排列操作之後,wmm30可能已經將原始存儲在物理頁面-1的數據的邏輯頁面移動到物理頁面-51,且然後到物理頁面-172。

在一些示例中,wmm30可以將各種寫入計數器(例如,裝置寫入計數器、相應的瞬態寫入計數器、相應的永久寫入計數器、或其中的任何組合)存儲在易失性存儲器12、nvma10、或它們的組合中。在一些示例中,wmm30可以將所有的相應的瞬態寫入計數器和相應的永久寫入計數器存儲在nvma10中,且可以將相應的瞬態寫入計數器的子組和永久寫入計數器存儲在易失性存儲器12中。

例如,響應於存儲裝置6打開,wmm30可以在裝置啟動時加載塊集合特定參數。換言之,wmm30可以取回瞬態寫入計數器的子組、永久寫入計數器、或兩者,且可以將瞬態寫入計數器的子組和永久寫入計數器加載到易失性存儲器12。在一些示例中,寫入計數器的子組可以包含這樣的相應的計數器,其對應於最頻繁地寫入的邏輯塊地址集合、最頻繁地讀取的邏輯塊地址集合、或兩者。

當控制器8接收涉及相應的附加邏輯塊地址集合的寫入命令和讀取命令時,wmm30可以取回與相應的附加邏輯塊地址集合相關聯的寫入計數器的附加子組。在一些示例中,如果控制器8確定相應的附加邏輯塊地址集合可能被使用,則wmm30可以取回與一個或多個相應的附加邏輯塊地址集合相關聯的寫入計數器的附加子組,即使控制器8尚未接收涉及附加的一個或多個邏輯塊地址集合的命令。通過在相應的寫入計數器被使用(或可能被使用)時加載它們,wmm30可以減少存儲在易失性存儲器12中的計數器的數量,這可以改善存儲裝置6的性能。

在一些示例中,其中wmm30將相應的寫入計數器中的至少一些加載到易失性存儲器12,wmm30可以周期性地更新存儲在nvma10的相應的寫入計數器。當存儲裝置6被關閉時(例如,由於故意關閉或電源故障),wmm30可以更新存儲在nvma10的相應的寫入計數器。按照這種方式,如果存儲裝置6丟失電力,則wmm30可以保持每個相應的寫入計數器的更準確的計數。

圖4a-4b是示出了根據本公開的一個或多個技術的寫入計數器表的示例細節的概念性和示意性框圖。圖4a示出了在執行塊間集合磨損均衡操作之前的寫入計數器表40的示例細節。換言之,圖4a所示的寫入計數器表40示出了在交換存儲在第一邏輯塊地址集合中的邏輯塊地址的數據的物理位置和存儲在第二邏輯塊地址集合中的邏輯塊地址的數據的物理位置之前的相應的寫入計數器的相應的值。類似地,圖4b示出了在交換存儲在第一邏輯塊地址集合中的邏輯塊地址的數據的物理位置和存儲在第二邏輯塊地址集合中的邏輯塊地址的數據的物理位置之後的相應的寫入計數器的相應的值。僅為了便於說明,數據結構將被描述為寫入計數器表40;然而,寫入計數器表40內的信息可以存儲在任何類型的數據結構中,例如陣列、資料庫、等等。為了說明的目的,將參照圖1和圖3描述寫入計數器表40。

寫入計數器表40可以存儲與每個相應的邏輯塊地址集合相關聯的寫入計數器值。例如,寫入計數器表40可以包含「n」個行,每個邏輯塊地址集合一行。每個行可以包含多個列,每個列包含與相應的邏輯塊地址集合相關聯的相應的寫入計數器。

例如,寫入計數器表40可以包含以下列中的至少一個:邏輯塊地址集合42、物理塊地址範圍44、瞬態寫入計數器46、永久寫入計數器48、或總計數值50。在一些示例中,寫入計數器表40可以省略列42-50中的一個或多個,且可以包含存儲其他信息的其他列,或它們的組合。邏輯塊地址集合42可以包含用於標識邏輯塊地址集合的唯一邏輯塊地址標識符。物理塊地址範圍44可以存儲對應於相應的邏輯塊地址集合內的邏輯塊地址的物理塊地址的指示。瞬態寫入計數器46可以存儲在特定的時間量內(例如,自從由控制器8執行的涉及相應的邏輯塊地址集合的上一次磨損均衡操作之後)數據已經被寫入相應的邏輯塊地址集合的次數的計數。永久寫入計數器48可以存儲在存儲裝置6的壽命期間(或在涉及相應的邏輯塊地址集合的上一次塊間集合磨損均衡操作之前的存儲裝置6的壽命期間)數據已經被寫入相應的邏輯塊地址集合的次數的計數。總寫入值50存儲數據已經被寫入相應的邏輯塊地址集合的總次數的計數。在一些示例中,wmm30可以實際上不存儲總寫入值50(例如,為了減少存儲計數器所需的存儲器量),且可以通過將相應的瞬態寫入計數器的值與相應的永久寫入計數器的值相加來計算數據已經被寫入邏輯塊地址集合的總次數。

在一些示例中,響應於確定裝置寫入計數器滿足閾值,wmm30可以確定是否交換存儲在第一邏輯塊地址集合中的邏輯塊地址的數據的物理位置和存儲在第二邏輯塊地址集合中的邏輯塊地址的數據的物理位置。wmm30可以基於相應的瞬態寫入計數器46、相應的永久寫入計數器48、總寫入值50、或它們的組合,來確定是否進行交換。在一些示例中,wmm30可以基於將具有最大值的寫入計數器(例如,瞬態寫入計數器46、永久寫入計數器48、或總寫入值50)與具有最大值的寫入計數器進行比較,來確定是否進行交換。在一些實例中,wmm30可以通過將瞬態寫入計數值44從最大到最小排序,來確定哪個寫入計數器存儲最大值,哪個寫入計數器存儲最小值。在其他實例中,wmm30可以通過利用優先級,來確定哪個寫入計數器存儲最大值,哪個寫入計數器存儲最小值。

在一些示例中,wmm30可以基於如上所述的等式3和等式4所示的交換條件,來確定是否交換物理位置。參照圖4a,wmm30可以確定最大總寫入值50與邏輯塊地址集合(#5)相關聯,且最小總寫入值50與邏輯塊地址集合(#3)相關聯。因此,與邏輯塊地址集合(#5)相關聯的瞬態寫入計數器的值可以表示為c5,trans,與邏輯塊地址集合(#5)相關聯的總寫入值可以表示為c5,total,與邏輯塊地址集合(#3)相關聯的瞬態寫入計數器的值可以表示為c3,trans,且與邏輯塊地址集合(#3)相關聯的總寫入值可以表示為c3,total。代入等式3和等式4,得到等式5和等式6:

等式5:c5,total>p*c3,total以及

等式6:c5,trans>c3,trans

如果c5,trans=1100,c5,total=5350,c3,trans=50,c3,total=550,且預定數p=2,則wmm30可以確定交換存儲在邏輯塊地址集合(#5)中的邏輯塊地址的數據的物理位置和存儲在邏輯塊地址集合(#3)中的邏輯塊地址的數據的物理位置,這是因為等式5和等式6兩者都為真。因此,如圖4b所示,與邏輯塊地址集合(#5)相關聯的數據的物理位置可以從物理塊地址範圍(9,10)交換到物理塊地址範圍(5,6)。類似地,與邏輯塊地址集合(#3)相關聯的數據的物理位置可以從物理塊地址範圍(5,6)交換到物理塊地址範圍(9,10)。

按照類似的方式,wmm30可以確定第二最大總寫入值、第二最小總寫入值,且可以確定是否交換與第二最大總寫入值和第二最小總寫入值相關聯的數據的物理位置。參照圖4a,wmm30可以確定第二最大總寫入值50與邏輯塊地址集合(#1)相關聯,且最小總寫入值50與邏輯塊地址集合(#2)相關聯。因此,與邏輯塊地址集合(#1)相關聯的瞬態寫入計數器的值可以表示為c1,trans,與邏輯塊地址集合(#1)相關聯的總寫入值可以表示為c1,total,與邏輯塊地址集合(#2)相關聯的瞬態寫入計數器的值可以表示為c2,trans,且與邏輯塊地址集合(#2)相關聯的總寫入值可以表示為c2,total。代入等式3和等式4,得到等式7和等式8:

等式7:c1,total>p*c2,total以及

等式8:c1,trans>c2,trans

如果c1,trans=1200,c1,total=3200,c2,trans=200,c2,total=600,且預定數p=2,則wmm30可以確定交換存儲在邏輯塊地址集合(#1)中的邏輯塊地址的數據的物理位置和存儲在邏輯塊地址集合(#2)中的邏輯塊地址的數據的物理位置,這是因為等式7和等式8兩者都為真。因此,如圖4b所示,與邏輯塊地址集合(#1)相關聯的數據的物理位置可以從物理塊地址範圍(1,2)交換到物理塊地址範圍(3,4)。類似地,與邏輯塊地址集合(#2)相關聯的數據的物理位置可以從物理塊地址範圍(3,4)交換到物理塊地址範圍(1,2)。

wmm30可以繼續該過程,直到不存在滿足交換等式的邏輯塊地址集合及與相應的邏輯塊地址集合的相關聯的寫入計數器的組合。

響應於交換存儲在第一邏輯塊地址集合中的邏輯塊地址的數據的物理位置和存儲在第二邏輯塊地址集合中的邏輯塊地址的數據的物理位置,wmm30可以使與第一邏輯塊地址集合相關聯的第一永久寫入計數器的值增加第一瞬態寫入計數器的值。類似地,wmm30可以使與第二邏輯塊地址集合相關聯的第二永久寫入計數器的值增加第二瞬態寫入計數器的值。例如,wmm30可以將瞬態寫入計數器的相應的值和與邏輯塊地址集合(#5)相關聯的永久寫入計數器的相應的值相加。因此,wmm30可以使與邏輯塊地址集合(#5)相關聯的永久寫入計數器的值從4250增加到5350。類似地,wmm30可以使與邏輯塊地址集合(#1、2和3)相關聯的永久寫入計數器的值增加。

在一些示例中,wmm30可以在將應的瞬態寫入計數器的值和永久寫入計數器相加之後,交換相應的永久寫入計數器的值和與每個相應的邏輯塊地址集合相關聯的相應的總寫入計數器的值。例如,如果在將相應的瞬態寫入計數器的值和相應的永久寫入計數器的值相加之後,c5,perm=5350且c3,perm=550,則wmm30可以交換更新的永久寫入計數器的值,使得在交換之後,c5,perm=550且c3,perm=5350。因此,在交換之後,永久寫入計數器的值c3,perm反映對物理塊地址範圍(9,10)的寫入的總數量,且永久寫入計數器的值c5,perm反映對物理塊地址範圍(5,6)的寫入的總數量。按照這種方式,永久寫入計數器50可以對應於數據的物理位置,且可以追蹤對相應的物理塊地址的寫入的實際數量。

進一步響應於交換存儲在第一邏輯塊地址集合中的邏輯塊地址的數據的物理位置和存儲在第二邏輯塊地址集合中的邏輯塊地址的數據的物理位置,wmm30可以通過將相應的瞬態寫入計數器的值設定為基線值(例如,零)來更新相應的瞬態寫入計數器46。例如,wmm30可以將與邏輯塊地址集合(#1、2、3和5)相關聯的瞬態寫入計數器的值設定為零。

圖5是示出了根據本公開的一個或多個技術的固態驅動器的示例磨損均衡操作的流程圖。為了易於說明,將同時參照圖1和圖3的存儲裝置6和控制器8來描述圖5的示範性技術。然而,這些技術可以與硬體或軟體的任何組合一起使用。

wmm30可以確定是否交換存儲在第一邏輯塊地址集合中的邏輯塊地址的數據的物理位置和存儲在第二邏輯塊地址集合中的邏輯塊地址的數據的物理位置(52)。在一些示例中,wmm30可以基於與第一邏輯塊地址集合相關聯的第一瞬態寫入計數器的值和與第二邏輯塊地址集合相關聯的第二瞬態寫入計數器的值,來確定是否交換數據的物理位置。在其他示例中,wmm30可以基於第一瞬態寫入計數器的值和與第一邏輯塊地址集合相關聯的第一永久寫入計數器的和(也稱為第一總寫入值),以及第二瞬態寫入計數器的值和與第二邏輯塊地址集合相關聯的第二永久寫入計數器的和(也稱為第二總寫入值),來確定是否交換數據的物理位置。在其他示例中,wmm30可以基於第一瞬態寫入值和與第一邏輯塊地址集合相關聯的第一總寫入值,以及第二瞬態寫入值和與第二邏輯塊地址集合相關聯的第二總寫入值,來確定是否交換數據的物理位置。

響應於確定交換存儲在第一邏輯塊地址集合中的邏輯塊地址的數據的物理位置和存儲在第二邏輯塊地址集合中的邏輯塊地址的數據的物理位置,wmm30可以交換存儲在第一邏輯塊地址集合中的邏輯塊地址的數據的物理位置和存儲在第二邏輯塊地址集合中的邏輯塊地址的數據的物理位置(54)。例如,wmm30可以將存儲在與第一瞬態寫入計數器相關聯的第一物理位置的數據複製到第三物理位置(例如,不同的存儲器裝置16或易失性存儲器12),將存儲在與第二瞬態寫入計數器相關聯的數據複製到第一物理位置,並將數據從第三物理位置複製到第二物理位置。

圖6是示出了根據本公開的一個或多個技術的固態驅動器的示例磨損均衡操作的流程圖。為了易於說明,將同時參照圖1和圖3的存儲裝置6和控制器8來描述圖6的示範性技術。然而,這些技術可以與硬體或軟體的任何組合一起使用。

在一些示例中,wmm30可以在裝置啟動時加載塊集合特定參數(62)。例如,wmm30可以取回多個瞬態寫入計數器(其每一個與多個邏輯塊地址集合中的相應的邏輯塊地址集合相關聯)、多個永久寫入計數器(其每一個與多個邏輯塊地址集合中的相應的邏輯塊地址集合相關聯)、或兩者。wmm30可以將多個瞬態寫入計數器和/或永久寫入計數器加載到易失性存儲器12。在一些示例中,多個瞬態和/或永久寫入計數器可以包含相應的瞬態和/或永久寫入計數器,其對應於最頻繁地寫入的邏輯塊地址集合,或最頻繁地讀取的邏輯塊地址集合,或兩者。

寫入模塊24可以將數據寫入第一邏輯塊地址集合(64)。例如,寫入模塊24可以從主機裝置4接收包含數據和邏輯塊地址的寫入命令,在特定的存儲器裝置16內選擇物理位置(例如,pba)來存儲數據,並將數據存儲到所選擇的物理位置。在一些示例中,wmm30可以確定包含邏輯塊地址的第一邏輯塊地址集合。響應於將數據寫入第一物理位置,wmm30可以更新與第一邏輯塊地址集合相關聯的第一瞬態寫入計數器的值(c1,trans)(66)。例如,wmm30可以使第一瞬態寫入計數器的值增加1。

在一些示例中,wmm30可以基於第一瞬態寫入計數器的值(c1,trans)和與第一邏輯塊集合相關聯的第一永久寫入計數器的值(c1,perm)的和,來確定是否重新排列存儲在與第一邏輯塊地址集合相關聯的的物理位置的數據。例如,wmm30可以確定對第一邏輯塊地址集合的寫入的總數是否滿足閾值塊集合計數(68)。在一些示例中,如果對第一邏輯塊地址集合的寫入的總數等於或超過多個閾值塊集合計數中的一個,則wmm30可以確定對第一邏輯塊地址集合的寫入的總數滿足閾值塊集合計數。在其他示例中,如果對第二邏輯塊地址集合的寫入的總數可以由整數整除,則wmm30可以確定對第一邏輯塊地址集合的寫入的總數滿足閾值塊集合計數。

響應於確定對第一邏輯塊地址集合的寫入的總數滿足閾值塊集合計數,wmm30可以基於隨機偏移值重新排列存儲在與第一邏輯塊地址集合相關聯的物理位置的數據(70)。例如,wmm30可以通過以下方式重新排列存儲在與第一邏輯塊地址集相關聯的物理位置的數據:交換存儲在與第一邏輯塊地址集合相關聯的第一邏輯地址(例如,邏輯頁面、字組、或字節)的數據的物理位置和存儲在與第一邏輯塊地址集合相關聯的第二邏輯地址(例如,邏輯頁面或字組)的數據的物理位置。在一些示例中,wmm30可以基於與第一邏輯塊地址集合相關聯的隨機偏移值來執行交換。例如,wmm30可以將數據從第一物理位置交換到從第一物理位置偏移隨機偏移值的第二物理位置。

wmm30可以更新隨機偏移值(72)。例如,wmm30可以生成隨機數,並將隨機偏移值設定為等於由隨機數生成器生成的值。

在一些示例中,wmm30可以確定自從最後一次交換(例如,最近的塊間集合磨損均衡)以來的到存儲裝置6的寫入的總數是否滿足閾值寫入數(74)。在一些實例中,如果裝置寫入計數器的值等於多個閾值裝置寫入計數中的一個,則wmm30可以確定自從交換以來的對存儲裝置6的總寫入數滿足閾值。在其他實例中,如果裝置寫入計數器的值大於或等於閾值裝置寫入計數,則wmm30可以確定裝置寫入計數器的值滿足閾值。在其他的實例中,如果裝置寫入計數器的值可以由整數整除,則wmm30可以確定自從上一次交換以來的對存儲裝置6的總寫入數滿足閾值。

響應於確定對存儲裝置6的總寫入數滿足閾值寫入數,wmm30可以確定是否交換存儲在第二邏輯塊地址集合中的邏輯塊地址的數據的物理位置和存儲在第三邏輯塊地址集合中的邏輯塊地址的數據的物理位置。wmm30可以通過以下方式來確定是否交換數據的物理位置:確定與第二塊集合相關聯的總寫入值(c2,total)是否大於預定數p乘以與第三塊集合相關聯的總寫入值(c3,total),以及與第二塊集合相關聯的瞬態寫入計數器的值(c2,trans)是否大於與第三塊集合相關聯的瞬態寫入計數器的值(c3,trans)(76)。

響應於確定c2,total>p*c3,total且c2,trans>c3,trans,wmm30可以交換存儲在第二邏輯塊地址集合中的邏輯塊地址的數據的物理位置和存儲在第三邏輯塊地址集合中的邏輯塊地址的數據的物理位置(80)。例如,wmm30可以將存儲在與第一瞬態寫入計數器相關聯的第一物理位置的數據複製到第三物理位置(例如,不同的存儲器裝置16或易失性存儲器12),將存儲在與第二瞬態寫入計數器相關聯的第二物理位置的數據複製到第一物理位置,並將數據從第三物理位置複製到第二物理位置。wmm30可以使得地址轉換模塊22更新快閃記憶體轉換層或間接表,以指示第一邏輯塊地址集合現在對應於第二物理位置,且第二邏輯塊地址集合現在對應於第一物理位置。

本公開中所描述的技術可以至少部分地在硬體、軟體、固件或其任何組合中實現。例如,所述技術的各個方面可以在一個或多個處理器內實現,包括一個或多個微處理器、數位訊號處理器(dsp)、專用集成電路(asic)、現場可編程門陣列(fpga)、或任何其它等效的集成或分立邏輯電路、以及這些部件的任何組合。術語「處理器」或「處理電路」通常可以指代任何前述邏輯電路(單獨地或與其他邏輯電路組合)、或任何其他等效電路。包含硬體的控制單元也可以執行本公開的一個或多個技術。

這樣的硬體、軟體和固件可以在相同的設備內或在單獨的裝置內實現,以支持本公開中所描述的各種技術。此外,所述單元、模塊或部件中的任一者可一起實現、或單獨實施為分立但可互操作的邏輯裝置。將不同的特徵描述為模塊或單元旨在強調不同的功能方面,並且不一定意味著這樣的模塊或單元必須由單獨的硬體、固件或軟體組件實現。相反,與一個或多個模塊或單元相關聯的功能可以由單獨的硬體、固件或軟體部件來執行,或者集成在公共或單獨的硬體、固件或軟體部件中。

本公開中所描述的技術也可以在包含使用指令編碼的計算機可讀存儲介質的製品中實現或編碼。嵌入或編碼在包含計算機可讀存儲介質編碼的製品中的指令可以使得一個或多個可編程處理器、或其他處理器實現本文所描述的技術中的一個或多個,例如當由一個或多個處理器執行包含或編碼在計算機可讀存儲介質中的指令時。計算機可讀存儲介質可以包含隨機存取存儲器(ram)、只讀存儲器(rom)、可編程只讀存儲器(prom)、可擦除可編程只讀存儲器(eprom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體存儲器、硬碟、光碟rom(cd-rom)、軟盤、盒式磁帶、磁性介質、光學介質、或其他計算機可讀介質。在一些示例中,製品可以包含一個或多個計算機可讀存儲介質。

在一些示例中,計算機可讀存儲介質可以包含非暫時性介質。術語「非暫時性」可以指示存儲介質未被具現為載波或傳播信號。在某些示例中,非暫時性存儲介質可以存儲可隨時間改變(例如,在ram或緩存中)的數據。

已經描述了各種示例。這些示例和其他示例在所附權利要求的範圍內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀