public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
From: Pratyush Yadav <pratyush@kernel.org>
To: Miquel Raynal <miquel.raynal@bootlin.com>
Cc: Richard Weinberger <richard@nod.at>,
	 Vignesh Raghavendra <vigneshr@ti.com>,
	 Tudor Ambarus <tudor.ambarus@linaro.org>,
	 Pratyush Yadav <pratyush@kernel.org>,
	 Michael Walle <michael@walle.cc>,
	<linux-mtd@lists.infradead.org>,
	 Julien Su <juliensu@mxic.com.tw>,
	Alvin Zhou <alvinzhou@mxic.com.tw>,
	 Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Subject: Re: [PATCH v2 4/9] mtd: spi-nand: Add continuous read support
Date: Wed, 04 Sep 2024 16:23:45 +0200	[thread overview]
Message-ID: <mafs0r09zh4zy.fsf@kernel.org> (raw)
In-Reply-To: <20240826101412.20644-5-miquel.raynal@bootlin.com> (Miquel Raynal's message of "Mon, 26 Aug 2024 12:14:07 +0200")

On Mon, Aug 26 2024, Miquel Raynal wrote:

> A regular page read consist in:
> - Asking one page of content from the NAND array to be loaded in the
>   chip's SRAM,
> - Waiting for the operation to be done,
> - Retrieving the data (I/O phase) from the chip's SRAM.
>
> When reading several sequential pages, the above operation is repeated
> over and over. There is however a way to optimize these accesses, by
> enabling continuous reads. The feature requires the NAND chip to have a
> second internal SRAM area plus a bit of additional internal logic to
> trigger another internal transfer between the NAND array and the second
> SRAM area while the I/O phase is ongoing. Once the first I/O phase is
> done, the host can continue reading more data, continuously, as the chip
> will automatically switch to the second SRAM content (which has already
> been loaded) and in turns trigger the next load into the first SRAM area
> again.
>
> From an instruction perspective, the command op-codes are different, but
> the same cycles are required. The only difference is that after a
> continuous read (which is stopped by a CS deassert), the host must
> observe a delay of tRST. However, because there is no guarantee in Linux
> regarding the actual state of the CS pin after a transfer (in order to
> speed-up the next transfer if targeting the same device), it was
> necessary to manually end the continuous read with a configuration
> register write operation.
>
> Continuous reads have two main drawbacks:
> * They only work on full pages (column address ignored)
> * Only the main data area is pulled, out-of-band bytes are not
>   accessible. Said otherwise, the feature can only be useful with on-die
>   ECC engines.
>
> Performance wise, measures have been performed on a Zynq platform using
> Macronix SPI-NAND controller with a Macronix chip (based on the
> flash_speed tool modified for testing sequential reads):
> - 1-1-1 mode: performances improved from +3% (2-pages) up to +10% after
>               a dozen pages.
> - 1-1-4 mode: performances improved from +15% (2-pages) up to +40% after
>               a dozen pages.
>
> This series is based on a previous work from Macronix engineer Jaime
> Liao.
>
> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>

Reviewed-by: Pratyush Yadav <pratyush@kernel.org>

-- 
Regards,
Pratyush Yadav

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

  reply	other threads:[~2024-09-04 15:30 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-26 10:14 [PATCH v2 0/9] mtd: spi-nand: Continuous read support Miquel Raynal
2024-08-26 10:14 ` [PATCH v2 1/9] mtd: nand: Rename the NAND IO iteration helper Miquel Raynal
2024-09-06 15:03   ` Miquel Raynal
2024-08-26 10:14 ` [PATCH v2 2/9] mtd: nand: Introduce a block iterator Miquel Raynal
2024-09-06 15:03   ` Miquel Raynal
2024-08-26 10:14 ` [PATCH v2 3/9] mtd: spi-nand: Isolate the MTD read logic in a helper Miquel Raynal
2024-09-06 15:03   ` Miquel Raynal
2024-08-26 10:14 ` [PATCH v2 4/9] mtd: spi-nand: Add continuous read support Miquel Raynal
2024-09-04 14:23   ` Pratyush Yadav [this message]
2024-09-06 15:03   ` Miquel Raynal
2024-08-26 10:14 ` [PATCH v2 5/9] mtd: spi-nand: Expose spinand_write_reg_op() Miquel Raynal
2024-09-06 15:03   ` Miquel Raynal
2024-08-26 10:14 ` [PATCH v2 6/9] mtd: spi-nand: macronix: Fix helper name Miquel Raynal
2024-09-06 15:02   ` Miquel Raynal
2024-08-26 10:14 ` [PATCH v2 7/9] mtd: spi-nand: macronix: Extract the bitflip retrieval logic Miquel Raynal
2024-09-06 15:02   ` Miquel Raynal
2024-08-26 10:14 ` [PATCH v2 8/9] mtd: spi-nand: macronix: Add a possible bitflip status flag Miquel Raynal
2024-09-06 15:02   ` Miquel Raynal
2024-08-26 10:14 ` [PATCH v2 9/9] mtd: spi-nand: macronix: Continuous read support Miquel Raynal
2024-09-06 15:02   ` Miquel Raynal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=mafs0r09zh4zy.fsf@kernel.org \
    --to=pratyush@kernel.org \
    --cc=alvinzhou@mxic.com.tw \
    --cc=juliensu@mxic.com.tw \
    --cc=linux-mtd@lists.infradead.org \
    --cc=michael@walle.cc \
    --cc=miquel.raynal@bootlin.com \
    --cc=richard@nod.at \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=tudor.ambarus@linaro.org \
    --cc=vigneshr@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox