JP2019056981A - メモリシステム - Google Patents
メモリシステム Download PDFInfo
- Publication number
- JP2019056981A JP2019056981A JP2017179593A JP2017179593A JP2019056981A JP 2019056981 A JP2019056981 A JP 2019056981A JP 2017179593 A JP2017179593 A JP 2017179593A JP 2017179593 A JP2017179593 A JP 2017179593A JP 2019056981 A JP2019056981 A JP 2019056981A
- Authority
- JP
- Japan
- Prior art keywords
- address
- logical
- logical address
- physical
- addresses
- 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.)
- Pending
Links
Images
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
- 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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]
-
- 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/7211—Wear leveling
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
Description
図1は、第1の実施形態のメモリシステムの構成を示す図である。メモリシステム1は、ホスト2と接続可能である。メモリシステム1とホスト2との間の通信路の規格は、特定の規格に限定されない。一例では、SAS(Serial Attached SCSI)が採用され得る。
LAtarget=(Nla-Org+Dst*(Cnt+1))%Npa (1)
PAcurrent=(LAtarget+Org)%Npa (2)
PAnext=(LAtarget+Org-Dst)%Npa (3)
Org=(Org-Dst)%Npa (4)
Cnt=(Cnt+1)%Nla (5)
LAtarget_(i+1)=(LAtarget_i+Dst)%Npa (6)
PAnext_(i+1)=(LAtarget_(i+1)+Org-Dst)%Npa
=(LAtarget_i+Org)%Npa
=PAcurrent_i (7)
PAaccess=(LAaccess+Org)%Npa (8)
PAaccess=(LAaccess+Org+Dst)%Npa (9)
Raccess=LAaccess%Dst (10)
Cturn2=floor(LAaccess/Dst) (11)
Rfirst=(Nla+Dst)%Npa (12)
Qtmp=floor(Nla/Dst) (13)
Rtmp2=Nla%Dst (14)
Rnext=Rtmp-Nla%Dst-1 (15)
第1の実施形態では、Rtmpと論理アドレスの総数Nlaを距離Dstで除算した剰余Rtmp2との比較に基づいてNgrpが演算された(S307〜S311)。
第2の実施形態によれば、論理アドレスの総数Nlaの約数が、距離Dstとして設定される。第3の実施形態では、さらに、論理アドレスの総数Nlaおよび距離Dstがともに2のべき乗によって構成される。こうすることで、論理アドレスLAaccessが更新されるターンCturn1を演算する手順をビット演算によって実現することが可能になる。
Lower_addr=LAaccess&(1<<Log2(Dst)) (16)
Lower_addr=/Lower_addr (17)
Higher_addr=LAaccess>>Log2(Dst) (18)
Cturn1=(Lower_addr<<(Log2(Nla)-Log2(Dst)))|Higher_addr (19)
第1〜第3の実施形態によれば、各更新において、データが移動せしめられる(S104、S105)。プロセッサ11は、物理アドレスPAcurrentが無効な論理アドレスに対応付けられていることが分かっている場合には、S104およびS105をスキップしてもよい。
距離Dstは、可変に構成され得る。プロセッサ11は、全ての対の更新を完了した場合に、距離Dstを変更することができる。全ての対の更新を完了した場合とは、具体的には、カウント値Cntが論理アドレスの総数Nlaと一致すると判定したタイミングから次にS101の処理が実行されるまでの期間に対応する。
第1〜第5の実施形態では、プロセッサ11は、マッピングが基本状態になる毎に、カウント情報123に記録されたカウント値Cntをゼロでリセットし、原点情報121に記録された原点Orgを更新する。原点情報121は、マッピングが基本状態になる毎に更新されなくてもよい。また、カウント情報123は、マッピングが基本状態になる毎にゼロでリセットされなくてもよい。
Cnt=Cnt’%Nla (20)
Org=(Org_init-(Dst*floor(Cnt’/Nla)))%Npa (21)
第1〜第6の実施形態を構成するアルゴリズムは、剰余演算を含んでいる。プロセッサ11は、剰余演算を他の演算方法で代用することが可能である。
Claims (10)
- ホストに接続可能なメモリシステムであって、
不揮発性の第1メモリと、
連続する第1の数の論理アドレスのそれぞれと前記第1の数の物理アドレスのそれぞれに1対1に対応付け、前記第1の数の物理アドレスは前記第1メモリの連続する第2の数の物理アドレスに含まれ、前記第2の数は前記第1の数よりも少なくとも1多く、前記第1の数の論理アドレスと前記第1の数の物理アドレスとの対応関係を更新するコントローラと、
距離情報および前記第1の数の論理アドレスのうちの先頭の論理アドレスに対応付けられた物理アドレスを示す原点情報が格納される第2メモリと、
を備え、
前記対応関係を更新する処理は、
前記第1の数の論理アドレスのうちの第1論理アドレスに前記第2の数の物理アドレスのうちの第1物理アドレスを対応づける第1更新と、
前記第1更新の後、前記原点情報と前記距離情報とに基づいて、前記第1の数の論理アドレスのうちの、前記第1論理アドレスから前記距離情報に応じた値だけ離れた第2論理アドレスを求め、前記第2論理アドレスに、前記第2の数の物理アドレスのうちの第2物理アドレスを対応付ける第2更新と、
を含み、
前記第2物理アドレスは、前記第1更新の実行前に前記第1論理アドレスに対応付けられていた物理アドレスである、
メモリシステム。 - 前記対応関係を更新する処理は、前記第2更新を含む1以上の第3更新を含み、
前記第3更新は、
前記原点情報と前記距離情報とに基づいて、前記第1の数の論理アドレスのうちの第3論理アドレスを求め、前記第3論理アドレスに、前記第2の数の物理アドレスのうちの第3物理アドレスを対応付ける処理であり、
前記第3論理アドレスは第4論理アドレスから前記距離情報に応じた値だけ離れた論理アドレスであり、
前記第4論理アドレスは、前記第1の数の論理アドレスのうちの前回の更新の対象の論理アドレスであり、
前記第3物理アドレスは、前記前回の更新の前に前記第4論理アドレスに対応付けられていた物理アドレスである、
請求項1に記載のメモリシステム。 - 前記コントローラは、
実行された更新の回数である第3の数をカウントし、
アクセス先を特定する場合、前記アクセス先を示す第5論理アドレスが更新されるまでに要する更新の回数である第4の数を、前記第5論理アドレスと前記距離情報とに基づいて演算し、前記第4の数が前記第3の数よりも大きい場合、前記第5論理アドレスに対応付けられた第4物理アドレスを前記第5論理アドレスと前記原点情報とに基づいて求め、前記第4の数が前記第3の数よりも小さい場合、前記第5論理アドレスと前記原点情報と前記距離情報とに基づいて前記第4物理アドレスを求める、
請求項2に記載のメモリシステム。 - 前記コントローラは、
各第3更新において、前記第1の数に対し、前記原点情報の減算と、更新の実行毎の前記距離情報の加算と、を実行して第5の数を求め、前記第5の数を前記第2の数で除算した第1剰余を求め、前記第1剰余に基づいて前記第3論理アドレスを求め、
前記第5論理アドレスを前記距離情報で除算した商と第2剰余とを求め、前記商と前記第2剰余とに基づいて前記第4の数を求める、
請求項3に記載のメモリシステム。 - 前記距離情報は前記第1の数の約数である、
請求項4に記載のメモリシステム。 - 前記距離情報および前記第1の数は、2のべき乗である、
請求項5に記載のメモリシステム。 - 前記コントローラは、前記第1の数に対し、前記原点情報の減算と、更新の実行毎の前記距離情報の加算と、を実行して第5の数を求め、前記第5の数を前記第2の数で除算した第1剰余を求め、前記第1剰余に基づいて前記第3論理アドレスを求める、
請求項2に記載のメモリシステム。 - 前記コントローラは、前記第1の数の論理アドレスの全てにかかる対応関係の更新を完了した場合、前記原点情報を更新する、
請求項2に記載のメモリシステム。 - 前記コントローラは、
前記第3論理アドレスが無効であるか否かを判定し、
前記第3論理アドレスが無効でない場合、第5物理アドレスが示す位置に格納されているデータを前記第3物理アドレスが示す位置に移動させ、前記第5物理アドレスは前記第3論理アドレスに前記第3物理アドレスが対応づけられる前に前記第3論理アドレスに対応付けられていた物理アドレスであり、
前記第3論理アドレスが無効である場合、前記データの移動を実行しない、
請求項2に記載のメモリシステム。 - 前記コントローラは、前記第1の数の論理アドレスの全てにかかる対応関係の更新を完了した場合、前記距離情報を更新する、
請求項3に記載のメモリシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017179593A JP2019056981A (ja) | 2017-09-19 | 2017-09-19 | メモリシステム |
US15/914,604 US10552314B2 (en) | 2017-09-19 | 2018-03-07 | Memory system and method for ware leveling |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017179593A JP2019056981A (ja) | 2017-09-19 | 2017-09-19 | メモリシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019056981A true JP2019056981A (ja) | 2019-04-11 |
Family
ID=65721474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017179593A Pending JP2019056981A (ja) | 2017-09-19 | 2017-09-19 | メモリシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10552314B2 (ja) |
JP (1) | JP2019056981A (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7020989B2 (ja) * | 2018-04-23 | 2022-02-16 | 株式会社メガチップス | 不揮発性記憶装置、メモリ制御装置、及びメモリ制御方法 |
US11507296B2 (en) * | 2021-03-10 | 2022-11-22 | Micron Technology, Inc. | Repair operation techniques |
JP2023001826A (ja) * | 2021-06-21 | 2023-01-06 | キオクシア株式会社 | 半導体記憶装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9158672B1 (en) * | 2011-10-17 | 2015-10-13 | Rambus Inc. | Dynamic deterministic address translation for shuffled memory spaces |
JP2016170703A (ja) * | 2015-03-13 | 2016-09-23 | 富士通株式会社 | 記憶装置、記憶装置の制御方法、及び情報処理システム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8255613B2 (en) | 2009-04-30 | 2012-08-28 | International Business Machines Corporation | Wear-leveling and bad block management of limited lifetime memory devices |
JP2011203916A (ja) | 2010-03-25 | 2011-10-13 | Toshiba Corp | メモリコントローラ、および半導体記憶装置 |
US20120311228A1 (en) * | 2011-06-03 | 2012-12-06 | Advanced Micro Devices, Inc. | Method and apparatus for performing memory wear-leveling using passive variable resistive memory write counters |
US10282286B2 (en) | 2012-09-14 | 2019-05-07 | Micron Technology, Inc. | Address mapping using a data unit type that is variable |
WO2014110095A1 (en) | 2013-01-08 | 2014-07-17 | Violin Memory Inc. | Method and system for data storage |
US9811456B2 (en) * | 2014-11-26 | 2017-11-07 | Advanced Micro Devices, Inc. | Reliable wear-leveling for non-volatile memory and method therefor |
-
2017
- 2017-09-19 JP JP2017179593A patent/JP2019056981A/ja active Pending
-
2018
- 2018-03-07 US US15/914,604 patent/US10552314B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9158672B1 (en) * | 2011-10-17 | 2015-10-13 | Rambus Inc. | Dynamic deterministic address translation for shuffled memory spaces |
JP2016170703A (ja) * | 2015-03-13 | 2016-09-23 | 富士通株式会社 | 記憶装置、記憶装置の制御方法、及び情報処理システム |
Also Published As
Publication number | Publication date |
---|---|
US20190087324A1 (en) | 2019-03-21 |
US10552314B2 (en) | 2020-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8407410B2 (en) | Wear-leveling and bad block management of limited lifetime memory devices | |
US10475518B2 (en) | Memory system, memory system control method, and program | |
JP2020003838A (ja) | メモリシステム | |
JP6674361B2 (ja) | メモリシステム | |
US20130311704A1 (en) | Data storage device and method for flash block management | |
KR101687502B1 (ko) | 메모리 제어기, 데이터 기억 장치 및 메모리 제어 방법 | |
JP2019056981A (ja) | メモリシステム | |
US20180276129A1 (en) | Pre-fetching in a memory system configured with synthesized logical blocks | |
US9274721B2 (en) | Nonvolatile memory device and data management method thereof | |
US9239757B2 (en) | Method and apparatus for relocating data in non-volatile memory | |
KR101510120B1 (ko) | 메모리 장치 및 메모리 장치의 관리 방법 | |
JP5093294B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US10083120B2 (en) | Memory system, and address mapping method and access method thereof | |
KR20140122730A (ko) | 메모리 컨트롤러, 데이터 기억 장치 및 메모리의 제어 방법 | |
US10275187B2 (en) | Memory device and data read method thereof | |
US20180260127A1 (en) | Management device, information processing apparatus, and management method | |
JP2020113187A (ja) | メモリシステム | |
JP2018160060A (ja) | メモリシステム | |
JP2021047963A (ja) | メモリシステム | |
US10438655B2 (en) | Apparatuses and methods of distributing addresses in memory devices for mitigating write disturbance | |
JP2007179479A (ja) | メモリコントローラおよびフラッシュメモリシステム | |
JP2014199705A (ja) | 不揮発性半導体装置 | |
JP4661566B2 (ja) | アクセスコントローラ、フラッシュメモリシステム及びアクセス制御方法 | |
KR20200073108A (ko) | Pram 블록들 내 카피백 및 쓰기의 통합을 위한 방법 | |
JP7087013B2 (ja) | メモリシステムおよび不揮発性メモリの制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20180905 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191125 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210105 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210302 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210928 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20220329 |