WO2015198528A1 - メモリシステム、メモリ周辺回路およびメモリ制御方法 - Google Patents

メモリシステム、メモリ周辺回路およびメモリ制御方法 Download PDF

Info

Publication number
WO2015198528A1
WO2015198528A1 PCT/JP2015/002620 JP2015002620W WO2015198528A1 WO 2015198528 A1 WO2015198528 A1 WO 2015198528A1 JP 2015002620 W JP2015002620 W JP 2015002620W WO 2015198528 A1 WO2015198528 A1 WO 2015198528A1
Authority
WO
WIPO (PCT)
Prior art keywords
nand flash
data
memory
flash memory
flash memories
Prior art date
Application number
PCT/JP2015/002620
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 WO2015198528A1 publication Critical patent/WO2015198528A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication

Definitions

  • the present disclosure relates to a memory system using a NAND flash memory, a memory peripheral circuit, and a memory control method.
  • NAND flash memory is widely used in PC USB (Universal Serial Bus) memory, Flash SSD (Solid State Drive), digital camera memory card, portable digital audio player storage device, and the like.
  • PC USB Universal Serial Bus
  • Flash SSD Solid State Drive
  • digital camera memory card portable digital audio player storage device
  • Patent Document 1 An example of a memory system using a NAND flash memory is described in Patent Document 1.
  • the write size and the erase size are different, and when erasing data, it is necessary to erase all data of one physical block. For this reason, it is necessary to copy in advance data of a page having valid data in the same physical block to another physical block.
  • the number of cache blocks that can be held is limited by the system. Therefore, when the upper limit of cache blocks that can be used in the system is reached, unused cache blocks are prepared by copying the valid data of the cache block contents to other blocks and erasing the cache blocks. By this processing, the cache block can be used again.
  • an object of the present disclosure is to provide a memory system, a memory peripheral circuit, and a memory control method that can improve an access speed.
  • the present disclosure includes a plurality of NAND flash memories and a memory peripheral circuit
  • a logical block is formed by combining physical blocks of a plurality of NAND flash memories
  • the page address in the logical block used to write the first data larger than the physical page of the NAND flash memory is assigned to use the NAND flash memory sequentially
  • the page address in the logical block used for writing the second data below the physical page of the NAND flash memory is assigned in order from the top of each NAND flash memory
  • the number of NAND flash memories is X (X is a natural number of 2 or more), and the maximum number of NAND flash memories is (X-1). This is a memory system that performs merge processing.
  • the second data write process can be performed simultaneously with the merge process, the speed of the second data write process can be improved.
  • the effects described here are not necessarily limited, and may be any of the effects described in the present disclosure.
  • FIG. 1 is a block diagram illustrating a memory system configuration according to an embodiment of the present disclosure. It is a basic diagram which shows the relationship between the physical block and logical block in one embodiment of this indication. It is a basic diagram which shows allocation of each logical page of a cache block and a data block.
  • FIG. 6 is a schematic diagram for describing write processing of a cache block and a data block according to an embodiment of the present disclosure. It is a basic diagram which shows an example of a merge process, and another example. It is a basic diagram used for description of the specific example of merge processing. 6 is a timing chart for explaining merge processing and host data write processing; It is a flowchart used for description of merge processing.
  • the memory system includes a memory unit 1 including a plurality of, for example, four NAND flash memories A, B, C, and D and a memory controller 2 surrounded by a broken line.
  • the memory system is, for example, a memory card.
  • a host 3 is connected to the memory system.
  • the memory controller 2 includes a device I / O 21, an SRAM (Static Randam Access Memory) 22, a CPU (Central Processing Unit) 23, and a NAND controller 24.
  • SRAM Static Randam Access Memory
  • CPU Central Processing Unit
  • the CPU 23 controls each block, thereby transferring data between the SRAM 22 and the memory unit 1 through the NAND controller 24, and reading, writing, and erasing data.
  • the NAND controller 24 can simultaneously access the NAND flash memories A to D of the memory unit 1.
  • the SRAM 22 functions as a so-called page buffer, temporarily stores write data transferred from the host 3 side via the device I / O 21, and is read out from the memory unit 1 and then sent to the host 3 side via the device I / O 21. The data to be transferred is temporarily stored. Further, the SRAM 22 has a memory function for storing a program and a work RAM function for the CPU 23.
  • the device I / O 21 is an interface with the host 3.
  • the device I / O 21 includes, for example, a serial interface that transfers data using three signal lines using a serial protocol, and a parallel interface that transfers data using six signal lines using a parallel protocol.
  • logical blocks are formed by logically combining the physical blocks of each NAND flash memory.
  • one physical block includes, for example, 8 physical pages.
  • Data is managed in units of logical blocks.
  • logical blocks are classified into two types according to the size of data to be written.
  • the block is classified into a logical block used for writing first data larger than the physical page of the NAND flash memory and a logical block used for writing second data below the physical page of the NAND flash memory.
  • the first data is sequential data such as music data and image data
  • the second data is random data such as database data and log data.
  • the first and second data are identified based on attribute information accompanying the data, for example, data size.
  • the logical block used for writing the first data is called a data block.
  • a logical block used for writing the second data is referred to as a cache block.
  • FIG. 3A in the case of a data block, logical pages are allocated so that physical pages of NAND flash memories A to D are sequentially allocated.
  • FIG. 3B the cache block individually assigns logical pages to NAND flash memories used as the same logical block. That is, in the case of a cache block, when data is written to a logical block, the pages are used in order from the page with the smallest logical page number. For example, the page address in the logical block is assigned so as to change sequentially from the top for each NAND flash memory.
  • the data size to be written is second data smaller than the physical page
  • the data is written to the cache block.
  • the first data whose data size to be written is larger than the physical page, it is written in the data block.
  • a logical-physical conversion table (referred to as a logical-physical table) for managing where the data is written is managed.
  • the data management size is reduced, the size of the logical / physical table increases, and the ratio of the logical / physical table to the SRAM 22 of the memory controller 2 increases, thereby degrading the performance of the system.
  • logical blocks are managed separately according to the data size to be written.
  • a line for creating a free page in a cache block is changed by changing the logical page address allocation method between the data block and the cache block. So that the merge process can be performed efficiently. With this allocation method, management information for managing the cache block is increased for the data block. However, write data can be managed in each NAND flash memory.
  • 5A and 5B show an example of merge processing for a cache block and a data block, and another example.
  • FIG. 5A shows a process of merging the data (shaded area) stored in the cache block and the data (hatched area) stored in the data block and writing the data into the data block.
  • FIG. 5B shows a process of merging the data (shaded area) stored in the cache block and the data (hatched area) stored in the data block N and writing to another data block M.
  • the present disclosure can be applied to any merge processing.
  • the number of merge processes performed simultaneously, and if there are still free pages in the cache block, the number of pages to be merged simultaneously is Is represented by the following equation.
  • X is the number of connected NAND flash memories.
  • This process always creates one NAND flash memory that has not been written for merge processing. Note that the above formula is the maximum number of pages that can be merged simultaneously, and if the number of NAND flash memories X is 4, the number of pages that are simultaneously merged is set to 2 or 3. May be.
  • a method using a plane configuration is known as a physical block management method of the NAND flash memory.
  • a NAND flash memory having a plane configuration can simultaneously write data to the physical blocks of each plane.
  • the number of pages on which merge processing is executed simultaneously is expressed by the following equation. In the formula, P is the number of planes.
  • NAND flash memory that has not been written for merge processing is always created on each plane.
  • the above equation is the maximum number of pages that are simultaneously subjected to merge processing, and if the number X of NAND flash memories is 4, it may be set to 2P, 3P.
  • the data can be written to the NAND flash memory that is not executing the merge process. . That is, writing from the host and merge processing can be executed simultaneously, and the merge processing time is hidden from the host, thereby improving the processing speed. If the merge process is executed when there is no empty page in the cache block, the merge process is executed for all NAND flash memories so that the merge process is completed as soon as possible.
  • FIG. 7 is a timing chart showing the timing of the merge process and the writing of data from the host 3.
  • merge processing is executed for each data block of the NAND flash memory A, NAND flash memory B, and NAND flash memory C.
  • Data block writing is slower than cache block writing, and takes about 1.5 ms, for example.
  • the second data (page unit) from the host 3 is written simultaneously (in parallel) with the merge process.
  • the writing of the second data in units of pages is performed at a high speed of about 400 ⁇ s, for example.
  • the second data can be written into the NAND flash memory D simultaneously with the merge process being performed on the NAND flash memories (A, B, C). It is not necessary to wait for the writing of the data, and the processing speed can be improved. Conventionally, even in the NAND flash memory D, since the merge process is executed, there is a problem that the second data is written from the host, and the processing speed is lowered. The present disclosure can solve such a problem.
  • the write process and merge process are executed by the CPU 23 of the memory controller 2 performing a process according to a program and issuing an instruction to the NAND controller 24. As shown in the flowchart of FIG. 8, merge processing is performed.
  • Step S1 Merge processing is started.
  • Step S2 A cache block page and data block to be merged are selected.
  • Step S3 It is determined whether there are still free pages in the cache block.
  • Step S4 When it is determined in step S3 that there is an empty page in the cache block, a merge process is executed for the number of pages of (X (the number of connected NAND flash memories) -1). Then, the process proceeds to step S5.
  • Step S5 End of the merge process
  • Step S6 When it is determined in step S3 that there is no empty page in the cache block, a merge process is executed for the number of X pages. Then, the process moves to step S5, and the merge process ends.
  • step S3 The determination process in step S3 is to determine whether or not there are still free pages when the merge process is performed on the number of pages of (X-1). If it is determined that there are no free pages, before proceeding to step S6, it is determined whether or not there are still free pages when merge processing is performed on the number of pages (X-2). If there is, the process of step S4 may be performed.
  • this indication can also take the following structures.
  • a plurality of NAND flash memories and a memory peripheral circuit A logical block is formed by combining physical blocks of the plurality of NAND flash memories, A page address in the logical block used for writing first data larger than a physical page of the NAND flash memory is assigned to sequentially use the NAND flash memory, The page address in the logical block used for writing the second data below the physical page of the NAND flash memory is assigned in order from the top of each NAND flash memory,
  • the number of the NAND flash memories is X (X is a natural number of 2 or more), and a maximum of (X-1) NAND flash memories Memory system that performs merge processing on
  • the number of planes is P (P is a natural number of 2 or more), and merged with NAND flash memory of P (X-1) at the maximum
  • P is a natural number of 2 or more
  • a logical block is formed by combining physical blocks of the plurality of NAND flash memories, A page address in the logical block used for writing first data larger than a physical page of the NAND flash memory is assigned to sequentially use the NAND flash memory, The page address in the logical block used for writing the second data below the physical page of the NAND flash memory is assigned in order from the top of each NAND flash memory,
  • the number of the NAND flash memories is X (X is a natural number of 2 or more), and a maximum of (X-1) NAND flash memories
  • Peripheral circuit that performs merge processing on (5) A plurality of NAND flash memories and a memory peripheral circuit; A logical block is formed by combining physical blocks of the plurality of NAND flash memories, A page address in the

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

 複数のNANDフラッシュメモリの物理ブロックを組み合わせて論理ブロックを形成し、NANDフラッシュメモリの物理ページより大きい第1のデータを書き込むために使用する論理ブロック内のページアドレスは、NANDフラッシュメモリを順次使用するように割り当てられ、NANDフラッシュメモリの物理ページ以下の第2のデータを書き込むために使用する論理ブロック内のページアドレスは、各NANDフラッシュメモリの先頭から順番に割り当てられ、第1のデータと第2のデータに対してマージ処理を行う際に、NANDフラッシュメモリの数をX(Xは2以上の自然数)とし、最大で(X-1)のNANDフラッシュメモリに対してマージ処理を行うメモリシステムである。

Description

メモリシステム、メモリ周辺回路およびメモリ制御方法
 本開示は、NANDフラッシュメモリを使用するメモリシステム、メモリ周辺回路およびメモリ制御方法に関する。
 NANDフラッシュメモリがPC用のUSB(Universal Serial Bus)メモリ、フラッシュSSD(Solid State Drive )、デジタルカメラ用のメモリカード、携帯デジタルオーディオプレーヤーの記憶装置などに広く使用されている。NANDフラッシュメモリの場合、消去がブロック単位で行われ、書き込みおよび読み出しは、ページ単位で行われる。NANDフラッシュメモリを使用したメモリシステムの一例が特許文献1に記載されている。
 一方、NANDフラッシュメモリは、書き込みのサイズと消去のサイズが異なり、データを消去する場合、一つの物理ブロックのデータをすべて消去する必要がある。このため、同一物理ブロック内の有効なデータを持つページのデータを予め他の物理ブロックにコピーしておく必要がある。
 さらに、持つことが可能なキャッシュブロックの数は、システム上制限されている。したがって、システムで使用できるキャッシュブロックの上限に達した場合、キャッシュブロック内容の有効なデータを他のブロックにコピーしてキャッシュブロックを消去することによって、未使用のキャッシュブロックを用意する。この処理によって、再度キャッシュブロックを使用することができる。
特開2008-299513号公報
 上述したようなシステムにおいて、キャッシュブロックに空いているページがなくならないように、システム全体を制御する必要がある。しかしながら、未使用のキャッシュブロックを作るための処理は、一般的にガベージコレクションと呼ばれ、システムのパフォーマンスを低減させてしまう問題があった。
 したがって、本開示の目的は、アクセス速度を向上できるメモリシステム、メモリ周辺回路およびメモリ制御方法の提供することにある。
 本開示は、複数のNANDフラッシュメモリとメモリ周辺回路とを有し、
 複数のNANDフラッシュメモリの物理ブロックを組み合わせて論理ブロックを形成し、
 NANDフラッシュメモリの物理ページより大きい第1のデータを書き込むために使用する論理ブロック内のページアドレスは、NANDフラッシュメモリを順次使用するように割り当てられ、
 NANDフラッシュメモリの物理ページ以下の第2のデータを書き込むために使用する論理ブロック内のページアドレスは、各NANDフラッシュメモリの先頭から順番に割り当てられ、
 第1のデータと第2のデータに対してマージ処理を行う際に、NANDフラッシュメモリの数をX(Xは2以上の自然数)とし、最大で(X-1)のNANDフラッシュメモリに対してマージ処理を行うメモリシステムである。
 少なくとも一つの実施形態によれば、マージ処理と同時に第2のデータの書き込み処理を行うことができるので、第2のデータの書き込み処理の速度を向上できる。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であっても良い。
本開示の一実施の形態のメモリシステム構成を示すブロック図である。 本開示の一実施の形態における物理ブロックと論理ブロックとの関係を示す略線図である。 キャッシュブロックおよびデータブロックのそれぞれの論理ページの割り当てを示す略線図である。 本開示の一実施の形態におけるキャッシュブロックとデータブロックとの書き込み処理を説明するための略線図である。 マージ処理の一例および他の例を示す略線図である。 マージ処理の具体例の説明に使用する略線図である。 マージ処理とホストデータの書き込み処理を説明するためのタイミングチャートである。 マージ処理の説明に使用するフローチャートである。
 以下に説明する実施の形態は、本開示の好適な具体例であり、技術的に好ましい種々の限定が付されている。しかしながら、本開示の範囲は、以下の説明において、特に本開示を限定する旨の記載がない限り、これらの実施の形態に限定されないものとする。
 なお、本開示の説明は、下記の順序にしたがってなされる。
<1.一実施の形態>
<2.変形例>
<1.一実施の形態>
 図1を参照して本開示の一実施の形態によるメモリシステムについて説明する。図1に示すように、メモリシステムは、複数例えば4個のNANDフラッシュメモリA,B,C,Dからなるメモリ部1と破線で囲んで示すメモリコントローラ2とからなる。メモリシステムは、例えばメモリカードである。メモリシステムに対してホスト3が接続されている。
 メモリコントローラ2は、デバイスI/O21、SRAM(Static Randam Access Memory) 22、CPU(Central Processing Unit) 23およびNANDコントローラ24とを有する。
 CPU23は、各ブロックを制御することによって、NANDコントローラ24を通じてSRAM22とメモリ部1との間でデータ転送を行い、データの読み出し、書き込みおよび消去を行う。メモリ部1のNANDフラッシュメモリA~Dに対して、NANDコントローラ24は、同時にアクセスすることができる。
 SRAM22は、いわゆるページバッファとして機能し、デバイスI/O21を介してホスト3側から転送された書き込みデータを一旦蓄えると共に、メモリ部1から読み出され、デバイスI/O21を介してホスト3側に転送されるデータを一旦蓄える。さらに、SRAM22は、プログラムを格納するためのメモリの機能並びにCPU23の作業用RAMの機能も有する。
 デバイスI/O21は、ホスト3との間のインターフェースである。デバイスI/O21は、例えば、シリアルプロトコルにより3本の信号線を用いてデータ転送を行うシリアルインターフェースと、パラレルプロトコルにより6本の信号線を用いてデータ転送を行うパラレルインターフェースとを有する。
 図2に示すように、各NANDフラッシュメモリの物理ブロックを論理的に組み合わせて論理ブロックを形成する。例えば一つの物理ブロックには、例えば8個の物理ページが含まれている。この論理ブロックの単位でデータを管理する。一実施の形態では、論理ブロックは、書き込むデータのサイズによって、2種類に分類される。
 一実施の形態において、論理ブロックは、書き込むデータサイズによって2種類存在する。すなわち、NANDフラッシュメモリの物理ページより大きい第1のデータを書き込むために使用する論理ブロックと、NANDフラッシュメモリの物理ページ以下の第2のデータを書き込むために使用する論理ブロックとに分類される。第1のデータは、音楽データ、画像データ等のシーケンシャルデータであり、第2のデータがデータベースのデータ、ログデータ等のランダムデータである。第1および第2のデータは、データに付随する属性情報例えばデータサイズに基づいて識別される。
 第1のデータを書き込むために使用する論理ブロックをデータブロックと称する。第2のデータを書き込むために使用する論理ブロックをキャッシュブロックと称する。図3Aに示すように、データブロックの場合には、NANDフラッシュメモリA~Dの物理ページが順次割り当てられるように論理ページを割り当てる。一方、図3Bに示すように、キャッシュブロックは、同じ論理ブロックとして使用されるNANDフラッシュメモリに対してそれぞれ個別に論理ページを割り当てる。すなわち、キャッシュブロックの場合には、論理ブロックに対してデータを書き込む場合、論理ページ番号が小さいページから順に使用していく。例えば論理ブロック内のページアドレスは、各NANDフラッシュメモリ毎に先頭から順番に変化するように割り当てられる。
 図4に示すように、書き込むデータサイズが物理ページよりも小さい第2のデータの場合、キャッシュブロックにデータが書き込まれる。書き込むデータサイズが物理ページよりも大きい第1のデータの場合、データブロックに書き込まれる。一般的にこのように論理ブロックによってデータを管理する場合、データが物理的などの位置に書き込まれているかを管理するための論理物理変換テーブル(論物テーブルと称する)を持ち管理するようになされる。しかしながら、データの管理サイズを小さくすると論物テーブルのサイズが大きくなり、メモリコントローラ2のSRAM22に対する論物テーブルが占める割合が大きくなり、システムのパフォーマンスを低下させてしまう。これを回避するために、上述したように、書き込むデータサイズにより論理ブロックを分けて管理するようになされる。
 本開示の一実施の形態では、図3に示し、上述したように、データブロックとキャッシュブロックとの間で、論理ページのアドレス割り当て法を変えることによって、キャッシュブロックに空きページを作るために行われるマージ処理を効率的に行うことができるようにする。この割り当て方法により、キャッシュブロックを管理するための管理情報がデータブロックに対して大きくなる。しかしながら、各NANDフラッシュメモリで書き込みデータを管理することができるようになる。
 キャッシュブロックに対して空きページを作る必要がある場合に、キャッシュブロックに書き込まれているデータとデータブロックのデータに対してマージ処理を行う必要がある。図5Aおよび図5Bは、キャッシュブロックとデータブロックとに対するマージ処理の一例および他の例を示す。
 図5Aは、キャッシュブロックに蓄えられているデータ(斜線領域)とデータブロックに蓄えられているデータ(斜線領域)とをマージしてデータブロックに書き込む処理を示している。図5Bは、キャッシュブロックに蓄えられているデータ(斜線領域)とデータブロックNに蓄えられているデータ(斜線領域)とをマージして他のデータブロックMに書き込む処理を示している。本開示は、何れのマージ処理に対しても適用することができる。
 一実施の形態では、マージ処理を行う際、データブロックに対して書き込む際に、同時にマージ処理を行う数を、キャッシュブロックにまだ空きページがある場合には、同時にマージ処理を実行するページ数は、次の式で表される。式において、Xは、接続されているNANDフラッシュメモリの数である。
(X-1)
 この処理によって、マージ処理のための書き込みを行っていないNANDフラッシュメモリを必ず一つ作る。なお、上式は、同時にマージ処理を実行するページ数の最大値であって、NANDフラッシュメモリの数Xが4の場合であれば、同時にマージ処理を実行するページ数を2または3に設定しても良い。
 使用するNANDフラッシュメモリによっては、NANDフラッシュメモリの物理ブロックの管理方法として、プレーン構成を用いているものが知られている。プレーン構成を有するNANDフラッシュメモリは、各プレーンの物理ブロックに対して同時にデータを書き込むことが可能になる。このようなプレーン構成のNANDフラッシュメモリを使用している場合には、同時にマージ処理を実行するページ数は、次の式で表される。式において、Pは、プレーン数である。
 (X×P)-P=P(X-1)
 すなわち、各プレーン上で、マージ処理のための書き込みを行っていないNANDフラッシュメモリを必ず一つ作る。なお、上式は、同時にマージ処理を実行するページ数の最大値であって、NANDフラッシュメモリの数Xが4の場合であれば、2P、3Pのように設定しても良い。
 このようなマージ処理を実行中に、ホスト3から物理ページ以下の第2のデータの書き込みが行われる場合、このマージ処理を実行していないNANDフラッシュメモリに対してデータを書き込むことが可能となる。すなわち、ホストからの書き込みとマージ処理を同時に実行することができ、ホストからはマージ処理時間が隠ぺいされることになり、処理速度が向上する。若し、キャッシュブロックに空きページが1ページもない状態でマージ処理を実行する場合には、すべてのNANDフラッシュメモリに対してマージ処理を実行し、少しでも早くマージ処理が終わるようにする。
 図6に示すように、データブロックが使用されている場合、NANDフラッシュメモリA,BおよびCに対してマージ処理を実行し、NANDフラッシュメモリDに対しては、マージ処理を実行しないようにする。マージ処理の実行中にホスト3から物理ページサイズ以下の第2のデータの書き込みが行われる場合、NANDフラッシュメモリDに対して書き込みを行う。このような制御によって、マージ処理とホスト3からの第2のデータの書き込みを同時に実行することができ、。
 図7は、マージ処理とホスト3からのデータの書き込みとのタイミングを示すタイミングチャートである。NANDフラッシュメモリA、NANDフラッシュメモリB、NANDフラッシュメモリCのそれぞれのデータブロックに対しては、マージ処理が実行されている。データブロックの書き込みは、キャッシュブロックの書き込み比して遅く、例えば1.5ms程度の時間を要する。NANDフラッシュメモリDの空いている場所に対しては、マージ処理と同時(並行)にホスト3からの第2のデータ(ページ単位)が書き込まれる。第2のデータのページ単位の書き込みは、例えば400μs程度の高速でなされる。
 図7のタイミングチャートから分かるように、NANDフラッシュメモリ(A,B,C)に対してマージ処理がなされているのと同時に、第2のデータをNANDフラッシュメモリDに書き込むことができ、第2のデータの書き込みを待つ必要がなく、処理速度を向上させることができる。従来では、NANDフラッシュメモリDにおいても、マージ処理が実行されているので、ホストからの第2のデータの書き込みが待たされる問題があり、処理速度が低下していた。かかる問題を本開示は、解決することができる。
 書き込み処理およびマージ処理は、メモリコントローラ2のCPU23がプログラムにしたがって処理を行い、NANDコントローラ24に対して命令を出すことで実行される。図8のフローチャートに示すように、マージ処理がなされる。
 ステップS1:マージ処理が開始される。
 ステップS2:マージの対象のキャッシュブロックのページとデータブロックが選択される。
 ステップS3:キャッシュブロックに空きページがまだあるか判定される。
 ステップS4:ステップS3において、キャッシュブロックに空きページがあると判定されると、(X(接続されて以上NANDフラッシュメモリの数)-1)のページ数に対してマージ処理が実行される。そして、ステップS5に処理が移る。
 ステップS5:マージ処理の終了
 ステップS6:ステップS3において、キャッシュブロックに空きページがないと判定されると、Xのページ数に対してマージ処理が実行される。そして、ステップS5に処理が移り、マージ処理が終了する。
 ステップS3の判定処理は、(X-1)のページ数に対してマージ処理を行った場合に空きページが未だあるかないかを判定するものである。空きページがないと判定される場合に、ステップS6に移る前に、(X-2)のページ数に対してマージ処理を行った場合に空きページが未だあるかないかを判定して、空きページがある場合には、ステップS4の処理を行うようにしても良い。
 本開示を適用した場合、例えばランダムアクセスのパフォーマンスを測定するようなツールで10PSと呼ばれる1秒間に処理できるランダムアクセスのパフォーマンスを測定する場合、本開示を用いない場合、40010PS程度しか出ないようなシステムでも、本開示を使用することによって、200010PSまで処理速度を向上させることが可能になる。さらに、実環境においても、Windows(登録商標)やAndroid(登録商標)といったオペレーティングシステムは、ファイルシステムで管理されるデータの完全性を保証するために、頻繁にデータのログをストレージに対して書き込んでいる。この書き込みサイズが一般的にNANDフラッシュメモリの物理ページよりも小さいデータで書き込まれる。本開示を使用することで、オペレーティングシステムからのアクセス速度を安定して高速化することが可能になる。
<2.変形例>
 以上、本開示の実施形態について具体的に説明したが、上述の各実施形態に限定されるものではなく、本開示の技術的思想に基づく各種の変形が可能である。例えば、上述の実施形態において挙げた構成、方法、工程、形状、材料および数値などはあくまでも例に過ぎず、必要に応じてこれと異なる構成、方法、工程、形状、材料および数値などを用いてもよい。
 なお、本開示は、以下のような構成も取ることができる。
(1)
 複数のNANDフラッシュメモリとメモリ周辺回路とを有し、
 前記複数のNANDフラッシュメモリの物理ブロックを組み合わせて論理ブロックを形成し、
 前記NANDフラッシュメモリの物理ページより大きい第1のデータを書き込むために使用する前記論理ブロック内のページアドレスは、前記NANDフラッシュメモリを順次使用するように割り当てられ、
 前記NANDフラッシュメモリの物理ページ以下の第2のデータを書き込むために使用する前記論理ブロック内のページアドレスは、各NANDフラッシュメモリの先頭から順番に割り当てられ、
 前記第1のデータと前記第2のデータに対してマージ処理を行う際に、前記NANDフラッシュメモリの数をX(Xは2以上の自然数)とし、最大で(X-1)のNANDフラッシュメモリに対してマージ処理を行うメモリシステム。
(2)
 前記NANDフラッシュメモリの物理ブロックの管理方法として、プレーン構成を用いている場合、プレーン数をP(Pは2以上の自然数)とし、最大でP(X-1)のNANDフラッシュメモリに対してマージ処理を行う(1)に記載のメモリシステム。
(3)
 前記第1のデータは、シーケンシャルデータであり、前記第2のデータがランダムデータである(1)または(2)に記載のメモリシステム。
(4)
 入出力部と、メモリと、制御部と、NANDフラッシュメモリコントローラとを有し、
 前記複数のNANDフラッシュメモリの物理ブロックを組み合わせて論理ブロックを形成し、
 前記NANDフラッシュメモリの物理ページより大きい第1のデータを書き込むために使用する前記論理ブロック内のページアドレスは、前記NANDフラッシュメモリを順次使用するように割り当てられ、
 前記NANDフラッシュメモリの物理ページ以下の第2のデータを書き込むために使用する前記論理ブロック内のページアドレスは、各NANDフラッシュメモリの先頭から順番に割り当てられ、
 前記第1のデータと前記第2のデータに対してマージ処理を行う際に、前記NANDフラッシュメモリの数をX(Xは2以上の自然数)とし、最大で(X-1)のNANDフラッシュメモリに対してマージ処理を行うメモリ周辺回路。
(5)
 複数のNANDフラッシュメモリとメモリ周辺回路とを有し、
 前記複数のNANDフラッシュメモリの物理ブロックを組み合わせて論理ブロックを形成し、
 前記NANDフラッシュメモリの物理ページより大きい第1のデータを書き込むために使用する前記論理ブロック内のページアドレスは、前記NANDフラッシュメモリを順次使用するように割り当てられ、
 前記NANDフラッシュメモリの物理ページ以下の第2のデータを書き込むために使用する前記論理ブロック内のページアドレスは、各NANDフラッシュメモリの先頭から順番に割り当てられ、
 前記第1のデータと前記第2のデータに対してマージ処理を行う際に、前記NANDフラッシュメモリの数をN(Nは2以上の自然数)とし、最大で(N-1)のNANDフラッシュメモリに対してマージ処理を行うメモリ制御方法。
A,B,G,D・・・NANDフラッシュメモリ
1・・・メモリ部
2・・・メモリコントローラ
3・・・ホスト
23・・・CPU
24・・・NANDコントローラ

Claims (5)

  1.  複数のNANDフラッシュメモリとメモリ周辺回路とを有し、
     前記複数のNANDフラッシュメモリの物理ブロックを組み合わせて論理ブロックを形成し、
     前記NANDフラッシュメモリの物理ページより大きい第1のデータを書き込むために使用する前記論理ブロック内のページアドレスは、前記NANDフラッシュメモリを順次使用するように割り当てられ、
     前記NANDフラッシュメモリの物理ページ以下の第2のデータを書き込むために使用する前記論理ブロック内のページアドレスは、各NANDフラッシュメモリの先頭から順番に割り当てられ、
     前記第1のデータと前記第2のデータに対してマージ処理を行う際に、前記NANDフラッシュメモリの数をX(Xは2以上の自然数)とし、最大で(X-1)のNANDフラッシュメモリに対してマージ処理を行うメモリシステム。
  2.  前記NANDフラッシュメモリの物理ブロックの管理方法として、プレーン構成を用いている場合、プレーン数をP(Pは2以上の自然数)とし、最大でP(X-1)のNANDフラッシュメモリに対してマージ処理を行う請求項1に記載のメモリシステム。
  3.  前記第1のデータは、シーケンシャルデータであり、前記第2のデータがランダムデータである請求項1に記載のメモリシステム。
  4.  入出力部と、メモリと、制御部と、NANDフラッシュメモリコントローラとを有し、
     前記複数のNANDフラッシュメモリの物理ブロックを組み合わせて論理ブロックを形成し、
     前記NANDフラッシュメモリの物理ページより大きい第1のデータを書き込むために使用する前記論理ブロック内のページアドレスは、前記NANDフラッシュメモリを順次使用するように割り当てられ、
     前記NANDフラッシュメモリの物理ページ以下の第2のデータを書き込むために使用する前記論理ブロック内のページアドレスは、各NANDフラッシュメモリの先頭から順番に割り当てられ、
     前記第1のデータと前記第2のデータに対してマージ処理を行う際に、前記NANDフラッシュメモリの数をX(Xは2以上の自然数)とし、最大で(X-1)のNANDフラッシュメモリに対してマージ処理を行うメモリ周辺回路。
  5.  複数のNANDフラッシュメモリとメモリ周辺回路とを有し、
     前記複数のNANDフラッシュメモリの物理ブロックを組み合わせて論理ブロックを形成し、
     前記NANDフラッシュメモリの物理ページより大きい第1のデータを書き込むために使用する前記論理ブロック内のページアドレスは、前記NANDフラッシュメモリを順次使用するように割り当てられ、
     前記NANDフラッシュメモリの物理ページ以下の第2のデータを書き込むために使用する前記論理ブロック内のページアドレスは、各NANDフラッシュメモリの先頭から順番に割り当てられ、
     前記第1のデータと前記第2のデータに対してマージ処理を行う際に、前記NANDフラッシュメモリの数をN(Nは2以上の自然数)とし、最大で(N-1)のNANDフラッシュメモリに対してマージ処理を行うメモリ制御方法。
PCT/JP2015/002620 2014-06-26 2015-05-25 メモリシステム、メモリ周辺回路およびメモリ制御方法 WO2015198528A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-131681 2014-06-26
JP2014131681A JP2016009457A (ja) 2014-06-26 2014-06-26 メモリシステム、メモリ周辺回路およびメモリ制御方法

Publications (1)

Publication Number Publication Date
WO2015198528A1 true WO2015198528A1 (ja) 2015-12-30

Family

ID=54937640

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/002620 WO2015198528A1 (ja) 2014-06-26 2015-05-25 メモリシステム、メモリ周辺回路およびメモリ制御方法

Country Status (2)

Country Link
JP (1) JP2016009457A (ja)
WO (1) WO2015198528A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007193883A (ja) * 2006-01-18 2007-08-02 Sony Corp データ記録装置及び方法、及びデータ再生装置及び方法、並びにデータ記録再生装置及び方法
JP2008299513A (ja) * 2007-05-30 2008-12-11 Sony Corp データ記憶装置およびその制御方法
JP2012208543A (ja) * 2011-03-29 2012-10-25 Sony Corp 制御装置、記憶装置、読出制御方法
JP2012248109A (ja) * 2011-05-30 2012-12-13 Toshiba Corp マルチチャネルを有するメモリ装置及び同装置におけるコンパクションのためのリードコマンド群生成方法
JP2013205872A (ja) * 2012-03-27 2013-10-07 Sony Corp 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007193883A (ja) * 2006-01-18 2007-08-02 Sony Corp データ記録装置及び方法、及びデータ再生装置及び方法、並びにデータ記録再生装置及び方法
JP2008299513A (ja) * 2007-05-30 2008-12-11 Sony Corp データ記憶装置およびその制御方法
JP2012208543A (ja) * 2011-03-29 2012-10-25 Sony Corp 制御装置、記憶装置、読出制御方法
JP2012248109A (ja) * 2011-05-30 2012-12-13 Toshiba Corp マルチチャネルを有するメモリ装置及び同装置におけるコンパクションのためのリードコマンド群生成方法
JP2013205872A (ja) * 2012-03-27 2013-10-07 Sony Corp 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法

Also Published As

Publication number Publication date
JP2016009457A (ja) 2016-01-18

Similar Documents

Publication Publication Date Title
TWI692690B (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
US8055873B2 (en) Data writing method for flash memory, and controller and system using the same
US9405485B2 (en) Method and apparatus for writing data to a flash memory
TWI554944B (zh) 快閃記憶體控制裝置、快閃記憶體控制系統以及快閃記憶體控制方法
US9710191B1 (en) Rapid memory buffer write storage system and method
CN109388582B (zh) 数据储存装置以及其数据抹除方法
JP2009282678A (ja) フラッシュメモリモジュール及びストレージシステム
TWI587214B (zh) 資料儲存裝置、其控制單元及其任務排序方法
KR20240049262A (ko) 메모리 시스템 및 이의 동작 방법
US9619380B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
TWI430091B (zh) Semiconductor memory device
KR101075907B1 (ko) 반도체 기억 장치, 데이터 전송 장치 및 반도체 기억 장치의 제어 방법
CN103677653A (zh) 一种基于ssd的数据处理方法及电子设备
US20120210045A1 (en) Data access method, and memory controller and memory storage apparatus using the same
CN105745628A (zh) 一种将数据写入闪存装置的方法、闪存装置和存储系统
US20130159604A1 (en) Memory storage device and memory controller and data writing method thereof
TW201917578A (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
JP2010287049A (ja) メモリシステムおよびメモリシステムの管理方法
JP2011175632A (ja) 半導体記憶装置及び半導体記憶装置の制御方法
WO2015198528A1 (ja) メモリシステム、メモリ周辺回路およびメモリ制御方法
TWI651646B (zh) 資料儲存裝置及其任務排序方法
CN111045961B (zh) 数据处理方法及使用所述方法的存储控制器
JP2011175666A (ja) 半導体記憶装置及び半導体記憶装置の制御方法
JP2007249662A (ja) メモリカード及びメモリカードの制御方法
TW201442038A (zh) 寫入方法、記憶體控制器與記憶體儲存裝置

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: 15812457

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: 15812457

Country of ref document: EP

Kind code of ref document: A1