JP2014160335A - Memory management device - Google Patents

Memory management device Download PDF

Info

Publication number
JP2014160335A
JP2014160335A JP2013030201A JP2013030201A JP2014160335A JP 2014160335 A JP2014160335 A JP 2014160335A JP 2013030201 A JP2013030201 A JP 2013030201A JP 2013030201 A JP2013030201 A JP 2013030201A JP 2014160335 A JP2014160335 A JP 2014160335A
Authority
JP
Japan
Prior art keywords
block
block number
blocks
empty
memory
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.)
Granted
Application number
JP2013030201A
Other languages
Japanese (ja)
Other versions
JP6053557B2 (en
Inventor
Hisayoshi Kurosawa
寿好 黒澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2013030201A priority Critical patent/JP6053557B2/en
Publication of JP2014160335A publication Critical patent/JP2014160335A/en
Application granted granted Critical
Publication of JP6053557B2 publication Critical patent/JP6053557B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To shorten a block search time during parallel writing by efficiently searching an unused block in the case of performing parallel writing of continuously inputted data to a plurality of memories connected to the same bus.SOLUTION: A bit map information by block numbers storage part 107 stores bit map information by block numbers representing with a bit map whether blocks having a common block number are respectively used or unused in each different block number. An empty block management part 106 sequentially analyzes bit maps in each different block number of the bit map information by block numbers, and searches an unused block in the case that parallel writing is performed.

Description

本発明は、一定速度で入力されるデータを、同一バスに接続された複数の記憶媒体へ並列に記録する技術に関する。   The present invention relates to a technique for recording data input at a constant speed in parallel on a plurality of storage media connected to the same bus.

例えば、人工衛星では、地上(例えば日本)と通信できない範囲(例えば地球の裏側)を飛行中は、観測機器(カメラやセンサ)が生成した観測データを、衛星内に保持していないといけないため、データ記録装置を搭載している。
一方、観測機器は低機能な装置であり、観測データを機器内部に蓄えることはできないため、データ記録装置との間でデータ伝送のためのフロー制御を実現することは困難である。
また、観測機器(カメラやセンサ)の高精細化に伴い、データ記録装置に入力される観測データは、巨大化かつ高速化されてきている。
しかし、データ記録装置においても、宇宙環境で正常動作可能なメモリが限られているために巨大なバッファメモリを保持できない、真空であるため放出手段が乏しく、電子機器を高速動作させられない、という事情がある。
For example, with an artificial satellite, observation data generated by observation equipment (cameras and sensors) must be held in the satellite while flying in a range that cannot communicate with the ground (for example, Japan) (for example, behind the earth). , Equipped with a data recording device.
On the other hand, the observation device is a low-function device, and observation data cannot be stored inside the device, so it is difficult to realize flow control for data transmission with the data recording device.
In addition, with the increase in definition of observation equipment (cameras and sensors), observation data input to a data recording device has become larger and faster.
However, even in a data recording device, the memory that can operate normally in the space environment is limited, so a huge buffer memory cannot be held, and since it is a vacuum, the discharge means is scarce and the electronic equipment cannot be operated at high speed. There are circumstances.

データ記録装置では、観測機器からの観測データの巨大化に伴い、NANDフラッシュメモリのような大容量かつ低消費電力な不揮発メモリの搭載が行われつつあるが、NANDフラッシュメモリは、データ読出しに比しデータ記録に時間を要する特性を持つ記憶媒体で、そのために観測機器からの観測データの高速化に伴い、1つのデバイスチップではデータ記録時間が間に合わなくなっている。   In data recording devices, with the increase in observation data from observation devices, large capacity and low power consumption non-volatile memory such as NAND flash memory is being installed. However, this is a storage medium having characteristics that require time for data recording. For this reason, data recording time cannot be achieved in one device chip as the observation data from the observation equipment increases.

NANDフラッシュメモリのデータ記録性能の向上として、同一のメモリバスに複数のNANDフラッシュメモリを接続し、その中の複数個のNANDフラッシュメモリに対し並列書込みを行う方法がある。   As an improvement in the data recording performance of the NAND flash memory, there is a method in which a plurality of NAND flash memories are connected to the same memory bus and parallel writing is performed on the plurality of NAND flash memories.

図7において、まずNANDフラッシュメモリのデバイスチップの構造を簡単に紹介する。
なお、以下では、NANDフラッシュメモリのデバイスチップを、NANDフラッシュメモリチップともいう。
In FIG. 7, the structure of the NAND flash memory device chip is briefly introduced.
Hereinafter, the device chip of the NAND flash memory is also referred to as a NAND flash memory chip.

NANDフラッシュメモリチップ200は、1つのデバイスチップ内に、メモリインタフェース部201、コマンド処理部202、ページバッファ203及びNANDフラッシュメモリ204が構成されている。
メモリインタフェース部201は、メモリバスとのインタフェースである。
コマンド処理部202は、メモリインタフェース部201経由でホストコンピュータから送られてきた、Read/Write/Erase等のコマンドを処理する。
ページバッファ203は、Read/Writeするデータを一時的に保持する。
NANDフラッシュメモリ204には、実際にデータを保持するメモリ素子が配列されている。
The NAND flash memory chip 200 includes a memory interface unit 201, a command processing unit 202, a page buffer 203, and a NAND flash memory 204 in one device chip.
The memory interface unit 201 is an interface with a memory bus.
The command processing unit 202 processes commands such as Read / Write / Erase sent from the host computer via the memory interface unit 201.
The page buffer 203 temporarily holds data to be read / written.
In the NAND flash memory 204, memory elements that actually hold data are arranged.

NANDフラッシュメモリ204は、複数個のブロックに分けられており、1つのブロックは更に複数のページに分けられている。
新しいデータを記録するためには、一旦データの消去を行わないといけないが、その消去単位がブロックと呼ばれている。
一方、データの書込み(Write)/読出し(Read)は、ページ単位で行うことができる。
図7では、1つのNANDフラッシュメモリ204が、(y)個のブロックで構成され、1つのブロックは(x)個のページで構成されていることを示す。
現在、一般的には、ページは1〜4Kバイト、ブロックは64〜256Kバイト程度の記録容量を持つ。
The NAND flash memory 204 is divided into a plurality of blocks, and one block is further divided into a plurality of pages.
In order to record new data, the data must be erased once, but the erase unit is called a block.
On the other hand, data write / read can be performed in units of pages.
FIG. 7 shows that one NAND flash memory 204 is composed of (y) blocks, and one block is composed of (x) pages.
Currently, a page generally has a recording capacity of 1 to 4 Kbytes, and a block has a recording capacity of 64 to 256 Kbytes.

図8に、このようなNANDフラッシュメモリ204に対する書込みシーケンスを示す。
最初にホストコンピュータから第一コマンドを送出する。
第一コマンドには通常、書込み対象となるブロック番号及び同ブロック内のページ番号を示すアドレス情報が含まれている。
次に、ホストコンピュータから1ページ分のデータを転送する。
この転送したデータは、図7におけるページバッファ203へ一旦保持される。
つぎにホストコンピュータから第二コマンドを送出する。
NANDフラッシュメモリチップ200では、第二コマンドを契機に、図7におけるページバッファ203に保持されたデータを、図7におけるNANDフラッシュメモリ204の第一コマンド内のアドレス情報に示された所定のブロック、ページへの転送を行うチップ内書込み処理を開始する。
ホストコンピュータでは、NANDフラッシュメモリチップ200でのチップ内書込み処理の完了を待ち合わせてから、別の処理シーケンスを開始する必要がある。
FIG. 8 shows a write sequence for such a NAND flash memory 204.
First, the first command is sent from the host computer.
The first command usually includes address information indicating a block number to be written and a page number in the block.
Next, one page of data is transferred from the host computer.
The transferred data is temporarily held in the page buffer 203 in FIG.
Next, a second command is sent from the host computer.
In the NAND flash memory chip 200, triggered by the second command, the data held in the page buffer 203 in FIG. 7 is changed to a predetermined block indicated by the address information in the first command of the NAND flash memory 204 in FIG. In-chip write processing for transferring to a page is started.
In the host computer, it is necessary to wait for the completion of the in-chip write process in the NAND flash memory chip 200 before starting another process sequence.

ホストコンピュータからのNANDフラッシュメモリ204への書込みは、以上のシーケンスで処理されるが、チップ内書込み処理中は、ホストコンピュータとNANDフラッシュメモリチップ200をつなぐメモリバスが空き状態となるため、この間に同一バスに接続された別のNANDフラッシュメモリチップへのシーケンス(図8における、第一コマンド送出から第二コマンド送出まで)を実施することで、装置全体としての書込み性能を向上させることができる。
この様子を図9に示す。
Writing to the NAND flash memory 204 from the host computer is processed in the above sequence, but the memory bus connecting the host computer and the NAND flash memory chip 200 becomes empty during the on-chip writing process. By performing a sequence (from the first command transmission to the second command transmission in FIG. 8) to another NAND flash memory chip connected to the same bus, it is possible to improve the writing performance of the entire device.
This is shown in FIG.

図9では、NANDフラッシュメモリチップ#1(以下、単にチップ#1という)とNANDフラッシュメモリチップ#2(以下、単にチップ#2という)に対する並列書込みの様子を時系列で示している。   In FIG. 9, the state of parallel writing to the NAND flash memory chip # 1 (hereinafter simply referred to as chip # 1) and the NAND flash memory chip # 2 (hereinafter simply referred to as chip # 2) is shown in time series.

まず、ホストコンピュータからはチップ#1に対する書込みシーケンスをメモリバス上に送出する。
次に、チップ#1がチップ内書込み処理状態になったら、チップ#2に対する書込みシーケンスをメモリバス上へ送出する。
図9でも判るとおり、以上の並列書込みを行うことにより、2ページ分のデータを書込んでいるが、時間軸上ではチップ#1のチップ内書込み処理が隠蔽される結果となる(または、チップ#1のチップ書込み処理が短縮される結果となる)。
仮に第一コマンド送出から第二コマンド送出までの時間(通常は書込みデータ転送の時間が支配的である)と、チップ内書込み処理の時間が等しいとすると、図9に示す2つのデバイスチップに対する並列書込みを行うと、通常の書込みで2ページを書込む時間に比べて、3/4の時間で書込むことができる(つまり書込み性能が約33%アップしたことになる)。
First, the host computer sends a write sequence for chip # 1 onto the memory bus.
Next, when the chip # 1 enters the in-chip write processing state, a write sequence for the chip # 2 is sent onto the memory bus.
As can be seen from FIG. 9, two pages of data are written by performing the above parallel writing. However, on the time axis, the in-chip writing process of chip # 1 is concealed (or chip) As a result, the chip writing process of # 1 is shortened).
If it is assumed that the time from sending the first command to sending the second command (usually, the write data transfer time is dominant) and the time for the in-chip write processing are equal, the two device chips shown in FIG. When writing is performed, writing can be performed in 3/4 time compared to the time for writing two pages in normal writing (that is, the writing performance is improved by about 33%).

従来、図7に示すNANDフラッシュメモリの制御方法としては、特許文献1に開示の方法がある。
特許文献1では、図6のような方法が用いられている。
Conventionally, as a method for controlling the NAND flash memory shown in FIG.
In Patent Document 1, a method as shown in FIG. 6 is used.

図6において、NANDフラッシュメモリチップ200は、図7の内部構造を持つデバイスチップであり、メモリバス300を介してホストコンピュータ400と接続されている。
ホストコンピュータ400において、コマンドインタフェース部401は、より上位のシステム、例えばオペレーティングシステムのファイルシステム等とのインタフェースである。
読出し機能部402は、コマンドインタフェース部401経由で上位システムから指示された読み出しコマンドを処理する。
書込み機能部403は、コマンドインタフェース部401経由で上位システムから指示された書込みコマンドを処理する。
消去機能部404は、コマンドインタフェース部401経由で上位システムから指示された消去コマンドを処理する。
アドレス変換機能部405は、上位システムから指定される論理アドレスをNANDフラッシュメモリ204内のブロック番号、ページ番号に変換する。
空きブロック管理部406は、NANDフラッシュメモリ204内の各ブロックの状態を管理する。
メモリ別ビットマップ情報記憶部407は、各NANDフラッシュメモリ204のブロックごとの状態をビットマップで表すメモリ別ビットマップ情報を記憶している。
メモリインタフェース部408は、各機能部からの指示に基づき、図8に示すようなNANDフラッシュメモリチップ200とのシーケンスを実施する。
In FIG. 6, a NAND flash memory chip 200 is a device chip having the internal structure of FIG. 7, and is connected to the host computer 400 via the memory bus 300.
In the host computer 400, a command interface unit 401 is an interface with a higher system, for example, a file system of an operating system.
The read function unit 402 processes a read command instructed from the host system via the command interface unit 401.
The write function unit 403 processes a write command instructed from the host system via the command interface unit 401.
The erasing function unit 404 processes an erasing command instructed from the higher system via the command interface unit 401.
The address conversion function unit 405 converts a logical address designated by the host system into a block number and page number in the NAND flash memory 204.
The empty block management unit 406 manages the state of each block in the NAND flash memory 204.
The per-memory bitmap information storage unit 407 stores per-memory bitmap information that represents the state of each block of each NAND flash memory 204 as a bitmap.
The memory interface unit 408 executes a sequence with the NAND flash memory chip 200 as shown in FIG. 8 based on an instruction from each functional unit.

図6において、NANDフラッシュメモリ204の1ページへのデータ書込みは、次のように処理される。   In FIG. 6, data writing to one page of the NAND flash memory 204 is processed as follows.

まず、上位システムよりコマンドインタフェース部401に対して、論理アドレスを指定したデータの書込みが指示される。
コマンドインタフェース部401では、指示されたコマンドが書込みであるため、書込み機能部403を呼び出す。
書込み機能部403は、空きブロック管理部406を呼び出して、データを書込み可能なブロック、即ち消去済みの空きブロックを1つ求める。
次に、書込み機能部403は、メモリインタフェース部408へ、求めた空きブロックを指定して、メモリインタフェース部408へ書込みシーケンスの実行を指示する。
メモリインタフェース部408では、メモリバス305を介して図8に示す書込みシーケンスを実行し、チップ内書込み処理が完了したら書込み機能部403へ制御を戻す。
書込み制御部403は、アドレス変換機能部405を呼び出して、上位システムから指定された論理アドレスと実際にデータを書込んだブロック番号の対応付けを記憶させる。
First, the host system instructs the command interface unit 401 to write data specifying a logical address.
The command interface unit 401 calls the write function unit 403 because the instructed command is write.
The write function unit 403 calls the free block management unit 406 to obtain one block in which data can be written, that is, one erased free block.
Next, the write function unit 403 designates the obtained empty block to the memory interface unit 408 and instructs the memory interface unit 408 to execute the write sequence.
The memory interface unit 408 executes the write sequence shown in FIG. 8 via the memory bus 305, and returns control to the write function unit 403 when the in-chip write processing is completed.
The write control unit 403 calls the address conversion function unit 405 to store the correspondence between the logical address designated by the host system and the block number where data is actually written.

書込まれたデータは、読出し機能部402よりアドレス変換機能部405で変換したデバイスチップ内のブロック番号を指定して読み出され、不要になったら消去機能部404にて消去された後に空きブロック管理部406へ通知されて、消去済み、即ち空きブロックとして管理し、次のデータ書込みに備えられる。   The written data is read from the read function unit 402 by designating the block number in the device chip converted by the address conversion function unit 405. This is notified to the management unit 406 and managed as erased, that is, as an empty block, and prepared for the next data writing.

次に、従来の空きブロック管理部406での空きブロックの探索方法を、図10、図11を用いて説明する。
図10は、各ブロックの空き/使用中を1ビットで表現したメモリ別ビットマップ情報の構成を示したものである。
メモリ別ビットマップ情報は、NANDフラッシュメモリチップ200毎にブロックの空き状況をビットマップで表す。
より具体的には、チップ#1のブロック#1の状態をチップ#1用ビットマップのビット1番で、ブロック#2の状態をビット2番で表し、チップ#Nのブロック#Xの状態はチップ#N用ビットマップのビットX番で表す。
通常は、ビットの値が‘0’なら対応するブロックは使用中、‘1’なら空きを示す。
Next, an empty block search method in the conventional empty block management unit 406 will be described with reference to FIGS.
FIG. 10 shows a configuration of bit map information for each memory in which each block is vacant / in use with 1 bit.
The bit map information for each memory represents a vacant state of a block for each NAND flash memory chip 200 as a bit map.
More specifically, the state of block # 1 of chip # 1 is represented by bit 1 of the bitmap for chip # 1, the state of block # 2 is represented by bit 2, and the state of block #X of chip #N is This is represented by bit X in the chip #N bitmap.
Normally, if the value of the bit is “0”, the corresponding block is in use, and if it is “1”, it indicates that it is empty.

図11は、メモリ別ビットマップ情報のビットマップを用いた空きブロックの探索処理フローである。   FIG. 11 is a flow of search processing for an empty block using a bitmap of bitmap information for each memory.

空きブロック管理部406は、チップ#1から空きブロックを探索するためにステップS111で変数chipnoに‘1’を入れる。
ステップS112は全チップ用のビットマップを探索したかをチェックするためのもので、空きブロック管理部406は、変数chipnoと同一バスに接続されたNANDフラッシュメモリのチップ数Nと比較する。
全ビットマップを探索していない場合はステップS113へ進み、空きブロック管理部406は、変数chipnoの値で示されたチップに対応したビットマップ情報をビット1番から探索し、ビットの値‘1’が有るか探索する。
ステップS114ではビットマップの探索の結果、ビット値‘1’の有無を判定し、‘1’があった場合は空きブロックを検出したためステップS116へ進み、該ビットマップの更新(探索で‘1’のビットを‘0’に変更する)を行った後、空きブロックの探索を終了する。
The empty block management unit 406 puts “1” into the variable chipno in step S111 in order to search for an empty block from the chip # 1.
Step S112 is for checking whether the bitmaps for all chips have been searched. The empty block management unit 406 compares the variable chipno with the number N of NAND flash memory chips connected to the same bus.
If all the bitmaps have not been searched, the process advances to step S113, and the free block management unit 406 searches the bitmap information corresponding to the chip indicated by the value of the variable chipno from bit 1 and sets the bit value “1”. Search for '.
In step S114, it is determined whether or not there is a bit value “1” as a result of the search of the bitmap. If “1” is present, an empty block is detected, and the process proceeds to step S116. After that, the search for an empty block is terminated.

ステップS114にて該ビットマップ内に値‘1’のビットが検出できなかった場合はステップS115へ進み、空きブロック管理部406は、変数chipnoを1足した後、ステップS112へ戻る。
ステップS112にて全ビットマップを探索し終わったと判断された場合は、どのチップにも空きブロックが存在しないことになるため、空きブロック探索は失敗として終了する。
If a bit having the value “1” cannot be detected in the bitmap in step S114, the process proceeds to step S115, and the free block management unit 406 adds one to the variable chipno, and then returns to step S112.
If it is determined in step S112 that all the bitmaps have been searched, no empty block exists in any chip, and the empty block search ends as a failure.

国際公開WO2009−001514号公報International Publication WO2009-001514

従来は、以上のようにNANDフラッシュメモリを制御しているため、M個のNANDフラッシュメモリへ並列書込みを行う場合には、同一メモリバスに接続されたN個のNANDフラッシュメモリチップに対して、図11に示す処理を実施し、並列書込み数分のM個の空きブロックを求める必要があるとともに、空きブロック管理部では、同一メモリバスに接続されたNANDフラッシュメモリチップの番号を指定して空きブロックを求める機能追加が必要である。   Conventionally, since the NAND flash memory is controlled as described above, when performing parallel writing to M NAND flash memories, N NAND flash memory chips connected to the same memory bus are The processing shown in FIG. 11 must be performed to obtain M free blocks for the number of parallel writes, and the free block management unit specifies the number of NAND flash memory chips connected to the same memory bus and is free It is necessary to add a function to obtain a block.

パーソナルコンピュータ等での利用のような、上位システムで巨大なバッファを持つことが可能で、かつ書込みが完了するまで次の書込みコマンドの発行を待たせることができるシステムでは問題なく動作するが、衛星システムのように、記録すべきデータが連続データであり、巨大なバッファを持てない場合には、空きブロック管理部を繰返し(並列書込み個数分だけ)呼び出すことによる処理時間の増加により、入力データの欠損が生じるという課題がある。   It works well in systems that can have a huge buffer in the host system, such as use in a personal computer, and can wait for the next write command to be issued until the write is complete. If the data to be recorded is continuous data and cannot have a huge buffer, as in the system, the processing time increases by repeatedly calling the empty block management unit (for the number of parallel writes), There is a problem that defects occur.

または、本課題を回避するために、従来ではブロックへの書込み中は、上位システムに対して、次のデータ入力を待たせるようなフロー制御または、データ記録装置内に十分に大きなバッファメモリを搭載しなければならない、という課題がある。   Or, in order to avoid this problem, the flow control that waits for the next data input to the host system during writing to the block or a sufficiently large buffer memory in the data recording device is conventionally installed. There is a problem that must be done.

本発明は、このような課題を解決することを主な目的とし、未使用のブロックの探索を効率的に行って、並列書込み時のブロック探索時間を短縮することを主な目的とする。   The main object of the present invention is to solve such a problem, and it is a main object to efficiently search for unused blocks and reduce the block search time during parallel writing.

本発明に係るメモリ管理装置は、
それぞれのメモリサイズが共通し、それぞれが共通にX個(X≧2)のブロックに等分されているN個(N≧2)のメモリであって、各メモリのi番目(1≦i≦X)のブロックのブロック番号がメモリ間で共通しているN個のメモリに接続され、
ブロック番号別に、ブロック番号が共通するN個のブロックがそれぞれ使用済みであるか未使用であるかをビットマップで表すブロック番号別ビットマップ情報を記憶しているブロック番号別ビットマップ情報記憶部と、
M個(1≦M≦N)のメモリのM個のブロックへ並列にデータの書込みが行われる場合に、前記ブロック番号別ビットマップ情報のブロック番号別のビットマップを順次解析して、M個の未使用のブロックを探索する空きブロック管理部とを有することを特徴とする。
The memory management device according to the present invention includes:
Each memory size is the same, and each is an N (N ≧ 2) memory that is equally divided into X (X ≧ 2) blocks, each of which is i-th (1 ≦ i ≦ 1). X) the block number of the block is connected to N memories that are common among the memories,
A block number-specific bitmap information storage unit that stores block number-specific bitmap information that represents whether each of the N blocks having the same block number is used or not, in a bitmap, for each block number; ,
When data is written in parallel to M blocks of M (1 ≦ M ≦ N) memories, the block number-specific bitmap information of the block number-specific bitmap information is sequentially analyzed to obtain M pieces. And an empty block management unit for searching for unused blocks.

本発明では、ブロック番号別に、ブロック番号が共通するN個のブロックがそれぞれ使用済みであるか未使用であるかをビットマップで表すブロック番号別ビットマップ情報を用い、ブロック番号別のビットマップを順次解析して、M個の未使用のブロックを探索する。
このため、未使用のブロックの探索を効率的に行うことができ、並列書込み時のブロック探索時間を短縮することができる。
In the present invention, for each block number, the block number-specific bitmap information is used to indicate whether the N blocks having the same block number are used or not. Sequential analysis is performed to search for M unused blocks.
For this reason, an unused block can be searched efficiently, and the block search time at the time of parallel writing can be shortened.

実施の形態1及び実施の形態2でのNANDフラッシュ制御装置の構成例を示す図。The figure which shows the structural example of the NAND flash control apparatus in Embodiment 1 and Embodiment 2. FIG. 実施の形態1のブロック番号別ビットマップ情報を説明する図。FIG. 3 is a diagram illustrating block number-specific bitmap information according to the first embodiment. 実施の形態1の空きブロック管理部の空きブロック探索処理フロー図。FIG. 3 is a flowchart of an empty block search process in an empty block management unit according to the first embodiment. 実施の形態2のブロック番号別ビットマップ情報を説明する図。FIG. 6 is a diagram illustrating block number-specific bitmap information according to the second embodiment. 実施の形態2の空きブロック管理部の空きブロック探索処理フロー図。FIG. 10 is a flow chart of empty block search processing in an empty block management unit according to the second embodiment. 同一メモリバスに複数のNANDフラッシュメモリを接続した装置構成を示す図。The figure which shows the apparatus structure which connected the several NAND flash memory to the same memory bus. NANDフラッシュメモリのデバイスチップの一般的な内部構造を示す図。The figure which shows the general internal structure of the device chip | tip of NAND flash memory. NANDフラッシュメモリのデバイスチップに対する外部からの書込みシーケンスを示す図。The figure which shows the write-in sequence from the outside with respect to the device chip of NAND flash memory. 並列書込みの方法を示す図。The figure which shows the method of parallel writing. 従来のメモリ別ビットマップ情報を説明する図。The figure explaining the conventional bitmap information classified by memory. 従来の空きブロック管理部の空きブロック探索処理フロー図。The free block search processing flowchart of the conventional free block management part.

実施の形態1.
本実施の形態では、従来、NANDフラッシュメモリのチップ毎に保持していた空きブロック管理用のビットマップ情報を、各チップの同一ブロック番号の空き状態を1つのビットマップ情報として保持することにより、データ書込み処理での空きブロック確保において、チップ毎の巨大なビットマップ情報を繰返し探索する処理を不要とし、並列書込み時の空きブロック探索時間の増大を回避し、データ欠損無く連続データを記録できる、データ記録装置を提供する。
Embodiment 1 FIG.
In the present embodiment, conventionally, the free block management bitmap information held for each chip of the NAND flash memory is held as a single piece of bitmap information by holding the free state of the same block number of each chip. In securing free blocks in data write processing, processing that repeatedly searches for huge bitmap information for each chip is unnecessary, avoiding an increase in free block search time during parallel writing, and continuous data can be recorded without data loss. A data recording apparatus is provided.

図1は、本実施の形態に係る、データ記録装置であるNANDフラッシュ制御装置の構成例を示す。   FIG. 1 shows a configuration example of a NAND flash control device which is a data recording device according to the present embodiment.

図1において、N(N≧2)個のNANDフラッシュメモリチップ200は、図6に示したものと同様であり、図7に示した内部構成を持つ。
ホストコンピュータ100は、図6に示したホストコンピュータ400に対応する。
本実施の形態でも、ホストコンピュータ100と、N個のNANDフラッシュメモリチップ200はメモリバス300で接続されている。
ホストコンピュータ100は、メモリ管理装置の例に相当する。
1, N (N ≧ 2) NAND flash memory chips 200 are the same as those shown in FIG. 6, and have the internal configuration shown in FIG.
The host computer 100 corresponds to the host computer 400 shown in FIG.
Also in this embodiment, the host computer 100 and the N NAND flash memory chips 200 are connected by the memory bus 300.
The host computer 100 corresponds to an example of a memory management device.

ホストコンピュータ100において、コマンドインタフェース部101、読出し機能部102、書込み機能部103、消去機能部104、アドレス変換機能部105、メモリインタフェース部108は、図6に示したコマンドインタフェース部401、読出し機能部402、書込み機能部403、消去機能部404、アドレス変換機能部405、メモリインタフェース部408と同じである。
本実施の形態では、図6のメモリ別ビットマップ情報記憶部407の代わりに、ブロック番号別ビットマップ情報記憶部107を設けている。
ブロック番号別ビットマップ情報記憶部107は、ブロック番号別ビットマップ情報を記憶している。
メモリ別ビットマップ情報は、図10のように、NANDフラッシュメモリチップ200の単位で同じNANDフラッシュメモリチップ200内のX個のブロックがそれぞれ使用済みであるか未使用であるかをビットマップで表す情報である。
これに対して、ブロック番号別ビットマップ情報は、ブロック番号別に、ブロック番号が共通するN個のブロックがそれぞれ使用済みであるか未使用であるかをビットマップで表す情報である。
ブロック番号別ビットマップ情報の詳細は後述する。
また、本実施の形態では、メモリ別ビットマップ情報に代えてブロック番号別ビットマップ情報を用いることから、空きブロック管理部106による空きブロック探索アルゴリズムが図6の空きブロック管理部406とは異なる。
空きブロック管理部106は、ブロック番号別ビットマップ情報のブロック番号別のビットマップを順次解析して空きブロックを探索する。
空きブロック管理部106による空きブロック探索アルゴリズムの詳細は後述する。
In the host computer 100, the command interface unit 101, the read function unit 102, the write function unit 103, the erase function unit 104, the address conversion function unit 105, and the memory interface unit 108 are the command interface unit 401 and the read function unit shown in FIG. 402, the write function unit 403, the erase function unit 404, the address conversion function unit 405, and the memory interface unit 408.
In this embodiment, a bitmap information storage unit 107 by block number is provided instead of the bitmap information storage unit 407 by memory shown in FIG.
The block number-specific bitmap information storage unit 107 stores bit number-specific bitmap information.
As shown in FIG. 10, the bitmap information for each memory indicates whether each of the X blocks in the same NAND flash memory chip 200 is used or unused in a unit of the NAND flash memory chip 200 as a bitmap. Information.
On the other hand, the bitmap information for each block number is information that represents whether each of the N blocks having the same block number is used or unused for each block number.
Details of the bitmap information by block number will be described later.
Further, in the present embodiment, since the bitmap information by block number is used instead of the bitmap information by memory, the empty block search algorithm by the empty block management unit 106 is different from the empty block management unit 406 in FIG.
The empty block management unit 106 searches for empty blocks by sequentially analyzing the bitmaps by block number of the bitmap information by block number.
Details of the empty block search algorithm by the empty block management unit 106 will be described later.

ホストコンピュータ100は、例えば、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)を備えたメモリコントローラである。
また、コマンドインタフェース部101及びメモリインタフェース部108は、例えば、インタフェース回路で実現される。
読出し機能部102、書込み機能部103、消去機能部104、アドレス変換機能部105、空きブロック管理部106は、例えば、CPUがプログラムを実行することで実現される。
読出し機能部102、書込み機能部103、消去機能部104、アドレス変換機能部105、空きブロック管理部106の機能を実現するためのプログラムは例えばROMに格納されており、CPUが順次これらプログラムを読み込んで実行する。
読出し機能部102、書込み機能部103、消去機能部104、アドレス変換機能部105、空きブロック管理部106の機能の少なくとも一部をファームウェアや回路等のハードウェアで実現してもよい。
また、ブロック番号別ビットマップ情報記憶部107は、例えば、CPU内のレジスタ又はRAMにより実現される。
なお、以下では、従来技術との差異を説明し、従来技術と共通する処理の説明は省略する。
The host computer 100 is a memory controller including, for example, a CPU (Central Processing Unit), a RAM (Random Access Memory), and a ROM (Read Only Memory).
Further, the command interface unit 101 and the memory interface unit 108 are realized by an interface circuit, for example.
The read function unit 102, write function unit 103, erase function unit 104, address conversion function unit 105, and empty block management unit 106 are realized, for example, by the CPU executing a program.
Programs for realizing the functions of the read function unit 102, the write function unit 103, the erase function unit 104, the address conversion function unit 105, and the empty block management unit 106 are stored in, for example, a ROM, and the CPU sequentially reads these programs. Run with.
At least some of the functions of the read function unit 102, the write function unit 103, the erase function unit 104, the address conversion function unit 105, and the empty block management unit 106 may be realized by hardware such as firmware or a circuit.
Also, the block number-specific bitmap information storage unit 107 is realized by, for example, a register or RAM in the CPU.
In the following, differences from the prior art will be described, and description of processing common to the prior art will be omitted.

図2は、実施の形態1におけるブロック番号別ビットマップ情報の構成を示す。   FIG. 2 shows the configuration of the block number-specific bitmap information in the first embodiment.

図2に示すように、各NANDフラッシュメモリチップ200はブロック#1からブロック#XのX(X≧2)個のブロックに等分されており、各NANDフラッシュメモリチップ200のi番目(1≦i≦X)のブロックのブロック番号がN個のNANDフラッシュメモリチップ200間で共通している。
そして、ブロック番号別ビットマップ情報は、同一のブロック番号毎に1つ、つまりX個のビットマップで構成される。
すなわち、ブロック#1用ビットマップは、チップ#1のブロック#1の空き状態をビット1番で、チップ#Nのブロック#1の空き状態をビットN番で示す。
また、ブロック#X用のビットマップは、チップ#1のブロック#Xからチップ#Nのブロック#Xの空き状態を、それぞれビット1番からビットN番で表している。
本実施の形態に係るブロック番号別ビットマップ情報でも、未使用のブロック、すなわち空きブロックを‘1’で表すものとする。
As shown in FIG. 2, each NAND flash memory chip 200 is equally divided into X (X ≧ 2) blocks of block # 1 to block #X, and the i-th (1 ≦ 1) of each NAND flash memory chip 200 is obtained. The block number of the block i ≦ X) is common among the N NAND flash memory chips 200.
The block number-specific bitmap information is composed of one, that is, X bitmaps for each identical block number.
That is, the block # 1 bitmap indicates the empty state of the block # 1 of the chip # 1 by bit 1 and the empty state of the block # 1 of the chip #N by bit N.
Also, the block #X bitmap represents the empty state of the block #X from the block #X to the chip #N of the chip # 1 by the bit 1 to the bit N, respectively.
In the bitmap information by block number according to the present embodiment, an unused block, that is, an empty block is represented by “1”.

図3は、実施の形態1における、図2で示すブロック番号別ビットマップ情報を用いた、空きブロック管理部106の動作例を示すフローチャート図である。   FIG. 3 is a flowchart showing an operation example of the empty block management unit 106 using the block number-specific bitmap information shown in FIG. 2 in the first embodiment.

図3では、並列書き込みするチップ数のM(1≦M≦N)が与えられて空きブロックの探索が開始され、ブロック#1用ビットマップから空きブロックを探索するために、ステップS31で変数blknoに‘1’を入れる。
ステップS32は、全ビットマップを探索したかをチェックするためのもので、空きブロック管理部106は、変数blknoと各NANDフラッシュメモリの全ブロック数Xと比較する。
全ビットマップを探索していない場合はステップS33へ進み、変数blknoの値で示されたブロック番号に対応したビットマップを探索し、ビットの値が‘1’の個数を探索する。
ステップS34では探索の結果、空きブロック管理部106は、ビット値‘1’の個数を判定し、M個以上の‘1’があった場合は必要個数の空きブロックを検出したためステップS36へ進み、該ビットマップの更新(探索で‘1’のビットを先頭からM個分‘0’に変更する)を行った後、空きブロックの探索を終了する。
ステップS34にて該ビットマップ内に値‘1’のビットがM個以上検出できなかった場合はステップS35へ進み変数blknoを1足した後、ステップS32へ戻る。
ステップS32にて全ビットマップを探索し終わったと判断された場合は、どのブロック番号にもM個の空きブロックが存在しないことになるため、空きブロック探索は失敗として終了する。
In FIG. 3, M (1 ≦ M ≦ N) is given as the number of chips to be written in parallel, and a search for an empty block is started. In order to search for an empty block from the block # 1 bitmap, a variable blkno is set in step S31. Put '1' in
Step S32 is for checking whether all the bitmaps have been searched. The free block management unit 106 compares the variable blkno with the total number of blocks X of each NAND flash memory.
If all the bitmaps have not been searched, the process proceeds to step S33, the bitmap corresponding to the block number indicated by the value of the variable blkno is searched, and the number of bits having the value “1” is searched.
In step S34, as a result of the search, the free block management unit 106 determines the number of bit values “1”. If there are M or more “1” s, the number of free blocks is detected, and the process proceeds to step S36. After updating the bitmap (by changing the bit of “1” from the top to “0” by M in the search), the search for the empty block is ended.
If M or more bits having the value “1” cannot be detected in the bitmap in step S34, the process proceeds to step S35, and after adding the variable blkno, the process returns to step S32.
If it is determined in step S32 that all the bitmaps have been searched, there are no M empty blocks in any block number, and the empty block search ends as a failure.

以上により、従来1つのチップに対するビット探索に要するループ回数に等しい回数の小規模なビットマップを探索することで並列書込みに適した空きブロックの組を取出すことができ、従来の空きブロック管理部から1つの空きブロックを取出すのと同程度の処理量で並列書込み処理を行え、結果として連続する入力データを欠損なく記録することができる。
従来技術では、M個の空きブロックを探索するためには、図11のループを少なくともM回繰り返す必要がある。
これに対して、本実施の形態では、図3の処理を1回実施するだけで、M個の空きブロックを探索できる場合がある。
As described above, it is possible to retrieve a set of free blocks suitable for parallel writing by searching for a small number of small bitmaps equal to the number of loops required for bit search for a single conventional chip. Parallel write processing can be performed with the same amount of processing as extracting one empty block, and as a result, continuous input data can be recorded without loss.
In the prior art, in order to search for M empty blocks, it is necessary to repeat the loop of FIG. 11 at least M times.
On the other hand, in this embodiment, it may be possible to search for M free blocks by performing the process of FIG. 3 only once.

なお、図3では、M及びNは(N≧M)の条件を満たす限り任意の値でよく、M=1、すなわち従来例と同じ空きブロック確保にも使用できる。   In FIG. 3, M and N may be arbitrary values as long as the condition of (N ≧ M) is satisfied, and M = 1, that is, can be used for securing the same free block as in the conventional example.

以上、本実施の形態では、
連続した入力データを、同一バス上に接続された複数の記憶媒体へ並列記録するデータ記録装置であって、
(1)記録媒体を固定サイズに分割したブロック毎に、ブロックの状態やデータの記録状態を保持する、空きブロック管理部と、
(2)前記空きブロック管理部に、同一のブロック番号毎に同一バス上に接続された複数の記憶媒体の前記ブロックの空き状態を示すビットマップ情報とを備え、
(3)前記ビットマップ情報をブロック番号順に探索し、並列記録するブロック数に等しい空きブロックを確保するデータ記録装置を説明した。
As described above, in the present embodiment,
A data recording apparatus for recording continuous input data in parallel on a plurality of storage media connected on the same bus,
(1) An empty block management unit that holds a block state and a data recording state for each block obtained by dividing the recording medium into a fixed size;
(2) The empty block management unit includes bitmap information indicating empty states of the blocks of a plurality of storage media connected on the same bus for each same block number,
(3) A data recording apparatus has been described in which the bitmap information is searched in the order of block numbers to secure empty blocks equal to the number of blocks to be recorded in parallel.

実施の形態2.
実施の形態2では、実施の形態1でのブロック番号別ビットマップ情報の各ビットマップにビット値‘1’の個数を追加したブロック番号別ビットマップ情報を用い、図3のステップ(S33)でのビットマップ探索に相当する処理をより高速に行う方式を説明する。
なお、本実施の形態に係るNANDフラッシュ制御装置の構成例も、図1に示したものと同様である。
実施の形態1との違いは、ブロック番号別ビットマップ情報にビット値‘1’の個数が追加されていることと、空きブロック管理部106の動作例が異なることのみである。
Embodiment 2. FIG.
In the second embodiment, the block number-specific bitmap information obtained by adding the number of bit values “1” to each bitmap of the block number-specific bitmap information in the first embodiment is used in step (S33) of FIG. A method for performing a process corresponding to the bitmap search at a higher speed will be described.
A configuration example of the NAND flash control device according to the present embodiment is also the same as that shown in FIG.
The only difference from the first embodiment is that the number of bit values '1' is added to the block number-specific bitmap information and the operation example of the empty block management unit 106 is different.

図4は、実施の形態2におけるブロック番号別ビットマップ情報の構成を示す。   FIG. 4 shows the configuration of the block number-specific bitmap information in the second embodiment.

図4において、ブロック#1用ビットマップからブロック#X用ビットマップは、図2のものと同じである。
各ビットマップには、各々のビットマップ内のビット値‘1’のビット個数、すなわち空きブロック数を保持する領域を追加している。
In FIG. 4, the block # 1 bitmap to the block #X bitmap are the same as those in FIG.
In each bitmap, an area for holding the number of bits of the bit value “1” in each bitmap, that is, the number of empty blocks is added.

図5は、実施の形態2における、図4で示すブロック番号別ビットマップ情報を用いた、空きブロック管理部106の動作例を示すフローチャート図である。   FIG. 5 is a flowchart showing an operation example of the empty block management unit 106 using the block number-specific bitmap information shown in FIG. 4 in the second embodiment.

図5では、並列書き込みするチップ数のM(1≦M≦N)が与えられて空きブロックの探索が開始され、ブロック#1用ビットマップから空きブロックを探索するために、ステップS51で変数blknoに‘1’を入れる。
ステップS52は、全ビットマップを探索したかをチェックするためのもので、空きブロック管理部106は、変数blknoと各NANDフラッシュメモリの全ブロック数Xと比較する。
全ビットマップを探索していない場合はステップS53へ進み、空きブロック管理部106は、変数blknoの値で示されたブロック番号に対応したビットマップに付加されている空きブロック数freenoを得る。
ステップS54では空きブロック管理部106は、freenoの値を調べ、M以上であった場合は必要個数の空きブロック確保可能と判断しステップS56へ進み、blkno番目のビットマップからビット値‘1’、すなわち空きブロックを探索した後、ステップS57で該ビットマップの更新(探索で‘1’のビットを先頭からM個分‘0’に変更し、空きブロック数からMを減算する)を行い、空きブロックの探索を終了する。
ステップS54にてfreenoがMより小さかった場合は、対応するビットマップからは必要個数M個の空きブロックは確保できないと判断してステップS55へ進み、変数blknoを1足した後、ステップS52へ戻る。
ステップS52にて全ビットマップを探索し終わったと判断された場合は、どのブロック番号にもM個の空きブロックを持つチップが存在しないことになるため、空きブロック探索は失敗として終了する。
In FIG. 5, M (1 ≦ M ≦ N) of the number of chips to be written in parallel is given, and a search for an empty block is started. In order to search for an empty block from the block # 1 bitmap, a variable blkno is set in step S51. Put '1' in
Step S52 is for checking whether all bitmaps have been searched. The free block management unit 106 compares the variable blkno with the total number X of blocks in each NAND flash memory.
If all the bitmaps have not been searched, the process proceeds to step S53, and the free block management unit 106 obtains the number of free blocks free added to the bitmap corresponding to the block number indicated by the value of the variable blkno.
In step S54, the free block management unit 106 checks the value of free, and if it is equal to or greater than M, the free block management unit 106 determines that the necessary number of free blocks can be secured, and proceeds to step S56, from which the bit value “1”, That is, after searching for an empty block, the bit map is updated in step S57 (the bit of “1” is changed to “0” by M from the head in the search, and M is subtracted from the number of empty blocks). End the block search.
If freeno is smaller than M in step S54, it is determined that the required number M of empty blocks cannot be secured from the corresponding bitmap, and the process proceeds to step S55. After adding the variable blkno, the process returns to step S52. .
If it is determined in step S52 that all the bitmaps have been searched, no chip having M empty blocks exists in any block number, so that the empty block search ends as a failure.

以上により、実施の形態1における図3のステップS33のビットマップ探索を変数の取り出しで代替することで、実施の形態1でのM個の空きブロック探索をより高速に処理することができ、結果としてより高速な連続する入力データを欠損なく記録することができる。
つまり、本実施の形態では、空きブロック数が足りないブロック番号についてはビットマップの解析を省略できるので、空きブロック探索をより高速に処理することができる。
As described above, by replacing the bitmap search in step S33 of FIG. 3 in the first embodiment with the extraction of variables, the M empty block searches in the first embodiment can be processed at higher speed, and the result As a result, it is possible to record higher-speed continuous input data without any loss.
That is, according to the present embodiment, the analysis of the bitmap can be omitted for the block number for which the number of empty blocks is insufficient, so that the empty block search can be processed at a higher speed.

なお、図5では、M及びNは(N≧M)の条件を満たす限り任意の値でよく、M=1、すなわち従来例と同じ空きブロック確保にも使用できる。   In FIG. 5, M and N may be arbitrary values as long as the condition of (N ≧ M) is satisfied, and M = 1, that is, can be used for securing the same free block as the conventional example.

本実施の形態では、同一のブロック番号毎のビットマップ情報に、ビットマップ情報内の空きブロックを示す数を保持したデータ記録装置を説明した。   In the present embodiment, the data recording apparatus has been described in which the number indicating the empty block in the bitmap information is held in the bitmap information for each identical block number.

なお、実施の形態1及び実施の形態2では、NANDフラッシュメモリを対象として説明を進めたが、複数のブロックに等分されているメモリであれば、本発明が対象とするメモリはNANDフラッシュメモリに限らない。   In the first and second embodiments, the description has been made on the NAND flash memory. However, if the memory is equally divided into a plurality of blocks, the memory targeted by the present invention is the NAND flash memory. Not limited to.

100 ホストコンピュータ、101 コマンドインタフェース部、102 読出し機能部、103 書込み機能部、104 消去機能部、105 アドレス変換機能部、106 空きブロック管理部、107 ブロック番号別ビットマップ情報記憶部、108 メモリインタフェース部、200 NANDフラッシュメモリチップ、300 メモリバス。   DESCRIPTION OF SYMBOLS 100 Host computer, 101 Command interface part, 102 Read function part, 103 Write function part, 104 Erase function part, 105 Address conversion function part, 106 Empty block management part, 107 Bit number information storage part by block number, 108 Memory interface part , 200 NAND flash memory chip, 300 memory bus.

Claims (5)

それぞれのメモリサイズが共通し、それぞれが共通にX個(X≧2)のブロックに等分されているN個(N≧2)のメモリであって、各メモリのi番目(1≦i≦X)のブロックのブロック番号がメモリ間で共通しているN個のメモリに接続され、
ブロック番号別に、ブロック番号が共通するN個のブロックがそれぞれ使用済みであるか未使用であるかをビットマップで表すブロック番号別ビットマップ情報を記憶しているブロック番号別ビットマップ情報記憶部と、
M個(1≦M≦N)のメモリのM個のブロックへ並列にデータの書込みが行われる場合に、前記ブロック番号別ビットマップ情報のブロック番号別のビットマップを順次解析して、M個の未使用のブロックを探索する空きブロック管理部とを有することを特徴とするメモリ管理装置。
Each memory size is the same, and each is an N (N ≧ 2) memory that is equally divided into X (X ≧ 2) blocks, each of which is i-th (1 ≦ i ≦ 1). X) the block number of the block is connected to N memories that are common among the memories,
A block number-specific bitmap information storage unit that stores block number-specific bitmap information that represents whether each of the N blocks having the same block number is used or not, in a bitmap, for each block number; ,
When data is written in parallel to M blocks of M (1 ≦ M ≦ N) memories, the block number-specific bitmap information of the block number-specific bitmap information is sequentially analyzed to obtain M pieces. And a free block management unit that searches for unused blocks.
前記ブロック番号別ビットマップ情報記憶部は、
ブロック番号別に、ブロック番号が共通するN個のブロックがそれぞれ使用済みであるか未使用であるかをビットマップで表すとともに、N個のブロックのうちの未使用のブロックの個数を表すブロック番号別ビットマップ情報を記憶していることを特徴とする請求項1に記載のメモリ管理装置。
The block number-specific bitmap information storage unit
For each block number, the N blocks having the same block number are each used as a bitmap, indicating whether each of the N blocks is used or unused, and also indicating the number of unused blocks among the N blocks The memory management device according to claim 1, wherein bitmap information is stored.
前記空きブロック管理部は、
いずれかのブロック番号において未使用のブロックがM個以上存在する場合に、当該ブロック番号でM個のブロックが新たに使用済みとなったことが表されるように当該ブロック番号のビットマップを変更することを特徴とする請求項1に記載のメモリ管理装置。
The empty block management unit
When there are M or more unused blocks in any block number, the block number bitmap is changed so that the block number indicates that M blocks are newly used. The memory management device according to claim 1, wherein:
前記空きブロック管理部は、
いずれかのブロック番号において未使用のブロックがM個以上存在する場合に、当該ブロック番号でM個のブロックが新たに使用済みとなったことが表されるように当該ブロック番号のビットマップを変更するとともに、当該ブロック番号の未使用のブロックの個数をM個分減じることを特徴とする請求項2に記載のメモリ管理装置。
The empty block management unit
When there are M or more unused blocks in any block number, the block number bitmap is changed so that the block number indicates that M blocks are newly used. The memory management device according to claim 2, wherein the number of unused blocks of the block number is reduced by M.
前記メモリ管理装置は、
N個のNANDフラッシュメモリと接続されていることを特徴とする請求項1〜4のいずれかに記載のメモリ管理装置。
The memory management device includes:
The memory management device according to claim 1, wherein the memory management device is connected to N NAND flash memories.
JP2013030201A 2013-02-19 2013-02-19 Memory management device Expired - Fee Related JP6053557B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013030201A JP6053557B2 (en) 2013-02-19 2013-02-19 Memory management device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013030201A JP6053557B2 (en) 2013-02-19 2013-02-19 Memory management device

Publications (2)

Publication Number Publication Date
JP2014160335A true JP2014160335A (en) 2014-09-04
JP6053557B2 JP6053557B2 (en) 2016-12-27

Family

ID=51611989

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013030201A Expired - Fee Related JP6053557B2 (en) 2013-02-19 2013-02-19 Memory management device

Country Status (1)

Country Link
JP (1) JP6053557B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000122923A (en) * 1998-07-13 2000-04-28 Sony Corp Recording device and method, reproducing device and method, recording medium, and program recording medium
JP2006277737A (en) * 2005-03-03 2006-10-12 Matsushita Electric Ind Co Ltd Nonvolatile storage device having address predicting function
JP2007179479A (en) * 2005-12-28 2007-07-12 Tdk Corp Memory controller and flash memory system
JP2011197788A (en) * 2010-03-17 2011-10-06 Toshiba Corp Memory system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000122923A (en) * 1998-07-13 2000-04-28 Sony Corp Recording device and method, reproducing device and method, recording medium, and program recording medium
JP2006277737A (en) * 2005-03-03 2006-10-12 Matsushita Electric Ind Co Ltd Nonvolatile storage device having address predicting function
JP2007179479A (en) * 2005-12-28 2007-07-12 Tdk Corp Memory controller and flash memory system
JP2011197788A (en) * 2010-03-17 2011-10-06 Toshiba Corp Memory system

Also Published As

Publication number Publication date
JP6053557B2 (en) 2016-12-27

Similar Documents

Publication Publication Date Title
US10628319B2 (en) Methods for caching and reading data to be programmed into a storage unit and apparatuses using the same
JP5002201B2 (en) Memory system
CN109085997A (en) Memory-efficient for nonvolatile memory continues key assignments storage
US7363421B2 (en) Optimizing write/erase operations in memory devices
US9405485B2 (en) Method and apparatus for writing data to a flash memory
US8510502B2 (en) Data writing method, and memory controller and memory storage apparatus using the same
US11086568B2 (en) Memory system for writing fractional data into nonvolatile memory
JP5368735B2 (en) Solid state disk controller and data processing method of solid state disk controller
US20170124077A1 (en) Flash module provided with database operation unit, and storage device
KR20090056966A (en) Logical super block mapping for nand flash memory
CN109062827A (en) Flash memory control device, flash memory control system, and flash memory control method
JP2013030254A (en) Semiconductor storage device and information processing device
US9009442B2 (en) Data writing method, memory controller and memory storage apparatus
JPWO2015114829A1 (en) Information processing device
CN106649137B (en) Nand Flash bad block management method and device and memory
CN107229580A (en) Sequential stream detection method and apparatus
CN115249057A (en) System and computer-implemented method for graph node sampling
CN110874333B (en) Storage device and storage method
WO2015118623A1 (en) Information processing device
JP6053557B2 (en) Memory management device
CN112148203B (en) Memory management method, device, electronic equipment and storage medium
CN114138176A (en) Nor Flash erasing and upgrading method and device, computer equipment and storage medium
KR100479170B1 (en) Access control device for memory and method thereof
TW202137013A (en) Data processing method and memory controller utilizing the same
KR101175250B1 (en) NAND Flash Memory device and controller thereof, Write operation method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160913

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161006

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161129

R150 Certificate of patent or registration of utility model

Ref document number: 6053557

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees