TWI744806B - 通用快閃儲存記憶體模組、控制器及具有進階倍速寫入緩衝器之電子裝置,以及用於操作記憶體模組之方法 - Google Patents
通用快閃儲存記憶體模組、控制器及具有進階倍速寫入緩衝器之電子裝置,以及用於操作記憶體模組之方法 Download PDFInfo
- Publication number
- TWI744806B TWI744806B TW109106093A TW109106093A TWI744806B TW I744806 B TWI744806 B TW I744806B TW 109106093 A TW109106093 A TW 109106093A TW 109106093 A TW109106093 A TW 109106093A TW I744806 B TWI744806 B TW I744806B
- Authority
- TW
- Taiwan
- Prior art keywords
- buffer area
- register
- memory module
- shared buffer
- shared
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本發明係關於一種通用快閃儲存記憶體模組、一種控制器及一種具有進階倍速寫入緩衝器之電子裝置,以及操作該記憶體模組之方法。該通用快閃儲存(UFS)記憶體模組包含:一輸入/輸出介面,其包括:用於自一主機接收一參考時脈信號之一時脈引腳、用於自該主機接收資料之一對差分輸入引腳,及用於將資料發送至該主機之一對差分輸出引腳;一快閃記憶體,其包括:一寫入緩衝器部分,及具有複數個邏輯單元之一正常儲存部分;及一控制器,其包括:一處理器、指示該寫入緩衝器部分之一最大大小之一第一暫存器、指示該寫入緩衝器部分之一可用大小之一第二暫存器,及指示該UFS記憶體模組係處於一共用緩衝模式抑或一進階模式之一第三暫存器;其中若該第三暫存器指示該UFS記憶體模組是否處於該共用緩衝模式,則該寫入緩衝器部分僅包括一第一共用緩衝區域;且若該第三暫存器指示該UFS記憶體模組處於該進階模式,則該寫入緩衝器部分包括至少一個專用緩衝區域,每個專用緩衝區域對應於該複數個邏輯單元中之一者。
Description
本發明大體上係關於一種儲存裝置,且詳言之但非排他地係關於一種通用快閃儲存(Universal Flash Storage;UFS)記憶體模組。
通用快閃儲存(UFS)記憶體模組用於諸如智慧型電話等電子裝置之資料儲存。UFS記憶體模組通常包括於包含儲存空間及控制器之電子裝置中。
為了加速UFS記憶體模組之寫入操作,儲存空間可包括倍速寫入(Turbo Write)緩衝器及正常儲存部分。倍速寫入緩衝器經組態以具有高於正常儲存部分之寫入速度。自電子裝置接收到之資料將暫時儲存於倍速寫入緩衝器中,且接著清空至正常儲存部分中,以便穩定地保存於UFS記憶體模組中。藉此可提高UFS記憶體模組之寫入速度。
正常儲存部分通常被劃分成多個部分,其中各部分可為用於資料儲存之邏輯單元。本發明之一個目標為提出用於配置正常儲存部分之一或多個寫入緩衝器之機制。例如,寫入緩衝器可經組態以專用於一邏輯單元或可經組態以由複數個邏輯單元共用。
在一些實施例中,UFS記憶體模組包含:輸入/輸出介面,其包括:用於自主機接收參考時脈信號之時脈引腳、用於自主機接收資料之一對差分輸入引腳,及用於將資料發送至主機之一對差分輸出引腳;快閃記憶體,其包括:寫入緩衝器部分,及具有複數個邏輯單元之正常儲存部分;及控制器,其包括:處理器、指示寫入緩衝器部分之最大大小之第一暫存器、指示寫入緩衝器部分之可用大小之第二暫存器,及指示UFS記憶體模組係處於共用緩衝模式抑或進階模式之第三暫存器;其中若第三暫存器指示UFS記憶體模組處於共用緩衝模式,則寫入緩衝器部分僅包括第一共用緩衝區域;且若第三暫存器指示UFS記憶體模組處於進階模式,則寫入緩衝器部分包括至少一個專用緩衝區域,每個專用緩衝區域對應於該複數個邏輯單元中之一者。
在一些實施例中,若第三暫存器指示UFS記憶體模組處於共用緩衝模式,則該控制器進一步包括指示第一共用緩衝區域之使用狀態之第四暫存器。若第三暫存器指示UFS記憶體模組處於進階模式,則該控制器進一步包括複數個第五暫存器,每個第五暫存器用於複數個邏輯單元中之一者,且每個第五暫存器指示用於對應邏輯單元之專用緩衝區域之大小。
在一些實施例中,若第三暫存器指示UFS記憶體模組處於進階模式,則寫入緩衝器部分可進一步包括第二共用緩衝區域,且該控制器可進一步包括用於至少一個專用緩衝區域之至少一個第六暫存器,每個第六暫存器用於至少一個專用緩衝區域中之一者,且每個第六暫存器指示專用緩衝區域之大小。該控制器進一步包括指示第二共用緩衝區域之使用狀態之第七暫存器及複數個第八暫存器,每個第八暫存器用於該複數個邏輯單元中之一者,且每個第八暫存器指示邏輯單元是否使用第二共用緩衝區域。
在一些實施例中,快閃記憶體之控制器包括寫入緩衝器部分及具有複數個邏輯單元之正常儲存部分,該控制器包含:處理器;指示寫入緩衝器部分之最大大小之第一暫存器;指示寫入緩衝器部分之可用大小之第二暫存器;及指示快閃記憶體係處於共用緩衝模式抑或進階模式之第三暫存器;其中若第三暫存器指示快閃記憶體處於共用緩衝模式,則寫入緩衝器部分僅包括第一共用緩衝區域;且若第三暫存器指示快閃記憶體處於進階模式,則寫入緩衝器部分包括至少一個專用緩衝區域,每個專用緩衝區域對應於該複數個邏輯單元中之一者。
在一些實施例中,若第三暫存器指示快閃記憶體處於共用緩衝模式,則該控制器進一步包括指示第一共用緩衝區域之使用狀態之第四暫存器。若第三暫存器指示快閃記憶體處於進階模式,則該控制器進一步包括複數個第五暫存器,每個第五暫存器用於該複數個邏輯單元中之一者,且每個第五暫存器指示用於對應邏輯單元之專用緩衝區域之大小。
在一些實施例中,若第三暫存器指示快閃記憶體處於進階模式,則寫入緩衝器部分可進一步包括第二共用緩衝區域,且該控制器可進一步包括用於至少一個專用緩衝區域之至少一個第六暫存器,每個第六暫存器用於至少一個專用緩衝區域中之一者,且每個第六暫存器指示專用緩衝區域之大小。該控制器可進一步包括指示第二共用緩衝區域之使用狀態之第七暫存器及複數個第八暫存器,每個第八暫存器用於該複數個邏輯單元中之一者,且每個第八暫存器指示邏輯單元是否使用第二共用緩衝區域。若邏輯單元既不使用專用緩衝區域亦不使用共用緩衝區域,則邏輯單元之第八暫存器指示邏輯單元使用大小為0之專用緩衝器。
在又一實施例中,提供包含上文所描述之UFS記憶體模組之電子裝置。
在一些實施例中,提供用於操作UFS記憶體模組之方法。UFS記憶體模組包括具有寫入緩衝器部分及正常儲存部分之快閃記憶體,其中寫入緩衝器部分具有專用緩衝區域及共用緩衝區域。該方法包含:自主機接收第一資料以儲存於快閃記憶體之正常儲存部分中;將第一資料寫入至快閃記憶體之寫入緩衝器部分之共用緩衝區域中;自主機接收第二資料以儲存於快閃記憶體之正常儲存部分中;將第二資料寫入至快閃記憶體之寫入緩衝器部分之專用緩衝區域中;及將第一資料及第二資料清空至快閃記憶體之正常儲存部分中。
本發明之此等及其他態樣在下文參考附圖進一步描述。在閱讀各種圖及圖式中所說明之實施例的以下詳細描述之後,本發明之其他目標將無疑對一般熟習此項技術者變得明顯。
參考附圖來詳細地描述本發明之實施例。僅出於使得熟習此項技術者能夠較佳地理解且因此實施本發明之目的而論述以下實施例,而非表明對本發明之範疇之任何限制。貫穿本說明書對特徵、優點或類似語言的參考並不暗示可由本發明實現的所有特徵及優點應處於或處於本發明的任何單個實施例中。實際上,指代特徵及優點之語言應理解為意謂結合實施例描述之特定特徵、優點或特性包括在本發明之至少一個實施例中。此外,在一或多個實施例中,可用任何合適的方式組合本發明之所描述特徵、優點及特性。熟習相關技術者將認識到,可在無特定實施例之特定特徵或優點中之一或多者的情況下來實踐本發明。在其他情況下,可在可能未存在於本發明之所有實施例中的某些實施例中認識到額外特徵及優點。
圖1為示意性地說明根據本發明之一些實施例之通用快閃儲存(UFS)記憶體模組100之一個實例的方塊圖。UFS記憶體模組100可包括於主機,諸如電子裝置(未展示)中。一般而言,主機可為行動電話或其他攜帶型電子裝置。UFS記憶體模組100包含連接至主機之輸入/輸出介面10、快閃記憶體50,及控制器30。控制器30電連接至UFS記憶體模組100之輸入/輸出介面10及快閃記憶體50。快閃記憶體50亦電連接至輸入/輸出介面10,使得經由輸入/輸出介面10自主機接收到之資料可儲存於UFS記憶體模組100之快閃記憶體50中。
在一些實施例中,輸入/輸出介面10包括用於自主機接收參考時脈信號之時脈引腳、用於自主機接收資料之一對差分輸入引腳,及用於將資料發送至主機之一對差分輸出引腳。
快閃記憶體50包含寫入緩衝器部分52及具有複數個邏輯單元之正常儲存部分54。自主機接收到之資料將暫時儲存於寫入緩衝器部分52中,且接著清空至具有該複數個邏輯單元之正常儲存部分54中。然後,將資料穩定地儲存於正常儲存部分54之一或多個邏輯單元中。
在一些較佳實施例中,快閃記憶體50由多位準胞元或三位準胞元形成。然而,快閃記憶體50之一部分經配置為寫入緩衝器部分52且用作單位準胞元。因此,將資料寫入至寫入緩衝器部分52中之速度及寫入緩衝器部分52之回應速度明顯高於快閃記憶體50中用作多位準胞元或三位準胞元之任何其他部分。此配置實現倍速寫入操作。
控制器30包含處理器32及複數個暫存器34。處理器32經組態以處理自主機接收到之指令或資料並產生回應於主機之資訊。例如,若主機發送指令以執行倍速寫入操作,則處理器32可實現寫入緩衝器部分52且選擇合適的邏輯單元以用於儲存資料。另舉一例,若主機發送清空命令,則處理器32可使得資料能夠自寫入緩衝器部分52清空至正常儲存部分54。暫存器34可儲存於控制器30中之一個實體記憶體模組中,或可分配至控制器30中之多於一個實體記憶體模組。儲存於暫存器34中之內容指示寫入緩衝器部分52之狀態或資訊。
暫存器34可包括裝置層級暫存器及邏輯單元層級暫存器。裝置層級暫存器係儲存UFS記憶體模組及UFS記憶體模組之寫入緩衝器之資訊。邏輯單元層級暫存器儲存邏輯單元及邏輯單元之緩衝區域之資訊。例如,控制器30具有預先組態以指示寫入緩衝器部分之最大大小之裝置層級暫存器。基本上,基於控制器30之能力及其他設計因素而判定寫入緩衝器部分52之最大大小。因此,指示寫入緩衝器部分之最大大小之裝置層級暫存器之內容在UFS記憶體模組100之操作期間將不改變。
控制器30具有預先組態以指示寫入緩衝器部分之可用大小之另一裝置層級暫存器。寫入緩衝器部分52之可用大小大體上由包括UFS記憶體模組10之電子裝置設定或由電子裝置之設計者判定。因此,指示寫入緩衝器部分52之可用大小之裝置層級暫存器之內容在UFS記憶體模組100之操作期間將不改變。此外,可用大小等於或小於寫入緩衝器部分之最大大小。
控制器30具有經組態以指示UFS記憶體模組係處於共用緩衝模式抑或進階模式之又一裝置層級暫存器。應瞭解,UFS記憶體模組之控制器可包括上文未描述之更多裝置層級暫存器。在審查本發明後,一般熟習此項技術者意識到可存在配置於控制器中以用於儲存UFS記憶體模組及UFS記憶體模組之寫入緩衝器之資訊的其他裝置層級暫存器。在以下段落中進一步描述邏輯單元層級暫存器。
在一些實施例中,若UFS記憶體模組50處於共用緩衝模式,則寫入緩衝器部分52僅包括一個共用緩衝區域,其由一或多個邏輯單元共用。在此狀況下,控制器30進一步包括經組態以指示共用緩衝區域之使用狀態之裝置層級暫存器。例如,指示共用緩衝區域之使用狀態之暫存器可表示為共用緩衝區域之剩餘大小。當共用緩衝區域之剩餘大小不夠時,主機可請求控制器30起始倍速寫入緩衝器清空操作,以便將儲存於寫入緩衝器部分52中之資料清空至正常儲存部分54中。藉此,寫入緩衝器部分52再次為空且準備好寫入。應瞭解,共用緩衝器之使用狀態可以除共用緩衝區域之剩餘大小之外的形式表示。例如,其可表示為共用緩衝區域中已利用部分之百分比。
圖 2
為示意性地說明根據本發明之一些實施例之當UFS記憶體模組處於共用緩衝模式時寫入緩衝器部分之配置的方塊圖。在此等實施例中,正常儲存部分之所有邏輯單元212、214、216、218及220共用一個緩衝區域(亦即,共用緩衝區域202)。待儲存於UFS記憶體模組之任何邏輯單元中的自主機接收到之資料暫時儲存於共用緩衝區域202中,同時啟用倍速寫入操作。當使用狀態指示共用緩衝區域202之剩餘大小足夠時,將待儲存資料依序寫入至共用緩衝區域202中。當使用狀態指示共用緩衝區域202之剩餘大小不夠時,主機可發送指令以起始倍速寫入緩衝器清空操作。一旦起始倍速寫入緩衝器清空操作,就將共用緩衝區域202中之資料清空至正常儲存部分中。亦即,將儲存於共用緩衝區域202中之資料分配至對應邏輯單元中且穩定地儲存於其中。
舉例而言,若共用緩衝區域之大小為2 GB且將大小為2.4 GB之一批資料自主機發送至UFS記憶體模組,則可將資料指派給複數個邏輯單元(例如,邏輯單元212、214及218)。待儲存於邏輯單元212、214及218中之資料可為800 MB、800 MB及800 MB。當將資料依序寫入至共用緩衝區域202中時,在將邏輯單元212之資料寫入至共用緩衝區域202中之後,共用緩衝區域202之剩餘大小自2 GB變為1200 MB,且接著共用緩衝區域202之剩餘大小在將邏輯單元214之資料寫入至共用緩衝區域202中之後自800 MB變為400 MB。然後,共用緩衝區域202之剩餘大小並不足以寫入待儲存於具有800 MB之大小之邏輯單元218中的資料。作為回應,主機可發送指令以起始倍速寫入緩衝器清空操作,使得共用緩衝區域202中之所有資料(亦即,邏輯單元212之資料及邏輯單元214之資料)將清空至正常儲存部分中之對應邏輯單元(亦即,邏輯單元212及214)中。藉此,共用緩衝區域202將為空且共用緩衝區域202之剩餘大小變為2 GB。接著,待儲存於邏輯單元218中之資料將寫入至共用緩衝區域202中。若主機發現資料不再寫入至共用緩衝區域202,則其可發送指令以再次起始倍速寫入緩衝器清空操作。且接著,邏輯單元212、214及218之寫入操作結束。然後,可將新一批資料自主機發送至UFS記憶體模組。若藉由主機啟用倍速寫入操作,則該新一批資料將寫入至如上文所提及之共用緩衝區域202中;否則,該新一批資料將直接寫入至正常儲存部分。
請再次參考圖 1
。若UFS記憶體模組處於進階模式,則寫入緩衝器部分包括一個或複數個專用緩衝區域;每個專用緩衝區域對應於該複數個邏輯單元中之一者。應注意,專用緩衝區域之數目可小於邏輯單元之數目,此意謂一些邏輯單元可不具有專用緩衝區域。控制器進一步包括指示用於邏輯單元之專用緩衝區域之大小的複數個邏輯單元層級暫存器。在一些實施例中,處於進階模式之寫入緩衝器部分可進一步包括除專用緩衝區域以外的共用緩衝區域。在此狀況下,控制器可包括指示該一或多個專用緩衝區域之一或多個大小之一或多個邏輯單元層級暫存器,且可進一步包括經組態以指示共用緩衝區域之使用狀態之邏輯單元層級暫存器。另外,控制器進一步包括複數個邏輯單元層級暫存器,各自指示邏輯單元是否使用共用緩衝區域。
圖 3
展示根據本發明之一些實施例之當UFS記憶體模組處於進階模式時寫入緩衝器部分之配置。在此實施例中,將寫入緩衝器部分劃分成複數個專用緩衝區域(例如,專用緩衝區域302、304及306),且未配置共用緩衝區域。每個專用緩衝區域專用於一個邏輯單元且可具有不同大小。例如,專用緩衝區域302專用於邏輯單元312且具有512 MB之大小;專用緩衝區域304專用於邏輯單元314且具有512 MB之大小;且專用緩衝區域306專用於邏輯單元316且具有1 GB之大小。在此狀況下,一些邏輯單元(例如,邏輯單元318及320)可不具有專用緩衝區域且因此可不支援倍速寫入操作。
圖 4
為展示根據本發明之一些實施例之配置於圖3中所描繪之寫入緩衝器部分中之緩衝區域之類型及大小的表格。在當前實施例中,寫入緩衝器部分處於進階模式,且僅包括專用緩衝器。表格內容儲存於UFS記憶體模組之控制器之邏輯單元層級暫存器中。特定言之,欄位邏輯單元之「模式」中之每個方框對應於指示用於邏輯單元之緩衝區域類型之邏輯單元層級暫存器。舉例而言,若暫存器儲存位元「0」,則邏輯單元利用之緩衝區域為共用緩衝區域;暫存器儲存位元「1」,邏輯單元利用之緩衝區域並非共用緩衝區域(亦即,邏輯單元使用專用緩衝區域或不使用緩衝區域)。欄位邏輯單元之「大小」中之每個方框對應於指示邏輯單元之專用緩衝區域之大小或由邏輯單元使用的共用緩衝區域之剩餘大小的邏輯單元層級暫存器。
因此,配置於用於邏輯單元之寫入緩衝器部分中之緩衝區域之類型及大小可明確由圖4之表格識別。自圖4之表格可見,邏輯單元312具有大小為512 MB之專用緩衝區域302;邏輯單元314具有大小為512 MB之專用緩衝區域304;且邏輯單元316具有大小為1 GB之專用緩衝區域306。在圖4中,邏輯單元318及320之專用緩衝器之大小指示為零,此意謂專用緩衝區域未指派給邏輯單元318及320。
應瞭解,專用緩衝區域中之每一者可具有相同大小或不同大小。在當前實施例中,專用緩衝器之大小之總和應等於寫入緩衝器部分之可用大小。例如,在此實施例中,倍速寫入緩衝器之可用大小為2 GB,且每個專用緩衝區域之大小之總和512 MB (對應於邏輯單元312) + 512 MB (對應於邏輯單元314) + 1 GB (對應於邏輯單元316) + 0 MB (對應於邏輯單元318) + 0 MB (對應於邏輯單元320)等於2 GB。
亦應瞭解,在某些情況下,若未利用共用緩衝區域,則圖4之表格中之行「模式」可因此省略。在此狀況下,經設計用於儲存行「模式」中方框之內容之暫存器可用於其他目的。
圖 5
展示根據本發明之一些實施例之當UFS記憶體模組處於進階模式時寫入緩衝器部分之配置。在此實施例中,將寫入緩衝器部分劃分成複數個專用緩衝區域(例如,專用緩衝區域502及504)及共用緩衝區域(例如,共用緩衝器506)。每個專用緩衝區域專用於一個邏輯單元且可具有相同或不同大小。例如,專用緩衝區域502專用於邏輯單元514且具有512 MB之大小;且專用緩衝區域504專用於邏輯單元516且具有512 MB之大小。共用緩衝器506具有1 G之大小且由邏輯單元512及520共用。緩衝區域未指派給邏輯單元518且因此邏輯單元518並不支援倍速寫入操作。應瞭解,根據本發明,可存在其他數目之專用緩衝區域且可存在多於一個共用緩衝區域。寫入緩衝器部分之配置不限於上述實例。
圖 6
為展示根據本發明之一些實施例之配置於圖5中所描繪之寫入緩衝器部分中之緩衝區域之類型及大小的表格。在當前實施例中,寫入緩衝器部分處於進階模式,且包括複數個專用緩衝器及一個共用緩衝區域。表格內容儲存於UFS記憶體模組之控制器之邏輯單元層級暫存器中。特定言之,欄位邏輯單元之「模式」中之每個方框對應於指示用於邏輯單元之緩衝區域之類型之邏輯單元層級暫存器。舉例而言,若暫存器儲存位元「0」,則邏輯單元利用之緩衝區域為共用緩衝區域;若暫存器儲存位元「1」,則邏輯單元利用之緩衝區域並非共用緩衝區域(亦即,邏輯單元使用專用緩衝區域或不使用緩衝區域)。對於具有專用緩衝區域之邏輯單元,欄位邏輯單元之「大小」中之方框對應於指示邏輯單元之專用緩衝區域之大小的邏輯單元層級暫存器。對於使用共用緩衝區域之邏輯單元,欄位邏輯單元之「大小」中之方框對應於指示共用緩衝區域之使用狀態之邏輯單元層級暫存器。使用狀態可表示為共用緩衝區域之剩餘大小,或可表示為共用緩衝區域之已利用部分之百分比。
因此,配置於用於邏輯單元之寫入緩衝器部分中之緩衝區域之類型及大小可明確由圖6之表格識別。自圖6之表格可見,邏輯單元512使用剩餘大小為1 GB之共用緩衝區域506;邏輯單元514具有大小為512 MB之專用緩衝區域502;且邏輯單元516具有大小為512 MB之專用緩衝區域504。在圖6中,邏輯單元518之專用緩衝器之大小指示為零,此意謂未指派專用緩衝區域給邏輯單元518。
應瞭解,專用緩衝區域中之每一者可具有相同大小或不同大小。亦應瞭解,根據本發明,寫入緩衝器部分中可存在其他數目之專用緩衝區域且可存在零個、一或多個共用緩衝區域。寫入緩衝器部分之配置不限於上述實例。
在一些狀況下,當將一批資料自主機發送至UFS記憶體模組時,資料可指派給一或多個邏輯單元(例如,邏輯單元512及520)。由於邏輯單元512及520對應於共用緩衝區域506,因此將待儲存於邏輯單元512及520中之資料依序寫入至共用緩衝區域506中。一旦有資料寫入至共用緩衝區域506中,就使用了共用緩衝區域506之一部分。因此,指示共用緩衝區域506之使用狀態之邏輯單元層級暫存器之內容改變。舉例而言,若待寫入至邏輯單元512中之資料為300 MB,待寫入至邏輯單元520中之資料為200 MB,且共用緩衝區域506之剩餘大小為1 GB,則圖6中欄位邏輯單元512之「大小」中方框之內容在將邏輯單元512之資料寫入至共用緩衝區域506中之後自1 GB變為700 MB;且接著圖6中欄位邏輯單元520之「大小」中方框之內容在將邏輯單元520之資料寫入至共用緩衝區域506中之後自700 MB變為500 MB。若主機發現資料不再寫入至共用緩衝區域506,則其可發送指令以再次起始倍速寫入緩衝器清空操作。亦即,共用緩衝區域506中之所有資料(亦即,邏輯單元512及520之資料)將清空至正常儲存部分中之對應邏輯單元(亦即,邏輯單元512及520)中。且接著,邏輯單元512及520之寫入操作結束。
在一些狀況下,當將一批資料自主機發送至UFS記憶體模組時,資料可指派給一或多個邏輯單元(例如,邏輯單元516)。將待儲存於邏輯單元514及516中之資料依序寫入至共用緩衝區域502及專用緩衝區域504中。若該批資料已經完全寫入至寫入緩衝器部分中,則主機可發送指令以起始倍速寫入緩衝器清空操作。然後,可將新一批資料自主機發送至UFS記憶體模組。
圖7說明根據本發明之一些實施例之用於操作UFS記憶體模組之方法之流程圖。如圖7中所描繪,方法700包括以下步驟:
步驟702:接收第一資料以儲存於正常儲存部分中;
步驟704:將第一資料寫入至共用緩衝區域中;
步驟706:接收第二資料以儲存於正常儲存部分中;
步驟708:將第二資料寫入至專用緩衝區域中;且
步驟710:將第一資料及第二資料清空至正常儲存部分中。
應瞭解,其中本發明之一個基本特徵為待儲存於正常儲存部分中之自主機接收到之資料可暫時儲存於共用緩衝區域及/或專用緩衝區域中且接著清空至正常儲存部分中。一般熟習此項技術者將理解可調整上述步驟之次序。例如,步驟706可在步驟704之前執行且步驟708可在步驟704之前執行。一般熟習此項技術者亦將理解,圖7中之一些步驟可組合成一個步驟(例如,可組合步驟702及706),且一些步驟可經劃分(例如,步驟710可劃分成一個用於清空第一資料之步驟及一個用於清空第二資料之步驟)。根據本發明,用於操作UFS記憶體模組之方法不限於圖7中所展示之實施例。
可看出,共用緩衝區域及專用緩衝器具有其自身優點。共用緩衝區域提供用於配置用於複數個邏輯單元之寫入緩衝器部分的更為節約空間的方式。另一方面,對於專用緩衝區域之倍速寫入操作相較於對於共用緩衝區域之倍速寫入操作較簡單。專用緩衝區域之大小可等於其對應邏輯單元之大小。在此配置下,不同於共用緩衝區域,控制器不需要改變專用緩衝區域之使用狀態。此外,主機不需要一直觀察緩衝區域之使用狀態,且可在所有資料寫入至寫入緩衝器部分中之後發送指令以用於起始倍速寫入緩衝器清空操作。
本發明提供UFS記憶體模組之寫入緩衝器部分之配置。UFS記憶體模組可處於共用緩衝模式,其中僅共用緩衝區域包括於寫入緩衝器部分中,或UFS記憶體模組可處於進階模式,其中專用緩衝區域包括於寫入緩衝器部分中。因此,本發明提供一種更為靈活的配置:將倍速寫入緩衝器指派給快閃記憶體之正常儲存部分之邏輯單元,以便與UFS記憶體模組之使用相適應。
對本發明所說明實施例之以上描述(包括摘要中所描述的內容)並不意欲為窮盡性的或將本發明限於所揭示之精確形式。儘管本文中出於說明性目的來描述本發明之特定實例,但如熟習相關技術者將認識到,在本發明之範疇內,各種修改係可能的。
根據以上詳細描述,可對本發明作出此等修改。在以下申請專利範圍中所使用之術語不應被視為將本發明限於本說明書中所揭示之特定實例。實情為,本發明之範疇應完全由以下申請專利範圍來判定,申請專利範圍將根據申請專利範圍解譯之已確立原則來解釋。
10:輸入/輸出介面
30:控制器
32:處理器
34:暫存器
50:快閃記憶體
52:寫入緩衝器部分
54:正常儲存部分
100:通用快閃儲存(UFS)記憶體模組
202:共用緩衝區域
212:邏輯單元
214:邏輯單元
216:邏輯單元
218:邏輯單元
220:邏輯單元
302:專用緩衝區域
304:專用緩衝區域
306:專用緩衝區域
312:邏輯單元
314:邏輯單元
316:邏輯單元
318:邏輯單元
320:邏輯單元
502:專用緩衝區域
504:專用緩衝區域
506:共用緩衝區域
512:邏輯單元
514:邏輯單元
516:邏輯單元
518:邏輯單元
520:邏輯單元
700:方法
702:步驟
704:步驟
706:步驟
708:步驟
710:步驟
圖 1
為示意性地說明根據本發明之一些實施例之通用快閃儲存(UFS)記憶體模組之一個實例的方塊圖。
圖 2
為示意性地說明根據本發明之一些實施例之當UFS記憶體模組處於共用緩衝模式時寫入緩衝器部分之配置的圖。
圖 3
為示意性地說明根據本發明之一些實施例之當UFS記憶體模組處於進階模式時寫入緩衝器部分之配置的圖。
圖 4
為展示根據本發明之一些實施例之配置於圖3中所描繪之寫入緩衝器部分中之緩衝區域之類型及大小的表格。
圖 5
為示意性地說明根據本發明之一些實施例之當UFS記憶體模組處於進階模式時寫入緩衝器部分之配置的圖。
圖 6
為展示根據本發明之一些實施例之配置於圖5中所描繪之寫入緩衝器部分中之緩衝區域之類型及大小的表格。
圖 7
說明根據本發明之一些實施例之用於操作UFS記憶體模組之方法之流程圖。
10:輸入/輸出介面
30:控制器
32:處理器
34:暫存器
50:快閃記憶體
52:寫入緩衝器部分
54:正常儲存部分
Logic unit:邏輯單元
Claims (20)
- 一種通用快閃儲存(UFS)記憶體模組,其包含:一輸入/輸出介面,其包括:一時脈引腳,其用於自一主機接收一參考時脈信號;一對差分輸入引腳,其用於自該主機接收資料;及一對差分輸出引腳,其用於將資料發送至該主機;一快閃記憶體,其包括:一寫入緩衝器部分;及一正常儲存部分,其具有複數個邏輯單元;及一控制器,其包括:一處理器;一第一暫存器,其指示該寫入緩衝器部分之一最大大小;一第二暫存器,其指示該寫入緩衝器部分之一可用大小;及一第三暫存器,其指示該UFS記憶體模組係處於一共用緩衝模式抑或一進階模式;其中若該第三暫存器指示該UFS記憶體模組處於該共用緩衝模式,則該寫入緩衝器部分僅包括一第一共用緩衝區域;且若該第三暫存器指示該UFS記憶體模組處於該進階模式,則該寫入緩衝器部分包括至少一個專用緩衝區域,每個專用緩衝區域對應於該複數個邏輯單元中之一者。
- 如請求項1之UFS記憶體模組,其中若該第三暫存器指示該UFS記憶體模組處於該共用緩衝模式,則該控制器進一步包括指示該第一共用緩衝 區域之一使用狀態之一第四暫存器。
- 如請求項2之UFS記憶體模組,其中該第一共用緩衝區域之該使用狀態可表示為該第一共用緩衝區域之一剩餘大小。
- 如請求項2之UFS記憶體模組,其中該第一共用緩衝區域之該使用狀態可表示為該第一共用緩衝區域之一已利用部分之一百分比。
- 如請求項1之UFS記憶體模組,其中若該第三暫存器指示該UFS記憶體模組處於該進階模式,則該控制器進一步包括複數個第五暫存器,每個第五暫存器用於該複數個邏輯單元中之一者,且每個第五暫存器指示用於一對應邏輯單元之一專用緩衝區域之大小。
- 如請求項1之UFS記憶體模組,其中若該第三暫存器指示該UFS記憶體模組處於該進階模式,則該寫入緩衝器部分進一步包括一第二共用緩衝區域。
- 如請求項6之UFS記憶體模組,其中該控制器進一步包括用於該至少一個專用緩衝區域之至少一個第六暫存器,每個第六暫存器用於該至少一個專用緩衝區域中之一者,且每個第六暫存器指示一專用緩衝區域之大小。
- 如請求項6之UFS記憶體模組,其中該控制器進一步包括指示該第二 共用緩衝區域之一使用狀態之一第七暫存器。
- 如請求項8之UFS記憶體模組,其中該第二共用緩衝區域之該使用狀態可表示為該第二共用緩衝區域之一剩餘大小。
- 如請求項8之UFS記憶體模組,其中該第二共用緩衝區域之該使用狀態可表示為該第二共用緩衝區域之一已利用部分之一百分比。
- 如請求項6之UFS記憶體模組,其中該控制器進一步包括複數個第八暫存器,每個第八暫存器用於該複數個邏輯單元中之一者,且每個第八暫存器指示一邏輯單元是否使用該第二共用緩衝區域。
- 一種一快閃記憶體之控制器,該快閃記憶體包括一寫入緩衝器部分及具有複數個邏輯單元之一正常儲存部分,該控制器包含:一處理器;一第一暫存器,其指示該寫入緩衝器部分之一最大大小;一第二暫存器,其指示該寫入緩衝器部分之一可用大小;及一第三暫存器,其指示該快閃記憶體係處於一共用緩衝模式抑或一進階模式;其中若該第三暫存器指示該快閃記憶體處於該共用緩衝模式,則該寫入緩衝器部分僅包括一第一共用緩衝區域;且若該第三暫存器指示該快閃記憶體處於該進階模式,則該寫入緩衝器部分包括至少一個專用緩衝區域,每個專用緩衝區域對應於該複數個邏輯單元中之一者。
- 如請求項12之控制器,其中若該第三暫存器指示該快閃記憶體處於該共用緩衝模式,則該控制器進一步包括指示該第一共用緩衝區域之一使用狀態之一第四暫存器。
- 如請求項13之控制器,其中該第一共用緩衝區域之該使用狀態可表示為該第一共用緩衝區域之一剩餘大小。
- 如請求項13之控制器,其中該第一共用緩衝區域之該使用狀態可表示為該第一共用緩衝區域之一已利用部分之一百分比。
- 如請求項12之控制器,其中若該第三暫存器指示該快閃記憶體處於該進階模式,則該控制器進一步包括複數個第五暫存器,每個第五暫存器用於該複數個邏輯單元中之一者,且每個第五暫存器指示用於一對應邏輯單元之一專用緩衝區域之大小。
- 如請求項12之控制器,其中若該第三暫存器指示該快閃記憶體處於該進階模式,則該寫入緩衝器部分進一步包括一第二共用緩衝區域。
- 如請求項17之控制器,其中該控制器進一步包括用於該至少一個專用緩衝區域之至少一個第六暫存器,每個第六暫存器用於該至少一個專用緩衝區域中之一者,且每個第六暫存器指示一專用緩衝區域之大小。
- 一種電子裝置,其包含如請求項1之UFS記憶體模組。
- 一種用於操作一UFS記憶體模組之方法,該UFS記憶體模組包括具有一寫入緩衝器部分及一正常儲存部分之一快閃記憶體,該寫入緩衝器部分具有一專用緩衝區域及一共用緩衝區域,該方法包含:自一主機接收第一資料以儲存於該快閃記憶體之該正常儲存部分中;將該第一資料寫入至該快閃記憶體之該寫入緩衝器部分之該共用緩衝區域中;自該主機接收第二資料以儲存於該快閃記憶體之該正常儲存部分中;將該第二資料寫入至該快閃記憶體之該寫入緩衝器部分之該專用緩衝區域中;及將該第一資料及該第二資料清空至該快閃記憶體之該正常儲存部分中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/288,361 US10802750B2 (en) | 2019-02-28 | 2019-02-28 | Universal flash storage memory module, controller and electronic device with advanced turbo write buffer and method for operating the memory module |
US16/288,361 | 2019-02-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202038083A TW202038083A (zh) | 2020-10-16 |
TWI744806B true TWI744806B (zh) | 2021-11-01 |
Family
ID=72237001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109106093A TWI744806B (zh) | 2019-02-28 | 2020-02-25 | 通用快閃儲存記憶體模組、控制器及具有進階倍速寫入緩衝器之電子裝置,以及用於操作記憶體模組之方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10802750B2 (zh) |
CN (1) | CN111625182B (zh) |
TW (1) | TWI744806B (zh) |
WO (1) | WO2020173192A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102650809B1 (ko) * | 2019-08-02 | 2024-03-26 | 삼성전자주식회사 | 스토리지 장치 및 그것의 동작 방법 |
US11269524B2 (en) * | 2019-10-07 | 2022-03-08 | Samsung Electronics Co., Ltd. | Methods and systems for managing data transfer between a UFS host and a UFS target |
TWI787627B (zh) * | 2020-07-02 | 2022-12-21 | 慧榮科技股份有限公司 | 電子裝置、快閃記憶體控制器及其存取方法 |
TW202227958A (zh) * | 2020-12-10 | 2022-07-16 | 宜鼎國際股份有限公司 | 可將資料上鏈的資料儲存裝置及方法 |
CN117472294B (zh) * | 2023-12-28 | 2024-04-09 | 合肥康芯威存储技术有限公司 | 一种存储器及其数据处理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8225067B2 (en) * | 2009-02-10 | 2012-07-17 | Phison Electronics Corp. | Multilevel cell NAND flash memory storage system, and controller and access method thereof |
US20140013035A1 (en) * | 2008-09-30 | 2014-01-09 | Micron Technology, Inc. | Solid state storage device controller with expansion mode |
US8924627B2 (en) * | 2011-03-28 | 2014-12-30 | Western Digital Technologies, Inc. | Flash memory device comprising host interface for processing a multi-command descriptor block in order to exploit concurrency |
US20170336978A1 (en) * | 2012-12-21 | 2017-11-23 | Intel Corporation | Techniques to Configure a Solid State Drive to Operate in a Storage Mode or a Memory Mode |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2567379A4 (en) * | 2010-05-07 | 2014-01-22 | Mosaid Technologies Inc | METHOD AND DEVICE FOR SIMULTANEOUSLY READING MULTIPLE MEMORY DEVICES WITH THE AID OF A SINGLE BUFFER |
JP2013077278A (ja) | 2011-09-16 | 2013-04-25 | Toshiba Corp | メモリ・デバイス |
JP5824472B2 (ja) * | 2013-04-25 | 2015-11-25 | 京セラドキュメントソリューションズ株式会社 | メモリーアクセス制御システム及び画像形成装置 |
US9385962B2 (en) * | 2013-12-20 | 2016-07-05 | Intel Corporation | Method and system for flexible credit exchange within high performance fabrics |
KR20160073834A (ko) | 2014-12-17 | 2016-06-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템 동작 방법 |
US10180908B2 (en) * | 2015-05-13 | 2019-01-15 | Qualcomm Incorporated | Method and apparatus for virtualized control of a shared system cache |
US11016770B2 (en) * | 2015-09-19 | 2021-05-25 | Microsoft Technology Licensing, Llc | Distinct system registers for logical processors |
US10133664B2 (en) * | 2016-04-27 | 2018-11-20 | Silicon Motion Inc. | Method, flash memory controller, memory device for accessing 3D flash memory having multiple memory chips |
CN106295373B (zh) | 2016-08-23 | 2019-02-19 | 记忆科技(深圳)有限公司 | 一种基于m-phy接口实现的数据传输加密装置 |
CN106453730B (zh) | 2016-12-22 | 2019-07-26 | 珠海市魅族科技有限公司 | 一种智能卡及终端设备 |
KR102395190B1 (ko) * | 2017-07-31 | 2022-05-06 | 삼성전자주식회사 | 호스트와 인터페이스를 수행하는 스토리지 장치, 호스트 및 스토리지 장치의 동작방법 |
CN107332670A (zh) | 2017-08-11 | 2017-11-07 | 北京中天信安科技有限责任公司 | 基于ufs接口的安全控制装置、系统、方法和移动设备 |
KR102387935B1 (ko) * | 2017-10-23 | 2022-04-15 | 삼성전자주식회사 | 공용 메모리 영역 및 전용 메모리 영역을 포함하는 데이터 저장 장치 |
US10726879B2 (en) * | 2017-12-08 | 2020-07-28 | Samsung Electronics Co., Ltd. | Low-power data transfer from buffer to flash memory |
US11409436B2 (en) * | 2018-08-08 | 2022-08-09 | Micron Technology, Inc. | Buffer management in memory systems for read and write requests |
-
2019
- 2019-02-28 US US16/288,361 patent/US10802750B2/en active Active
- 2019-12-19 WO PCT/CN2019/126666 patent/WO2020173192A1/en active Application Filing
-
2020
- 2020-02-25 TW TW109106093A patent/TWI744806B/zh active
- 2020-02-25 CN CN202010116676.2A patent/CN111625182B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140013035A1 (en) * | 2008-09-30 | 2014-01-09 | Micron Technology, Inc. | Solid state storage device controller with expansion mode |
US8225067B2 (en) * | 2009-02-10 | 2012-07-17 | Phison Electronics Corp. | Multilevel cell NAND flash memory storage system, and controller and access method thereof |
US8924627B2 (en) * | 2011-03-28 | 2014-12-30 | Western Digital Technologies, Inc. | Flash memory device comprising host interface for processing a multi-command descriptor block in order to exploit concurrency |
US20170336978A1 (en) * | 2012-12-21 | 2017-11-23 | Intel Corporation | Techniques to Configure a Solid State Drive to Operate in a Storage Mode or a Memory Mode |
Also Published As
Publication number | Publication date |
---|---|
US10802750B2 (en) | 2020-10-13 |
WO2020173192A1 (en) | 2020-09-03 |
TW202038083A (zh) | 2020-10-16 |
CN111625182A (zh) | 2020-09-04 |
CN111625182B (zh) | 2023-08-15 |
US20200278806A1 (en) | 2020-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI744806B (zh) | 通用快閃儲存記憶體模組、控制器及具有進階倍速寫入緩衝器之電子裝置,以及用於操作記憶體模組之方法 | |
US8606988B2 (en) | Flash memory control circuit for interleavingly transmitting data into flash memories, flash memory storage system thereof, and data transfer method thereof | |
US7937523B2 (en) | Memory system with nonvolatile semiconductor memory | |
KR100708128B1 (ko) | 낸드 플래시 메모리 제어 장치 및 방법 | |
US9983799B2 (en) | Trim command processing method, memory control circuit unit and memory storage apparatus | |
KR100673013B1 (ko) | 메모리 컨트롤러 및 그것을 포함한 데이터 처리 시스템 | |
US7356646B2 (en) | Memory card using NAND flash memory and its operating method | |
US20060064537A1 (en) | Memory card having a storage cell and method of controlling the same | |
US8510502B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
US8321633B2 (en) | Memory card and method for storing data on memory card | |
TWI790456B (zh) | 記憶體定址方法及相關聯的控制器 | |
US7831755B2 (en) | Method and system for interfacing a plurality of memory devices using an MMC/SD protocol | |
US7313670B2 (en) | Data processing system and slave device | |
US20070028037A1 (en) | Memory system with automatic dual-buffering | |
US9081664B2 (en) | Memory system capable of preventing data destruction | |
US20190187927A1 (en) | Buffer systems and methods of operating the same | |
US20200073595A1 (en) | Flash memory controller capable of improving IOPS performance and corresponding method | |
CN110874333A (zh) | 存储设备及存储方法 | |
US10719461B2 (en) | Solid state device with distributed bit buckets | |
CN109935252B (zh) | 存储器装置及其操作方法 | |
KR20090053164A (ko) | 상태 정보를 관리하는 플래시 메모리 제어 장치 및 방법 | |
JP2021043909A (ja) | メモリシステム、コントローラおよびデータ転送方法 | |
CN111341367A (zh) | 一种存储设备的控制方法及存储设备、电子设备 | |
CN117632809B (zh) | 存储器控制器、数据读取方法及存储装置 | |
KR101175250B1 (ko) | 낸드 플래시 메모리 장치와 그의 컨트롤러 및 이들의 라이트 오퍼레이션 방법 |