TWI570558B - 用於增進固態硬碟的讀取效能之方法及設備 - Google Patents

用於增進固態硬碟的讀取效能之方法及設備 Download PDF

Info

Publication number
TWI570558B
TWI570558B TW104138582A TW104138582A TWI570558B TW I570558 B TWI570558 B TW I570558B TW 104138582 A TW104138582 A TW 104138582A TW 104138582 A TW104138582 A TW 104138582A TW I570558 B TWI570558 B TW I570558B
Authority
TW
Taiwan
Prior art keywords
solid state
logical blocks
memory chips
data
hard disk
Prior art date
Application number
TW104138582A
Other languages
English (en)
Other versions
TW201636848A (zh
Inventor
阿納德S 拉瑪林根
Original Assignee
英特爾公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 英特爾公司 filed Critical 英特爾公司
Publication of TW201636848A publication Critical patent/TW201636848A/zh
Application granted granted Critical
Publication of TWI570558B publication Critical patent/TWI570558B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)

Description

用於增進固態硬碟的讀取效能之方法及設備
本發明係有關於用於增進固態硬盤的讀取效能之方法及設備。
發明背景
一種固態硬碟(SSD)為資料儲存裝置,該資料儲存裝置將積體電路總成用作記憶體以持久地儲存資料。
反及(NAND)SSD就讀取頻寬、寫入頻寬及隨機輸入/輸出操作而論具有優於硬碟機之顯著優勢。此增進頻寬通常來自在讀取及寫入操作期間並行接合許多NAND晶粒的能力。
依據本發明之一實施例,係特地提出一種用於增進一固態硬碟之效能的方法,該方法包含:由該固態硬碟之一控制器起始儲存於該固態硬碟之一非依電性記憶體中的資料之一重新封裝,其中儲存於該固態硬碟之該非依電性記憶體中之該資料之再新係在儲存於該固態硬碟之該非依電性記憶體中之該資料的該重新封裝期間所進行;以及 當儲存於該固態硬碟之該非依電性記憶體中之該資料正被重新封裝時,以一遞增次序實體連續地將邏輯區塊置放於該固態硬碟之該非依電性記憶體的預抹除位置中。
100‧‧‧計算環境
102‧‧‧固態硬碟
104a、104n‧‧‧3D NAND晶片
106‧‧‧主機
108‧‧‧控制器
110‧‧‧應用程式
112‧‧‧間接表
114a、114n‧‧‧單一晶片選擇情況下每3D NAND晶片可存在僅一個頻道
116‧‧‧具有4KB之頁面大小之讀取操作
200、300、400、500、800‧‧‧方塊圖
202‧‧‧例示性表示
204‧‧‧圖例
206‧‧‧均勻灰色區域
210‧‧‧傾斜陰影區域
212‧‧‧新位置
214‧‧‧交叉陰影區域
216‧‧‧缺陷NAND區塊
218‧‧‧白色區域
220‧‧‧新資料
222、224、226、228、230、232、234、304、306、308、310、402、404、406、410、412、414、504、506、510、512、514、528、802、804、806、808‧‧‧參考數字
302‧‧‧固態硬碟/參考數字
416、418、420、516、518、520‧‧‧預抹除位置
502‧‧‧參考數字/固態資料表示
526‧‧‧第一4K區塊
600‧‧‧第一流程圖
602、604、606、608、610、612、702、704、706‧‧‧區塊
700‧‧‧第二流程圖
900‧‧‧系統
902‧‧‧電路
904‧‧‧處理器
906‧‧‧記憶體
908‧‧‧儲存器
910‧‧‧程式邏輯
912‧‧‧程式碼
914‧‧‧顯示器
916‧‧‧輸入裝置
現參考圖式,其中相同參考數字貫穿全文表示對應部分。
圖1說明根據某些實施例之計算環境的方塊圖,在該計算環境中,具有3D NAND晶片之SSD耦接至主機;圖2說明根據某些實施例之展示SSD中資料之例示性例示性表示的方塊圖;圖3說明根據某些實施例之展示在週期性地重新封裝SSD中之資料的同時實體連續地重組邏輯區塊而與此同時再新SSD中之資料的方塊圖。圖4說明根據某些實施例之展示在無資料針對用於邏輯區塊位址相鄰之重排情況下的資料之重新封裝的方塊圖;圖5說明根據某些實施例的展示有資料針對邏輯區塊位址相鄰之重排情況下的資料之重新封裝的方塊圖;圖6說明根據某些實施例之用於以遞增次序實體連續地重新封裝及組織固態硬碟中之邏輯區塊以用於對讀取請求之增進回應而與此同時再新資料的第一流程圖;圖7說明根據某些實施例之用於以遞增次序實體連續地重新封裝及組織固態硬碟中之邏輯區塊以用於對讀取請求之增進回應而與此同時再新資料的第二流程圖; 圖8說明根據某些實施例之展示在允許同時讀取四個頁面時例示性3D NAND中之平面平行度及例示性效能增進的方塊圖;且圖9說明根據某些實施例之計算裝置的方塊圖。
較佳實施例之詳細說明
許多類型之SSD使用基於NAND之快閃記憶體,該快閃記憶體在無電力的情況下保持資料且為非依電性儲存技術之類型。在單階記憶體胞元(SLC)NAND中,每一記憶體胞元可以兩個狀態中之一者存在,且每記憶體單元儲存一個位元的資訊。多階記憶體胞元(MLC)NAND為固態快閃記憶體,該固態快閃記憶體每記憶體胞元使用多個位階以允許更多位元使用相同數目之電晶體來儲存。三維(3D)NAND快閃為快閃記憶體之類型,該快閃記憶體將平面記憶體胞元之多個層(例如,32個層)堆疊於彼此之頂部上。在無一般性損失之情況下,3D NAND快閃之結構可視覺化為烤箱機架中之多個堆疊小型文字檔盤,其中盤中之每一小型文字檔為一記憶體胞元。
NAND為基於區塊之非依電性記憶體。基於NAND之快閃記憶體SSD在記憶體之整個區塊上操作。在寫入至記憶體胞元之前,需要抹除記憶體胞元,此需要將大電壓施加至記憶體胞元,此情形可僅對整個記憶體胞元區塊發生一次。舉例而言,若1千位元組(KB)之資料用128KB之抹除區塊大小寫入至SSD中之NAND裝置,則SSD需要自 目標區塊讀取127KB,抹除區塊且將舊資料加新資料回寫至區塊中。SSD韌體可預抹除區塊且嘗試將新資料寫入至此等預抹除區塊中。現有SSD具有用於「資料再新」之機構,其中在資料再新中,資料週期性地重寫以防止資料由於NAND胞元中之電荷損失而損失。
在以下描述中,對隨附圖式進行參考,該等隨附圖式形成其部分且說明若干實施例。應理解,可利用其他實施例且可作出結構及操作改變。
在某些情況下,SSD之所需容量為約200GB。200GB之SSD可包括25個8GB之MLC NAND晶粒。在某些3D NAND情況下,每3D NAND晶粒之儲存容量可明顯為8GB以上,諸如在TLC用於3D NAND晶粒中時,儲存容量為每3D NAND晶粒48GB。此可意謂200GB之SSD可具有僅5個48GB之3D NAND晶粒。NAND晶粒之容量自8GB增加至48GB使可用於SSD之NAND平行度降低為5之因數。讀取頻寬及寫入頻寬兩者由於微影保持收縮而變得每晶粒更低。此實例之最終結果為讀取及寫入兩者每晶粒頻寬混合並行減小五倍。
NAND SSD對於隨機讀取操作為高效的。在頁面大小變得更大且並行變小且Tread(與讀取相關聯之時間)倍增(針對TLC之100s與針對MLC之80s之間)情況下,可存在讀取操作的每秒20倍的減少。
現有NAND控制器技術係基於使若干NAND晶粒並行進行讀取及寫入。用於此類現有NAND控制器之機構 可能未必總是集中於最佳化每晶粒之可用NAND頻寬,而是替代地可集中於最大化每晶粒之持久性。在某高密度3D NAND情況下,200GB之SSD可具有僅5個3D NAND晶粒。具有5個3D NAND晶粒之此SSD假定20GB/天之主機寫入及為3之內部寫入擴增(由SSD進行之60GB的NAND寫入/天)情況下可具有10年之持久性(亦即,可用年限)。此持久性遠超過SSD之3至5年之典型可用年限可能所需要的持久性,此係因為SSD中之組件之剩餘部分可具有介於3年與5年之間的壽命。
某些實施例提供如下機構:該等機構於在SSD之持久性上做出權衡同時幫助最大化對耦接至SSD之主機可見的每晶粒讀取頻寬。在此等實施例中,讀取操作之效能增強。在此等實施例中,資料之重新封裝在有資料針對邏輯區塊位址(LBA)相鄰之重排情況下進行而與此同時再新SSD中之資料。在具有支援具有16KB頁面大小及4個平面之平面平行度的3D NAND裝置之SSD的實施例中,可達成為儲存4KB分散內容之實施例之效能的1600%之效能。
圖1說明根據某些實施例之其中具有多個3D NAND晶片104a...104n之固態硬碟102耦接至主機106之計算環境100的方塊圖。晶片(亦被稱作封包)由多個NAND裝置組成,其中每一NAND裝置控制多個晶粒。描述於圖1中之實施例亦可應用於高容量MLC NAND晶片。
固態硬碟102可由非依電性記憶體,諸如NAND記憶體、反或(NOR)記憶體或一些其他合適非依電性記憶體 組成。在某些實施例中,固態硬碟102可能夠儲存若干太位元組或更多之資料。某些實施例可應用於其他類型之非依電性記憶體、相變記憶體(PCM)、三維交叉點記憶體、電阻式記憶體、奈米線記憶體、鐵電電晶體隨機存取記憶體(FeTRAM)、合併憶阻器技術之磁阻式隨機存取記憶體(MRAM)記憶體、自旋轉移力矩(STT)-MRAM、位元組可定址隨機存取非依電性記憶體等。
在某些實施例中,主機106可由任何合適的計算裝置(諸如個人電腦、大型主機、電話裝置、智慧型手機、儲存器控制器、刀片型電腦、具有記憶體之處理器等)組成。在某些替代實施例中,計算裝置106可與SSD 102經由匯流排(諸如周邊組件互連(PCIe)、串列進階附接技術(SATA)、串列附接小型電腦系統介面(SAS))或網路(諸如網際網路、儲存區域網路(SAN)、區域網路(LAN)等)通訊。SATA規範之另外細節可在由SATA國際組織(SATA-IO)(Beaverton,OR)於2013年8月發佈之標題為「串列ATA規範,修訂版3.2(Serial ATA Specification,Revision 3.2)」的公開案中發現。在另一實例中,介面及/或互連協定可符合高速非依電性記憶體主機控制器介面(Non-Volatile Memory Host Controller Interface Express;NVMe)及/或與其相容。NVMe之另外細節可在由NVM ExpressTM工作組於2014年11月3日發佈之標題為「NVM ExpressTM,修訂版1.2(NVM ExpressTM,Revision 1.2)」的公開案中及/或此規範之更早及/或稍後版本中發現(NVM Express為NVM Express公司的商 標)。
在某些實施例中,固態硬碟102可包括於具有與固態硬碟102互動以進行I/O操作之作業系統的計算裝置(未展示)中。作業系統可使用4KB之頁面大小。
3D NAND晶片104a...104n各自可具有16KB之頁面大小,儘管主機106可使用4KB之頁面大小以用於讀取操作。換言之,檔案系統叢集/節點大小為4KB,其中檔案系統叢集/節點對應於由檔案系統分配之空間的粒度單元,且NAND頁面大小為16KB,其中NAND頁面為至NAND之寫入的粒度單元。用於3D NAND晶片之16KB的頁面大小意謂當請求資料時,傳回至少一個為16KB之頁面。舉例而言,當對NAND晶片作出4KB的讀取請求時,傳回至少16KB的資料。
固態硬碟102包括以韌體、硬體、軟體或其任何組合實施之控制器108。控制器108包括應用程式110,該應用程式亦被稱作有針對邏輯區塊位址(LBA)相鄰之重排情況下之重新封裝的應用程式。在資料之再新期間執行有針對LBA相鄰之重排情況下的重新封裝。控制器108亦包括使用4KB之頁面大小的間接表112。
在某些實施例中,在固態硬碟102中,在單一晶片選擇情況下可能僅存在每3D NAND晶片一個頻道(參考編號114a...114n)且因此,平行度在自多個3D NAND晶片104a...104n之每一3D NAND晶片的讀取操作中可能沒有可能。在其他實施例中,平面平行度可為可能的。在某些實 施例中,歸因於大晶粒容量,在8個頻道控制器上,存在每頻道1或1以下個晶粒且因此即使當作出128KB請求時,並行可能不大於5。因此,若不封裝資料,則在某些實施例中讀取能力可為一次4KB乘5,亦即,一次20KB。若封裝了資料,則潛在地系統可能能夠一次獲得16KB乘5,亦即一次獲得80KB。控制器108請求具有4KB或4KB之倍數之頁面大小的讀取操作(參考數字116),儘管3D NAND晶片104a...104n表示呈16KB頁面大小之資料。
在圖1中所展示之某些實施例中,固態硬碟102之控制器108在進行資料再新之時間期間週期性地起始儲存於固態硬碟102之3D NAND晶片104a...104n中之資料的重新封裝。在某些實施例中,在每一資料重新封裝期間,邏輯區塊以遞增次序實體連續地置放於固態硬碟102之3D NAND晶片104a...104n之預抹除位置中。隨後,當對多個邏輯區塊的讀取請求由固態硬碟102自主機106接收到時,接著回應於判定多個邏輯區塊以遞增次序實體連續地儲存,控制器108分派單一請求至固態硬碟102之一或多個3D NAND晶片(非依電性記憶體晶片)104a...104n以提取以遞增次序實體連續地儲存之多個邏輯區塊。
圖2說明根據某些實施例之展示固態硬碟中之資料之例示性表示202的方塊圖200。圖例204展示,均勻灰色區域206表示由主機106寫入之資料,其中資料為有效資料。傾斜陰影區域210表示來自主機之已隨後寫入至新位置212的資料。交叉陰影區域214表示缺陷NAND區塊216。白 色區域218表示用於寫入新資料220之預抹除位置。
根據圖例204,例示性在例示性表示202中,參考數字222展示由主機106寫入之資料,其中該寫入資料為有效的,參考數字224展示來自主機106之隨後寫入至新位置之資料,參考數字226展示缺陷NAND區塊,且參考數字228展示用於寫入新資料之預抹除位置。例示性在資料之例示性表示202中,參考數字230、232及234將邏輯區塊位址10、19及15展示為由主機寫入之有效資料。可注意到,由於固態硬碟102中之3D NAND晶片104a...104n之頁面大小為16KB,因此經由參考數字230、232、234展示之邏輯區塊位址中之每一者表示16KB之資料。
圖3說明根據某些實施例之展示在週期性地重新封裝固態硬碟302中之資料的同時實體連續地重組邏輯區塊而與此同時再新SSD中之資料的方塊圖300。現有SSD具有「資料再新」,其中資料必須週期性地重寫以防止資料由於NAND單元中之電荷損失而損失。固態硬碟302中之資料之初始重新封裝及再新經由參考數字302展示。在固態硬碟302中之資料之初始重新封裝期間,邏輯區塊以遞增次序實體連續地置放於固態硬碟的預抹除位置中(如經由參考數字304所示)。隨後,在經過一時段後,起始資料之另一重新封裝及再新(參考數字306),且在重新封裝儲存於固態硬碟102中之資料時,邏輯區塊以遞增次序實體連續地置放於固態硬碟102之預抹除位置中(經由參考數字308展示)。以週期性間隔重新封裝資料之處理程序及當重新封裝資料時以 遞增次序連續地將邏輯區塊置放於固態硬碟之預抹除位置中(如經由參考數字310所示)。
在某些實施例中,以遞增次序連續地將邏輯區塊置放於固態硬碟102之預抹除位置中之操作在重新封裝期間進行以增進固態硬碟之讀取效能,其中在進行固態硬碟102之再新的同時進行重新封裝。因此,實施例不僅僅為重新封裝資料之方法。實施例進行資料重新封裝及電荷損失防止兩者。用於防止電荷損失之「資料再新技術」之先前技術方法為已知的。基本上,在某些實施例中,資料重新封裝就持久性損失或電力或其他因素而言在資料再新而無顯著額外負擔時得到「自由」。
圖4說明根據某些實施例之展示如在某些先前技術固態硬碟中所進行的在無資料之針對邏輯區塊位址相鄰重排情況下之資料重新封裝的方塊圖400。
在圖4中,資料之初始組配經由參考數字402展示,且在無針對邏輯區塊位址相鄰之重排情況下重新封裝資料(參考數字404)後之組配經由參考數字406展示。可看到,邏輯區塊位址10、19、15(由參考數字410、412、414表示)在資料之重新封裝期間實體連續地移動至預抹除位置416、418、420,然而邏輯區塊位址在經重新封裝後不處於相鄰之遞增次序,其中相鄰之遞增次序意謂邏輯區塊x、x+1、x+2等按順序一個接一個地置放(例如,由邏輯區塊位址15、16、17、18、19、20指示之區塊將依次儲存於預抹除位置中而在其間無任何介入間隙或區塊)。藉由將資料重 新封裝技術添加至現有資料再新,某些實施例產生再新NAND胞元以及經很好地封裝之資料內容兩者。
由於邏輯區塊位址在資料之重新封裝期間不以相鄰之遞增次序重排,因此若主機106自固態硬碟102請求多個連續頁面之讀取,則多個提取可在所請求多個連續頁面跨越3D NAND晶片104a...104n上之多個16KB邏輯區塊展開時可必須自3D NAND晶片104a...104n進行,且此操作引起讀取操作之效能減速。舉例而言,主機可請求始於邏輯位址x之12個頁面,其中每一頁面為4KB。12個頁面需要至少3D NAND晶片104a...104n上之48KB之儲存空間,亦即,12個頁面可儲存於三個16KB之NAND頁面中,因為NAND頁面大小為16KB。然而,若三個16KB之NAND頁面不以相鄰之遞增次序置放,則三個頁面必須藉由將三個提取命令自控制器106發送至3D NAND晶片104a...104n來逐一提取,且此影響讀取操作之效能。
圖5說明根據某些實施例之展示有資料之針對邏輯區塊位址相鄰之重排情況下資料之重新封裝的方塊圖500。
在圖5中,資料之初始組配經由參考數字502展示,且於在有針對邏輯區塊位址相鄰之重排情況下的重新封裝資料之後的組配(參考數字504)經由參考數字506展示。可看到,邏輯區塊位址0、1、2(由參考數字510、512、514表示)在資料之重新封裝期間實體連續地移動至預抹除位置516、518、520,且邏輯區塊位址在經重新封裝後處於 相鄰之遞增次序,其中相鄰之遞增次序意謂邏輯區塊x、x+1、x+2等按順序一個接一個地置放(亦即,邏輯區塊位址15、16、17、18、19、20可依次儲存於預抹除位置中而在其間無任何介入間隙或邏輯區塊位址)。
由於邏輯區塊位址在資料之重新封裝期間以相鄰之遞增次序重排,因此若主機106自固態硬碟102請求多個相連頁面之讀取,則僅單一提取可在所請求多個相連頁面跨越3D NAND晶片104a...104n上之多個16KB邏輯區塊展開時自3D NAND晶片104a...104n進行,且此情形使得讀取操作之效能增強。
舉例而言,主機106可請求始於邏輯位址「0」之8個頁面,其中每一頁面為4KB。由於NAND頁面大小為16KB,因此8個頁面需要3D NAND晶片104a...104n上之至少32KB之儲存空間,亦即,8個頁面可儲存於兩個16KB之NAND頁面中。由於兩個16KB之NAND頁面以相鄰之遞增次序置放(參考數字516、518),因此兩個頁面不必藉由將兩個提取命令自控制器發送至3D NAND晶片104a...104n而逐一提取。替代地,對起始邏輯位址「0」之兩個頁面之單一提取命令可傳回頁面516、518以滿足讀取請求。此情形經由16KB之固態硬碟頁面大小之放大視圖(參考數字520)展示,該固態硬碟頁面大小儲存8個4KB之頁面,其中4KB為主機及間接表頁面大小。間接表112可定址第一4KB區塊526且請求傳回始於第一4K區塊526的32KB之資料。在某些實施例中,以遞增相鄰次序配置之實體連續的邏輯區塊 位址之32個區塊經由單一提取由控制器108自3D NAND晶片104a...104n傳回(如經由參考數字528所示)。由圖5說明之實施例中所進行之單一提取與在圖4中所展示之機構中必須進行之多個提取相比增強了讀取效能。在某些實施例中(例如,在SSD為200GB、每一NAND晶粒為48GB且因此5個晶粒用於200GB之SSD中的實施例中),歸因於大晶粒容量,在8頻道控制器上,可存在每頻道1或1以下個晶粒且因此即使當存在128KB請求時,並行可能不大於5。因此若不封裝資料,則在某些實施例中系統可以一次讀取4KB乘5(亦即,20KB)之能力結束。若封裝了資料,則一次獲得16KB乘5(亦即,80KB)可為有可能的。因此,相對讀取效能相比於不封裝資料時的讀取效能可為400%。未來數帶NAND之每晶粒容量倍增(例如,每晶粒自48GB倍增至96GB)。因此,此400%相對讀取效能極其有用。應注意,400%相對讀取效能用於3D NAND中之1個平面讀取。對於用戶端使用模型且對於第一代3D NAND,400%讀取效能可為足夠的,且可能不需要為3D NAND(NAND)中之四方形平面處置添加複雜性(3D NAND中之四方形平面操作稍後在圖8中描述,且在四方形平面處置中,四個讀取可並行地由四邊形平面3D NAND處置)。在某些實施例中,對於第二代NAND,四邊形平面讀取可為可能的(稍後將於圖8中描述)且可獲得1600%相對讀取效能。
圖6說明用於以遞增次序實體連續地重新封裝及組織固態硬碟中之邏輯區塊以用於對讀取請求之增進回應 而與此同時再新固態硬碟中之資料的第一流程圖600。圖6中所展示之操作可由應用程式110進行,該應用程式在固態硬碟102之控制器108中執行,其中應用程式110使用間接表112。
控制在區塊602處開始,其中資料重新封裝在固態硬碟102中開始,且在某些實施例中,資料之再新與資料重新封裝同時進行。控制進行至區塊604,其中應用程式110以鋸齒模式(亦即,自左至右及自頂部至底部)橫過固態資料表示(例如,502)。有效資料移動至預抹除位置(區塊606處),以使得邏輯區塊位址以遞增次序實體連續地置放於預抹除位置中。自區塊606,控制可在一時段之後返回至區塊602以進行另一輪的資料之重新封裝。
自區塊606,控制亦可在一時段後進行至區塊608。控制器108可自主機106接收較大讀取請求(在區塊608處)。控制器108檢查間接表112以判定讀取請求中之所請求邏輯區塊位址以遞增次序實體連續地儲存(在區塊610處)。控制器108接著分派(在區塊612處)單一NAND讀取以便讀取以遞增次序實體連續地儲存於3D NAND晶片104a...104n中之邏輯區塊位址。
因此,圖5、圖6說明某些實施例以使用單一提取以讀取每一者16KB之多個NAND頁面以滿足來自主機之具有4KB之頁面大小的大讀取請求,其中大讀取請求請求16KB以上之資料。舉例而言,若32KB之資料由主機106請求,則兩個NAND頁面可經由由控制器106對多個NAND 晶片104a...104n作出之單一提取請求而擷取。在某些實施例中,提取請求需要用於提取之起始邏輯位址及待提取之頁面的數目。在其他實施例中,提取請求僅需要用於提取之起始邏輯位址及頁面保持獲得始於起始邏輯位址之讀取。
圖7說明用於以遞增次序實體連續地重新封裝及組織固態硬碟中之邏輯區塊以用於對讀取請求之增進回應的第二流程圖700。圖7中所展示之操作可由應用程式110進行,該應用程式在固態硬碟102之控制器108中執行,其中應用程式110使用間接表112。
控制開始於區塊702處,其中固態硬碟102之控制器108起始儲存於固態硬碟102中之資料之週期性重新封裝,其中儲存於固態硬碟中之資料之再新在儲存於固態硬碟102中之資料的重新封裝期間進行。當正重新封裝儲存於固態硬碟102中之資料時,邏輯區塊以遞增次序實體連續地置放於固態硬碟102之預抹除位置中(在區塊704處)。
控制進行至區塊706,其中自主機106接收對多個邏輯區塊的讀取請求。回應於判定多個邏輯區塊以遞增次序實體連續地儲存,對固態硬碟102之非依電性記憶體晶片104a...104n作出單一請求以提取多個邏輯區塊。
在某些實施例中,主機106表示與固態硬碟102相比較小大小之邏輯區塊。固態硬碟102中之間接表112將指標維持至儲存於固態硬碟102中之有效資料的最新複本,且間接表112將相同大小之多個邏輯區塊表示為主機 106。在某些實施例中,固態硬碟102由三維NAND晶片104a...104n組成,且在僅一個晶片選擇情況下每三維NAND晶片僅存在一個頻道且平行讀取請求無法由該僅有的一個頻道傳遞。此外,在某些實施例中,NAND頁面大小為16KB且自主機106至固態硬碟102之請求在4KB之頁面大小中作出。在某些實施例中,NAND晶片可具有除16KB頁面之外的「平面」平行度。舉例而言,某些NAND具有4個平面,從而引起64KB之資料可在與引起相對於所分散4KB資料之讀取之1600%讀取頻寬之4KB資料相同的持續時間中讀取。
在某些實施例中,週期性地進行固態硬碟102中之資料之重新封裝,且以遞增次序實體連續地將邏輯區塊置放於固態硬碟102之預抹除位置中在固態硬碟102中之資料在資料再新期間之每一週期性重新封裝期間進行。與在重新封裝儲存於固態硬碟102中之資料同時以隨機次序實體連續地將邏輯區塊置放於固態硬碟102之預抹除位置中相比,在重新封裝儲存於固態硬碟102中之資料同時以遞增次序實體連續地將邏輯區塊置放於固態硬碟102之預抹除位置中增進了讀取效能。
在先前技術中,間接表112之內部間接系統為通常引起每一4K在不同抹除區塊上之4K。64KB主機讀取將引起分派至不同NAND區塊之十六個4K讀取。圖1至圖7中所說明之某些實施例重新封裝資料,以使得「邏輯區塊位址0」至「邏輯區塊位址N」彼此相鄰地置放於NAND中。 可重設提供資料保持、背景資料再新之現有NAND策略以不僅再新資料而且實體連續地封裝資料。進行此操作歸因於速度混合將引起寫入放大之微小增大,但由於實際可用的持久性遠超過所需要的以滿足針對固態硬碟之三年使用模型,因此此情形對於增加讀取效能將為適當折衷。
圖8說明根據某些實施例之展示在允許四個頁面同時被讀取時例示性3D NAND中之平面平行度及例示性效能增進的方塊圖800。
具有4個平面之實例3D NAND之示意圖經由參考數字802展示。具有4個平面之3D NAND之頁面大小為16KB(參考數字804)。在某些實施例中,在具有4個平面之3D NAND中允許被同時讀取的頁面之數目為四(如經由參考數字806所展示)。因此,同時讀取之資料的總量為16KB乘4,為64KB(經由參考數字808展示)。因此,相對於4KB分散內容置放於SSD中之情境之效能高達16倍,亦即,若SSD儲存4KB分散內容之情境中之效能為100%,則在四個頁面可同時被讀取的具有16KB頁面大小之3D NAND中,效能為1600%。
因此,圖8說明例示性3D NAND中之平面平行度以達成係儲存4KB分散內容之情境中之效能的1600%的效能。
所描述操作可實施為使用標準程式及/或工程設計技術以生產軟體、韌體、硬體或其任何組合之方法、設備或電腦程式產品。所描述操作可實施為維持於「電腦可 讀儲存媒體」中之程式碼,其中處理器可讀取及執行來自電腦儲存可讀媒體之程式碼。電腦可讀儲存媒體包括電子電路、儲存材料、無機材料、有機材料、生物材料、殼體、外殼、塗層及硬體中之至少一者。電腦可讀儲存媒體可包含(但不限於)磁性儲存媒體(例如,硬碟機、軟碟、磁帶等)、光學儲存器(CD-ROM、DVD、光碟等)、依電性及非依電性記憶體裝置(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、快閃記憶體、韌體、可規劃邏輯等)、固態裝置(SSD)等。實施所描述操作之程式碼可進一步在實施於硬體裝置(例如,積體電路晶片、可規劃閘陣列(PGA)、特殊應用積體電路(ASIC)等)中之硬體邏輯中實施。又另外,實施所描述操作之程式碼可以「傳輸信號」實施,其中傳輸信號可經由空間或經由諸如光纖、銅線等傳輸媒體傳播。編碼有程式碼或邏輯之傳輸信號可進一步包含無線信號、衛星傳輸、無線電波、紅外線信號、藍芽等。嵌入電腦可讀儲存媒體上之程式碼可作為傳輸信號自發射台或電腦傳輸至接收台或電腦。電腦可讀儲存媒體並非僅由傳輸信號組成。熟習此項技術者將認識到,可對此組配進行許多修改,且製品可包含此項技術中已知之合適的資訊承載媒體。
用於進行某些實施例之態樣之操作的電腦程式碼可以一或多個規劃語言之任何組合中撰寫。流程圖及方塊圖之區塊可由電腦程式指令實施。
圖9說明根據某些實施例之包括主機106(該主機106包含至少一處理器)及固態硬碟102兩者之系統900的方 塊圖。舉例而言,在某些實施例中,系統900可為電腦(例如,膝上型電腦、桌上型電腦、平板電腦、行動電話或任何其他合適的計算裝置),該電腦具有皆包括於系統900中之主機106及固態硬碟102。舉例而言,在某些實施例中,系統900可為包括固態硬碟102之膝上型電腦。系統900可包括在某些實施例中可包括至少一處理器904之電路902。系統900亦可包括記憶體906(例如,依電性記憶體裝置)及儲存器908。儲存器908可包括固態硬碟102或包括非依電性記憶體裝置(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、快閃、韌體、可規劃邏輯等)之其他驅動或裝置。儲存器908亦可包括磁碟機、光碟機、磁帶機等。儲存器908可包含內部儲存裝置、附接儲存裝置及/或網路可存取儲存裝置。系統900可包括程式邏輯910,該程式邏輯包括可加載至記憶體906中且由處理器904或電路902執行的程式碼912。在某些實施例中,包括程式碼912之程式邏輯910可儲存於儲存器908中。在某些其他實施例中,程式邏輯910可實施於電路902中。因此,雖然圖9與其他元件分離地展示程式邏輯910,但程式邏輯910可實施於記憶體906及/或電路902中。系統900亦可包括顯示器914(例如,液晶顯示器(LCD)、發光二極體(LED)顯示器、陰極射線管(CRT)顯示器、觸控式螢幕顯示器或任何其他合適顯示器)。系統900亦可包括一或多個輸入裝置916,諸如鍵盤、滑鼠、操縱桿、觸控板或任何其他合適的輸入裝置。超過圖9中所展示之彼等的其他組件或裝置亦可在系統900中找到。
某些實施例可係針對用於部署藉由個人或自動處理將電腦可讀程式碼整合至計算系統中之計算指令的方法,其中程式碼結合計算系統能夠進行所描述實施例之操作。
術語「一實施例」、「實施例」、「數個實施例」、「該實施例」、「該等實施例」、「一或多個實施例」、「一些實施例」及「一個實施例」意謂「一或多個(但並非所有)實施例」,除非另外明確指定。
術語「包括」、「包含」、「具有」及其變體意謂「包括但不限於」,除非另外明確指定。
所列項目清單並不暗示項目中之任一者或全部相互排外,除非另外明確指定。
術語「一」及「該」意謂「一或多個」,除非另外明確指定。
彼此通訊之裝置無需處於與彼此之連續通訊中,除非另外明確指定。另外,彼此通訊之裝置可直接通訊或經由一或多個媒介間接地通訊。
描述具有彼此通訊之若干組件之實施例並不暗示需要所有此類組件。相反地,描述多種可選組件以說明廣泛之多種可能實施例。
此外,雖然程序步驟、方法步驟、演算法或類似者可以順序次序描述,但此類處理程序、方法及演算法可經組配以按替代次序起作用。換言之,可經描述之步驟之任何序列或次序未必指示步驟以彼次序進行之要求。本文 所描述之處理程序之步驟可以任何實際次序進行。此外,可同時進行一些步驟。
當本文中描述單一裝置或物品時,將易於顯而易見的是,一個以上裝置/物品(無論是否其協作)可代替單一裝置/物品使用。類似地,在本文描述一個以上裝置或物品(無論是否其協作)之處,將易於顯而易見的是,單一裝置/物品可代替一個以上裝置或物品使用或可使用不同數目之裝置/物品而非所展示數目之裝置或程式。裝置之功能性及/或特徵可替代地由一或多個其他裝置實施,該等一或多個其他裝置不明確地描述為具有此類功能性/特徵。因此,其他實施例無需包括裝置自身。
可已說明於諸圖中之至少某些操作展示以某一次序發生之某些事件。在替代實施例中,某些操作可以不同次序進行、修改或移除。此外,步驟可經添加至上文所描述之邏輯且仍符合所描述實施例。此外,本文所描述之操作可依序發生或某些操作可經並行處理。又另外,可由單一處理單元或由分佈式處理單元進行操作。
出於說明及描述之目的而已呈現對各種實施例之前述描述。其並不意欲為詳盡的或限於所揭示之精確形式。根據以上教示,許多修改及變化有可能。
實例
以下實例係關於其他實施例。
實例1為一種用於增進固態硬碟之效能的方法。固態硬碟之控制器起始儲存於固態硬碟之非依電性記憶體 中之資料的重新封裝,其中儲存於固態硬碟之非依電性記憶體中之資料之再新在儲存於固態硬碟之非依電性記憶體中之資料的重新封裝期間進行。當正重新封裝儲存於固態硬碟之非依電性記憶體中之資料時,以遞增次序實體連續地將邏輯區塊置放於固態硬碟之非依電性記憶體之預抹除位置中。
在實例2中,實例1之標的物可包括自主機接收對多個邏輯區塊之讀取請求;及回應於判定多個邏輯區塊以遞增次序實體連續地儲存,將單一請求分派至固態硬碟之一或多個非依電性記憶體晶片以提取多個邏輯區塊。
在實例3中,實例2之標的物可包括邏輯區塊與固態硬碟中相比於主機中以較小大小表示。
在實例4中,實例3之標的物可包括固態硬碟中之間接表將指標維持至儲存於固態硬碟中之有效資料之最新複本的實體位址,其中間接表以與主機相同之大小表示多個邏輯區塊。
在實例5中,實例1之標的物可包括固態硬碟由三維NAND晶片組成,其中在僅一個晶片選擇情況下每三維NAND晶片僅存在一個頻道,且平行讀取請求不可由該僅有的一個頻道傳遞。
在實例6中,實例5之標的物可包括NAND頁面大小為16千位元組,且在4千位元組之頁面大小中進行自主機至固態硬碟之請求。
在實例7中,實例1之標的物可包括週期性地進行 固態硬碟中之資料之重新封裝,其中以遞增次序實體連續地將邏輯區塊置放於固態硬碟之非依電性記憶體之預抹除位置中在固態硬碟中之資料之每一週期性重新封裝期間進行。
在實例8中,實例1之標的物可包括與邏輯區塊在重新封裝儲存於固態硬碟之非依電性記憶體中之資料時以隨機次序實體連續地於固態硬碟之非依電性記憶體的預抹除位置中的置放相比,邏輯區塊在重新封裝儲存於固態硬碟之非依電性記憶體中之資料時以遞增次序實體連續地於固態硬碟之非依電性記憶體之預抹除位置中的置放增進了讀取效能,其中當平面平行度由具有允許同時被讀取之四個頁面之固態硬碟支援時,相對讀取效能高達1600%。
實例9為一種設備,其包含:多個非依電性記憶體晶片;以及控制器,其耦接至多個非依電性記憶體晶片,其中控制器可操作以起始儲存於多個非依電性記憶體晶片中之資料的重新封裝,其中儲存於多個非依電性記憶體晶片中之資料之再新在儲存於多個非依電性記憶體晶片中之資料的重新封裝期間進行;以及當正重新封裝儲存於多個非依電性記憶體晶片中之資料時,以遞增次序實體連續地將邏輯區塊置放於多個非依電性記憶體晶片之預抹除位置中。
在實例10中,實例9之標的物可包括控制器進一步可操作以:自主機接收對多個邏輯區塊之讀取請求;及回應於判定多個邏輯區塊以遞增次序實體連續地儲存,將 單一請求分派至一或多個非依電性記憶體晶片以提取多個邏輯區塊。
在實例11中,實例10之標的物可包括主機與多個非依電性記憶體晶片相比以較小大小表示邏輯區塊。
在實例12中,實例11之標的物可包括間接表將指標維持至儲存於多個非依電性記憶體晶片中之有效資料的最新複本之實體位址,且其中間接表以與主機相同之大小表示多個邏輯區塊。
在實例13中,實例9之標的物可包括多個非依電性記憶體晶片由三維NAND晶片組成,其中在僅一個晶片選擇情況下每三維NAND晶片僅存在一個頻道,且平行讀取請求不可由該僅有的一個頻道傳遞。
在實例14中,技術方案13之標的物可包括NAND頁面大小為16千位元組,且在4千位元組之頁面大小中作出自主機至設備之請求。
在實例15中,實例9之標的物可包括週期性地進行多個非依電性記憶體晶片中之資料之重新封裝,其中邏輯區塊以遞增次序實體連續地置放於多個非依電性記憶體晶片之預抹除位置中在多個非依電性記憶體晶片中之資料之每一週期性重新封裝期間進行。
在實例16中,實例9之標的物可包括與邏輯區塊在正重新封裝資料時以隨機次序實體連續地於預抹除位置中的置放相比,邏輯區塊在正重新封裝資料時以遞增次序實體連續地於預抹除位置中的置放增進了讀取效能,且其 中當平面平行度由具有允許被同時讀取之四個頁面之設備支援時,相對讀取效能高達1600%。
實例17為一種系統,其包含:固態硬碟,該固態硬碟包含多個非依電性記憶體晶片;顯示器;及處理器,其耦接至固態硬碟及顯示器,其中固態硬碟可操作以:起始儲存於多個非依電性記憶體晶片中之資料的重新封裝,其中儲存於多個非依電性記憶體晶片中之資料之再新在儲存於多個非依電性記憶體晶片中之資料之重新封裝期間進行;及當正重新封裝儲存於多個非依電性記憶體晶片中之資料時,以遞增次序實體連續地將邏輯區塊置放於多個非依電性記憶體晶片之預抹除位置中。
在實例18中,實例17之標的物可包括控制器進一步可操作以:自主機接收對多個邏輯區塊之讀取請求;及回應於判定多個邏輯區塊以遞增次序實體連續地儲存,將單一請求分派至一或多個非依電性記憶體晶片以提取多個邏輯區塊。
在實例19中,實例18之標的物可包括主機與多個非依電性記憶體晶片相比以較小大小表示邏輯區塊。
在實例20中,實例19之標的物可包括間接表將指標維持至儲存於多個非依電性記憶體晶片中之有效資料的最新複本之實體位址,且其中間接表以與主機相同之大小表示多個邏輯區塊。
在實例21中,實例17之標的物可包括多個非依電性記憶體晶片由三維NAND晶片組成,其中在僅一個晶片 選擇情況下每三維NAND晶片僅存在一個頻道,且平行讀取請求不可由該僅有的一個頻道傳遞。
在實例22中,實例21之標的物可包括NAND頁面大小為16千位元組,且在4千位元組之頁面大小中作出自主機至設備之請求。
在實例23中,實例17之標的物可包括週期性地進行多個非依電性記憶體晶片中之資料之重新封裝,其中以遞增次序實體連續地將邏輯區塊置放於多個非依電性記憶體晶片之預抹除位置中在多個非依電性記憶體晶片中之資料之每一週期性重新封裝期間進行。
在實例24中,實例17之標的物可包括與邏輯區塊當正重新封裝資料時以隨機次序實體連續地於預抹除位置中的置放相比,邏輯區塊當正重新封裝資料時以遞增次序實體連續地於預抹除位置中的置放增進了讀取效能,且其中當平面平行度由具有允許同時被讀取之四個頁面之設備支援時,相對讀取效能高達1600%。
100‧‧‧計算環境
102‧‧‧固態硬碟
104a、104n‧‧‧3D NAND晶片
106‧‧‧主機
108‧‧‧控制器
110‧‧‧應用程式
112‧‧‧間接表
114a、114n‧‧‧單一晶片選擇情況下每3D NAND晶片可存在僅一個頻道
116‧‧‧具有4KB之頁面大小之讀取操作

Claims (24)

  1. 一種用於增進一固態硬碟之效能的方法,該方法包含:由該固態硬碟之一控制器起始儲存於該固態硬碟之一非依電性記憶體中的資料之一重新封裝,其中儲存於該固態硬碟之該非依電性記憶體中之該資料的再新係在儲存於該固態硬碟之該非依電性記憶體中之該資料的該重新封裝期間所進行;以及當儲存於該固態硬碟之該非依電性記憶體中之該資料正被重新封裝時,以一遞增次序實體連續地將邏輯區塊置放於該固態硬碟之該非依電性記憶體的預抹除位置中。
  2. 如請求項1之方法,該方法進一步包含:自一主機接收對多個邏輯區塊之一讀取請求;以及回應於判定該等多個邏輯區塊係以一遞增次序實體連續地被儲存,將一單一請求分派至該固態硬碟之一或多個非依電性記憶體晶片以提取該等多個邏輯區塊。
  3. 如請求項2之方法,其中該等邏輯區塊相比於該固態硬碟係以一較小大小來表示於該主機中。
  4. 如請求項3之方法,其中該固態硬碟中之一間接表將指標維持至儲存於該固態硬碟中之有效資料之最新複本的實體記憶體位址,且其中該間接表以與該主機相同之一大小表示該等多個邏輯區塊。
  5. 如請求項1之方法,其中該固態硬碟係由三維NAND晶片 組成,且其中在僅一個晶片選擇情況下每三維NAND晶片僅存在一個頻道且平行讀取請求不可由該僅有的一個頻道所傳遞。
  6. 如請求項5之方法,其中一NAND頁面大小為16千位元組,且在4千位元組之頁面大小中作出自一主機至該固態硬碟之請求。
  7. 如請求項1之方法,其中該固態硬碟中之資料的該重新封裝被週期性地進行,且其中該等邏輯區塊以一遞增次序實體連續地在該固態硬碟之該非依電性記憶體之該等預抹除位置中的該置放係在該固態硬碟中之該資料之每一週期性重新封裝期間所進行。
  8. 如請求項1之方法,其中當儲存於該固態硬碟之該非依電性記憶體中之該資料正重新封裝時該等邏輯區塊以一隨機次序實體連續地在該固態硬碟之該非依電性記憶體之該等預抹除位置中的該置放,與當儲存於該固態硬碟之該非依電性記憶體中之該資料正重新封裝時該等邏輯區塊以一遞增次序實體連續地在固態硬碟之該非依電性記憶體之該等預抹除位置中的該置放相比,增進了讀取效能,且其中當平面平行度係由具有被允許同時讀取之四個頁面的該固態硬碟所支援時,相對讀取效能高達1600%。
  9. 一種設備,其包含:多個非依電性記憶體晶片;以及一控制器,其耦接至該等多個非依電性記憶體晶 片,其中該控制器係可操作以:起始儲存於該等多個非依電性記憶體晶片中之資料的一重新封裝,其中儲存於該等多個非依電性記憶體晶片中之該資料之再新係在儲存於該等多個非依電性記憶體晶片中之該資料的該重新封裝期間所進行;以及當儲存於該等多個非依電性記憶體晶片中之該資料正被重新封裝時,以一遞增次序實體連續地將邏輯區塊置放於該等多個非依電性記憶體晶片的預抹除位置中。
  10. 如請求項9之設備,其中該控制器進一步可操作以:自一主機接收對多個邏輯區塊之一讀取請求;以及回應於判定該等多個邏輯區塊係以一遞增次序實體連續地被儲存,將一單一請求分派至一或多個非依電性記憶體晶片以提取該等多個邏輯區塊。
  11. 如請求項10之設備,其中該等邏輯區塊相比於該等多個非依電性記憶體晶片係以一較小大小來表示於該主機中。
  12. 如請求項11之設備,其中一間接表將指標維持至儲存於該等多個非依電性記憶體晶片中之有效資料之最新複本的實體記憶體位址,且其中該間接表以與該主機相同之一大小表示該等多個邏輯區塊。
  13. 如請求項9之設備,其中該等多個非依電性記憶體晶片係由三維NAND晶片組成,且其中在僅一個晶片選擇情況下每三維NAND晶片僅存在一個頻道且平行讀取請 求不可由該僅有的一個頻道所傳遞。
  14. 如請求項13之設備,其中一NAND頁面大小為16千位元組,且在4千位元組之頁面大小中作出自一主機至該設備之請求。
  15. 如請求項9之設備,其中該等多個非依電性記憶體晶片中之資料的該重新封裝被週期性地進行,且其中該等邏輯區塊以一遞增次序實體連續地在該等多個非依電性記憶體晶片之該等預抹除位置中的該置放係在該等多個非依電性記憶體晶片中之該資料之每一週期性重新封裝期間所進行。
  16. 如請求項9之設備,其中當該資料正重新封裝時該等邏輯區塊以一隨機次序實體連續地在該等預抹除位置中之該置放,與當該資料正重新封裝時該等邏輯區塊以一遞增次序實體連續地在該等預抹除位置中之該置放相比,增進了讀取效能,且其中當平面平行度係由具有允許被同時讀取之四個頁面的該設備所支援時,該相對讀取效能高達1600%。
  17. 一種系統,其包含:一固態硬碟,其包含多個非依電性記憶體晶片;一顯示器;以及一處理器,其耦接至該固態硬碟及該顯示器,其中該固態硬碟係可操作以:起始儲存於該等多個非依電性記憶體晶片中之資料的一重新封裝,其中儲存於該等多個非依電性記憶體 晶片中之該資料之再新係在儲存於該等多個非依電性記憶體晶片中之該資料的該重新封裝期間所進行;以及當儲存於該等多個非依電性記憶體晶片中之該資料正被重新封裝時,以一遞增次序實體連續地將邏輯區塊置放於該等多個非依電性記憶體晶片的預抹除位置中。
  18. 如請求項17之系統,其中該固態硬碟進一步可操作以:自一主機作業系統接收對多個邏輯區塊之一讀取請求;以及回應於判定該等多個邏輯區塊係以一遞增次序實體連續地被儲存,將一單一請求分派至一或多個非依電性記憶體晶片以提取該等多個邏輯區塊。
  19. 如請求項18之系統,其中該主機作業系統相比於該等多個非依電性記憶體晶片以一較小大小表示邏輯區塊。
  20. 如請求項19之系統,其中一間接表將指標維持至儲存於該等多個非依電性記憶體晶片中之有效資料之最新複本的實體記憶體位址,且其中該間接表以與該主機作業系統相同之一大小表示該等多個邏輯區塊。
  21. 如請求項17之系統,其中該等多個非依電性記憶體晶片係由三維NAND晶片組成,且其中在僅一個晶片選擇情況下每三維NAND晶片僅存在一個頻道,且平行讀取請求不可由該僅有的一個頻道所傳遞。
  22. 如請求項21之系統,其中一NAND頁面大小為16千位元組,且在4千位元組之頁面大小中作出自一主機作業系 統至該固態硬碟之請求。
  23. 如請求項17之系統,其中該等多個非依電性記憶體晶片中之資料的該重新封裝被週期性地進行,且其中該等邏輯區塊以一遞增次序實體連續地在該等多個非依電性記憶體晶片之該等預抹除位置中的該置放係在該等多個非依電性記憶體晶片中之該資料之每一週期性重新封裝期間所進行。
  24. 如請求項17之系統,其中當該資料正重新封裝時該等邏輯區塊以一隨機次序實體連續地在該等預抹除位置中的該置放,與當該資料正重新封裝時該等邏輯區塊以一遞增次序實體連續地在該等預抹除位置中之該置放相比,增進了讀取效能,且其中當平面平行度係由具有允許同時被讀取之四個頁面的該固態硬碟所支援時,相對讀取效能高達1600%。
TW104138582A 2014-12-23 2015-11-20 用於增進固態硬碟的讀取效能之方法及設備 TWI570558B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/581,723 US9778848B2 (en) 2014-12-23 2014-12-23 Method and apparatus for improving read performance of a solid state drive

Publications (2)

Publication Number Publication Date
TW201636848A TW201636848A (zh) 2016-10-16
TWI570558B true TWI570558B (zh) 2017-02-11

Family

ID=56129385

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104138582A TWI570558B (zh) 2014-12-23 2015-11-20 用於增進固態硬碟的讀取效能之方法及設備

Country Status (5)

Country Link
US (2) US9778848B2 (zh)
KR (2) KR102462305B1 (zh)
CN (1) CN107003813B (zh)
TW (1) TWI570558B (zh)
WO (1) WO2016105780A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9778848B2 (en) 2014-12-23 2017-10-03 Intel Corporation Method and apparatus for improving read performance of a solid state drive
US10528462B2 (en) 2016-09-26 2020-01-07 Intel Corporation Storage device having improved write uniformity stability
TWI620067B (zh) * 2016-12-01 2018-04-01 英業達股份有限公司 伺服器系統與讀取方法
US10884919B2 (en) * 2017-10-31 2021-01-05 Pure Storage, Inc. Memory management in a storage system
US20190034105A1 (en) * 2017-12-28 2019-01-31 Intel Corporation Storage device having programmed cell storage density modes that are a function of storage device capacity utilization
US10921988B2 (en) 2018-02-15 2021-02-16 SK Hynix Inc. System and method for discovering parallelism of memory devices
US11231873B2 (en) * 2018-12-07 2022-01-25 Intel Corporation Apparatus and method for assigning velocities to write data
CN112313747A (zh) * 2018-12-25 2021-02-02 英特尔公司 用于非易失性存储介质的减少次数的擦除验证
US10725706B1 (en) * 2019-01-23 2020-07-28 Qualcomm Incorporated Apparatus and method of scheduling universal flash storage refresh operations according to a refresh handover mechanism
US11315611B2 (en) 2020-01-07 2022-04-26 SK Hynix Inc. Processing-in-memory (PIM) system and operating methods of the PIM system
TW202141290A (zh) 2020-01-07 2021-11-01 韓商愛思開海力士有限公司 記憶體中處理(pim)系統和pim系統的操作方法
US11385837B2 (en) * 2020-01-07 2022-07-12 SK Hynix Inc. Memory system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7082495B2 (en) * 2002-06-27 2006-07-25 Microsoft Corporation Method and apparatus to reduce power consumption and improve read/write performance of hard disk drives using non-volatile memory
TW200949841A (en) * 2008-05-28 2009-12-01 Silicon Power Comp & Comm Inc Solid state disk and accessing method thereof
TW201104440A (en) * 2009-04-09 2011-02-01 Micron Technology Inc Memory controllers, memory systems, solid state drives and methods for processing a number of commands
US20110307646A1 (en) * 2008-06-13 2011-12-15 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
US20120254505A1 (en) * 2011-03-29 2012-10-04 Research In Motion Limited System and method for managing flash memory
TW201419303A (zh) * 2012-08-23 2014-05-16 Apple Inc 在固態硬碟中命令執行次序的有效強制執行

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000172917A (ja) * 1998-12-02 2000-06-23 Sanden Corp 自動販売機の制御装置
KR100533682B1 (ko) * 2003-12-26 2005-12-05 삼성전자주식회사 플래시 메모리의 데이터 관리 장치 및 방법
US20060181949A1 (en) * 2004-12-31 2006-08-17 Kini M V Operating system-independent memory power management
US20070143560A1 (en) 2005-12-21 2007-06-21 Gorobets Sergey A Non-volatile memories with memory allocation for a directly mapped file storage system
US9123422B2 (en) 2012-07-02 2015-09-01 Super Talent Technology, Corp. Endurance and retention flash controller with programmable binary-levels-per-cell bits identifying pages or blocks as having triple, multi, or single-level flash-memory cells
US8166233B2 (en) 2009-07-24 2012-04-24 Lsi Corporation Garbage collection for solid state disks
CN101667458B (zh) * 2009-09-22 2012-07-04 成都市华为赛门铁克科技有限公司 一种固态硬盘全盘擦除的方法和相应的设备
KR20120001405A (ko) * 2010-06-29 2012-01-04 삼성전자주식회사 메모리 시스템 및 그것의 웨어 레벨링 방법
JP5535128B2 (ja) * 2010-12-16 2014-07-02 株式会社東芝 メモリシステム
KR101826047B1 (ko) * 2011-09-28 2018-02-07 삼성전자주식회사 저장 장치 및 그 구동 방법
KR102094334B1 (ko) * 2013-03-15 2020-03-27 삼성전자주식회사 비휘발성 멀티-레벨 셀 메모리 시스템 및 상기 시스템에서의 적응적 데이터 백업 방법
US9619177B2 (en) * 2014-06-05 2017-04-11 Kabushiki Kaisha Toshiba Memory system including non-volatile memory, buffer memory, and controller controlling reading data from non-volatile memory
KR20160004073A (ko) * 2014-07-02 2016-01-12 삼성전자주식회사 비휘발성 메모리 장치 및 그 구동 방법
KR20160064364A (ko) * 2014-11-27 2016-06-08 삼성전자주식회사 패스트 오픈을 위한 어드레스 맵 운영방법 및 그에 따른 메모리 시스템
US9778848B2 (en) 2014-12-23 2017-10-03 Intel Corporation Method and apparatus for improving read performance of a solid state drive

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7082495B2 (en) * 2002-06-27 2006-07-25 Microsoft Corporation Method and apparatus to reduce power consumption and improve read/write performance of hard disk drives using non-volatile memory
TW200949841A (en) * 2008-05-28 2009-12-01 Silicon Power Comp & Comm Inc Solid state disk and accessing method thereof
US20110307646A1 (en) * 2008-06-13 2011-12-15 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
TW201104440A (en) * 2009-04-09 2011-02-01 Micron Technology Inc Memory controllers, memory systems, solid state drives and methods for processing a number of commands
US20120254505A1 (en) * 2011-03-29 2012-10-04 Research In Motion Limited System and method for managing flash memory
TW201419303A (zh) * 2012-08-23 2014-05-16 Apple Inc 在固態硬碟中命令執行次序的有效強制執行

Also Published As

Publication number Publication date
TW201636848A (zh) 2016-10-16
KR102462305B1 (ko) 2022-11-03
US20160179376A1 (en) 2016-06-23
CN107003813B (zh) 2021-11-19
US10114556B2 (en) 2018-10-30
KR20170099852A (ko) 2017-09-01
KR20220150437A (ko) 2022-11-10
US9778848B2 (en) 2017-10-03
CN107003813A (zh) 2017-08-01
US20180121092A1 (en) 2018-05-03
WO2016105780A1 (en) 2016-06-30

Similar Documents

Publication Publication Date Title
TWI570558B (zh) 用於增進固態硬碟的讀取效能之方法及設備
KR102370760B1 (ko) 존 네임스페이스에 대한 존 형성
CN110955384B (zh) 数据储存装置以及非挥发式存储器控制方法
US10061695B2 (en) Memory system and operating method thereof
TW201621912A (zh) 用於組態和控制非揮發性快取記憶體的系統及方法
US20200409601A1 (en) Hold of Write Commands in Zoned Namespaces
US11301150B2 (en) Memory controller and method for updating address mapping information
KR20130084846A (ko) 플래시 메모리를 기반으로 하는 저장 장치, 그것을 포함한 사용자 장치, 그리고 그것의 데이터 읽기 방법
US10430108B2 (en) Concurrent copying of first and second subsets of pages from media such as SLC NAND to media such as QLC or MLC NAND for completion of copying of data
KR102656959B1 (ko) 존 구획 네임스페이스를 갖는 호스트 관리 하드웨어 압축
US11537305B1 (en) Dissimilar write prioritization in ZNS devices
TWI718710B (zh) 資料儲存裝置以及非揮發式記憶體控制方法
KR101070511B1 (ko) Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법
US11481136B1 (en) Very low sized zone support for storage devices
US11829650B2 (en) Memory sub-system data migration
US11455249B2 (en) Storage device for performing dump operation, method of operating storage device, computing system including storage device and host device for controlling storage device, and method of operating computing system
US11416412B2 (en) Method of managing data in storage device based on variable size mapping, method of operating storage device using the same and storage device performing the same
TW202013191A (zh) 資料儲存裝置以及非揮發式記憶體控制方法