TWI456393B - 資料讀取方法、記憶體控制器與記憶體儲存裝置 - Google Patents
資料讀取方法、記憶體控制器與記憶體儲存裝置 Download PDFInfo
- Publication number
- TWI456393B TWI456393B TW101149591A TW101149591A TWI456393B TW I456393 B TWI456393 B TW I456393B TW 101149591 A TW101149591 A TW 101149591A TW 101149591 A TW101149591 A TW 101149591A TW I456393 B TWI456393 B TW I456393B
- Authority
- TW
- Taiwan
- Prior art keywords
- logical
- logical address
- range
- memory
- address
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6022—Using a prefetch buffer or dedicated prefetch cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6026—Prefetching based on access pattern detection, e.g. stride based prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Claims (26)
- 一種資料讀取方法,用於一可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組包括多個實體抹除單元,該資料讀取方法包括:配置多個邏輯位址以映射至部分的該些實體抹除單元;接收來自一主機系統的多個第一讀取指令,其中該些第一讀取指令指示讀取該些邏輯位址中的多個第一邏輯位址;執行該些第一讀取指令,並且判斷該些第一邏輯位址是否為連續;以及若該些第一邏輯位址為連續,從該些實體抹除單元中預讀取屬於該些邏輯位址中一第一邏輯範圍的資料至一緩衝記憶體。
- 如申請專利範圍第1項所述之資料讀取方法,更包括:接收來自於該主機系統的一第二讀取指令,其中該第二讀取指令指示讀取該些邏輯位址中的一第二邏輯位址;判斷該第二邏輯位址是否在該些邏輯位址中的一預定範圍內,其中該預定範圍包括該第一邏輯範圍;若該第二邏輯位址在該預定範圍內,判斷該第二邏輯位址是否為該第一邏輯範圍的一起始邏輯位址;以及若該第二邏輯位址為該起始邏輯位址,則傳送屬於該第二邏輯位址的資料給該主機系統。
- 如申請專利範圍第2項所述之資料讀取方法,更包括:若該第二邏輯位址為該起始邏輯位址,從該些實體抹除單元中預讀取屬於該些邏輯位址中一第二邏輯範圍的資料至該緩衝記憶體中,其中該第二邏輯範圍是接續在該第一邏輯範圍之後。
- 如申請專利範圍第2項所述之資料讀取方法,更包括:若該第二邏輯位址不為該起始邏輯位址,維持屬於該第一邏輯範圍的資料在該緩衝記憶體中並且啟動一計時器;以及若該計時器所記錄的一數值大於一臨界值,清除該緩衝記憶體中屬於該第一邏輯範圍的資料。
- 如申請專利範圍第4項所述之資料讀取方法,其中該臨界值正比於該可複寫式非揮發性記憶體模組的一讀取時間。
- 如申請專利範圍第4項所述之資料讀取方法,更包括:接收來自於該主機系統的一第三讀取指令,其中該第三讀取指令指示讀取該些邏輯位址中的一第三邏輯位址;以及若該第三邏輯位址為該起始邏輯位址,重置該計時器並且傳送屬於該第三邏輯位址的資料至該主機系統。
- 如申請專利範圍第2項所述之資料讀取方法,更包 括:若該第二邏輯位址不在該預定範圍內,清除該緩衝記憶體中屬於該第一邏輯範圍的資料。
- 如申請專利範圍第1項所述之資料讀取方法,更包括:接收來自於該主機系統的一第二讀取指令,其中該第二讀取指令指示讀取該些邏輯位址中的一第二邏輯位址;判斷該第二邏輯位址是否在該些邏輯位址中的一預定範圍內,其中該預定範圍包括該第一邏輯範圍;若該第二邏輯位址在該預定範圍內,判斷該第二邏輯位址是否在該第一邏輯範圍內;以及若該第二邏輯位址在該第一邏輯範圍內,傳送屬於該第二邏輯位址的資料給該主機系統。
- 如申請專利範圍第8項所述之資料讀取方法,更包括:若該第二邏輯位址不在該第一邏輯範圍內,維持屬於該第一邏輯範圍的資料在該緩衝記憶體中並且啟動一計時器;以及若該計時器所記錄的一數值大於一臨界值,清除該緩衝記憶體中屬於該第一邏輯範圍的資料。
- 如申請專利範圍第1項所述之資料讀取方法,其中該第一邏輯範圍的大小等於該緩衝記憶體的一記憶體空間的大小。
- 一種記憶體儲存裝置,包括: 一連接器,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,包括多個實體抹除單元;以及一記憶體控制器,耦接至該連接器與該可複寫式非揮發性記憶體模組,用以配置多個邏輯位址以映射至部分的該些實體抹除單元,並且接收來自該主機系統的多個第一讀取指令,其中該些第一讀取指令指示讀取該些邏輯位址中的多個第一邏輯位址,其中,該記憶體控制器用以執行該些第一讀取指令,並且判斷該些第一邏輯位址是否為連續,若該些第一邏輯位址為連續,該記憶體控制器用以從該些實體抹除單元中預讀取屬於該些邏輯位址中一第一邏輯範圍的資料至一緩衝記憶體。
- 如申請專利範圍第11項所述之記憶體儲存裝置,其中該記憶體控制器更用以接收來自於該主機系統的一第二讀取指令,其中該第二讀取指令指示讀取該些邏輯位址中的一第二邏輯位址,該記憶體控制器更用以判斷該第二邏輯位址是否在該些邏輯位址中的一預定範圍內,其中該預定範圍包括該第一邏輯範圍,若該第二邏輯位址在該預定範圍內,該記憶體控制器更用以判斷該第二邏輯位址是否為該第一邏輯範圍的一起始邏輯位址,若該第二邏輯位址為該起始邏輯位址,該記憶體控制 器更用以傳送屬於該第二邏輯位址的資料給該主機系統。
- 如申請專利範圍第12項所述之記憶體儲存裝置,若該第二邏輯位址不為該起始邏輯位址,該記憶體控制器更用以維持屬於該第一邏輯範圍的資料在該緩衝記憶體中並且啟動一計時器,若該計時器所記錄的一數值大於一臨界值,該記憶體控制器更用以清除該緩衝記憶體中屬於該第一邏輯範圍的資料。
- 如申請專利範圍第13項所述之記憶體儲存裝置,該記憶體控制器更用以接收來自於該主機系統的一第三讀取指令,其中該第三讀取指令指示讀取該些邏輯位址中的一第三邏輯位址,若該第三邏輯位址為該起始邏輯位址,該記憶體控制器更用以重置該計時器並且傳送屬於該第三邏輯位址的資料至該主機系統。
- 如申請專利範圍第11項所述之記憶體儲存裝置,該記憶體控制器更用以接收來自於該主機系統的一第二讀取指令,其中該第二讀取指令指示讀取該些邏輯位址中的一第二邏輯位址,該記憶體控制器更用以判斷該第二邏輯位址是否在該些邏輯位址中的一預定範圍內,其中該預定範圍包括該第一邏輯範圍,若該第二邏輯位址在該預定範圍內,該記憶體控制器更用以判斷該第二邏輯位址是否在該第一邏輯範圍內, 若該第二邏輯位址在該第一邏輯範圍內,該記憶體控制器更用以傳送屬於該第二邏輯位址的資料給該主機系統。
- 如申請專利範圍第15項所述之記憶體儲存裝置,若該第二邏輯位址不在該第一邏輯範圍內,該記憶體控制器更用以維持屬於該第一邏輯範圍的資料在該緩衝記憶體中並且啟動一計時器,若該計時器所記錄的一數值大於一臨界值,該記憶體控制器更用以清除該緩衝記憶體中屬於該第一邏輯範圍的資料。
- 一種記憶體控制器,用於控制一可複寫式非揮發性記憶體模組,該記憶體控制器包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組包括多個實體抹除單元;以及一記憶體管理電路,耦接至該主機介面與該記憶體介面,用以配置多個邏輯位址以映射至部分的該些實體抹除單元,並且接收來自該主機系統的多個第一讀取指令,其中該些第一讀取指令指示讀取該些邏輯位址中的多個第一邏輯位址,其中,該記憶體管理電路用以執行該些第一讀取指令,並且判斷該些第一邏輯位址是否為連續,若該些第一邏輯位址為連續,該記憶體管理電路用以 從該些實體抹除單元中預讀取屬於該些邏輯位址中一第一邏輯範圍的資料至一緩衝記憶體。
- 如申請專利範圍第17項所述之記憶體控制器,其中該記憶體管理電路更用以接收來自於該主機系統的一第二讀取指令,其中該第二讀取指令指示讀取該些邏輯位址中的一第二邏輯位址,該記憶體管理電路更用以判斷該第二邏輯位址是否在該些邏輯位址中的一預定範圍內,其中該預定範圍包括該第一邏輯範圍,若該第二邏輯位址在該預定範圍內,該記憶體管理電路更用以判斷該第二邏輯位址是否為該第一邏輯範圍的一起始邏輯位址,若該第二邏輯位址為該起始邏輯位址,該記憶體管理電路更用以傳送屬於該第二邏輯位址的資料給該主機系統。
- 如申請專利範圍第18項所述之記憶體控制器,若該第二邏輯位址為該起始邏輯位址,該記憶體管理電路更用以從該些實體抹除單元中預讀取屬於該些邏輯位址中一第二邏輯範圍的資料至該緩衝記憶體中,其中該第二邏輯範圍是接續在該第一邏輯範圍之後。
- 如申請專利範圍第18項所述之記憶體控制器,若該第二邏輯位址不為該起始邏輯位址,該記憶體管理電路更用以維持屬於該第一邏輯範圍的資料在該緩衝記憶體中並且啟動一計時器, 若該計時器所記錄的一數值大於一臨界值,該記憶體管理電路更用以清除該緩衝記憶體中屬於該第一邏輯範圍的資料。
- 如申請專利範圍第20項所述之記憶體控制器,其中該臨界值正比於該可複寫式非揮發性記憶體模組的一讀取時間。
- 如申請專利範圍第20項所述之記憶體控制器,該記憶體管理電路更用以接收來自於該主機系統的一第三讀取指令,其中該第三讀取指令指示讀取該些邏輯位址中的一第三邏輯位址,若該第三邏輯位址為該起始邏輯位址,該記憶體管理電路更用以重置該計時器並且傳送屬於該第三邏輯位址的資料至該主機系統。
- 如申請專利範圍第18項所述之記憶體控制器,若該第二邏輯位址不在該預定範圍內,該記憶體管理電路更用以清除該緩衝記憶體中屬於該第一邏輯範圍的資料。
- 如申請專利範圍第17項所述之記憶體控制器,該記憶體管理電路更用以接收來自於該主機系統的一第二讀取指令,其中該第二讀取指令指示讀取該些邏輯位址中的一第二邏輯位址,該記憶體管理電路更用以判斷該第二邏輯位址是否在該些邏輯位址中的一預定範圍內,其中該預定範圍包括該第一邏輯範圍,若該第二邏輯位址在該預定範圍內,該記憶體管理電 路更用以判斷該第二邏輯位址是否在該第一邏輯範圍內,若該第二邏輯位址在該第一邏輯範圍內,該記憶體管理電路更用以傳送屬於該第二邏輯位址的資料給該主機系統。
- 如申請專利範圍第24項所述之記憶體控制器,若該第二邏輯位址不在該第一邏輯範圍內,該記憶體管理電路更用以維持屬於該第一邏輯範圍的資料在該緩衝記憶體中並且啟動一計時器,若該計時器所記錄的一數值大於一臨界值,該記憶體管理電路更用以清除該緩衝記憶體中屬於該第一邏輯範圍的資料。
- 如申請專利範圍第25項所述之記憶體控制器,其中該第一邏輯範圍的大小等於該緩衝記憶體的一記憶體空間的大小。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101149591A TWI456393B (zh) | 2012-12-24 | 2012-12-24 | 資料讀取方法、記憶體控制器與記憶體儲存裝置 |
US13/802,770 US9304900B2 (en) | 2012-12-24 | 2013-03-14 | Data reading method, memory controller, and memory storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101149591A TWI456393B (zh) | 2012-12-24 | 2012-12-24 | 資料讀取方法、記憶體控制器與記憶體儲存裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201426303A TW201426303A (zh) | 2014-07-01 |
TWI456393B true TWI456393B (zh) | 2014-10-11 |
Family
ID=50976035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101149591A TWI456393B (zh) | 2012-12-24 | 2012-12-24 | 資料讀取方法、記憶體控制器與記憶體儲存裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9304900B2 (zh) |
TW (1) | TWI456393B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI556249B (zh) * | 2014-11-07 | 2016-11-01 | 群聯電子股份有限公司 | 資料讀取方法、記憶體儲存裝置及記憶體控制電路單元 |
TWI563507B (en) * | 2015-07-01 | 2016-12-21 | Phison Electronics Corp | Memory management method, memory control circuit unit and memry storage apparatus |
CN106547480B (zh) * | 2015-09-17 | 2019-04-12 | 慧荣科技股份有限公司 | 数据储存装置及其数据读取方法 |
TWI615771B (zh) * | 2015-09-17 | 2018-02-21 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料讀取方法 |
US10621096B2 (en) * | 2016-09-08 | 2020-04-14 | Seagate Technology Llc | Read ahead management in a multi-stream workload |
TWI662410B (zh) * | 2017-12-18 | 2019-06-11 | 慧榮科技股份有限公司 | 資料儲存裝置與記憶體裝置之資料處理方法 |
JP7020989B2 (ja) * | 2018-04-23 | 2022-02-16 | 株式会社メガチップス | 不揮発性記憶装置、メモリ制御装置、及びメモリ制御方法 |
US10572185B2 (en) * | 2018-06-01 | 2020-02-25 | Western Digital Technologies, Inc. | Non-volatile storage system with command replay |
KR20200059780A (ko) * | 2018-11-21 | 2020-05-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
TWI797464B (zh) * | 2020-07-28 | 2023-04-01 | 群聯電子股份有限公司 | 資料讀取方法、記憶體儲存裝置及記憶體控制電路單元 |
CN112286452A (zh) * | 2020-10-24 | 2021-01-29 | 北京东方百士电子有限公司 | 一种stm32单片机flash存储器存储、读取算法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7958301B2 (en) * | 2007-04-10 | 2011-06-07 | Marvell World Trade Ltd. | Memory controller and method for memory pages with dynamically configurable bits per cell |
US8156403B2 (en) * | 2006-05-12 | 2012-04-10 | Anobit Technologies Ltd. | Combined distortion estimation and error correction coding for memory devices |
TW201230048A (en) * | 2010-12-07 | 2012-07-16 | Silicon Motion Inc | Method, memory controller, and apparatus for reading data stored in flash memory |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7238218B2 (en) * | 2004-04-06 | 2007-07-03 | International Business Machines Corporation | Memory prefetch method and system |
US8055833B2 (en) * | 2006-10-05 | 2011-11-08 | Google Inc. | System and method for increasing capacity, performance, and flexibility of flash storage |
US20070106849A1 (en) * | 2005-11-04 | 2007-05-10 | Sun Microsystems, Inc. | Method and system for adaptive intelligent prefetch |
-
2012
- 2012-12-24 TW TW101149591A patent/TWI456393B/zh active
-
2013
- 2013-03-14 US US13/802,770 patent/US9304900B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8156403B2 (en) * | 2006-05-12 | 2012-04-10 | Anobit Technologies Ltd. | Combined distortion estimation and error correction coding for memory devices |
US7958301B2 (en) * | 2007-04-10 | 2011-06-07 | Marvell World Trade Ltd. | Memory controller and method for memory pages with dynamically configurable bits per cell |
TW201230048A (en) * | 2010-12-07 | 2012-07-16 | Silicon Motion Inc | Method, memory controller, and apparatus for reading data stored in flash memory |
Also Published As
Publication number | Publication date |
---|---|
US9304900B2 (en) | 2016-04-05 |
TW201426303A (zh) | 2014-07-01 |
US20140181372A1 (en) | 2014-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI456393B (zh) | 資料讀取方法、記憶體控制器與記憶體儲存裝置 | |
CN104731725B (zh) | 数据储存设备和包括数据储存设备的数据处理系统 | |
JP2014182832A5 (ja) | 格納装置、不揮発性格納装置及びその運営体系イメージプログラム方法 | |
WO2009016832A1 (ja) | 不揮発性記憶装置および不揮発性記憶システム | |
JP2009026271A5 (zh) | ||
JP2014026635A5 (zh) | ||
JP2010277685A5 (zh) | ||
JP2014182503A5 (zh) | ||
EP2936325A1 (en) | Techniques to configure a solid state drive to operate in a storage mode or a memory mode | |
JP2008192266A5 (zh) | ||
JP2014059876A5 (ja) | ホスト、不揮発性メモリ装置、及び不揮発性メモリカードシステム | |
US20150081953A1 (en) | Ssd (solid state drive) device | |
TW200834304A (en) | Non-volatile semiconductor memory system and data write method thereof | |
JP2008165799A (ja) | メモリコントローラ及びメモリシステム | |
JP2017027244A5 (zh) | ||
JP2011508296A5 (zh) | ||
TW201610834A (zh) | 讀取命令排程方法以及使用該方法的裝置 | |
JP2009230548A (ja) | 情報処理装置と情報処理方法およびストレージシステム | |
TW201441813A (zh) | 資料存取系統、資料存取裝置及資料存取控制器 | |
US20140223076A1 (en) | Controlling method, connector, and memory storage device | |
JP2013235531A5 (zh) | ||
US9507707B2 (en) | Nonvolatile memory device and data storage device including the same | |
KR20210014365A (ko) | 컨트롤러 및 그 동작 방법 | |
US10528360B2 (en) | Storage device, information processing system, method of activating storage device and program | |
WO2012064463A8 (en) | Memory controller and system for storing blocks of data in non-volatile memory devices for high speed sequential reading |