TWI456393B - 資料讀取方法、記憶體控制器與記憶體儲存裝置 - Google Patents

資料讀取方法、記憶體控制器與記憶體儲存裝置 Download PDF

Info

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
Application number
TW101149591A
Other languages
English (en)
Other versions
TW201426303A (zh
Inventor
Shao Hsien Liu
Original Assignee
Phison Electronics Corp
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 Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to TW101149591A priority Critical patent/TWI456393B/zh
Priority to US13/802,770 priority patent/US9304900B2/en
Publication of TW201426303A publication Critical patent/TW201426303A/zh
Application granted granted Critical
Publication of TWI456393B publication Critical patent/TWI456393B/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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6022Using a prefetch buffer or dedicated prefetch cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6026Prefetching based on access pattern detection, e.g. stride based prefetch
    • 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
    • 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

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. 如申請專利範圍第1項所述之資料讀取方法,更包括:接收來自於該主機系統的一第二讀取指令,其中該第二讀取指令指示讀取該些邏輯位址中的一第二邏輯位址;判斷該第二邏輯位址是否在該些邏輯位址中的一預定範圍內,其中該預定範圍包括該第一邏輯範圍;若該第二邏輯位址在該預定範圍內,判斷該第二邏輯位址是否為該第一邏輯範圍的一起始邏輯位址;以及若該第二邏輯位址為該起始邏輯位址,則傳送屬於該第二邏輯位址的資料給該主機系統。
  3. 如申請專利範圍第2項所述之資料讀取方法,更包括:若該第二邏輯位址為該起始邏輯位址,從該些實體抹除單元中預讀取屬於該些邏輯位址中一第二邏輯範圍的資料至該緩衝記憶體中,其中該第二邏輯範圍是接續在該第一邏輯範圍之後。
  4. 如申請專利範圍第2項所述之資料讀取方法,更包括:若該第二邏輯位址不為該起始邏輯位址,維持屬於該第一邏輯範圍的資料在該緩衝記憶體中並且啟動一計時器;以及若該計時器所記錄的一數值大於一臨界值,清除該緩衝記憶體中屬於該第一邏輯範圍的資料。
  5. 如申請專利範圍第4項所述之資料讀取方法,其中該臨界值正比於該可複寫式非揮發性記憶體模組的一讀取時間。
  6. 如申請專利範圍第4項所述之資料讀取方法,更包括:接收來自於該主機系統的一第三讀取指令,其中該第三讀取指令指示讀取該些邏輯位址中的一第三邏輯位址;以及若該第三邏輯位址為該起始邏輯位址,重置該計時器並且傳送屬於該第三邏輯位址的資料至該主機系統。
  7. 如申請專利範圍第2項所述之資料讀取方法,更包 括:若該第二邏輯位址不在該預定範圍內,清除該緩衝記憶體中屬於該第一邏輯範圍的資料。
  8. 如申請專利範圍第1項所述之資料讀取方法,更包括:接收來自於該主機系統的一第二讀取指令,其中該第二讀取指令指示讀取該些邏輯位址中的一第二邏輯位址;判斷該第二邏輯位址是否在該些邏輯位址中的一預定範圍內,其中該預定範圍包括該第一邏輯範圍;若該第二邏輯位址在該預定範圍內,判斷該第二邏輯位址是否在該第一邏輯範圍內;以及若該第二邏輯位址在該第一邏輯範圍內,傳送屬於該第二邏輯位址的資料給該主機系統。
  9. 如申請專利範圍第8項所述之資料讀取方法,更包括:若該第二邏輯位址不在該第一邏輯範圍內,維持屬於該第一邏輯範圍的資料在該緩衝記憶體中並且啟動一計時器;以及若該計時器所記錄的一數值大於一臨界值,清除該緩衝記憶體中屬於該第一邏輯範圍的資料。
  10. 如申請專利範圍第1項所述之資料讀取方法,其中該第一邏輯範圍的大小等於該緩衝記憶體的一記憶體空間的大小。
  11. 一種記憶體儲存裝置,包括: 一連接器,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,包括多個實體抹除單元;以及一記憶體控制器,耦接至該連接器與該可複寫式非揮發性記憶體模組,用以配置多個邏輯位址以映射至部分的該些實體抹除單元,並且接收來自該主機系統的多個第一讀取指令,其中該些第一讀取指令指示讀取該些邏輯位址中的多個第一邏輯位址,其中,該記憶體控制器用以執行該些第一讀取指令,並且判斷該些第一邏輯位址是否為連續,若該些第一邏輯位址為連續,該記憶體控制器用以從該些實體抹除單元中預讀取屬於該些邏輯位址中一第一邏輯範圍的資料至一緩衝記憶體。
  12. 如申請專利範圍第11項所述之記憶體儲存裝置,其中該記憶體控制器更用以接收來自於該主機系統的一第二讀取指令,其中該第二讀取指令指示讀取該些邏輯位址中的一第二邏輯位址,該記憶體控制器更用以判斷該第二邏輯位址是否在該些邏輯位址中的一預定範圍內,其中該預定範圍包括該第一邏輯範圍,若該第二邏輯位址在該預定範圍內,該記憶體控制器更用以判斷該第二邏輯位址是否為該第一邏輯範圍的一起始邏輯位址,若該第二邏輯位址為該起始邏輯位址,該記憶體控制 器更用以傳送屬於該第二邏輯位址的資料給該主機系統。
  13. 如申請專利範圍第12項所述之記憶體儲存裝置,若該第二邏輯位址不為該起始邏輯位址,該記憶體控制器更用以維持屬於該第一邏輯範圍的資料在該緩衝記憶體中並且啟動一計時器,若該計時器所記錄的一數值大於一臨界值,該記憶體控制器更用以清除該緩衝記憶體中屬於該第一邏輯範圍的資料。
  14. 如申請專利範圍第13項所述之記憶體儲存裝置,該記憶體控制器更用以接收來自於該主機系統的一第三讀取指令,其中該第三讀取指令指示讀取該些邏輯位址中的一第三邏輯位址,若該第三邏輯位址為該起始邏輯位址,該記憶體控制器更用以重置該計時器並且傳送屬於該第三邏輯位址的資料至該主機系統。
  15. 如申請專利範圍第11項所述之記憶體儲存裝置,該記憶體控制器更用以接收來自於該主機系統的一第二讀取指令,其中該第二讀取指令指示讀取該些邏輯位址中的一第二邏輯位址,該記憶體控制器更用以判斷該第二邏輯位址是否在該些邏輯位址中的一預定範圍內,其中該預定範圍包括該第一邏輯範圍,若該第二邏輯位址在該預定範圍內,該記憶體控制器更用以判斷該第二邏輯位址是否在該第一邏輯範圍內, 若該第二邏輯位址在該第一邏輯範圍內,該記憶體控制器更用以傳送屬於該第二邏輯位址的資料給該主機系統。
  16. 如申請專利範圍第15項所述之記憶體儲存裝置,若該第二邏輯位址不在該第一邏輯範圍內,該記憶體控制器更用以維持屬於該第一邏輯範圍的資料在該緩衝記憶體中並且啟動一計時器,若該計時器所記錄的一數值大於一臨界值,該記憶體控制器更用以清除該緩衝記憶體中屬於該第一邏輯範圍的資料。
  17. 一種記憶體控制器,用於控制一可複寫式非揮發性記憶體模組,該記憶體控制器包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組包括多個實體抹除單元;以及一記憶體管理電路,耦接至該主機介面與該記憶體介面,用以配置多個邏輯位址以映射至部分的該些實體抹除單元,並且接收來自該主機系統的多個第一讀取指令,其中該些第一讀取指令指示讀取該些邏輯位址中的多個第一邏輯位址,其中,該記憶體管理電路用以執行該些第一讀取指令,並且判斷該些第一邏輯位址是否為連續,若該些第一邏輯位址為連續,該記憶體管理電路用以 從該些實體抹除單元中預讀取屬於該些邏輯位址中一第一邏輯範圍的資料至一緩衝記憶體。
  18. 如申請專利範圍第17項所述之記憶體控制器,其中該記憶體管理電路更用以接收來自於該主機系統的一第二讀取指令,其中該第二讀取指令指示讀取該些邏輯位址中的一第二邏輯位址,該記憶體管理電路更用以判斷該第二邏輯位址是否在該些邏輯位址中的一預定範圍內,其中該預定範圍包括該第一邏輯範圍,若該第二邏輯位址在該預定範圍內,該記憶體管理電路更用以判斷該第二邏輯位址是否為該第一邏輯範圍的一起始邏輯位址,若該第二邏輯位址為該起始邏輯位址,該記憶體管理電路更用以傳送屬於該第二邏輯位址的資料給該主機系統。
  19. 如申請專利範圍第18項所述之記憶體控制器,若該第二邏輯位址為該起始邏輯位址,該記憶體管理電路更用以從該些實體抹除單元中預讀取屬於該些邏輯位址中一第二邏輯範圍的資料至該緩衝記憶體中,其中該第二邏輯範圍是接續在該第一邏輯範圍之後。
  20. 如申請專利範圍第18項所述之記憶體控制器,若該第二邏輯位址不為該起始邏輯位址,該記憶體管理電路更用以維持屬於該第一邏輯範圍的資料在該緩衝記憶體中並且啟動一計時器, 若該計時器所記錄的一數值大於一臨界值,該記憶體管理電路更用以清除該緩衝記憶體中屬於該第一邏輯範圍的資料。
  21. 如申請專利範圍第20項所述之記憶體控制器,其中該臨界值正比於該可複寫式非揮發性記憶體模組的一讀取時間。
  22. 如申請專利範圍第20項所述之記憶體控制器,該記憶體管理電路更用以接收來自於該主機系統的一第三讀取指令,其中該第三讀取指令指示讀取該些邏輯位址中的一第三邏輯位址,若該第三邏輯位址為該起始邏輯位址,該記憶體管理電路更用以重置該計時器並且傳送屬於該第三邏輯位址的資料至該主機系統。
  23. 如申請專利範圍第18項所述之記憶體控制器,若該第二邏輯位址不在該預定範圍內,該記憶體管理電路更用以清除該緩衝記憶體中屬於該第一邏輯範圍的資料。
  24. 如申請專利範圍第17項所述之記憶體控制器,該記憶體管理電路更用以接收來自於該主機系統的一第二讀取指令,其中該第二讀取指令指示讀取該些邏輯位址中的一第二邏輯位址,該記憶體管理電路更用以判斷該第二邏輯位址是否在該些邏輯位址中的一預定範圍內,其中該預定範圍包括該第一邏輯範圍,若該第二邏輯位址在該預定範圍內,該記憶體管理電 路更用以判斷該第二邏輯位址是否在該第一邏輯範圍內,若該第二邏輯位址在該第一邏輯範圍內,該記憶體管理電路更用以傳送屬於該第二邏輯位址的資料給該主機系統。
  25. 如申請專利範圍第24項所述之記憶體控制器,若該第二邏輯位址不在該第一邏輯範圍內,該記憶體管理電路更用以維持屬於該第一邏輯範圍的資料在該緩衝記憶體中並且啟動一計時器,若該計時器所記錄的一數值大於一臨界值,該記憶體管理電路更用以清除該緩衝記憶體中屬於該第一邏輯範圍的資料。
  26. 如申請專利範圍第25項所述之記憶體控制器,其中該第一邏輯範圍的大小等於該緩衝記憶體的一記憶體空間的大小。
TW101149591A 2012-12-24 2012-12-24 資料讀取方法、記憶體控制器與記憶體儲存裝置 TWI456393B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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