TWI584117B - 資料儲存裝置及用於快閃記憶體之資料讀取方法 - Google Patents
資料儲存裝置及用於快閃記憶體之資料讀取方法 Download PDFInfo
- Publication number
- TWI584117B TWI584117B TW103117734A TW103117734A TWI584117B TW I584117 B TWI584117 B TW I584117B TW 103117734 A TW103117734 A TW 103117734A TW 103117734 A TW103117734 A TW 103117734A TW I584117 B TWI584117 B TW I584117B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- read
- flash memory
- controller
- mapping table
- Prior art date
Links
Description
本發明係有關於快閃記憶體,特別是有關於具有快閃記憶體之資料儲存裝置及快閃記憶體之資料讀取方法。
快閃記憶體為一種普遍的非揮發性資料儲存裝置,係以電性方式抹除與程式化。以非及閘型的快閃記憶體(即NAND FLASH)為例,常用作記憶卡(memory card)、通用序列匯流排閃存裝置(USB flash device)、固態硬碟(SSD)、嵌入式快閃記憶體模組(eMMC)…等使用。
快閃記憶體(如,NAND FLASH)的儲存陣列包括複數個區塊(blocks),例如是備用區塊及資料區塊。各區塊包括複數頁(pages)。當欲寫入資料至快閃記憶體時,其中間資料會暫存於備用區塊中的一目前緩衝區塊中。當該目前緩衝區塊的所有分頁均寫入資料後,該區塊才會成為資料區塊。在對快閃記憶體進行隨機讀取時,目前緩衝區塊中仍可能暫存有欲讀取之資料。然而,傳統的快閃記憶體控制器往往需要依序判斷欲讀取的資料位於目前緩衝區塊或是資料區塊中,這會造成讀取效能的損耗。
本發明係提供一種資料儲存裝置,耦接至一主機,該資料儲存裝置包括:一快閃記憶體;以及一控制器,用以控制該快閃記憶體之存取,其中當該主機對該快閃記憶體進行一隨機讀取動作時,該控制器係先依據該控制器之一全域映射表取得欲讀取之一第一資料在該快閃記憶體中之一相關資料區塊及一相關資料分頁的位址資訊,並依據該位址資訊由該快閃記憶體中預先讀取該相關分頁,其中當該控制器取得該位址資訊時,該控制器更同時依據該控制器之一區域映射表以判斷所欲讀取的該第一資料是否位於一目前緩衝區塊;其中當欲讀取的該第一資料位於該目前緩衝區塊,該控制器更取消預先讀取的該相關分頁,並由該目前緩衝區塊中讀取該第一資料。
本發明更提供一種快閃記憶體之資料讀取方法,用於耦接至一主機之資料儲存裝置,其中該資料儲存裝置包括一快閃記憶體及一控制器,該資料讀取方法包括:當該主機對該快閃記憶體進行一隨機讀取動作時,依據該控制器之一全域映射表取得欲讀取之一第一資料在該快閃記憶體中之一相關資料區塊及一相關資料分頁的位址資訊,並依據該位址資訊由該快閃記憶體中預先讀取該相關分頁,其中當該控制器取得該位址資訊時,同時依據該控制器之一區域映射表以判斷所欲讀取的該第一資料是否位於一目前緩衝區塊;其中當欲讀取的該第一資料位於該目前緩衝區塊,取消預先讀取的該相關分頁,並由該目前緩衝區塊中讀取該第一資料。
100‧‧‧電子系統
110‧‧‧主機
120‧‧‧資料儲存裝置
130‧‧‧快閃記憶體
140‧‧‧控制器
142‧‧‧運算單元
144‧‧‧記憶體單元
146‧‧‧搜尋電路
147‧‧‧全域映射表
148‧‧‧區域映射表
150‧‧‧備用區塊池
160‧‧‧資料區塊池
151-15n‧‧‧備用區塊
161-16m‧‧‧資料區塊
S210-S270‧‧‧步驟
第1圖係本發明之一種實施例之電子系統之方塊圖。
第2圖係顯示依據本發明一實施例中之快閃記憶體之資料讀取方法的流程圖。
為使本發明之上述目的、特徵和優點能更明顯易懂,下文特舉一較佳實施例,並配合所附圖式,作詳細說明如下。
第1圖係本發明之一種實施例之電子系統之方塊圖。電子系統100包括一主機110以及一資料儲存裝置120。資料儲存裝置120包括一快閃記憶體130以及一控制器140,且可根據主機110所下達的命令操作。控制器140包括一運算單元142以及一記憶體單元(如,唯讀記憶體ROM、隨機存取記憶體SRAM、暫存器等等)144。記憶體單元144與所載之程式碼、資料組成韌體(firmware),由運算單元142執行,使控制器140基於該韌體控制該快閃記憶體130。快閃記憶體130包括複數區塊(block),並且每一區塊包括複數分頁(page)。在一實施例中,運算單元142係可由一中央處理器(central processing unit)或一般用途處理器(general purpose processor)所實現。
在一實施例中,快閃記憶體130包括備用區塊池(spare block pool)150以及資料區塊池(data block pool)160。備用區塊池150包括用以儲存無效資料的複數備用區塊151~15n。資料區塊池160包括用以儲存資料的複數資料區塊161~16m。在一實施例中,控制器140根據主機110所送出的指令管理快閃記憶體130內之區塊。快閃記憶體130係根據一實體
位址指定一區塊,而主機110係根據一邏輯位址指定一區塊。因此,控制器140必須將主機110所送出的邏輯位址轉換成一實體位址。在一實施例中,控制器140將區塊的邏輯位址及實體位址間的對應關係紀錄在至少一位址聯結表,例如是一全域映射表(global mapping table)147及一區域映射表(local mapping table)148,其中全域映射表147例如是一主機至快閃記憶體表(host-to-flash table),區域映射表148例如是一快閃記憶體至主機表(flash-to-host table)。在一實施例中,全域映射表147及區域映射表148係儲存於記憶體單元130中。
每一個資料區塊161~16m包括複數分頁。當資料儲存在資料區塊的一分頁時,該分頁被稱為一資料分頁。當該分頁具有一對應的邏輯位址時,該分頁稱為有效分頁。在一實施例中,全域映射表147係記錄來自主機110之資料在快閃記憶體130中之實體位址的聯結關係。區域映射表148係記錄在快閃記憶體130中之目前緩衝區塊(current buffer block)中所記錄的主機110之資料分頁。一般而言,全域映射表147所儲存之資料聯結關係之數量遠大於區域映射表148。
當目前緩衝區塊中之分頁均記錄來自主機110之資料後,則該目前緩衝區塊則成為一資料區塊(data block),且該資料區塊在快閃記憶體130中之邏輯位址(logical address)至實體位址(physical address)的聯結關係則會寫入至該全域映射表147。
在一實施例中,當主機110欲寫入資料至快閃記憶體130時,控制器140係依據全域映射表147將資料正確地寫入
至快閃記憶體130中之目前緩衝區塊(current buffer block),而且會更新區域映射表148中寫入快閃記憶體130之目前緩衝區塊的資料分頁的狀態。更進一步而言,當目前緩衝區塊中之所有分頁均記錄了來自主機110的資料時,控制器140則會將該目前緩衝區塊設定為一資料區塊,並同時更新全域映射表147中的資料區塊的聯結關係,且清空儲存有先前的目前緩衝區塊的區域映射表148。
在一實施例中,控制器140更包括一搜尋電路146,用以逐一比對區域映射表148中所記錄之位址,藉以判斷所要讀取的資料是否在目前緩衝區塊中。當主機110中之運算單元142欲進行隨機資料讀取,控制器140會先讀取區域映射表148以判斷所要讀取的資料是否在目前緩衝區塊中。若是,則直接由目前緩衝區塊中讀取資料。若否,則控制器140會由全域映射表147中取得該資料在快閃記憶體130中的實體位址(例如在區塊B的分頁B),並接著由快閃記憶體130中的實體位址讀取資料。需注意的是,在控制器140由全域映射表147查詢實體位址之前,控制器140需先發送主機至快閃記憶體的讀取(read)指令,且快閃記憶體130在準備就緒可讓控制器140讀取資料前需等待一段繁忙時間(busy time)。若主機110所要讀取的資料無法查詢區域映射表148所得到,則控制器140需再發送出讀取指令,等待快閃記憶體130準備就緒(意即等待繁忙時間)才能讀取資料。
在另一實施例中,當主機110中之中央處理器(CPU)或硬體欲進行隨機資料讀取,控制器140中之運算單元142係依
據H2F表所記錄之聯結關係直接由快閃記憶體130預先讀取資料(例如直接讀取區塊B之分頁B),且搜尋電路146並可同時比對F2H表中之位址資料以判斷所要讀取的主機分頁(host page)資料是否在目前緩衝區塊中。若是,控制器140係取消預先讀取的資料,運算單元142則會再發出一讀取指令並由目前緩衝區塊中取出所要的資料。若否,控制器140則直接由預先讀取的資料(例如區塊B之分頁B)取出所要的資料。此實施例中可幾乎同時進行由快閃記憶體130預先讀取資料以及比對區域映射表148中之位址資料的動作,相較於前述實施例中需依序進行該兩個動作,能大幅節省由快閃記憶體130進行隨機讀取時的運算時間。需注意的是,在此實施例中由快閃記憶體130預先讀取資料以及比對區域映射表148中之位址資料此兩個動作之順序可互換,因這兩個動作幾乎是同時進行,且均是需要較長的運算時間或等待時間的動作,故將此兩個動作並行處理,可節省由快閃記憶體130進行隨機讀取時的運算時間。
第2圖係顯示依據本發明一實施例中用於快閃記憶體之資料讀取方法的流程圖。如第2圖所示,控制器140之運算單元142由全域映射表中取得第一資料在快閃記憶體130中包括一相關區塊及一相關分頁之一位址資訊(步驟S210),並由利用該位址資訊由快閃記憶體130中預先讀取該第一資料之該相關分頁(例如將資料讀取至控制器140之一讀出快取緩衝器(未繪示))(步驟S220)。接著,控制器140中之搜尋電路146係比對在該區域映射表148中是否記錄有與該第一資料相關之位址資訊(步驟S230),並判斷所要讀取之第一資料是否在快閃記憶
體130之一目前緩衝區塊中(步驟S240)。若是,控制器140之運算單元142係取消預先讀取的該相關分頁(步驟S250),並由該目前緩衝區塊中讀取該第一資料(步驟S260)。若否,控制器140之運算單元142係由預先讀取之該相關分頁中直接讀取該第一資料(步驟S270)。
本發明雖以較佳實施例揭露如上,然其並非用以限定本發明的範圍,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100‧‧‧電子系統
110‧‧‧主機
120‧‧‧資料儲存裝置
130‧‧‧快閃記憶體
140‧‧‧控制器
142‧‧‧運算單元
144‧‧‧記憶體單元
146‧‧‧搜尋電路
147‧‧‧全域映射表
148‧‧‧區域映射表
150‧‧‧備用區塊池
160‧‧‧資料區塊池
151-15n‧‧‧備用區塊
161-16m‧‧‧資料區塊
Claims (8)
- 一種資料儲存裝置,耦接至一主機,該資料儲存裝置包括:一快閃記憶體;以及一控制器,用以控制該快閃記憶體之存取;其中當該主機對該快閃記憶體進行一隨機讀取動作時,該控制器係先依據該控制器之一全域映射表取得欲讀取之一第一資料在該快閃記憶體中之一相關資料區塊及一相關資料分頁的位址資訊,並依據該位址資訊由該快閃記憶體中預先讀取該相關分頁;其中預先讀取之該相關分頁係儲存於該控制器之一緩衝器中;其中當該控制器取得該位址資訊時,該控制器更同時依據該控制器之一區域映射表以判斷所欲讀取的該第一資料是否位於該快閃記憶體之一目前緩衝區塊;其中當欲讀取的該第一資料位於該目前緩衝區塊,該控制器更取消預先讀取的該相關分頁,並由該目前緩衝區塊中讀取該第一資料;其中當該第一資料並未位於該目前緩衝區塊,該控制器係直接由預先讀取之該相關分頁取得該第一資料。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該全域映射表係記錄該主機與該快閃記憶體之一邏輯位址至一實體位址的映射關係,且該區域映射表係記錄該目前緩衝區塊儲存來自該主機之資料的分頁狀態。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該控制器 更包括:一運算單元,用以由該全域映射表中取得欲讀取之該第一資料的該位址資訊;以及一搜尋電路,用以比對在該區域映射表中是否記錄有與該第一資料相關之位址資訊,藉以判斷欲讀取的該第一資料是否位於該目前緩衝區塊。
- 如申請專利範圍第1項所述之資料儲存裝置,其中當欲讀取的該第一資料位於該目前緩衝區塊,該控制器係先發送一讀取指令至該快閃記憶體,藉以由該目前緩衝區塊讀取該第一資料。
- 一種快閃記憶體之資料讀取方法,用於耦接至一主機之資料儲存裝置,其中該資料儲存裝置包括一快閃記憶體及一控制器,該資料讀取方法包括:當該主機對該快閃記憶體進行一隨機讀取動作時,依據該控制器之一全域映射表取得欲讀取之一第一資料在該快閃記憶體中之一相關資料區塊及一相關資料分頁的位址資訊,並依據該位址資訊由該快閃記憶體中預先讀取該相關分頁,其中預先讀取之該相關分頁係儲存於該控制器之一緩衝器中;其中當該控制器取得該位址資訊時,同時依據該控制器之一區域映射表以判斷所欲讀取的該第一資料是否位於該快閃記憶體之一目前緩衝區塊; 其中當欲讀取的該第一資料位於該目前緩衝區塊,取消預先讀取的該相關分頁,並由該目前緩衝區塊中讀取該第一資料;以及當欲讀取的該第一資料不位於該目前緩衝區塊,直接由預先讀取之該相關分頁取得該第一資料。
- 如申請專利範圍第5項所述之資料讀取方法,其中該全域映射表係記錄該主機與該快閃記憶體之一邏輯位址至一實體位址的映射關係,且該區域映射表係記錄該目前緩衝區塊儲存來自該主機之資料的分頁狀態。
- 如申請專利範圍第5項所述之資料讀取方法,其中該控制器更包括:一運算單元,由該全域映射表中取得欲讀取之該第一資料的該位址資訊;以及一搜尋電路,用以比對在該區域映射表中是否記錄有與該第一資料相關之位址資訊,藉以判斷欲讀取的該第一資料是否位於該目前緩衝區塊。
- 如申請專利範圍第5項所述之資料讀取方法,更包括:當欲讀取的該第一資料位於該目前緩衝區塊,該控制器係先發送一讀取指令至該快閃記憶體,藉以由該目前緩衝區塊讀取該第一資料。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/302,692 US9563551B2 (en) | 2013-06-20 | 2014-06-12 | Data storage device and data fetching method for flash memory |
CN201410274627.6A CN104239229B (zh) | 2013-06-20 | 2014-06-19 | 数据储存装置及用于快闪存储器的数据读取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361837515P | 2013-06-20 | 2013-06-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201500923A TW201500923A (zh) | 2015-01-01 |
TWI584117B true TWI584117B (zh) | 2017-05-21 |
Family
ID=52717937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103117734A TWI584117B (zh) | 2013-06-20 | 2014-05-21 | 資料儲存裝置及用於快閃記憶體之資料讀取方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI584117B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI798726B (zh) * | 2021-06-18 | 2023-04-11 | 慧榮科技股份有限公司 | 快閃記憶體的資料讀取方法及快閃記憶體控制器與電子裝置 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106547480B (zh) * | 2015-09-17 | 2019-04-12 | 慧荣科技股份有限公司 | 数据储存装置及其数据读取方法 |
TWI615771B (zh) * | 2015-09-17 | 2018-02-21 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料讀取方法 |
TWI646460B (zh) | 2016-06-20 | 2019-01-01 | 慧榮科技股份有限公司 | 資料處理電路與資料處理方法 |
TWI616755B (zh) * | 2016-09-06 | 2018-03-01 | 宏碁股份有限公司 | 儲存裝置及其資料映射方法 |
CN108959108B (zh) | 2017-05-26 | 2021-08-24 | 上海宝存信息科技有限公司 | 固态硬盘访问方法以及使用该方法的装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5809515A (en) * | 1992-06-22 | 1998-09-15 | Hitachi, Ltd. | Semiconductor storage device in which instructions are sequentially fed to a plurality of flash memories to continuously write and erase data |
US20030204675A1 (en) * | 2002-04-29 | 2003-10-30 | Dover Lance W. | Method and system to retrieve information from a storage device |
TW589536B (en) * | 2002-10-25 | 2004-06-01 | Inventec Besta Co Ltd | Memory operating method and device |
US20120268994A1 (en) * | 2009-11-06 | 2012-10-25 | Hiroyuki Nagashima | Memory system |
US8407407B1 (en) * | 2009-10-06 | 2013-03-26 | Marvell International Ltd. | Solid state drive access control system with equalized access timing |
-
2014
- 2014-05-21 TW TW103117734A patent/TWI584117B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5809515A (en) * | 1992-06-22 | 1998-09-15 | Hitachi, Ltd. | Semiconductor storage device in which instructions are sequentially fed to a plurality of flash memories to continuously write and erase data |
US20030204675A1 (en) * | 2002-04-29 | 2003-10-30 | Dover Lance W. | Method and system to retrieve information from a storage device |
TW589536B (en) * | 2002-10-25 | 2004-06-01 | Inventec Besta Co Ltd | Memory operating method and device |
US8407407B1 (en) * | 2009-10-06 | 2013-03-26 | Marvell International Ltd. | Solid state drive access control system with equalized access timing |
US20120268994A1 (en) * | 2009-11-06 | 2012-10-25 | Hiroyuki Nagashima | Memory system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI798726B (zh) * | 2021-06-18 | 2023-04-11 | 慧榮科技股份有限公司 | 快閃記憶體的資料讀取方法及快閃記憶體控制器與電子裝置 |
Also Published As
Publication number | Publication date |
---|---|
TW201500923A (zh) | 2015-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI584117B (zh) | 資料儲存裝置及用於快閃記憶體之資料讀取方法 | |
US9563551B2 (en) | Data storage device and data fetching method for flash memory | |
US10255192B2 (en) | Data storage device and data maintenance method thereof | |
JP5585919B2 (ja) | 電源遮断管理 | |
KR101300657B1 (ko) | 비휘발성 메모리 및 버퍼 메모리를 포함하는 메모리 시스템및 그것의 데이터 읽기 방법 | |
US11126544B2 (en) | Method and apparatus for efficient garbage collection based on access probability of data | |
TWI692690B (zh) | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 | |
TWI690803B (zh) | 能夠快速產生或更新有效頁數目對照表之內容的快閃記憶體控制器、方法及對應的儲存裝置 | |
US20110231598A1 (en) | Memory system and controller | |
US10599345B2 (en) | Memory device that writes data into a block based on time passage since erasure of data from the block | |
US20180275921A1 (en) | Storage device | |
JP2007058840A5 (zh) | ||
US11086568B2 (en) | Memory system for writing fractional data into nonvolatile memory | |
US9396141B2 (en) | Memory system and information processing device by which data is written and read in response to commands from a host | |
US11068177B2 (en) | Data storage devices and data processing methods for shortening time required for a host device to wait for initialization of the data storage device | |
TWI659304B (zh) | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 | |
JP6167646B2 (ja) | 情報処理装置、制御回路、制御プログラム、および制御方法 | |
US9378130B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
CN113590503A (zh) | 一种非挥发性记忆体存储器的垃圾回收方法与垃圾回收系统 | |
US11237984B2 (en) | Memory system, memory controller and operating method thereof | |
US11625195B2 (en) | Memory system and operating method of memory system storing doorbell information in the buffer memory | |
TWI831444B (zh) | 在以快閃記憶體為基礎的儲存裝置中快取位址映射資訊的方法與裝置 | |
TWI824761B (zh) | 在以快閃記憶體為基礎的儲存裝置中快取位址映射資訊的方法與裝置 | |
US11687284B2 (en) | Memory system with memory controller | |
US11704235B2 (en) | Memory system and storage device |