All of lore.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.