IP Library Granted Patent US 12,216,924
Granted Patent B2
US 12,216,924 · App. 18/500,577 · Granted Feb 4, 2025

Semiconductor device and semiconductor storage device

Inventors: Tsuyoshi Atsumi (Kodaira, JP); Yasuhiko Kurosawa (Fujisawa, JP)
Assignee: KIOXIA CORPORATION
G06F3/0623G06F3/0619G06F3/0679G06F7/584G11C7/1006G11C7/1036G11C19/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,216,924
App. No.
18/500,577
Granted
Feb 4, 2025
Kind
B2
Abstract

A semiconductor device of an embodiment includes a seed generator circuit configured to generate a seed from inputted data by using first random number sequence data generated by an XorShift circuit; and a random number generator circuit configured to receive the seed as input to generate second random number sequence data by a second XorShift circuit.

Claims (64)

1. A method of generating a random number, comprising:

generating first random number sequence data by performing a first XorShift operation on inputted data;

generating a seed by using the first random number sequence data; and

generating second random number sequence data by performing a second XorShift operation on the seed, wherein

the first random number sequence data are generated by using a plurality of XorShift circuits and a nonlinear transformation circuit, and

the nonlinear transformation circuit is configured to perform a nonlinear transformation on output data from at least one of the plurality of XorShift circuits.

2. The method according to claim 1 , wherein

the plurality of XorShift circuits include a first XorShift circuit and a second XorShift circuit,

the first XorShift circuit is configured to perform the first XorShift operation on the inputted data, and

the second XorShift circuit is configured to perform processing on output data from both the first XorShift circuit and the nonlinear transformation circuit to generate the seed.

3. The method according to claim 2 , further comprising:

performing an XOR operation on an operation result of the second XorShift operation to generate the second random number sequence data.

4. The method according to claim 2 , further comprising:

performing an XOR operation on an operation result from the second XorShift circuit; and

performing the second XorShift operation on an operation result of the XOR operation to generate the second random number sequence data.

5. The method according to claim 1 , wherein

the nonlinear transformation circuit includes a plurality of S-box circuits configured to perform a nonlinear transformation of a same kind.

6. The method according to claim 1 , wherein

the nonlinear transformation circuit includes a plurality of S-box circuits configured to perform a plurality of kinds of different nonlinear transformations.

7. The method according to claim 6 , wherein

the plurality of S-box circuits include at least two S-box circuits configured to output different numbers of bits.

8. The method according to claim 1 , further comprising:

exchanging data positions in the second random number sequence data.

9. The method according to claim 1 , further comprising:

performing bit inversion, byte inversion, or word inversion before or after performing the second XorShift operation.

10. The method according to claim 1 , wherein

the method is performed in a semiconductor device,

the semiconductor device includes a first XorShift circuit, a second XorShift circuit, a first S-box circuit, and a second S-box circuit,

the first XorShift circuit includes a first input and a first output,

the second XorShift circuit includes a second input and a second output,

the first input is connected to an output of the first S-box circuit, and the first output is connected to an input the second S-box circuit, and

the second input is connected to an output of the second S-box circuit, and the second output is connected to an input of the first S-box circuit.

11. The method according to claim 1 , wherein

the method is performed in a semiconductor device,

the semiconductor device includes a plurality of units, each of which includes a first XorShift circuit, a second XorShift circuit, a first S-box circuit, and a second S-box circuit,

in each of the plurality of units,

the first XorShift circuit includes a first input and a first output, and

the second XorShift circuit includes a second input and a second output,

the first input is connected to an output of the first S-box circuit, and the first output is connected to an input of the second S-box circuit,

the second input is connected to an output of the second S-box circuit, and the second output is connected to an input of the first S-box circuit, and

a bit shift amount used in the first and second XorShift circuits of each of the plurality of units differs among the plurality of units.

12. A method of controlling a nonvolatile memory, the method comprising:

generating first random number sequence data by performing a first XorShift operation on storage location data indicating a storage location of the data in the nonvolatile memory;

generating a seed by using the first random number sequence data; and

generating second random number sequence data by performing a second XorShift operation on the seed, wherein

the first random number sequence data are generated by using a plurality of XorShift circuits and a nonlinear transformation circuit, and

the nonlinear transformation circuit is configured to perform a nonlinear transformation on output data from at least one of the plurality of XorShift circuits.

13. The method according to claim 12 , further comprising:

storing the data at the storage location in the nonvolatile memory designated by a page number; wherein

the storage location data contains the page number, or the page number and a frame number contained in the page number.

14. The method according to claim 12 , further comprising:

randomizing user data using the second random number sequence data; and

storing the randomized user data as the data at the storage location in the nonvolatile memory.

15. The method according to claim 12 , wherein

the plurality of XorShift circuits include a first XorShift circuit and a second XorShift circuit,

the first XorShift circuit is configured to perform the first XorShift operation on the storage location data, and

the second XorShift circuit is configured to perform processing on output data from both the first XorShift circuit and the nonlinear transformation circuit to generate the seed.

16. The method according to claim 15 , further comprising:

performing an XOR operation on an operation result of the second XorShift operation to generate the second random number sequence data.

17. The method according to claim 15 , further comprising:

performing an XOR operation on an operation result from the second XorShift circuit; and

performing the second XorShift operation on an operation result of the XOR operation to generate the second random number sequence data.

18. The method according to claim 12 , wherein

the nonlinear transformation circuit includes a plurality of S-box circuits configured to perform a nonlinear transformation of a same kind.

Priority Claims (1)
JP 2020-096429 · Jun 2, 2020 · national
Continuity (3)
Continuation 17988081 · Nov 16, 2022
Continuation 17200264 · Mar 12, 2021
Related Publication 20240061590A1 · Feb 22, 2024
References Cited (21)
US 9921772B2 · Atsumi et al. · 2018 [cited by applicant]
US 10430101B2 · Atsumi et al. · 2019 [cited by applicant]
US 10459691B2 · Atsumi et al. · 2019 [cited by applicant]
US 10678707B2 · Poeppelmann · 2020 [cited by examiner]
US 10748589B1 · Yamada · 2020 [cited by applicant]
US 10884706B2 · Atsumi et al. · 2021 [cited by applicant]
US 11543977B2 · Atsumi · 2023 [cited by examiner]
US 11875041B2 · Atsumi · 2024 [cited by examiner]
US 20140136583A1 · Hyde · 2014 [cited by applicant]
US 20150358154A1 · Garcia Morchon et al. · 2015 [cited by applicant]
US 20190012147A1 · Wen · 2019 [cited by examiner]
US 20210258388A1 · Takai · 2021 [cited by applicant]
JP 2003299862A · 2003 [cited by applicant]
JP 200787064A · 2007 [cited by applicant]
JP 2007333854A · 2007 [cited by applicant]
JP 2016505887A · 2016 [cited by applicant]
JP 6499065B2 · 2019 [cited by applicant]
JP 6542171B2 · 2019 [cited by applicant]
JP 202027473A · 2020 [cited by applicant]
JP 6697618B2 · 2020 [cited by applicant]
WO WO2020044393A1 · 2020 [cited by applicant]