技術(shù)領(lǐng)域
與示例性實施例一致的設(shè)備和方法涉及一種半導(dǎo)體電路,更具體地講,涉及一種包括非易失性存儲器裝置的存儲裝置。
背景技術(shù):
存儲裝置是根據(jù)諸如計算機、智能電話、智能卡等的主機裝置的控制來存儲數(shù)據(jù)的裝置。存儲裝置包括將數(shù)據(jù)存儲在磁盤上的裝置(例如,硬盤驅(qū)動器(HDD))或?qū)?shù)據(jù)存儲在非易失性存儲器上的半導(dǎo)體存儲器(諸如固態(tài)驅(qū)動器(SSD)或存儲卡)。
非易失性存儲器可包括只讀存儲器(ROM)、可編程ROM(PROM)、電可編程ROM(EPROM)、電可擦除可編程ROM(EEPROM)、閃存存儲器、相變RAM(PRAM)、磁性RAM(MRAM)、電阻型RAM(RRAM)、或鐵電RRAM(FRAM)。
隨著半導(dǎo)體制造技術(shù)的進步,與諸如計算機、智能電話、智能板等的存儲裝置通信的主機裝置的操作速度日益提高。另外,存儲裝置和存儲裝置的主機裝置所使用的內(nèi)容的容量日益增加。出于此原因,必須進一步提高存儲裝置的操作速度。
技術(shù)實現(xiàn)要素:
一個或更多個示例性實施例提供了一種速度提高的存儲裝置。
根據(jù)示例性實施例的一方面,提供了一種存儲裝置,所述存儲裝置包括:非易失性存儲器裝置;以及控制器,被配置為根據(jù)來自外部主機裝置的讀請求,控制非易失性存儲器裝置的讀操作,其中,控制器被配置為讀取包括片段的映射數(shù)據(jù),并且基于確定片段是否對應(yīng)于順序數(shù)據(jù),將不同類型的映射數(shù)據(jù)存儲在內(nèi)部隨機存取存儲器(RAM)中。
控制器被配置為接收基于邏輯地址的讀請求,將邏輯地址轉(zhuǎn)換為非易失性存儲器裝置的物理地址,并且基于轉(zhuǎn)換后的物理地址來控制讀操作。
控制器被配置為讀取包括對應(yīng)于邏輯地址的片段的映射數(shù)據(jù)。
控制器被配置為,如果片段對應(yīng)于順序數(shù)據(jù),則存儲指示片段對應(yīng)于順序數(shù)據(jù)的緩存映射數(shù)據(jù),而如果片段不對應(yīng)于順序數(shù)據(jù),則存儲映射數(shù)據(jù)之中的將邏輯地址與片段的物理地址關(guān)聯(lián)的部分映射數(shù)據(jù)。
緩存映射數(shù)據(jù)包括關(guān)于片段的開始物理地址和與開始物理地址相關(guān)的開始邏輯地址的信息。
控制器被配置為,如果對應(yīng)于邏輯地址的緩存映射數(shù)據(jù)被存儲在內(nèi)部RAM中,則使用存儲在內(nèi)部RAM中的緩存映射數(shù)據(jù)將邏輯地址轉(zhuǎn)換為物理地址。
控制器被配置為基于組關(guān)聯(lián)緩存,確定對應(yīng)于邏輯地址的緩存映射數(shù)據(jù)是否存儲在內(nèi)部RAM中。
控制器被配置為,如果第一片段對應(yīng)于順序數(shù)據(jù),則將指示對應(yīng)于邏輯地址的第一片段對應(yīng)于順序數(shù)據(jù)的緩存映射數(shù)據(jù)存儲在內(nèi)部RAM中,并且如果第一片段不對應(yīng)于順序數(shù)據(jù)而第二片段對應(yīng)于順序數(shù)據(jù),則將指示小于第一片段并且對應(yīng)于邏輯地址的第二片段對應(yīng)于順序數(shù)據(jù)的緩存映射數(shù)據(jù)存儲在內(nèi)部RAM中。
根據(jù)控制器和非易失性存儲器裝置的操作特性,確定第一片段的大小和第二片段的大小。
根據(jù)控制器和外部主機裝置的操作特性,確定第一片段的大小和第二片段的大小。
片段包括多個條目,并且多個條目中的每個條目包括邏輯地址和物理地址之間的轉(zhuǎn)換信息。
緩存映射數(shù)據(jù)包括片段的開始條目,并且部分映射數(shù)據(jù)包括對應(yīng)于邏輯地址的條目。
開始條目還包括指示條目對應(yīng)于順序數(shù)據(jù)的緩存標簽。
非易失性存儲器裝置包括多個存儲器塊,所述多個存儲器塊中的每個存儲器塊包括布置在基板上的多個單元串,所述多個單元串中的每個單元串包括至少一個選擇晶體管和在垂直于基板的方向上堆疊在基板上的多個存儲器單元,所述至少一個選擇晶體管和所述多個存儲器單元中的每個包括電荷捕獲層。
根據(jù)另一個示例性實施例的一方面,提供了一種存儲裝置,所述存儲裝置包括:非易失性存儲器裝置;以及控制器,被配置為根據(jù)來自外部主機裝置的寫請求,控制非易失性存儲器裝置的寫操作,其中,控制器被配置為生成映射數(shù)據(jù),基于確定片段是否對應(yīng)于順序數(shù)據(jù),將生成的映射數(shù)據(jù)作為不同類型的映射數(shù)據(jù)存儲在內(nèi)部隨機存取存儲器(RAM)中,并且將生成的映射數(shù)據(jù)和寫請求對應(yīng)的寫數(shù)據(jù)寫入非易失性存儲器裝置中。
控制器被配置為接收基于邏輯地址的寫請求,將邏輯地址轉(zhuǎn)換成非易失性存儲器裝置的物理地址,并且基于轉(zhuǎn)換后的物理地址來控制寫操作。
控制器被配置為生成包括邏輯地址和物理地址之間的轉(zhuǎn)換信息的映射數(shù)據(jù)。
控制器被配置為,如果邏輯地址連續(xù)的范圍大于或等于片段,則存儲指示片段對應(yīng)于順序數(shù)據(jù)的緩存映射數(shù)據(jù),而如果邏輯地址連續(xù)的范圍小于片段,則把將生成的映射數(shù)據(jù)作為部分映射數(shù)據(jù)存儲。
如果從外部主機裝置接收到基于對應(yīng)于片段的邏輯地址的讀請求,則控制器被配置為使用緩存映射數(shù)據(jù)將邏輯地址轉(zhuǎn)換成物理地址。
如果邏輯地址連續(xù)的范圍大于或等于片段,則控制器被配置為將指示片段對應(yīng)于順序數(shù)據(jù)的緩存標簽添加到生成的映射數(shù)據(jù)。
如果邏輯地址連續(xù)的范圍大于或等于片段并且小于比該片段大的第二片段,則控制器被配置為讀取對應(yīng)于邏輯地址的第二片段的映射數(shù)據(jù),更新第二片段的映射數(shù)據(jù),并且將更新后的映射數(shù)據(jù)寫入非易失性存儲器裝置中。
非易失性存儲器裝置包括三維(3D)存儲器陣列。
3D存儲器陣列包括多個存儲器單元,并且所述多個存儲器單元中的每個存儲器單元包括電荷捕獲層。
3D存儲器陣列包括多個存儲器串。
根據(jù)另一個示例性實施例的一方面,提供了一種操作存儲裝置的方法,所述存儲裝置包括非易失性存儲器裝置和被配置為控制非易失性存儲器裝置的控制器,所述方法包括:從外部主機裝置接收寫請求;生成將對應(yīng)于寫請求的邏輯地址與非易失性存儲器裝置的物理地址關(guān)聯(lián)的映射數(shù)據(jù);以及如果邏輯地址連續(xù)的范圍大于或等于至少一個片段,則生成對應(yīng)于所述至少一個片段的緩存映射數(shù)據(jù)。
所述方法還包括:如果邏輯地址連續(xù)的范圍大于或等于所述至少一個片段,則將緩存映射數(shù)據(jù)存儲在控制器的內(nèi)部隨機存取存儲器(RAM)中;以及如果邏輯地址連續(xù)的范圍小于所述至少一個片段,則將生成的映射數(shù)據(jù)作為部分映射數(shù)據(jù)存儲在控制器的內(nèi)部RAM中。
根據(jù)另一個示例性實施例的一方面,提供了一種存儲裝置,所述存儲裝置包括:非易失性存儲器裝置;以及控制器,被配置為,從外部主機裝置接收寫請求,生成用于將對應(yīng)于寫請求的邏輯地址與非易失性存儲器裝置的物理地址關(guān)聯(lián)的映射數(shù)據(jù),如果邏輯地址連續(xù)的范圍大于或等于至少一個片段,則生成對應(yīng)于所述至少一個片段的緩存映射數(shù)據(jù),并且將生成的映射數(shù)據(jù)和對應(yīng)于寫請求的寫數(shù)據(jù)寫入非易失性存儲器裝置中。
控制器被配置為,如果邏輯地址連續(xù)的范圍大于或等于所述至少一個片段,則將緩存映射數(shù)據(jù)存儲在控制器的內(nèi)部隨機存取存儲器(RAM)中;以及如果邏輯地址連續(xù)的范圍小于所述至少一個片段,則將生成的映射數(shù)據(jù)作為部分映射數(shù)據(jù)存儲在控制器的內(nèi)部RAM中。
附圖說明
根據(jù)下面參照以下附圖進行的描述,以上和/或其它方面將變得清楚,其中:
圖1是示意性示出根據(jù)示例性實施例的存儲裝置的框圖;
圖2是示意性示出根據(jù)示例性實施例的存儲裝置的操作方法的流程圖;
圖3示出根據(jù)示例性實施例的控制器管理存儲裝置的存儲空間的示例;
圖4至圖6示出控制器基于緩存算法來管理映射數(shù)據(jù)的示例;
圖7是示意性示出根據(jù)另一個示例性實施例的存儲裝置的操作方法的流程圖;
圖8是示意性示出根據(jù)另一個示例性實施例的存儲裝置的操作方法的流程圖;
圖9至圖14示出將順序數(shù)據(jù)寫入存儲裝置中并且注冊緩存映射數(shù)據(jù)的示例;
圖15是示意性示出根據(jù)另一個示例性實施例的存儲裝置的操作方法的流程圖;
圖16是示意性示出根據(jù)另一個示例性實施例的存儲裝置的操作方法的流程圖;
圖17示出根據(jù)圖16的方法更新片段的至少一個條目的示例;
圖18是示意性示出根據(jù)示例性實施例的非易失性存儲器的框圖;
圖19是示意性示出根據(jù)示例性實施例的存儲器塊的電路圖;以及
圖20是示意性示出根據(jù)示例性實施例的計算裝置的框圖。
具體實施方式
將參照附圖清楚詳細地描述示例性實施例。
圖1是示意性示出根據(jù)示例性實施例的存儲裝置100的框圖。參照圖1,存儲裝置100可包括非易失性存儲器裝置110和控制器120。
非易失性存儲器裝置110可根據(jù)控制器120的控制,執(zhí)行寫、讀和擦除。
控制器120可基于外部主機裝置的請求或內(nèi)部調(diào)度來控制非易失性存儲器裝置110。控制器120可包括總線121、處理器122、隨機存取存儲器(RAM)123、主機接口125和存儲器接口128。
總線121可被配置為提供控制器120的組件之間的通道。
處理器122可控制控制器120的整體操作并且執(zhí)行邏輯運算。處理器122可通過主機接口125與外部主機裝置通信并且通過存儲器接口127與非易失性存儲器裝置110通信。處理器122可使用RAM 123作為工作存儲器、緩存存儲器、或緩沖存儲器來控制存儲裝置100。
RAM 123可用作處理器122的工作存儲器、緩存存儲器、或緩沖存儲器。RAM 123可存儲處理器122將執(zhí)行的代碼或命令。RAM 123可存儲經(jīng)處理器122處理的數(shù)據(jù)。RAM 123可包括靜態(tài)RAM(SRAM)。
主機接口125可在處理器122的控制下與外部主機裝置通信。主機接口125可使用各種通信方式(諸如,通用串行總線(USB)、串行AT附件(SATA)、高速芯片互連(HSIC)、小型計算機系統(tǒng)接口(SCSI)、火線、外圍組件互連(PCI)、PCI快速(PCIe)、非易失性存儲器快速(NVMe)、通用閃存(UFS)、安全數(shù)字(SD)、多媒體卡(MMC)、嵌入式MMC(eMMC)、雙列直插存儲器模塊(DIMM)、注冊DIMM(RDIMM)、低負載DIMM(LRDIMM)等)中的至少一種與外部主機裝置通信。
存儲器接口127可根據(jù)處理器122的控制與非易失性存儲器裝置110通信。存儲器接口127可通過輸入/輸出通道將命令、地址和數(shù)據(jù)傳送到非易失性存儲器裝置110。存儲器接口127可通過控制通道將控制信號傳送到非易失性存儲器裝置110。
存儲器接口127可包括糾錯碼(ECC)塊128。ECC塊128可執(zhí)行糾錯操作。ECC塊128可基于將通過存儲器接口127寫入非易失性存儲器裝置110的數(shù)據(jù)來執(zhí)行糾錯編碼。ECC塊128可針對從非易失性存儲器裝置110接收的數(shù)據(jù)執(zhí)行糾錯解碼。
外部主機裝置可將邏輯地址分配給存儲裝置100的存儲空間??刂破?20可從外部主機裝置接收基于邏輯地址的寫請求??刂破?20可生成將邏輯地址轉(zhuǎn)換成非易失性存儲器裝置110的物理地址的映射數(shù)據(jù)MD??刂破?20可將映射數(shù)據(jù)MD和寫請求的用戶數(shù)據(jù)UD寫入非易失性存儲器裝置110??刂破?20可從外部主機裝置接收基于邏輯地址的讀請求??刂破?20可使用映射數(shù)據(jù)MD將邏輯地址轉(zhuǎn)換成物理地址。基于邏輯地址,控制器120可從非易失性存儲器裝置110讀取用戶數(shù)據(jù)UD并且將讀取的用戶數(shù)據(jù)UD輸出到外部主機裝置。
如上所述,當(dāng)根據(jù)外部主機裝置的請求訪問非易失性存儲器裝置110時,控制器120可使用映射數(shù)據(jù)MD。映射數(shù)據(jù)MD可包括指示外部主機裝置所分配的邏輯地址是否對應(yīng)于非易失性存儲器裝置110的物理地址中的任何一個的信息。這會意味著,隨著非易失性存儲器裝置110的存儲空間增大,映射數(shù)據(jù)MD的大小會增大。
對于諸如嵌入式多媒體卡(eMMC)或通用閃存(UFS)的嵌入式存儲裝置,控制器120中的RAM 123的容量會受到限制。例如,RAM 123的容量可能小于映射數(shù)據(jù)MD的大小,所以整體映射數(shù)據(jù)MD可能無法被加載到RAM 123上。出于此原因,控制器120可被配置為將映射數(shù)據(jù)MD之中的與之前或當(dāng)前的寫請求或讀請求關(guān)聯(lián)的部分加載到RAM 123上。
根據(jù)示例性實施例的存儲裝置100的控制器120可被配置為將緩存映射數(shù)據(jù)MD_C和部分映射數(shù)據(jù)MD_P加載到RAM 123上,緩存映射數(shù)據(jù)MD_C包括對應(yīng)于順序數(shù)據(jù)的映射數(shù)據(jù)MD的信息,部分映射數(shù)據(jù)MD_P是不對應(yīng)于順序數(shù)據(jù)的映射數(shù)據(jù)。緩存映射數(shù)據(jù)MD_C可具有以下形式:對應(yīng)于順序數(shù)據(jù)的映射數(shù)據(jù)MD被壓縮并且支持對應(yīng)于順序數(shù)據(jù)的邏輯地址和具有小容量的物理地址之間的轉(zhuǎn)換。部分映射數(shù)據(jù)MD_P可以是不對應(yīng)于順序數(shù)據(jù)的映射數(shù)據(jù)MD之中的被加載到RAM 123上的部分。
如果使用緩存映射數(shù)據(jù)MD_C,則與當(dāng)使用部分映射數(shù)據(jù)MD_P時,控制器120可在使用RAM 123的容量的更大范圍內(nèi),執(zhí)行邏輯地址和物理地址之間的轉(zhuǎn)換,因此,從非易失性存儲器裝置110讀取映射數(shù)據(jù)MD的事件的數(shù)量可減少。這會意味著,存儲裝置100的操作速度提高。此外,如果將部分映射數(shù)據(jù)MD_P與緩存映射數(shù)據(jù)MD_C一起互補地使用,則可以支持與不對應(yīng)于順序數(shù)據(jù)的隨機數(shù)據(jù)對應(yīng)的邏輯地址和物理地址之間的轉(zhuǎn)換。
圖2是示意性示出根據(jù)示例性實施例的存儲裝置100的操作方法的流程圖。在圖2中,示出存儲裝置100根據(jù)外部主機裝置的寫請求來執(zhí)行寫操作的方法。
參照圖1和圖2,在步驟S110中,控制器120可從外部主機裝置接收寫請求。例如,寫請求可包括邏輯地址和寫數(shù)據(jù)。
在步驟S120中,控制器120可確定寫數(shù)據(jù)是否是對應(yīng)于至少一個片段的順序數(shù)據(jù)。例如,控制器120可將分配給非易失性存儲器裝置110的存儲空間(例如,能夠按邏輯地址區(qū)分的邏輯存儲空間)劃分成多個片段??刂破?20可確定,如果寫數(shù)據(jù)的大小(或容量)大于或等于至少一個片段的大小(或容量),則寫數(shù)據(jù)是順序數(shù)據(jù)。例如,控制器120可確定與和寫請求一起接收的邏輯地址連續(xù)的范圍對應(yīng)的容量(或大小)是否大于或等于至少一個片段的容量(或大小)。
如果寫數(shù)據(jù)不是順序數(shù)據(jù),則在步驟S130中,控制器120可構(gòu)造包括多個條目的新映射數(shù)據(jù)MD_N。例如,控制器120可將非易失性存儲器裝置110的物理地址之中的對應(yīng)于自由存儲空間的物理地址映射到寫請求的邏輯地址??刂破?20可構(gòu)造包括邏輯地址和物理地址之間的映射信息的新映射數(shù)據(jù)MD_N。
在示例性實施例中,控制器120可按條目為單元轉(zhuǎn)換邏輯地址和物理地址。一個條目可包括一個邏輯地址和一個物理地址的轉(zhuǎn)換信息。例如,一個條目可具有4字節(jié)的大小。一個物理地址可指示非易失性存儲器裝置110的4KB存儲空間。也就是說,可使用一個條目將一個邏輯地址轉(zhuǎn)換成一個物理地址,并且轉(zhuǎn)換后的物理地址可指示非易失性存儲器裝置110的存儲空間。在寫請求對應(yīng)于K個邏輯地址(K是正整數(shù))的情況下,新映射數(shù)據(jù)MD_N可包括K個條目。
在步驟S140中,控制器120可將新映射數(shù)據(jù)MD_N作為部分映射數(shù)據(jù)MD_P存儲在RAM 123中。
如果寫數(shù)據(jù)是對應(yīng)于至少一個片段的順序數(shù)據(jù),則在步驟S150中,控制器120可構(gòu)造包括多個條目的新映射數(shù)據(jù)MD_N??刂破?20可在新映射數(shù)據(jù)MD_N上標記緩存標簽。例如,緩存標簽可指示存儲在至少一個片段中的數(shù)據(jù)是順序數(shù)據(jù)。緩存標簽可被標記在順序數(shù)據(jù)的多個條目中的至少一個條目上。例如,控制器120可在片段的第一條目(或開始條目)上標記緩存標簽。
在步驟S160中,控制器120可將新映射數(shù)據(jù)MD_N的至少一個條目作為緩存映射數(shù)據(jù)MD_C存儲在RAM 123中。控制器120可將上面標記緩存標簽的至少一個條目作為緩存映射數(shù)據(jù)MD_C存儲在RAM 123中。例如,控制器120可將片段的第一條目(或開始條目)作為緩存映射數(shù)據(jù)MD_C存儲在RAM 123中。
在步驟S170中,控制器120可執(zhí)行寫數(shù)據(jù)和新映射數(shù)據(jù)MD_N的寫操作。例如,可將寫數(shù)據(jù)作為用戶數(shù)據(jù)UD寫入非易失性存儲器裝置110中??蓪⑿掠成鋽?shù)據(jù)MD_N作為映射數(shù)據(jù)MD寫入非易失性存儲器裝置110中。
在示例性實施例中,對應(yīng)于寫請求的寫數(shù)據(jù)的一部分可以是至少一個片段的順序數(shù)據(jù),寫數(shù)據(jù)的剩余部分可以是隨機數(shù)據(jù)。例如,寫數(shù)據(jù)可以是大小是一個片段1.5倍的順序數(shù)據(jù)。在這種情況下,寫數(shù)據(jù)之中的對應(yīng)于一個片段的順序數(shù)據(jù)可造成在步驟S150和S160中生成緩存映射數(shù)據(jù)MD_C。由于寫數(shù)據(jù)的剩余部分的大小小于一個片段,因此可確定它是隨機數(shù)據(jù)。寫數(shù)據(jù)的剩余部分可造成在步驟S130和S140中生成部分映射數(shù)據(jù)MD_P。
圖3示出根據(jù)示例性實施例的控制器120管理存儲裝置110的存儲空間的示例。在圖3中,示出控制器120用于管理映射數(shù)據(jù)MD的方法。
參照圖3,控制器120可使用映射數(shù)據(jù)MD,執(zhí)行通過邏輯地址區(qū)分的邏輯存儲空間LSA和通過物理地址區(qū)分的物理存儲空間PSA之間的映射。映射數(shù)據(jù)MD可包括多個條目E。每個條目E可將邏輯存儲空間LSA的邏輯單元LU映射到物理存儲空間PSA的物理單元PU??赏ㄟ^一個邏輯地址區(qū)分一個邏輯單元LU,可通過一個物理地址區(qū)分一個物理單元P。每個條目E可包括邏輯單元LU的邏輯地址LBA和物理單元LU的物理地址PBA。每個條目E還可包括標簽TAG_L1和TAG_L2。標簽TAG_L1和TAG_L2可指示寫入對應(yīng)于每個條目E的邏輯單元LU或物理單元PU的數(shù)據(jù)是否是順序數(shù)據(jù)。
示例性實施例的示例是每個條目E具有兩個標簽TAG_L1和TAG_L2。然而,每個條目E具有的標簽的數(shù)量可不限于此??筛鶕?jù)緩存級別來確定每個條目E具有的標簽的數(shù)量。例如,可根據(jù)L1緩存設(shè)置第一標簽TAG_L1,可根據(jù)L2緩存設(shè)置第二標簽TAG_L2。
在示例性實施例中,每個條目E的大小可以是4字節(jié),邏輯單元LU或物理單元PU的大小可以是4KB。
圖4至圖6示出控制器120基于緩存算法來管理映射數(shù)據(jù)MD的示例。在示例性實施例中,控制器120可使用L1緩存和L2緩存來管理映射數(shù)據(jù)MD??梢耘c組關(guān)聯(lián)緩存算法類似地分層管理L1緩存和L2緩存。
參照圖1和圖4,示出控制器120使用L1緩存來管理映射數(shù)據(jù)MD的方法??刂破?20可將邏輯地址LBA劃分為多組。例如,可向存儲裝置100分配“0000”至“9999”的邏輯地址LBA。存儲裝置100的邏輯地址LBA可被劃分為五組。可將索引SET1_0至SET1_4分派給劃分的組。例如,“SET1_0”可對應(yīng)于“0000”至“1999”的邏輯地址LBA,“SET1_1”可對應(yīng)于“2000”至“3999”的邏輯地址LBA,“SET1_4”可對應(yīng)于“8000”至“9999”的邏輯地址LBA。
L1緩存的各組可劃分為多個第一片段S1_1至S1_J,第一片段S1_1至S1_J中的每個包括K個條目E_1至E_K。也就是說,控制器120可管理具有一個第一片段的K個條目E_1至E_K。每個條目可包括邏輯地址LBA、物理地址PBA、L1緩存標簽TAG_L1和L2緩存標簽TAG_L2。
參照圖1和圖5,示出控制器120使用L2緩存來管理映射數(shù)據(jù)MD的方法??刂破?20可將邏輯地址LBA劃分為多組。例如,邏輯地址LBA可被劃分為10組??上騽澐值慕M分配索引SET2_0至SET2_9。例如,“SET2_0”可對應(yīng)于“0000”至“0999”的邏輯地址LBA,“SET2_1”可對應(yīng)于“1000”至“1999”的邏輯地址LBA,“SET2_9”可對應(yīng)于“9000”至“9999”的邏輯地址LBA。
L2緩存的各組可劃分為多個第二片段S2_1至S1_M,第二片段S2_1至S1_M中的每個包括N個條目E_1至E_N。也就是說,控制器120可管理具有一個第二片段的N個條目E_1至E_N。每個條目可包括邏輯地址LBA、物理地址PBA、L1緩存標簽TAG_L1和L2緩存標簽TAG_L2。
示例性實施例的示例是L1緩存的組SET1_0至SET1_4不同于L2緩存的組SET2_0至SET2_9。然而,本發(fā)明構(gòu)思的范圍和精神可不限于此。例如,L1緩存和L2緩存可共享相同的組。
在示例性實施例中,L1緩存的第一片段S1_1至S1_J中的每個的大小可大于L2緩存的第二片段S2_1至S2_M中的每個的大小。例如,第一片段S1_1至S1_J中的每個中包括的條目的數(shù)量(即,K)可大于第二片段S2_1至S2_M中的每個中包括的條目的數(shù)量(即,N)。
如果確定了第一片段S1_1至S1_J中的每個中包括的條目的數(shù)量(即,K)和組SET1_0至SET1_4中的每個的大小,則可確定L1緩存的每個組中包括的第一片段的數(shù)量(即,J)。如果確定了第二片段S2_1至S2_M中的每個中包括的條目的數(shù)量(即,N)和組SET2_0至SET2_9中的每個的大小,則可確定L2緩存的每個組中包括的第二片段的數(shù)量(即,M)。
參照圖1和圖6,控制器120可基于組關(guān)聯(lián)緩存算法來管理緩存映射數(shù)據(jù)MD_C。緩存映射數(shù)據(jù)MD_C的L1緩存可包括第一路L1W1和第二路L1W2。緩存映射數(shù)據(jù)MD_C的L2緩存可包括第一路L2W1和第二路L2W2。
可記錄注冊在緩存映射數(shù)據(jù)MD_C中的內(nèi)容。記錄被注冊在緩存映射數(shù)據(jù)MD_C中的多條信息可以是字段。也就是說,每路可包括片段、物理地址PBA和索引字段。此外,每路可具有第一片段S1_1至S1_J和第一片段S2_1至S2_M。每個記錄可包括關(guān)于片段的信息、關(guān)于物理地址PBA的信息以及關(guān)于索引的信息。
可將L1緩存中的第一路L1W1和第二路L1W2中的每個的記錄分配給屬于L1緩存中的每組的第一片段S1_1至S1_J。可將L2緩存中的第一路L2W1和第二路L2W2中的每個的記錄分配給屬于L2緩存中的每組的第二片段S2_1至S2_M。
在示例性實施例中,可根據(jù)2路組關(guān)聯(lián)緩存算法來管理緩存映射數(shù)據(jù)MD_C的L1緩存和L2緩存。然而,本發(fā)明構(gòu)思的范圍和精神可不限于此。L1緩存的路數(shù)可不同于L2緩存的路數(shù)。此外,可基于直接緩存或關(guān)聯(lián)緩存算法來管理L1緩存或L2緩存。
圖7是示意性示出根據(jù)另一個示例性實施例的存儲裝置100的操作方法的流程圖。在圖7中,示出控制器120基于是否是順序數(shù)據(jù)來標記緩存標簽TAG_L1和TAG_L2的方法(圖2的S150)。
參照圖1和圖4至圖7,在步驟S210中,控制器120可確定與寫請求一起接收的寫數(shù)據(jù)是否是第一片段S1的順序數(shù)據(jù)。例如,控制器120可基于與寫請求一起接收的邏輯地址LBA,確定與寫數(shù)據(jù)對應(yīng)的L1緩存的組和第一片段S1??刂破?20可確定寫數(shù)據(jù)是否是順序?qū)懭胫辽僖粋€第一片段S1的數(shù)據(jù)。
如果寫數(shù)據(jù)是第一片段S1的順序數(shù)據(jù),則在步驟S220中,控制器120可在對應(yīng)于寫請求的新映射數(shù)據(jù)MD_N的L1緩存標簽TAG_L1上標記有效值??刂破?20可在對應(yīng)于寫數(shù)據(jù)的至少一個第一片段S1中的至少一個條目的L1緩存標簽TAG_L1上標記有效值。例如,控制器120可在對應(yīng)于寫數(shù)據(jù)的每個第一片段S1中的第一條目(或開始條目)的L1緩存標簽TAG_L1上標記有效值。
在步驟S230中,控制器120可確定與寫請求一起接收的寫數(shù)據(jù)是否是第二片段S2的順序數(shù)據(jù)。例如,控制器120可基于與寫請求一起接收的邏輯地址LBA,確定與寫數(shù)據(jù)對應(yīng)的L2緩存的組和第二片段S2。控制器120可確定寫數(shù)據(jù)是否是順序?qū)懭胫辽僖粋€第二片段S2的數(shù)據(jù)。
如果寫數(shù)據(jù)是至少一個第二片段S2的順序數(shù)據(jù),則在步驟S240中,控制器120可在對應(yīng)于寫請求的新映射數(shù)據(jù)MD_N的L2緩存標簽TAG_L2上標記有效值。控制器120可在對應(yīng)于寫數(shù)據(jù)的至少一個第二片段S2中的至少一個條目的L2緩存標簽TAG_L2上標記有效值。例如,控制器120可在對應(yīng)于寫數(shù)據(jù)的每個第二片段S2中的第一條目(或開始條目)的L2緩存標簽TAG_L2上標記有效值。
圖8是示意性示出根據(jù)另一個示例性實施例的存儲裝置100的操作方法的流程圖。在圖8中,示出控制器120將緩存映射數(shù)據(jù)MD_C存儲在RAM 123中的方法(圖2的S160)。
參照圖1、圖4至圖6和圖8,在步驟S310中,控制器120可計算索引。例如,如參照圖7描述,在L1緩存標簽TAG_L1上標記有效值的情況下,控制器120可計算寫入L1緩存標簽TAG_L1的第一片段S1所屬組的索引。例如,控制器120可使用通過將被寫入L1緩存標簽TAG_L1的條目的邏輯地址之中的最高有效位(MSB)或包括MSB的兩個或更多個高位除以L1緩存的組的數(shù)量而得到的商或余數(shù)來計算L1緩存的索引。
例如,如參照圖8描述,在L2緩存標簽TAG_L2上標記有效值的情況下,控制器120可計算寫入L2緩存標簽TAG_L2的第二片段S2所屬組的索引。例如,控制器120可使用通過將被寫入L2緩存標簽TAG_L2的條目的邏輯地址之中的最高有效位(MSB)或包括MSB的兩個或更多個高位除以L2緩存的組的數(shù)量而得到的商或余數(shù)來計算L2緩存的索引。
在步驟S320中,控制器120可確定緩存映射數(shù)據(jù)MD_C是否被更新。例如,控制器120可確定對應(yīng)于計算出的索引的第一片段S1或第二片段S2是否之前被注冊在緩存映射數(shù)據(jù)MD_C中。
例如,在計算出的索引是L1緩存的索引的情況下,可確定同一第一片段S1的記錄是否之前被注冊在緩存映射數(shù)據(jù)MD_C中。例如,控制器120可確定與上面標記L1緩存標簽TAG_L1的第一片段S1對應(yīng)的記錄是否之前被注冊在L1緩存的第一路L1W1和第二路L1W2中。
例如,在計算出的索引是L2緩存的索引的情況下,可確定同一第二片段S2的記錄是否之前被注冊在緩存映射數(shù)據(jù)MD_C中。此外,控制器120可確定包括上面標記L2緩存標簽TAG_L2的第二片段S2是否之前被注冊。
在更新緩存映射數(shù)據(jù)MD_C的情況下,在步驟S330中,控制器120可從緩存映射數(shù)據(jù)MD_C中釋放之前注冊在緩存映射數(shù)據(jù)MD_C中的至少一個記錄,例如,與具有之前標記有效值的緩存標簽的至少一個條目對應(yīng)的記錄??刂破?20可將新記錄(也就是說,與包括新標記有效值的緩存標簽的至少一個條目對應(yīng)的記錄)存儲在緩存映射數(shù)據(jù)MD_C中。
在沒有更新緩存映射數(shù)據(jù)MD_C的情況下,在步驟S340中,控制器120可確定是否存在空路。例如,控制器120可從L1緩存的第一路L1W1和第二路L1W2或L2緩存的第一路L2W1和第二路L2W2之中的與計算出的索引對應(yīng)的路??刂破?20可確定在所選擇的路中是否存在沒有寫入與標記緩存標簽的片段對應(yīng)的記錄的空路。
如果存在空路,則在步驟S350中,控制器120可將具有標記有效值的緩存標簽的至少一個條目的信息作為緩存映射數(shù)據(jù)MD_C存儲在空路中。
如果不存在空路,則在步驟S360中,控制器120可從與標記緩存標簽的片段對應(yīng)的記錄之中釋放舊記錄并且將新標記緩存標簽的至少一個條目的信息作為緩存映射數(shù)據(jù)MD_C存儲在被釋放位置。
圖9至圖14示出將順序數(shù)據(jù)寫入存儲裝置100中并且注冊緩存映射數(shù)據(jù)MD_C的示例。參照圖1和圖9,存儲裝置100的邏輯存儲空間可被劃分為四組SET_1至SET_4。在示例性實施例中,L1緩存和L2緩存可共享四組SET_1至SET_4。
每個組可被劃分成對應(yīng)于L1緩存的兩個第一片段S1_1至S1_2。每個組可被劃分成對應(yīng)于L2緩存的四個第二片段S2_1至S2_4。第一片段中的每個或第二片段中的每個可包括多個條目。
在示例性實施例中,可根據(jù)外部主機裝置的請求,將順序數(shù)據(jù)寫入具有索引SET_1的組的第二片段S2_1中。如果寫入順序數(shù)據(jù),則對應(yīng)于順序數(shù)據(jù)的記錄可被注冊在緩存映射數(shù)據(jù)MD_C中。
參照圖1、圖9和圖10,L1緩存的第一路L1W1和第二路L1W2中的每個可包括對應(yīng)于兩個第一片段S1_1和S1_2的記錄。L2緩存的第一路L2W1和第二路L2W2中的每個可包括對應(yīng)于四個第二片段S2_1至S2_4的記錄。
當(dāng)將順序數(shù)據(jù)被寫入具有索引SET_1的組的第二片段S2_1時,第二片段S2_1的記錄可被記錄在L2緩存的第一路L2W1中。例如,與被寫入順序數(shù)據(jù)的第二片段S2_1對應(yīng)的存儲空間的開始物理地址PBA1可被注冊在物理地址PBA的字段中。被寫入順序數(shù)據(jù)的組的索引SET_1可被注冊在索引字段中。
參照圖1和圖11,可將順序數(shù)據(jù)寫入具有索引SET_3的組的第一片段S1_1中。如果寫入順序數(shù)據(jù),則對應(yīng)于順序數(shù)據(jù)的記錄可被注冊在緩存映射數(shù)據(jù)MD_C中。
參照圖1、圖11和圖12,當(dāng)將順序數(shù)據(jù)寫入具有索引SET_3的組的第一片段S1_1時,第一片段S1_1的記錄可被記錄在L1緩存的第一路L1W1中。例如,與被寫入順序數(shù)據(jù)的第一片段S1_1對應(yīng)的存儲空間的開始物理地址PBA2可被注冊在物理地址PBA的字段中。被寫入順序數(shù)據(jù)的組的索引SET_3可被注冊在索引字段中。
參照圖1和圖13,可將順序數(shù)據(jù)寫入具有索引SET_2的組的第二片段S2_1中。如果寫入順序數(shù)據(jù),則對應(yīng)于順序數(shù)據(jù)的記錄可被注冊在緩存映射數(shù)據(jù)MD_C中。
可根據(jù)外部主機裝置的請求,將順序數(shù)據(jù)寫入具有索引SET_4的組的第一片段S1_2中。如果寫入順序數(shù)據(jù),則對應(yīng)于順序數(shù)據(jù)的記錄可被注冊在緩存映射數(shù)據(jù)MD_C中。
參照圖1、圖13和圖14,當(dāng)將順序數(shù)據(jù)寫入具有索引SET_2的組的第二片段S2_1時,第二片段S2_1的記錄可被記錄在L2緩存的第二路L2W2中。例如,與被寫入順序數(shù)據(jù)的第二片段S2_1對應(yīng)的存儲空間的開始物理地址PBA3可被注冊在物理地址PBA的字段中。被寫入順序數(shù)據(jù)的組的索引SET_2可被注冊在索引字段中。
當(dāng)將順序數(shù)據(jù)寫入具有索引SET_4的組的第一片段S1_2時,第一片段S1_2的記錄可被記錄在L1緩存的第二路L1W2中。例如,與被寫入順序數(shù)據(jù)的第一片段S1_2對應(yīng)的存儲空間的開始物理地址PBA4可被注冊在物理地址PBA的字段中。被寫入順序數(shù)據(jù)的組的索引SET_4可被注冊在索引字段中。
當(dāng)接收對順序數(shù)據(jù)的寫請求時,可如參照圖8描述來處理緩存映射數(shù)據(jù)MD_C。在示例性實施例中,如果對順序數(shù)據(jù)的請求對應(yīng)于緩存映射數(shù)據(jù)MD_C的空路,則對應(yīng)記錄可被注冊在緩存映射數(shù)據(jù)MD_C的空路中。
在L1緩存的緩存映射數(shù)據(jù)MD_C中,例如,第一片段S1_1和S1_2中的每個可包括一條空路。因此,如果針對第一片段S1_1和S1_2中的每個請求寫入順序數(shù)據(jù),則對應(yīng)片段的記錄可被注冊在緩存映射數(shù)據(jù)MD_C中。
在L2緩存的緩存映射數(shù)據(jù)MD_C中,例如,第二片段S2_2和S2_4中的每個可包括兩條空路。因此,如果針對第二片段S2_2和S2_4中的每個請求寫入順序數(shù)據(jù),則對應(yīng)片段的記錄可被注冊在緩存映射數(shù)據(jù)MD_C中。
在示例性實施例中,如果對順序數(shù)據(jù)的寫請求不對應(yīng)于緩存映射數(shù)據(jù)MD_C的空路,則可釋放比較舊的記錄,并且可將新記錄注冊在被釋放的空間中。
例如,在L2緩存的第二片段S2_1中可不存在空路。如果針對第二片段S2_1請求寫入順序數(shù)據(jù),則控制器120可釋放第二片段S2_1(也就是說,第一路L2W1)的記錄之中的比較舊的記錄。此后,控制器120可將第二片段S2_1的新記錄注冊在第一路L2W1中。
在示例性實施例中,如果對順序數(shù)據(jù)的寫請求對應(yīng)于之前注冊在緩存映射數(shù)據(jù)MD_C中的記錄,則可更新記錄。例如,具有索引SET_3的第一片段S1_1的記錄和具有索引SET_4的第一片段S1_2的記錄可被注冊在L1緩存的緩存映射數(shù)據(jù)MD_C中。如果針對于對應(yīng)記錄對應(yīng)的存儲空間(例如,邏輯存儲空間)請求寫入順序數(shù)據(jù),則控制器120可更新對應(yīng)記錄。例如,控制器120可將對應(yīng)于被注冊的記錄的邏輯存儲空間映射到新物理存儲空間并且可將新物理地址PBA寫入緩存映射數(shù)據(jù)MD_C。
同樣地,具有索引SET_1的第二片段S2_1的記錄和具有索引SET_2的第二片段S2_1的記錄可被注冊在L2緩存的緩存映射數(shù)據(jù)MD_C中。如果針對于對應(yīng)記錄對應(yīng)的存儲空間(例如,邏輯存儲空間)請求寫入順序數(shù)據(jù),則控制器120可更新對應(yīng)記錄。
圖15是示意性示出根據(jù)另一個示例性實施例的存儲裝置100的操作方法的流程圖。在圖15中,示出控制器120使用緩存映射數(shù)據(jù)MD_C或部分映射數(shù)據(jù)MD_P來執(zhí)行讀操作的方法。
參照圖1、圖14和圖15,在步驟S410中,控制器120可從外部主機裝置接收讀請求。
在步驟S420中,控制器120可確定是否產(chǎn)生緩存命中。例如,控制器120可檢查對應(yīng)于讀請求的片段并且確定檢查的片段的記錄是否被注冊在緩存映射數(shù)據(jù)MD_C中。例如,控制器120可確定包括讀請求的邏輯地址的第一片段S1或第二片段S2的記錄是否被注冊在緩存映射數(shù)據(jù)MD_C中。
如果對應(yīng)于讀請求的記錄被注冊在緩存映射數(shù)據(jù)MD_C中,則控制器120可確定注冊的記錄的索引是否與對應(yīng)于讀請求的片段的索引相同??纱_定,如果注冊的記錄的索引與讀請求的片段的索引相同,則產(chǎn)生緩存命中。如果發(fā)生緩存命中,則方法可前進至步驟S480;但是如果沒有發(fā)生緩存命中,則方法可前進至步驟S430。
在步驟S430中,控制器120可從非易失性存儲器裝置110讀取對應(yīng)于讀請求的映射數(shù)據(jù)MD。
在步驟S440中,控制器120可確定是否可以構(gòu)造緩存映射數(shù)據(jù)MD_C。例如,控制器120可確定在對應(yīng)于讀請求的片段的至少一個條目上是否標記了有效緩存標簽。在標記了有效緩存標簽的情況下,因為順序數(shù)據(jù)被存儲在對應(yīng)于讀請求的片段中,所以可確定構(gòu)造緩存映射數(shù)據(jù)MD_C是可行的,并且方法可前進至步驟S470。然而,在沒有標記有效緩存標簽的情況下,可確定構(gòu)造緩存映射數(shù)據(jù)MD_C是不可行的,并且方法可前進至步驟S450。
在步驟S450中,控制器120可將對應(yīng)于讀請求的映射數(shù)據(jù)MD作為部分映射數(shù)據(jù)MD_P存儲在RAM 123中。在步驟S460中,控制器120可基于部分映射數(shù)據(jù)MD_P來計算物理地址PBA。例如,控制器120可基于邏輯地址LBA和部分映射數(shù)據(jù)MD_P的條目來計算物理地址PBA。此后,方法可前進至步驟S490。
如果構(gòu)造緩存映射數(shù)據(jù)MD_C是可行的,則在步驟S470中,控制器120可將標記了有效緩存標簽的至少一個條目的信息注冊在緩存映射數(shù)據(jù)MD_C的記錄中。此后,方法可前進至步驟S480。
由于對應(yīng)于讀請求的緩存映射數(shù)據(jù)MD_C被存儲在RAM 123中,因此在步驟S480中,控制器120可基于緩存映射數(shù)據(jù)MD_C來計算物理地址PBA。例如,緩存映射數(shù)據(jù)MD_C可包括對應(yīng)于讀請求的片段的開始物理地址。讀請求的數(shù)據(jù)可以是順序數(shù)據(jù)或順序數(shù)據(jù)的一部分。因此,可基于讀請求的邏輯地址LBA的片段中的位置和緩存映射數(shù)據(jù)MD_C中包括的開始物理地址來計算讀請求的數(shù)據(jù)的開始物理地址。如果計算出讀請求的數(shù)據(jù)的開始物理地址,則控制器120基于讀請求的邏輯地址LBA來計算對應(yīng)于讀請求的所有物理地址。
在步驟S490中,控制器120可使用計算出的物理地址PBA從非易失性存儲器裝置110讀取數(shù)據(jù)。
圖16是示意性示出根據(jù)另一個示例性實施例的存儲裝置100的操作方法的流程圖。在圖16中,示出控制器120基于外部主機裝置的寫請求來更新非易失性存儲器裝置110中存儲的映射數(shù)據(jù)MD的示例。
參照圖1和圖16,在步驟S510中,控制器120可從非易失性存儲器裝置110讀取均包括緩存標簽的條目。例如,控制器120可從將被寫入對應(yīng)于寫請求的數(shù)據(jù)的存儲空間所屬的第一片段S1或第二片段S2的條目之中,讀取標記了緩存標簽的至少一個條目??刂破?20可讀取至少一個條目,所述至少一個條目沒有被包括在對應(yīng)于寫請求的條目中,并且屬于包括對應(yīng)于寫請求并且標記了緩存標簽的條目的片段。
在步驟S520中,控制器120可確定在被讀取的至少一個條目上是否標記了有效緩存標簽。如果沒有標記有效緩存標簽,則控制器120可不執(zhí)行額外操作。如果標記了有效緩存標簽,則方法可前進至步驟S530。
在步驟S530中,控制器120可更新至少一個條目的緩存標簽。例如,控制器120可在緩存標簽上標記無效值。
在步驟S540中,控制器120可將至少一個條目連同寫數(shù)據(jù)和新映射數(shù)據(jù)MD_N寫入非易失性存儲器裝置110中。
圖17示出根據(jù)圖16的方法更新片段的至少一個條目的示例。在圖17中,示出基于寫請求使用第二映射數(shù)據(jù)MD2更新第一映射數(shù)據(jù)MD1的示例。
參照圖1和圖17,第一片段S1和第二片段S2_1和S2_2可被包括在第一映射數(shù)據(jù)MD1中。第一片段S1的第一條目E可包括L1緩存標簽TAG_L1。第二片段S2_1的第一條目E和S2_2的第一條目E均可包括L2緩存標簽TAG_L2。
在示例性實施例中,L1緩存標簽TAG_L1中的斜線可指示標記了有效值。L2緩存標簽TAG_L2中的斜線可指示標記了有效值。也就是說,第一映射數(shù)據(jù)MD1可指示順序數(shù)據(jù)被寫入第一片段S1。
如果順序數(shù)據(jù)被寫入第二片段S2_2,則可使用第二映射數(shù)據(jù)MD2更新第一映射數(shù)據(jù)MD1。如果順序數(shù)據(jù)被寫入第二片段S2_2,則可將有效值標記到第二片段S2_2的L2緩存標簽L2_TAG上。
如果寫入第二片段S2_2的數(shù)據(jù)被更新,則可更新映射到第二片段S2_2上的物理地址PBA。第二片段S2_1和S2_2在邏輯存儲空間LSA中可以是連續(xù)的,但在物理存儲空間PSA中可以不是連續(xù)的。因此,可釋放第一片段S1的連續(xù)性。
控制器120可從非易失性存儲器裝置110中,讀取在對應(yīng)于寫請求的片段(也就是說,第二片段S2_2和第一片段S1)中,對應(yīng)于寫請求的條目所屬的、未被包括在寫請求的條目中并且存儲了緩存標簽的條目(即,第一片段S1的第一條目)。讀取的條目L1緩存標簽TAG_L1可被標記為有效值。因此,控制器120可使用無效值更新L1緩存標簽TAG_L1并且將更新后的L1緩存標簽寫入非易失性存儲器裝置110。
如上所述,根據(jù)示例性實施例的存儲裝置100可針對對應(yīng)于每個片段的順序數(shù)據(jù)使用緩存映射數(shù)據(jù)MD_C,并且針對除了順序數(shù)據(jù)外的數(shù)據(jù)使用部分映射數(shù)據(jù)MD_P。因此,可在訪問順序數(shù)據(jù)時,提高存儲裝置100的操作速度。
示例性實施例被示出為基于L1緩存和L2緩存來管理緩存映射數(shù)據(jù)MD_C。然而,緩存映射數(shù)據(jù)MD_C的級別的數(shù)量可不限于此。此外,每個級別的緩存可以基于組關(guān)聯(lián)緩存算法、直接緩存算法、或關(guān)聯(lián)緩存算法。
在示例性實施例中,可根據(jù)外部主機裝置和控制器120之間的通信特性來確定每個級別的片段的大小。例如,每個級別的片段的大小可被設(shè)置為外部主機裝置讀請求/寫請求的數(shù)據(jù)的大小,也就是說,事務(wù)大小或其倍數(shù)。每個級別的片段的大小可被設(shè)置為外部主機裝置和控制器120之間的輸入/輸出帶寬或其倍數(shù)。每個級別的片段的大小可被設(shè)置為外部主機裝置訪問控制器所遵循的單元,也就是說,扇區(qū)或簇大小或其倍數(shù)。
在另一個示例性實施例中,可根據(jù)非易失性存儲器裝置110和控制器120的操作特性來確定每個級別的片段的大小。例如,每個級別的片段的大小可被設(shè)置為非易失性存儲器裝置110的讀操作的單元或其倍數(shù)??筛鶕?jù)RAM123的數(shù)據(jù)緩沖器的大小、RAM 123中被設(shè)置為存儲映射數(shù)據(jù)MD的區(qū)域的大小、與RAM 123關(guān)聯(lián)的值、或ECC塊128的糾錯單元的大小來確定每個級別的片段的大小。
在示例性實施例中,第一片段S1可對應(yīng)于8KB的條目,第二片段S2可對應(yīng)于2KB的條目。在另一個示例性實施例中,第一片段S1可對應(yīng)于1KB的條目,第二片段S2可對應(yīng)于256字節(jié)的條目。
返回圖1,非易失性存儲器裝置110可根據(jù)控制器120的控制來執(zhí)行讀、寫和擦除操作。非易失性存儲器裝置110可通過輸入/輸出通道從控制器120接收命令和地址,并且通過輸入/輸出通道與控制器120交換數(shù)據(jù)。
非易失性存儲器裝置110可與控制器120交換控制信號。例如,非易失性存儲器裝置110可從控制器120接收芯片使能信號/CE、命令鎖存使能信號CLE、地址鎖存使能信號ALE、讀使能信號/RE、寫使能信號/WE、寫保護信號/WP和數(shù)據(jù)選通信號DQS中的至少一個,芯片使能信號/CE用于選擇非易失性存儲器裝置110中的多個非易失性存儲器芯片中的至少一個,命令鎖存使能信號CLE指示通過輸入/輸出通道從控制器120接收的信號是命令,地址鎖存使能信號ALE指示通過輸入/輸出通道從控制器120接收的信號是地址,讀使能信號/RE由控制器120在進行讀操作時生成,被周期性地切換并且用于調(diào)節(jié)時序,寫使能信號/WE在發(fā)送命令或地址時由控制器120激活,寫保護信號/WP由控制器120激活以防止當(dāng)功率變化時出現(xiàn)意外的寫或擦除,數(shù)據(jù)選通信號DQS用于調(diào)節(jié)通過輸入/輸出通道發(fā)送的并且在進行寫操作時由控制器120生成的數(shù)據(jù)的輸入同步,以進行周期性地切換。例如,非易失性存儲器裝置110可向控制器120輸出就緒/忙碌信號R/nB和數(shù)據(jù)選通信號DQS中的至少一個,就緒/忙碌信號R/nB指示非易失性存儲器裝置110是否正在執(zhí)行程序、擦除或讀操作,數(shù)據(jù)選通信號DQS用于調(diào)節(jié)由非易失性存儲器裝置110從讀使能信號/RE生成的數(shù)據(jù)的輸出同步,以進行周期性地切換。
非易失性存儲器裝置110可包括閃存。然而,本發(fā)明構(gòu)思的范圍和精神可不限于此。例如,非易失性存儲器裝置110可包括諸如相變RAM(PRAM)、磁性RAM(MRAM)、電阻型RAM(RRAM)和鐵電RAM(ReRAM)的非易失性存儲器裝置中的至少一個。
控制器120可控制非易失性存儲器裝置110。例如,控制器120可通過輸入/輸出通道和控制通道來控制非易失性存儲器裝置110,以執(zhí)行寫、讀或擦除操作。
控制器120可根據(jù)外部主機裝置(未示出)的控制來控制非易失性存儲器裝置110。例如,控制器120可基于和與非易失性存儲器裝置110通信的格式不同的格式,與外部主機裝置通信??刂破?20傳送到非易失性存儲器裝置110的數(shù)據(jù)單元可不同于控制器120傳送到外部主機裝置的數(shù)據(jù)單元。
控制器120可使用RAM 123作為工作存儲器、緩沖存儲器或緩存存儲器??刂破?20可將管理非易失性存儲器裝置110所需的數(shù)據(jù)或代碼存儲在RAM123中。例如,控制器120可從非易失性存儲器裝置110讀取管理非易失性存儲器裝置110所需的數(shù)據(jù)或代碼,并且將讀取的數(shù)據(jù)或代碼加載到RAM123上以進行驅(qū)動。
RAM 123可包括各種隨機存取存儲器(諸如,但不限于SRAM、DRAM、PRAM、MRAM、RRAM和FRAM)中的至少一個。
非易失性存儲器裝置110可包括多個非易失性存儲器芯片。在示例性實施例中,控制器120和非易失性存儲器芯片可基于通道和路進行互連。一個通道可包括一個數(shù)據(jù)通道和一個控制通道。一個數(shù)據(jù)通道可包括八條數(shù)據(jù)線。一個控制通道可包括用于傳送芯片使能信號/CE、命令鎖存使能信號CLE、地址鎖存使能信號ALE、讀使能信號/RE、寫使能信號/WE、寫保護信號/WP和就緒/忙碌信號R/nB的控制線。
與一個通道連接的非易失性存儲器芯片可構(gòu)成路。如果n個非易失性存儲器芯片連接到一個通道,則n個非易失性存儲器芯片可構(gòu)成n路。屬于一路的非易失性存儲器芯片可共享用于傳送命令鎖存使能信號CLE、地址鎖存使能信號ALE、讀使能信號/RE、寫使能信號/WE和寫保護信號/WP的數(shù)據(jù)線和控制線。屬于一路的非易失性存儲器芯片中的每個可通過用于芯片使能信號/CE和就緒/忙碌信號R/nB的專用控制線與控制器120通信。
控制器120可交替地訪問與一個通道連接的n路非易失性存儲器芯片??刂破?20可獨立地訪問與不同通道連接的非易失性存儲器芯片??刂破?20可交替地或同時訪問與不同通道連接的非易失性存儲器芯片。
在示例性實施例中,非易失性存儲器芯片可以以寬IO(輸入/輸出)的形式連接到控制器120。例如,與不同通道連接的非易失性存儲器芯片可共享用于芯片使能信號/CE的控制線。共享用于芯片使能信號/CE的控制線的非易失性存儲器芯片可被同時訪問??赏瑫r使用不同通道的數(shù)據(jù)線,因此,可實現(xiàn)寬輸入/輸出帶寬。
存儲裝置100可包括固態(tài)驅(qū)動器(SSD)或硬盤驅(qū)動器(HDD)。存儲裝置100可包括存儲卡,諸如,PC卡(個人計算機存儲卡國際協(xié)會(PCMCIA))、緊湊式閃存(CF)卡、智能媒體卡(SM、SMC)、記憶棒、多媒體卡(MMC、RS-MMC、微型MMC)、SD卡(SD、迷你SD、微型SD、SDHC)、通用串行總線(USB)存儲卡和通用閃存(UFS)。存儲裝置100可包括諸如嵌入式多媒體卡(eMMC)、UFS和PPN(完好頁NAND(Perfect Page NAND))的嵌入式存儲器。
在圖1中,示例性實施例被示出為RAM 123設(shè)置在控制器120外部。然而,本發(fā)明構(gòu)思的范圍和精神可不限于此。例如,存儲裝置100可不包括設(shè)置在控制器120外部的RAM 123??刂破?20可使用內(nèi)部RAM(參照圖9)作為緩沖存儲器、工作存儲器、或緩存存儲器。
圖18是示意性示出根據(jù)示例性實施例的非易失性存儲器110的框圖。參照圖18,非易失性存儲器110可包括存儲器單元陣列111、行解碼器電路113、頁緩沖電路115、數(shù)據(jù)輸入/輸出電路117和控制邏輯電路119。
存儲器單元陣列111可包括多個存儲器塊BLK1至BLKz,存儲器塊BLK1至BLKz中的每個包括多個存儲器單元。每個存儲器塊可通過至少一條串選擇線SSL、多條字線WL和至少一條地選擇線GSL連接到行解碼器電路113。每個存儲器塊可通過多條位線BL連接到頁緩沖電路115。存儲器塊BLK1至BLKz可共同連接到多條位線BL。存儲器塊BLK1至BLKz中的存儲器單元可具有相同結(jié)構(gòu)。
存儲器塊BLK1至BLKz中的每個可以是擦除操作的單元??赏ㄟ^存儲器塊執(zhí)行擦除操作。存儲器塊中的存儲器單元可被同時擦除。每個存儲器塊可被劃分為多個子塊,可通過子塊執(zhí)行擦除操作。
存儲器塊BLK1至BLKz中的每個可包括通過塊地址區(qū)分開的物理存儲空間。每條字線WL可對應(yīng)于通過行地址區(qū)分開的物理存儲空間,每條位線BL可對應(yīng)于通過列地址區(qū)分開的物理存儲空間。
行解碼器電路113可通過多條地選擇線GSL、多條字線WL和多條串選擇線SSL連接到存儲器單元陣列111。行解碼器電路113可根據(jù)控制邏輯電路119的控制進行操作。行解碼器電路113可對通過輸入/輸出通道從控制器120接收的地址解碼,并且基于解碼的地址控制電壓電壓被施加到多條串選擇線SSL、多條字線WL和多條地選擇線GSL。
例如,在進行編程時,行解碼器電路113可將程序電壓施加到通過地址選擇的存儲器塊中的所選字線,并且將通過電壓(pass voltage)施加到選擇的存儲器塊中的未選字線。在進行讀時,行解碼器電路113可將選擇讀電壓施加到選擇的存儲器塊中的所選字線,并且將未選擇讀電壓施加到選擇的存儲器塊中的未選字線。在進行擦除時,行解碼器電路113可將擦除電壓(例如,地電壓或電平與地電壓的電平近似的低電壓)施加到選擇的存儲器塊中的字線。
頁緩沖電路115可通過位線BL連接到存儲器單元陣列111。頁緩沖電路115可通過多條數(shù)據(jù)線DL連接到數(shù)據(jù)輸入/輸出電路117。頁緩沖電路115可根據(jù)控制邏輯電路119的控制進行操作。
在編程期間,頁緩沖電路115可在存儲器單元中存儲將被編程的數(shù)據(jù)。頁緩沖電路115可基于存儲的數(shù)據(jù)將電壓施加到位線BL。在進行編程操作時,頁緩沖電路115可用作寫驅(qū)動器。在讀期間,頁緩沖電路115可感測位線BL上的電壓并且存儲感測結(jié)果。頁緩沖電路115可在進行讀操作時用作讀出放大器。
數(shù)據(jù)輸入/輸出電路117可通過數(shù)據(jù)線DL連接到頁緩沖電路115。數(shù)據(jù)輸入/輸出電路117可將頁緩沖電路115讀取的數(shù)據(jù)通過輸入/輸出通道輸出到控制器120,并且可將通過輸入/輸出通道從控制器120接收的數(shù)據(jù)傳送到頁緩沖電路115。
控制邏輯電路119可通過輸入/輸出通道從控制器120接收命令,并且通過控制通道從控制器120接收控制信號。控制邏輯電路119可響應(yīng)于控制信號接收通過輸入/輸出通道接收的命令,將通過輸入/輸出通道接收的地址路由到行解碼器電路113,并且將通過輸入/輸出通道接收的數(shù)據(jù)路由到數(shù)據(jù)輸入/輸出電路117??刂七壿嬰娐?19可對接收到的命令解碼,并且基于解碼的命令來控制非易失性存儲器裝置110。
控制邏輯電路119可基于通過輸入/輸出通道從控制器120接收的讀使能信號/RE來生成數(shù)據(jù)選通信號DQS。所生成的數(shù)據(jù)選通信號DQS可通過控制通道輸出到控制器120。在進行寫時,控制邏輯電路119可通過控制通道從控制器120接收數(shù)據(jù)選通信號DQS。
圖19是示意性示出根據(jù)示例性實施例的存儲器塊BLKa的電路圖。參照圖19,存儲器塊BLKa可包括可按照行和列的矩陣布置的多個單元串CS11至CS21和CS12至CS22。
例如,沿著行方向布置的單元串CS11和CS12可構(gòu)成第一行,沿著行方向布置的單元串CS21和CS22可構(gòu)成第二行。沿著列方向布置的單元串CS11和CS21可構(gòu)成第一列,沿著列方向布置的單元串CS12和CS22可構(gòu)成第二列。
每個單元串可包括多個單元晶體管。多個單元晶體管可包括地選擇晶體管GST、存儲器單元MC1至MC6和串選擇晶體管SSTa和SSTb。每個單元串中的地選擇晶體管GST、存儲器單元MC1至MC6和串選擇晶體管SSTa和SSTb可沿垂直于平面的高度方向上堆疊,其中,單元串CS11至CS21和CS12至CS22沿著行和列布置在所述平面(例如,存儲器塊BLKa的基板上的平面)上。
每個單元晶體管可以是閾值電壓根據(jù)絕緣層中捕獲的電荷量而改變的電荷捕獲型單元晶體管。
最底下的地選擇晶體管GST可共同連接到公共源線CSL。
單元串CS11至CS21和CS12至CS22的地選擇晶體管GST的控制柵極可分別連接到地選擇線GSL1和GSL2。在示例性實施例中,同一行中的地選擇晶體管可連接到同一地選擇線,不同行的地選擇晶體管可連接到不同地選擇線。例如,第一行中的單元串CS11和CS12的地選擇晶體管GST可連接到第一地選擇線GSL1,第二行中的單元串CS21和CS22的地選擇晶體管GST可連接到第二地選擇線GSL2。
布置在距離基板(或地選擇晶體管GST)相同高度(或次序)的存儲器單元的控制柵極共同連接到字線,布置在不同高度(或次序)的存儲器單元的控制柵連接到不同字線WL1至WL6。例如,存儲器單元MC1可共同連接到字線WL1,存儲器單元MC2可共同連接到字線WL2,存儲器單元MC3可共同連接到字線WL3。存儲器單元MC4可共同連接到字線WL4,存儲器單元MC5可共同連接到字線WL5,存儲器單元MC6可共同連接到字線WL6。
在單元串CS11至CS21和CS12至CS22的具有相同高度(或次序)的第一串選擇晶體管SSTa中,不同行中的第一串選擇晶體管SSTa的控制柵極可分別連接到不同的串選擇線SSL1a和SSL2a。例如,單元串CS11和CS12的第一串選擇晶體管SSTa可共同連接到串選擇線SSL1a,單元串CS21和CS22的第一串選擇晶體管SSTa可共同連接到串選擇線SSL2a。
在單元串CS11至CS21和CS12至CS22的具有相同高度(或次序)的第二串選擇晶體管SSTb中,不同行中的第二串選擇晶體管SSTb的控制柵極可分別連接到不同的串選擇線SSL1b和SSL2b。例如,單元串CS11和CS12的第二串選擇晶體管SSTb可共同連接到串選擇線SSL1b,單元串CS21和CS22的第二串選擇晶體管SSTb可共同連接到串選擇線SSL2b。
也就是說,不同行中的單元串可連接到不同串選擇線。同一行的單元串中的具有相同高度(或重新)的串選擇晶體管可連接到同一串選擇行。同一行的單元串中的具有不同高度(或重新)的串選擇晶體管可連接到不同串選擇行。
在示例性實施例中,同一行中的單元串的串選擇晶體管可共同連接到串選擇線。例如,第一行中的單元串CS11和CS12的串選擇晶體管SSTa和SSTb可共同連接到串選擇線,第二行中的單元串CS21和CS22的串選擇晶體管SSTa和SSTb可共同連接到串選擇線。
單元串CS11至CS21和CS12至CS22的列可分別連接到不同的位線BL1和BL2。例如,第一列中的單元串CS11和CS21的串選擇晶體管SSTb可共同連接到位線BL1,第二列中的單元串CS12和CS22的串選擇晶體管SSTb可共同連接到位線BL2。
單元串CS 11和CS12可構(gòu)成第一平面,單元串CS21和CS22可構(gòu)成第二平面。
在存儲器塊BLKa中,布置在相同高度的每個平面的存儲器單元可構(gòu)成物理頁。物理頁可以是對存儲器單元MC1至MC6進行寫和讀的單元??赏ㄟ^串選擇線SSL1a、SSL1b、SSL2a和SSL2b選擇存儲器塊BLKa的一個平面。當(dāng)將導(dǎo)通電壓供應(yīng)到串選擇線SSL1a和SSL1b并且將截止電壓供應(yīng)到串選擇線SSL2a和SSL2b時,第一平面中的單元串CS11和CS12可連接到位線BL1和BL2。也就是說,可選擇第一平面。當(dāng)將導(dǎo)通電壓供應(yīng)到串選擇線SSL2a和SSL2b并且將截止電壓供應(yīng)到串選擇線SSL1a和SSL1b時,第二平面中的單元串CS21和CS22可連接到位線BL1和BL2。也就是說,可選擇第二平面。在所選擇的平面中,可通過字線WL1至WL6選擇存儲器單元MC1至MC6的行。在所選擇的行中,可將選擇電壓施加到第二字線WL2,可將非選擇電壓施加到剩余的字線WL1和WL3至WL6。也就是說,可通過調(diào)節(jié)串選擇線SSL1a、SSL1b、SSL2a和SSL2b以及字線WL1至WL6上的電壓來選擇第二平面的與第二字線WL2對應(yīng)的物理頁。可針對所選擇的物理頁中的存儲器單元MC2來執(zhí)行寫操作或讀操作。
在存儲器塊BLKa中,可通過存儲器塊或通過子塊來擦除存儲器單元MC1至MC6。當(dāng)通過存儲器塊來執(zhí)行擦除時,可根據(jù)擦除請求(例如,來自外部存儲器控制器的擦除請求)來同時擦除存儲器塊BLKa中的所有存儲器單元MC1至MC6。當(dāng)通過子塊執(zhí)行擦除時,可根據(jù)擦除請求(例如,來自外部存儲器控制器的擦除請求)來同時擦除存儲器塊BLKa中的存儲器單元MC1至MC6的一部分,并且可禁止擦除存儲器單元MC1至MC6的其它部分。可將低電壓(例如,地電壓或電平近似于地電壓的電平的低電壓)供應(yīng)到與被擦除的存儲器單元MC1至MC6連接的字線,并且可將與被禁止擦除的存儲器單元MC1至MC6連接的字線浮置。
存儲器塊BLKa可包括通過塊地址區(qū)分開的物理存儲空間。字線WL1至WL6中的每條可對應(yīng)于通過行地址區(qū)分開的物理存儲空間。位線BL1和BL2中的每條可對應(yīng)于通過列地址區(qū)分開的物理存儲空間。不同行中的串選擇線SSL1a和SSL2a或SSL1b和SSL2b中的每條或不同行中的地選擇線GSL1和GSL2中的每條可對應(yīng)于通過平面地址識別的物理存儲空間。
圖19中示出的存儲器塊BLKb是示例性的。然而,本發(fā)明構(gòu)思的范圍和精神可不限于此。例如,單元串的行數(shù)可增大或減小。隨著單元串的行數(shù)變化,串選擇線或地選擇線的數(shù)量和與位線連接的單元串的數(shù)量也會變化。
單元串的列數(shù)可增大或減小。如果單元串的列數(shù)變化,則與單元串的列連接的位線的數(shù)量和與串選擇線連接的單元串的數(shù)量也會變化。
單元串的高度可增大或減小。例如,堆疊在每個單元串中的地選擇晶體管、存儲器單元、或串選擇晶體管的數(shù)量可增大或減小。
在示例性實施例中,物理頁中的存儲器單元MC可對應(yīng)于至少三個邏輯頁。例如,k位(k是2或更大的整數(shù))可被編程在存儲器單元MC中。在一個物理頁的存儲器單元MC中,可使用在每個存儲器單元MC中編程的k位來實現(xiàn)k個邏輯頁。
例如,物理頁可包括通過塊地址、行地址、列地址和平面地址區(qū)分開的物理存儲空間。一個物理頁可包括兩個或更多個邏輯頁。每個物理頁可包括通過用于識別邏輯頁的額外地址(或偏差)以及物理頁的地址區(qū)分開的邏輯存儲空間。
在示例性實施例中,提供三維(3D)存儲器陣列。3D存儲器陣列單片形成在存儲器單元的陣列的一個或更多個物理級別中,存儲器單元具有布置在硅基板上方的有源區(qū)和與這些存儲器單元的操作關(guān)聯(lián)的電路,電路可位于基板的上面或里面。術(shù)語“單片”意味著陣列的每個級別的層直接沉積在陣列的每個底層級別的層上。
在示例性實施例中,3D存儲器陣列包括垂直NAND串,所述垂直NAND串垂直取向,使得至少一個存儲器單元位于另一個存儲器單元上方。至少一個存儲器單元可包括電荷捕獲層。每個垂直NAND串可包括位于存儲器單元上方的至少一個選擇晶體管,所述至少一個選擇晶體管具有與存儲器單元相同的結(jié)構(gòu)并且與存儲器單元一起單片形成。
通過引用合并于此的以下專利文獻描述了三維存儲器陣列的合適構(gòu)造,其中,三維存儲器陣列被構(gòu)造為多個級別,這些級別之間共享字線和/或位線:第7,679,133號、第8,553,466、第8,654,587號、第8,559,235號美國專利和第2011/0233648號美國專利公開。
圖20是示意性示出根據(jù)示例性實施例的計算裝置1000的框圖。參照圖20,計算裝置1000可包括處理器1100、RAM 1200、存儲裝置1300、調(diào)制解調(diào)器1400和用戶接口1500。
處理器1100可控制計算裝置1000的整體操作并且執(zhí)行邏輯運算。處理器1100可以是基于硬件的數(shù)據(jù)處理裝置,該硬件包括被物理配置為執(zhí)行由代碼或程序中包括的命令表達的操作的電路。例如,處理器1100可以是片上系統(tǒng)(SoC)。處理器1100可以是通用處理器、專用處理器或應(yīng)用處理器。
RAM 1200可與處理器1100通信。RAM 1200可以是處理器1100或計算裝置1000的主存儲器。處理器1100可暫時將代碼或數(shù)據(jù)存儲在RAM 1200中。處理器1100可使用RAM 1200執(zhí)行代碼并且處理數(shù)據(jù)。處理器1100可使用RAM 1200來執(zhí)行各種軟件,諸如(但不限于)操作系統(tǒng)和應(yīng)用。處理器1100可使用RAM 1200來控制計算裝置1000的整體操作。RAM 1200可包括諸如(但不限于)SRAM、DRAM、SDRAM等的易失性存儲器或者諸如(但不限于)PRAM、MRAM、RRAM和FRAM等的非易失性存儲器。
存儲裝置1300可與處理器1100通信。存儲裝置1300可用于長時間存儲數(shù)據(jù)。也就是說,處理器1100可把將長時間存儲的數(shù)據(jù)存儲在存儲裝置1300中。存儲裝置1300可存儲用于驅(qū)動計算裝置1000的引導(dǎo)程序,存儲各種軟件(諸如,操作系統(tǒng)和應(yīng)用)的源代碼,并且存儲通過各種軟件處理的數(shù)據(jù)。
處理器1100可將存儲在存儲裝置1300中的源代碼加載到RAM 1200上并且執(zhí)行代碼,從而驅(qū)動各種軟件。處理器1100可將存儲在存儲裝置1300中的數(shù)據(jù)加載到RAM 1200上并且處理加載到RAM 1200上的數(shù)據(jù)。處理器1100可將存儲在RAM 1200中的數(shù)據(jù)之中的長期數(shù)據(jù)存儲在存儲裝置1300中。
存儲裝置1300可包括諸如(但不限于)閃存、PRAM、MRAM、RRAM和FRAM等的非易失性存儲器。
調(diào)制解調(diào)器1400可在處理器1100的控制下與外部裝置通信。例如,調(diào)制解調(diào)器1400可以以有線或無線方式與外部裝置通信。調(diào)制解調(diào)器1400可基于諸如長期演進(LTE)、全球微波互聯(lián)接入(WiMax)、全球移動通信系統(tǒng)(GSM)、碼分多址(CDMA)、藍牙通信、近場通信(NFC)、Wi-Fi、射頻識別(RFID)等的無線通信方式或諸如通用串行總線(USB)、串行ATA(SATA)、高速芯片互連(HSIC)、小型計算機系統(tǒng)接口(SCSI)、火線、外圍組件互連(PCI)、PCI快速(PCIe)、非易失性存儲器快速(NVMe)、通用閃存(UFS)、安全數(shù)字(SD)、安全數(shù)字輸入輸出(SDIO)、通用異步收發(fā)器(UART)、串行外圍接口(SPI)、高速PI(HS-SPI)、RS232、內(nèi)部集成電路(I2C)、HS-I2C、集成音頻接口芯片(I2S)、Sony/Philips數(shù)字接口(S/PDIF)、多媒體卡(MMC)、嵌入式MMC(eMMC)等的有線通信方式中的至少一種與外部主機裝置通信。
用戶接口1500可在處理器110的控制下與用戶通信。例如,用戶接口1500可包括諸如鍵盤、鍵區(qū)、按鈕、觸摸面板、觸摸屏、觸摸板、觸摸球、相機、麥克風(fēng)、陀螺儀傳感器、振動傳感器等的用戶輸入接口。用戶接口1500還可包括諸如液晶顯示器(LCD)、有機發(fā)光二極管(OLED)顯示裝置、有源矩陣OLED(AMOLED)顯示裝置、發(fā)光二極管(LED)、揚聲器、電機等的用戶輸出接口。
存儲裝置1300可包括根據(jù)示例性實施例的存儲裝置中的一個。處理器1100、RAM 1200、調(diào)制解調(diào)器1400和用戶接口1500可構(gòu)成與存儲裝置1300通信的主機裝置。
根據(jù)示例性實施例,具有第一大小的映射數(shù)據(jù)可被具有比第一大小小的第二大小的緩存映射數(shù)據(jù)取代,從而減少從非易失性存儲器裝置讀取映射數(shù)據(jù)的事件的數(shù)量并且提高存儲裝置的速度。
由如圖1、圖18和圖20示出的方框代表的組件、元件、模塊或單元中的至少一個可根據(jù)示例性實施例被實施為執(zhí)行上述各個功能的各種數(shù)量的硬件、軟件和/或固件結(jié)構(gòu)。例如,這些組件、元件或單元中的至少一個可使用可通過一個或更多個微處理器或其它控制設(shè)備的控制來執(zhí)行各個功能的直接電路結(jié)構(gòu)(諸如,存儲器、處理、邏輯、查詢表等)。另外,這些組件、元件或單元中的至少一個可通過包含用于執(zhí)行特定邏輯功能的一個或更多個可執(zhí)行指令并且由一個或更多個微處理器或其它控制設(shè)備執(zhí)行的模塊、程序、或部分代碼來專門實施。另外,這些組件、元件或單元中的至少一個還可包括執(zhí)行各個功能的處理器(諸如,中央處理單元(CPU))、微處理器等。這些組件、元件或單元中的兩個或更多個可被組合成執(zhí)行組合的兩個或更多個組件、元件或單元的所有操作或功能的一個單個組件、元件或單元。另外,這些組件、元件或單元中的至少一個的至少一部分功能可由這些組件、元件或單元中的另一個來執(zhí)行。另外,盡管在以上框圖中沒有示出總線,但可通過總線執(zhí)行組件、元件或單元之間的通信。可以以執(zhí)行一個或更多個處理器的算法來執(zhí)行以上示例性實施例的功能方面。此外,由方框或處理步驟代表的組件、元件或單元可采用用于電子構(gòu)造、信號處理和/或控制、數(shù)據(jù)處理等的任何數(shù)量的現(xiàn)有技術(shù)。
上述方法或算法的操作或步驟可被實施為計算機可讀記錄介質(zhì)上的計算機可讀代碼,或者被實施為通過傳輸介質(zhì)傳輸。計算機可讀記錄介質(zhì)是可存儲此后可由計算機系統(tǒng)讀取的數(shù)據(jù)的任何數(shù)據(jù)存儲裝置。計算機可讀記錄介質(zhì)的示例包括只讀存儲器(ROM)、隨機存取存儲器(RAM)、壓縮盤(CD)-ROM、數(shù)字通用盤(DVD)、磁帶、軟盤和光學(xué)數(shù)據(jù)存儲裝置,但不限于此。傳輸介質(zhì)可包括通過互聯(lián)網(wǎng)或各種類型的通信通道傳輸?shù)妮d波。計算機可讀記錄介質(zhì)還可分布于聯(lián)網(wǎng)的計算機系統(tǒng),使得計算機可讀代碼以分布方式被存儲和執(zhí)行。
雖然已經(jīng)參照示例性實施例描述了本發(fā)明構(gòu)思,但本領(lǐng)域的技術(shù)人員應(yīng)該清楚,可在不脫離本發(fā)明構(gòu)思的精神和范圍的情況下,對以上描述進行各種改變和修改。因此,應(yīng)該理解,以上示例性實施例不是限制性的,而是說明性的。因此,本發(fā)明構(gòu)思的范圍將通過權(quán)利要求書及其等同物的最廣可容許解釋來確定并且不應(yīng)當(dāng)受以上描述約束或限制。