JP2009205410A - Memory controller and memory system - Google Patents

Memory controller and memory system Download PDF

Info

Publication number
JP2009205410A
JP2009205410A JP2008046704A JP2008046704A JP2009205410A JP 2009205410 A JP2009205410 A JP 2009205410A JP 2008046704 A JP2008046704 A JP 2008046704A JP 2008046704 A JP2008046704 A JP 2008046704A JP 2009205410 A JP2009205410 A JP 2009205410A
Authority
JP
Japan
Prior art keywords
data
memory
flash memory
read
memory controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008046704A
Other languages
Japanese (ja)
Inventor
Kenta Yasufuku
健太 安福
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008046704A priority Critical patent/JP2009205410A/en
Publication of JP2009205410A publication Critical patent/JP2009205410A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

<P>PROBLEM TO BE SOLVED: To provide a memory controller for achieving efficient reading with low power consumption without imposing a load on the memory capacity of a transfer destination or a bus used for transfer in the case of reading from a flash memory. <P>SOLUTION: This memory controller for controlling access to the flash memory from which the reading of storage data is performed by page units according to the read request information of data is configured to delete data which are not matched with the read request information from among the storage data read from the flash memory by the page units, and to selectively extract and output data matched with the read request information. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、メモリコントローラおよびメモリシステムに関するものである。   The present invention relates to a memory controller and a memory system.

近年、不揮発性半導体メモリは、大型コンピュータから、パーソナルコンピュータ、家電製品、携帯電話等、様々な所で利用されている。特に、NAND型フラッシュメモリは、電気的に書き換えが可能であり、不揮発性、大容量化、高集積化が可能な半導体メモリであり、最近では、ハードディスクドライブ(HDD)の置き換え用途としても考えられている。   In recent years, nonvolatile semiconductor memories have been used in various places such as large computers, personal computers, home appliances, and mobile phones. In particular, the NAND flash memory is a semiconductor memory that can be electrically rewritten and is nonvolatile, has a large capacity, and can be highly integrated. Recently, the NAND flash memory is also considered as a replacement for a hard disk drive (HDD). ing.

このようなNAND型フラッシュメモリを用いた技術としては、例えばフラッシュメモリの読み出し動作を制御するメモリコントローラの制御により、ページデータを一時貯蔵するためのバッファメモリを有するフラッシュメモリからDRAM(Dynamic Random Access Memory)にデータ伝送するデータ処理システムが提案されている(たとえば、特許文献1参照)。   As a technique using such a NAND type flash memory, for example, a flash memory having a buffer memory for temporarily storing page data under the control of a memory controller that controls a read operation of the flash memory is changed to a DRAM (Dynamic Random Access Memory). ) Has been proposed (see, for example, Patent Document 1).

しかしながら、上記従来の技術によれば、OneNAND型フラッシュメモリからデータを読み出した際に、本来は読み込む必要のない不要なデータが、必要なデータの間に配置される場合がある。これは、NAND型フラッシュメモリにおいてはページサイズ単位でしかデータの読み込みが行えないことに起因する。このような場合において、一度NAND型フラッシュメモリからの読み出しを停止し、再度途中から読み出しを行うと、NAND型フラッシュメモリからの読み出しにかかる初期時間が新たに必要となり、読み出し速度が低下するという問題がある。   However, according to the above conventional technique, when data is read from the OneNAND flash memory, unnecessary data that does not need to be read may be arranged between necessary data. This is due to the fact that data can be read only in page size units in a NAND flash memory. In such a case, once reading from the NAND flash memory is stopped and reading is performed again in the middle, a new initial time is required for reading from the NAND flash memory, and the reading speed is reduced. There is.

また、不要なデータもまとめて読み込む場合には、RAM上に不要なデータを転送することにより、必要のない不要なデータを格納するためのRAM容量の使用、不要なデータを転送することによるバス使用率の増加などの問題が生じる。また、データ転送先をASICチップ外部のDRAMとした場合には、チップ外部へのアクセスが発生するため消費電力が多くなる。   In addition, when unnecessary data is also read together, use of RAM capacity for storing unnecessary data by transferring unnecessary data on the RAM, and a bus by transferring unnecessary data. Problems such as an increase in usage rate occur. Further, when the data transfer destination is a DRAM outside the ASIC chip, power consumption increases because access to the outside of the chip occurs.

特開2007−87388号公報JP 2007-87388 A

本発明は、上記に鑑みてなされたものであって、フラッシュメモリからの読み出しにおいて、転送先のメモリ容量や転送に使用するバスに負担を掛けずに、低消費電力で効率的な読み出しが可能なメモリコントローラを提供することを目的とする。   The present invention has been made in view of the above, and in reading from a flash memory, efficient reading can be performed with low power consumption without imposing a burden on a memory capacity of a transfer destination or a bus used for transfer. An object of the present invention is to provide a simple memory controller.

本願発明の一態様によれば、データの読み出し要求情報に従って、ページ単位で記憶データの読み出しが行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、前記フラッシュメモリからページ単位で読み出した記憶データのうち、前記読み出し要求情報に合致しないデータを削除して前記読み出し要求情報に合致するデータのみを選択的に取り出して出力すること、を特徴とするメモリコントローラが提供される。   According to one aspect of the present invention, there is provided a memory controller for controlling access to a flash memory from which stored data is read in units of pages in accordance with data read request information, wherein the stored data read from the flash memories in units of pages. A memory controller is provided, wherein data that does not match the read request information is deleted, and only data that matches the read request information is selectively extracted and output.

本発明によれば、ページ単位で記憶データの読み出しが行われるフラッシュメモリからの読み出しにおいて、転送先のメモリ容量や転送に使用するバスに負担を掛けずに、低消費電力で効率的な読み出しが可能となる、という効果を奏する。   According to the present invention, in reading from a flash memory in which stored data is read in units of pages, efficient reading can be performed with low power consumption without imposing a burden on the memory capacity of the transfer destination and the bus used for transfer. There is an effect that it becomes possible.

以下に添付図面を参照して、この発明にかかるメモリコントローラおよびメモリシステムの実施の形態を詳細に説明する。なお、本発明は以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。   Exemplary embodiments of a memory controller and a memory system according to the present invention will be explained below in detail with reference to the accompanying drawings. In addition, this invention is not limited to the following description, In the range which does not deviate from the summary of this invention, it can change suitably.

(実施の形態)
図1は、本発明の実施の形態にかかるメモリシステム1を備えた計算機システムの一例を示す概略図である。本実施の形態にかかるメモリシステム1は、ホスト装置(PCなど)に接続される記憶デバイスである。
(Embodiment)
FIG. 1 is a schematic diagram illustrating an example of a computer system including a memory system 1 according to an embodiment of the present invention. The memory system 1 according to the present embodiment is a storage device connected to a host device (such as a PC).

計算機システムは、中央演算処理装置(CPU:Central Processing Unit)2、DRAM(Dynamic Random Access Memory)等のメインメモリ3、メインメモリ3を制御するメモリコントローラ4、及び本実施の形態にかかるメモリシステム1を備えている。CPU2、メインメモリ3、及びメモリシステム1は、アドレスを扱うアドレスバス5、及びデータを扱うデータバス6を介して接続されている。   The computer system includes a central processing unit (CPU) 2, a main memory 3 such as a DRAM (Dynamic Random Access Memory), a memory controller 4 for controlling the main memory 3, and a memory system 1 according to the present embodiment. It has. The CPU 2, the main memory 3, and the memory system 1 are connected via an address bus 5 that handles addresses and a data bus 6 that handles data.

このような計算機システムでは、CPU2からの転送要求(読み出し要求、或いは書き込み要求)に応じて、書き込み要求であればCPU2のデータ(外部から入力されたデータを含む)、或いはメインメモリ3のデータがメモリシステム1に転送され、読み出し要求であればメモリシステム1のデータがCPU2、或いはメインメモリ3に転送される。   In such a computer system, in response to a transfer request (read request or write request) from the CPU 2, if it is a write request, data of the CPU 2 (including data input from the outside) or data of the main memory 3 is stored. If it is a read request, the data in the memory system 1 is transferred to the CPU 2 or the main memory 3.

メモリシステム1は、不揮発性半導体メモリの一種であるNAND型フラッシュメモリ10、及びこのNAND型フラッシュメモリ10を制御するNANDコントローラ11を備えている。以下に、メモリシステム1の構成の一例について説明する。   The memory system 1 includes a NAND flash memory 10 that is a kind of nonvolatile semiconductor memory, and a NAND controller 11 that controls the NAND flash memory 10. Hereinafter, an example of the configuration of the memory system 1 will be described.

図2は、メモリシステム1の構成を示す概略図である。メモリシステム1は、NAND型フラッシュメモリ10、DRAM12、ASICチップ13を有する。NAND型フラッシュメモリ10は、データの消去単位であるブロック領域を複数配列して構成されている。   FIG. 2 is a schematic diagram showing the configuration of the memory system 1. The memory system 1 includes a NAND flash memory 10, a DRAM 12, and an ASIC chip 13. The NAND flash memory 10 is configured by arranging a plurality of block areas which are data erasing units.

DRAM12は、ASICチップ13の外部に配置され、ホスト装置とのデータ転送や、NAND型フラッシュメモリ10へのデータ読み書き用のバッファとして使用する。NAND型フラッシュメモリ10に書き込むデータはすべてDRAM12に存在する。また、DRAM12には、NANDコントローラ11がディスクリプタ転送を行う場合に参照するテーブルであり、NAND型フラッシュメモリ10からページ単位で読み出した記憶データのディスクリプタ転送に関する指示情報である転送パラメータが記述されたディスクリプタテーブル31を保持している。   The DRAM 12 is arranged outside the ASIC chip 13 and is used as a buffer for data transfer with the host device and data reading / writing to the NAND flash memory 10. All data written to the NAND flash memory 10 exists in the DRAM 12. The DRAM 12 is a table that is referred to when the NAND controller 11 performs descriptor transfer. The descriptor in which transfer parameters that are instruction information related to descriptor transfer of storage data read from the NAND flash memory 10 in units of pages is described. A table 31 is held.

ASICチップ13内には、ホストインターフェース(ホストI/F)21、演算処理装置(MPU:Micro Processing Unit)22、NANDコントローラ11、RAMコントローラ23、ROM24、RAM25およびバス26を備えている。   The ASIC chip 13 includes a host interface (host I / F) 21, an arithmetic processing unit (MPU: Micro Processing Unit) 22, a NAND controller 11, a RAM controller 23, a ROM 24, a RAM 25, and a bus 26.

ホストI/F21は、ホスト装置とのデータ転送を行なうため、NANDコントローラ11とホスト装置(図1のCPU2、メインメモリ3)との間のインターフェース処理を行う。   The host I / F 21 performs interface processing between the NAND controller 11 and the host device (the CPU 2 and the main memory 3 in FIG. 1) in order to perform data transfer with the host device.

MPU22は、メモリシステム1全体の動作を制御する。MPU22は、例えば、メモリシステム1が電源供給を受けたときに、ROM24に格納されているファームウェア(制御プログラム)をRAM25上に読み出して所定の処理を実行することにより、各種のテーブルをRAM25上に作成する。また、MPU22は、ホスト装置から書き込み要求、読み出し要求、消去要求を受け、これらの要求に応じてNAND型フラッシュメモリ10に所定の処理を実行する。MPU22は、NANDコントローラ11を介してNAND型フラッシュメモリ10のやりとりを行うことができる。   The MPU 22 controls the operation of the entire memory system 1. For example, when the memory system 1 is supplied with power, the MPU 22 reads the firmware (control program) stored in the ROM 24 onto the RAM 25 and executes predetermined processing to store various tables on the RAM 25. create. The MPU 22 receives a write request, a read request, and an erase request from the host device, and executes predetermined processing on the NAND flash memory 10 in response to these requests. The MPU 22 can exchange the NAND flash memory 10 via the NAND controller 11.

図3は、NANDコントローラ11の構成例を示す図である。NANDコントローラ11は、図3に示すようにDMA転送制御用のDMAコントローラ41と、ECC回路42と、NANDインターフェース(I/F)43と、を備える。DMA転送制御用のDMAコントローラ41は、バス26から読み込んだNAND型フラッシュメモリ10へ書き込むデータをECCとともにNAND型フラッシュメモリ10へ転送するための書き込みデータ転送機能、NAND型フラッシュメモリ10からページ単位で記憶データおよびECCの読み込みを行い、読み込んだデータをバス26に出力する読み込みデータ転送機能を有する。   FIG. 3 is a diagram illustrating a configuration example of the NAND controller 11. As shown in FIG. 3, the NAND controller 11 includes a DMA controller 41 for DMA transfer control, an ECC circuit 42, and a NAND interface (I / F) 43. A DMA controller 41 for DMA transfer control has a write data transfer function for transferring data to be read to the NAND flash memory 10 read from the bus 26 to the NAND flash memory 10 together with ECC, and from the NAND flash memory 10 in units of pages. It has a read data transfer function for reading stored data and ECC and outputting the read data to the bus 26.

また、DMA転送制御用のDMAコントローラ41は、ホスト装置からのデータの読み出し要求情報に従って、ページ単位で記憶データの読み出した際に、NAND型フラッシュメモリ10からページ単位で読み出した記憶データのうち、読み出し要求情報に合致しないデータを削除して読み出し要求情報に合致するデータのみを選択的に取り出してバス26に出力する読み捨て機能を有する。この機能により、読み出し要求情報に合致しないデータはNANDコントローラ11からバス26に出力されることがない。   Further, the DMA controller 41 for DMA transfer control, among the storage data read out from the NAND flash memory 10 in units of pages, when the storage data is read out in units of pages according to the data read request information from the host device. It has a read discard function that deletes data that does not match the read request information and selectively extracts only the data that matches the read request information and outputs it to the bus 26. With this function, data that does not match the read request information is not output from the NAND controller 11 to the bus 26.

ECC回路42は、NAND型フラッシュメモリ10に書き込むデータにECCを付加する書き込む機能と、NAND型フラッシュメモリ10から読み込まれたデータとECCとから読み込んだデータの誤りを訂正する機能を有する。NAND型フラッシュメモリ10はデータが誤る可能性が高いため、NAND型フラッシュメモリ10に格納されるデータは、データの書き込み時にECC回路42でECC(Error Check and Correct、エラー訂正符号)が付加されて格納され、読み込み時にECC回路42でECCを用いてエラー訂正が行なわれる。   The ECC circuit 42 has a function of writing ECC to data to be written to the NAND flash memory 10 and a function of correcting errors in data read from the NAND flash memory 10 and data read from the ECC. Since the NAND flash memory 10 has a high possibility of data error, the data stored in the NAND flash memory 10 is added with ECC (Error Check and Correct) by the ECC circuit 42 when data is written. The error correction is performed by using the ECC in the ECC circuit 42 at the time of reading and reading.

NANDインターフェース(I/F)43は、NAND型フラッシュメモリ10にアクセスするためにNANDコントローラ11とNAND型フラッシュメモリ10との間のインターフェース処理を行う機能を有する。   The NAND interface (I / F) 43 has a function of performing interface processing between the NAND controller 11 and the NAND flash memory 10 in order to access the NAND flash memory 10.

RAMコントローラ23は、DRAM12にアクセスするためにNANDコントローラ11とDRAM12との間のインターフェース処理を行う。ROM24は、MPU22により制御される制御プログラム等を格納する。RAM25は、MPU22の作業エリアとして使用され、ROM24からロードされた制御プログラムや各種のテーブルを記憶する。バス26としては、例えばAHBバスが用いられる。   The RAM controller 23 performs an interface process between the NAND controller 11 and the DRAM 12 in order to access the DRAM 12. The ROM 24 stores a control program and the like controlled by the MPU 22. The RAM 25 is used as a work area for the MPU 22 and stores control programs and various tables loaded from the ROM 24. For example, an AHB bus is used as the bus 26.

次に、以上のように構成されたメモリシステム1においてNAND型フラッシュメモリ10に記憶されたデータを読み込んでDRAM12に書き込む際の処理について説明する。   Next, processing when data stored in the NAND flash memory 10 is read and written in the DRAM 12 in the memory system 1 configured as described above will be described.

まず、MPU22はホスト装置からの読み出し要求情報を受け取ると、該読み出し要求情報に基づいて、NAND型フラッシュメモリ10から読み出したデータをディスクリプタ転送するかどうかを判断する。ディスクリプタ転送しないと判断した場合は、MPU22は通常の転送設定パラメータを用いてデータを転送するようにNANDコントローラ11に指示情報を送信する。NANDコントローラ11では、DMAコントローラ41が該指示情報に基づいてNAND型フラッシュメモリ10からデータを読み出し、RAMコントローラ23を介してDRAM12に転送し、DRAM12に書き込みが行われる。ここでは、データのあるアドレス、転送サイズを指定し、そのアドレスから、指定したサイズ分の転送を行う。   First, when the MPU 22 receives read request information from the host device, the MPU 22 determines whether or not to transfer the data read from the NAND flash memory 10 based on the read request information. If it is determined that descriptor transfer is not performed, the MPU 22 transmits instruction information to the NAND controller 11 so as to transfer data using normal transfer setting parameters. In the NAND controller 11, the DMA controller 41 reads data from the NAND flash memory 10 based on the instruction information, transfers the data to the DRAM 12 via the RAM controller 23, and writes to the DRAM 12. Here, an address with data and a transfer size are specified, and transfer for the specified size is performed from the address.

ディスクリプタ転送すると判断した場合は、MPU22は該ディスクリプタ転送において参照するディスクリプタテーブル31を作成してDRAM12に書き込む。また、MPU22は、ディスクリプタテーブルを参照してディスクリプタ転送を実行する旨のディスクリプタ転送指示情報をデータの読み出しアドレス情報とともにNANDコントローラ11に対して送信する。NANDコントローラ11では、MPU22からのアドレス情報に基づいてNAND型フラッシュメモリ10からデータを読み出す。   If it is determined that descriptor transfer is to be performed, the MPU 22 creates a descriptor table 31 to be referred to in the descriptor transfer and writes it to the DRAM 12. Further, the MPU 22 refers to the descriptor table and transmits descriptor transfer instruction information for performing descriptor transfer to the NAND controller 11 together with data read address information. The NAND controller 11 reads data from the NAND flash memory 10 based on address information from the MPU 22.

また、NANDコントローラ11では、MPU22からのディスクリプタ転送指示情報に基づいてDMAコントローラ41がDRAM12にアクセスし、DRAM12に保持されているディスクリプタテーブル31を読み込んで、どのサイズのデータをどのアドレスに転送するか、どのサイズのデータを削除して読み捨てるか、を指示するディスクリプタ転送パラメータを取得する。そして、DMAコントローラ41は、このディスクリプタ転送パラメータに従って、NAND型フラッシュメモリ10から読み出したデータの転送を行う。   In the NAND controller 11, the DMA controller 41 accesses the DRAM 12 based on the descriptor transfer instruction information from the MPU 22, reads the descriptor table 31 held in the DRAM 12, and transfers which size data to which address. The descriptor transfer parameter indicating which size data is to be deleted and discarded is acquired. Then, the DMA controller 41 transfers the data read from the NAND flash memory 10 according to the descriptor transfer parameter.

このディスクリプタテーブル31の一例を図4に示す。このディスクリプタテーブル31では、各エントリ1、2、3・・・毎に「データ転送先アドレス」と、転送する「データサイズ」が記述されている。このディスクリプタテーブルのデータ転送先アドレスは図2のシステムではバスの転送先アドレスを示し、データの書き込みが行われるDRAM12の領域はこのアドレスの一部にマップされている。   An example of the descriptor table 31 is shown in FIG. In this descriptor table 31, “data transfer destination address” and “data size” to be transferred are described for each entry 1, 2, 3,. The data transfer destination address of this descriptor table indicates the bus transfer destination address in the system of FIG. 2, and the area of the DRAM 12 where data is written is mapped to a part of this address.

ここで、このディスクリプタテーブル31におけるデータ転送先のアドレスが特別な値、例えば全て0である場合や全て1である場合には、ディスクリプタテーブルによって指定されたデータサイズ分だけ、NAND型フラッシュメモリ10から読み込んだデータをDMAコントローラ41内部で除去する。そして、除去していないデータのみをバス26に出力し、RAMコントローラ23を介してDRAM12に転送する。   Here, when the address of the data transfer destination in the descriptor table 31 is a special value, for example, all 0s or all 1s, the data from the NAND flash memory 10 by the data size specified by the descriptor table. The read data is removed inside the DMA controller 41. Then, only the data that has not been removed is output to the bus 26 and transferred to the DRAM 12 via the RAM controller 23.

これにより、NAND型フラッシュメモリ10からページ単位で読み出した記憶データのうち、ホスト装置からの読み出し要求情報に合致しないデータを削除して、読み出し要求情報に合致するデータのみを選択的に取り出してDRAM12に転送することができる。したがって、不要なデータがバス26を介してDRAM12に転送されることがない。そして、DRAM12では、ホスト装置からの読み出し要求情報に合致するデータのみが書き込まれる。   As a result, data that does not match the read request information from the host device is deleted from the storage data read in units of pages from the NAND flash memory 10, and only the data that matches the read request information is selectively extracted and the DRAM 12 is read out. Can be transferred to. Therefore, unnecessary data is not transferred to the DRAM 12 via the bus 26. In the DRAM 12, only data that matches the read request information from the host device is written.

ディスクリプタテーブル31の他の例を図5に示す。このディスクリプタテーブルでは、「データ転送先アドレス」と、「フラグ」と、転送する「データサイズ」が記述されている。このディスクリプタテーブルではデータ転送先アドレスにフラグが付されており、このフラグが特定の値である場合に図4に示すディスクリプタテーブルの場合と同様に、ディスクリプタテーブルによって指定されたデータサイズ分だけ、NAND型フラッシュメモリ10から読み込んだデータをDMAコントローラ41内部で除去する。   Another example of the descriptor table 31 is shown in FIG. In this descriptor table, “data transfer destination address”, “flag”, and “data size” to be transferred are described. In this descriptor table, a flag is attached to the data transfer destination address. When this flag has a specific value, as in the case of the descriptor table shown in FIG. 4, only the data size specified by the descriptor table is NANDed. The data read from the type flash memory 10 is removed inside the DMA controller 41.

以上のような、本実施の形態によれば、NAND型フラッシュメモリ10からのデータの読み込みにおいて、DRAM12上に不要なデータを転送する必要がなくなるため、次の効果を得ることができる。すなわち、NAND型フラッシュメモリ10からの読み出し処理を途中で停止する必要がないため、読み出しにかかる初期時間の繰り返しが無く、初期時間の繰り返しに起因した読み出し速度の低下が無い。   According to the present embodiment as described above, it is not necessary to transfer unnecessary data onto the DRAM 12 when reading data from the NAND flash memory 10, and the following effects can be obtained. That is, since it is not necessary to stop the reading process from the NAND flash memory 10 in the middle, there is no repetition of the initial time for reading, and there is no decrease in reading speed due to the repetition of the initial time.

また、不要なデータを格納するためのDRAM12の容量を確保する必要が無く、DRAM12を有効に使用することができる。また、不要なデータを転送することによるバス使用率の増加を防止して、バス26の有効利用を図ることができる。また、ASIC外部のDRAM12への不要なデータの転送および書き込みにより生じる不要なアクセス時間を削減することができるため、DRAM12への書き込み処理時間の短縮、および不要な消費電力を削減して低消費電力化を図ることができる。   Further, it is not necessary to secure the capacity of the DRAM 12 for storing unnecessary data, and the DRAM 12 can be used effectively. Further, it is possible to prevent an increase in the bus usage rate due to the transfer of unnecessary data and to effectively use the bus 26. In addition, since unnecessary access time caused by transfer and writing of unnecessary data to the DRAM 12 outside the ASIC can be reduced, the write processing time to the DRAM 12 is shortened, and unnecessary power consumption is reduced to reduce power consumption. Can be achieved.

なお、上記においてはバッファをASIC外部のDRAMとして説明したが、ASICチップ内部にSRAMなどのRAMを置き、該RAMをバッファとして使用しても良い。また、上記不揮発性半導体メモリとしてNAND型フラッシュメモリを用いたメモリシステムについて説明したが、メモリシステムとしては例えばSDカードやUSBメモリなどに適用することもできる。   In the above description, the buffer is described as a DRAM outside the ASIC. However, a RAM such as an SRAM may be placed inside the ASIC chip, and the RAM may be used as a buffer. Further, although the memory system using the NAND flash memory as the nonvolatile semiconductor memory has been described, the memory system can be applied to, for example, an SD card or a USB memory.

[実施例]
上記実施の形態のメモリシステム1をSSD(Solid State Drive)として構成した場合の実施例について説明する。図6は、SSD100の構成を示すブロック図である。
[Example]
An example when the memory system 1 of the above embodiment is configured as an SSD (Solid State Drive) will be described. FIG. 6 is a block diagram showing a configuration of the SSD 100.

SSD100は、データ保存用の複数のNAND型フラッシュメモリ(NANDメモリ)10、データ転送用または作業領域用のDRAM101、これらを制御するドライブ制御回路102、及び電源回路103を備えている。ドライブ制御回路102は、SSD100の外部に設けられる状態表示用LEDを制御するための制御信号を出力する。   The SSD 100 includes a plurality of NAND flash memories (NAND memories) 10 for data storage, a DRAM 101 for data transfer or work area, a drive control circuit 102 for controlling these, and a power supply circuit 103. The drive control circuit 102 outputs a control signal for controlling a status display LED provided outside the SSD 100.

SSD100は、ATAインターフェース(ATA I/F)を介して、パーソナルコンピュータ等のホスト装置との間でデータを送受信する。また、SSD100は、RS232Cインターフェース(RS232C I/F)を介して、デバッグ用機器との間でデータを送受信する。   The SSD 100 transmits / receives data to / from a host device such as a personal computer via an ATA interface (ATA I / F). Further, the SSD 100 transmits / receives data to / from the debugging device via the RS232C interface (RS232C I / F).

電源回路103は、外部電源を受け、この外部電源を用いて複数の内部電源を生成する。これらの内部電源は、SSD100内の各部に供給される。また、電源回路103は、外部電源の立ち上がりまたは立ち下りを検知して、パワーオンリセット信号またはパワーオフリセット信号を生成する。これらパワーオンリセット信号及びパワーオフリセット信号は、ドライブ制御回路102に送られる。   The power supply circuit 103 receives an external power supply and generates a plurality of internal power supplies using the external power supply. These internal power supplies are supplied to each unit in the SSD 100. The power supply circuit 103 detects the rise or fall of the external power supply, and generates a power-on reset signal or a power-off reset signal. These power-on reset signal and power-off reset signal are sent to the drive control circuit 102.

図7は、ドライブ制御回路102の構成を示すブロック図である。ドライブ制御回路102は、データアクセス用バス104、第1の回路制御用バス105、及び第2の回路制御用バス106を備えている。   FIG. 7 is a block diagram showing the configuration of the drive control circuit 102. The drive control circuit 102 includes a data access bus 104, a first circuit control bus 105, and a second circuit control bus 106.

第1の回路制御用バス105には、ドライブ制御回路102全体を制御するプロセッサ107が接続されている。また、第1の回路制御用バス105には、各管理プログラム(FW:firmware)のブート用プログラムが格納されたブートROM108がROMコントローラ109を介して接続されている。また、第1の回路制御用バス105には、電源回路103からのパワーオン/オフリセット信号を受けて、リセット信号及びクロック信号を各部に供給するクロックコントローラ110が接続されている。   A processor 107 that controls the entire drive control circuit 102 is connected to the first circuit control bus 105. A boot ROM 108 storing a boot program for each management program (FW: firmware) is connected to the first circuit control bus 105 via a ROM controller 109. The first circuit control bus 105 is connected to a clock controller 110 that receives a power on / off reset signal from the power supply circuit 103 and supplies a reset signal and a clock signal to each unit.

第2の回路制御用バス106は、第1の回路制御用バス105に接続されている。第2の回路制御用バス106には、状態表示用LEDにステータス表示用信号を供給するパラレルIO(PIO)回路111、RS232Cインターフェースを制御するシリアルIO(SIO)回路112が接続されている。   The second circuit control bus 106 is connected to the first circuit control bus 105. Connected to the second circuit control bus 106 are a parallel IO (PIO) circuit 111 for supplying a status display signal to the status display LED and a serial IO (SIO) circuit 112 for controlling the RS232C interface.

ATAインターフェースコントローラ(ATAコントローラ)113、第1のECC(Error Check and Correct)回路114、NANDコントローラ115、及びDRAMコントローラ119は、データアクセス用バス104と第1の回路制御用バス105との両方に接続されている。ATAコントローラ113は、ATAインターフェースを介してホスト装置との間でデータを送受信する。データアクセス用バス104には、データ作業領域として使用されるSRAM120がSRAMコントローラ121を介して接続されている。   An ATA interface controller (ATA controller) 113, a first ECC (Error Check and Correct) circuit 114, a NAND controller 115, and a DRAM controller 119 are provided on both the data access bus 104 and the first circuit control bus 105. It is connected. The ATA controller 113 transmits and receives data to and from the host device via the ATA interface. An SRAM 120 used as a data work area is connected to the data access bus 104 via an SRAM controller 121.

NANDコントローラ115は、4つのNANDメモリ10とのインターフェース処理を行うNAND I/F118、第2のECC回路117、及びNANDメモリ−DRAM間のアクセス制御を行うDMA転送制御用DMAコントローラ116を備えている。   The NAND controller 115 includes a NAND I / F 118 that performs interface processing with the four NAND memories 10, a second ECC circuit 117, and a DMA controller for DMA transfer control 116 that performs access control between the NAND memory and the DRAM. .

図8は、プロセッサ107の構成を示すブロック図である。プロセッサ107は、データ管理部122、ATAコマンド処理部123、セキュリティ管理部124、ブートローダ125、初期化管理部126、デバッグサポート部127を備えている。   FIG. 8 is a block diagram showing the configuration of the processor 107. The processor 107 includes a data management unit 122, an ATA command processing unit 123, a security management unit 124, a boot loader 125, an initialization management unit 126, and a debug support unit 127.

データ管理部122は、NANDコントローラ115、第1のECC回路114を介して、NANDメモリ−DRAM間のデータ転送、NANDチップに関する各種機能を制御する。   The data management unit 122 controls data transfer between the NAND memory and the DRAM and various functions related to the NAND chip via the NAND controller 115 and the first ECC circuit 114.

ATAコマンド処理部123は、ATAコントローラ113、及びDRAMコントローラ119を介して、データ管理部122と協動してデータ転送処理を行う。セキュリティ管理部124は、データ管理部122及びATAコマンド処理部123と協動して各種のセキュリティ情報を管理する。ブートローダ125は、パワーオン時、各管理プログラム(FW)をNANDメモリ10からSRAM120にロードする。   The ATA command processing unit 123 performs data transfer processing in cooperation with the data management unit 122 via the ATA controller 113 and the DRAM controller 119. The security management unit 124 manages various types of security information in cooperation with the data management unit 122 and the ATA command processing unit 123. The boot loader 125 loads each management program (FW) from the NAND memory 10 to the SRAM 120 when the power is turned on.

初期化管理部126は、ドライブ制御回路102内の各コントローラ/回路の初期化を行う。デバッグサポート部127は、外部からRS232Cインターフェースを介して供給されたデバッグ用データを処理する。   The initialization manager 126 initializes each controller / circuit in the drive control circuit 102. The debug support unit 127 processes debug data supplied from the outside via the RS232C interface.

図9は、SSD100を搭載したポータブルコンピュータ200の一例を示す斜視図である。ポータブルコンピュータ200は、本体201と、表示ユニット202とを備えている。表示ユニット202は、ディスプレイハウジング203と、このディスプレイハウジング203に収容された表示装置204とを備えている。   FIG. 9 is a perspective view showing an example of a portable computer 200 on which the SSD 100 is mounted. The portable computer 200 includes a main body 201 and a display unit 202. The display unit 202 includes a display housing 203 and a display device 204 accommodated in the display housing 203.

本体201は、筐体205と、キーボード206と、ポインティングデバイスであるタッチパッド207とを備えている。筐体205内部には、メイン回路基板、ODDユニット(Optical Disk Device)、カードスロット、SSD100等が収容されている。   The main body 201 includes a housing 205, a keyboard 206, and a touch pad 207 that is a pointing device. A housing 205 accommodates a main circuit board, an ODD unit (Optical Disk Device), a card slot, an SSD 100, and the like.

カードスロットは、筐体205の周壁に隣接して設けられている。周壁には、カードスロットに対向する開口部208が設けられている。ユーザは、この開口部208を通じて筐体205の外部から追加デバイスをカードスロットに挿抜することが可能である。   The card slot is provided adjacent to the peripheral wall of the housing 205. An opening 208 facing the card slot is provided on the peripheral wall. The user can insert / remove an additional device into / from the card slot from the outside of the housing 205 through the opening 208.

SSD100は、従来のHDDの置き換えとして、ポータブルコンピュータ200内部に実装された状態として使用してもよいし、ポータブルコンピュータ200が備えるカードスロットに挿入した状態で、追加デバイスとして使用してもよい。   The SSD 100 may be used as a state of being mounted inside the portable computer 200 as a replacement for a conventional HDD, or may be used as an additional device while being inserted into a card slot included in the portable computer 200.

尚、上記実施の形態のメモリシステム1は、SSDに限らず、例えば、SDTMカードに代表されるメモリカードとして構成することも可能である。メモリシステム1をメモリカードとして構成する場合、ポータブルコンピュータに限らず、携帯電話、PDA、デジタルスチルカメラ、デジタルビデオカメラ等、各種電子機器に対して適用可能である。   Note that the memory system 1 of the above embodiment is not limited to an SSD, and may be configured as a memory card represented by an SDTM card, for example. When the memory system 1 is configured as a memory card, it is applicable not only to portable computers but also to various electronic devices such as mobile phones, PDAs, digital still cameras, and digital video cameras.

この発明の一実施形態に従ったメモリシステムを備えた計算機システムの一例を示す概略図である。It is the schematic which shows an example of the computer system provided with the memory system according to one Embodiment of this invention. この発明の一実施形態に従ったメモリシステムの構成を示す概略図である。1 is a schematic diagram showing a configuration of a memory system according to an embodiment of the present invention. この発明の一実施形態に従ったメモリシステムにおけるNANDコントローラの構成例を示す図である。It is a figure which shows the structural example of the NAND controller in the memory system according to one Embodiment of this invention. この発明の一実施形態に従ったメモリシステムにおけるディスクリプタテーブルの一例を示す図である。It is a figure which shows an example of the descriptor table in the memory system according to one Embodiment of this invention. この発明の一実施形態に従ったメモリシステムにおけるディスクリプタテーブルの一例を示す図である。It is a figure which shows an example of the descriptor table in the memory system according to one Embodiment of this invention. この発明の一実施例にかかるSSDの構成を示す図である。It is a figure which shows the structure of SSD concerning one Example of this invention. この発明の一実施例にかかるドライブ制御回路の構成を示す図である。It is a figure which shows the structure of the drive control circuit concerning one Example of this invention. この発明の一実施例にかかるプロセッサの構成を示す図である。It is a figure which shows the structure of the processor concerning one Example of this invention. この発明の一実施例にかかるSSDを搭載したポータブルコンピュータの一例を示す斜視図である。It is a perspective view which shows an example of the portable computer carrying SSD concerning one Example of this invention.

符号の説明Explanation of symbols

1 メモリシステム、2 CPU、3 メインメモリ、4 メモリコントローラ、10 NAND型フラッシュメモリ、11 NANDコントローラ、12 DRAM、13 ASICチップ、21 ホストインターフェース(ホストI/F)、22 演算処理装置(MPU)、23 RAMコントローラ、24 ROM、25 RAM、26 バス、31 ディスクリプタテーブル、41 DMAコントローラ、42 ECC回路、43 NAND I/F。   1 memory system, 2 CPU, 3 main memory, 4 memory controller, 10 NAND flash memory, 11 NAND controller, 12 DRAM, 13 ASIC chip, 21 host interface (host I / F), 22 arithmetic processing unit (MPU), 23 RAM controller, 24 ROM, 25 RAM, 26 bus, 31 descriptor table, 41 DMA controller, 42 ECC circuit, 43 NAND I / F.

Claims (6)

データの読み出し要求情報に従って、ページ単位で記憶データの読み出しが行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
前記フラッシュメモリからページ単位で読み出した記憶データのうち、前記読み出し要求情報に合致しないデータを削除して前記読み出し要求情報に合致するデータのみを選択的に取り出して出力すること、
を特徴とするメモリコントローラ。
A memory controller that controls access to a flash memory from which stored data is read in units of pages in accordance with data read request information,
Deleting data that does not match the read request information from the stored data read in units of pages from the flash memory, and selectively extracting and outputting only the data that matches the read request information;
A memory controller featuring.
前記メモリコントローラは、前記ページ単位で読み出した記憶データのディスクリプタ転送に関する指示情報を参照して前記読み出し要求情報に合致するデータを選択的に取り出してDMA転送を行うこと、
を特徴とする請求項1に記載のメモリコントローラ。
The memory controller refers to instruction information related to descriptor transfer of storage data read in units of pages, selectively takes out data matching the read request information, and performs DMA transfer;
The memory controller according to claim 1.
前記メモリコントローラは、前記フラッシュメモリからページ単位で読み出した記憶データのうち、前記指示情報においてデータの転送先として特定のアドレスが指定されているデータを、前記読み出し要求情報に合致しないデータとして削除すること、
を特徴とする請求項2に記載のメモリコントローラ。
The memory controller deletes, as stored data read from the flash memory in units of pages, data in which a specific address is specified as a data transfer destination in the instruction information as data that does not match the read request information. thing,
The memory controller according to claim 2.
前記メモリコントローラは、前記フラッシュメモリからページ単位で読み出した記憶データのうち、前記指示情報においてデータの転送先に特定のフラグが付されているデータを、前記読み出し要求情報に合致しないデータとして削除すること、
を特徴とする請求項2に記載のメモリコントローラ。
The memory controller deletes, as stored data read from the flash memory in units of pages, data in which a specific flag is added to the data transfer destination in the instruction information as data that does not match the read request information. thing,
The memory controller according to claim 2.
前記フラッシュメモリが、NAND型フラッシュメモリであること、
を特徴とする請求項1に記載のメモリコントローラ。
The flash memory is a NAND flash memory;
The memory controller according to claim 1.
請求項1〜5のいずれか1つに記載のメモリコントローラと、前記メモリコントローラがアクセスして記憶データの読み出しを行うフラッシュメモリと、前記メモリコントローラで選択的に取り出して出力されたデータが書き込まれる他のメモリと、を備えること、
ことを特徴とするメモリシステム。
6. The memory controller according to claim 1; a flash memory that is accessed by the memory controller to read stored data; and data that is selectively extracted and output by the memory controller is written. With other memory,
A memory system characterized by that.
JP2008046704A 2008-02-27 2008-02-27 Memory controller and memory system Pending JP2009205410A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008046704A JP2009205410A (en) 2008-02-27 2008-02-27 Memory controller and memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008046704A JP2009205410A (en) 2008-02-27 2008-02-27 Memory controller and memory system

Publications (1)

Publication Number Publication Date
JP2009205410A true JP2009205410A (en) 2009-09-10

Family

ID=41147606

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008046704A Pending JP2009205410A (en) 2008-02-27 2008-02-27 Memory controller and memory system

Country Status (1)

Country Link
JP (1) JP2009205410A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018186238A1 (en) * 2017-04-04 2018-10-11 キヤノン株式会社 Information processing device, information processing method, and computer program
US11424033B2 (en) 2017-03-30 2022-08-23 Canon Kabushiki Kaisha Information processing apparatus, control method therefor, and non-transitory computer-readable storage medium

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11424033B2 (en) 2017-03-30 2022-08-23 Canon Kabushiki Kaisha Information processing apparatus, control method therefor, and non-transitory computer-readable storage medium
WO2018186238A1 (en) * 2017-04-04 2018-10-11 キヤノン株式会社 Information processing device, information processing method, and computer program
JP2018182400A (en) * 2017-04-04 2018-11-15 キヤノン株式会社 Information processing device, information processing method and computer program

Similar Documents

Publication Publication Date Title
JP4672742B2 (en) Memory controller and memory system
US9286985B2 (en) Semiconductor device with power mode transitioning operation
TWI436199B (en) Method and controller for power management
JP5860543B2 (en) Boot data loading
JP2008511929A (en) System and method for managing non-volatile memory of a mobile phone
JP2012104110A (en) Memory system and operation method of memory system
KR20080084082A (en) Memory card and memory system including the same and operating method thereof
KR20150074550A (en) Data storage device and data processing system including the same
EP3872641B1 (en) Storage device and method of operating the storage device
US9575887B2 (en) Memory device, information-processing device and information-processing method
TW201426303A (en) Data reading method, memory controller and memory storage device
KR20170007613A (en) Memory control unit and data storage device including the same
TWI454922B (en) Memory storage device and memory controller and data writing method thereof
JP2011090460A (en) Data storage device and method of controlling the same
US20140223077A1 (en) Memory system
US10467020B2 (en) Memory device, and information-processing device
TWI507883B (en) Memory card access device, control method thereof, and memory card access system
US20120151126A1 (en) Flash drive with multiple connectors
TW201939283A (en) Method for configuring host memory buffer, memory storage apparatus and memory control circuit unit
US20170262208A1 (en) Memory device, host device, and information processing device
KR101620349B1 (en) Bootable volatile memory appratus, memory module having it, and processing system, and method for booting processing system using it
JP2009205410A (en) Memory controller and memory system
US20220374216A1 (en) Method of manufacturing information processing apparatus and mobile computer
JP2009258925A (en) Computer system and memory management method of computer system
KR20150102329A (en) Data storage device