JP7408449B2 - 記憶装置及び記憶方法 - Google Patents
記憶装置及び記憶方法 Download PDFInfo
- Publication number
- JP7408449B2 JP7408449B2 JP2020050893A JP2020050893A JP7408449B2 JP 7408449 B2 JP7408449 B2 JP 7408449B2 JP 2020050893 A JP2020050893 A JP 2020050893A JP 2020050893 A JP2020050893 A JP 2020050893A JP 7408449 B2 JP7408449 B2 JP 7408449B2
- Authority
- JP
- Japan
- Prior art keywords
- volatile memory
- region
- state
- data
- encoded frame
- 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
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- 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
- 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/7208—Multiple device management, e.g. distributing data over multiple flash devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
20…記憶装置
22…コントローラ
24…不揮発性メモリ
26…揮発性メモリ
26a…ライトバッファ
26b…リードバッファ
26c…LUTキャッシュ
26d…一時領域
32…CPU
32a…リード制御部
32b…ライト制御部
32c…LUT制御部
34…ホスト I/F
36…NAND I/F
38…DRAM I/F
40…ECCエンコーダ/デコーダ
ECC0~ECC7…ECCフレーム領域
R0~R7…リージョンデータ領域
Claims (16)
- 不揮発性メモリと、
揮発性メモリと、
複数の論理アドレスにそれぞれ対応する複数のエントリに前記不揮発性メモリの複数の物理アドレスがそれぞれ記憶されるアドレス変換テーブルを用いて前記不揮発性メモリにアクセスするコントローラと、
を具備する記憶装置であって、
前記不揮発性メモリに書き込まれるデータと前記揮発性メモリに書き込まれるデータは符号化され、符号化フレームとして前記不揮発性メモリと前記揮発性メモリに書き込まれ、
前記アドレス変換テーブルの所定数の前記エントリはリージョンを構成し、
前記アドレス変換テーブルは、複数のリージョンに関するデータの先頭アドレスが複数の符号化フレームの先頭アドレスと一致する第2状態で前記不揮発性メモリに記憶され、
前記アドレス変換テーブルの少なくとも一部は、前記第2状態又は少なくとも一つのリージョンに関するデータの先頭アドレスが少なくとも一つの符号化フレームの先頭アドレスと一致せず、前記複数の符号化フレームの間に空き領域が生じない第1状態で前記揮発性メモリにも記憶される記憶装置。 - 前記コントローラは、
前記少なくとも一つのリージョンに関する前記データを含む符号化フレームを前記不揮発性メモリから前記揮発性メモリへ前記第2状態で送信し、
前記少なくとも一つのリージョンに関する前記データを含む符号化フレームを前記揮発性メモリから前記不揮発性メモリへ前記第2状態で送信する請求項1記載の記憶装置。 - 前記コントローラは、
前記不揮発性メモリから前記揮発性メモリへ前記第2状態で送信された前記少なくとも一つのリージョンに関する前記データを含む前記符号化フレームを前記第1状態で前記揮発性メモリに書き込む請求項2記載の記憶装置。 - 前記コントローラは、
第1論理アドレスを含むライトコマンドを受信すると、前記第1論理アドレスを前記不揮発性メモリの第1物理アドレスに対応させ、前記第1論理アドレスと前記第1物理アドレスが対応することを示す前記アドレス変換テーブルの第1リージョンに関するデータを生成し、
生成した前記データを符号化して得られた前記第1リージョンに関する第1符号化フレームを前記揮発性メモリの第1領域に前記第1状態で書き込む、又は前記第1符号化フレームを前記揮発性メモリの第2領域に前記第2状態で書き込み、前記第2状態で書き込まれた前記第1リージョンに関する前記第1符号化フレームを前記揮発性メモリの前記第1領域に前記第1状態で書き込む請求項1記載の記憶装置。 - 前記コントローラは、
前記第1符号化フレームを前記揮発性メモリから読み出し、
読み出した前記第1符号化フレームを復号し、前記第1リージョンに関する前記データを取り出し、
取り出した前記データを符号化して得られた前記第1リージョンに関する第2符号化フレームを前記第2状態で前記不揮発性メモリに送信する請求項4記載の記憶装置。 - 前記コントローラは、
前記不揮発性メモリから第1リージョンに関する第1符号化フレームを読み出し、
読み出した前記第1符号化フレームを復号し、前記第1リージョンに関する第1データを取り出し、
前記揮発性メモリから第2リージョンに関する第2符号化フレームを読み出し、
読み出した前記第2符号化フレームを復号し、前記第2リージョンに関する第2データを取り出し、
取り出した前記第1データと前記第2データを符号化して得られた前記第1リージョンに関する第3符号化フレームを前記揮発性メモリへ前記第2状態で送信する請求項1記載の記憶装置。 - 前記コントローラは、
前記揮発性メモリへ前記第2状態で送信された前記第3符号化フレームを前記第1状態で前記揮発性メモリに書き込む請求項6記載の記憶装置。 - 一つのリージョンに関するデータのサイズは一つの符号化フレームのサイズより大きい請求項1乃至請求項7のいずれか一項記載の記憶装置。
- 不揮発性メモリと、
揮発性メモリと、
複数の論理アドレスにそれぞれ対応する複数のエントリに前記不揮発性メモリの複数の物理アドレスがそれぞれ記憶されるアドレス変換テーブルを用いて前記不揮発性メモリにアクセスするコントローラと、
を具備し、
前記不揮発性メモリに書き込まれるデータと前記揮発性メモリに書き込まれるデータは符号化され、符号化フレームとして前記不揮発性メモリと前記揮発性メモリに書き込まれ、
前記アドレス変換テーブルの所定数の前記エントリはリージョンを構成する記憶装置の記憶方法であって、
前記アドレス変換テーブルを、複数のリージョンに関するデータの先頭アドレスが複数の符号化フレームの先頭アドレスと一致する第2状態で前記不揮発性メモリに記憶することと、
前記アドレス変換テーブルの少なくとも一部を、前記第2状態又は少なくとも一つのリージョンに関するデータの先頭アドレスが少なくとも一つの符号化フレームの先頭アドレスと一致せず、前記複数の符号化フレームの間に空き領域が生じない第1状態で前記揮発性メモリにも記憶することと、
を具備する記憶方法。 - 前記少なくとも一つのリージョンに関する前記データを含む符号化フレームを前記不揮発性メモリから前記揮発性メモリへ前記第2状態で送信することと、
前記少なくとも一つのリージョンに関する前記データを含む符号化フレームを前記揮発性メモリから前記不揮発性メモリへ前記第2状態で送信することと、
をさらに具備する請求項9記載の記憶方法。 - 前記不揮発性メモリから前記揮発性メモリへ前記第2状態で送信された前記少なくとも一つのリージョンに関する前記データを含む前記符号化フレームを前記第1状態で前記揮発性メモリに書き込むことをさらに具備する請求項10記載の記憶方法。
- 第1論理アドレスを含むライトコマンドを受信すると、前記第1論理アドレスを前記不揮発性メモリの第1物理アドレスに対応させ、前記第1論理アドレスと前記第1物理アドレスが対応することを示す前記アドレス変換テーブルの第1リージョンに関するデータを生成することと、
生成した前記データを符号化して得られた前記第1リージョンに関する第1符号化フレームを前記揮発性メモリの第1領域に前記第1状態で書き込む、又は前記第1符号化フレームを前記揮発性メモリの第2領域に前記第2状態で書き込み、前記第2状態で書き込まれた前記第1リージョンに関する前記第1符号化フレームを前記揮発性メモリの前記第1領域に前記第1状態で書き込むことと、
をさらに具備する請求項9記載の記憶方法。 - 前記第1符号化フレームを前記揮発性メモリから読み出すことと、
読み出した前記第1符号化フレームを復号し、前記第1リージョンに関する前記データを取り出すことと、
取り出した前記データを符号化して得られた前記第1リージョンに関する第2符号化フレームを前記第2状態で前記不揮発性メモリへ送信することと、
をさらに具備する請求項12記載の記憶方法。 - 前記不揮発性メモリから第1リージョンに関する第1符号化フレームを読み出すことと、
読み出した前記第1符号化フレームを復号し、前記第1リージョンに関する第1データを取り出すことと、
前記揮発性メモリから第2リージョンに関する第2符号化フレームを読み出すことと、
読み出した前記第2符号化フレームを復号し、前記第2リージョンに関する第2データを取り出すことと、
取り出した前記第1データと前記第2データを符号化して得られた前記第1リージョンに関する第3符号化フレームを前記揮発性メモリへ前記第2状態で送信することと、
をさらに具備する請求項9記載の記憶方法。 - 前記揮発性メモリへ前記第2状態で送信された前記第3符号化フレームを前記第1状態で前記揮発性メモリに書き込むことをさらに具備する請求項14記載の記憶方法。
- 一つのリージョンに関するデータのサイズは一つの符号化フレームのサイズより大きい請求項9乃至請求項15のいずれか一項記載の記憶方法。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020050893A JP7408449B2 (ja) | 2020-03-23 | 2020-03-23 | 記憶装置及び記憶方法 |
| US17/009,694 US11531616B2 (en) | 2020-03-23 | 2020-09-01 | Storage device and storage method for caching address conversion table |
| US18/084,407 US11853208B2 (en) | 2020-03-23 | 2022-12-19 | Storage device and storage method for caching address conversion table |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020050893A JP7408449B2 (ja) | 2020-03-23 | 2020-03-23 | 記憶装置及び記憶方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2021149768A JP2021149768A (ja) | 2021-09-27 |
| JP7408449B2 true JP7408449B2 (ja) | 2024-01-05 |
Family
ID=77747903
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2020050893A Active JP7408449B2 (ja) | 2020-03-23 | 2020-03-23 | 記憶装置及び記憶方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (2) | US11531616B2 (ja) |
| JP (1) | JP7408449B2 (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2023024008A (ja) * | 2021-08-06 | 2023-02-16 | キオクシア株式会社 | メモリシステム |
| CN115421964A (zh) * | 2022-09-06 | 2022-12-02 | 北京忆恒创源科技股份有限公司 | 一种非对齐数据错误处理方法、控制部件及存储设备 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001142774A (ja) | 1999-11-11 | 2001-05-25 | Toshiba Corp | メモリカード及び同カードに適用されるアドレス変換方法 |
| JP2013152676A (ja) | 2012-01-26 | 2013-08-08 | Hitachi Ltd | 不揮発性記憶装置 |
| JP2014523032A (ja) | 2011-07-01 | 2014-09-08 | マイクロン テクノロジー, インク. | アライメントされていないデータの結合 |
| JP2014238769A (ja) | 2013-06-10 | 2014-12-18 | オリンパス株式会社 | データ処理装置およびデータ転送制御装置 |
| JP2016224708A (ja) | 2015-05-29 | 2016-12-28 | 株式会社東芝 | メモリシステム |
| US20190163620A1 (en) | 2017-11-27 | 2019-05-30 | Western Digital Technologies, Inc. | Handling of unaligned writes |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7653779B1 (en) | 2009-02-04 | 2010-01-26 | Gene Fein | Memory storage using a look-up table |
| US8583839B2 (en) | 2009-11-30 | 2013-11-12 | Lsi Corporation | Context processing for multiple active write commands in a media controller architecture |
| JP2012094132A (ja) | 2010-10-01 | 2012-05-17 | Siglead Inc | 不揮発性半導体メモリ装置とデータ誤り訂正方法 |
| TWI459197B (zh) * | 2011-04-21 | 2014-11-01 | Phison Electronics Corp | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
| JP2013232097A (ja) * | 2012-04-27 | 2013-11-14 | Toshiba Corp | 半導体記憶装置 |
| US9507523B1 (en) * | 2012-10-12 | 2016-11-29 | Western Digital Technologies, Inc. | Methods, devices and systems for variable size logical page management in a solid state drive |
| US10430330B2 (en) * | 2017-10-18 | 2019-10-01 | Western Digital Technologies, Inc. | Handling of unaligned sequential writes |
-
2020
- 2020-03-23 JP JP2020050893A patent/JP7408449B2/ja active Active
- 2020-09-01 US US17/009,694 patent/US11531616B2/en active Active
-
2022
- 2022-12-19 US US18/084,407 patent/US11853208B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001142774A (ja) | 1999-11-11 | 2001-05-25 | Toshiba Corp | メモリカード及び同カードに適用されるアドレス変換方法 |
| JP2014523032A (ja) | 2011-07-01 | 2014-09-08 | マイクロン テクノロジー, インク. | アライメントされていないデータの結合 |
| JP2013152676A (ja) | 2012-01-26 | 2013-08-08 | Hitachi Ltd | 不揮発性記憶装置 |
| JP2014238769A (ja) | 2013-06-10 | 2014-12-18 | オリンパス株式会社 | データ処理装置およびデータ転送制御装置 |
| JP2016224708A (ja) | 2015-05-29 | 2016-12-28 | 株式会社東芝 | メモリシステム |
| US20190163620A1 (en) | 2017-11-27 | 2019-05-30 | Western Digital Technologies, Inc. | Handling of unaligned writes |
Also Published As
| Publication number | Publication date |
|---|---|
| US11531616B2 (en) | 2022-12-20 |
| JP2021149768A (ja) | 2021-09-27 |
| US20210294740A1 (en) | 2021-09-23 |
| US20230122919A1 (en) | 2023-04-20 |
| US11853208B2 (en) | 2023-12-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11301369B2 (en) | Logical to physical mapping management using low-latency non-volatile memory | |
| CN112433956B (zh) | 逻辑到物理表高速缓存中基于顺序写入的分区 | |
| US10725930B2 (en) | Logical to physical memory address mapping tree | |
| US11232028B2 (en) | Error-checking in namespaces on storage devices | |
| TWI696915B (zh) | 提高重建效率的記憶體系統和操作方法 | |
| KR101466585B1 (ko) | 메모리 장치 및 메모리 장치의 관리 방법 | |
| CN114270304B (zh) | 存储器组件的同一平面内的数据压缩 | |
| CN104050088B (zh) | 差异逻辑至实体的方法与系统 | |
| US11397669B2 (en) | Data storage device and non-volatile memory control method | |
| CN113031856A (zh) | 存储器子系统中的断电数据保护 | |
| US11734112B2 (en) | Memory system | |
| CN108027764B (zh) | 可转换的叶的存储器映射 | |
| JP4253272B2 (ja) | メモリカード、半導体装置、及び半導体メモリの制御方法 | |
| WO2022225603A1 (en) | Memory instruction for memory tiers | |
| CN107045423B (zh) | 存储器装置及其数据存取方法 | |
| US20260010471A1 (en) | Nonvolatile memory, memory system, and control method of nonvolatile memory | |
| CN114968096A (zh) | 一种存储器的控制方法、存储器与存储系统 | |
| JP7408449B2 (ja) | 記憶装置及び記憶方法 | |
| CN107861884B (zh) | 一种提高nand闪存中跨页存储地址映射效率的方法 | |
| KR101501717B1 (ko) | 메모리 장치 및 메모리 장치의 관리 방법 | |
| CN103092771A (zh) | 固态储存装置及其高速缓存的控制方法 | |
| TWI745987B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
| JP2012037971A (ja) | メモリコントローラ及びメモリコントローラを備える不揮発性メモリシステム、並びに不揮発性メモリの制御方法 | |
| CN112053735B (zh) | 固态存储装置的重复数据处理方法 | |
| JP2023039212A (ja) | メモリシステムおよび制御方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220912 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230821 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230926 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231107 |
|
| 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: 20231121 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231220 |
|
| R151 | Written notification of patent or utility model registration |
Ref document number: 7408449 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |