WO2022191103A1 - メモリ制御方法 - Google Patents

メモリ制御方法 Download PDF

Info

Publication number
WO2022191103A1
WO2022191103A1 PCT/JP2022/009630 JP2022009630W WO2022191103A1 WO 2022191103 A1 WO2022191103 A1 WO 2022191103A1 JP 2022009630 W JP2022009630 W JP 2022009630W WO 2022191103 A1 WO2022191103 A1 WO 2022191103A1
Authority
WO
WIPO (PCT)
Prior art keywords
sector
sectors
physical
written
control method
Prior art date
Application number
PCT/JP2022/009630
Other languages
English (en)
French (fr)
Inventor
尚 上松
Original Assignee
株式会社デンソー
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 株式会社デンソー filed Critical 株式会社デンソー
Publication of WO2022191103A1 publication Critical patent/WO2022191103A1/ja
Priority to US18/463,161 priority Critical patent/US20230420057A1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/17Embedded application
    • G06F2212/173Vehicle or other transportation
    • 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/7202Allocation control and policies
    • 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/7211Wear leveling
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5648Multilevel memory programming, reading or erasing operations wherein the order or sequence of the operations is relevant

Definitions

  • This disclosure relates to a memory control method.
  • non-volatile memory that can be electrically erased all at once, that is, flash memory
  • erase disturb is a change in the amount of charge held in the floating gate of a non-selected memory cell due to a voltage applied to the non-selected memory cell during erasing of a selected memory cell.
  • Disturb is an undesired change in the threshold voltage of a memory cell that, if not addressed, will result in the loss of stored information.
  • An object of the present disclosure is to provide a memory control method that avoids erase disturb of flash memory.
  • the present disclosure relates to a memory control method for controlling write and erase operations in a memory device.
  • a memory device has a physical sector located on a p-well on a silicon substrate, the physical sector including a plurality of logical sectors connected to word lines.
  • data is written in page units, which are part of logical sectors, and an erase voltage is applied in physical sector units.
  • a physical sector is logically divided into at least two sectors, and collective erasing is performed in units of logically divided physical sectors.
  • erasing stress is also generated in non-erasing target logical sectors within the same physical sector each time an erasing voltage is applied, increasing the number of applications of erasing stress.
  • erasing is not performed when there are writable logical sectors, and control is performed so that batch erasing is performed when there are no writable logical sectors.
  • erase stress is generated only once for programmed cells. Therefore, erase disturb can be avoided.
  • FIG. 1 is a diagram showing a schematic configuration of a flash memory
  • FIG. 2 is a schematic configuration diagram of an electric power steering device
  • FIG. 3 is a diagram of configuration example 1 in which a flash memory is mounted inside a control unit of one microcomputer specification in an electric power steering device
  • FIG. 4 is a diagram of configuration example 2 in which an external flash memory is connected to a one-microcomputer specification control unit in an electric power steering device
  • FIG. 5 is a diagram of a configuration example 3 in which a flash memory is mounted inside a control unit of two microcomputer specifications in an electric power steering device.
  • FIG. 6 is a diagram of configuration example 4 in which an external flash memory is connected to a control unit of two microcomputer specifications in an electric power steering device.
  • FIG. 7 is a diagram for explaining the concept of the memory control method of this embodiment.
  • FIG. 8 is a supplementary diagram explaining the meaning of symbols n and m in the flow chart,
  • FIG. 9 is a flowchart of the memory control method of the first embodiment;
  • FIG. 10 is a flowchart of the memory control method of the second embodiment;
  • FIG. 11 is a sub-flowchart of S01B in FIG.
  • FIG. 12 is a flow chart of collective erasing in units of logically divided physical sectors;
  • FIG. 13 is a diagram for explaining the concept of the memory control method of the comparative example.
  • This memory control method is a method of controlling write and erase operations in a memory device.
  • a flash memory or a microcomputer equipped with a flash memory corresponds to a "memory device”.
  • the flash memory 4 has physical sectors provided on p-wells on the silicon substrate 7 .
  • a physical sector includes a plurality of logical sectors connected to word lines.
  • data is written in units of pages which are part of logical sectors, data is erased in units of logical sectors, and a data erase voltage is applied in units of physical sectors.
  • the code of physical sector 0 is denoted as Ps0, and the code of physical sector 1 is denoted as Ps1.
  • Physical sector 0 is provided on p-well 0 and physical sector 1 is provided on p-well 1 .
  • the code of logical sector 0 is denoted as Lg0, and the code of logical sector 1 is denoted as Lg1.
  • an object of the present embodiment is to provide a memory control method for avoiding erase disturbance of a flash memory.
  • the flash memory is used to store control information, abnormality information, and the like related to motor energization control.
  • FIG. 2 shows the overall configuration of a steering system 99 including the electric power steering device 1. Although a column-assist type electric power steering system is illustrated in FIG. 2, it may be a rack-assist type.
  • the control unit 1 is configured integrally with the motor 80, for example.
  • reference numerals "1" and "10" corresponding to FIGS. 3 and 4 are used as reference numerals for the electric power steering device and the control unit.
  • the reference numerals are replaced with “2” and “20”.
  • a steering system 99 includes a steering wheel 91, a steering shaft 92, a pinion gear 96, a rack shaft 97, wheels 98, an electric power steering device 90, and the like.
  • a pinion gear 96 provided at the tip of the steering shaft 92 meshes with a rack shaft 97 .
  • a pair of wheels 98 are provided at both ends of the rack shaft 97 .
  • the electric power steering device 1 includes a steering torque sensor 94, a control unit 10, a motor 80 and the like.
  • a steering torque sensor 94 detects the steering torque of the driver.
  • the control unit 10 calculates a voltage command according to the required torque calculated from information such as the steering torque, and supplies electric power generated by the inverter to the motor 80 .
  • the steering assist torque output by the motor 80 is transmitted to the steering shaft 92 via the reduction gear.
  • Figures 3 to 6 show configuration examples in which a flash memory is used in the microcomputer that constitutes the control unit of the electric power steering system.
  • 3 and 4 correspond to FIG. 3 of Japanese Patent Laying-Open No. 2019-119417 (corresponding US publication: US2019/0210637A1), and a flash memory is used in the control section of one microcomputer specification.
  • 5 and 6 correspond to FIG. 15 of the same document, and a flash memory is used in the control section of the two-microcomputer specification.
  • the electric power steering device 1 has a control unit 10 and a motor 80 .
  • the motor 80 is a double winding three-phase brushless motor having two sets of three-phase windings 180 and 280 .
  • the control unit 10 includes two systems of inverters 110 and 210 provided corresponding to each winding set 180 and 280, a rotation angle sensor 30, and one microcomputer 50.
  • the rotation angle sensor 30 includes two sensor units 130 and 230 and calculates angle information of the motor 80 .
  • the microcomputer 50 includes two systems of energization control units 150 and 250, an angle calculation unit 55, and an abnormality monitoring unit 56.
  • the energization control units 150 and 250 of each system control energization from the inverters 110 and 210 to the winding sets 180 and 280 by current feedback control.
  • the angle calculator 55 calculates the electrical angle ⁇ based on the angle information acquired from the rotation angle sensor 30 .
  • the electrical angle ⁇ is used for coordinate conversion calculations of vector control in the energization control units 150 and 250 .
  • the abnormality monitoring unit 56 monitors abnormality of the rotation angle sensor 30 .
  • a flash memory 43 is mounted inside the microcomputer 50 .
  • an external flash memory 44 is connected to each microcomputer 50 .
  • the flash memories 43 and 44 store information about control calculations of the microcomputer 50, abnormality information, and the like.
  • the electric power steering device 2 has a control unit 20 and a motor 80 .
  • the control unit 20 includes two systems of inverters 110, 210, two sensor units 130, 230, and two microcomputers 160, 260 provided corresponding to the respective winding sets 180, 280, respectively. That is, all the components including the microcomputer are provided redundantly for each system.
  • the first microcomputer 160 includes an energization control section 150, an angle calculation section 165, and an abnormality monitoring section 166.
  • the energization control unit 150 controls energization from the first inverter 110 to the first winding set 180 by current feedback control.
  • the angle calculator 165 calculates the electrical angle ⁇ 1 based on the angle information acquired from the first sensor 130 .
  • the electrical angle ⁇ 1 is used in the energization control unit 150 for coordinate conversion calculations of vector control and the like.
  • the abnormality monitoring unit 166 monitors abnormality of the first sensor unit 130 .
  • the second microcomputer 260 includes an energization control section 250 , an angle calculation section 265 and an abnormality monitoring section 266 .
  • the energization control unit 250 controls energization from the second inverter 210 to the second winding set 280 by current feedback control.
  • the angle calculator 265 calculates the electrical angle ⁇ 2 based on the angle information acquired from the second sensor section 230 .
  • the electrical angle ⁇ 2 is used in the energization control unit 250 for coordinate conversion calculations of vector control and the like.
  • the abnormality monitoring section 266 monitors abnormality of the second sensor section 230 .
  • external flash memories 144 and 244 are connected to microcomputers 160 and 260, respectively.
  • the flash memories 143, 144, 243, 244 store information about control calculations of the microcomputers 160, 260, abnormality information, and the like.
  • the in-vehicle system needs to record information such as control information and abnormality information during running, and the flash memories 43, 44, 143, 144, 243, and 244 in the market Writing and erasing are repeated.
  • FIG. 13 shows a concept of a memory control method for writing and erasing data in a physical sector in an arbitrary order as a comparative example.
  • the comparative example corresponds to a control method recognized as a general prior art in the technical field of flash memory.
  • physical sector 0 includes 64 logical sectors 0 to 63 .
  • a specific logical sector for example, logical sector 4
  • data in non-selected logical sectors disappears or becomes garbled due to erase disturb, as indicated by impact marks.
  • physical sector 0 is logically divided in advance into at least two sectors, namely physical sector 0_1 and physical sector 0_2.
  • physical sector 0_1 includes 32 logical sectors 0-31
  • physical sector 0_2 includes 32 logical sectors 32-63.
  • erasing stress when erasing is arbitrarily performed within a physical sector, every time an erasing voltage is applied, erasing stress also occurs in non-erase target logical sectors within the same physical sector. increases.
  • erasing is not performed when there is a writable logical sector, and control is performed so that batch erasing is performed when there is no writable logical sector. As a result, erasing stress is generated only once for programmed cells. Therefore, erase disturb can be avoided.
  • n means the number of logical divisions of the physical sector.
  • m means the sector number of the physical sector divided into n, and is defined in the range of "1 ⁇ m ⁇ n”.
  • the physical sector consists only of the leading sector and the last sector.
  • the physical sectors other than the top sector and the last sector are called “intermediate sectors”.
  • the second sector is the intermediate sector.
  • the subject of the flowchart processing is, for example, the memory control unit in the microcomputer.
  • the active sentences such as "The memory control unit will .
  • S10 it is determined whether there is an empty page in the m-th sector. If YES in S10, data is written in the mth sector in S13. In S14, a write completion flag is written in the mth sector. Based on this write completion flag, the address of the next logical sector to be written is determined.
  • S10 If NO in S10, proceed to S20.
  • S32 to S34 the processing of S32 to S34 is performed with the m-th sector at this time as the sector to be processed.
  • arbitrary data of the 1st to (m-1)th sectors are copied to the mth sector.
  • data is written to the m-th sector.
  • S34 a write completion flag is written in the mth sector.
  • S35A the flags and data of the 1st to (m-1)th sectors are erased.
  • a write completion flag indicating that writing has been performed is further written. Based on the write completion flag, the address of the next logical sector to be written is determined. Using the write completion flag facilitates determination by the memory control unit.
  • the writing to the logical sector is performed in a predetermined order. As a result, it is possible to reliably determine the presence or absence of writing according to a predetermined procedure. In addition, it is possible to control so that the erase voltage stress to the written cell is only once.
  • Any data written in the logically divided physical sector is copied to another unwritten logically divided physical sector before the data in the logically divided physical sector is collectively erased. . This prevents loss of potentially usable data.
  • (Second embodiment) 10 and 11 are referred to.
  • the routine of FIG. 10 starts with a write request.
  • S01B a currently valid "logically divided physical sector" is searched.
  • the search method is different from the portion "by checking the write completion flag" in the first embodiment.
  • S01B The search method for S01B is shown in the sub-flowchart of FIG.
  • S03 it is determined whether all pages of the m-th sector are unwritten. If all pages of the m-th sector are unwritten, YES is determined in S03, and the process proceeds to S06. If at least some pages of the m-th sector have been written, NO is determined in S03, and the process proceeds to S05.
  • S03 can be changed to the reverse determination step S04 of "Has at least some pages of the m-th sector been written?"
  • S04 if YES is determined, the process proceeds to S05, and if NO is determined, the process proceeds to S06.
  • valid sector The currently valid "logically divided physical sector" of S01B is abbreviated as “valid sector”.
  • the outline of steps from S10 to S35B is the same as in FIG. 9 of the first embodiment.
  • S14, S24, and S34 regarding writing of the write completion flag are absent.
  • the "flag & data clear" in S25A and S35A of FIG. 9 is changed to "data clear” in S25B and S35B of FIG.
  • the steps from S10 onward are executed in the same manner as in FIG. 9 except for the write completion flag.
  • the address of the next logical sector to be written is determined based on whether or not data has been written in the logically divided physical sector. be. As a result, control similar to that of the first embodiment is possible without using the write completion flag.
  • a specific operating method for realizing the memory control method of the present disclosure is not limited to the methods shown in the flowcharts of FIGS.
  • the order of searching for currently valid "logically divided physical sectors" may be changed. Writing to logical sectors does not necessarily have to occur in a predetermined order.
  • the memory control method of the present disclosure may be applied not only to the control unit of the electric power steering device, but also to the control unit of any device using flash memory.
  • the present disclosure is particularly effective in systems in which data is frequently written and erased.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

このメモリ制御方法では、メモリデバイス(4)において書き込み及び消去に係る動作を制御する。メモリデバイス(4)は、シリコン基板(7)上のpウエル上に設けられた物理セクタ(Ps0、Ps1)を有し、物理セクタ(Ps0、Ps1)は、ワードラインに接続された論理セクタ(Lg0~Lg63)を複数含む。論理セクタの一部であるページ単位でデータの書き込みが行われ、論理セクタ単位でデータの消去が行われ、物理セクタ単位で消去電圧が印加される。物理セクタ(Ps0)は、少なくとも二つのセクタ(Ps01、Ps02)に論理分割され、論理分割された物理セクタ(Ps01、Ps02)の単位で一括消去が行われる。

Description

メモリ制御方法 関連出願の相互参照
 本出願は、2021年3月9日に出願された特許出願番号2021-036806号に基づくものであり、ここにその記載内容を援用する。
 本開示は、メモリ制御方法に関する。
 従来、電気的に一括消去可能な不揮発性メモリ、すなわちフラッシュメモリにおいて、消去を頻繁に行うと、消去ディスターブにより非消去対象データのデータ化けが発生するという課題があることが知られている。例えば特許文献1によると、消去ディスターブは、選択したメモリセルの消去中において、非選択状態のメモリセルに印加される電圧により、非選択状態のメモリセルのフローティングゲートの電荷保持量が変化することを意味する。ディスターブは、希望しないメモリセルのしきい値電圧が変化するものであり、対策を講じない場合、記憶情報が失われるという結果をもたらす。
特許第3397847号公報
 特許文献1等にも指摘されている通り、フラッシュメモリでは、論理セクタのデータ消去時、同一物理セクタ内の論理セクタが消去ストレスの影響を受け、書き込み済みデータのデータ化けが発生する可能性がある。通常、フラッシュメモリは、数千回の消去ストレスの印加に対して非消去セクタのデータ化けが無いように設計されることが多い。しかし、内部動作パラメータやメモリの設計仕様により、数十回の消去ストレスで消去ディスターブによるデータ化けが発生する場合がある。
 この問題に対し、半導体メーカーによるフラッシュメモリ自体のディスターブ耐性を向上させる製品開発とは別に、フラッシュメモリを使用するユーザーの視点から、消去ディスターブが発生しにくくなるように使用方法を改善するアプローチに着目する。
 本開示の目的は、フラッシュメモリの消去ディスターブを回避するメモリ制御方法を提供することにある。
 本開示は、メモリデバイスにおいて、書き込み及び消去に係る動作を制御するメモリ制御方法に係る。メモリデバイスは、シリコン基板上のpウエル上に設けられた物理セクタを有し、物理セクタは、ワードラインに接続された論理セクタを複数含む。このメモリデバイスは、論理セクタの一部であるページ単位でデータの書き込みが行われ、物理セクタ単位で消去電圧が印加される。
 本開示では、物理セクタは、少なくとも二つのセクタに論理分割され、論理分割された物理セクタの単位で一括消去が行われる。
 物理セクタ内で消去が任意に行われると、消去電圧が印加される度に同一物理セクタ内の非消去対象論理セクタへも消去ストレスが発生するため、消去ストレスの印加回数が増大する。
 それに対し、本開示のメモリ制御方法では、書き込み可能な論理セクタが有るときは消去を行わず、書き込み可能な論理セクタが無くなった時点で一括消去するように制御する。これにより、書き込み済みセルに対する消去ストレスの発生が1回のみになる。したがって、消去ディスターブを回避することができる。
 本開示についての上記目的及びその他の目的、特徴や利点は、添付の図面を参照しながら下記の詳細な記述により、より明確になる。その図面は、
図1は、フラッシュメモリの概略構成を示す図であり、 図2は、電動パワーステアリング装置の概略構成図であり、 図3は、電動パワーステアリング装置における1マイコン仕様の制御部内部にフラッシュメモリが搭載された構成例1の図であり、 図4は、電動パワーステアリング装置における1マイコン仕様の制御部に対し外付けフラッシュメモリが接続された構成例2の図であり、 図5は、電動パワーステアリング装置における2マイコン仕様の制御部内部にフラッシュメモリが搭載された構成例3の図であり、 図6は、電動パワーステアリング装置における2マイコン仕様の制御部に対し外付けフラッシュメモリが接続された構成例4の図であり、 図7は、本実施形態のメモリ制御方法の概念を説明する図であり、 図8は、フローチャート中の記号n、mの意味を説明する補足図であり、 図9は、第1実施形態のメモリ制御方法のフローチャートであり、 図10は、第2実施形態のメモリ制御方法のフローチャートであり、 図11は、図10のS01Bのサブフローチャートであり、 図12は、論理分割された物理セクタ単位での一括消去のフローチャートであり、 図13は、比較例のメモリ制御方法の概念を説明する図である。
 本開示のメモリ制御方法の実施形態を図面に基づいて説明する。このメモリ制御方法は、メモリデバイスにおいて、書き込み及び消去に係る動作を制御する方法である。フラッシュメモリ、又は、フラッシュメモリを搭載したマイコンが「メモリデバイス」に相当する。
 図1を参照し、「メモリデバイス」としてのフラッシュメモリの概略構成について説明する。フラッシュメモリ4は、シリコン基板7上のpウエル上に設けられた物理セクタを有する。物理セクタは、ワードラインに接続された論理セクタを複数含む。このフラッシュメモリ4は、論理セクタの一部であるページ単位でデータの書き込みが行われ、論理セクタ単位でデータの消去が行われ、物理セクタ単位でデータの消去電圧が印加される。
 図1において、物理セクタ0の符号をPs0と記し、物理セクタ1の符号をPs1と記す。物理セクタ0はpウエル0上に設けられており、物理セクタ1はpウエル1上に設けられている。また、論理セクタ0の符号をLg0と記し、論理セクタ1の符号をLg1と記す。
 フラッシュメモリは、内部動作パラメータやメモリの設計仕様により、数十回の消去ストレスで消去ディスターブによるデータ化けが発生する場合がある。そこで本実施形態では、フラッシュメモリの消去ディスターブを回避するメモリ制御方法を提供することを目的とする。
 次に図2~図6を参照し、電動パワーステアリング装置における操舵アシストモータの制御部にフラッシュメモリを用いた構成例について説明する。フラッシュメモリは、モータの通電制御に係る制御情報や異常情報等の記憶に用いられる。
 図2に、電動パワーステアリング装置1を含むステアリングシステム99の全体構成を示す。図2にはコラムアシスト式の電動パワーステアリング装置を例示するが、ラックアシスト式でもよい。制御ユニット1は、例えばモータ80と一体に構成されている。なお図2では、電動パワーステアリング装置及び制御ユニットの符号として、図3、図4に対応する符号「1」、「10」を用いる。図5、図6に対応する場合、符号が「2」、「20」に代わる。
 ステアリングシステム99は、ハンドル91、ステアリングシャフト92、ピニオンギア96、ラック軸97、車輪98および電動パワーステアリング装置90等を含む。ステアリングシャフト92の先端に設けられたピニオンギア96は、ラック軸97に噛み合っている。ラック軸97の両端には一対の車輪98が設けられている。ドライバがハンドル91を回転させると、ハンドル91に接続されたステアリングシャフト92が回転する。ステアリングシャフト92の回転運動は、ピニオンギア96によりラック軸97の直線運動に変換され、ラック軸97の変位量に応じた角度に一対の車輪98が操舵される。
 電動パワーステアリング装置1は、操舵トルクセンサ94、制御ユニット10、モータ80等を含む。操舵トルクセンサ94はドライバの操舵トルクを検出する。制御ユニット10は、操舵トルク等の情報から演算された要求トルクに応じて電圧指令を演算し、インバータで生成した電力をモータ80に供給する。モータ80が出力した操舵アシストトルクは、減速ギアを介してステアリングシャフト92に伝達される。
 図3~図6に、電動パワーステアリング装置の制御部を構成するマイコンにフラッシュメモリが利用された構成例を示す。図3及び図4は、特開2019-119417号公報(対応US公報:US2019/0210637A1)の図3に対応し、1マイコン仕様の制御部にフラッシュメモリが利用されている。図5及び図6は、同文献の図15に対応し、2マイコン仕様の制御部にフラッシュメモリが利用されている。
 まず図3、図4を参照する。電動パワーステアリング装置1は、制御ユニット10及びモータ80を備える。モータ80は二組の三相巻線組180、280を有する二重巻線式の三相ブラシレスモータである。制御ユニット10は、各巻線組180、280に対応して設けられた二系統のインバータ110、210、回転角センサ30、及び、一つのマイコン50を含む。回転角センサ30は二つのセンサ部130、230を含み、モータ80の角度情報を演算する。
 マイコン50は、二系統の通電制御部150、250、角度演算部55、及び異常監視部56を含む。各系統の通電制御部150、250は、電流フィードバック制御により、インバータ110、210から巻線組180、280への通電を制御する。角度演算部55は、回転角センサ30から取得した角度情報に基づいて電気角θを演算する。電気角θは、通電制御部150、250においてベクトル制御の座標変換演算等に用いられる。異常監視部56は、回転角センサ30の異常を監視する。
 フェールセーフ性が要求される電動パワーステアリング装置では、このような冗長構成を用いることで、一方の系統に異常が生じた場合でも、正常な他方の系統で操舵アシストモータの駆動を継続することができるようにしている。その分、マイコン50が処理する情報量は増大し、各種情報を頻繁に記憶、更新する必要が生じる。
 図3に示す構成例1では、マイコン50の内部にフラッシュメモリ43が搭載されている。図4に示す構成例2では、各マイコン50に外付けフラッシュメモリ44が接続されている。フラッシュメモリ43、44は、マイコン50の制御演算に関する情報や異常情報等を記憶する。
 次に図5、図6を参照する。図5、図6において図3、図4と実質的に同一の構成には同一の符号を付して重複する説明を省略する。電動パワーステアリング装置2は、制御ユニット20及びモータ80を備える。制御ユニット20は、各巻線組180、280に対応して設けられた二系統のインバータ110、210、二つのセンサ部130、230、及び、二つのマイコン160、260を含む。つまり、マイコンを含む全ての構成要素が系統毎に冗長的に設けられている。
 第1マイコン160は、通電制御部150、角度演算部165、及び異常監視部166を含む。通電制御部150は、電流フィードバック制御により、第1インバータ110から第1巻線組180への通電を制御する。角度演算部165は、第1センサ部130から取得した角度情報に基づいて電気角θ1を演算する。電気角θ1は、通電制御部150においてベクトル制御の座標変換演算等に用いられる。異常監視部166は、第1センサ部130の異常を監視する。
 第2マイコン260は、通電制御部250、角度演算部265、及び異常監視部266を含む。通電制御部250は、電流フィードバック制御により、第2インバータ210から第2巻線組280への通電を制御する。角度演算部265は、第2センサ部230から取得した角度情報に基づいて電気角θ2を演算する。電気角θ2は、通電制御部250においてベクトル制御の座標変換演算等に用いられる。異常監視部266は、第2センサ部230の異常を監視する。
 図5に示す構成例3では、各マイコン160、260の内部にフラッシュメモリ143、243が搭載されている。図6に示す構成例4では、各マイコン160、260に外付けフラッシュメモリ144、244が接続されている。フラッシュメモリ143、144、243、244は、マイコン160、260の制御演算に関する情報や異常情報等を記憶する。
 上記の構成例1~4に共通し、車載システムでは走行中の制御情報、異常情報などの情報を記録する必要があり、市場においてもフラッシュメモリ43、44、143、144、243、244は、書き込みと消去とが繰り返されることとなる。
 次に図7および図13を参照し、本実施形態のメモリ制御方法の概念を、比較例と対比しつつ説明する。図13に比較例として、物理セクタ内のデータの書き込み及び消去を任意の順番で行うメモリ制御方法の概念を示す。比較例は、フラッシュメモリの技術分野における一般的な従来技術と認識される制御方法に相当する。
 図7、図13には、図1との対照の意味で、物理セクタの符号Ps0、Ps1、及び、論理セクタの符号Lg0~Lg63を記載している。さらに図7には、「論理分割された物理セクタ」の符号としてPs01、Ps02を記載している。セクタの名称と符号とが実質的に重複するため、明細書中ではこれらの符号の記載を省略する。
 図13に示す比較例のフラッシュメモリでは、物理セクタ0に64個の論理セクタ0~論理セクタ63が含まれる。特定の論理セクタ(例えば論理セクタ4)で高頻度の書き込み及び消去を行うと、衝撃マークで示すように、消去ディスターブによって非選択の論理セクタのデータが消えたり、データ化けが発生したりする。
 それに対し本実施形態のフラッシュメモリでは、図7に示すように、物理セクタ0が予め少なくとも二つのセクタ、すなわち物理セクタ0_1及び物理セクタ0_2に論理分割されている。例えば物理セクタ0_1には32個の論理セクタ0~論理セクタ31が含まれ、物理セクタ0_2には32個の論理セクタ32~論理セクタ63が含まれる。
 物理セクタ0_1にデータが書き込まれるとき、論理セクタ0、論理セクタ1、論理セクタ2、論理セクタ3・・・の順に書き込まれる。物理セクタ0_1の全部の論理セクタにデータが書き込まれるまで消去は行われない。
 物理セクタ0_1のデータが消去される場合、必要なデータが物理セクタ0_2にコピーされてから物理セクタ0_1のデータが消去される。その後、物理セクタ0_2が使用される。物理セクタ0_2のデータが一杯になったら、同様に物理セクタ0_2のデータが物理セクタ0_1にコピーされてから物理セクタ0_2のデータが消去される。このように、論理分割された物理セクタの単位で一括消去が行われる。
 比較例のように、物理セクタ内で消去が任意に行われると、消去電圧が印加される度に同一物理セクタ内の非消去対象論理セクタへも消去ストレスが発生するため、消去ストレスの印加回数が増大する。それに対し、本実施形態のメモリ制御方法では、書き込み可能な論理セクタが有るときは消去を行わず、書き込み可能な論理セクタが無くなった時点で一括消去するように制御する。これにより、書き込み済みのセルに対する消去ストレスの発生が1回のみになる。したがって、消去ディスターブを回避することができる。
 続いて、図7に示すメモリ制御方法の概念を実現する具体的な動作方法について、第1及び第2実施形態に分け、フローチャート等を参照して説明する。フローチャートの説明で記号「S」はステップを意味する。第2実施形態において第1実施形態と実質的に同一のステップには同一のステップ番号を付して説明を省略する。また、一部異なるステップについては、第1実施形態のステップ番号の末尾に「A」、第2実施形態のステップ番号の末尾に「B」を付して区別する。
 まず図8を参照し、各フローチャート中で用いられる自然数の記号n、mの意味を説明する。図8に関しても、明細書中では、Ps0、Ps01、Ps02の符号の記載を省略する。nは、物理セクタの論理分割数を意味する。図8に示す例では、物理セクタ0は二つの物理セクタ0_1及び物理セクタ0_2に論理分割されており、「n=2」である。mは、n個に分割された物理セクタのセクタ番号を意味し、「1≦m≦n」の範囲で定義される。物理セクタ0_1のセクタ番号は「m=1」であり、物理セクタ0_2のセクタ番号は「m=2」である。
 フローチャートおよび以下の説明において文脈から自明な箇所では、「論理分割された物理セクタ」を省略し、単に「物理セクタ」又は「m番目セクタ」のように記す。フローチャート中の多くの箇所で、「m番目セクタ」は、現在処理対象となっているセクタを表す用語として用いられる。先頭セクタから、2番目、3番目・・・という順番で処理対象セクタを変更することを「処理対象セクタを繰り下げる」というように表現する。
 「m=1」である1番目セクタを「先頭セクタ」ともいい、「m=n」であるn番目セクタを「最終セクタ」ともいう。「n=2」の場合、物理セクタは先頭セクタ及び最終セクタのみで構成される。「n≧3」の場合、先頭セクタ及び最終セクタ以外の物理セクタを「中間セクタ」という。例えば「n=3」のとき、2番目セクタは中間セクタである。
 フローチャートの処理の主体は、例えばマイコン内のメモリ制御部である。フローチャートの説明では「メモリ制御部は、~する。」という能動態の文章が連続するのを避け、基本的に「物理セクタは、~される。」という受動態の文章で記載する。
 (第1実施形態)
 図9を参照する。第1実施形態のメモリ制御方法では、データ書き込み時に、書き込みを行ったことを示す書き込み完了フラグが同時に書き込まれる。図9のルーチンは、書き込み要求によりスタートする。S01Aでは、書き込み完了フラグの確認により、現在有効な「論理分割された物理セクタ」が探索される。
 S10では、m番目セクタに空きページがあるか判断される。S10でYESの場合、S13で、m番目セクタにデータが書き込まれる。S14では、m番目セクタに書き込み完了フラグが書き込まれる。この書き込み完了フラグに基づいて、次に書き込みを行う論理セクタのアドレスが判定される。
 S10でNOの場合、S20に移行する。S20では「m=n」であるか、つまり空きページが無いセクタが最終セクタであるか判断される。最終セクタに空きページが無い場合、YESと判断される。
 S20でYESの場合、S21で「m=1」にセットされ、先頭セクタを処理対象セクタとして、S22~S24の処理が行われる。S22では、m番目セクタにn番目セクタ(すなわち最終セクタ)の任意のデータがコピーされる。S23では、m番目セクタにデータが書き込まれる。S24では、m番目セクタに書き込み完了フラグが書き込まれる。S25Aでは、n番目セクタ(すなわち最終セクタ)のフラグ及びデータが消去される。
 S20でNOの場合、S29で「m=m+1」に繰り下げられた後、S30で再び「m=n」であるか判断される。「n=2」の場合、S29後には「m=2」しかなく、S30では必ずYESと判断される。「n=3」の場合、S29後に「m=3」ならばS30でYESと判断され、S29後に「m=2」ならばS30でNOと判断される。
 S30でYESの場合、この時点でのm番目セクタを処理対象セクタとして、S32~S34の処理が行われる。S32では、m番目セクタに1~(m-1)番目セクタの任意のデータがコピーされる。S33では、m番目セクタにデータが書き込まれる。S34では、m番目セクタに書き込み完了フラグが書き込まれる。S35Aでは、1~(m-1)番目セクタのフラグ及びデータが消去される。
 「n≧3」の場合にS30でNOと判断されると、S10の前に戻って処理が繰り返される。「n=3」の場合、2回目ループのS30では必ずYESと判断される。つまり、論理分割された物理セクタ数nに応じて、最大(n-1)回のループが繰り返される。
 以上のように第1実施形態のメモリ制御方法では、論理セクタに任意のデータが書き込まれた時、書き込みを行ったことを示す書き込み完了フラグがさらに書き込まれる。そして、書き込み完了フラグに基づいて、次に書き込みを行う論理セクタのアドレスが判定される。書き込み完了フラグを用いることで、メモリ制御部による判別が容易となる。
 論理セクタへの書き込みは、予め決められた順番で行われる。これにより、書き込みの有無を決められた手順で確実に判断することができる。また、書き込み済みセルに対しての消去電圧ストレスが1回のみになるように制御することができる。
 また、論理分割された物理セクタのデータが一括消去される前に、当該論理分割された物理セクタに書き込まれている任意のデータが、未書き込みの別の論理分割された物理セクタにコピーされる。これにより、使用の可能性のあるデータの消失が防止される。
 (第2実施形態)
 図10、図11を参照する。第2実施形態のメモリ制御方法では、物理セクタにデータが書き込み済みであるか未書き込みであるかが判断される。図10のルーチンは、書き込み要求によりスタートする。S01Bでは、現在有効な「論理分割された物理セクタ」が探索される。第1実施形態での「書き込み完了フラグの確認により、」という部分に対し探索方法が異なる。
 図11のサブフローチャートにS01Bの探索方法を示す。S02で「m=n」にセットされ、最終セクタから探索が開始される。S03では、m番目セクタの全てのページが未書き込みであるか判断される。m番目セクタの全てのページが未書き込みである場合、S03でYESと判断され、S06に移行する。m番目セクタの少なくとも一部のページが書き込み済みである場合、S03でNOと判断され、S05に移行する。
 補足すると、S03は、「m番目セクタの少なくとも一部のページが書き込み済み?」という逆の判断ステップS04に変更可能である。S04を用いると、YESと判断された場合、S05に移行し、NOと判断された場合、S06に移行する。
 S01Bの、現在有効な「論理分割された物理セクタ」を省略して「有効セクタ」と記す。S05では、「有効セクタ=m」がセットされる。つまり、書き込み可能な有効セクタとしてm番目セクタが選択される。S06では「m=m-1」にセットされ、探索対象が最終セクタから先頭セクタに向かって順に変更される。
 S07では「m=1」であるか、すなわち先頭セクタまで探索したか判断される。S07でNOの場合、S03又はS04の前に戻り、書き込み状態の判断が繰り返される。S07でYESの場合、S08で、「有効セクタ=1」がセットされる。つまり、書き込み可能な有効セクタとして先頭セクタが選択される。選択された有効セクタに基づいて、次に書き込みを行う論理セクタのアドレスが判定される。
 図10に戻り、S10~S35Bのステップ概略は第1実施形態の図9と同じである。図9に対し、書き込み完了フラグの書き込みに関するS14、S24、S34が無い。また、図9のS25A、S35Aの「フラグ&データを消去」に対し、図10のS25B、S35Bでは「データを消去」に変更されている。S01Bでセットされた有効セクタに基づき、S10以下のステップが、書き込み完了フラグに関する部分を除いて図9と同様に実行される。
 以上のように第2実施形態のメモリ制御方法では、論理分割された物理セクタにデータが書き込み済みであるか未書き込みであるかの判断に基づき、次に書き込みを行う論理セクタのアドレスが判定される。これにより、書き込み完了フラグを用いなくても第1実施形態と同様の制御が可能である。
 また、図12のフローチャートを参照し、論理分割された物理セクタ単位での一括消去について説明する。S41では、論理分割された物理セクタの未書き込みメモリセルの容量が所定の容量閾値以下であるか判断される。S41でYESの場合、S42で、論理分割された物理セクタ単位で一括消去が行われる。
 (その他の実施形態)
 (1)本開示のメモリ制御方法を実現する具体的な動作方法は、図9~図11のフローチャートに示される方法に限らない。例えば、現在有効な「論理分割された物理セクタ」を探索する順番を入れ替えてもよい。論理セクタへの書き込みは、必ずしも予め決められた順番で行われなくてもよい。
 (2)本開示のメモリ制御方法は、電動パワーステアリング装置の制御部に限らず、フラッシュメモリを利用したどのような装置の制御部に適用されてもよい。データの書き込み及び消去が頻繁に行われるシステムでは、本開示は特に有効である。
 以上、本開示は、上記実施形態になんら限定されるものではなく、その趣旨を逸脱しない範囲において種々の形態で実施可能である。
 本開示は実施形態に準拠して記述された。しかしながら、本開示は当該実施形態および構造に限定されるものではない。本開示は、様々な変形例および均等の範囲内の変形をも包含する。また、様々な組み合わせおよび形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせおよび形態も本開示の範疇および思想範囲に入るものである。

Claims (6)

  1.  シリコン基板(7)上のpウエル上に設けられた物理セクタ(Ps0、Ps1)を有し、前記物理セクタは、ワードラインに接続された論理セクタ(Lg0~Lg63)を複数含み、前記論理セクタの一部であるページ単位でデータの書き込みが行われ、前記論理セクタ単位でデータの消去が行われ、前記物理セクタ単位で消去電圧が印加されるメモリデバイス(4)において、書き込み及び消去に係る動作を制御するメモリ制御方法であって、
     前記物理セクタは、少なくとも二つのセクタ(Ps01、Ps02)に論理分割され、
     論理分割された物理セクタの単位で一括消去が行われるメモリ制御方法。
  2.  前記論理セクタへの書き込みは、予め決められた順番で行われる請求項1に記載のメモリ制御方法。
  3.  前記論理セクタに任意のデータが書き込まれた時、書き込みを行ったことを示す書き込み完了フラグがさらに書き込まれ、当該書き込み完了フラグに基づいて、次に書き込みを行う前記論理セクタのアドレスが判定される請求項1または2に記載のメモリ制御方法。
  4.  前記論理分割された物理セクタにデータが書き込み済みであるか未書き込みであるかの判断に基づき、次に書き込みを行う前記論理セクタのアドレスが判定される請求項1または2に記載のメモリ制御方法。
  5.  前記論理分割された物理セクタの未書き込みメモリセルの容量が判定され、
     前記未書き込みメモリセルが所定の容量閾値以下の場合、前記論理分割された物理セクタの単位で一括消去が行われる請求項1~4のいずれか一項に記載のメモリ制御方法。
  6.  前記論理分割された物理セクタのデータが一括消去される前に、当該論理分割された物理セクタに書き込まれている任意のデータが、未書き込みの別の前記論理分割された物理セクタにコピーされる請求項1~5のいずれか一項に記載のメモリ制御方法。
PCT/JP2022/009630 2021-03-09 2022-03-07 メモリ制御方法 WO2022191103A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/463,161 US20230420057A1 (en) 2021-03-09 2023-09-07 Memory control method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-036806 2021-03-09
JP2021036806A JP2022137330A (ja) 2021-03-09 2021-03-09 メモリ制御方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/463,161 Continuation US20230420057A1 (en) 2021-03-09 2023-09-07 Memory control method

Publications (1)

Publication Number Publication Date
WO2022191103A1 true WO2022191103A1 (ja) 2022-09-15

Family

ID=83226692

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/009630 WO2022191103A1 (ja) 2021-03-09 2022-03-07 メモリ制御方法

Country Status (3)

Country Link
US (1) US20230420057A1 (ja)
JP (1) JP2022137330A (ja)
WO (1) WO2022191103A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008225922A (ja) * 2007-03-13 2008-09-25 Rinnai Corp 不揮発性記憶装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008225922A (ja) * 2007-03-13 2008-09-25 Rinnai Corp 不揮発性記憶装置

Also Published As

Publication number Publication date
JP2022137330A (ja) 2022-09-22
US20230420057A1 (en) 2023-12-28

Similar Documents

Publication Publication Date Title
CN108932964B (zh) 存储设备和操作存储设备的方法
US7646636B2 (en) Non-volatile memory with dynamic multi-mode operation
CN112289360B (zh) 读取重试阈值电压选择
US20080222353A1 (en) Method of converting a hybrid hard disk drive to a normal hdd
US8051339B2 (en) Data preserving method and data accessing method for non-volatile memory
JP5028577B2 (ja) メモリ制御方法およびメモリシステム
EP2428896A1 (en) Nonvolatile memory system, and data read/write method for nonvolatile memory system
JP5132687B2 (ja) メモリにおけるキャッシュを利用した誤り検出及び訂正方法及び装置
US8055859B2 (en) Apparatus and method for providing atomicity with respect to request of write operation for successive sector
US20100269000A1 (en) Methods and apparatuses for managing bad memory cell
KR102389432B1 (ko) 메모리 시스템 및 그의 동작방법
US20080209150A1 (en) Non-volatile memory device and method of driving the same
WO2002086719A2 (en) Improved error correction scheme for use in flash memory allowing bit alterability
US9390801B2 (en) Secure memory which reduces degradation of data
KR20140028543A (ko) 반도체 메모리 장치 및 이의 동작 방법
US9396804B1 (en) Memory programming method, memory control circuit unit and memory storage apparatus
WO2022191103A1 (ja) メモリ制御方法
US20190103169A1 (en) Memory system and method of operating the same
US20190155700A1 (en) Memory system and method of operating the same
JP2010128697A (ja) メモリシステム
US10388339B2 (en) Semiconductor memory device and data reading method
JP4661748B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
CN111028879A (zh) 一种可变编程次数的多次可编程存储器
JP4387256B2 (ja) 半導体記憶装置
KR20150012768A (ko) 반도체 메모리 장치 및 그것의 동작 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22767059

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22767059

Country of ref document: EP

Kind code of ref document: A1