JP7705446B2 - メモリコントローラおよびフラッシュメモリシステム - Google Patents
メモリコントローラおよびフラッシュメモリシステム Download PDFInfo
- Publication number
- JP7705446B2 JP7705446B2 JP2023504810A JP2023504810A JP7705446B2 JP 7705446 B2 JP7705446 B2 JP 7705446B2 JP 2023504810 A JP2023504810 A JP 2023504810A JP 2023504810 A JP2023504810 A JP 2023504810A JP 7705446 B2 JP7705446 B2 JP 7705446B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual
- flash memory
- logical
- page
- data
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
1.実施の形態(論理仮想変換テーブルを間引いた頻度で書き込み保存する例)
2.変形例
[概略構成]
図1は、本発明の一実施の形態に係るフラッシュメモリシステム(フラッシュメモリシステム3)の概略構成例を、外部のホストシステム4とともに、ブロック図で表したものである。このフラッシュメモリシステム3は、例えば、SSD(Solid State Drive)や、eMMC(embedded Multi Media Card)等に相当するシステムである。
ホストシステム4は、フラッシュメモリシステム3を二次記憶装置として使用する、ホストシステムである。ホストシステム4は、このホストシステム4全体の動作を制御するためのCPU(Central Processing Unit)や、フラッシュメモリシステム3と間での各種情報の授受を担うコンパニオンチップ等を、備えている。このようなホストシステム4は、例えば、パーソナルコンピュータ(PC)やデジタルスチルカメラ等の、情報処理装置である。
フラッシュメモリ1は、不揮発性メモリであり、1または2以上のフラッシュメモリチップ(チップ)を用いて構成されている。図1の例では、フラッシュメモリ1全体として、複数(4つ)のチップ(フラッシュメモリ10,11,12,13)が、設けられている。なお、以下では、フラッシュメモリ10~13の総称として、基本的にはフラッシュメモリ1として説明する。このフラッシュメモリ1は、例えば、NAND型フラッシュメモリとなっている。このNAND型のフラッシュメモリでは、ページ単位でデータのアクセス処理(書き込み処理または読み出し処理)が行われると共に、複数ページにて構成されるブロック単位で、データの消去処理(一斉消去)が行われる。
メモリコントローラ2は、ホストシステム4からの命令(前述したコマンド)に従って、フラッシュメモリ1を制御するものである。具体的には、メモリコントローラ2は、例えば、ホストシステム4から書き込み要求があった場合には、ホストシステム4から受信したデータを、フラッシュメモリ1に書き込むようになっている。また、メモリコントローラ2は、例えば、ホストシステム4から読み出し要求があった場合には、フラッシュメモリ1からデータを読み出して、ホストシステム4へと送信するようになっている。
続いて、図2,図3を参照して、フラッシュメモリ1のアドレス空間(論理アドレス空間および物理アドレス空間)について、詳細に説明する。
続いて、図4,図5を参照して、フラッシュメモリ1における仮想アドレス等について、詳細に説明する。
続いて、図6~図8を参照して、前述したテーブルRAM25上において一時的に格納および更新がなされる、各種テーブル(論理仮想変換テーブル51および管理テーブル52)の構成について、詳細に説明する。
続いて、本実施の形態のフラッシュメモリシステム3における動作例について説明する。
図9A,図9Bはそれぞれ、本実施の形態に係るライト処理(テーブル全展開モード時)の一例を、流れ図で表したものである。
また、図10A,図10Bはそれぞれ、本実施の形態に係るライト処理(テーブルキャッシュモード時)の一例を、流れ図で表したものである。
次に、図11は、本実施の形態に係るリード処理(テーブル全展開モード時)の一例を、流れ図で表したものである。
また、図12は、本実施の形態に係るリード処理(テーブルキャッシュモード時)の一例を、流れ図で表したものである。
次に、図13は、本実施の形態に係る前述した起動処理(テーブル全展開モード時)の一例を、流れ図で表したものである。
また、図14は、本実施の形態に係る前述した起動処理(テーブルキャッシュモード時)の一例を、流れ図で表したものである。
このようにして本実施の形態では、データ(ユーザデータ)の書き込み処理が実行されるごとに、テーブルRAM25上にて論理仮想変換テーブル51の編集が行われる。そして、各回の書き込み処理に対して間引いた頻度にて、編集後の論理仮想変換テーブル51がフラッシュメモリ1上に書き込み保存されることで、論理仮想変換テーブル51に対する更新処理が実行される。
以上、実施の形態を挙げて本発明を説明したが、本発明はこの実施の形態に限定されず、種々の変形が可能である。
Claims (4)
- フラッシュメモリを制御するメモリコントローラであって、
前記フラッシュメモリに対するデータのアクセス処理と、前記アクセス処理に応じて所定の領域管理情報を更新する更新処理と、をそれぞれ実行するマイクロプロセッサを備え、
前記マイクロプロセッサは、
論理ページの論理アドレスと、前記フラッシュメモリにおける複数のチャネルに属する複数の物理ブロックにより構成される仮想ブロック内に含まれる、仮想ページの仮想アドレスと、の間の対応関係を規定する前記領域管理情報に基づいて、前記アクセス処理の際のアクセス対象となる前記仮想アドレスを決定し、
決定した前記仮想アドレスに基づいて、前記アクセス処理としての前記データの書き込み処理を実行する際には、
前記書き込み処理を実行するごとに、キャッシュ領域上において前記領域管理情報の編集を行うと共に、
各回の前記書き込み処理に対して間引いた頻度にて、前記編集後の前記領域管理情報を、前記フラッシュメモリ上に書き込み保存することにより、
前記領域管理情報に対する前記更新処理を実行し、
前記仮想ブロックに含まれる複数の前記仮想ページにはそれぞれ、物理ページごとにスペア領域が設けられていると共に、
前記マイクロプロセッサは、
前記仮想ページ単位で前記書き込み処理を実行する際に、
書き込み対象となる前記仮想ページ内の前記スペア領域に対して、対応する前記論理アドレスを示す論理アドレス情報も書き込み、
前記マイクロプロセッサは、
前記フラッシュメモリ上に前記領域管理情報が書き込み保存される前の時点で、前記フラッシュメモリおよび前記メモリコントローラの電源が、オン状態からオフ状態へと移行した場合には、
その後に前記電源が前記オフ状態から前記オン状態へと復帰する際の、起動処理において、
書き込み途中の前記仮想ブロック内に含まれる前記スペア領域からそれぞれ、前記論理アドレス情報を読み出すと共に、
前記キャッシュ領域上において、読み出した前記論理アドレス情報を利用して、未更新分の前記領域管理情報の編集を行う
メモリコントローラ。 - 前記マイクロプロセッサは、
前記仮想ブロック内に含まれる複数の前記仮想ページのうちの最終ページまで、前記書き込み処理が完了した場合、または、
前記キャッシュ領域上での空き領域が閾値以下となった場合に、
前記編集後の前記領域管理情報を、前記フラッシュメモリ上に書き込み保存する
請求項1に記載のメモリコントローラ。 - 前記マイクロプロセッサは、
前記フラッシュメモリ上において、
前記書き込み処理の際に前記データが書き込まれる前記仮想ブロックと、前記編集後の前記領域管理情報が書き込み保存される前記仮想ブロックとを、
互いに異ならせる
請求項1または請求項2に記載のメモリコントローラ。 - 請求項1ないし請求項3のいずれか1項に記載のメモリコントローラと、
前記フラッシュメモリと
を備えたフラッシュメモリシステム。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2021/043727 WO2023100212A1 (ja) | 2021-11-30 | 2021-11-30 | メモリコントローラおよびフラッシュメモリシステム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPWO2023100212A1 JPWO2023100212A1 (ja) | 2023-06-08 |
| JP7705446B2 true JP7705446B2 (ja) | 2025-07-09 |
Family
ID=86611643
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2023504810A Active JP7705446B2 (ja) | 2021-11-30 | 2021-11-30 | メモリコントローラおよびフラッシュメモリシステム |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20240295964A1 (ja) |
| JP (1) | JP7705446B2 (ja) |
| WO (1) | WO2023100212A1 (ja) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007249469A (ja) | 2006-03-15 | 2007-09-27 | Sony Corp | 不揮発性半導体記憶装置およびメモリシステム |
| JP2008243156A (ja) | 2007-03-29 | 2008-10-09 | Tdk Corp | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
| JP2010086107A (ja) | 2008-09-30 | 2010-04-15 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
| JP2013152676A (ja) | 2012-01-26 | 2013-08-08 | Hitachi Ltd | 不揮発性記憶装置 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4632180B2 (ja) * | 2008-10-15 | 2011-02-16 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
| US8214579B2 (en) * | 2008-09-30 | 2012-07-03 | Tdk Corporation | Memory controller, flash memory system with memory controller, and method of controlling flash memory |
| US8219776B2 (en) * | 2009-09-23 | 2012-07-10 | Lsi Corporation | Logical-to-physical address translation for solid state disks |
| JP2021068129A (ja) * | 2019-10-21 | 2021-04-30 | Tdk株式会社 | メモリコントローラ及びフラッシュメモリシステム |
| US11409446B2 (en) * | 2020-11-11 | 2022-08-09 | Micro Technology, Inc. | Media management on power-up |
-
2021
- 2021-11-30 JP JP2023504810A patent/JP7705446B2/ja active Active
- 2021-11-30 US US18/027,518 patent/US20240295964A1/en not_active Abandoned
- 2021-11-30 WO PCT/JP2021/043727 patent/WO2023100212A1/ja not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007249469A (ja) | 2006-03-15 | 2007-09-27 | Sony Corp | 不揮発性半導体記憶装置およびメモリシステム |
| JP2008243156A (ja) | 2007-03-29 | 2008-10-09 | Tdk Corp | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
| JP2010086107A (ja) | 2008-09-30 | 2010-04-15 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
| JP2013152676A (ja) | 2012-01-26 | 2013-08-08 | Hitachi Ltd | 不揮発性記憶装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2023100212A1 (ja) | 2023-06-08 |
| US20240295964A1 (en) | 2024-09-05 |
| WO2023100212A1 (ja) | 2023-06-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4844639B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
| US8250286B2 (en) | Block management method, and storage system and controller using the same | |
| US8583860B2 (en) | Block management method for flash memory and controller and storage system using the same | |
| CN100487672C (zh) | 用于分割一逻辑块的方法及设备 | |
| US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
| US8645613B2 (en) | Data writing method for flash memory and control circuit and storage system using the same | |
| US8291155B2 (en) | Data access method, memory controller and memory storage system | |
| US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
| US20190220396A1 (en) | Data Storage Device | |
| US8510502B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
| US20100042774A1 (en) | Block management method for flash memory, and storage system and controller using the same | |
| US20100057979A1 (en) | Data transmission method for flash memory and flash memory storage system and controller using the same | |
| US11513949B2 (en) | Storage device, and control method and recording medium thereof | |
| US8074128B2 (en) | Block management and replacement method, flash memory storage system and controller using the same | |
| US20100042775A1 (en) | Block management method for flash memory, and storage system and controller using the same | |
| US8037236B2 (en) | Flash memory writing method and storage system and controller using the same | |
| US20130275655A1 (en) | Memory management method and memory controller and memory storage device using the same | |
| JP4666081B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
| KR20070046864A (ko) | 플래쉬 화일 시스템에서 가상-물리 주소 변환 방법 및시스템 | |
| US8943264B2 (en) | Data storing method, and memory controller and memory storage apparatus using the same | |
| TWI571881B (zh) | 有效資料合併方法、記憶體控制器與記憶體儲存裝置 | |
| CN110489051A (zh) | 数据储存装置及系统信息的编程方法 | |
| JP7705446B2 (ja) | メモリコントローラおよびフラッシュメモリシステム | |
| CN106648443A (zh) | 有效数据合并方法、存储器控制器与存储器存储装置 | |
| JP4952742B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240604 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250415 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250515 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20250603 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250627 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7705446 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |