TWI520152B - 資料儲存裝置與快閃記憶體控制方法 - Google Patents

資料儲存裝置與快閃記憶體控制方法 Download PDF

Info

Publication number
TWI520152B
TWI520152B TW102107206A TW102107206A TWI520152B TW I520152 B TWI520152 B TW I520152B TW 102107206 A TW102107206 A TW 102107206A TW 102107206 A TW102107206 A TW 102107206A TW I520152 B TWI520152 B TW I520152B
Authority
TW
Taiwan
Prior art keywords
flash memory
data
cache
access
space
Prior art date
Application number
TW102107206A
Other languages
English (en)
Other versions
TW201435910A (zh
Inventor
鄭張鎧
柯冠宇
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 慧榮科技股份有限公司
Priority to TW102107206A priority Critical patent/TWI520152B/zh
Priority to CN201310131428.5A priority patent/CN104021094B/zh
Priority to US14/100,627 priority patent/US8984171B2/en
Priority to US14/100,575 priority patent/US9436599B2/en
Publication of TW201435910A publication Critical patent/TW201435910A/zh
Application granted granted Critical
Publication of TWI520152B publication Critical patent/TWI520152B/zh

Links

Classifications

    • 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/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0873Mapping of cache memory to specific storage devices or parts thereof
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • 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/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • 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/7208Multiple device management, e.g. distributing data over multiple flash devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

資料儲存裝置與快閃記憶體控制方法
本發明係有關於以快閃記憶體實現的一種資料儲存裝置、以及快閃記憶體之控制方法。
現今資料儲存裝置常以快閃記憶體(FLASH memory)為儲存媒體。以非及閘型的快閃記憶體(即NAND FLASH)為例,常用作記憶卡(memory card)、通用序列匯流排閃存裝置(USB flash device)、固態硬碟(SSD)…等產品。另外有一種應用是採多晶片封裝、將NAND FLASH晶片與控制晶片包成一顆晶片一稱為嵌入式快閃記憶體模組(eMMC)。
快閃記憶體不只應用廣泛,其容量更隨著製程技術發展顯著提升。然而,愈來愈龐大的記憶體容量使得快閃記憶體之控制方式更加顯著影響快閃記憶體的運作效能。
本發明揭露一種以快閃記憶體實現的資料儲存裝置,並且揭露一快閃記憶體的控制方法。
根據一種實施方式所實現的一資料儲存裝置包括:一快閃記憶體以及一控制器。該快閃記憶體具有複數個區塊、且各區塊具有複數頁。該等區塊係劃分由複數個存取通道作存取。該控制器耦接該快閃記憶體,且包括:一運算單元、 一唯讀記憶體以及一隨機存取記憶體。該唯讀記憶體所載程式係由該運算單元執行,作為該資料儲存裝置之韌體。該隨機存取記憶體在執行該韌體的該運算單元規劃下供應至少一套快取空間。各套快取空間係針對上述複數個存取通道分別提供寫入資料的暫存空間。該運算單元係令一主機下達的寫入資料分散對應上述複數個存取通道,再於上述一套快取空間中關於上述各個存取通道所對應的資料暫存空間均整理完成後,將整理完成的資料自該套快取空間依照所屬之存取通道寫入該快閃記憶體。
根據本發明另一種實施方式,快閃記憶體的控制方法包括:將一快閃記憶體的複數個區塊劃分由複數個存取通道作存取;於一隨機存取記憶體中規劃至少一套快取空間,各套快取空間係針對上述複數個存取通道分別提供寫入資料的暫存空間;令一主機下達的寫入資料分散對應上述複數個存取通道,以及,於上述一套快取空間中關於上述各個存取通道所對應的資料暫存空間均整理完成後,將整理完成的資料自該套快取空間依照所屬之存取通道寫入該快閃記憶體。
下文特舉實施例,並配合所附圖示,詳細說明本發明內容。
102‧‧‧資料儲存裝置
104‧‧‧主機
106‧‧‧快閃記憶體
108‧‧‧控制器
110‧‧‧運算單元
112‧‧‧唯讀處理器
114‧‧‧隨機存取記憶體
Cache1_CE1、Cache1_CE2…Caceh1_CEN‧‧‧第一套快取空間
Cache2_CE1、Cache2_CE2…Cacehe2_CEN‧‧‧第二套快取空間
CE1、CE2…CEN‧‧‧晶片/存取通道
HPageA、HPageB…HPageN‧‧‧邏輯位址
HPageA_Old、HPageN_Old‧‧‧邏輯位址HPageA與HPageN中不需更新的資料
PAGE111…PAGE11K、PAGE121…PAGE12K、PAGE1N1…PAGE1NK、PAGE211…PAGE21K、PAGE221…PAGE22K、PAGE2N1…PAGE2NK‧‧‧頁
S502、S504‧‧‧步驟
S702、S704‧‧‧步驟
T1、T2、T3、T4‧‧‧時段
第1圖圖解根據本發明一種實施方式所實現的一資料儲存裝置102,其與一主機104溝通;第2圖更圖解所揭露之資料整併操作; 第3圖依照時序描述第一套快取空間Cache1_CE1、Cache1_CE2...Cache1_CEN以及第二套快取空間Cache2_CE1、Cache2_CE2...Cache2_CEN之使用方式;第4圖圖解各存取通道CE1...CEN之寫入區間;第5圖以流程圖方式圖解一快閃記憶體寫入操作,其中規劃有多套快取空間;第6圖依照時序描述單一套快取空間Cache1_CE1、Cache1_CE2...Cache1_CEN之使用方式;以及第7圖以流程圖方式圖解一快閃記憶體寫入操作,其中僅規劃單套快取空間。
以下敘述列舉本發明的多種實施例。以下敘述介紹本發明的基本概念,且並非意圖限制本發明內容。實際發明範圍應依照申請專利範圍界定之。
第1圖圖解根據本發明一種實施方式所實現的一資料儲存裝置102,其與一主機104溝通。資料儲存裝置102包括:一快閃記憶體(FLASH memory)106以及一控制器108。
此段落討論快閃記憶體106的設計。為了同時處理一個以上的操作指令,快閃記憶體106係採用多存取通道技術,其中,快閃記憶體106的複數個區塊(blocks)係劃分由複數個存取通道作存取。如圖中所示實施方式,快閃記憶體106是以多個晶片CE1、CE2...CEN(涉及chip enabled技術)實現多存取通道。單一晶片對應單一存取通道,以下將該些存取通道相應該些晶片CE1、CE2...CEN作同樣標號。各晶片提供有複數個區 塊(blocks)。各區塊具有複數頁(pages,標號PAGE111~PAGE2NK所示即「頁」)。儘管單一晶片同時段僅允許單一存取操作,但多晶片所形成的多存取通道設計使得快閃記憶體106同時可應付多個存取操作。
以下接著討論控制器108之設計。
控制器108耦接該快閃記憶體106,且包括:一運算單元110、一唯讀記憶體112以及一隨機存取記憶體114。唯讀記憶體112所載程式係由該運算單元110執行,作為該資料儲存裝置102之韌體(firmware)。隨機存取記憶體114在執行該韌體的該運算單元110規劃下供應至少一套快取空間(Cache Space,圖中實施例圖解兩套快取空間:第一套快取空間Cache1_CE1、Cache1_CE2...Cache1_CEN;以及第二套快取空間Cache2_CE1、Cache2_CE2...Cache2_CEN)。各套快取空間係針對上述複數個存取通道CE1、CE2...CEN分別提供一個「快閃記憶體寫入單位」的空間作資料整理。例如,第一套快取空間針對晶片CE1、CE2...CEN分別提供空間Cache1_CE1、Cache1_CE2...Cache1_CEN作資料整理,空間Cache1_CE1、Cache1_CE2...Cache1_CEN各自佔據一個「快閃記憶體寫入單位」。或者,參考第二套快取空間,其針對晶片CE1、CE2...CEN分別提供空間Cache2_CE1、Cache2_CE2...Cache2_CEN作資料整理,空間Cache2_CE1、Cache2_CE2...Cache2_CEN各自佔據一個「快閃記憶體寫入單位」。在一種實施方式中,「快閃記憶體寫入單位」為「寫入頁(super page)」,尺寸為K個「頁(page)」,K為一數量值。「寫入頁(super page)」設計使得K頁之寫入得以 由單一寫入指令實現,有效減少指令數量。
至於所述快取空間的使用,討論如下。運算單元110係令主機104下達的寫入資料分散對應上述複數個存取通道CE1、CE2...CEN,以對應暫存至一套上述快取空間(例如,第一套快取空間Cache1_CE1、Cache1_CE2...Cache1_CEN)與讀自該快閃記憶體106的資料作整併。待上述各個存取通道CE1、CE2...CEN都有一個「快閃記憶體寫入單位」之資料完成整理後(即,第一套快取空間Cache1_CE1、Cache1_CE2...Cache1_CEN寫滿後),該運算單元110係將整理完成的資料自上述第一套快取空間Cache1_CE1、Cache1_CE2...Cache1_CEN依照所屬之存取通道寫入該快閃記憶體106。特別是,複製第一套快取空間Cache1_CE1、Cache1_CE2...Cache1_CEN至該快閃記憶體106時,運算單元110可更切換成以第二套快取空間Cache2_CE1、Cache2_CE2...Cache2_CEN對該主機104新下達的寫入資料作整理。第一套快取空間Cache1_CE1、Cache1_CE2...Cache1_CEN以及第二套快取空間Cache2_CE1、Cache2_CE2...Cache2_CEN係交錯使用來作資料整理。
第2圖更圖解所述之資料整併操作,其中以第一套快取空間Cache1_CE1、Cache1_CE2...Cache1_CEN為例。主機104下達的寫入操作涉及邏輯位址HPAGEA、HPAGEB...HPAGEN。運算單元110係令該些邏輯位址HPAGEA、HPAGEB...HPAGEN分散對應不同的存取通道CE1、CE2...CEN,並據以將主機104所下達、關於該些邏輯位址 HPageA、HPageB...HPageN的寫入資料對應暫存至第一套快取空間Cache1_CE1、Cache1_CE2...Cache1_CEN。如圖所示,邏輯位址HPageA之寫入資料由空間Cache1_CE1暫存,邏輯位址HPageB之寫入資料由空間Cache1_CE2暫存...邏輯位址HPageN之寫入資料由空間Cache1_CEN暫存。至於僅需要局部寫入的邏輯位址-例如,一寫入操作之起始邏輯位址HPageA與終止邏輯位址HPageN-其無須更新之資料HPageA_Old、HPageN_Old須由快閃記憶體106複製至隨機存取記憶體114上對應的空間Cache1_CE1、Cache1_CEN與主機104下達之寫入資料作整併。如此一來,邏輯位址HPageA、HPageB...HPageN各自完整的快閃記憶體寫入單位之資料整理於第一套快取空間Cache1_CE1、Cache1_CE2...Cache1_CEN,得以依照所屬之存取通道CE1、CE2...CEN寫入該快閃記憶體106。第二套快取空間Cache2_CE1、Cache2_CE2...Cache2_CEN亦是依照同樣方式用來作資料整理。
第3圖依照時序描述第一套快取空間Cache1_CE1、Cache1_CE2...Cache1_CEN以及第二套快取空間Cache2_CE1、Cache2_CE2...Cache2_CEN之使用方式。時段T1,資料整理由第一套快取空間Cache1_CE1、Cache1_CE2...Cache1_CEN實現。時段T2,第一套快取空間Cache1_CE1、Cache1_CE2...Cache1_CEN的內容分別經存取通道CE1、CE2...CEN寫入快閃記憶體106。以第1圖為例,空間Cache1_CE1所整理得的「寫入頁(super page)」係經存取通道CE1寫入快閃記憶體106中K個區塊的K頁 PAGE111...PAGE11K;空間Cache1_CE2所整理得的「寫入頁」係經存取通道CE2寫入快閃記憶體106中K個區塊的K頁PAGE121...PAGE12K;以此類推至空間Cache1_CEN,其中整理得的「寫入頁(super page)」係經存取通道CEN寫入快閃記憶體106中K個區塊的K頁PAGE1N1...PAGE1NK。此外,時段T2中,資料整理的功能係切換由第二套快取空間Cache2_CE1、Cache2_CE2...Cache2_CEN實現。接著,時段T3,第二套快取空間Cache2_CE1、Cache2_CE2...Cache2_CEN的內容分別經存取通道CE1、CE2...CEN寫入快閃記憶體106。以第1圖為例,空間Cache2_CE1所整理得的「寫入頁(super page)」係經存取通道CE1寫入快閃記憶體106中K個區塊的K頁PAGE211...PAGE21K;空間Cache2_CE2所整理得的「寫入頁」係經存取通道CE2寫入快閃記憶體106中K個區塊的K頁PAGE221...PAGE22K;以此類推至空間Cache2_CEN,其中整理得的「寫入頁(super page)」係經存取通道CEN寫入快閃記憶體106中K個區塊的K頁PAGE2N1...PAGE2NK。此外,時段T3中,資料整理的功能切換回以第一套快取空間Cache1_CE1、Cache2_CE1...Cache1_CEN實現。
整理之,所揭露之技術對寫入操作之資料整理提供了專用的整理空間,並對整理時機有特別的設計。如此一來,快閃記憶體106可以更高效率利用其複數個存取通道,進而使效能提升。第4圖圖解各存取通道CE1...CEN之寫入區間。如圖所示,除了短暫的準備時間外,不同存取通道的寫入區間大多是重疊的。快閃記憶體106係以高效率使用其存取通道。
第5圖以流程圖方式圖解一快閃記憶體寫入操作,其中規劃有多套快取空間。步驟S502係以一隨機存取記憶體上規劃的一套快取空間作資料整理。步驟S504則是被反覆執行,其中將整理完成的該套快取空間的內容依照所屬存取通道寫入該快閃記憶體,並且切換以隨機存取記憶體上所規劃的另一套快取空間作資料整理。
然而,在隨機存取記憶體114空間有限的狀況下,所揭露技術也可僅規劃一套快取空間(例如,僅規劃Cache1_CE1、Cache1_CE2...Cache1_CEN)。第6圖依照時序描述單一套快取空間Cache1_CE1、Cache1_CE2...Cache1_CEN之使用方式。時段T1,資料整理由該套快取空間Cache1_CE1、Cache1_CE2...Cache1_CEN實現。時段T2,該套快取空間Cache1_CE1、Cache1_CE2...Cache1_CEN的內容分別經存取通道CE1、CE2...CEN寫入快閃記憶體106。以第1圖為例,空間Cache1_CE1所整理得的「寫入頁(super page)」係經存取通道CE1寫入快閃記憶體106中K個區塊的K頁PAGE111...PAGE11K;空間Cache1_CE2所整理得的「寫入頁」係經存取通道CE2寫入快閃記憶體106中K個區塊的K頁PAGE121...PAGE12K;以此類推至空間Cache1_CEN,所整理得的「寫入頁(super page)」係經存取通道CEN寫入快閃記憶體106中K個區塊的K頁PAGE1N1...PAGE1NK。時段T3,再度以該套快取空間Cache1_CE1、Cache1_CE2...Cache1_CEN實現資料整理。時段T4,該套快取空間Cache1_CE1、Caehe1_CE2...Caehe1_CEN的內容分別經通道CE1、CE2...CEN 寫入快閃記憶體106。以第1圖為例,空間Cache1_CE1所整理得的「寫入頁(super page)」係經存取通道CE1寫入快閃記憶體106中K個區塊的K頁PAGE211...PAGE21K;空間Cache1_CE2所整理得的「寫入頁」係經存取通道CE2寫入快閃記憶體106中K個區塊的K頁PAGE221...PAGE22K;以此類推至空間Cache1_CEN,所整理得的「寫入頁(super page)」係經存取通道CEN寫入快閃記憶體106中K個區塊的K頁PAGE2N1...PAGE2NK。相較於雙套快取空間的實施方式(第3圖),單套快取空間須待其內容全部寫入快閃記憶體106後方能對主機104新下達的寫入資料作整理,靈活度略差,但效果依然顯著。
第7圖以流程圖方式圖解一快閃記憶體寫入操作,其中僅規劃單套快取空間。步驟S702係以一隨機存取記憶體上規劃的單一套快取空間作資料整理。步驟S704係將整併完成的該單一套快取空間之內容依照所對應之存取通道分別寫入快閃記憶體。步驟S702、S704可被反覆執行。
以上實施例所揭露之資料儲存裝置可實現為記憶卡(memory card)、通用序列匯流排閃存裝置(USB flash device)、固態硬碟(SSD)...等產品。另外有一種實施方式是採多晶片封裝、將NAND FLASH晶片與控制晶片包成一顆晶片-稱為嵌入式快閃記憶體模組(eMMC)。
以上所揭露之內容可以程式化方式呈韌體實現。相關程式碼可載於唯讀記憶體112中,由運算單元110執行之。此外,除了以上所揭露之控制器108結構,其他採用同樣概念 控制快閃記憶體的技術都屬於本案所欲保護的範圍。本案更涉及快閃記憶體的控制方法,不限定以第1圖所示之控制器108結構實現。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
102‧‧‧資料儲存裝置
104‧‧‧主機
106‧‧‧快閃記憶體
108‧‧‧控制器
110‧‧‧運算單元
112‧‧‧唯讀處理器
114‧‧‧隨機存取記憶體
Cache1_CE1、Cache1_CE2...Caceh1_CEN‧‧‧第一套快取空間
Cache2_CE1、Cache2_CE2...Cacehe2_CEN‧‧‧第二套快取空間
CE1、CE2...CEN‧‧‧晶片/存取通道
PAGE111...PAGE11K、PAGE121...PAGE12K、 PAGE1N1...PAGE1NK、PAGE211...PAGE21K、 PAGE221...PAGE22K、PAGE2N1...PAGE2NK‧‧‧頁

Claims (8)

  1. 一種資料儲存裝置,包括:一快閃記憶體,具有複數個區塊、且各區塊具有複數頁,該等區塊係劃分由複數個存取通道作存取;以及耦接該快閃記憶體的一控制器,包括:一運算單元;一唯讀記憶體,所載程式由該運算單元執行,作為該資料儲存裝置之韌體;以及一隨機存取記憶體,在執行該韌體的該運算單元規劃下供應第一套快取空間,上述第一套快取空間係針對上述複數個存取通道分別提供寫入資料的暫存空間;其中:該運算單元係令一主機下達的寫入資料分散對應上述複數個存取通道,再於上述第一套快取空間中關於上述各個存取通道所對應的資料暫存空間均整理完成後,將上述第一套快取空間中對應各個存取通道整理完成的資料自該第一套快取空間依照所屬之存取通道寫入該快閃記憶體,並更規劃該隨機存取記憶體提供第二套快取空間;且在將上述第一套快取空間中對應各個存取通道整理完成的資料自該第一套快取空間依照所屬之存取通道寫入該快閃記憶體時,該運算單元係切換以上述第二套快取空間對該主機下達的寫入資料作整理。
  2. 如申請專利範圍第1項所述之資料儲存裝置,其中,快閃記憶體寫入單位之尺寸為K個上述頁,K為一數量值。
  3. 如申請專利範圍第2項所述之資料儲存裝置,其中,該運算單元係將整理完成之一個快閃記憶體寫入單位的資料依所屬之存取通道分散儲存至K個區塊。
  4. 如申請專利範圍第1項所述之資料儲存裝置,其中,該運算單元係令該主機下達的寫入資料分散對應上述複數個存取通道,並對應一套暫存於上述快取空間的資料作整併。
  5. 一種快閃記憶體控制方法,包括:將一快閃記憶體的複數個區塊劃分由複數個存取通道作存取,各區塊具有複數頁;於一隨機存取記憶體中規劃第一套快取空間,上述第一套快取空間係針對上述複數個存取通道分別提供寫入資料的暫存空間;令一主機下達的寫入資料分散對應上述複數個存取通道;於上述第一套快取空間中關於上述各個存取通道所對應的資料暫存空間均整理完成後,將上述第一套快取空間中對應各個存取通道整理完成的資料自該第一套快取空間依照所屬之存取通道寫入該快閃記憶體,並更於該隨機存取記憶體規劃第二套快取空間;且在將上述第一套快取空間中對應各個存取通道整理完成的資料自該第一套快取空間依照所屬之存取通道寫入該快閃記憶體時,切換以上述第二套快取空間對該主機下達的寫入資料作整理。
  6. 如申請專利範圍第5項所述之快閃記憶體控制方法,其 中,快閃記憶體寫入單位之尺寸為K個上述頁,K為一數量值。
  7. 如申請專利範圍第6項所述之快閃記憶體控制方法,其中係將整理完成之一個快閃記憶體寫入單位的資料依所屬之存取通道分散儲存至K個區塊。
  8. 如申請專利範圍第5項所述之快閃記憶體控制方法,其中令該主機下達的寫入資料分散對應上述複數個存取通道,並對應一套暫存於上述快取空間的資料作整併。
TW102107206A 2013-03-01 2013-03-01 資料儲存裝置與快閃記憶體控制方法 TWI520152B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
TW102107206A TWI520152B (zh) 2013-03-01 2013-03-01 資料儲存裝置與快閃記憶體控制方法
CN201310131428.5A CN104021094B (zh) 2013-03-01 2013-04-16 数据储存装置与快闪存储器控制方法
US14/100,627 US8984171B2 (en) 2013-03-01 2013-12-09 Data storage device and flash memory control method
US14/100,575 US9436599B2 (en) 2013-03-01 2013-12-09 Flash storage device and method including separating write data to correspond to plural channels and arranging the data in a set of cache spaces

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW102107206A TWI520152B (zh) 2013-03-01 2013-03-01 資料儲存裝置與快閃記憶體控制方法

Publications (2)

Publication Number Publication Date
TW201435910A TW201435910A (zh) 2014-09-16
TWI520152B true TWI520152B (zh) 2016-02-01

Family

ID=51421612

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102107206A TWI520152B (zh) 2013-03-01 2013-03-01 資料儲存裝置與快閃記憶體控制方法

Country Status (3)

Country Link
US (1) US9436599B2 (zh)
CN (1) CN104021094B (zh)
TW (1) TWI520152B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016119153A1 (zh) * 2015-01-28 2016-08-04 北京麓柏科技有限公司 一种闪存存储阵列的实现方法及装置
TWI556100B (zh) * 2015-10-26 2016-11-01 點序科技股份有限公司 快閃記憶體裝置及其交錯存取方法
KR20170059658A (ko) * 2015-11-23 2017-05-31 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US10185666B2 (en) * 2015-12-15 2019-01-22 Facebook, Inc. Item-wise simulation in a block cache where data eviction places data into comparable score in comparable section in the block cache
US11176049B2 (en) * 2020-03-17 2021-11-16 Silicon Motion, Inc. Flash memory controller mechanism capable of generating host-based cache information or flash-memory-based cache information to build and optimize binary tree with fewer nodes when cache stores data from host
US12008248B2 (en) 2021-07-13 2024-06-11 Samsung Electronics Co., Ltd. Systems, methods, and devices for utilization aware memory allocation

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100765786B1 (ko) * 2006-06-12 2007-10-12 삼성전자주식회사 플래시 메모리 시스템, 그 프로그램을 위한 호스트 시스템및 프로그램 방법
US20100125695A1 (en) * 2008-11-15 2010-05-20 Nanostar Corporation Non-volatile memory storage system
CN101740102B (zh) * 2008-11-11 2014-03-26 西安奇维测控科技有限公司 一种多通道闪存芯片阵列结构及其写入和读出方法
CN101740103A (zh) * 2008-11-11 2010-06-16 西安奇维测控科技有限公司 一种多通道闪存控制器
KR101581679B1 (ko) * 2009-03-18 2015-12-31 삼성전자주식회사 저장 장치 및 저장 장치의 버퍼 메모리 관리 방법
KR101543246B1 (ko) * 2009-04-24 2015-08-11 삼성전자주식회사 데이터 저장 장치의 동작 방법 및 이에 따른 데이터 저장 장치
KR101581857B1 (ko) * 2009-08-06 2015-12-31 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 인터리브 유닛 구성 방법
TWI506422B (zh) * 2009-09-23 2015-11-01 Silicon Motion Inc 用來管理具有多通道、多途徑的記憶裝置之方法以及相關之記憶裝置及其控制器
CN102122266A (zh) * 2010-01-12 2011-07-13 联咏科技股份有限公司 高速内存系统
KR101678868B1 (ko) * 2010-02-11 2016-11-23 삼성전자주식회사 플래시 주소 변환 장치 및 그 방법
TWI434175B (zh) * 2010-09-27 2014-04-11 Silicon Motion Inc 用來進行區塊管理之方法以及記憶裝置及控制器
US20130297858A1 (en) * 2012-04-19 2013-11-07 Stec, Inc. Systems and methods for providing channel buffer in a solid-state device
TWI529730B (zh) * 2013-03-01 2016-04-11 慧榮科技股份有限公司 資料儲存裝置與快閃記憶體控制方法

Also Published As

Publication number Publication date
CN104021094B (zh) 2016-12-28
US20140250258A1 (en) 2014-09-04
CN104021094A (zh) 2014-09-03
US9436599B2 (en) 2016-09-06
TW201435910A (zh) 2014-09-16

Similar Documents

Publication Publication Date Title
Cheong et al. A flash memory controller for 15μs ultra-low-latency SSD using high-speed 3D NAND flash with 3μs read time
TWI520152B (zh) 資料儲存裝置與快閃記憶體控制方法
CN104423894B (zh) 数据储存装置以及快闪存储器控制方法
US7937523B2 (en) Memory system with nonvolatile semiconductor memory
US8595414B2 (en) Selectively combining commands for a system having non-volatile memory
TWI506422B (zh) 用來管理具有多通道、多途徑的記憶裝置之方法以及相關之記憶裝置及其控制器
US20140032820A1 (en) Data storage apparatus, memory control method and electronic device with data storage apparatus
US8656090B2 (en) Method for performing block management, and associated memory device and controller thereof
JP2008152788A (ja) 不揮発性データ保存装置に備わった仮想ファイルシステムの作業スケジューリング方法及び装置
KR20180049148A (ko) 비휘발성 메모리에서 비동기 다이 동작을 위한 방법 및 시스템
US20110069526A1 (en) High performance solid-state drives and methods therefor
JP2015026379A (ja) 磁気ランダムアクセスメモリ(mram)を使用する記憶デバイスのメモリアレイのコントローラ管理
US10754785B2 (en) Checkpointing for DRAM-less SSD
CN102819408A (zh) 可动态调整条带深度的raid 0的实现方法及系统
US10365834B2 (en) Memory system controlling interleaving write to memory chips
CN104575595B (zh) 非易失性随机存取的存储装置
TWI698744B (zh) 資料儲存裝置及邏輯至物理位址映射表之更新方法
TWI529730B (zh) 資料儲存裝置與快閃記憶體控制方法
JP2011175632A (ja) 半導体記憶装置及び半導体記憶装置の制御方法
TWI687811B (zh) 資料儲存裝置及系統資訊的編程方法
CN101930407A (zh) 闪速存储器控制电路及其存储系统与数据传输方法
US20150254011A1 (en) Memory system, memory controller and control method of non-volatile memory
Sung et al. Increasing multi-controller parallelism for hybrid-mapped flash translation layers
TWI472919B (zh) 改善快閃記憶儲存裝置輸入的方法
TWI434284B (zh) 主動式快閃管理之方法以及相關之記憶裝置及其控制器